There's a fair bit of clean up in here, but the meat is: * Allocate the language runtime gRPC client connection on the goroutine that will use it; this eliminates race conditions. * The biggie: there *appears* to be a bug in gRPC's implementation on Linux, where it doesn't implement WaitForReady properly. The behavior I'm observing is that RPC calls will not retry as they are supposed to, but will instead spuriously fail during the RPC startup. To work around this, I've added manual retry logic in the shared plugin creation function so that we won't even try to use the client connection until it is in a well-known state. pulumi/pulumi-fabric#337 tracks getting to the bottom of this and, ideally, removing the work around. The other minor things are: * Separate run.js into its own module, so it doesn't include index.js and do a bunch of random stuff it shouldn't be doing. * Allow run.js to be invoked without a --monitor. This makes testing just the run part of invocation easier (including config, which turned out to be super useful as I was debugging). * Tidy up some messages.
49 lines
1.2 KiB
JSON
49 lines
1.2 KiB
JSON
{
|
|
"compilerOptions": {
|
|
"outDir": "bin",
|
|
"target": "es6",
|
|
"module": "commonjs",
|
|
"moduleResolution": "node",
|
|
"declaration": true,
|
|
"sourceMap": true,
|
|
"stripInternal": true,
|
|
"experimentalDecorators": true,
|
|
"pretty": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
"noImplicitAny": true,
|
|
"noImplicitReturns": true,
|
|
"forceConsistentCasingInFileNames": true,
|
|
"strictNullChecks": true
|
|
},
|
|
"files": [
|
|
"index.ts",
|
|
"computed.ts",
|
|
"config.ts",
|
|
"resource.ts",
|
|
|
|
"asset/index.ts",
|
|
"asset/asset.ts",
|
|
"asset/archive.ts",
|
|
|
|
"runtime/index.ts",
|
|
"runtime/closure.ts",
|
|
"runtime/config.ts",
|
|
"runtime/debuggable.ts",
|
|
"runtime/langhost.ts",
|
|
"runtime/log.ts",
|
|
"runtime/property.ts",
|
|
"runtime/resource.ts",
|
|
"runtime/settings.ts",
|
|
|
|
"cmd/langhost/index.ts",
|
|
"cmd/run/index.ts",
|
|
|
|
"tests/config.spec.ts",
|
|
"tests/init.spec.ts",
|
|
"tests/util.ts",
|
|
"tests/runtime/closure.spec.ts",
|
|
"tests/runtime/computed.spec.ts",
|
|
"tests/runtime/langhost/run.spec.ts"
|
|
]
|
|
}
|
|
|