mirror of
https://github.com/LukeHagar/vercel.git
synced 2025-12-09 12:57:46 +00:00
[cli] Run middleware as a plugin instead of running directly (#6941)
* Move loadPlugins to a utils file to be shared w/ dev server. * Update loadCliPlugins to also return startDevServer and runDevMiddleware based plugins. * Move plugins back to dependencies. These can't be bundled as it interferes with plugin resolution. * Hook up middleware plugins to dev server. * Pass output object to loadCliPlugins instead of a logging function. * Allow more than one runDevMiddleware defining plugins. * Bundle esbuild w/ middleware plugin. * Keep esbuild as an external * Update middleware's esbuild. * set old space size * Revert "set old space size" This reverts commit b579194a862949a11769e9087f01c31f2e1f3b60. * Use --max-old-space-size for CLI unit tests * Increase memory * Use `run.js` to set the memory * Make NODE_OPTIONS optional Co-authored-by: Leo Lamprecht <leo@vercel.com> Co-authored-by: Andy <AndyBitz@users.noreply.github.com> Co-authored-by: Andy Bitz <artzbitz@gmail.com>
This commit is contained in:
@@ -23,13 +23,11 @@ import handleError from '../util/handle-error';
|
|||||||
import confirm from '../util/input/confirm';
|
import confirm from '../util/input/confirm';
|
||||||
import { isSettingValue } from '../util/is-setting-value';
|
import { isSettingValue } from '../util/is-setting-value';
|
||||||
import cmd from '../util/output/cmd';
|
import cmd from '../util/output/cmd';
|
||||||
import code from '../util/output/code';
|
|
||||||
import { getColorForPkgName } from '../util/output/color-name-cache';
|
|
||||||
import logo from '../util/output/logo';
|
import logo from '../util/output/logo';
|
||||||
import param from '../util/output/param';
|
import param from '../util/output/param';
|
||||||
import stamp from '../util/output/stamp';
|
import stamp from '../util/output/stamp';
|
||||||
import cliPkgJson from '../util/pkg';
|
|
||||||
import { getCommandName, getPkgName } from '../util/pkg-name';
|
import { getCommandName, getPkgName } from '../util/pkg-name';
|
||||||
|
import { loadCliPlugins } from '../util/plugins';
|
||||||
import { findFramework } from '../util/projects/find-framework';
|
import { findFramework } from '../util/projects/find-framework';
|
||||||
import { VERCEL_DIR } from '../util/projects/link';
|
import { VERCEL_DIR } from '../util/projects/link';
|
||||||
import {
|
import {
|
||||||
@@ -69,7 +67,6 @@ const help = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const OUTPUT_DIR = '.output';
|
const OUTPUT_DIR = '.output';
|
||||||
const VERCEL_PLUGIN_PREFIX = 'vercel-plugin-';
|
|
||||||
|
|
||||||
const fields: {
|
const fields: {
|
||||||
name: string;
|
name: string;
|
||||||
@@ -200,7 +197,7 @@ export default async function main(client: Client) {
|
|||||||
const debug = argv['--debug'];
|
const debug = argv['--debug'];
|
||||||
let plugins;
|
let plugins;
|
||||||
try {
|
try {
|
||||||
plugins = await loadCliPlugins(client, cwd);
|
plugins = await loadCliPlugins(cwd, client.output);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
client.output.error('Failed to load CLI Plugins');
|
client.output.error('Failed to load CLI Plugins');
|
||||||
handleError(error, { debug });
|
handleError(error, { debug });
|
||||||
@@ -615,52 +612,6 @@ export async function runPackageJsonScript(
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function loadCliPlugins(client: Client, cwd: string) {
|
|
||||||
const { packageJson } = await scanParentDirs(cwd, true);
|
|
||||||
|
|
||||||
let pluginCount = 0;
|
|
||||||
const preBuildPlugins = [];
|
|
||||||
const buildPlugins = [];
|
|
||||||
const deps = new Set(
|
|
||||||
[
|
|
||||||
...Object.keys(packageJson?.dependencies || {}),
|
|
||||||
...Object.keys(packageJson?.devDependencies || {}),
|
|
||||||
...Object.keys(cliPkgJson.dependencies),
|
|
||||||
].filter(dep => dep.startsWith(VERCEL_PLUGIN_PREFIX))
|
|
||||||
);
|
|
||||||
|
|
||||||
for (let dep of deps) {
|
|
||||||
pluginCount++;
|
|
||||||
const resolved = require.resolve(dep, {
|
|
||||||
paths: [cwd, process.cwd(), __dirname],
|
|
||||||
});
|
|
||||||
let plugin;
|
|
||||||
try {
|
|
||||||
plugin = require(resolved);
|
|
||||||
const color = getColorForPkgName(dep);
|
|
||||||
if (typeof plugin.preBuild === 'function') {
|
|
||||||
preBuildPlugins.push({
|
|
||||||
plugin,
|
|
||||||
name: dep,
|
|
||||||
color,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
if (typeof plugin.build === 'function') {
|
|
||||||
buildPlugins.push({
|
|
||||||
plugin,
|
|
||||||
name: dep,
|
|
||||||
color,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
client.output.error(`Failed to import ${code(dep)}`);
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return { pluginCount, preBuildPlugins, buildPlugins };
|
|
||||||
}
|
|
||||||
|
|
||||||
async function linkOrCopy(existingPath: string, newPath: string) {
|
async function linkOrCopy(existingPath: string, newPath: string) {
|
||||||
try {
|
try {
|
||||||
await fs.createLink(existingPath, newPath);
|
await fs.createLink(existingPath, newPath);
|
||||||
|
|||||||
@@ -22,8 +22,6 @@ import deepEqual from 'fast-deep-equal';
|
|||||||
import which from 'which';
|
import which from 'which';
|
||||||
import npa from 'npm-package-arg';
|
import npa from 'npm-package-arg';
|
||||||
|
|
||||||
import { runDevMiddleware } from 'vercel-plugin-middleware';
|
|
||||||
|
|
||||||
import { getVercelIgnore, fileNameSymbol } from '@vercel/client';
|
import { getVercelIgnore, fileNameSymbol } from '@vercel/client';
|
||||||
import {
|
import {
|
||||||
getTransformedRoutes,
|
getTransformedRoutes,
|
||||||
@@ -91,6 +89,7 @@ import {
|
|||||||
} from './types';
|
} from './types';
|
||||||
import { ProjectEnvVariable, ProjectSettings } from '../../types';
|
import { ProjectEnvVariable, ProjectSettings } from '../../types';
|
||||||
import exposeSystemEnvs from './expose-system-envs';
|
import exposeSystemEnvs from './expose-system-envs';
|
||||||
|
import { loadCliPlugins } from '../plugins';
|
||||||
|
|
||||||
const frontendRuntimeSet = new Set(
|
const frontendRuntimeSet = new Set(
|
||||||
frameworkList.map(f => f.useRuntime?.use || '@vercel/static-build')
|
frameworkList.map(f => f.useRuntime?.use || '@vercel/static-build')
|
||||||
@@ -1351,6 +1350,23 @@ export default class DevServer {
|
|||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
runDevMiddleware = async (
|
||||||
|
req: http.IncomingMessage,
|
||||||
|
res: http.ServerResponse
|
||||||
|
) => {
|
||||||
|
const { devMiddlewarePlugins } = await loadCliPlugins(
|
||||||
|
this.cwd,
|
||||||
|
this.output
|
||||||
|
);
|
||||||
|
for (let plugin of devMiddlewarePlugins) {
|
||||||
|
const result = await plugin.plugin.runDevMiddleware(req, res, this.cwd);
|
||||||
|
if (result.finished) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return { finished: false };
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Serve project directory as a v2 deployment.
|
* Serve project directory as a v2 deployment.
|
||||||
*/
|
*/
|
||||||
@@ -1418,7 +1434,7 @@ export default class DevServer {
|
|||||||
let prevUrl = req.url;
|
let prevUrl = req.url;
|
||||||
let prevHeaders: HttpHeadersConfig = {};
|
let prevHeaders: HttpHeadersConfig = {};
|
||||||
|
|
||||||
const middlewareResult = await runDevMiddleware(req, res, this.cwd);
|
const middlewareResult = await this.runDevMiddleware(req, res);
|
||||||
|
|
||||||
if (middlewareResult) {
|
if (middlewareResult) {
|
||||||
if (middlewareResult.error) {
|
if (middlewareResult.error) {
|
||||||
|
|||||||
76
packages/cli/src/util/plugins.ts
Normal file
76
packages/cli/src/util/plugins.ts
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
import code from '../util/output/code';
|
||||||
|
import { getColorForPkgName } from '../util/output/color-name-cache';
|
||||||
|
import cliPkgJson from '../util/pkg';
|
||||||
|
import { scanParentDirs } from '@vercel/build-utils';
|
||||||
|
import { Output } from './output';
|
||||||
|
|
||||||
|
const VERCEL_PLUGIN_PREFIX = 'vercel-plugin-';
|
||||||
|
|
||||||
|
export async function loadCliPlugins(cwd: string, output: Output) {
|
||||||
|
const { packageJson } = await scanParentDirs(cwd, true);
|
||||||
|
|
||||||
|
let pluginCount = 0;
|
||||||
|
const preBuildPlugins = [];
|
||||||
|
const buildPlugins = [];
|
||||||
|
const devServerPlugins = [];
|
||||||
|
const devMiddlewarePlugins = [];
|
||||||
|
const deps = new Set(
|
||||||
|
[
|
||||||
|
...Object.keys(packageJson?.dependencies || {}),
|
||||||
|
...Object.keys(packageJson?.devDependencies || {}),
|
||||||
|
...Object.keys(cliPkgJson.dependencies),
|
||||||
|
].filter(dep => dep.startsWith(VERCEL_PLUGIN_PREFIX))
|
||||||
|
);
|
||||||
|
|
||||||
|
for (let dep of deps) {
|
||||||
|
pluginCount++;
|
||||||
|
const resolved = require.resolve(dep, {
|
||||||
|
paths: [cwd, process.cwd(), __dirname],
|
||||||
|
});
|
||||||
|
let plugin;
|
||||||
|
try {
|
||||||
|
plugin = require(resolved);
|
||||||
|
|
||||||
|
const color = getColorForPkgName(dep);
|
||||||
|
if (typeof plugin.preBuild === 'function') {
|
||||||
|
preBuildPlugins.push({
|
||||||
|
plugin,
|
||||||
|
name: dep,
|
||||||
|
color,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (typeof plugin.build === 'function') {
|
||||||
|
buildPlugins.push({
|
||||||
|
plugin,
|
||||||
|
name: dep,
|
||||||
|
color,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (typeof plugin.startDevServer === 'function') {
|
||||||
|
devServerPlugins.push({
|
||||||
|
plugin,
|
||||||
|
name: dep,
|
||||||
|
color,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (typeof plugin.runDevMiddleware === 'function') {
|
||||||
|
devMiddlewarePlugins.push({
|
||||||
|
plugin,
|
||||||
|
name: dep,
|
||||||
|
color,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
output.error(`Failed to import ${code(dep)}`);
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
pluginCount,
|
||||||
|
preBuildPlugins,
|
||||||
|
buildPlugins,
|
||||||
|
devServerPlugins,
|
||||||
|
devMiddlewarePlugins,
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -13,7 +13,9 @@ async function main() {
|
|||||||
await execa(
|
await execa(
|
||||||
'ncc',
|
'ncc',
|
||||||
['build', join(srcDir, 'index.ts'), '-o', outDir, '--external', 'esbuild'],
|
['build', join(srcDir, 'index.ts'), '-o', outDir, '--external', 'esbuild'],
|
||||||
{ stdio: 'inherit' }
|
{
|
||||||
|
stdio: 'inherit',
|
||||||
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
await fs.copyFile(
|
await fs.copyFile(
|
||||||
|
|||||||
@@ -17,6 +17,9 @@
|
|||||||
"files": [
|
"files": [
|
||||||
"dist"
|
"dist"
|
||||||
],
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"esbuild": "0.13.12"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@peculiar/webcrypto": "1.2.0",
|
"@peculiar/webcrypto": "1.2.0",
|
||||||
"@types/cookie": "0.4.1",
|
"@types/cookie": "0.4.1",
|
||||||
@@ -29,7 +32,6 @@
|
|||||||
"@types/uuid": "8.3.1",
|
"@types/uuid": "8.3.1",
|
||||||
"@vercel/ncc": "0.24.0",
|
"@vercel/ncc": "0.24.0",
|
||||||
"cookie": "0.4.1",
|
"cookie": "0.4.1",
|
||||||
"esbuild": "0.13.10",
|
|
||||||
"formdata-node": "4.3.1",
|
"formdata-node": "4.3.1",
|
||||||
"glob": "7.2.0",
|
"glob": "7.2.0",
|
||||||
"http-proxy": "1.18.1",
|
"http-proxy": "1.18.1",
|
||||||
|
|||||||
@@ -295,11 +295,6 @@ async function runMiddleware(params: {
|
|||||||
console.error(`Uncaught: middleware waitUntil errored`, error);
|
console.error(`Uncaught: middleware waitUntil errored`, error);
|
||||||
});
|
});
|
||||||
|
|
||||||
// TODO - is this needed?
|
|
||||||
// if (!result) {
|
|
||||||
// this.send404(params.request, params.response, params.requestId);
|
|
||||||
// }
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
9
utils/run.js
vendored
9
utils/run.js
vendored
@@ -81,6 +81,15 @@ function runScript(pkgName, script) {
|
|||||||
cwd,
|
cwd,
|
||||||
stdio: 'inherit',
|
stdio: 'inherit',
|
||||||
shell: true,
|
shell: true,
|
||||||
|
env: {
|
||||||
|
// Only add this for unit tests, as it's not relevant to others.
|
||||||
|
...(script === 'test-unit'
|
||||||
|
? {
|
||||||
|
NODE_OPTIONS: '--max-old-space-size=4096',
|
||||||
|
}
|
||||||
|
: null),
|
||||||
|
...process.env,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
child.on('error', reject);
|
child.on('error', reject);
|
||||||
child.on('close', (code, signal) => {
|
child.on('close', (code, signal) => {
|
||||||
|
|||||||
178
yarn.lock
178
yarn.lock
@@ -5160,113 +5160,113 @@ es6-promisify@^5.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
es6-promise "^4.0.3"
|
es6-promise "^4.0.3"
|
||||||
|
|
||||||
esbuild-android-arm64@0.13.10:
|
esbuild-android-arm64@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.10.tgz#3545c71bf01e8b36535681078cdb0191c8654452"
|
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.12.tgz#e1f199dc05405cdc6670c00fb6c793822bf8ae4c"
|
||||||
integrity sha512-1sCdVAq64yMp2Uhlu+97/enFxpmrj31QHtThz7K+/QGjbHa7JZdBdBsZCzWJuntKHZ+EU178tHYkvjaI9z5sGg==
|
integrity sha512-TSVZVrb4EIXz6KaYjXfTzPyyRpXV5zgYIADXtQsIenjZ78myvDGaPi11o4ZSaHIwFHsuwkB6ne5SZRBwAQ7maw==
|
||||||
|
|
||||||
esbuild-darwin-64@0.13.10:
|
esbuild-darwin-64@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.10.tgz#143e34d7f5d3860cc681c64c860f531e60496b5b"
|
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.12.tgz#f5c59e622955c01f050e5a7ac9c1d41db714b94d"
|
||||||
integrity sha512-XlL+BYZ2h9cz3opHfFgSHGA+iy/mljBFIRU9q++f9SiBXEZTb4gTW/IENAD1l9oKH0FdO9rUpyAfV+lM4uAxrg==
|
integrity sha512-c51C+N+UHySoV2lgfWSwwmlnLnL0JWj/LzuZt9Ltk9ub1s2Y8cr6SQV5W3mqVH1egUceew6KZ8GyI4nwu+fhsw==
|
||||||
|
|
||||||
esbuild-darwin-arm64@0.13.10:
|
esbuild-darwin-arm64@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.10.tgz#456a044b789d5d256af8d264314da5217ca9fcd1"
|
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.12.tgz#8abae74c2956a8aa568fc52c78829338c4a4b988"
|
||||||
integrity sha512-RZMMqMTyActMrXKkW71IQO8B0tyQm0Bm+ZJQWNaHJchL5LlqazJi7rriwSocP+sKLszHhsyTEBBh6qPdw5g5yQ==
|
integrity sha512-JvAMtshP45Hd8A8wOzjkY1xAnTKTYuP/QUaKp5eUQGX+76GIie3fCdUUr2ZEKdvpSImNqxiZSIMziEiGB5oUmQ==
|
||||||
|
|
||||||
esbuild-freebsd-64@0.13.10:
|
esbuild-freebsd-64@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.10.tgz#dcd829a4a95226716faae8a2f378f08688f921b6"
|
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.12.tgz#6ad2ab8c0364ee7dd2d6e324d876a8e60ae75d12"
|
||||||
integrity sha512-pf4BEN9reF3jvZEZdxljVgOv5JS4kuYFCI78xk+2HWustbLvTP0b9XXfWI/OD0ZLWbyLYZYIA+VbVe4tdAklig==
|
integrity sha512-r6On/Skv9f0ZjTu6PW5o7pdXr8aOgtFOEURJZYf1XAJs0IQ+gW+o1DzXjVkIoT+n1cm3N/t1KRJfX71MPg/ZUA==
|
||||||
|
|
||||||
esbuild-freebsd-arm64@0.13.10:
|
esbuild-freebsd-arm64@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.10.tgz#116c254b3eb1b9d1dd6f12e0271967de4512ca09"
|
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.12.tgz#6f38155f4c300ac4c8adde1fde3cc6a4440a8294"
|
||||||
integrity sha512-j9PUcuNWmlxr4/ry4dK/s6zKh42Jhh/N5qnAAj7tx3gMbkIHW0JBoVSbbgp97p88X9xgKbXx4lG2sJDhDWmsYQ==
|
integrity sha512-F6LmI2Q1gii073kmBE3NOTt/6zLL5zvZsxNLF8PMAwdHc+iBhD1vzfI8uQZMJA1IgXa3ocr3L3DJH9fLGXy6Yw==
|
||||||
|
|
||||||
esbuild-linux-32@0.13.10:
|
esbuild-linux-32@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.10.tgz#131971622c38e5aa014303a494a1b5c3cc90f2be"
|
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.12.tgz#b1d15e330188a8c21de75c3f0058628a3eefade7"
|
||||||
integrity sha512-imtdHG5ru0xUUXuc2ofdtyw0fWlHYXV7JjF7oZHgmn0b+B4o4Nr6ZON3xxoo1IP8wIekW+7b9exIf/MYq0QV7w==
|
integrity sha512-U1UZwG3UIwF7/V4tCVAo/nkBV9ag5KJiJTt+gaCmLVWH3bPLX7y+fNlhIWZy8raTMnXhMKfaTvWZ9TtmXzvkuQ==
|
||||||
|
|
||||||
esbuild-linux-64@0.13.10:
|
esbuild-linux-64@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.10.tgz#48826c388abd5dde3fc098a8ef38d8b548674f93"
|
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.12.tgz#25bd64b66162b02348e32d8f12e4c9ee61f1d070"
|
||||||
integrity sha512-O7fzQIH2e7GC98dvoTH0rad5BVLm9yU3cRWfEmryCEIFTwbNEWCEWOfsePuoGOHRtSwoVY1hPc21CJE4/9rWxQ==
|
integrity sha512-YpXSwtu2NxN3N4ifJxEdsgd6Q5d8LYqskrAwjmoCT6yQnEHJSF5uWcxv783HWN7lnGpJi9KUtDvYsnMdyGw71Q==
|
||||||
|
|
||||||
esbuild-linux-arm64@0.13.10:
|
esbuild-linux-arm64@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.10.tgz#0be9ffc92e30641869c7fbca0ec5d30fa8cbddd6"
|
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.12.tgz#ba582298457cc5c9ac823a275de117620c06537f"
|
||||||
integrity sha512-bkGxN67S2n0PF4zhh87/92kBTsH2xXLuH6T5omReKhpXdJZF5SVDSk5XU/nngARzE+e6QK6isK060Dr5uobzNw==
|
integrity sha512-sgDNb8kb3BVodtAlcFGgwk+43KFCYjnFOaOfJibXnnIojNWuJHpL6aQJ4mumzNWw8Rt1xEtDQyuGK9f+Y24jGA==
|
||||||
|
|
||||||
esbuild-linux-arm@0.13.10:
|
esbuild-linux-arm@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.10.tgz#8c15bcaa41a022c834f049a71a7d1fbade507532"
|
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.12.tgz#6bc81c957bff22725688cc6359c29a25765be09b"
|
||||||
integrity sha512-R2Jij4A0K8BcmBehvQeUteQEcf24Y2YZ6mizlNFuJOBPxe3vZNmkZ4mCE7Pf1tbcqA65qZx8J3WSHeGJl9EsJA==
|
integrity sha512-SyiT/JKxU6J+DY2qUiSLZJqCAftIt3uoGejZ0HDnUM2MGJqEGSGh7p1ecVL2gna3PxS4P+j6WAehCwgkBPXNIw==
|
||||||
|
|
||||||
esbuild-linux-mips64le@0.13.10:
|
esbuild-linux-mips64le@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.10.tgz#5bb33a2bc82e9c78ed724f345a8359610ddc9695"
|
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.12.tgz#ef3c4aba3e585d847cbade5945a8b4a5c62c7ce2"
|
||||||
integrity sha512-UDNO5snJYOLWrA2uOUxM/PVbzzh2TR7Zf2i8zCCuFlYgvAb/81XO+Tasp3YAElDpp4VGqqcpBXLtofa9nrnJGA==
|
integrity sha512-qQJHlZBG+QwVIA8AbTEtbvF084QgDi4DaUsUnA+EolY1bxrG+UyOuGflM2ZritGhfS/k7THFjJbjH2wIeoKA2g==
|
||||||
|
|
||||||
esbuild-linux-ppc64le@0.13.10:
|
esbuild-linux-ppc64le@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.10.tgz#18703cd0d52447d97486735b8e79fba7d81eac65"
|
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.12.tgz#a21fb64e80c38bef06122e48283990fc6db578e1"
|
||||||
integrity sha512-xu6J9rMWu1TcEGuEmoc8gsTrJCEPsf+QtxK4IiUZNde9r4Q4nlRVah4JVZP3hJapZgZJcxsse0XiKXh1UFdOeA==
|
integrity sha512-2dSnm1ldL7Lppwlo04CGQUpwNn5hGqXI38OzaoPOkRsBRWFBozyGxTFSee/zHFS+Pdh3b28JJbRK3owrrRgWNw==
|
||||||
|
|
||||||
esbuild-netbsd-64@0.13.10:
|
esbuild-netbsd-64@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.10.tgz#3ecb06158aadb5b7396a5b7632069181b1591c56"
|
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.12.tgz#1ea7fc8cfce88a20a4047b867ef184049a6641ae"
|
||||||
integrity sha512-d+Gr0ScMC2J83Bfx/ZvJHK0UAEMncctwgjRth9d4zppYGLk/xMfFKxv5z1ib8yZpQThafq8aPm8AqmFIJrEesw==
|
integrity sha512-D4raxr02dcRiQNbxOLzpqBzcJNFAdsDNxjUbKkDMZBkL54Z0vZh4LRndycdZAMcIdizC/l/Yp/ZsBdAFxc5nbA==
|
||||||
|
|
||||||
esbuild-openbsd-64@0.13.10:
|
esbuild-openbsd-64@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.10.tgz#3a6950b1d955de921ac52f7af0b4865e89d6e4f1"
|
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.12.tgz#adde32f2f1b05dc4bd4fc544d6ea5a4379f9ca4d"
|
||||||
integrity sha512-OuCYc+bNKumBvxflga+nFzZvxsgmWQW+z4rMGIjM5XIW0nNbGgRc5p/0PSDv0rTdxAmwCpV69fezal0xjrDaaA==
|
integrity sha512-KuLCmYMb2kh05QuPJ+va60bKIH5wHL8ypDkmpy47lzwmdxNsuySeCMHuTv5o2Af1RUn5KLO5ZxaZeq4GEY7DaQ==
|
||||||
|
|
||||||
esbuild-sunos-64@0.13.10:
|
esbuild-sunos-64@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.10.tgz#ad407f721a8b5727fca31958b5eab1b0232e2d73"
|
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.12.tgz#a7ecaf52b7364fbee76dc8aa707fa3e1cff3342c"
|
||||||
integrity sha512-gUkgivZK11bD56wDoLsnYrsOHD/zHzzLSdqKcIl3wRMulfHpRBpoX8gL0dbWr+8N9c+1HDdbNdvxSRmZ4RCVwg==
|
integrity sha512-jBsF+e0woK3miKI8ufGWKG3o3rY9DpHvCVRn5eburMIIE+2c+y3IZ1srsthKyKI6kkXLvV4Cf/E7w56kLipMXw==
|
||||||
|
|
||||||
esbuild-windows-32@0.13.10:
|
esbuild-windows-32@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.10.tgz#ddaaa0b6e172df6512edc7a91bd2456615cfa914"
|
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.12.tgz#a8756033dc905c4b7bea19be69f7ee68809f8770"
|
||||||
integrity sha512-C1xJ54E56dGWRaYcTnRy7amVZ9n1/D/D2/qVw7e5EtS7p+Fv/yZxxgqyb1hMGKXgtFYX4jMpU5eWBF/AsYrn+A==
|
integrity sha512-L9m4lLFQrFeR7F+eLZXG82SbXZfUhyfu6CexZEil6vm+lc7GDCE0Q8DiNutkpzjv1+RAbIGVva9muItQ7HVTkQ==
|
||||||
|
|
||||||
esbuild-windows-64@0.13.10:
|
esbuild-windows-64@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.10.tgz#93d861abf36bf71b6e61f5cbd2e42762ce5cb83a"
|
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.12.tgz#ae694aa66ca078acb8509b2da31197ed1f40f798"
|
||||||
integrity sha512-6+EXEXopEs3SvPFAHcps2Krp/FvqXXsOQV33cInmyilb0ZBEQew4MIoZtMIyB3YXoV6//dl3i6YbPrFZaWEinQ==
|
integrity sha512-k4tX4uJlSbSkfs78W5d9+I9gpd+7N95W7H2bgOMFPsYREVJs31+Q2gLLHlsnlY95zBoPQMIzHooUIsixQIBjaQ==
|
||||||
|
|
||||||
esbuild-windows-arm64@0.13.10:
|
esbuild-windows-arm64@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.10.tgz#85a2d338aaa8b0cd1d8ecbe9150def9a608e8947"
|
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.12.tgz#782c5a8bd6d717ea55aaafe648f9926ca36a4a88"
|
||||||
integrity sha512-xTqM/XKhORo6u9S5I0dNJWEdWoemFjogLUTVLkQMVyUV3ZuMChahVA+bCqKHdyX55pCFxD/8v2fm3/sfFMWN+g==
|
integrity sha512-2tTv/BpYRIvuwHpp2M960nG7uvL+d78LFW/ikPItO+2GfK51CswIKSetSpDii+cjz8e9iSPgs+BU4o8nWICBwQ==
|
||||||
|
|
||||||
esbuild@0.13.10:
|
esbuild@0.13.12:
|
||||||
version "0.13.10"
|
version "0.13.12"
|
||||||
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.10.tgz#e3d24d59f1d8b2130d746ca858efcb80e1d99b26"
|
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.12.tgz#9cac641594bf03cf34145258c093d743ebbde7ca"
|
||||||
integrity sha512-0NfCsnAh5XatHIx6Cu93wpR2v6opPoOMxONYhaAoZKzGYqAE+INcDeX2wqMdcndvPQdWCuuCmvlnsh0zmbHcSQ==
|
integrity sha512-vTKKUt+yoz61U/BbrnmlG9XIjwpdIxmHB8DlPR0AAW6OdS+nBQBci6LUHU2q9WbBobMEIQxxDpKbkmOGYvxsow==
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
esbuild-android-arm64 "0.13.10"
|
esbuild-android-arm64 "0.13.12"
|
||||||
esbuild-darwin-64 "0.13.10"
|
esbuild-darwin-64 "0.13.12"
|
||||||
esbuild-darwin-arm64 "0.13.10"
|
esbuild-darwin-arm64 "0.13.12"
|
||||||
esbuild-freebsd-64 "0.13.10"
|
esbuild-freebsd-64 "0.13.12"
|
||||||
esbuild-freebsd-arm64 "0.13.10"
|
esbuild-freebsd-arm64 "0.13.12"
|
||||||
esbuild-linux-32 "0.13.10"
|
esbuild-linux-32 "0.13.12"
|
||||||
esbuild-linux-64 "0.13.10"
|
esbuild-linux-64 "0.13.12"
|
||||||
esbuild-linux-arm "0.13.10"
|
esbuild-linux-arm "0.13.12"
|
||||||
esbuild-linux-arm64 "0.13.10"
|
esbuild-linux-arm64 "0.13.12"
|
||||||
esbuild-linux-mips64le "0.13.10"
|
esbuild-linux-mips64le "0.13.12"
|
||||||
esbuild-linux-ppc64le "0.13.10"
|
esbuild-linux-ppc64le "0.13.12"
|
||||||
esbuild-netbsd-64 "0.13.10"
|
esbuild-netbsd-64 "0.13.12"
|
||||||
esbuild-openbsd-64 "0.13.10"
|
esbuild-openbsd-64 "0.13.12"
|
||||||
esbuild-sunos-64 "0.13.10"
|
esbuild-sunos-64 "0.13.12"
|
||||||
esbuild-windows-32 "0.13.10"
|
esbuild-windows-32 "0.13.12"
|
||||||
esbuild-windows-64 "0.13.10"
|
esbuild-windows-64 "0.13.12"
|
||||||
esbuild-windows-arm64 "0.13.10"
|
esbuild-windows-arm64 "0.13.12"
|
||||||
|
|
||||||
esbuild@^0.11.20:
|
esbuild@^0.11.20:
|
||||||
version "0.11.23"
|
version "0.11.23"
|
||||||
|
|||||||
Reference in New Issue
Block a user