mirror of
https://github.com/LukeHagar/vercel.git
synced 2025-12-11 12:57:46 +00:00
Compare commits
3 Commits
@vercel/bu
...
@vercel/py
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c1c8b454cc | ||
|
|
e2105e47b5 | ||
|
|
76d58673fc |
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/build-utils",
|
||||
"version": "6.2.0",
|
||||
"version": "6.2.1",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.js",
|
||||
|
||||
@@ -10,6 +10,7 @@ interface PrerenderOptions {
|
||||
allowQuery?: string[];
|
||||
initialHeaders?: Record<string, string>;
|
||||
initialStatus?: number;
|
||||
passQuery?: boolean;
|
||||
}
|
||||
|
||||
export class Prerender {
|
||||
@@ -22,6 +23,7 @@ export class Prerender {
|
||||
public allowQuery?: string[];
|
||||
public initialHeaders?: Record<string, string>;
|
||||
public initialStatus?: number;
|
||||
public passQuery?: boolean;
|
||||
|
||||
constructor({
|
||||
expiration,
|
||||
@@ -32,6 +34,7 @@ export class Prerender {
|
||||
allowQuery,
|
||||
initialHeaders,
|
||||
initialStatus,
|
||||
passQuery,
|
||||
}: PrerenderOptions) {
|
||||
this.type = 'Prerender';
|
||||
this.expiration = expiration;
|
||||
@@ -52,6 +55,17 @@ export class Prerender {
|
||||
}
|
||||
this.group = group;
|
||||
|
||||
if (passQuery === true) {
|
||||
this.passQuery = true;
|
||||
} else if (
|
||||
typeof passQuery !== 'boolean' &&
|
||||
typeof passQuery !== 'undefined'
|
||||
) {
|
||||
throw new Error(
|
||||
`The \`passQuery\` argument for \`Prerender\` must be a boolean.`
|
||||
);
|
||||
}
|
||||
|
||||
if (bypassToken == null) {
|
||||
this.bypassToken = null;
|
||||
} else if (typeof bypassToken === 'string') {
|
||||
|
||||
43
packages/build-utils/test/unit.test.ts
vendored
43
packages/build-utils/test/unit.test.ts
vendored
@@ -318,6 +318,49 @@ it('should support initialHeaders and initialStatus correctly', async () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('should support passQuery correctly', async () => {
|
||||
new Prerender({
|
||||
expiration: 1,
|
||||
fallback: null,
|
||||
group: 1,
|
||||
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||
passQuery: true,
|
||||
});
|
||||
new Prerender({
|
||||
expiration: 1,
|
||||
fallback: null,
|
||||
group: 1,
|
||||
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||
passQuery: false,
|
||||
});
|
||||
new Prerender({
|
||||
expiration: 1,
|
||||
fallback: null,
|
||||
group: 1,
|
||||
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||
passQuery: undefined,
|
||||
});
|
||||
new Prerender({
|
||||
expiration: 1,
|
||||
fallback: null,
|
||||
group: 1,
|
||||
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||
});
|
||||
|
||||
expect(() => {
|
||||
new Prerender({
|
||||
expiration: 1,
|
||||
fallback: null,
|
||||
group: 1,
|
||||
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||
// @ts-expect-error testing invalid field
|
||||
passQuery: 'true',
|
||||
});
|
||||
}).toThrowError(
|
||||
`The \`passQuery\` argument for \`Prerender\` must be a boolean.`
|
||||
);
|
||||
});
|
||||
|
||||
it('should support require by path for legacy builders', () => {
|
||||
const index = require('../');
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vercel",
|
||||
"version": "28.15.1",
|
||||
"version": "28.15.2",
|
||||
"preferGlobal": true,
|
||||
"license": "Apache-2.0",
|
||||
"description": "The command-line interface for Vercel",
|
||||
@@ -41,16 +41,16 @@
|
||||
"node": ">= 14"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/go": "2.3.2",
|
||||
"@vercel/hydrogen": "0.0.48",
|
||||
"@vercel/next": "3.4.0",
|
||||
"@vercel/node": "2.9.1",
|
||||
"@vercel/python": "3.1.44",
|
||||
"@vercel/redwood": "1.1.0",
|
||||
"@vercel/remix": "1.2.11",
|
||||
"@vercel/ruby": "1.3.60",
|
||||
"@vercel/static-build": "1.3.3"
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"@vercel/go": "2.3.3",
|
||||
"@vercel/hydrogen": "0.0.49",
|
||||
"@vercel/next": "3.4.1",
|
||||
"@vercel/node": "2.9.2",
|
||||
"@vercel/python": "3.1.45",
|
||||
"@vercel/redwood": "1.1.1",
|
||||
"@vercel/remix": "1.2.12",
|
||||
"@vercel/ruby": "1.3.61",
|
||||
"@vercel/static-build": "1.3.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@alex_neo/jest-expect-message": "1.0.5",
|
||||
@@ -93,10 +93,10 @@
|
||||
"@types/which": "1.3.2",
|
||||
"@types/write-json-file": "2.2.1",
|
||||
"@types/yauzl-promise": "2.1.0",
|
||||
"@vercel/client": "12.3.6",
|
||||
"@vercel/client": "12.3.7",
|
||||
"@vercel/error-utils": "1.0.8",
|
||||
"@vercel/frameworks": "1.3.0",
|
||||
"@vercel/fs-detectors": "3.7.9",
|
||||
"@vercel/fs-detectors": "3.7.10",
|
||||
"@vercel/fun": "1.0.4",
|
||||
"@vercel/ncc": "0.24.0",
|
||||
"@vercel/routing-utils": "2.1.8",
|
||||
|
||||
@@ -32,6 +32,7 @@ const help = () => {
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-t ${chalk.bold.underline('TOKEN')}, --token=${chalk.bold.underline(
|
||||
'TOKEN'
|
||||
)} Login token
|
||||
|
||||
@@ -33,6 +33,7 @@ const help = () => {
|
||||
|
||||
-h, --help Output usage information
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-b, --bad Known bad URL
|
||||
-g, --good Known good URL
|
||||
-o, --open Automatically open each URL in the browser
|
||||
|
||||
@@ -118,6 +118,7 @@ const help = () => {
|
||||
--output [path] Directory where built assets should be written to
|
||||
--prod Build a production deployment
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-y, --yes Skip the confirmation prompt about pulling environment variables and project settings when not found locally
|
||||
|
||||
${chalk.dim('Examples:')}
|
||||
|
||||
@@ -37,6 +37,7 @@ const help = () => {
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-t ${chalk.bold.underline('TOKEN')}, --token=${chalk.bold.underline(
|
||||
'TOKEN'
|
||||
)} Login token
|
||||
|
||||
@@ -53,6 +53,7 @@ export const help = () => `
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-f, --force Force a new deployment even if nothing has changed
|
||||
--with-cache Retain build cache when using "--force"
|
||||
-t ${chalk.underline('TOKEN')}, --token=${chalk.underline(
|
||||
|
||||
@@ -31,6 +31,7 @@ const help = () => {
|
||||
|
||||
-h, --help Output usage information
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-l, --listen [uri] Specify a URI endpoint on which to listen [0.0.0.0:3000]
|
||||
-t, --token [token] Specify an Authorization Token
|
||||
-y, --yes Skip questions when setting up new project using default scope and settings
|
||||
|
||||
@@ -33,6 +33,7 @@ const help = () => {
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-t ${chalk.bold.underline('TOKEN')}, --token=${chalk.bold.underline(
|
||||
'TOKEN'
|
||||
)} Login token
|
||||
|
||||
@@ -33,6 +33,7 @@ const help = () => {
|
||||
|
||||
-h, --help Output usage information
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-f, --force Force a domain on a project and remove it from an existing one
|
||||
-A ${chalk.bold.underline('FILE')}, --local-config=${chalk.bold.underline(
|
||||
'FILE'
|
||||
|
||||
1
packages/cli/src/commands/env/index.ts
vendored
1
packages/cli/src/commands/env/index.ts
vendored
@@ -40,6 +40,7 @@ const help = () => {
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-t ${chalk.bold.underline('TOKEN')}, --token=${chalk.bold.underline(
|
||||
'TOKEN'
|
||||
)} Login token
|
||||
|
||||
@@ -21,6 +21,7 @@ const help = () => {
|
||||
|
||||
-h, --help Output usage information
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-f, --force Overwrite destination directory if exists [off]
|
||||
|
||||
${chalk.dim('Examples:')}
|
||||
|
||||
@@ -32,6 +32,7 @@ const help = () => {
|
||||
'TOKEN'
|
||||
)} Login token
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-S, --scope Set a custom scope
|
||||
|
||||
${chalk.dim('Examples:')}
|
||||
|
||||
@@ -19,6 +19,7 @@ const help = () => {
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-t ${chalk.bold.underline('TOKEN')}, --token=${chalk.bold.underline(
|
||||
'TOKEN'
|
||||
)} Login token
|
||||
|
||||
@@ -36,6 +36,7 @@ const help = () => {
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-y, --yes Skip questions when setting up new project using default scope and settings
|
||||
-t ${chalk.bold.underline('TOKEN')}, --token=${chalk.bold.underline(
|
||||
'TOKEN'
|
||||
|
||||
@@ -23,6 +23,7 @@ const help = () => {
|
||||
${chalk.dim('Options:')}
|
||||
|
||||
-h, --help Output usage information
|
||||
--no-color No color mode [off]
|
||||
-A ${chalk.bold.underline('FILE')}, --local-config=${chalk.bold.underline(
|
||||
'FILE'
|
||||
)} Path to the local ${'`vercel.json`'} file
|
||||
|
||||
@@ -23,6 +23,7 @@ const help = () => {
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-f, --follow Wait for additional data [off]
|
||||
-n ${chalk.bold.underline(
|
||||
'NUMBER'
|
||||
|
||||
@@ -31,6 +31,7 @@ const help = () => {
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
--environment [environment] Deployment environment [development]
|
||||
-y, --yes Skip questions when setting up new project using default scope and settings
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ const help = () => {
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-t ${chalk.bold.underline('TOKEN')}, --token=${chalk.bold.underline(
|
||||
'TOKEN'
|
||||
)} Login token
|
||||
|
||||
@@ -28,6 +28,7 @@ const help = () => {
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-t ${chalk.bold.underline('TOKEN')}, --token=${chalk.bold.underline(
|
||||
'TOKEN'
|
||||
)} Login token
|
||||
|
||||
@@ -30,6 +30,7 @@ const help = () => {
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-N, --next Show next page of results
|
||||
|
||||
${chalk.dim('Examples:')}
|
||||
|
||||
@@ -19,6 +19,7 @@ const help = () => {
|
||||
'DIR'
|
||||
)} Path to the global ${'`.vercel`'} directory
|
||||
-d, --debug Debug mode [off]
|
||||
--no-color No color mode [off]
|
||||
-t ${chalk.bold.underline('TOKEN')}, --token=${chalk.bold.underline(
|
||||
'TOKEN'
|
||||
)} Login token
|
||||
|
||||
@@ -103,7 +103,12 @@ const main = async () => {
|
||||
}
|
||||
|
||||
const isDebugging = argv['--debug'];
|
||||
const output = new Output(process.stderr, { debug: isDebugging });
|
||||
const isNoColor = argv['--no-color'];
|
||||
|
||||
const output = new Output(process.stderr, {
|
||||
debug: isDebugging,
|
||||
noColor: isNoColor,
|
||||
});
|
||||
|
||||
debug = output.debug;
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ const ARG_COMMON = {
|
||||
'--debug': Boolean,
|
||||
'-d': '--debug',
|
||||
|
||||
'--no-color': Boolean,
|
||||
|
||||
'--token': String,
|
||||
'-t': '--token',
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
export const emojiLabels = {
|
||||
const emojiLabels = {
|
||||
notice: '📝',
|
||||
tip: '💡',
|
||||
warning: '❗️',
|
||||
@@ -8,6 +8,8 @@ export const emojiLabels = {
|
||||
locked: '🔒',
|
||||
} as const;
|
||||
|
||||
const stripEmojiRegex = new RegExp(Object.values(emojiLabels).join('|'), 'gi');
|
||||
|
||||
export type EmojiLabel = keyof typeof emojiLabels;
|
||||
|
||||
export function emoji(label: EmojiLabel) {
|
||||
@@ -21,3 +23,9 @@ export function prependEmoji(message: string, emoji?: string): string {
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
export function removeEmoji(message: string): string {
|
||||
const result = message.replace(stripEmojiRegex, '').trimStart();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -5,12 +5,14 @@ import renderLink from './link';
|
||||
import wait, { StopSpinner } from './wait';
|
||||
import type { WritableTTY } from '../../types';
|
||||
import { errorToString } from '@vercel/error-utils';
|
||||
import { removeEmoji } from '../emoji';
|
||||
|
||||
const IS_TEST = process.env.NODE_ENV === 'test';
|
||||
|
||||
export interface OutputOptions {
|
||||
debug?: boolean;
|
||||
supportsHyperlink?: boolean;
|
||||
noColor?: boolean;
|
||||
}
|
||||
|
||||
export interface LogOptions {
|
||||
@@ -25,6 +27,7 @@ export class Output {
|
||||
stream: WritableTTY;
|
||||
debugEnabled: boolean;
|
||||
supportsHyperlink: boolean;
|
||||
colorDisabled: boolean;
|
||||
private spinnerMessage: string;
|
||||
private _spinner: StopSpinner | null;
|
||||
|
||||
@@ -33,6 +36,7 @@ export class Output {
|
||||
{
|
||||
debug: debugEnabled = false,
|
||||
supportsHyperlink = detectSupportsHyperlink(stream),
|
||||
noColor = false,
|
||||
}: OutputOptions = {}
|
||||
) {
|
||||
this.stream = stream;
|
||||
@@ -40,6 +44,11 @@ export class Output {
|
||||
this.supportsHyperlink = supportsHyperlink;
|
||||
this.spinnerMessage = '';
|
||||
this._spinner = null;
|
||||
|
||||
this.colorDisabled = getNoColor(noColor);
|
||||
if (this.colorDisabled) {
|
||||
chalk.level = 0;
|
||||
}
|
||||
}
|
||||
|
||||
isDebugEnabled = () => {
|
||||
@@ -47,6 +56,9 @@ export class Output {
|
||||
};
|
||||
|
||||
print = (str: string) => {
|
||||
if (this.colorDisabled) {
|
||||
str = removeEmoji(str);
|
||||
}
|
||||
this.stopSpinner();
|
||||
this.stream.write(str);
|
||||
};
|
||||
@@ -203,3 +215,14 @@ export class Output {
|
||||
return ansiEscapes.link(chalk.cyan(text), url);
|
||||
};
|
||||
}
|
||||
|
||||
function getNoColor(noColorArg: boolean | undefined): boolean {
|
||||
// FORCE_COLOR: the standard supported by chalk https://github.com/chalk/chalk#supportscolor
|
||||
// NO_COLOR: the standard we want to support https://no-color.org/
|
||||
// noColorArg: the `--no-color` arg passed to the CLI command
|
||||
const noColor =
|
||||
process.env.FORCE_COLOR === '0' ||
|
||||
process.env.NO_COLOR === '1' ||
|
||||
noColorArg;
|
||||
return !!noColor;
|
||||
}
|
||||
|
||||
@@ -132,6 +132,14 @@ export class MockClient extends Client {
|
||||
|
||||
setArgv(...argv: string[]) {
|
||||
this.argv = [process.execPath, 'cli.js', ...argv];
|
||||
this.output = new Output(this.stderr, {
|
||||
debug: argv.includes('--debug') || argv.includes('-d'),
|
||||
noColor: argv.includes('--no-color'),
|
||||
});
|
||||
}
|
||||
|
||||
resetOutput() {
|
||||
this.output = new Output(this.stderr);
|
||||
}
|
||||
|
||||
useScenario(scenario: Scenario) {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import login from '../../../src/commands/login';
|
||||
import { emoji } from '../../../src/util/emoji';
|
||||
import { client } from '../../mocks/client';
|
||||
import { useUser } from '../../mocks/user';
|
||||
|
||||
@@ -45,5 +46,115 @@ describe('login', () => {
|
||||
|
||||
await expect(exitCodePromise).resolves.toEqual(0);
|
||||
});
|
||||
|
||||
it('should allow the `--no-color` flag', async () => {
|
||||
const user = useUser();
|
||||
client.setArgv('login', '--no-color');
|
||||
const exitCodePromise = login(client);
|
||||
await expect(client.stderr).toOutput(`> Log in to Vercel`);
|
||||
|
||||
// Move down to "Email" option
|
||||
client.stdin.write('\x1B[B'); // Down arrow
|
||||
client.stdin.write('\x1B[B'); // Down arrow
|
||||
client.stdin.write('\x1B[B'); // Down arrow
|
||||
client.stdin.write('\r'); // Return key
|
||||
|
||||
await expect(client.stderr).toOutput('> Enter your email address:');
|
||||
|
||||
client.stdin.write(`${user.email}\n`);
|
||||
|
||||
await expect(client.stderr).toOutput(
|
||||
`Success! Email authentication complete for ${user.email}`
|
||||
);
|
||||
|
||||
await expect(client.stderr).not.toOutput(emoji('tip'));
|
||||
|
||||
await expect(exitCodePromise).resolves.toEqual(0);
|
||||
});
|
||||
|
||||
describe('with NO_COLOR="1" env var', () => {
|
||||
let previousNoColor: string | undefined;
|
||||
|
||||
beforeEach(() => {
|
||||
previousNoColor = process.env.NO_COLOR;
|
||||
process.env.NO_COLOR = '1';
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
delete process.env.NO_COLOR;
|
||||
if (previousNoColor) {
|
||||
process.env.NO_COLOR = previousNoColor;
|
||||
}
|
||||
});
|
||||
|
||||
it('should remove emoji the `NO_COLOR` env var with 1', async () => {
|
||||
client.resetOutput();
|
||||
|
||||
const user = useUser();
|
||||
client.setArgv('login');
|
||||
const exitCodePromise = login(client);
|
||||
await expect(client.stderr).toOutput(`> Log in to Vercel`);
|
||||
|
||||
// Move down to "Email" option
|
||||
client.stdin.write('\x1B[B'); // Down arrow
|
||||
client.stdin.write('\x1B[B'); // Down arrow
|
||||
client.stdin.write('\x1B[B'); // Down arrow
|
||||
client.stdin.write('\r'); // Return key
|
||||
|
||||
await expect(client.stderr).toOutput('> Enter your email address:');
|
||||
|
||||
client.stdin.write(`${user.email}\n`);
|
||||
|
||||
await expect(client.stderr).toOutput(
|
||||
`Success! Email authentication complete for ${user.email}`
|
||||
);
|
||||
|
||||
await expect(client.stderr).not.toOutput(emoji('tip'));
|
||||
|
||||
await expect(exitCodePromise).resolves.toEqual(0);
|
||||
});
|
||||
});
|
||||
|
||||
describe('with FORCE_COLOR="0" env var', () => {
|
||||
let previousForceColor: string | undefined;
|
||||
|
||||
beforeEach(() => {
|
||||
previousForceColor = process.env.FORCE_COLOR;
|
||||
process.env.FORCE_COLOR = '0';
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
delete process.env.FORCE_COLOR;
|
||||
if (previousForceColor) {
|
||||
process.env.FORCE_COLOR = previousForceColor;
|
||||
}
|
||||
});
|
||||
|
||||
it('should remove emoji the `FORCE_COLOR` env var with 0', async () => {
|
||||
client.resetOutput();
|
||||
|
||||
const user = useUser();
|
||||
client.setArgv('login');
|
||||
const exitCodePromise = login(client);
|
||||
await expect(client.stderr).toOutput(`> Log in to Vercel`);
|
||||
|
||||
// Move down to "Email" option
|
||||
client.stdin.write('\x1B[B'); // Down arrow
|
||||
client.stdin.write('\x1B[B'); // Down arrow
|
||||
client.stdin.write('\x1B[B'); // Down arrow
|
||||
client.stdin.write('\r'); // Return key
|
||||
|
||||
await expect(client.stderr).toOutput('> Enter your email address:');
|
||||
|
||||
client.stdin.write(`${user.email}\n`);
|
||||
|
||||
await expect(client.stderr).toOutput(
|
||||
`Success! Email authentication complete for ${user.email}`
|
||||
);
|
||||
|
||||
await expect(client.stderr).not.toOutput(emoji('tip'));
|
||||
await expect(exitCodePromise).resolves.toEqual(0);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/client",
|
||||
"version": "12.3.6",
|
||||
"version": "12.3.7",
|
||||
"main": "dist/index.js",
|
||||
"typings": "dist/index.d.ts",
|
||||
"homepage": "https://vercel.com",
|
||||
@@ -43,7 +43,7 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"@vercel/routing-utils": "2.1.8",
|
||||
"@zeit/fetch": "5.2.0",
|
||||
"async-retry": "1.2.3",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/fs-detectors",
|
||||
"version": "3.7.9",
|
||||
"version": "3.7.10",
|
||||
"description": "Vercel filesystem detectors",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -35,7 +35,7 @@
|
||||
"@types/minimatch": "3.0.5",
|
||||
"@types/node": "14.18.33",
|
||||
"@types/semver": "7.3.10",
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"typescript": "4.3.4"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/gatsby-plugin-vercel-builder",
|
||||
"version": "1.1.1",
|
||||
"version": "1.1.2",
|
||||
"main": "dist/index.js",
|
||||
"files": [
|
||||
"dist",
|
||||
@@ -14,8 +14,8 @@
|
||||
"build:src": "tsc -p tsconfig.src.json"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/node": "2.9.1",
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"@vercel/node": "2.9.2",
|
||||
"@vercel/routing-utils": "2.1.8",
|
||||
"ajv": "8.12.0",
|
||||
"esbuild": "0.14.47",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/go",
|
||||
"version": "2.3.2",
|
||||
"version": "2.3.3",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index",
|
||||
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/go",
|
||||
@@ -36,7 +36,7 @@
|
||||
"@types/node": "14.18.33",
|
||||
"@types/node-fetch": "^2.3.0",
|
||||
"@types/tar": "^4.0.0",
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"@vercel/ncc": "0.24.0",
|
||||
"async-retry": "1.3.1",
|
||||
"execa": "^1.0.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/hydrogen",
|
||||
"version": "0.0.48",
|
||||
"version": "0.0.49",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index.js",
|
||||
"homepage": "https://vercel.com/docs",
|
||||
@@ -21,7 +21,7 @@
|
||||
"devDependencies": {
|
||||
"@types/jest": "27.5.1",
|
||||
"@types/node": "14.18.33",
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"@vercel/static-config": "2.0.12",
|
||||
"execa": "3.2.0",
|
||||
"fs-extra": "11.1.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/next",
|
||||
"version": "3.4.0",
|
||||
"version": "3.4.1",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index",
|
||||
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/next-js",
|
||||
@@ -45,7 +45,7 @@
|
||||
"@types/semver": "6.0.0",
|
||||
"@types/text-table": "0.2.1",
|
||||
"@types/webpack-sources": "3.2.0",
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"@vercel/nft": "0.22.5",
|
||||
"@vercel/routing-utils": "2.1.8",
|
||||
"async-sema": "3.0.1",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/node",
|
||||
"version": "2.9.1",
|
||||
"version": "2.9.2",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index",
|
||||
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/node-js",
|
||||
@@ -31,7 +31,7 @@
|
||||
"dependencies": {
|
||||
"@edge-runtime/vm": "2.0.0",
|
||||
"@types/node": "14.18.33",
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"@vercel/node-bridge": "3.1.10",
|
||||
"@vercel/static-config": "2.0.12",
|
||||
"edge-runtime": "2.0.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/python",
|
||||
"version": "3.1.44",
|
||||
"version": "3.1.45",
|
||||
"main": "./dist/index.js",
|
||||
"license": "MIT",
|
||||
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/python",
|
||||
@@ -23,7 +23,7 @@
|
||||
"@types/execa": "^0.9.0",
|
||||
"@types/jest": "27.4.1",
|
||||
"@types/node": "14.18.33",
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"@vercel/ncc": "0.24.0",
|
||||
"execa": "^1.0.0",
|
||||
"typescript": "4.3.4"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/redwood",
|
||||
"version": "1.1.0",
|
||||
"version": "1.1.1",
|
||||
"main": "./dist/index.js",
|
||||
"license": "MIT",
|
||||
"homepage": "https://vercel.com/docs",
|
||||
@@ -27,7 +27,7 @@
|
||||
"@types/aws-lambda": "8.10.19",
|
||||
"@types/node": "14.18.33",
|
||||
"@types/semver": "6.0.0",
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"execa": "3.2.0",
|
||||
"fs-extra": "11.1.0",
|
||||
"typescript": "4.3.4"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/remix",
|
||||
"version": "1.2.11",
|
||||
"version": "1.2.12",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index.js",
|
||||
"homepage": "https://vercel.com/docs",
|
||||
@@ -24,7 +24,7 @@
|
||||
"devDependencies": {
|
||||
"@types/jest": "27.5.1",
|
||||
"@types/node": "14.18.33",
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"typescript": "4.9.4"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@vercel/ruby",
|
||||
"author": "Nathan Cahill <nathan@nathancahill.com>",
|
||||
"version": "1.3.60",
|
||||
"version": "1.3.61",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index",
|
||||
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/ruby",
|
||||
@@ -22,7 +22,7 @@
|
||||
"devDependencies": {
|
||||
"@types/fs-extra": "8.0.0",
|
||||
"@types/semver": "6.0.0",
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"@vercel/ncc": "0.24.0",
|
||||
"execa": "2.0.4",
|
||||
"fs-extra": "^7.0.1",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/static-build",
|
||||
"version": "1.3.3",
|
||||
"version": "1.3.4",
|
||||
"license": "MIT",
|
||||
"main": "./dist/index",
|
||||
"homepage": "https://vercel.com/docs/build-step",
|
||||
@@ -30,7 +30,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@vercel/gatsby-plugin-vercel-analytics": "1.0.7",
|
||||
"@vercel/gatsby-plugin-vercel-builder": "1.1.1"
|
||||
"@vercel/gatsby-plugin-vercel-builder": "1.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/aws-lambda": "8.10.64",
|
||||
@@ -42,9 +42,9 @@
|
||||
"@types/node-fetch": "2.5.4",
|
||||
"@types/promise-timeout": "1.3.0",
|
||||
"@types/semver": "7.3.13",
|
||||
"@vercel/build-utils": "6.2.0",
|
||||
"@vercel/build-utils": "6.2.1",
|
||||
"@vercel/frameworks": "1.3.0",
|
||||
"@vercel/fs-detectors": "3.7.9",
|
||||
"@vercel/fs-detectors": "3.7.10",
|
||||
"@vercel/ncc": "0.24.0",
|
||||
"@vercel/routing-utils": "2.1.8",
|
||||
"@vercel/static-config": "2.0.12",
|
||||
|
||||
54
pnpm-lock.yaml
generated
54
pnpm-lock.yaml
generated
@@ -196,23 +196,23 @@ importers:
|
||||
'@types/which': 1.3.2
|
||||
'@types/write-json-file': 2.2.1
|
||||
'@types/yauzl-promise': 2.1.0
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/client': 12.3.6
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/client': 12.3.7
|
||||
'@vercel/error-utils': 1.0.8
|
||||
'@vercel/frameworks': 1.3.0
|
||||
'@vercel/fs-detectors': 3.7.9
|
||||
'@vercel/fs-detectors': 3.7.10
|
||||
'@vercel/fun': 1.0.4
|
||||
'@vercel/go': 2.3.2
|
||||
'@vercel/hydrogen': 0.0.48
|
||||
'@vercel/go': 2.3.3
|
||||
'@vercel/hydrogen': 0.0.49
|
||||
'@vercel/ncc': 0.24.0
|
||||
'@vercel/next': 3.4.0
|
||||
'@vercel/node': 2.9.1
|
||||
'@vercel/python': 3.1.44
|
||||
'@vercel/redwood': 1.1.0
|
||||
'@vercel/remix': 1.2.11
|
||||
'@vercel/next': 3.4.1
|
||||
'@vercel/node': 2.9.2
|
||||
'@vercel/python': 3.1.45
|
||||
'@vercel/redwood': 1.1.1
|
||||
'@vercel/remix': 1.2.12
|
||||
'@vercel/routing-utils': 2.1.8
|
||||
'@vercel/ruby': 1.3.60
|
||||
'@vercel/static-build': 1.3.3
|
||||
'@vercel/ruby': 1.3.61
|
||||
'@vercel/static-build': 1.3.4
|
||||
'@zeit/source-map-support': 0.6.2
|
||||
ajv: 6.12.2
|
||||
alpha-sort: 2.0.1
|
||||
@@ -438,7 +438,7 @@ importers:
|
||||
'@types/node-fetch': 2.5.4
|
||||
'@types/recursive-readdir': 2.2.0
|
||||
'@types/tar-fs': 1.16.1
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/routing-utils': 2.1.8
|
||||
'@zeit/fetch': 5.2.0
|
||||
async-retry: 1.2.3
|
||||
@@ -543,7 +543,7 @@ importers:
|
||||
'@types/minimatch': 3.0.5
|
||||
'@types/node': 14.18.33
|
||||
'@types/semver': 7.3.10
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/error-utils': 1.0.8
|
||||
'@vercel/frameworks': 1.3.0
|
||||
'@vercel/routing-utils': 2.1.8
|
||||
@@ -591,8 +591,8 @@ importers:
|
||||
'@types/fs-extra': 11.0.1
|
||||
'@types/node': 14.18.33
|
||||
'@types/react': 18.0.26
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/node': 2.9.1
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/node': 2.9.2
|
||||
'@vercel/routing-utils': 2.1.8
|
||||
ajv: 8.12.0
|
||||
esbuild: 0.14.47
|
||||
@@ -626,7 +626,7 @@ importers:
|
||||
'@types/node': 14.18.33
|
||||
'@types/node-fetch': ^2.3.0
|
||||
'@types/tar': ^4.0.0
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/ncc': 0.24.0
|
||||
async-retry: 1.3.1
|
||||
execa: ^1.0.0
|
||||
@@ -658,7 +658,7 @@ importers:
|
||||
specifiers:
|
||||
'@types/jest': 27.5.1
|
||||
'@types/node': 14.18.33
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/static-config': 2.0.12
|
||||
execa: 3.2.0
|
||||
fs-extra: 11.1.0
|
||||
@@ -689,7 +689,7 @@ importers:
|
||||
'@types/semver': 6.0.0
|
||||
'@types/text-table': 0.2.1
|
||||
'@types/webpack-sources': 3.2.0
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/nft': 0.22.5
|
||||
'@vercel/routing-utils': 2.1.8
|
||||
async-sema: 3.0.1
|
||||
@@ -768,7 +768,7 @@ importers:
|
||||
'@types/node': 14.18.33
|
||||
'@types/node-fetch': ^2.6.1
|
||||
'@types/test-listen': 1.1.0
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/ncc': 0.24.0
|
||||
'@vercel/nft': 0.22.5
|
||||
'@vercel/node-bridge': 3.1.10
|
||||
@@ -852,7 +852,7 @@ importers:
|
||||
'@types/execa': ^0.9.0
|
||||
'@types/jest': 27.4.1
|
||||
'@types/node': 14.18.33
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/ncc': 0.24.0
|
||||
execa: ^1.0.0
|
||||
typescript: 4.3.4
|
||||
@@ -870,7 +870,7 @@ importers:
|
||||
'@types/aws-lambda': 8.10.19
|
||||
'@types/node': 14.18.33
|
||||
'@types/semver': 6.0.0
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/nft': 0.22.5
|
||||
'@vercel/routing-utils': 2.1.8
|
||||
execa: 3.2.0
|
||||
@@ -894,7 +894,7 @@ importers:
|
||||
specifiers:
|
||||
'@types/jest': 27.5.1
|
||||
'@types/node': 14.18.33
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/nft': 0.22.5
|
||||
typescript: 4.9.4
|
||||
dependencies:
|
||||
@@ -925,7 +925,7 @@ importers:
|
||||
specifiers:
|
||||
'@types/fs-extra': 8.0.0
|
||||
'@types/semver': 6.0.0
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/ncc': 0.24.0
|
||||
execa: 2.0.4
|
||||
fs-extra: ^7.0.1
|
||||
@@ -952,11 +952,11 @@ importers:
|
||||
'@types/node-fetch': 2.5.4
|
||||
'@types/promise-timeout': 1.3.0
|
||||
'@types/semver': 7.3.13
|
||||
'@vercel/build-utils': 6.2.0
|
||||
'@vercel/build-utils': 6.2.1
|
||||
'@vercel/frameworks': 1.3.0
|
||||
'@vercel/fs-detectors': 3.7.9
|
||||
'@vercel/fs-detectors': 3.7.10
|
||||
'@vercel/gatsby-plugin-vercel-analytics': 1.0.7
|
||||
'@vercel/gatsby-plugin-vercel-builder': 1.1.1
|
||||
'@vercel/gatsby-plugin-vercel-builder': 1.1.2
|
||||
'@vercel/ncc': 0.24.0
|
||||
'@vercel/routing-utils': 2.1.8
|
||||
'@vercel/static-config': 2.0.12
|
||||
|
||||
Reference in New Issue
Block a user