[cli] Update to TypeScript v4.7.4 (#8232)

This commit is contained in:
Nathan Rajlich
2022-07-25 16:08:14 -07:00
committed by GitHub
parent c397fd1856
commit 081b38466b
87 changed files with 914 additions and 951 deletions

View File

@@ -94,6 +94,12 @@ import { ProjectEnvVariable, ProjectSettings } from '../../types';
import exposeSystemEnvs from './expose-system-envs';
import { treeKill } from '../tree-kill';
import { nodeHeadersToFetchHeaders } from './headers';
import {
errorToString,
isErrnoException,
isError,
isSpawnError,
} from '../is-error';
const frontendRuntimeSet = new Set(
frameworkList.map(f => f.useRuntime?.use || '@vercel/static-build')
@@ -340,8 +346,8 @@ export default class DevServer {
}
fileChanged(name, changed, removed);
this.output.debug(`File created: ${name}`);
} catch (err) {
if (err.code === 'ENOENT') {
} catch (err: unknown) {
if (isErrnoException(err) && err.code === 'ENOENT') {
this.output.debug(`File created, but has since been deleted: ${name}`);
fileRemoved(name, this.files, changed, removed);
} else {
@@ -375,8 +381,8 @@ export default class DevServer {
this.files[name] = await FileFsRef.fromFsPath({ fsPath });
fileChanged(name, changed, removed);
this.output.debug(`File modified: ${name}`);
} catch (err) {
if (err.code === 'ENOENT') {
} catch (err: unknown) {
if (isErrnoException(err) && err.code === 'ENOENT') {
this.output.debug(`File modified, but has since been deleted: ${name}`);
fileRemoved(name, this.files, changed, removed);
} else {
@@ -507,8 +513,8 @@ export default class DevServer {
this.output.debug(`Using local env: ${filePath}`);
env = parseDotenv(dotenv);
env = this.injectSystemValuesInDotenv(env);
} catch (err) {
if (err.code !== 'ENOENT') {
} catch (err: unknown) {
if (!isErrnoException(err) || err.code !== 'ENOENT') {
throw err;
}
}
@@ -719,13 +725,15 @@ export default class DevServer {
const parsed: WithFileNameSymbol<T> = JSON.parse(raw);
parsed[fileNameSymbol] = rel;
return parsed;
} catch (err) {
if (err.code === 'ENOENT') {
this.output.debug(`No \`${rel}\` file present`);
} else if (err.name === 'SyntaxError') {
this.output.warn(
`There is a syntax error in the \`${rel}\` file: ${err.message}`
);
} catch (err: unknown) {
if (isError(err)) {
if (isErrnoException(err) && err.code === 'ENOENT') {
this.output.debug(`No \`${rel}\` file present`);
} else if (err.name === 'SyntaxError') {
this.output.warn(
`There is a syntax error in the \`${rel}\` file: ${err.message}`
);
}
} else {
throw err;
}
@@ -851,22 +859,26 @@ export default class DevServer {
while (typeof address !== 'string') {
try {
address = await listen(this.server, ...listenSpec);
} catch (err) {
this.output.debug(`Got listen error: ${err.code}`);
if (err.code === 'EADDRINUSE') {
if (typeof listenSpec[0] === 'number') {
// Increase port and try again
this.output.note(
`Requested port ${chalk.yellow(
String(listenSpec[0])
)} is already in use`
);
listenSpec[0]++;
} else {
this.output.error(
`Requested socket ${chalk.cyan(listenSpec[0])} is already in use`
);
process.exit(1);
} catch (err: unknown) {
if (isErrnoException(err)) {
this.output.debug(`Got listen error: ${err.code}`);
if (err.code === 'EADDRINUSE') {
if (typeof listenSpec[0] === 'number') {
// Increase port and try again
this.output.note(
`Requested port ${chalk.yellow(
String(listenSpec[0])
)} is already in use`
);
listenSpec[0]++;
} else {
this.output.error(
`Requested socket ${chalk.cyan(
listenSpec[0]
)} is already in use`
);
process.exit(1);
}
}
} else {
throw err;
@@ -1028,12 +1040,8 @@ export default class DevServer {
try {
await Promise.all(ops);
} catch (err) {
// Node 8 doesn't have a code for that error
if (
err.code === 'ERR_SERVER_NOT_RUNNING' ||
err.message === 'Not running'
) {
} catch (err: unknown) {
if (isErrnoException(err) && err.code === 'ERR_SERVER_NOT_RUNNING') {
process.exit(exitCode || 0);
} else {
throw err;
@@ -1303,13 +1311,16 @@ export default class DevServer {
try {
const vercelConfig = await this.getVercelConfig();
await this.serveProjectAsNowV2(req, res, requestId, vercelConfig);
} catch (err) {
} catch (err: unknown) {
console.error(err);
this.output.debug(err.stack);
if (isError(err) && typeof err.stack === 'string') {
this.output.debug(err.stack);
}
if (!res.finished) {
res.statusCode = 500;
res.end(err.message);
res.end(errorToString(err));
}
}
};
@@ -1533,16 +1544,16 @@ export default class DevServer {
);
}
}
} catch (err) {
} catch (err: unknown) {
// `startDevServer()` threw an error. Most likely this means the dev
// server process exited before sending the port information message
// (missing dependency at runtime, for example).
if (err.code === 'ENOENT') {
if (isSpawnError(err) && err.code === 'ENOENT') {
err.message = `Command not found: ${chalk.cyan(
err.path,
...err.spawnargs
)}\nPlease ensure that ${cmd(err.path)} is properly installed`;
err.link = 'https://vercel.link/command-not-found';
)}\nPlease ensure that ${cmd(err.path!)} is properly installed`;
(err as any).link = 'https://vercel.link/command-not-found';
}
await this.sendError(
@@ -1845,16 +1856,16 @@ export default class DevServer {
buildEnv: { ...envConfigs.buildEnv },
},
});
} catch (err) {
} catch (err: unknown) {
// `startDevServer()` threw an error. Most likely this means the dev
// server process exited before sending the port information message
// (missing dependency at runtime, for example).
if (err.code === 'ENOENT') {
if (isSpawnError(err) && err.code === 'ENOENT') {
err.message = `Command not found: ${chalk.cyan(
err.path,
...err.spawnargs
)}\nPlease ensure that ${cmd(err.path)} is properly installed`;
err.link = 'https://vercel.link/command-not-found';
)}\nPlease ensure that ${cmd(err.path!)} is properly installed`;
(err as any).link = 'https://vercel.link/command-not-found';
}
this.output.prettyError(err);