@pulumi/pulumi 3.163.0-alpha.xdc88586 → 3.163.0-alpha.xe7c1e4f

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.
Files changed (70) hide show
  1. package/automation/cmd.js +92 -111
  2. package/automation/cmd.js.map +1 -1
  3. package/automation/localWorkspace.js +383 -476
  4. package/automation/localWorkspace.js.map +1 -1
  5. package/automation/remoteWorkspace.js +38 -55
  6. package/automation/remoteWorkspace.js.map +1 -1
  7. package/automation/server.js +6 -16
  8. package/automation/server.js.map +1 -1
  9. package/automation/stack.js +537 -608
  10. package/automation/stack.js.map +1 -1
  11. package/cmd/dynamic-provider/index.js +204 -235
  12. package/cmd/dynamic-provider/index.js.map +1 -1
  13. package/cmd/run/error.js +3 -3
  14. package/cmd/run/error.js.map +1 -1
  15. package/cmd/run/run.js +322 -336
  16. package/cmd/run/run.js.map +1 -1
  17. package/cmd/run/tracing.js +1 -2
  18. package/cmd/run/tracing.js.map +1 -1
  19. package/cmd/run-plugin/run.js +13 -17
  20. package/cmd/run-plugin/run.js.map +1 -1
  21. package/cmd/run-policy-pack/run.js +12 -16
  22. package/cmd/run-policy-pack/run.js.map +1 -1
  23. package/output.js +61 -78
  24. package/output.js.map +1 -1
  25. package/package.json +1 -1
  26. package/provider/experimental/analyzer.js +43 -46
  27. package/provider/experimental/analyzer.js.map +1 -1
  28. package/provider/experimental/provider.js +22 -36
  29. package/provider/experimental/provider.js.map +1 -1
  30. package/provider/server.js +359 -397
  31. package/provider/server.js.map +1 -1
  32. package/resource.js +29 -41
  33. package/resource.js.map +1 -1
  34. package/runtime/asyncIterableUtil.js +6 -17
  35. package/runtime/asyncIterableUtil.js.map +1 -1
  36. package/runtime/callbacks.js +254 -269
  37. package/runtime/callbacks.js.map +1 -1
  38. package/runtime/closure/codePaths.js +117 -135
  39. package/runtime/closure/codePaths.js.map +1 -1
  40. package/runtime/closure/createClosure.js +807 -871
  41. package/runtime/closure/createClosure.js.map +1 -1
  42. package/runtime/closure/parseFunction.js +2 -3
  43. package/runtime/closure/parseFunction.js.map +1 -1
  44. package/runtime/closure/serializeClosure.js +17 -30
  45. package/runtime/closure/serializeClosure.js.map +1 -1
  46. package/runtime/closure/v8.js +166 -190
  47. package/runtime/closure/v8.js.map +1 -1
  48. package/runtime/closure/v8Hooks.js +19 -34
  49. package/runtime/closure/v8Hooks.js.map +1 -1
  50. package/runtime/dependsOn.js +61 -80
  51. package/runtime/dependsOn.js.map +1 -1
  52. package/runtime/invoke.js +155 -170
  53. package/runtime/invoke.js.map +1 -1
  54. package/runtime/mocks.js +77 -96
  55. package/runtime/mocks.js.map +1 -1
  56. package/runtime/resource.js +238 -252
  57. package/runtime/resource.js.map +1 -1
  58. package/runtime/rpc.js +193 -215
  59. package/runtime/rpc.js.map +1 -1
  60. package/runtime/settings.js +70 -87
  61. package/runtime/settings.js.map +1 -1
  62. package/runtime/stack.js +111 -131
  63. package/runtime/stack.js.map +1 -1
  64. package/stackReference.js +39 -58
  65. package/stackReference.js.map +1 -1
  66. package/tsutils.js +1 -2
  67. package/tsutils.js.map +1 -1
  68. package/utils.js +2 -3
  69. package/utils.js.map +1 -1
  70. package/version.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../automation/stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../automation/stack.ts"],"names":[],"mappings":"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"}
