@pulumi/pulumi 3.150.1-alpha.x6a2f6bd → 3.150.1-alpha.xa6c34b4
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/output.d.ts +1 -1
- package/output.js.map +1 -1
- package/package.json +1 -1
- package/provider/experimental/analyzer.d.ts +42 -0
- package/provider/experimental/analyzer.js +374 -0
- package/provider/experimental/analyzer.js.map +1 -0
- package/provider/experimental/index.d.ts +1 -0
- package/provider/experimental/index.js +20 -0
- package/provider/experimental/index.js.map +1 -0
- package/provider/experimental/provider.d.ts +15 -0
- package/provider/experimental/provider.js +123 -0
- package/provider/experimental/provider.js.map +1 -0
- package/provider/experimental/schema.d.ts +65 -0
- package/provider/experimental/schema.js +72 -0
- package/provider/experimental/schema.js.map +1 -0
- package/version.js +1 -1
package/output.d.ts
CHANGED
|
@@ -143,7 +143,7 @@ declare type primitive = Function | string | number | boolean | undefined | null
|
|
|
143
143
|
/**
|
|
144
144
|
* Handles encountering basic types when unwrapping.
|
|
145
145
|
*/
|
|
146
|
-
export declare type UnwrapSimple<T> = T extends primitive ? T : T extends Resource ? T : T extends Array<infer U> ? UnwrappedArray<U> : T extends object ? UnwrappedObject<T> : never;
|
|
146
|
+
export declare type UnwrapSimple<T> = T extends primitive ? T : T extends Resource ? T : T extends [any, ...any[]] ? UnwrappedObject<T> : T extends Array<infer U> ? UnwrappedArray<U> : T extends object ? UnwrappedObject<T> : never;
|
|
147
147
|
export declare type UnwrappedArray<T> = Array<Unwrap<T>>;
|
|
148
148
|
export declare type UnwrappedObject<T> = {
|
|
149
149
|
[P in keyof T]: Unwrap<T[P]>;
|
package/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../output.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../output.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import typescript from "typescript";
|
|
2
|
+
import { ComponentResource } from "../../resource";
|
|
3
|
+
export declare type PropertyType = "string" | "integer" | "number" | "boolean" | "array" | "object";
|
|
4
|
+
export declare type PropertyDefinition = ({
|
|
5
|
+
type: PropertyType;
|
|
6
|
+
} | {
|
|
7
|
+
$ref: string;
|
|
8
|
+
}) & {
|
|
9
|
+
optional?: boolean;
|
|
10
|
+
plain?: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare type ComponentDefinition = {
|
|
13
|
+
name: string;
|
|
14
|
+
inputs: Record<string, PropertyDefinition>;
|
|
15
|
+
outputs: Record<string, PropertyDefinition>;
|
|
16
|
+
};
|
|
17
|
+
export declare type TypeDefinition = {
|
|
18
|
+
name: string;
|
|
19
|
+
properties: Record<string, PropertyDefinition>;
|
|
20
|
+
};
|
|
21
|
+
export declare type AnalyzeResult = {
|
|
22
|
+
components: Record<string, ComponentDefinition>;
|
|
23
|
+
typeDefinitions: Record<string, TypeDefinition>;
|
|
24
|
+
};
|
|
25
|
+
export declare class Analyzer {
|
|
26
|
+
private path;
|
|
27
|
+
private providerName;
|
|
28
|
+
private checker;
|
|
29
|
+
private program;
|
|
30
|
+
private components;
|
|
31
|
+
private typeDefinitions;
|
|
32
|
+
constructor(dir: string, providerName: string);
|
|
33
|
+
analyze(): AnalyzeResult;
|
|
34
|
+
findComponent(name: string): Promise<typeof ComponentResource>;
|
|
35
|
+
private analyseFile;
|
|
36
|
+
private analyzeComponent;
|
|
37
|
+
private isPulumiComponent;
|
|
38
|
+
private analyzeSymbols;
|
|
39
|
+
private analyzeSymbol;
|
|
40
|
+
private analyzeType;
|
|
41
|
+
unwrapTypeReference(type: typescript.Type): typescript.Type;
|
|
42
|
+
}
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2025-2025, Pulumi Corporation.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
17
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
18
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
19
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
20
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
21
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
+
if (mod && mod.__esModule) return mod;
|
|
26
|
+
var result = {};
|
|
27
|
+
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
28
|
+
result["default"] = mod;
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
const path = __importStar(require("path"));
|
|
33
|
+
// Use the TypeScript shim which allows us to fallback to a vendored version of
|
|
34
|
+
// TypeScript if the user has not installed it.
|
|
35
|
+
// TODO: we should consider requiring the user to install TypeScript and not
|
|
36
|
+
// rely on the shim. In any case, we should add tests for providers with
|
|
37
|
+
// different versions of TypeScript in their dependencies, to ensure the
|
|
38
|
+
// analyzer code is compatible with all of them.
|
|
39
|
+
const ts = require("../../typescript-shim");
|
|
40
|
+
class Analyzer {
|
|
41
|
+
constructor(dir, providerName) {
|
|
42
|
+
this.components = {};
|
|
43
|
+
this.typeDefinitions = {};
|
|
44
|
+
const configPath = `${dir}/tsconfig.json`;
|
|
45
|
+
const config = ts.readConfigFile(configPath, ts.sys.readFile);
|
|
46
|
+
const parsedConfig = ts.parseJsonConfigFileContent(config.config, ts.sys, path.dirname(configPath));
|
|
47
|
+
this.path = dir;
|
|
48
|
+
this.providerName = providerName;
|
|
49
|
+
this.program = ts.createProgram({
|
|
50
|
+
rootNames: parsedConfig.fileNames,
|
|
51
|
+
options: parsedConfig.options,
|
|
52
|
+
});
|
|
53
|
+
this.checker = this.program.getTypeChecker();
|
|
54
|
+
}
|
|
55
|
+
analyze() {
|
|
56
|
+
const sourceFiles = this.program.getSourceFiles();
|
|
57
|
+
for (const sourceFile of sourceFiles) {
|
|
58
|
+
if (sourceFile.fileName.includes("node_modules") || sourceFile.fileName.endsWith(".d.ts")) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
this.analyseFile(sourceFile);
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
components: this.components,
|
|
65
|
+
typeDefinitions: this.typeDefinitions,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
findComponent(name) {
|
|
69
|
+
var _a;
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
const sourceFiles = this.program.getSourceFiles();
|
|
72
|
+
for (const sourceFile of sourceFiles) {
|
|
73
|
+
if (sourceFile.fileName.includes("node_modules") || sourceFile.fileName.endsWith(".d.ts")) {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
for (const node of sourceFile.statements) {
|
|
77
|
+
if (ts.isClassDeclaration(node) && this.isPulumiComponent(node) && node.name) {
|
|
78
|
+
if (ts.isClassDeclaration(node) && this.isPulumiComponent(node) && ((_a = node.name) === null || _a === void 0 ? void 0 : _a.text) === name) {
|
|
79
|
+
try {
|
|
80
|
+
const module = yield Promise.resolve().then(() => __importStar(require(sourceFile.fileName)));
|
|
81
|
+
return module[name];
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
throw new Error(`Failed to import component '${name}': ${e}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
throw new Error(`Component '${name}' not found`);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
analyseFile(sourceFile) {
|
|
94
|
+
// We intentionally visit only the top-level nodes, because we only
|
|
95
|
+
// support components defined at the top-level. We have no way to
|
|
96
|
+
// instantiate components defined inside functions or methods.
|
|
97
|
+
sourceFile.forEachChild((node) => {
|
|
98
|
+
if (ts.isClassDeclaration(node) && this.isPulumiComponent(node) && node.name) {
|
|
99
|
+
const component = this.analyzeComponent(node);
|
|
100
|
+
this.components[component.name] = component;
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
analyzeComponent(node) {
|
|
105
|
+
var _a;
|
|
106
|
+
const componentName = (_a = node.name) === null || _a === void 0 ? void 0 : _a.text;
|
|
107
|
+
// We expect exactly 1 constructor, and it must have and 'args'
|
|
108
|
+
// parameter that has an interface type.
|
|
109
|
+
const constructors = node.members.filter((member) => ts.isConstructorDeclaration(member));
|
|
110
|
+
if (constructors.length !== 1) {
|
|
111
|
+
throw new Error(`Component '${componentName}' must have exactly one constructor`);
|
|
112
|
+
}
|
|
113
|
+
const argsParam = constructors === null || constructors === void 0 ? void 0 : constructors[0].parameters.find((param) => {
|
|
114
|
+
return ts.isIdentifier(param.name) && param.name.escapedText === "args";
|
|
115
|
+
});
|
|
116
|
+
if (!argsParam) {
|
|
117
|
+
throw new Error(`Component '${componentName}' constructor must have an 'args' parameter`);
|
|
118
|
+
}
|
|
119
|
+
if (!argsParam.type) {
|
|
120
|
+
throw new Error(`Component '${componentName}' constructor 'args' parameter must have a type`);
|
|
121
|
+
}
|
|
122
|
+
const args = this.checker.getTypeAtLocation(argsParam.type);
|
|
123
|
+
const argsSymbol = args.getSymbol();
|
|
124
|
+
if (!argsSymbol || !isInterface(argsSymbol)) {
|
|
125
|
+
throw new Error(`Component '${componentName}' constructor 'args' parameter must be an interface`);
|
|
126
|
+
}
|
|
127
|
+
let inputs = {};
|
|
128
|
+
if (argsSymbol.members) {
|
|
129
|
+
inputs = this.analyzeSymbols(symbolTableToSymbols(argsSymbol.members), argsParam);
|
|
130
|
+
}
|
|
131
|
+
let outputs = {};
|
|
132
|
+
const classType = this.checker.getTypeAtLocation(node);
|
|
133
|
+
const classSymbol = classType.getSymbol();
|
|
134
|
+
if (classSymbol === null || classSymbol === void 0 ? void 0 : classSymbol.members) {
|
|
135
|
+
outputs = this.analyzeSymbols(symbolTableToSymbols(classSymbol.members), node);
|
|
136
|
+
}
|
|
137
|
+
return {
|
|
138
|
+
name: componentName,
|
|
139
|
+
inputs,
|
|
140
|
+
outputs,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
isPulumiComponent(node) {
|
|
144
|
+
if (!node.heritageClauses) {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
return node.heritageClauses.some((clause) => {
|
|
148
|
+
return clause.types.some((clauseNode) => {
|
|
149
|
+
var _a;
|
|
150
|
+
const type = this.checker.getTypeAtLocation(clauseNode);
|
|
151
|
+
const symbol = type.getSymbol();
|
|
152
|
+
const matchesName = (symbol === null || symbol === void 0 ? void 0 : symbol.escapedName) === "ComponentResource";
|
|
153
|
+
const sourceFile = (_a = symbol === null || symbol === void 0 ? void 0 : symbol.declarations) === null || _a === void 0 ? void 0 : _a[0].getSourceFile();
|
|
154
|
+
const matchesSourceFile = (sourceFile === null || sourceFile === void 0 ? void 0 : sourceFile.fileName.endsWith("resource.ts")) || (sourceFile === null || sourceFile === void 0 ? void 0 : sourceFile.fileName.endsWith("resource.d.ts"));
|
|
155
|
+
return matchesName && matchesSourceFile;
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
analyzeSymbols(symbols, location) {
|
|
160
|
+
const properties = {};
|
|
161
|
+
symbols.forEach((member) => {
|
|
162
|
+
if (!isPropertyDeclaration(member)) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const name = member.escapedName;
|
|
166
|
+
properties[name] = this.analyzeSymbol(member, location);
|
|
167
|
+
});
|
|
168
|
+
return properties;
|
|
169
|
+
}
|
|
170
|
+
analyzeSymbol(symbol, location) {
|
|
171
|
+
// Check if the property is optional, e.g.: myProp?: string; This is
|
|
172
|
+
// defined on the symbol, not the type.
|
|
173
|
+
const optional = isOptional(symbol);
|
|
174
|
+
const propType = this.checker.getTypeOfSymbolAtLocation(symbol, location);
|
|
175
|
+
return this.analyzeType(propType, location, optional, true);
|
|
176
|
+
}
|
|
177
|
+
analyzeType(type, location, optional = false, plain = true) {
|
|
178
|
+
var _a, _b, _c;
|
|
179
|
+
if (isSimpleType(type)) {
|
|
180
|
+
const prop = { type: tsTypeToPropertyType(type) };
|
|
181
|
+
if (optional) {
|
|
182
|
+
prop.optional = true;
|
|
183
|
+
}
|
|
184
|
+
if (plain) {
|
|
185
|
+
prop.plain = true;
|
|
186
|
+
}
|
|
187
|
+
return prop;
|
|
188
|
+
}
|
|
189
|
+
else if (isInput(type)) {
|
|
190
|
+
// Grab the promise type from the `T | Promise<T> | OutputInstance<T>`
|
|
191
|
+
// union, and get the type reference `T` from there. With that we
|
|
192
|
+
// can recursively analyze the type, passing through the optional
|
|
193
|
+
// flag. The type can now not be plain anymore, since it's in an
|
|
194
|
+
// input.
|
|
195
|
+
const base = (_b = (_a = type) === null || _a === void 0 ? void 0 : _a.types) === null || _b === void 0 ? void 0 : _b.find(isPromise);
|
|
196
|
+
if (!base) {
|
|
197
|
+
// unreachable due to the isInput check
|
|
198
|
+
throw new Error(`Input type union must include a Promise, got '${this.checker.typeToString(type)}`);
|
|
199
|
+
}
|
|
200
|
+
const innerType = this.unwrapTypeReference(base);
|
|
201
|
+
return this.analyzeType(innerType, location, optional, false /* plain */);
|
|
202
|
+
}
|
|
203
|
+
else if (isOutput(type)) {
|
|
204
|
+
type = unwrapOutputIntersection(type);
|
|
205
|
+
// Grab the inner type of the OutputInstance<T> type, and then
|
|
206
|
+
// recurse, passing through the optional flag. The type can now not
|
|
207
|
+
// be plain anymore, since it's wrapped in an output.
|
|
208
|
+
const innerType = this.unwrapTypeReference(type);
|
|
209
|
+
return this.analyzeType(innerType, location, optional, false /* plain */);
|
|
210
|
+
}
|
|
211
|
+
else if (type.isClassOrInterface()) {
|
|
212
|
+
// This is a complex type, create a typedef and then reference it in
|
|
213
|
+
// the PropertyDefinition.
|
|
214
|
+
const name = (_c = type.getSymbol()) === null || _c === void 0 ? void 0 : _c.escapedName;
|
|
215
|
+
if (!name) {
|
|
216
|
+
throw new Error(`Class or interface '${this.checker.typeToString(type)}}' has no name`);
|
|
217
|
+
}
|
|
218
|
+
if (this.typeDefinitions[name]) {
|
|
219
|
+
// Type already exists, just reference it and we're done.
|
|
220
|
+
const refProp = { $ref: `#/types/${this.providerName}:index:${name}` };
|
|
221
|
+
if (optional) {
|
|
222
|
+
refProp.optional = true;
|
|
223
|
+
}
|
|
224
|
+
if (plain) {
|
|
225
|
+
refProp.plain = true;
|
|
226
|
+
}
|
|
227
|
+
return refProp;
|
|
228
|
+
}
|
|
229
|
+
// Immediately add an empty type definition, so that it can be
|
|
230
|
+
// referenced recursively, then analyze the properties.
|
|
231
|
+
this.typeDefinitions[name] = { name, properties: {} };
|
|
232
|
+
const properties = this.analyzeSymbols(type.getProperties(), location);
|
|
233
|
+
this.typeDefinitions[name].properties = properties;
|
|
234
|
+
const $ref = `#/types/${this.providerName}:index:${name}`;
|
|
235
|
+
const prop = { $ref };
|
|
236
|
+
if (optional) {
|
|
237
|
+
prop.optional = true;
|
|
238
|
+
}
|
|
239
|
+
if (plain) {
|
|
240
|
+
prop.plain = true;
|
|
241
|
+
}
|
|
242
|
+
return prop;
|
|
243
|
+
}
|
|
244
|
+
else if (type.isUnion()) {
|
|
245
|
+
throw new Error(`Union types are not supported, got '${this.checker.typeToString(type)}`);
|
|
246
|
+
}
|
|
247
|
+
else if (type.isIntersection()) {
|
|
248
|
+
throw new Error(`Intersection types are not supported, got '${this.checker.typeToString(type)}`);
|
|
249
|
+
}
|
|
250
|
+
throw new Error(`Unsupported type '${this.checker.typeToString(type)}'`);
|
|
251
|
+
}
|
|
252
|
+
unwrapTypeReference(type) {
|
|
253
|
+
const typeArguments = type.typeArguments;
|
|
254
|
+
if (!typeArguments || typeArguments.length !== 1) {
|
|
255
|
+
throw new Error(`Expected exactly one type argument in '${this.checker.typeToString(type)}', got '${typeArguments === null || typeArguments === void 0 ? void 0 : typeArguments.length}'`);
|
|
256
|
+
}
|
|
257
|
+
const innerType = typeArguments[0];
|
|
258
|
+
return innerType;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
exports.Analyzer = Analyzer;
|
|
262
|
+
function isOptional(symbol) {
|
|
263
|
+
return (symbol.flags & ts.SymbolFlags.Optional) === ts.SymbolFlags.Optional;
|
|
264
|
+
}
|
|
265
|
+
function isInterface(symbol) {
|
|
266
|
+
return (symbol.flags & ts.SymbolFlags.Interface) === ts.SymbolFlags.Interface;
|
|
267
|
+
}
|
|
268
|
+
function isPropertyDeclaration(symbol) {
|
|
269
|
+
return (symbol.flags & ts.SymbolFlags.Property) === ts.SymbolFlags.Property;
|
|
270
|
+
}
|
|
271
|
+
function isNumber(type) {
|
|
272
|
+
return (type.flags & ts.TypeFlags.Number) === ts.TypeFlags.Number;
|
|
273
|
+
}
|
|
274
|
+
function isString(type) {
|
|
275
|
+
return (type.flags & ts.TypeFlags.String) === ts.TypeFlags.String;
|
|
276
|
+
}
|
|
277
|
+
function isBoolean(type) {
|
|
278
|
+
return (type.flags & ts.TypeFlags.Boolean) === ts.TypeFlags.Boolean;
|
|
279
|
+
}
|
|
280
|
+
function isSimpleType(type) {
|
|
281
|
+
return isNumber(type) || isString(type) || isBoolean(type);
|
|
282
|
+
}
|
|
283
|
+
function isPromise(type) {
|
|
284
|
+
if (!(type.flags & ts.TypeFlags.Object)) {
|
|
285
|
+
return false;
|
|
286
|
+
}
|
|
287
|
+
const symbol = type.symbol;
|
|
288
|
+
if (!symbol) {
|
|
289
|
+
return false;
|
|
290
|
+
}
|
|
291
|
+
return symbol.name === "Promise";
|
|
292
|
+
}
|
|
293
|
+
function isOutput(type) {
|
|
294
|
+
var _a;
|
|
295
|
+
// In sdk/nodejs/output.ts we define Output as:
|
|
296
|
+
//
|
|
297
|
+
// export type Output<T> = OutputInstance<T> & Lifted<T>;
|
|
298
|
+
//
|
|
299
|
+
// Depending on T, we might have an OutputInstance<T> because Lifted<T>
|
|
300
|
+
// does not add anything to the resulting type, or we get the
|
|
301
|
+
// intersection. In the latter case, we want to find the
|
|
302
|
+
// OutputInstance<T> within the intersection.
|
|
303
|
+
if (type.isIntersection()) {
|
|
304
|
+
for (const t of type.types) {
|
|
305
|
+
if (isOutput(t)) {
|
|
306
|
+
return true;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
const symbol = type.getSymbol();
|
|
311
|
+
const matchesName = (symbol === null || symbol === void 0 ? void 0 : symbol.escapedName) === "OutputInstance" || (symbol === null || symbol === void 0 ? void 0 : symbol.escapedName) === "Output";
|
|
312
|
+
const sourceFile = (_a = symbol === null || symbol === void 0 ? void 0 : symbol.declarations) === null || _a === void 0 ? void 0 : _a[0].getSourceFile();
|
|
313
|
+
const matchesSourceFile = (sourceFile === null || sourceFile === void 0 ? void 0 : sourceFile.fileName.endsWith("output.ts")) || (sourceFile === null || sourceFile === void 0 ? void 0 : sourceFile.fileName.endsWith("output.d.ts"));
|
|
314
|
+
return !!matchesName && !!matchesSourceFile;
|
|
315
|
+
}
|
|
316
|
+
function unwrapOutputIntersection(type) {
|
|
317
|
+
// Output<T> is an intersection type `OutputInstance<T> & Lifted<T>`, and
|
|
318
|
+
// we want to find the `OutputInstance<T>` within the intersection for
|
|
319
|
+
// further analysis.
|
|
320
|
+
// Depending on `T`, TypeScript sometimes infers Output<T> directly as
|
|
321
|
+
// `OutputInstance<T>`, dropping the `Lifted<T>` part.
|
|
322
|
+
if (type.isIntersection()) {
|
|
323
|
+
for (const t of type.types) {
|
|
324
|
+
if (isOutput(t)) {
|
|
325
|
+
return t;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
return type;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* An input type is a union of Output<T>, Promise<T>, and T.
|
|
333
|
+
*/
|
|
334
|
+
function isInput(type) {
|
|
335
|
+
if (!type.isUnion()) {
|
|
336
|
+
return false;
|
|
337
|
+
}
|
|
338
|
+
let hasOutput = false;
|
|
339
|
+
let hasPromise = false;
|
|
340
|
+
let hasOther = false;
|
|
341
|
+
for (const t of type.types) {
|
|
342
|
+
if (isOutput(t)) {
|
|
343
|
+
hasOutput = true;
|
|
344
|
+
}
|
|
345
|
+
else if (isPromise(t)) {
|
|
346
|
+
hasPromise = true;
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
hasOther = true;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
return hasOutput && hasPromise && hasOther;
|
|
353
|
+
}
|
|
354
|
+
function tsTypeToPropertyType(type) {
|
|
355
|
+
var _a;
|
|
356
|
+
if (isNumber(type)) {
|
|
357
|
+
return "number";
|
|
358
|
+
}
|
|
359
|
+
else if (isString(type)) {
|
|
360
|
+
return "string";
|
|
361
|
+
}
|
|
362
|
+
else if (isBoolean(type)) {
|
|
363
|
+
return "boolean";
|
|
364
|
+
}
|
|
365
|
+
throw new Error(`Unsupported type '${(_a = type.symbol) === null || _a === void 0 ? void 0 : _a.name}'`);
|
|
366
|
+
}
|
|
367
|
+
function symbolTableToSymbols(table) {
|
|
368
|
+
const symbols = [];
|
|
369
|
+
table.forEach((symbol) => {
|
|
370
|
+
symbols.push(symbol);
|
|
371
|
+
});
|
|
372
|
+
return symbols;
|
|
373
|
+
}
|
|
374
|
+
//# sourceMappingURL=analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../../provider/experimental/analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./provider";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2025-2025, Pulumi Corporation.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
function __export(m) {
|
|
16
|
+
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
|
17
|
+
}
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
__export(require("./provider"));
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../provider/experimental/index.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;;;;AAEjC,gCAA2B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ComponentResourceOptions } from "../../resource";
|
|
2
|
+
import { ConstructResult, Provider } from "../provider";
|
|
3
|
+
import { Inputs } from "../../output";
|
|
4
|
+
export declare class ComponentProvider implements Provider {
|
|
5
|
+
readonly dir: string;
|
|
6
|
+
private packageJSON;
|
|
7
|
+
private path;
|
|
8
|
+
private analyzer;
|
|
9
|
+
version: string;
|
|
10
|
+
static validateResourceType(packageName: string, resourceType: string): void;
|
|
11
|
+
constructor(dir: string);
|
|
12
|
+
getSchema(): Promise<string>;
|
|
13
|
+
construct(name: string, type: string, inputs: Inputs, options: ComponentResourceOptions): Promise<ConstructResult>;
|
|
14
|
+
}
|
|
15
|
+
export declare function componentProviderHost(dirname?: string): Promise<void>;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2025-2025, Pulumi Corporation.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
17
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
18
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
19
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
20
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
21
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
+
if (mod && mod.__esModule) return mod;
|
|
26
|
+
var result = {};
|
|
27
|
+
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
28
|
+
result["default"] = mod;
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
const fs_1 = require("fs");
|
|
33
|
+
const path = __importStar(require("path"));
|
|
34
|
+
const output_1 = require("../../output");
|
|
35
|
+
const server_1 = require("../server");
|
|
36
|
+
const schema_1 = require("./schema");
|
|
37
|
+
const analyzer_1 = require("./analyzer");
|
|
38
|
+
function getInputsFromOutputs(resource) {
|
|
39
|
+
const result = {};
|
|
40
|
+
for (const key of Object.keys(resource)) {
|
|
41
|
+
const value = resource[key];
|
|
42
|
+
if (output_1.Output.isInstance(value)) {
|
|
43
|
+
result[key] = value;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
class ComponentProvider {
|
|
49
|
+
constructor(dir) {
|
|
50
|
+
this.dir = dir;
|
|
51
|
+
const absDir = path.resolve(dir);
|
|
52
|
+
const packStr = fs_1.readFileSync(`${absDir}/package.json`, { encoding: "utf-8" });
|
|
53
|
+
this.packageJSON = JSON.parse(packStr);
|
|
54
|
+
this.version = this.packageJSON.version;
|
|
55
|
+
this.path = absDir;
|
|
56
|
+
this.analyzer = new analyzer_1.Analyzer(this.path, this.packageJSON.name);
|
|
57
|
+
}
|
|
58
|
+
static validateResourceType(packageName, resourceType) {
|
|
59
|
+
const parts = resourceType.split(":");
|
|
60
|
+
if (parts.length !== 3) {
|
|
61
|
+
throw new Error(`Invalid resource type ${resourceType}`);
|
|
62
|
+
}
|
|
63
|
+
if (parts[0] !== packageName) {
|
|
64
|
+
throw new Error(`Invalid package name ${parts[0]}, expected '${packageName}'`);
|
|
65
|
+
}
|
|
66
|
+
// We might want to relax this limitation, but for now we only support the "index" module.
|
|
67
|
+
if (parts[1] !== "index" && parts[1] !== "") {
|
|
68
|
+
throw new Error(`Invalid module '${parts[1]}' in resource type '${resourceType}', expected 'index' or empty string`);
|
|
69
|
+
}
|
|
70
|
+
if (parts[2].length === 0) {
|
|
71
|
+
throw new Error(`Empty resource name in resource type '${resourceType}'`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
getSchema() {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
const { components, typeDefinitions } = this.analyzer.analyze();
|
|
77
|
+
const schema = schema_1.generateSchema(this.packageJSON, components, typeDefinitions);
|
|
78
|
+
return JSON.stringify(schema);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
construct(name, type, inputs, options) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
ComponentProvider.validateResourceType(this.packageJSON.name, type);
|
|
84
|
+
const componentName = type.split(":")[2];
|
|
85
|
+
const ComponentClass = yield this.analyzer.findComponent(componentName);
|
|
86
|
+
// The ComponentResource base class has a 4 argument constructor, but
|
|
87
|
+
// the user defined component has a 3 argument constructor without the
|
|
88
|
+
// typestring.
|
|
89
|
+
// @ts-ignore
|
|
90
|
+
const instance = new ComponentClass(name, inputs, options);
|
|
91
|
+
return {
|
|
92
|
+
urn: instance.urn,
|
|
93
|
+
state: getInputsFromOutputs(instance),
|
|
94
|
+
};
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.ComponentProvider = ComponentProvider;
|
|
99
|
+
function componentProviderHost(dirname) {
|
|
100
|
+
const args = process.argv.slice(2);
|
|
101
|
+
// If dirname is not provided, get it from the call stack
|
|
102
|
+
if (!dirname) {
|
|
103
|
+
// Get the stack trace
|
|
104
|
+
const stack = new Error().stack;
|
|
105
|
+
// Parse the stack to get the caller's file
|
|
106
|
+
// Stack format is like:
|
|
107
|
+
// Error
|
|
108
|
+
// at componentProviderHost (.../src/index.ts:3:16)
|
|
109
|
+
// at Object.<anonymous> (.../caller/index.ts:4:1)
|
|
110
|
+
const callerLine = stack === null || stack === void 0 ? void 0 : stack.split("\n")[2];
|
|
111
|
+
const match = callerLine === null || callerLine === void 0 ? void 0 : callerLine.match(/\((.+):[0-9]+:[0-9]+\)/);
|
|
112
|
+
if (match === null || match === void 0 ? void 0 : match[1]) {
|
|
113
|
+
dirname = path.dirname(match[1]);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
throw new Error("Could not determine caller directory");
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const prov = new ComponentProvider(dirname);
|
|
120
|
+
return server_1.main(prov, args);
|
|
121
|
+
}
|
|
122
|
+
exports.componentProviderHost = componentProviderHost;
|
|
123
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../provider/experimental/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ComponentDefinition, TypeDefinition } from "./analyzer";
|
|
2
|
+
export declare type PropertyType = "string" | "integer" | "number" | "boolean" | "array" | "object";
|
|
3
|
+
/**
|
|
4
|
+
* https://www.pulumi.com/docs/iac/using-pulumi/pulumi-packages/schema/#type
|
|
5
|
+
*/
|
|
6
|
+
export declare type Type = ({
|
|
7
|
+
type: PropertyType;
|
|
8
|
+
} | {
|
|
9
|
+
$ref: string;
|
|
10
|
+
}) & {
|
|
11
|
+
items?: Type;
|
|
12
|
+
additionalProperties?: Type;
|
|
13
|
+
plain?: boolean;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* https://www.pulumi.com/docs/iac/using-pulumi/pulumi-packages/schema/#property
|
|
17
|
+
*/
|
|
18
|
+
export declare type Property = Type & {
|
|
19
|
+
description?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* https://www.pulumi.com/docs/iac/using-pulumi/pulumi-packages/schema/#objecttype
|
|
23
|
+
*/
|
|
24
|
+
export interface ObjectType {
|
|
25
|
+
type: PropertyType;
|
|
26
|
+
description?: string;
|
|
27
|
+
properties?: {
|
|
28
|
+
[key: string]: Property;
|
|
29
|
+
};
|
|
30
|
+
required?: string[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* https://www.pulumi.com/docs/iac/using-pulumi/pulumi-packages/schema/#complextype
|
|
34
|
+
*/
|
|
35
|
+
export interface ComplexType extends ObjectType {
|
|
36
|
+
enum?: string[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* https://www.pulumi.com/docs/iac/using-pulumi/pulumi-packages/schema/#resource
|
|
40
|
+
*/
|
|
41
|
+
export interface Resource extends ObjectType {
|
|
42
|
+
isComponent?: boolean;
|
|
43
|
+
inputProperties?: {
|
|
44
|
+
[key: string]: Property;
|
|
45
|
+
};
|
|
46
|
+
requiredInputs?: string[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* https://www.pulumi.com/docs/iac/using-pulumi/pulumi-packages/schema/#package
|
|
50
|
+
*/
|
|
51
|
+
export interface PackageSpec {
|
|
52
|
+
name: string;
|
|
53
|
+
version?: string;
|
|
54
|
+
description?: string;
|
|
55
|
+
resources: {
|
|
56
|
+
[key: string]: Resource;
|
|
57
|
+
};
|
|
58
|
+
types: {
|
|
59
|
+
[key: string]: ComplexType;
|
|
60
|
+
};
|
|
61
|
+
language?: {
|
|
62
|
+
[key: string]: any;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export declare function generateSchema(packageJSON: Record<string, any>, components: Record<string, ComponentDefinition>, typeDefinitions: Record<string, TypeDefinition>): PackageSpec;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2025-2025, Pulumi Corporation.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
function generateSchema(packageJSON, components, typeDefinitions) {
|
|
17
|
+
const providerName = packageJSON.name;
|
|
18
|
+
const result = {
|
|
19
|
+
name: providerName,
|
|
20
|
+
version: packageJSON.version,
|
|
21
|
+
description: packageJSON.description,
|
|
22
|
+
resources: {},
|
|
23
|
+
types: {},
|
|
24
|
+
language: {
|
|
25
|
+
nodejs: {
|
|
26
|
+
dependencies: {},
|
|
27
|
+
devDependencies: {
|
|
28
|
+
typescript: "^5.0.0",
|
|
29
|
+
},
|
|
30
|
+
respectSchemaVersion: true,
|
|
31
|
+
},
|
|
32
|
+
python: {
|
|
33
|
+
respectSchemaVersion: true,
|
|
34
|
+
},
|
|
35
|
+
csharp: {
|
|
36
|
+
respectSchemaVersion: true,
|
|
37
|
+
},
|
|
38
|
+
java: {
|
|
39
|
+
respectSchemaVersion: true,
|
|
40
|
+
},
|
|
41
|
+
go: {
|
|
42
|
+
respectSchemaVersion: true,
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
for (const [name, component] of Object.entries(components)) {
|
|
47
|
+
result.resources[`${providerName}:index:${name}`] = {
|
|
48
|
+
type: "object",
|
|
49
|
+
isComponent: true,
|
|
50
|
+
inputProperties: component.inputs,
|
|
51
|
+
requiredInputs: required(component.inputs),
|
|
52
|
+
properties: component.outputs,
|
|
53
|
+
required: required(component.outputs),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
for (const [name, type] of Object.entries(typeDefinitions)) {
|
|
57
|
+
result.types[`${providerName}:index:${name}`] = {
|
|
58
|
+
type: "object",
|
|
59
|
+
properties: type.properties,
|
|
60
|
+
required: required(type.properties),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
exports.generateSchema = generateSchema;
|
|
66
|
+
function required(properties) {
|
|
67
|
+
return Object.entries(properties)
|
|
68
|
+
.filter(([_, def]) => !def.optional)
|
|
69
|
+
.map(([propName, _]) => propName)
|
|
70
|
+
.sort();
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../provider/experimental/schema.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AA4DjC,SAAgB,cAAc,CAC1B,WAAgC,EAChC,UAA+C,EAC/C,eAA+C;IAE/C,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC;IACtC,MAAM,MAAM,GAAgB;QACxB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE;YACN,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE;gBAChB,eAAe,EAAE;oBACb,UAAU,EAAE,QAAQ;iBACvB;gBACD,oBAAoB,EAAE,IAAI;aAC7B;YACD,MAAM,EAAE;gBACJ,oBAAoB,EAAE,IAAI;aAC7B;YACD,MAAM,EAAE;gBACJ,oBAAoB,EAAE,IAAI;aAC7B;YACD,IAAI,EAAE;gBACF,oBAAoB,EAAE,IAAI;aAC7B;YACD,EAAE,EAAE;gBACA,oBAAoB,EAAE,IAAI;aAC7B;SACJ;KACJ,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACxD,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,UAAU,IAAI,EAAE,CAAC,GAAG;YAChD,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,SAAS,CAAC,MAAM;YACjC,cAAc,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC;YAC1C,UAAU,EAAE,SAAS,CAAC,OAAO;YAC7B,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;SACxC,CAAC;KACL;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QACxD,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,UAAU,IAAI,EAAE,CAAC,GAAG;YAC5C,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;SACtC,CAAC;KACL;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAvDD,wCAuDC;AAED,SAAS,QAAQ,CAAC,UAA8C;IAC5D,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;SAC5B,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC;SAChC,IAAI,EAAE,CAAC;AAChB,CAAC"}
|
package/version.js
CHANGED
|
@@ -13,5 +13,5 @@
|
|
|
13
13
|
// See the License for the specific language governing permissions and
|
|
14
14
|
// limitations under the License.
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.version = "3.150.1-alpha.
|
|
16
|
+
exports.version = "3.150.1-alpha.xa6c34b4";
|
|
17
17
|
//# sourceMappingURL=version.js.map
|