@terraforge/terraform 0.0.3 → 0.0.5
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/README.md +8 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +23 -15
- package/package.json +4 -2
package/README.md
ADDED
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ type TerraformProviderConfig = {
|
|
|
3
3
|
id?: string;
|
|
4
4
|
location?: string;
|
|
5
5
|
};
|
|
6
|
+
type InstallProps = {
|
|
7
|
+
location?: string;
|
|
8
|
+
};
|
|
6
9
|
declare const createTerraformAPI: <T>(props: {
|
|
7
10
|
namespace: string;
|
|
8
11
|
provider: {
|
|
@@ -68,4 +71,4 @@ declare class TerraformProvider implements Provider {
|
|
|
68
71
|
deleteResource({ type, state }: DeleteProps);
|
|
69
72
|
getData({ type, state }: GetDataProps);
|
|
70
73
|
}
|
|
71
|
-
export { generateTypes, createTerraformAPI, TerraformProviderConfig, TerraformProvider };
|
|
74
|
+
export { generateTypes, createTerraformAPI, TerraformProviderConfig, TerraformProvider, InstallProps };
|
package/dist/index.js
CHANGED
|
@@ -1546,19 +1546,23 @@ class TerraformProvider {
|
|
|
1546
1546
|
}
|
|
1547
1547
|
|
|
1548
1548
|
// src/resource.ts
|
|
1549
|
-
import { createMeta } from "@terraforge/core";
|
|
1549
|
+
import { createMeta, nodeMetaSymbol } from "@terraforge/core";
|
|
1550
1550
|
import { snakeCase as snakeCase2 } from "change-case";
|
|
1551
|
-
var createNamespaceProxy = (cb,
|
|
1551
|
+
var createNamespaceProxy = (cb, scb) => {
|
|
1552
1552
|
const cache = new Map;
|
|
1553
|
-
return new Proxy(
|
|
1553
|
+
return new Proxy({}, {
|
|
1554
1554
|
get(_, key) {
|
|
1555
1555
|
if (!cache.has(key)) {
|
|
1556
|
-
|
|
1556
|
+
const value = typeof key === "symbol" ? scb?.(key) : cb(key);
|
|
1557
|
+
cache.set(key, value);
|
|
1557
1558
|
}
|
|
1558
1559
|
return cache.get(key);
|
|
1559
1560
|
},
|
|
1560
1561
|
set(_, key) {
|
|
1561
|
-
|
|
1562
|
+
if (typeof key === "string") {
|
|
1563
|
+
throw new Error(`Cannot set property ${key} on read-only object.`);
|
|
1564
|
+
}
|
|
1565
|
+
throw new Error(`This object is read-only.`);
|
|
1562
1566
|
}
|
|
1563
1567
|
});
|
|
1564
1568
|
};
|
|
@@ -1607,26 +1611,30 @@ var createResourceProxy = (name) => {
|
|
|
1607
1611
|
resource: (ns, parent, id, input, config) => {
|
|
1608
1612
|
const type = snakeCase2(name + "_" + ns.join("_"));
|
|
1609
1613
|
const provider = `terraform:${name}:${config?.provider ?? "default"}`;
|
|
1610
|
-
const
|
|
1614
|
+
const meta = createMeta("resource", provider, parent, type, id, input, config);
|
|
1611
1615
|
const resource = createNamespaceProxy((key) => {
|
|
1612
|
-
|
|
1613
|
-
|
|
1616
|
+
return meta.output((data) => data[key]);
|
|
1617
|
+
}, (key) => {
|
|
1618
|
+
if (key === nodeMetaSymbol) {
|
|
1619
|
+
return meta;
|
|
1614
1620
|
}
|
|
1615
|
-
return
|
|
1616
|
-
}
|
|
1621
|
+
return;
|
|
1622
|
+
});
|
|
1617
1623
|
parent.add(resource);
|
|
1618
1624
|
return resource;
|
|
1619
1625
|
},
|
|
1620
1626
|
dataSource: (ns, parent, id, input, config) => {
|
|
1621
1627
|
const type = snakeCase2(name + "_" + ns.join("_"));
|
|
1622
1628
|
const provider = `terraform:${name}:${config?.provider ?? "default"}`;
|
|
1623
|
-
const
|
|
1629
|
+
const meta = createMeta("data", provider, parent, type, id, input, config);
|
|
1624
1630
|
const dataSource = createNamespaceProxy((key) => {
|
|
1625
|
-
|
|
1626
|
-
|
|
1631
|
+
return meta.output((data) => data[key]);
|
|
1632
|
+
}, (key) => {
|
|
1633
|
+
if (key === nodeMetaSymbol) {
|
|
1634
|
+
return meta;
|
|
1627
1635
|
}
|
|
1628
|
-
return
|
|
1629
|
-
}
|
|
1636
|
+
return;
|
|
1637
|
+
});
|
|
1630
1638
|
parent.add(dataSource);
|
|
1631
1639
|
return dataSource;
|
|
1632
1640
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@terraforge/terraform",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"module": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -18,10 +18,12 @@
|
|
|
18
18
|
"prepublishOnly": "bun run build",
|
|
19
19
|
"test": "bun test"
|
|
20
20
|
},
|
|
21
|
+
"peerDependencies": {
|
|
22
|
+
"@terraforge/core": "1.0.0"
|
|
23
|
+
},
|
|
21
24
|
"dependencies": {
|
|
22
25
|
"@grpc/grpc-js": "1.12.6",
|
|
23
26
|
"@grpc/proto-loader": "^0.7.13",
|
|
24
|
-
"@terraforge/core": "1.0.0",
|
|
25
27
|
"change-case": "^5.4.4",
|
|
26
28
|
"jszip": "^3.10.1",
|
|
27
29
|
"msgpackr": "^1.11.0",
|