diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js
index 7363403282..35d75764be 100644
--- a/packages/babel-compiler/package.js
+++ b/packages/babel-compiler/package.js
@@ -5,8 +5,8 @@ Package.describe({
});
Npm.depends({
- // '@meteorjs/babel': '7.18.0-beta.5',
- '@meteorjs/babel': 'file:///../../../../npm-packages/meteor-babel',
+ '@meteorjs/babel': '7.19.0-beta.1',
+ // '@meteorjs/babel': 'file:///../../../../npm-packages/meteor-babel',
'json5': '2.1.1',
'semver': '7.3.8'
});
diff --git a/packages/test-in-browser/driver.css b/packages/test-in-browser/driver.css
index 1a61840a81..aab2fc5104 100644
--- a/packages/test-in-browser/driver.css
+++ b/packages/test-in-browser/driver.css
@@ -4,15 +4,19 @@
/* for reference: https://tailwindcss.com/docs/customizing-colors */
--bg-black: #18181b;
- --neutral-black: #262626;
+ --neutral-black: #343333;
--primary-white: #F9FAFB;
--red-50: #fef2f2;
--red-200: #fecaca;
+ --red-400: #ea5555;
--red-600: #dc2626;
--red-900: #7f1d1d;
--gray-300: #d6d3d1;
+ --gray-400: #a09d9a;
--gray-500: #737373;
+ --blue-gray-400: #5f6373;
+
--blue-500: #6366f1;
--blue-50: #eef2ff;
@@ -61,18 +65,17 @@ body {
}
.header.pass {
- color: #16a34a; /* green */
+ color: #16a34a;
color: var(--green-600); /* green */
}
.header.fail {
- color: #7f1d1d; /* red */
- color: var(--red-900); /* red */
+ color: var(--red-400);
+ color: #ea5555;
font-weight: bold;
}
.header .time {
- color: var(--gray-500);
color: #737373;
font-size: 14px;
}
@@ -83,8 +86,8 @@ body {
}
.test_table .group {
- border-left: 1px solid #fef2f2;
- border-left: 1px solid var(--red-50);
+ border-left: 1px solid #313131;
+ border-left: 1px solid var(--neutral-black);
}
.test_table .group .group {
@@ -106,7 +109,7 @@ body {
.test_table .groupname {
font-weight: bold;
background: var(--neutral-black);
- background: #262626;
+ background: #313131;
padding-left: 5px;
line-height: 24px;
vertical-align: middle;
@@ -118,8 +121,8 @@ body {
.test_table .event {
margin-left: 20px;
font-size: 14px;
- border-left: 2px solid var(--blue-50);
- border-left: 2px solid #eef2ff;
+ border-left: 2px solid var(--blue-gray-400);
+ border-left: 2px solid #5f6373;
padding: 4px;
position: relative;
}
@@ -135,8 +138,8 @@ body {
}
.test_table .failed .testname {
- color: var(--red-900);
- color: #7f1d1d;
+ color: var(--red-400);
+ color: #ea5555;
}
.test_table .succeeded .testname {
@@ -150,7 +153,7 @@ body {
width: 100px;
left: 0px;
top: 0;
- text-align: center;
+ text-align: left;
line-height: 24px;
vertical-align: middle;
}
@@ -178,9 +181,9 @@ body {
}
.test_table .failed .teststatus {
- color: var(--red-900); /* red */
+ color: var(--red-400); /* red */
background: var(--bg-black);
- color: #7F1D1D; /* red */
+ color: #ea5555; /* red */
background: #18181b;
}
@@ -190,21 +193,21 @@ body {
}
.test_table .event .expected_fail {
- color: var(--red-900);
- color: #7f1d1d;
+ color: var(--red-400);
+ color: #ea5555;
}
.test_table .event .fail {
- color: var(--red-600);
- color: #dc2626;
+ color: var(--red-400);
+ color: #ea5555;
}
.test_table .event .exception {
- color: var(--red-600);
- color: #dc2626;
+ color: var(--red-400);
+ color: #ea5555;
}
-.exception pre {
+pre {
color: var(--primary-white);
color: #F9FAFB;
}
@@ -225,8 +228,8 @@ body {
.test_table .event:hover .debug {
display: inline;
- color: var(--gray-500);
- color: #737373;
+ color: var(--gray-400);
+ color: #a09d9a;
text-decoration: underline;
cursor: pointer;
}
@@ -247,7 +250,6 @@ body {
}
.string_equal_expected ins {
- background: var(--yellow-400);
background: #f59e0b;
}
@@ -265,6 +267,15 @@ body {
}
.failedTests {
- color: var(--red-900);
- color: #7f1d1d;
+ color: var(--red-400);
+ color: #ea5555;
+}
+
+#testProgressBar {
+ background: --var(--blue-gray-400);
+ background: #5f6373;
+}
+
+.progress-bar.bg-warning {
+ background-color: #f59e0b !important;
}
diff --git a/packages/test-in-browser/driver.html b/packages/test-in-browser/driver.html
index 03d9423791..52bd3b8aad 100644
--- a/packages/test-in-browser/driver.html
+++ b/packages/test-in-browser/driver.html
@@ -1,6 +1,5 @@
- {{> styles }}
{{> navBar}}
@@ -176,282 +175,3 @@
-
-
-
-
diff --git a/tools/cli/commands.js b/tools/cli/commands.js
index 619dbc6e4a..528d149873 100644
--- a/tools/cli/commands.js
+++ b/tools/cli/commands.js
@@ -987,10 +987,10 @@ var buildCommands = {
main.registerCommand({
name: "build",
...buildCommands,
-}, function (options) {
- return Profile.run(
+}, async function (options) {
+ return await Profile.run(
"meteor build",
- () => buildCommand(options)
+ async () => await buildCommand(options)
);
});
@@ -1002,7 +1002,7 @@ main.registerCommand({
name: "bundle",
hidden: true,
...buildCommands,
-}, function (options) {
+}, async function (options) {
Console.error(
"This command has been deprecated in favor of " +
Console.command("'meteor build'") + ", which allows you to " +
@@ -1011,9 +1011,9 @@ main.registerCommand({
"for more information.");
Console.error();
- return Profile.run(
+ return await Profile.run(
"meteor bundle",
- () => buildCommand({
+ async () => await buildCommand({
...options,
_bundleOnly: true,
})
@@ -2015,9 +2015,9 @@ async function doTestCommand(options) {
projectContext = new projectContextModule.ProjectContext(projectContextOptions);
await projectContext.init();
- await main.captureAndExit("=> Errors while setting up tests:", function () {
+ await main.captureAndExit("=> Errors while setting up tests:", async function () {
// Read metadata and initialize catalog.
- return projectContext.initializeCatalog();
+ return await projectContext.initializeCatalog();
});
} else {
throw new Error("Unexpected: neither test-packages nor test");
@@ -2055,7 +2055,7 @@ async function doTestCommand(options) {
options.cordovaRunner = cordovaRunner;
- return runTestAppForPackages(projectContext, Object.assign(
+ return await runTestAppForPackages(projectContext, Object.assign(
options,
{
mobileServerUrl: utils.formatUrl(parsedMobileServerUrl),
diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js
index b1f7a5db33..7801df02e8 100644
--- a/tools/isobuild/bundler.js
+++ b/tools/isobuild/bundler.js
@@ -2269,7 +2269,7 @@ class JsImage {
if (ret['core-runtime']) {
var promise = ret['core-runtime'].waitUntilAllLoaded();
if (promise) {
- promise.await();
+ await promise
}
}
diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js
index 3f368886c9..a0b42d3c31 100644
--- a/tools/isobuild/compiler-plugin.js
+++ b/tools/isobuild/compiler-plugin.js
@@ -776,13 +776,16 @@ class ResourceSlot {
// stub, so setting .implicit marks the resource as disposable.
}).implicit = true;
- if (! cssResource.lazy &&
- ! Buffer.isBuffer(cssResource.data)) {
- // If there was an error processing this file, cssResource.data
- // will not be a Buffer, and accessing cssResource.data here
- // should cause the error to be reported via inputFile.error.
- return;
- }
+ // TODO[FIBERS]: Look into this. We probably don't want addStylesheet
+ // to be async, and I'm also not sure the old behavior here is what we wanted
+ //
+ // if (! cssResource.lazy &&s
+ // ! Buffer.isBuffer(cssResource.data)) {
+ // // If there was an error processing this file, cssResource.data
+ // // will not be a Buffer, and accessing cssResource.data here
+ // // should cause the error to be reported via inputFile.error.
+ // return;
+ // }
this.outputResources.push(cssResource);
}
diff --git a/tools/isobuild/import-scanner.ts b/tools/isobuild/import-scanner.ts
index 03ac55cc05..bf6616af94 100644
--- a/tools/isobuild/import-scanner.ts
+++ b/tools/isobuild/import-scanner.ts
@@ -976,7 +976,7 @@ export default class ImportScanner {
private async findImportedModuleIdentifiers(
file: File,
): Promise> {
- const fileHash = await file.hash;
+ const fileHash = file.hash;
if (IMPORT_SCANNER_CACHE.has(fileHash)) {
return IMPORT_SCANNER_CACHE.get(fileHash);
}
diff --git a/tools/isobuild/linker.js b/tools/isobuild/linker.js
index 31d6ed990e..e762b4bc5e 100644
--- a/tools/isobuild/linker.js
+++ b/tools/isobuild/linker.js
@@ -1189,6 +1189,15 @@ export var fullLink = Profile("linker.fullLink", async function (inputFiles, {
(bundleArch.startsWith('os.') || enableClientTLA);
if (wrapForTLA) {
+ // Ensure there is always at least one file
+ // so the globals can be defined
+ if (prelinkedFiles.length === 0) {
+ prelinkedFiles.unshift({
+ source: '',
+ servePath: "/global-imports.js"
+ });
+ }
+
let header = getHeader({
name: null,
imports,
diff --git a/tools/isobuild/meteor-npm.js b/tools/isobuild/meteor-npm.js
index e317535a1e..6af2cc0ac9 100644
--- a/tools/isobuild/meteor-npm.js
+++ b/tools/isobuild/meteor-npm.js
@@ -420,7 +420,7 @@ async function copyNpmPackageWithSymlinkedNodeModules(fromPkgDir, toPkgDir) {
if (item === "node_modules") {
// We'll link or copy node_modules in a follow-up step.
needToHandleNodeModules = true;
- return;
+ continue;
}
await files.cp_r(
@@ -442,7 +442,7 @@ async function copyNpmPackageWithSymlinkedNodeModules(fromPkgDir, toPkgDir) {
if (depPath === ".bin") {
// Avoid copying node_modules/.bin because commands like
// .bin/node-gyp and .bin/node-pre-gyp tend to cause problems.
- return;
+ continue;
}
const absDepFromPath = files.pathJoin(nodeModulesFromPath, depPath);
@@ -450,7 +450,7 @@ async function copyNpmPackageWithSymlinkedNodeModules(fromPkgDir, toPkgDir) {
if (! files.stat(absDepFromPath).isDirectory()) {
// Only copy package directories, even though there might be other
// kinds of files in node_modules.
- return;
+ continue;
}
const absDepToPath = files.pathJoin(nodeModulesToPath, depPath);
diff --git a/tools/project-context.js b/tools/project-context.js
index 9dd2a752cf..fc16fa5c44 100644
--- a/tools/project-context.js
+++ b/tools/project-context.js
@@ -1002,8 +1002,8 @@ Object.assign(ProjectContext.prototype, {
? null : self._forceRebuildPackages);
}
- await buildmessage.enterJob('building local packages', function () {
- return self.isopackCache.buildLocalPackages();
+ await buildmessage.enterJob('building local packages', async function () {
+ return await self.isopackCache.buildLocalPackages();
});
self._completedStage = STAGE.BUILD_LOCAL_PACKAGES;
}),
diff --git a/tools/runners/run-all.js b/tools/runners/run-all.js
index ea8af7f01c..bd4640ac77 100644
--- a/tools/runners/run-all.js
+++ b/tools/runners/run-all.js
@@ -170,22 +170,26 @@ class Runner {
runLog.log("Started proxy.", { arrow: true });
}
+ /**
+ *
+ * @type {(function(): *)}
+ */
var unblockAppRunner = self.appRunner.makeBeforeStartPromise();
async function startMongo(tries = 3) {
try {
await self._startMongoAsync();
- await unblockAppRunner();
+ unblockAppRunner();
} catch (error) {
--tries;
const left = tries + (tries === 1 ? " try" : " tries");
Console.error(
`Error starting Mongo (${left} left): ${error.message}`
- );
+ );
if (tries > 0) {
await self.mongoRunner.stop();
- await setTimeout(() => startMongo(tries), 1000);
+ setTimeout(async () => await startMongo(tries), 1000);
} else {
await self.mongoRunner._fail();
}
@@ -194,13 +198,12 @@ class Runner {
}
await startMongo();
-
if (!self.noReleaseCheck && ! self.stopped) {
- await self.updater.start();
+ self.updater.start();
}
if (!self.stopped && self.hmrServer) {
- await self.hmrServer.start();
+ self.hmrServer.start();
if (!self.quiet && !self.stopped) {
runLog.log("Started HMR server.", { arrow: true });
@@ -209,7 +212,7 @@ class Runner {
if (! self.stopped) {
await buildmessage.enterJob({ title: "starting your app" }, async function () {
- await self.appRunner.start();
+ await self.appRunner.start();
});
if (! self.quiet && ! self.stopped) {
runLog.log("Started your app.", { arrow: true });
@@ -234,8 +237,8 @@ class Runner {
}
if (self.selenium && ! self.stopped) {
- await buildmessage.enterJob({ title: "starting Selenium" }, function () {
- return self.selenium.start();
+ await buildmessage.enterJob({ title: "starting Selenium" }, async function () {
+ return await self.selenium.start();
});
if (! self.quiet && ! self.stopped) {
runLog.log("Started Selenium.", { arrow: true });
@@ -340,7 +343,6 @@ class Runner {
exports.run = async function (options) {
var runOptions = _.clone(options);
var once = runOptions.once;
-
var promise = new Promise(function (resolve) {
runOptions.onFailure = async function () {
// Ensure that runner stops now. You might think this is unnecessary
diff --git a/tools/runners/run-app.js b/tools/runners/run-app.js
index e509f9022c..2a756c393c 100644
--- a/tools/runners/run-app.js
+++ b/tools/runners/run-app.js
@@ -13,7 +13,7 @@ import { pluginVersionsFromStarManifest } from '../cordova/index.js';
import { closeAllWatchers } from "../fs/safe-watcher";
import { eachline } from "../utils/eachline";
import { loadIsopackage } from '../tool-env/isopackets.js';
-
+import { once , EventEmitter, on } from "events"
// Parse out s as if it were a bash command line.
var bashParse = function (s) {
if (s.search("\"") !== -1 || s.search("'") !== -1) {
@@ -404,31 +404,47 @@ Object.assign(AppRunner.prototype, {
self.startPromise = self._makePromise("start");
self.isRunning = true;
- self._runApp();
-
+ self._runApp()
await self.startPromise;
self.startPromise = null;
},
+ _findCachedEE: function (name) {
+ if (!this._promiseResolvers[name]) {
+ this._promiseResolvers[name] = new EventEmitter();
+ }
+ return this._promiseResolvers[name];
+ },
+
+ _makeIterable : function (name) {
+ var self = this;
+ const ee = self._findCachedEE(name);
+ return on(ee, name);
+ },
+
+ /**
+ * @param name
+ * @return {Promise<[any]>}
+ * @private
+ */
_makePromise: function (name) {
var self = this;
- return new Promise(function (resolve) {
- self._promiseResolvers[name] = resolve;
- });
+ const ee = self._findCachedEE(name);
+ return once(ee, name);
},
_resolvePromise: function (name, value) {
- var resolve = this._promiseResolvers[name];
- if (resolve) {
+ const ee = this._promiseResolvers[name];
+ if (ee) {
+ ee.emit(name, value);
this._promiseResolvers[name] = null;
- resolve(value);
}
},
_cleanUpPromises: function () {
if (this._promiseResolvers) {
- _.each(this._promiseResolvers, function (resolve) {
- resolve && resolve();
+ _.each(this._promiseResolvers, (resolve) => {
+ resolve && this._promiseResolvers[resolve]?.emit(resolve, false);
});
this._promiseResolvers = null;
}
@@ -452,10 +468,8 @@ Object.assign(AppRunner.prototype, {
// The existence of this promise makes the fiber break out of its loop.
self.exitPromise = self._makePromise("exit");
-
self._resolvePromise("run", { outcome: 'stopped' });
self._resolvePromise("watch");
-
if (self._beforeStartPromise) {
// If we stopped before mongod started (eg, due to mongod startup
// failure), unblock the runner fiber from waiting for mongod to start.
@@ -472,7 +486,7 @@ Object.assign(AppRunner.prototype, {
throw new Error("makeBeforeStartPromise called twice?");
}
this._beforeStartPromise = this._makePromise("beforeStart");
- return this._promiseResolvers["beforeStart"];
+ return () => this._resolvePromise("beforeStart");
},
// Run the program once, wait for it to exit, and then return. The
@@ -500,7 +514,6 @@ Object.assign(AppRunner.prototype, {
// it even if we refreshed previously, since that might have been a
// little while ago.
catalog.triedToRefreshRecently = false;
-
// If this isn't the first time we've run, we need to reset the project
// context since everything we have cached may have changed.
// XXX We can try to be a little less conservative here:
@@ -521,8 +534,8 @@ Object.assign(AppRunner.prototype, {
// shown from the previous solution.
preservePackageMap: true
});
- var messages = await buildmessage.capture(function () {
- return self.projectContext.readProjectMetadata();
+ var messages = await buildmessage.capture(async function () {
+ return await self.projectContext.readProjectMetadata();
});
if (messages.hasMessages()) {
return {
@@ -548,7 +561,7 @@ Object.assign(AppRunner.prototype, {
}
messages = await buildmessage.capture(async function () {
- await self.projectContext.prepareProjectForBuild();
+ return await self.projectContext.prepareProjectForBuild();
});
if (messages.hasMessages()) {
return {
@@ -573,7 +586,7 @@ Object.assign(AppRunner.prototype, {
});
}
- var bundleResult = await Profile.run((firstRun?"B":"Reb")+"uild App", async () => {
+ var bundleResult = await Profile.run((firstRun?"B":"Reb")+"uild App", async function() {
return await bundler.bundle({
projectContext: self.projectContext,
outputPath: bundlePath,
@@ -618,7 +631,6 @@ Object.assign(AppRunner.prototype, {
watchSet.merge(br.clientWatchSet);
return watchSet;
};
-
var bundleResult;
var bundleResultOrRunResult = await bundleApp();
if (bundleResultOrRunResult.runResult) {
@@ -706,8 +718,8 @@ Object.assign(AppRunner.prototype, {
// We should have reset self.runPromise to null by now, but await it
// just in case it's still defined.
await self.runPromise;
-
- var runPromise = self.runPromise = self._makePromise("run");
+ self.runPromise = self._makePromise("run");
+ var runPromise = self.runPromise;
var listenPromise = self._makePromise("listen");
// Run the program
@@ -747,13 +759,13 @@ Object.assign(AppRunner.prototype, {
});
if (options.firstRun && self._beforeStartPromise) {
- var stopped = await self._beforeStartPromise;
- if (stopped) {
- return true;
- }
+ var [stopped] = await self._beforeStartPromise;
+ if (stopped) {
+ return stopped
+ }
}
-
await appProcess.start();
+
function maybePrintLintWarnings(bundleResult) {
if (! (self.projectContext.lintAppAndLocalPackages &&
bundleResult.warnings)) {
@@ -805,7 +817,7 @@ Object.assign(AppRunner.prototype, {
}
var setupClientWatcher = function () {
- clientWatcher && clientWatcher.stop();
+ clientWatcher && clientWatcher.stop();
clientWatcher = new watch.Watcher({
watchSet: bundleResult.clientWatchSet,
onChange: function () {
@@ -875,17 +887,17 @@ Object.assign(AppRunner.prototype, {
Console.enableProgressDisplay(false);
- await Promise.race([
- listenPromise,
- runPromise]);
- const postStartupResult = await runPostStartupCallbacks(bundleResult);
+ const promList = [runPromise, listenPromise];
+ await Promise.race(promList)
+
+ const postStartupResult =
+ await runPostStartupCallbacks(bundleResult)
if (postStartupResult) return postStartupResult;
// Wait for either the process to exit, or (if watchForChanges) a
// source file to change. Or, for stop() to be called.
- var ret = await runPromise;
-
+ var [ret] = await runPromise;
try {
while (ret.outcome === 'changed-refreshable') {
if (! canRefreshClient) {
@@ -895,6 +907,7 @@ Object.assign(AppRunner.prototype, {
// We stay in this loop as long as only refreshable assets have changed.
// When ret.refreshable becomes false, we restart the server.
bundleResultOrRunResult = await bundleApp();
+
if (bundleResultOrRunResult.runResult) {
return bundleResultOrRunResult.runResult;
}
@@ -915,7 +928,7 @@ Object.assign(AppRunner.prototype, {
if (postStartupResult) return postStartupResult;
// Wait until another file changes.
- ret = await oldPromise;
+ [ret] = await oldPromise;
}
} finally {
self.runPromise = null;
@@ -928,10 +941,10 @@ Object.assign(AppRunner.prototype, {
if (self.hmrServer) {
self.hmrServer.setAppState("okay");
}
- appProcess.stop();
+ await appProcess.stop();
- serverWatcher && serverWatcher.stop();
- clientWatcher && clientWatcher.stop();
+ serverWatcher && serverWatcher.stop();
+ clientWatcher && clientWatcher.stop();
}
return ret;
@@ -1002,7 +1015,7 @@ Object.assign(AppRunner.prototype, {
}
if (self.watchForChanges) {
- self.watchPromise = self._makePromise("watch");
+ self.watchPromise = self._makePromise("watch");
if (!runResult.watchSet) {
throw Error("watching for changes with no watchSet?");
diff --git a/tools/runners/run-mongo.js b/tools/runners/run-mongo.js
index 312b055405..4c0b166b08 100644
--- a/tools/runners/run-mongo.js
+++ b/tools/runners/run-mongo.js
@@ -595,6 +595,7 @@ var launchMongo = async function(options) {
listening &&
(noOplog || replSetReadyToBeInitiated || replSetReady)
) {
+
proc.stdout.removeListener('data', stdoutOnData);
resolve();
resolve = null;
diff --git a/tools/static-assets/server/boot.js b/tools/static-assets/server/boot.js
index ca6f586c25..8f768807b1 100644
--- a/tools/static-assets/server/boot.js
+++ b/tools/static-assets/server/boot.js
@@ -223,7 +223,6 @@ var specialArgPaths = {
var loadServerBundles = Profile("Load server bundles", async function () {
var infos = [];
var nonLocalNodeModulesPaths = new Set();
-
for (const fileInfo of serverJson.load) {
var code = fs.readFileSync(path.resolve(serverDir, fileInfo.path));
@@ -503,5 +502,9 @@ var runMain = Profile("Run main()", async function () {
await runMain();
});
});
-})().catch(e => console.log('error on boot.js', e));
+})().catch(e => {
+ console.log('error on boot.js', e )
+ console.log(e.stack);
+ process.exit(1)
+});
diff --git a/tools/static-assets/server/npm-require.js b/tools/static-assets/server/npm-require.js
index 9b13c18fc2..8a32227fef 100644
--- a/tools/static-assets/server/npm-require.js
+++ b/tools/static-assets/server/npm-require.js
@@ -162,9 +162,6 @@ function resolve(id) {
resolveInLocalBuild(id) ||
resolveInNodeModules(id) ||
resolveInDevBundle(id) ||
- // TODO[fibers]: this is a workaround, fix it
- (id === '/node_modules/@babel/runtime/helpers/objectSpread2.js' && '/home/denyhs/Documents/work/meteor/meteor/packages/logging/.npm/package/node_modules/@babel/runtime/helpers/objectSpread2.js')||
- (id === '/node_modules/@babel/runtime/helpers/objectWithoutProperties.js' && '/home/denyhs/Documents/work/meteor/meteor/packages/logging/.npm/package/node_modules/@babel/runtime/helpers/objectWithoutProperties.js')||
null;
return resolve(id);
diff --git a/tools/utils/processes.ts b/tools/utils/processes.ts
index 3bc2032f6d..73a7993be8 100644
--- a/tools/utils/processes.ts
+++ b/tools/utils/processes.ts
@@ -48,7 +48,7 @@ type ExecFileOptions = {
* status and signal.
* @param command The command to run
* @param args List of string arguments
- * @param options
+ * @param options
* @returns The stdout from the command
*/
export function execFileSync(
@@ -67,7 +67,7 @@ export function execFileSync(
* the error will contain fields pid, stderr, stdout, status and signal.
* @param command The command to run
* @param args List of string arguments
- * @param options
+ * @param options
*/
export function execFileAsync(
command: string,
@@ -96,7 +96,7 @@ export function execFileAsync(
const exitEvent = options.waitForClose ? 'close' : 'exit';
return new Promise((resolve, reject) => {
- let child: ReturnType;
+ let child: ReturnType;
const spawnArgs: ReadonlyArray = Array.isArray(args) ? args : [];
const { cwd, env, stdio } = options;