@@ -12,15 +12,6 @@
12
12
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  // See the License for the specific language governing permissions and
14
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
15
  var __importStar = (this && this.__importStar) || function (mod) {
25
16
  if (mod && mod.__esModule) return mod;
26
17
  var result = {};
@@ -74,22 +65,20 @@ const providerCache = {};
74
65
  * guarantees that the provider is only deserialized and configured once per
75
66
  * process.
76
67
  */
77
- function getProvider(props, rawConfig) {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- const providerString = props[providerKey];
80
- let provider = providerCache[providerString];
81
- if (!provider) {
82
- provider = requireFromString(providerString).handler();
83
- providerCache[providerString] = provider;
84
- if (provider.configure) {
85
- const config = new dynConfig.Config(rawConfig, metadata_1.getProject());
86
- const req = { config };
87
- yield provider.configure(req);
88
- }
68
+ async function getProvider(props, rawConfig) {
69
+ const providerString = props[providerKey];
70
+ let provider = providerCache[providerString];
71
+ if (!provider) {
72
+ provider = requireFromString(providerString).handler();
73
+ providerCache[providerString] = provider;
74
+ if (provider.configure) {
75
+ const config = new dynConfig.Config(rawConfig, metadata_1.getProject());
76
+ const req = { config };
77
+ await provider.configure(req);
89
78
  }
90
- // TODO[pulumi/pulumi#414]: investigate replacing requireFromString with eval
91
- return provider;
92
- });
79
+ }
80
+ // TODO[pulumi/pulumi#414]: investigate replacing requireFromString with eval
81
+ return provider;
93
82
  }
94
83
  // Each of the *RPC functions below implements a single method of the resource provider gRPC interface. The CRUD
95
84
  // functions--checkRPC, diffRPC, createRPC, updateRPC, and deleteRPC--all operate in a similar fashion:
@@ -105,75 +94,69 @@ class ResourceProviderService {
105
94
  cancel(call, callback) {
106
95
  callback(undefined, new emptyproto.Empty());
107
96
  }
108
- configure(call, callback) {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- const protoArgs = call.request.getArgs();
111
- if (!protoArgs) {
112
- throw new Error("ConfigureRequest missing args");
113
- }
114
- const args = protoArgs.toJavaScript();
115
- const config = {};
116
- for (const [k, v] of Object.entries(args)) {
117
- if (k === providerKey) {
118
- continue;
119
- }
120
- config[k] = rpc.unwrapRpcSecret(v);
97
+ async configure(call, callback) {
98
+ const protoArgs = call.request.getArgs();
99
+ if (!protoArgs) {
100
+ throw new Error("ConfigureRequest missing args");
101
+ }
102
+ const args = protoArgs.toJavaScript();
103
+ const config = {};
104
+ for (const [k, v] of Object.entries(args)) {
105
+ if (k === providerKey) {
106
+ continue;
121
107
  }
122
- this.config = config;
123
- const resp = new provproto.ConfigureResponse();
124
- resp.setAcceptsecrets(false);
125
- callback(undefined, resp);
126
- });
108
+ config[k] = rpc.unwrapRpcSecret(v);
109
+ }
110
+ this.config = config;
111
+ const resp = new provproto.ConfigureResponse();
112
+ resp.setAcceptsecrets(false);
113
+ callback(undefined, resp);
127
114
  }
128
- invoke(call, callback) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- const req = call.request;
131
- // TODO[pulumi/pulumi#406]: implement this.
132
- callback(new Error(`unknown function ${req.getTok()}`), undefined);
133
- });
115
+ async invoke(call, callback) {
116
+ const req = call.request;
117
+ // TODO[pulumi/pulumi#406]: implement this.
118
+ callback(new Error(`unknown function ${req.getTok()}`), undefined);
134
119
  }
