@cdktn/commons 0.25.0-pre.32 → 0.25.0-pre.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -1
- package/build/registry.d.ts +25 -0
- package/build/registry.d.ts.map +1 -0
- package/build/registry.js +54 -0
- package/build/registry.test.d.ts +2 -0
- package/build/registry.test.d.ts.map +1 -0
- package/build/registry.test.js +38 -0
- package/package.json +2 -2
package/build/index.d.ts
CHANGED
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -26,8 +26,9 @@ __exportStar(require("./gradle"), exports);
|
|
|
26
26
|
__exportStar(require("./logging"), exports);
|
|
27
27
|
__exportStar(require("./module-schema"), exports);
|
|
28
28
|
__exportStar(require("./provider-schema"), exports);
|
|
29
|
+
__exportStar(require("./registry"), exports);
|
|
29
30
|
__exportStar(require("./terraform-module"), exports);
|
|
30
31
|
__exportStar(require("./terraform"), exports);
|
|
31
32
|
__exportStar(require("./util"), exports);
|
|
32
33
|
__exportStar(require("./version"), exports);
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbkMsK0NBQTZCO0FBQzdCLDJEQUF5QztBQUN6QywyQ0FBeUI7QUFDekIsMENBQXdCO0FBQ3hCLGdEQUE4QjtBQUM5QiwyQ0FBeUI7QUFDekIsMkNBQXlCO0FBQ3pCLDRDQUEwQjtBQUMxQixrREFBZ0M7QUFDaEMsb0RBQWtDO0FBQ2xDLDZDQUEyQjtBQUMzQixxREFBbUM7QUFDbkMsOENBQTRCO0FBQzVCLHlDQUF1QjtBQUN2Qiw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuXG5leHBvcnQgKiBmcm9tIFwiLi9jaGVja3BvaW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdHJ1Y3QtbWFrZXItdGFyZ2V0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlYnVnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnZpcm9ubWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ncmFkbGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvZ2dpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21vZHVsZS1zY2hlbWFcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb3ZpZGVyLXNjaGVtYVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVnaXN0cnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVyc2lvblwiO1xuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { TerraformTargetVersions } from "./config";
|
|
2
|
+
/** A provider registry and the URL shapes that go with it. */
|
|
3
|
+
export interface Registry {
|
|
4
|
+
/** Hostname used to resolve providers declared without one. */
|
|
5
|
+
readonly hostname: string;
|
|
6
|
+
/** Where to send a user looking for available providers. */
|
|
7
|
+
readonly browseUrl: string;
|
|
8
|
+
/**
|
|
9
|
+
* Documentation link for one generated construct. `kind` "provider" ignores
|
|
10
|
+
* `name`. Returns the provider page when the registry has no page for the
|
|
11
|
+
* kind, which is the case for OpenTofu and ephemeral resources.
|
|
12
|
+
*/
|
|
13
|
+
docsUrl(namespace: string, provider: string, version: string, kind: "provider" | "resource" | "data-source" | "ephemeral-resource", name?: string): string;
|
|
14
|
+
}
|
|
15
|
+
export declare const TERRAFORM_REGISTRY: Registry;
|
|
16
|
+
export declare const OPENTOFU_REGISTRY: Registry;
|
|
17
|
+
/**
|
|
18
|
+
* The registry a project targets, from its declared `targetVersions`.
|
|
19
|
+
*
|
|
20
|
+
* OpenTofu only when it is the sole declared product. Declaring both, or
|
|
21
|
+
* declaring nothing (DEFAULT_TARGET_VERSIONS declares both), gives Terraform -
|
|
22
|
+
* so output does not depend on which CLI happened to run.
|
|
23
|
+
*/
|
|
24
|
+
export declare function registryForTargetVersions(targetVersions?: TerraformTargetVersions): Registry;
|
|
25
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,oBAAoB,EACpE,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CAAC;CACX;AAED,eAAO,MAAM,kBAAkB,EAAE,QAgBhC,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,QAe/B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,CAAC,EAAE,uBAAuB,GACvC,QAAQ,CAKV"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OPENTOFU_REGISTRY = exports.TERRAFORM_REGISTRY = void 0;
|
|
4
|
+
exports.registryForTargetVersions = registryForTargetVersions;
|
|
5
|
+
exports.TERRAFORM_REGISTRY = {
|
|
6
|
+
hostname: "registry.terraform.io",
|
|
7
|
+
browseUrl: "https://registry.terraform.io/browse/providers",
|
|
8
|
+
docsUrl(namespace, provider, version, kind, name) {
|
|
9
|
+
const base = `https://registry.terraform.io/providers/${namespace}/${provider}/${version}/docs`;
|
|
10
|
+
switch (kind) {
|
|
11
|
+
case "provider":
|
|
12
|
+
return base;
|
|
13
|
+
case "resource":
|
|
14
|
+
return `${base}/resources/${name}`;
|
|
15
|
+
case "data-source":
|
|
16
|
+
return `${base}/data-sources/${name}`;
|
|
17
|
+
case "ephemeral-resource":
|
|
18
|
+
return `${base}/ephemeral-resources/${name}`;
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
// Paths follow getDocumentationUrl.ts in opentofu/registry-ui: /provider/
|
|
23
|
+
// singular, a v-prefixed version, and "datasources" unhyphenated. That UI has
|
|
24
|
+
// no ephemeral-resource route yet (opentofu/registry-ui#348), so those fall
|
|
25
|
+
// back to the provider page.
|
|
26
|
+
exports.OPENTOFU_REGISTRY = {
|
|
27
|
+
hostname: "registry.opentofu.org",
|
|
28
|
+
browseUrl: "https://search.opentofu.org/providers",
|
|
29
|
+
docsUrl(namespace, provider, version, kind, name) {
|
|
30
|
+
const base = `https://search.opentofu.org/provider/${namespace}/${provider}/v${version}/docs`;
|
|
31
|
+
switch (kind) {
|
|
32
|
+
case "provider":
|
|
33
|
+
case "ephemeral-resource":
|
|
34
|
+
return base;
|
|
35
|
+
case "resource":
|
|
36
|
+
return `${base}/resources/${name}`;
|
|
37
|
+
case "data-source":
|
|
38
|
+
return `${base}/datasources/${name}`;
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* The registry a project targets, from its declared `targetVersions`.
|
|
44
|
+
*
|
|
45
|
+
* OpenTofu only when it is the sole declared product. Declaring both, or
|
|
46
|
+
* declaring nothing (DEFAULT_TARGET_VERSIONS declares both), gives Terraform -
|
|
47
|
+
* so output does not depend on which CLI happened to run.
|
|
48
|
+
*/
|
|
49
|
+
function registryForTargetVersions(targetVersions) {
|
|
50
|
+
const opentofuOnly = (targetVersions === null || targetVersions === void 0 ? void 0 : targetVersions.opentofu) !== undefined &&
|
|
51
|
+
(targetVersions === null || targetVersions === void 0 ? void 0 : targetVersions.terraform) === undefined;
|
|
52
|
+
return opentofuOnly ? exports.OPENTOFU_REGISTRY : exports.TERRAFORM_REGISTRY;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBc0VBLDhEQU9DO0FBckRZLFFBQUEsa0JBQWtCLEdBQWE7SUFDMUMsUUFBUSxFQUFFLHVCQUF1QjtJQUNqQyxTQUFTLEVBQUUsZ0RBQWdEO0lBQzNELE9BQU8sQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSTtRQUM5QyxNQUFNLElBQUksR0FBRywyQ0FBMkMsU0FBUyxJQUFJLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQztRQUNoRyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2IsS0FBSyxVQUFVO2dCQUNiLE9BQU8sSUFBSSxDQUFDO1lBQ2QsS0FBSyxVQUFVO2dCQUNiLE9BQU8sR0FBRyxJQUFJLGNBQWMsSUFBSSxFQUFFLENBQUM7WUFDckMsS0FBSyxhQUFhO2dCQUNoQixPQUFPLEdBQUcsSUFBSSxpQkFBaUIsSUFBSSxFQUFFLENBQUM7WUFDeEMsS0FBSyxvQkFBb0I7Z0JBQ3ZCLE9BQU8sR0FBRyxJQUFJLHdCQUF3QixJQUFJLEVBQUUsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUM7QUFFRiwwRUFBMEU7QUFDMUUsOEVBQThFO0FBQzlFLDRFQUE0RTtBQUM1RSw2QkFBNkI7QUFDaEIsUUFBQSxpQkFBaUIsR0FBYTtJQUN6QyxRQUFRLEVBQUUsdUJBQXVCO0lBQ2pDLFNBQVMsRUFBRSx1Q0FBdUM7SUFDbEQsT0FBTyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJO1FBQzlDLE1BQU0sSUFBSSxHQUFHLHdDQUF3QyxTQUFTLElBQUksUUFBUSxLQUFLLE9BQU8sT0FBTyxDQUFDO1FBQzlGLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLFVBQVUsQ0FBQztZQUNoQixLQUFLLG9CQUFvQjtnQkFDdkIsT0FBTyxJQUFJLENBQUM7WUFDZCxLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxHQUFHLElBQUksY0FBYyxJQUFJLEVBQUUsQ0FBQztZQUNyQyxLQUFLLGFBQWE7Z0JBQ2hCLE9BQU8sR0FBRyxJQUFJLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxTQUFnQix5QkFBeUIsQ0FDdkMsY0FBd0M7SUFFeEMsTUFBTSxZQUFZLEdBQ2hCLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLFFBQVEsTUFBSyxTQUFTO1FBQ3RDLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLFNBQVMsTUFBSyxTQUFTLENBQUM7SUFDMUMsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLHlCQUFpQixDQUFDLENBQUMsQ0FBQywwQkFBa0IsQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbi8qKiBBIHByb3ZpZGVyIHJlZ2lzdHJ5IGFuZCB0aGUgVVJMIHNoYXBlcyB0aGF0IGdvIHdpdGggaXQuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5IHtcbiAgLyoqIEhvc3RuYW1lIHVzZWQgdG8gcmVzb2x2ZSBwcm92aWRlcnMgZGVjbGFyZWQgd2l0aG91dCBvbmUuICovXG4gIHJlYWRvbmx5IGhvc3RuYW1lOiBzdHJpbmc7XG4gIC8qKiBXaGVyZSB0byBzZW5kIGEgdXNlciBsb29raW5nIGZvciBhdmFpbGFibGUgcHJvdmlkZXJzLiAqL1xuICByZWFkb25seSBicm93c2VVcmw6IHN0cmluZztcbiAgLyoqXG4gICAqIERvY3VtZW50YXRpb24gbGluayBmb3Igb25lIGdlbmVyYXRlZCBjb25zdHJ1Y3QuIGBraW5kYCBcInByb3ZpZGVyXCIgaWdub3Jlc1xuICAgKiBgbmFtZWAuIFJldHVybnMgdGhlIHByb3ZpZGVyIHBhZ2Ugd2hlbiB0aGUgcmVnaXN0cnkgaGFzIG5vIHBhZ2UgZm9yIHRoZVxuICAgKiBraW5kLCB3aGljaCBpcyB0aGUgY2FzZSBmb3IgT3BlblRvZnUgYW5kIGVwaGVtZXJhbCByZXNvdXJjZXMuXG4gICAqL1xuICBkb2NzVXJsKFxuICAgIG5hbWVzcGFjZTogc3RyaW5nLFxuICAgIHByb3ZpZGVyOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIGtpbmQ6IFwicHJvdmlkZXJcIiB8IFwicmVzb3VyY2VcIiB8IFwiZGF0YS1zb3VyY2VcIiB8IFwiZXBoZW1lcmFsLXJlc291cmNlXCIsXG4gICAgbmFtZT86IHN0cmluZyxcbiAgKTogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgVEVSUkFGT1JNX1JFR0lTVFJZOiBSZWdpc3RyeSA9IHtcbiAgaG9zdG5hbWU6IFwicmVnaXN0cnkudGVycmFmb3JtLmlvXCIsXG4gIGJyb3dzZVVybDogXCJodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9icm93c2UvcHJvdmlkZXJzXCIsXG4gIGRvY3NVcmwobmFtZXNwYWNlLCBwcm92aWRlciwgdmVyc2lvbiwga2luZCwgbmFtZSkge1xuICAgIGNvbnN0IGJhc2UgPSBgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzLyR7bmFtZXNwYWNlfS8ke3Byb3ZpZGVyfS8ke3ZlcnNpb259L2RvY3NgO1xuICAgIHN3aXRjaCAoa2luZCkge1xuICAgICAgY2FzZSBcInByb3ZpZGVyXCI6XG4gICAgICAgIHJldHVybiBiYXNlO1xuICAgICAgY2FzZSBcInJlc291cmNlXCI6XG4gICAgICAgIHJldHVybiBgJHtiYXNlfS9yZXNvdXJjZXMvJHtuYW1lfWA7XG4gICAgICBjYXNlIFwiZGF0YS1zb3VyY2VcIjpcbiAgICAgICAgcmV0dXJuIGAke2Jhc2V9L2RhdGEtc291cmNlcy8ke25hbWV9YDtcbiAgICAgIGNhc2UgXCJlcGhlbWVyYWwtcmVzb3VyY2VcIjpcbiAgICAgICAgcmV0dXJuIGAke2Jhc2V9L2VwaGVtZXJhbC1yZXNvdXJjZXMvJHtuYW1lfWA7XG4gICAgfVxuICB9LFxufTtcblxuLy8gUGF0aHMgZm9sbG93IGdldERvY3VtZW50YXRpb25VcmwudHMgaW4gb3BlbnRvZnUvcmVnaXN0cnktdWk6IC9wcm92aWRlci9cbi8vIHNpbmd1bGFyLCBhIHYtcHJlZml4ZWQgdmVyc2lvbiwgYW5kIFwiZGF0YXNvdXJjZXNcIiB1bmh5cGhlbmF0ZWQuIFRoYXQgVUkgaGFzXG4vLyBubyBlcGhlbWVyYWwtcmVzb3VyY2Ugcm91dGUgeWV0IChvcGVudG9mdS9yZWdpc3RyeS11aSMzNDgpLCBzbyB0aG9zZSBmYWxsXG4vLyBiYWNrIHRvIHRoZSBwcm92aWRlciBwYWdlLlxuZXhwb3J0IGNvbnN0IE9QRU5UT0ZVX1JFR0lTVFJZOiBSZWdpc3RyeSA9IHtcbiAgaG9zdG5hbWU6IFwicmVnaXN0cnkub3BlbnRvZnUub3JnXCIsXG4gIGJyb3dzZVVybDogXCJodHRwczovL3NlYXJjaC5vcGVudG9mdS5vcmcvcHJvdmlkZXJzXCIsXG4gIGRvY3NVcmwobmFtZXNwYWNlLCBwcm92aWRlciwgdmVyc2lvbiwga2luZCwgbmFtZSkge1xuICAgIGNvbnN0IGJhc2UgPSBgaHR0cHM6Ly9zZWFyY2gub3BlbnRvZnUub3JnL3Byb3ZpZGVyLyR7bmFtZXNwYWNlfS8ke3Byb3ZpZGVyfS92JHt2ZXJzaW9ufS9kb2NzYDtcbiAgICBzd2l0Y2ggKGtpbmQpIHtcbiAgICAgIGNhc2UgXCJwcm92aWRlclwiOlxuICAgICAgY2FzZSBcImVwaGVtZXJhbC1yZXNvdXJjZVwiOlxuICAgICAgICByZXR1cm4gYmFzZTtcbiAgICAgIGNhc2UgXCJyZXNvdXJjZVwiOlxuICAgICAgICByZXR1cm4gYCR7YmFzZX0vcmVzb3VyY2VzLyR7bmFtZX1gO1xuICAgICAgY2FzZSBcImRhdGEtc291cmNlXCI6XG4gICAgICAgIHJldHVybiBgJHtiYXNlfS9kYXRhc291cmNlcy8ke25hbWV9YDtcbiAgICB9XG4gIH0sXG59O1xuXG4vKipcbiAqIFRoZSByZWdpc3RyeSBhIHByb2plY3QgdGFyZ2V0cywgZnJvbSBpdHMgZGVjbGFyZWQgYHRhcmdldFZlcnNpb25zYC5cbiAqXG4gKiBPcGVuVG9mdSBvbmx5IHdoZW4gaXQgaXMgdGhlIHNvbGUgZGVjbGFyZWQgcHJvZHVjdC4gRGVjbGFyaW5nIGJvdGgsIG9yXG4gKiBkZWNsYXJpbmcgbm90aGluZyAoREVGQVVMVF9UQVJHRVRfVkVSU0lPTlMgZGVjbGFyZXMgYm90aCksIGdpdmVzIFRlcnJhZm9ybSAtXG4gKiBzbyBvdXRwdXQgZG9lcyBub3QgZGVwZW5kIG9uIHdoaWNoIENMSSBoYXBwZW5lZCB0byBydW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RyeUZvclRhcmdldFZlcnNpb25zKFxuICB0YXJnZXRWZXJzaW9ucz86IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zLFxuKTogUmVnaXN0cnkge1xuICBjb25zdCBvcGVudG9mdU9ubHkgPVxuICAgIHRhcmdldFZlcnNpb25zPy5vcGVudG9mdSAhPT0gdW5kZWZpbmVkICYmXG4gICAgdGFyZ2V0VmVyc2lvbnM/LnRlcnJhZm9ybSA9PT0gdW5kZWZpbmVkO1xuICByZXR1cm4gb3BlbnRvZnVPbmx5ID8gT1BFTlRPRlVfUkVHSVNUUlkgOiBURVJSQUZPUk1fUkVHSVNUUlk7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.test.d.ts","sourceRoot":"","sources":["../src/registry.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// Copyright (c) HashiCorp, Inc
|
|
4
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
5
|
+
const registry_1 = require("./registry");
|
|
6
|
+
describe("registryForTargetVersions", () => {
|
|
7
|
+
it("uses OpenTofu only when it is the sole declared product", () => {
|
|
8
|
+
expect((0, registry_1.registryForTargetVersions)({ opentofu: ">=1.6.0" })).toBe(registry_1.OPENTOFU_REGISTRY);
|
|
9
|
+
});
|
|
10
|
+
it.each([
|
|
11
|
+
["terraform only", { terraform: ">=1.5.7" }],
|
|
12
|
+
["both declared", { terraform: ">=1.5.7", opentofu: ">=1.6.0" }],
|
|
13
|
+
["nothing declared", undefined],
|
|
14
|
+
])("uses Terraform for %s", (_name, targets) => {
|
|
15
|
+
expect((0, registry_1.registryForTargetVersions)(targets)).toBe(registry_1.TERRAFORM_REGISTRY);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
describe("docsUrl", () => {
|
|
19
|
+
it("builds Terraform registry paths", () => {
|
|
20
|
+
const r = registry_1.TERRAFORM_REGISTRY;
|
|
21
|
+
expect(r.docsUrl("hashicorp", "random", "3.7.2", "provider")).toBe("https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs");
|
|
22
|
+
expect(r.docsUrl("hashicorp", "random", "3.7.2", "resource", "password")).toBe("https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password");
|
|
23
|
+
expect(r.docsUrl("hashicorp", "local", "2.5.2", "data-source", "file")).toBe("https://registry.terraform.io/providers/hashicorp/local/2.5.2/docs/data-sources/file");
|
|
24
|
+
});
|
|
25
|
+
// Shapes follow getDocumentationUrl.ts in opentofu/registry-ui.
|
|
26
|
+
it("builds OpenTofu registry paths", () => {
|
|
27
|
+
const r = registry_1.OPENTOFU_REGISTRY;
|
|
28
|
+
expect(r.docsUrl("hashicorp", "random", "3.7.2", "provider")).toBe("https://search.opentofu.org/provider/hashicorp/random/v3.7.2/docs");
|
|
29
|
+
expect(r.docsUrl("hashicorp", "random", "3.7.2", "resource", "password")).toBe("https://search.opentofu.org/provider/hashicorp/random/v3.7.2/docs/resources/password");
|
|
30
|
+
expect(r.docsUrl("hashicorp", "local", "2.5.2", "data-source", "file")).toBe("https://search.opentofu.org/provider/hashicorp/local/v2.5.2/docs/datasources/file");
|
|
31
|
+
});
|
|
32
|
+
// TODO(#444): drop the fallback once opentofu/registry-ui#348 ships an
|
|
33
|
+
// ephemeral-resource route; this assertion is what will fail when it does.
|
|
34
|
+
it("falls back to the provider page for OpenTofu ephemeral resources", () => {
|
|
35
|
+
expect(registry_1.OPENTOFU_REGISTRY.docsUrl("hashicorp", "random", "3.7.2", "ephemeral-resource", "password")).toBe("https://search.opentofu.org/provider/hashicorp/random/v3.7.2/docs");
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWdpc3RyeS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx5Q0FJb0I7QUFFcEIsUUFBUSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsRUFBRTtJQUN6QyxFQUFFLENBQUMseURBQXlELEVBQUUsR0FBRyxFQUFFO1FBQ2pFLE1BQU0sQ0FBQyxJQUFBLG9DQUF5QixFQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzdELDRCQUFpQixDQUNsQixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ04sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUM1QyxDQUFDLGVBQWUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2hFLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDO0tBQ2hDLENBQUMsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUM3QyxNQUFNLENBQUMsSUFBQSxvQ0FBeUIsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyw2QkFBa0IsQ0FBQyxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtJQUN2QixFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO1FBQ3pDLE1BQU0sQ0FBQyxHQUFHLDZCQUFrQixDQUFDO1FBQzdCLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNoRSxxRUFBcUUsQ0FDdEUsQ0FBQztRQUNGLE1BQU0sQ0FDSixDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FDbEUsQ0FBQyxJQUFJLENBQ0osd0ZBQXdGLENBQ3pGLENBQUM7UUFDRixNQUFNLENBQ0osQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQ2hFLENBQUMsSUFBSSxDQUNKLHNGQUFzRixDQUN2RixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxnRUFBZ0U7SUFDaEUsRUFBRSxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsRUFBRTtRQUN4QyxNQUFNLENBQUMsR0FBRyw0QkFBaUIsQ0FBQztRQUM1QixNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDaEUsbUVBQW1FLENBQ3BFLENBQUM7UUFDRixNQUFNLENBQ0osQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQ2xFLENBQUMsSUFBSSxDQUNKLHNGQUFzRixDQUN2RixDQUFDO1FBQ0YsTUFBTSxDQUNKLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUNoRSxDQUFDLElBQUksQ0FDSixtRkFBbUYsQ0FDcEYsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsdUVBQXVFO0lBQ3ZFLDJFQUEyRTtJQUMzRSxFQUFFLENBQUMsa0VBQWtFLEVBQUUsR0FBRyxFQUFFO1FBQzFFLE1BQU0sQ0FDSiw0QkFBaUIsQ0FBQyxPQUFPLENBQ3ZCLFdBQVcsRUFDWCxRQUFRLEVBQ1IsT0FBTyxFQUNQLG9CQUFvQixFQUNwQixVQUFVLENBQ1gsQ0FDRixDQUFDLElBQUksQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO0lBQzlFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHtcbiAgT1BFTlRPRlVfUkVHSVNUUlksXG4gIFRFUlJBRk9STV9SRUdJU1RSWSxcbiAgcmVnaXN0cnlGb3JUYXJnZXRWZXJzaW9ucyxcbn0gZnJvbSBcIi4vcmVnaXN0cnlcIjtcblxuZGVzY3JpYmUoXCJyZWdpc3RyeUZvclRhcmdldFZlcnNpb25zXCIsICgpID0+IHtcbiAgaXQoXCJ1c2VzIE9wZW5Ub2Z1IG9ubHkgd2hlbiBpdCBpcyB0aGUgc29sZSBkZWNsYXJlZCBwcm9kdWN0XCIsICgpID0+IHtcbiAgICBleHBlY3QocmVnaXN0cnlGb3JUYXJnZXRWZXJzaW9ucyh7IG9wZW50b2Z1OiBcIj49MS42LjBcIiB9KSkudG9CZShcbiAgICAgIE9QRU5UT0ZVX1JFR0lTVFJZLFxuICAgICk7XG4gIH0pO1xuXG4gIGl0LmVhY2goW1xuICAgIFtcInRlcnJhZm9ybSBvbmx5XCIsIHsgdGVycmFmb3JtOiBcIj49MS41LjdcIiB9XSxcbiAgICBbXCJib3RoIGRlY2xhcmVkXCIsIHsgdGVycmFmb3JtOiBcIj49MS41LjdcIiwgb3BlbnRvZnU6IFwiPj0xLjYuMFwiIH1dLFxuICAgIFtcIm5vdGhpbmcgZGVjbGFyZWRcIiwgdW5kZWZpbmVkXSxcbiAgXSkoXCJ1c2VzIFRlcnJhZm9ybSBmb3IgJXNcIiwgKF9uYW1lLCB0YXJnZXRzKSA9PiB7XG4gICAgZXhwZWN0KHJlZ2lzdHJ5Rm9yVGFyZ2V0VmVyc2lvbnModGFyZ2V0cykpLnRvQmUoVEVSUkFGT1JNX1JFR0lTVFJZKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJkb2NzVXJsXCIsICgpID0+IHtcbiAgaXQoXCJidWlsZHMgVGVycmFmb3JtIHJlZ2lzdHJ5IHBhdGhzXCIsICgpID0+IHtcbiAgICBjb25zdCByID0gVEVSUkFGT1JNX1JFR0lTVFJZO1xuICAgIGV4cGVjdChyLmRvY3NVcmwoXCJoYXNoaWNvcnBcIiwgXCJyYW5kb21cIiwgXCIzLjcuMlwiLCBcInByb3ZpZGVyXCIpKS50b0JlKFxuICAgICAgXCJodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3JhbmRvbS8zLjcuMi9kb2NzXCIsXG4gICAgKTtcbiAgICBleHBlY3QoXG4gICAgICByLmRvY3NVcmwoXCJoYXNoaWNvcnBcIiwgXCJyYW5kb21cIiwgXCIzLjcuMlwiLCBcInJlc291cmNlXCIsIFwicGFzc3dvcmRcIiksXG4gICAgKS50b0JlKFxuICAgICAgXCJodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3JhbmRvbS8zLjcuMi9kb2NzL3Jlc291cmNlcy9wYXNzd29yZFwiLFxuICAgICk7XG4gICAgZXhwZWN0KFxuICAgICAgci5kb2NzVXJsKFwiaGFzaGljb3JwXCIsIFwibG9jYWxcIiwgXCIyLjUuMlwiLCBcImRhdGEtc291cmNlXCIsIFwiZmlsZVwiKSxcbiAgICApLnRvQmUoXG4gICAgICBcImh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvbG9jYWwvMi41LjIvZG9jcy9kYXRhLXNvdXJjZXMvZmlsZVwiLFxuICAgICk7XG4gIH0pO1xuXG4gIC8vIFNoYXBlcyBmb2xsb3cgZ2V0RG9jdW1lbnRhdGlvblVybC50cyBpbiBvcGVudG9mdS9yZWdpc3RyeS11aS5cbiAgaXQoXCJidWlsZHMgT3BlblRvZnUgcmVnaXN0cnkgcGF0aHNcIiwgKCkgPT4ge1xuICAgIGNvbnN0IHIgPSBPUEVOVE9GVV9SRUdJU1RSWTtcbiAgICBleHBlY3Qoci5kb2NzVXJsKFwiaGFzaGljb3JwXCIsIFwicmFuZG9tXCIsIFwiMy43LjJcIiwgXCJwcm92aWRlclwiKSkudG9CZShcbiAgICAgIFwiaHR0cHM6Ly9zZWFyY2gub3BlbnRvZnUub3JnL3Byb3ZpZGVyL2hhc2hpY29ycC9yYW5kb20vdjMuNy4yL2RvY3NcIixcbiAgICApO1xuICAgIGV4cGVjdChcbiAgICAgIHIuZG9jc1VybChcImhhc2hpY29ycFwiLCBcInJhbmRvbVwiLCBcIjMuNy4yXCIsIFwicmVzb3VyY2VcIiwgXCJwYXNzd29yZFwiKSxcbiAgICApLnRvQmUoXG4gICAgICBcImh0dHBzOi8vc2VhcmNoLm9wZW50b2Z1Lm9yZy9wcm92aWRlci9oYXNoaWNvcnAvcmFuZG9tL3YzLjcuMi9kb2NzL3Jlc291cmNlcy9wYXNzd29yZFwiLFxuICAgICk7XG4gICAgZXhwZWN0KFxuICAgICAgci5kb2NzVXJsKFwiaGFzaGljb3JwXCIsIFwibG9jYWxcIiwgXCIyLjUuMlwiLCBcImRhdGEtc291cmNlXCIsIFwiZmlsZVwiKSxcbiAgICApLnRvQmUoXG4gICAgICBcImh0dHBzOi8vc2VhcmNoLm9wZW50b2Z1Lm9yZy9wcm92aWRlci9oYXNoaWNvcnAvbG9jYWwvdjIuNS4yL2RvY3MvZGF0YXNvdXJjZXMvZmlsZVwiLFxuICAgICk7XG4gIH0pO1xuXG4gIC8vIFRPRE8oIzQ0NCk6IGRyb3AgdGhlIGZhbGxiYWNrIG9uY2Ugb3BlbnRvZnUvcmVnaXN0cnktdWkjMzQ4IHNoaXBzIGFuXG4gIC8vIGVwaGVtZXJhbC1yZXNvdXJjZSByb3V0ZTsgdGhpcyBhc3NlcnRpb24gaXMgd2hhdCB3aWxsIGZhaWwgd2hlbiBpdCBkb2VzLlxuICBpdChcImZhbGxzIGJhY2sgdG8gdGhlIHByb3ZpZGVyIHBhZ2UgZm9yIE9wZW5Ub2Z1IGVwaGVtZXJhbCByZXNvdXJjZXNcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIE9QRU5UT0ZVX1JFR0lTVFJZLmRvY3NVcmwoXG4gICAgICAgIFwiaGFzaGljb3JwXCIsXG4gICAgICAgIFwicmFuZG9tXCIsXG4gICAgICAgIFwiMy43LjJcIixcbiAgICAgICAgXCJlcGhlbWVyYWwtcmVzb3VyY2VcIixcbiAgICAgICAgXCJwYXNzd29yZFwiLFxuICAgICAgKSxcbiAgICApLnRvQmUoXCJodHRwczovL3NlYXJjaC5vcGVudG9mdS5vcmcvcHJvdmlkZXIvaGFzaGljb3JwL3JhbmRvbS92My43LjIvZG9jc1wiKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdktn/commons",
|
|
3
|
-
"version": "0.25.0-pre.
|
|
3
|
+
"version": "0.25.0-pre.37",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"semver": "7.8.5",
|
|
40
40
|
"strip-ansi": "6.0.1",
|
|
41
41
|
"validator": "13.15.35",
|
|
42
|
-
"cdktn": "0.25.0-pre.
|
|
42
|
+
"cdktn": "0.25.0-pre.37"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "22.20.1",
|