Skip to main content

Ecosystem

Trusted libraries​

Dependencies can be installed like any other npm package and used in your project. There is an ecosystem of trusted libraries written in winglang called winglibs

npm install @winglibs/checks
import { main, inflight } from "@wingcloud/framework";
import checks from "@winglibs/checks";

main((root) => {
new checks.Check(
root,
"MyCheck",
inflight(async () => {
console.log("Looks good to me!");
})
);
});

Other libraries can be used as well, including any CDKs:

import { main, inflight } from "@wingcloud/framework";
import { s3Bucket } from "@cdktf/provider-aws";

main((root) => {
new s3Bucket.S3Bucket(root, "B1");
});

Platform-specific code​

Some resources are only available on certain platforms (clouds and provisioning systems). For example, if you import @cdktf/provider-aws and use s3Bucket.S3Bucket, you can only use it with the tf-aws target. To have platform-specific code, you can use the WING_TARGET environment variable to conditionally execute certain code:

import { main } from "@wingcloud/framework";
import { s3Bucket } from "@cdktf/provider-aws";

main((root) => {
if (process.env.WING_TARGET === "tf-aws") {
new s3Bucket.S3Bucket(root, "B1");
}
});

More details about targets can be found here.