135
- check(call, callback) {
136
- return __awaiter(this, void 0, void 0, function* () {
137
- try {
138
- const req = call.request;
139
- const resp = new provproto.CheckResponse();
140
- const olds = req.getOlds().toJavaScript();
141
- const news = req.getNews().toJavaScript();
142
- const provider = yield getProvider(news[providerKey] === rpc.unknownValue ? olds : news, this.config);
143
- let inputs = news;
144
- let failures = [];
145
- if (provider.check) {
146
- const result = yield provider.check(olds, news);
147
- if (result.inputs) {
148
- inputs = result.inputs;
149
- }
150
- if (result.failures) {
151
- failures = result.failures;
152
- }
153
- }
154
- else {
155
- // If no check method was provided, propagate the new inputs as-is.
156
- inputs = news;
120
+ async check(call, callback) {
121
+ try {
122
+ const req = call.request;
123
+ const resp = new provproto.CheckResponse();
124
+ const olds = req.getOlds().toJavaScript();
125
+ const news = req.getNews().toJavaScript();
126
+ const provider = await getProvider(news[providerKey] === rpc.unknownValue ? olds : news, this.config);
127
+ let inputs = news;
128
+ let failures = [];
129
+ if (provider.check) {
130
+ const result = await provider.check(olds, news);
131
+ if (result.inputs) {
132
+ inputs = result.inputs;
157
133
  }
158
- inputs[providerKey] = news[providerKey];
159
- resp.setInputs(structproto.Struct.fromJavaScript(inputs));
160
- if (failures.length !== 0) {
161
- const failureList = [];
162
- for (const f of failures) {
163
- const failure = new provproto.CheckFailure();
164
- failure.setProperty(f.property);
165
- failure.setReason(f.reason);
166
- failureList.push(failure);
167
- }
168
- resp.setFailuresList(failureList);
134
+ if (result.failures) {
135
+ failures = result.failures;
169
136
  }
170
- callback(undefined, resp);
171
137
  }
172
- catch (e) {
173
- console.error(`${e}: ${e.stack}`);
174
- callback(e, undefined);
138
+ else {
139
+ // If no check method was provided, propagate the new inputs as-is.
140
+ inputs = news;
175
141
  }
176
- });
142
+ inputs[providerKey] = news[providerKey];
143
+ resp.setInputs(structproto.Struct.fromJavaScript(inputs));
144
+ if (failures.length !== 0) {
145
+ const failureList = [];
146
+ for (const f of failures) {
147
+ const failure = new provproto.CheckFailure();
148
+ failure.setProperty(f.property);
149
+ failure.setReason(f.reason);
150
+ failureList.push(failure);
151
+ }
152
+ resp.setFailuresList(failureList);
153
+ }
154
+ callback(undefined, resp);
155
+ }
156
+ catch (e) {
157
+ console.error(`${e}: ${e.stack}`);
158
+ callback(e, undefined);
159
+ }
177
160
  }
178
161
  checkConfig(call, callback) {
179
162
  callback({
@@ -181,47 +164,45 @@ class ResourceProviderService {
181
164
  details: "CheckConfig is not implemented by the dynamic provider",
182
165
  }, undefined);
183
166
  }
184
- diff(call, callback) {
185
- return __awaiter(this, void 0, void 0, function* () {
186
- try {
187
- const req = call.request;
188
- const resp = new provproto.DiffResponse();
189
- // Note that we do not take any special action if the provider has changed. This allows a user to iterate on a
190
- // dynamic provider's implementation. This does require some care on the part of the user: each iteration of a
191
- // dynamic provider's implementation must be able to handle all state produced by prior iterations.
192
- //
193
- // Prior versions of the dynamic provider required that a dynamic resource be replaced any time its provider
194
- // implementation changed. This made iteration painful, especially if the dynamic resource was managing a
195
- // physical resource--in this case, the physical resource would be unnecessarily deleted and recreated each
196
- // time the provider was updated.
197
- const olds = req.getOlds().toJavaScript();
198
- const news = req.getNews().toJavaScript();
199
- const provider = yield getProvider(news[providerKey] === rpc.unknownValue ? olds : news, this.config);
200
- if (provider.diff) {
201
- const result = yield provider.diff(req.getId(), olds, news);
202
- if (result.changes === true) {
203
- resp.setChanges(provproto.DiffResponse.DiffChanges.DIFF_SOME);
204
- }
205
- else if (result.changes === false) {
206
- resp.setChanges(provproto.DiffResponse.DiffChanges.DIFF_NONE);
207
- }
208
- else {
209
- resp.setChanges(provproto.DiffResponse.DiffChanges.DIFF_UNKNOWN);
210
- }
211
- if (result.replaces && result.replaces.length !== 0) {
212
- resp.setReplacesList(result.replaces);
213
- }
214
- if (result.deleteBeforeReplace) {
215
- resp.setDeletebeforereplace(result.deleteBeforeReplace);
216
- }
167
+ async diff(call, callback) {
168
+ try {
169
+ const req = call.request;
170
+ const resp = new provproto.DiffResponse();
171
+ // Note that we do not take any special action if the provider has changed. This allows a user to iterate on a
172
+ // dynamic provider's implementation. This does require some care on the part of the user: each iteration of a
173
+ // dynamic provider's implementation must be able to handle all state produced by prior iterations.
174
+ //
175
+ // Prior versions of the dynamic provider required that a dynamic resource be replaced any time its provider
176
+ // implementation changed. This made iteration painful, especially if the dynamic resource was managing a
177
+ // physical resource--in this case, the physical resource would be unnecessarily deleted and recreated each
178
+ // time the provider was updated.
179
+ const olds = req.getOlds().toJavaScript();
180
+ const news = req.getNews().toJavaScript();
181
+ const provider = await getProvider(news[providerKey] === rpc.unknownValue ? olds : news, this.config);
182
+ if (provider.diff) {
183
+ const result = await provider.diff(req.getId(), olds, news);
184
+ if (result.changes === true) {
185
+ resp.setChanges(provproto.DiffResponse.DiffChanges.DIFF_SOME);
186
+ }
187
+ else if (result.changes === false) {
188
+ resp.setChanges(provproto.DiffResponse.DiffChanges.DIFF_NONE);
189
+ }
190
+ else {
191
+ resp.setChanges(provproto.DiffResponse.DiffChanges.DIFF_UNKNOWN);
192
+ }
193
+ if (result.replaces && result.replaces.length !== 0) {
194
+ resp.setReplacesList(result.replaces);
195
+ }
196
+ if (result.deleteBeforeReplace) {
197
+ resp.setDeletebeforereplace(result.deleteBeforeReplace);
217
198
  }
218
- callback(undefined, resp);
219
- }
220
- catch (e) {
221
- console.error(`${e}: ${e.stack}`);
222
- callback(e, undefined);
223
199
  }
224
- });
200
+ callback(undefined, resp);
201
+ }
202
+ catch (e) {
203
+ console.error(`${e}: ${e.stack}`);
204
+ callback(e, undefined);
205
+ }
225
206
  }
226
207
  diffConfig(call, callback) {
227
208
  callback({
@@ -229,99 +210,89 @@ class ResourceProviderService {
229
210
  details: "DiffConfig is not implemented by the dynamic provider",
230
211
  }, undefined);
231
212
  }
232
- create(call, callback) {
233
- return __awaiter(this, void 0, void 0, function* () {
234
- try {
235
- const req = call.request;
236
- const resp = new provproto.CreateResponse();
237
- const props = req.getProperties().toJavaScript();
238
- const provider = yield getProvider(props, this.config);
239
- const result = yield provider.create(props);
240
- const resultProps = resultIncludingProvider(result.outs, props);
213
+ async create(call, callback) {
214
+ try {
215
+ const req = call.request;
216
+ const resp = new provproto.CreateResponse();
217
+ const props = req.getProperties().toJavaScript();
218
+ const provider = await getProvider(props, this.config);
219
+ const result = await provider.create(props);
220
+ const resultProps = resultIncludingProvider(result.outs, props);
221
+ resp.setId(result.id);
222
+ resp.setProperties(structproto.Struct.fromJavaScript(resultProps));
223
+ callback(undefined, resp);
224
+ }
225
+ catch (e) {
226
+ const response = grpcResponseFromError(e);
227
+ return callback(/*err:*/ response, /*value:*/ null, /*metadata:*/ response.metadata);
228
+ }
229
+ }
230
+ async read(call, callback) {
231
+ try {
232
+ const req = call.request;
233
+ const resp = new provproto.ReadResponse();
234
+ const id = req.getId();
235
+ const props = req.getProperties().toJavaScript();
236
+ const provider = await getProvider(props, this.config);
237
+ if (provider.read) {
238
+ // If there's a read function, consult the provider. Ensure to propagate the special __provider
239
+ // value too, so that the provider's CRUD operations continue to function after a refresh.
240
+ const result = await provider.read(id, props);
241
241
  resp.setId(result.id);
242
+ const resultProps = resultIncludingProvider(result.props, props);
242
243
  resp.setProperties(structproto.Struct.fromJavaScript(resultProps));
243
- callback(undefined, resp);
244
- }
245
- catch (e) {
246
- const response = grpcResponseFromError(e);
247
- return callback(/*err:*/ response, /*value:*/ null, /*metadata:*/ response.metadata);
248
- }
249
- });
250
- }
251
- read(call, callback) {
252
- return __awaiter(this, void 0, void 0, function* () {
253
- try {
254
- const req = call.request;
255
- const resp = new provproto.ReadResponse();
256
- const id = req.getId();
257
- const props = req.getProperties().toJavaScript();
258
- const provider = yield getProvider(props, this.config);
259
- if (provider.read) {
260
- // If there's a read function, consult the provider. Ensure to propagate the special __provider
261
- // value too, so that the provider's CRUD operations continue to function after a refresh.
262
- const result = yield provider.read(id, props);
263
- resp.setId(result.id);
264
- const resultProps = resultIncludingProvider(result.props, props);
265
- resp.setProperties(structproto.Struct.fromJavaScript(resultProps));
266
- }
267
- else {
268
- // In the event of a missing read, simply return back the input state.
269
- resp.setId(id);
270
- resp.setProperties(req.getProperties());
271
- }
272
- callback(undefined, resp);
273
244
  }
274
- catch (e) {
275
- console.error(`${e}: ${e.stack}`);
276
- callback(e, undefined);
245
+ else {
246
+ // In the event of a missing read, simply return back the input state.
247
+ resp.setId(id);
248
+ resp.setProperties(req.getProperties());
277
249
  }
278
- });
250
+ callback(undefined, resp);
251
+ }
252
+ catch (e) {
253
+ console.error(`${e}: ${e.stack}`);
254
+ callback(e, undefined);
255
+ }
279
256
  }
280
- update(call, callback) {
281
- return __awaiter(this, void 0, void 0, function* () {
282
- try {
283
- const req = call.request;
284
- const resp = new provproto.UpdateResponse();
285
- const olds = req.getOlds().toJavaScript();
286
- const news = req.getNews().toJavaScript();
287
- let result = {};
288
- const provider = yield getProvider(news, this.config);
289
- if (provider.update) {
290
- result = (yield provider.update(req.getId(), olds, news)) || {};
291
- }
292
- const resultProps = resultIncludingProvider(result.outs, news);
293
- resp.setProperties(structproto.Struct.fromJavaScript(resultProps));
294
- callback(undefined, resp);
295
- }
296
- catch (e) {
297
- const response = grpcResponseFromError(e);
298
- return callback(/*err:*/ response, /*value:*/ null, /*metadata:*/ response.metadata);
257
+ async update(call, callback) {
258
+ try {
259
+ const req = call.request;
260
+ const resp = new provproto.UpdateResponse();
261
+ const olds = req.getOlds().toJavaScript();
262
+ const news = req.getNews().toJavaScript();
263
+ let result = {};
264
+ const provider = await getProvider(news, this.config);
265
+ if (provider.update) {
266
+ result = (await provider.update(req.getId(), olds, news)) || {};
299
267
  }
300
- });
268
+ const resultProps = resultIncludingProvider(result.outs, news);
269
+ resp.setProperties(structproto.Struct.fromJavaScript(resultProps));
270
+ callback(undefined, resp);
271
+ }
272
+ catch (e) {
273
+ const response = grpcResponseFromError(e);
274
+ return callback(/*err:*/ response, /*value:*/ null, /*metadata:*/ response.metadata);
275
+ }
301
276
  }
302
- delete(call, callback) {
303
- return __awaiter(this, void 0, void 0, function* () {
304
- try {
305
- const req = call.request;
306
- const props = req.getProperties().toJavaScript();
307
- const provider = yield getProvider(props, this.config);
308
- if (provider.delete) {
309
- yield provider.delete(req.getId(), props);
310
- }
311
- callback(undefined, new emptyproto.Empty());
312
- }
313
- catch (e) {
314
- console.error(`${e}: ${e.stack}`);
315
- callback(e, undefined);
277
+ async delete(call, callback) {
278
+ try {
279
+ const req = call.request;
280
+ const props = req.getProperties().toJavaScript();
281
+ const provider = await getProvider(props, this.config);
282
+ if (provider.delete) {
283
+ await provider.delete(req.getId(), props);
316
284
  }
317
- });
285
+ callback(undefined, new emptyproto.Empty());
286
+ }
287
+ catch (e) {
288
+ console.error(`${e}: ${e.stack}`);
289
+ callback(e, undefined);
290
+ }
318
291
  }
319
- getPluginInfo(call, callback) {
320
- return __awaiter(this, void 0, void 0, function* () {
321
- const resp = new plugproto.PluginInfo();
322
- resp.setVersion(version_1.version);
323
- callback(undefined, resp);
324
- });
292
+ async getPluginInfo(call, callback) {
293
+ const resp = new plugproto.PluginInfo();
294
+ resp.setVersion(version_1.version);
295
+ callback(undefined, resp);
325
296
  }
326
297
  handshake(call, callback) {
327
298
  callback({
@@ -414,34 +385,32 @@ function grpcResponseFromError(e) {
414
385
  };
415
386
  }
416
387
  /** @internal */
417
- function main(args) {
418
- return __awaiter(this, void 0, void 0, function* () {
419
- // The program requires a single argument: the address of the RPC endpoint for the engine. It
420
- // optionally also takes a second argument, a reference back to the engine, but this may be missing.
421
- if (args.length === 0) {
422
- console.error("fatal: Missing <engine> address");
423
- process.exit(-1);
424
- }
425
- // Finally connect up the gRPC client/server and listen for incoming requests.
426
- const server = new grpc.Server({
427
- "grpc.max_receive_message_length": maxRPCMessageSize,
428
- });
429
- const resourceProvider = new ResourceProviderService();
430
- server.addService(provrpc.ResourceProviderService, resourceProvider);
431
- const port = yield new Promise((resolve, reject) => {
432
- server.bindAsync(`127.0.0.1:0`, grpc.ServerCredentials.createInsecure(), (err, p) => {
433
- if (err) {
434
- reject(err);
435
- }
436
- else {
437
- resolve(p);
438
- }
439
- });
388
+ async function main(args) {
389
+ // The program requires a single argument: the address of the RPC endpoint for the engine. It
390
+ // optionally also takes a second argument, a reference back to the engine, but this may be missing.
391
+ if (args.length === 0) {
392
+ console.error("fatal: Missing <engine> address");
393
+ process.exit(-1);
394
+ }
395
+ // Finally connect up the gRPC client/server and listen for incoming requests.
396
+ const server = new grpc.Server({
397
+ "grpc.max_receive_message_length": maxRPCMessageSize,
398
+ });
399
+ const resourceProvider = new ResourceProviderService();
400
+ server.addService(provrpc.ResourceProviderService, resourceProvider);
401
+ const port = await new Promise((resolve, reject) => {
402
+ server.bindAsync(`127.0.0.1:0`, grpc.ServerCredentials.createInsecure(), (err, p) => {
403
+ if (err) {
404
+ reject(err);
405
+ }
406
+ else {
407
+ resolve(p);
408
+ }
440
409
  });
441
- // Emit the address so the monitor can read it to connect. The gRPC server will keep the message loop alive.
442
- // We explicitly convert the number to a string so that Node doesn't colorize the output.
443
- console.log(port.toString());
444
410
  });
411
+ // Emit the address so the monitor can read it to connect. The gRPC server will keep the message loop alive.
412
+ // We explicitly convert the number to a string so that Node doesn't colorize the output.
413
+ console.log(port.toString());
445
414
  }
446
415
  exports.main = main;
447
416
  main(process.argv.slice(2));