Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add default dependencies for {.NET,nodejs} #11315

Merged
merged 2 commits into from Nov 10, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
@@ -0,0 +1,4 @@
changes:
- type: feat
scope: sdkgen/dotnet,nodejs
description: Add default dependencies for generated SDKs.
6 changes: 6 additions & 0 deletions pkg/codegen/dotnet/gen.go
Expand Up @@ -2198,6 +2198,12 @@ func genProjectFile(pkg *schema.Package,
packageReferences map[string]string,
projectReferences []string) ([]byte, error) {

if packageReferences == nil {
packageReferences = map[string]string{}
}
if _, ok := packageReferences["Pulumi"]; !ok {
packageReferences["Pulumi"] = "3.*"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this reference accurate - is the latest code that gets generated compatible with Pulumi 3.0.0 or should this be something like [3.2.1,4)?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iwahbe sorry I wasn't able to review before this got merged ... might require a little more investigation and a follow-up PR

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No problem. We have 3.* everywhere. Checking against our examples, we compile against 3.23.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this is known to be wrong everywhere currently, but maintaining accurate min versions in each repo right now would be too much work. Now this is centralised, we should be bumping the min version as we add features to the SDK for use in codegen. We should do a one-off check if there have been any features added in the .Net SDK which are required for the current version of codegen.

}
w := &bytes.Buffer{}
err := csharpProjectFileTemplate.Execute(w, csharpProjectFileTemplateContext{
XMLDoc: fmt.Sprintf(`.\%s.xml`, assemblyName),
Expand Down
14 changes: 10 additions & 4 deletions pkg/codegen/nodejs/gen.go
Expand Up @@ -42,6 +42,11 @@ import (
"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
)

// The minimum version of @pulumi/pulumi compatible with the generated SDK.
const MinimumValidSDKVersion string = "^3.42.0"
const MinimumTypescriptVersion string = "^4.3.5"
const MinimumNodeTypesVersion string = "^14"

type typeDetails struct {
outputType bool
inputType bool
Expand Down Expand Up @@ -2198,8 +2203,9 @@ func genNPMPackageMetadata(pkg *schema.Package, info NodePackageInfo) string {
if info.TypeScriptVersion != "" {
devDependencies["typescript"] = info.TypeScriptVersion
} else {
devDependencies["typescript"] = "^4.3.5"
devDependencies["typescript"] = MinimumTypescriptVersion
}
devDependencies["@types/node"] = MinimumNodeTypesVersion

version := "${VERSION}"
versionSet := pkg.Version != nil && info.RespectSchemaVersion
Expand Down Expand Up @@ -2277,10 +2283,10 @@ func genNPMPackageMetadata(pkg *schema.Package, info NodePackageInfo) string {
if npminfo.Dependencies[sdkPack] == "" &&
npminfo.DevDependencies[sdkPack] == "" &&
npminfo.PeerDependencies[sdkPack] == "" {
if npminfo.PeerDependencies == nil {
npminfo.PeerDependencies = make(map[string]string)
if npminfo.Dependencies == nil {
npminfo.Dependencies = make(map[string]string)
}
npminfo.PeerDependencies["@pulumi/pulumi"] = "latest"
npminfo.Dependencies["@pulumi/pulumi"] = MinimumValidSDKVersion
}

// Now write out the serialized form.
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
<PackageReference Include="System.Collections.Immutable" Version="5.0.0" />
</ItemGroup>

Expand Down
Expand Up @@ -19,6 +19,7 @@
"@pulumi/pulumi": "^3.0.0"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^4.3.5"
},
"pulumi": {
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -9,6 +9,7 @@
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
<PackageReference Include="Pulumi.Aws" Version="4.20" ExcludeAssets="contentFiles" />
<PackageReference Include="Pulumi.Kubernetes" Version="3.7" ExcludeAssets="contentFiles" />
<PackageReference Include="Pulumi.Random" Version="4.2" ExcludeAssets="contentFiles" />
Expand Down
Expand Up @@ -9,6 +9,7 @@
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -9,6 +9,7 @@
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down
Expand Up @@ -9,6 +9,7 @@
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down
Expand Up @@ -6,14 +6,13 @@
"install": "node scripts/install-pulumi-plugin.js resource example ${VERSION}"
},
"dependencies": {
"@pulumi/google-native": "^0.11.0"
"@pulumi/google-native": "^0.11.0",
"@pulumi/pulumi": "^3.42.0"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^4.3.5"
},
"peerDependencies": {
"@pulumi/pulumi": "latest"
},
"pulumi": {
"resource": true,
"name": "example"
Expand Down
Expand Up @@ -8,14 +8,13 @@
"dependencies": {
"@pulumi/aws": "^4.19.0",
"@pulumi/kubernetes": "^3.7.0",
"@pulumi/pulumi": "^3.42.0",
"@pulumi/random": "^4.2.0"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^4.3.5"
},
"peerDependencies": {
"@pulumi/pulumi": "latest"
},
"pulumi": {
"resource": true,
"name": "example"
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -5,13 +5,13 @@
"build": "tsc",
"install": "node scripts/install-pulumi-plugin.js resource mypkg ${VERSION}"
},
"dependencies": {
"@pulumi/pulumi": "^3.42.0"
},
"devDependencies": {
"@types/node": "latest",
"typescript": "^4.3.5"
},
"peerDependencies": {
"@pulumi/pulumi": "latest"
},
"pulumi": {
"resource": true,
"name": "mypkg"
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
<PackageReference Include="Pulumi.AzureNative" Version="1.28.*" ExcludeAssets="contentFiles" />
</ItemGroup>

Expand Down
Expand Up @@ -10,6 +10,7 @@
"@pulumi/pulumi": "^3.7.0"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -9,6 +9,7 @@
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -9,6 +9,7 @@
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down
Expand Up @@ -9,6 +9,7 @@
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -5,14 +5,14 @@
"build": "tsc",
"install": "node scripts/install-pulumi-plugin.js resource myedgeorder ${VERSION}"
},
"dependencies": {
"@pulumi/pulumi": "^3.42.0"
},
"devDependencies": {
"@types/node": "latest",
"ts-node": "latest",
"typescript": "^4.3.5"
},
"peerDependencies": {
"@pulumi/pulumi": "latest"
},
"pulumi": {
"resource": true,
"name": "myedgeorder"
Expand Down
Expand Up @@ -50,6 +50,7 @@
<PackageReference Include="Moq" Version="4.13.1" />
<PackageReference Include="NUnit" Version="3.12.0" />
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
<PackageReference Include="Pulumi" Version="3.*" />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -5,16 +5,16 @@
"build": "tsc",
"install": "node scripts/install-pulumi-plugin.js resource mypkg ${VERSION}"
},
"dependencies": {
"@pulumi/pulumi": "^3.42.0"
},
"devDependencies": {
"@types/mocha": "latest",
"@types/node": "latest",
"mocha": "latest",
"ts-node": "latest",
"typescript": "^4.3.5"
},
"peerDependencies": {
"@pulumi/pulumi": "latest"
},
"pulumi": {
"resource": true,
"name": "mypkg"
Expand Down
Expand Up @@ -50,6 +50,7 @@
<PackageReference Include="Moq" Version="4.13.1" />
<PackageReference Include="NUnit" Version="3.12.0" />
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
<PackageReference Include="Pulumi" Version="3.*" />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -5,16 +5,16 @@
"build": "tsc",
"install": "node scripts/install-pulumi-plugin.js resource mypkg ${VERSION}"
},
"dependencies": {
"@pulumi/pulumi": "^3.42.0"
},
"devDependencies": {
"@types/mocha": "latest",
"@types/node": "latest",
"mocha": "latest",
"ts-node": "latest",
"typescript": "^4.3.5"
},
"peerDependencies": {
"@pulumi/pulumi": "latest"
},
"pulumi": {
"resource": true,
"name": "mypkg"
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -9,6 +9,7 @@
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -9,6 +9,7 @@
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -9,6 +9,7 @@
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down
Expand Up @@ -45,6 +45,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pulumi" Version="3.*" />
<PackageReference Include="Pulumi.Aws" Version="4.*" ExcludeAssets="contentFiles" />
</ItemGroup>

Expand Down
Expand Up @@ -10,6 +10,7 @@
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down
Expand Up @@ -9,6 +9,7 @@
"@pulumi/pulumi": "^3.12"
},
"devDependencies": {
"@types/node": "^14",
"typescript": "^3.7.0"
},
"pulumi": {
Expand Down