feat(planning): grille hebdomadaire complète avec API et filtres

- Connexion API via proxy Angular (résolution CORS, base path /api)
- Import CSS ng-zorro global pour les modales et composants
- Filtres Camion/Show câblés sur l'affichage de la grille
- Camions affichés via TrucksService (linkés au show du même créneau)
- Panneau de détails : spectacles + camions du jour sélectionné
- Modale de création de spectacle stylisée avec fond et centrage
- Positionnement précis des events à la minute dans leur créneau
- Auto-scroll vers l'heure courante au chargement
- Ligne "maintenant" sur la colonne du jour actuel
- Régénération des services OpenAPI (nouveaux noms de types)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 20:36:03 +02:00
parent 150b97cd2e
commit 654b297e2e
3131 changed files with 149304 additions and 104334 deletions
BIN
View File
Binary file not shown.
+10 -21
View File
@@ -91,9 +91,8 @@ var os2 = require("os");
var path2 = require("path");
var zlib = require("zlib");
var https = require("https");
var crypto = require("crypto");
var child_process = require("child_process");
var packageJSON = require(path2.join(__dirname, "package.json"));
var versionFromPackageJSON = require(path2.join(__dirname, "package.json")).version;
var toPath = path2.join(__dirname, "bin", "esbuild");
var isToPathJS = true;
function validateBinaryVersion(...command) {
@@ -133,8 +132,8 @@ which means the "esbuild" binary executable can't be run. You can either:
}
throw err;
}
if (stdout !== packageJSON.version) {
throw new Error(`Expected ${JSON.stringify(packageJSON.version)} but got ${JSON.stringify(stdout)}`);
if (stdout !== versionFromPackageJSON) {
throw new Error(`Expected ${JSON.stringify(versionFromPackageJSON)} but got ${JSON.stringify(stdout)}`);
}
}
function isYarn() {
@@ -185,11 +184,10 @@ function installUsingNPM(pkg, subpath, binPath) {
try {
fs2.writeFileSync(path2.join(installDir, "package.json"), "{}");
child_process.execSync(
`npm install --loglevel=error --prefer-offline --no-audit --progress=false ${pkg}@${packageJSON.version}`,
`npm install --loglevel=error --prefer-offline --no-audit --progress=false ${pkg}@${versionFromPackageJSON}`,
{ cwd: installDir, stdio: "pipe", env }
);
const installedBinPath = path2.join(installDir, "node_modules", pkg, subpath);
binaryIntegrityCheck(pkg, subpath, fs2.readFileSync(installedBinPath));
fs2.renameSync(installedBinPath, binPath);
} finally {
try {
@@ -222,7 +220,8 @@ require('child_process').execFileSync(${pathString}, process.argv.slice(2), { st
fs2.writeFileSync(libMain, `var ESBUILD_BINARY_PATH = ${pathString};
${code}`);
}
function maybeOptimizePackage(binPath, isWASM) {
function maybeOptimizePackage(binPath) {
const { isWASM } = pkgAndSubpathForCurrentPlatform();
if (os2.platform() !== "win32" && !isYarn() && !isWASM) {
const tempPath = path2.join(__dirname, "bin-esbuild");
try {
@@ -234,20 +233,11 @@ function maybeOptimizePackage(binPath, isWASM) {
}
}
}
function binaryIntegrityCheck(pkg, subpath, bytes) {
const hash = crypto.createHash("sha256").update(bytes).digest("hex");
const key = `${pkg}/${subpath}`;
const expected = packageJSON["esbuild.binaryHashes"][key];
if (!expected) throw new Error(`Missing hash for "${key}"`);
if (hash !== expected) throw new Error(`"${hash.slice(0, 8)}..." doesn't match "${expected.slice(0, 8)}..."`);
}
async function downloadDirectlyFromNPM(pkg, subpath, binPath) {
const url = `https://registry.npmjs.org/${pkg}/-/${pkg.replace("@esbuild/", "")}-${packageJSON.version}.tgz`;
const url = `https://registry.npmjs.org/${pkg}/-/${pkg.replace("@esbuild/", "")}-${versionFromPackageJSON}.tgz`;
console.error(`[esbuild] Trying to download ${JSON.stringify(url)}`);
try {
const bytes = extractFileFromTarGzip(await fetch(url), subpath);
binaryIntegrityCheck(pkg, subpath, bytes);
fs2.writeFileSync(binPath, bytes);
fs2.writeFileSync(binPath, extractFileFromTarGzip(await fetch(url), subpath));
fs2.chmodSync(binPath, 493);
} catch (e) {
console.error(`[esbuild] Failed to download ${JSON.stringify(url)}: ${e && e.message || e}`);
@@ -263,7 +253,7 @@ async function checkAndPreparePackage() {
return;
}
}
const { pkg, subpath, isWASM } = pkgAndSubpathForCurrentPlatform();
const { pkg, subpath } = pkgAndSubpathForCurrentPlatform();
let binPath;
try {
binPath = require.resolve(`${pkg}/${subpath}`);
@@ -275,7 +265,6 @@ package.json feature is used by esbuild to install the correct binary executable
for your current platform. This install script will now attempt to work around
this. If that fails, you need to remove the "--no-optional" flag to use esbuild.
`);
if (isWASM) throw new Error(`Failed to install package "${pkg}"`);
binPath = downloadedBinPath(pkg, subpath);
try {
console.error(`[esbuild] Trying to install package "${pkg}" using npm`);
@@ -289,7 +278,7 @@ this. If that fails, you need to remove the "--no-optional" flag to use esbuild.
}
}
}
maybeOptimizePackage(binPath, isWASM);
maybeOptimizePackage(binPath);
}
checkAndPreparePackage().then(() => {
if (isToPathJS) {
+10 -300
View File
@@ -205,7 +205,7 @@ esbuild in this environment because esbuild relies on this invariant. This
is not a problem with esbuild. You need to fix your environment instead.
`);
function readUInt32LE(buffer, offset) {
return (buffer[offset++] | buffer[offset++] << 8 | buffer[offset++] << 16 | buffer[offset++] << 24) >>> 0;
return buffer[offset++] | buffer[offset++] << 8 | buffer[offset++] << 16 | buffer[offset++] << 24;
}
function writeUInt32LE(buffer, value, offset) {
buffer[offset++] = value;
@@ -214,287 +214,6 @@ function writeUInt32LE(buffer, value, offset) {
buffer[offset++] = value >> 24;
}
// lib/shared/uint8array_json_parser.ts
var fromCharCode = String.fromCharCode;
function throwSyntaxError(bytes, index, message) {
const c = bytes[index];
let line = 1;
let column = 0;
for (let i = 0; i < index; i++) {
if (bytes[i] === 10 /* Newline */) {
line++;
column = 0;
} else {
column++;
}
}
throw new SyntaxError(
message ? message : index === bytes.length ? "Unexpected end of input while parsing JSON" : c >= 32 && c <= 126 ? `Unexpected character ${fromCharCode(c)} in JSON at position ${index} (line ${line}, column ${column})` : `Unexpected byte 0x${c.toString(16)} in JSON at position ${index} (line ${line}, column ${column})`
);
}
function JSON_parse(bytes) {
if (!(bytes instanceof Uint8Array)) {
throw new Error(`JSON input must be a Uint8Array`);
}
const propertyStack = [];
const objectStack = [];
const stateStack = [];
const length = bytes.length;
let property = null;
let state = 0 /* TopLevel */;
let object;
let i = 0;
while (i < length) {
let c = bytes[i++];
if (c <= 32 /* Space */) {
continue;
}
let value;
if (state === 2 /* Object */ && property === null && c !== 34 /* Quote */ && c !== 125 /* CloseBrace */) {
throwSyntaxError(bytes, --i);
}
switch (c) {
// True
case 116 /* LowerT */: {
if (bytes[i++] !== 114 /* LowerR */ || bytes[i++] !== 117 /* LowerU */ || bytes[i++] !== 101 /* LowerE */) {
throwSyntaxError(bytes, --i);
}
value = true;
break;
}
// False
case 102 /* LowerF */: {
if (bytes[i++] !== 97 /* LowerA */ || bytes[i++] !== 108 /* LowerL */ || bytes[i++] !== 115 /* LowerS */ || bytes[i++] !== 101 /* LowerE */) {
throwSyntaxError(bytes, --i);
}
value = false;
break;
}
// Null
case 110 /* LowerN */: {
if (bytes[i++] !== 117 /* LowerU */ || bytes[i++] !== 108 /* LowerL */ || bytes[i++] !== 108 /* LowerL */) {
throwSyntaxError(bytes, --i);
}
value = null;
break;
}
// Number begin
case 45 /* Minus */:
case 46 /* Dot */:
case 48 /* Digit0 */:
case 49 /* Digit1 */:
case 50 /* Digit2 */:
case 51 /* Digit3 */:
case 52 /* Digit4 */:
case 53 /* Digit5 */:
case 54 /* Digit6 */:
case 55 /* Digit7 */:
case 56 /* Digit8 */:
case 57 /* Digit9 */: {
let index = i;
value = fromCharCode(c);
c = bytes[i];
while (true) {
switch (c) {
case 43 /* Plus */:
case 45 /* Minus */:
case 46 /* Dot */:
case 48 /* Digit0 */:
case 49 /* Digit1 */:
case 50 /* Digit2 */:
case 51 /* Digit3 */:
case 52 /* Digit4 */:
case 53 /* Digit5 */:
case 54 /* Digit6 */:
case 55 /* Digit7 */:
case 56 /* Digit8 */:
case 57 /* Digit9 */:
case 101 /* LowerE */:
case 69 /* UpperE */: {
value += fromCharCode(c);
c = bytes[++i];
continue;
}
}
break;
}
value = +value;
if (isNaN(value)) {
throwSyntaxError(bytes, --index, "Invalid number");
}
break;
}
// String begin
case 34 /* Quote */: {
value = "";
while (true) {
if (i >= length) {
throwSyntaxError(bytes, length);
}
c = bytes[i++];
if (c === 34 /* Quote */) {
break;
} else if (c === 92 /* Backslash */) {
switch (bytes[i++]) {
// Normal escape sequence
case 34 /* Quote */:
value += '"';
break;
case 47 /* Slash */:
value += "/";
break;
case 92 /* Backslash */:
value += "\\";
break;
case 98 /* LowerB */:
value += "\b";
break;
case 102 /* LowerF */:
value += "\f";
break;
case 110 /* LowerN */:
value += "\n";
break;
case 114 /* LowerR */:
value += "\r";
break;
case 116 /* LowerT */:
value += " ";
break;
// Unicode escape sequence
case 117 /* LowerU */: {
let code = 0;
for (let j = 0; j < 4; j++) {
c = bytes[i++];
code <<= 4;
if (c >= 48 /* Digit0 */ && c <= 57 /* Digit9 */) code |= c - 48 /* Digit0 */;
else if (c >= 97 /* LowerA */ && c <= 102 /* LowerF */) code |= c + (10 - 97 /* LowerA */);
else if (c >= 65 /* UpperA */ && c <= 70 /* UpperF */) code |= c + (10 - 65 /* UpperA */);
else throwSyntaxError(bytes, --i);
}
value += fromCharCode(code);
break;
}
// Invalid escape sequence
default:
throwSyntaxError(bytes, --i);
break;
}
} else if (c <= 127) {
value += fromCharCode(c);
} else if ((c & 224) === 192) {
value += fromCharCode((c & 31) << 6 | bytes[i++] & 63);
} else if ((c & 240) === 224) {
value += fromCharCode((c & 15) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63);
} else if ((c & 248) == 240) {
let codePoint = (c & 7) << 18 | (bytes[i++] & 63) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63;
if (codePoint > 65535) {
codePoint -= 65536;
value += fromCharCode(codePoint >> 10 & 1023 | 55296);
codePoint = 56320 | codePoint & 1023;
}
value += fromCharCode(codePoint);
}
}
value[0];
break;
}
// Array begin
case 91 /* OpenBracket */: {
value = [];
propertyStack.push(property);
objectStack.push(object);
stateStack.push(state);
property = null;
object = value;
state = 1 /* Array */;
continue;
}
// Object begin
case 123 /* OpenBrace */: {
value = {};
propertyStack.push(property);
objectStack.push(object);
stateStack.push(state);
property = null;
object = value;
state = 2 /* Object */;
continue;
}
// Array end
case 93 /* CloseBracket */: {
if (state !== 1 /* Array */) {
throwSyntaxError(bytes, --i);
}
value = object;
property = propertyStack.pop();
object = objectStack.pop();
state = stateStack.pop();
break;
}
// Object end
case 125 /* CloseBrace */: {
if (state !== 2 /* Object */) {
throwSyntaxError(bytes, --i);
}
value = object;
property = propertyStack.pop();
object = objectStack.pop();
state = stateStack.pop();
break;
}
default: {
throwSyntaxError(bytes, --i);
}
}
c = bytes[i];
while (c <= 32 /* Space */) {
c = bytes[++i];
}
switch (state) {
case 0 /* TopLevel */: {
if (i === length) {
return value;
}
break;
}
case 1 /* Array */: {
object.push(value);
if (c === 44 /* Comma */) {
i++;
continue;
}
if (c === 93 /* CloseBracket */) {
continue;
}
break;
}
case 2 /* Object */: {
if (property === null) {
property = value;
if (c === 58 /* Colon */) {
i++;
continue;
}
} else {
object[property] = value;
property = null;
if (c === 44 /* Comma */) {
i++;
continue;
}
if (c === 125 /* CloseBrace */) {
continue;
}
}
break;
}
}
break;
}
throwSyntaxError(bytes, i);
}
// lib/shared/common.ts
var quote = JSON.stringify;
var buildLogLevelDefault = "warning";
@@ -924,8 +643,8 @@ function createChannel(streamIn) {
if (isFirstPacket) {
isFirstPacket = false;
let binaryVersion = String.fromCharCode(...bytes);
if (binaryVersion !== "0.28.0") {
throw new Error(`Cannot start service: Host version "${"0.28.0"}" does not match binary version ${quote(binaryVersion)}`);
if (binaryVersion !== "0.25.9") {
throw new Error(`Cannot start service: Host version "${"0.25.9"}" does not match binary version ${quote(binaryVersion)}`);
}
return;
}
@@ -1199,7 +918,7 @@ function buildOrContextImpl(callName, buildKey, sendRequest, sendResponse, refs,
const originalErrors = result.errors.slice();
const originalWarnings = result.warnings.slice();
if (response.outputFiles) result.outputFiles = response.outputFiles.map(convertOutputFiles);
if (response.metafile && response.metafile.length) result.metafile = parseJSON(response.metafile);
if (response.metafile) result.metafile = JSON.parse(response.metafile);
if (response.mangleCache) result.mangleCache = response.mangleCache;
if (response.writeToStdout !== void 0) console.log(decodeUTF8(response.writeToStdout).replace(/\n$/, ""));
runOnEndCallbacks(result, (onEndErrors, onEndWarnings) => {
@@ -1872,15 +1591,6 @@ function jsRegExpToGoRegExp(regexp) {
if (regexp.flags) result = `(?${regexp.flags})${result}`;
return result;
}
function parseJSON(bytes) {
let text;
try {
text = decodeUTF8(bytes);
} catch {
return JSON_parse(bytes);
}
return JSON.parse(text);
}
// lib/npm/node-platform.ts
var fs = require("fs");
@@ -2060,7 +1770,7 @@ for your current platform.`);
"node_modules",
".cache",
"esbuild",
`pnpapi-${pkg.replace("/", "-")}-${"0.28.0"}-${path.basename(subpath)}`
`pnpapi-${pkg.replace("/", "-")}-${"0.25.9"}-${path.basename(subpath)}`
);
if (!fs.existsSync(binTargetPath)) {
fs.mkdirSync(path.dirname(binTargetPath), { recursive: true });
@@ -2095,7 +1805,7 @@ if (process.env.ESBUILD_WORKER_THREADS !== "0") {
}
}
var _a;
var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.28.0";
var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.25.9";
var esbuildCommandAndArgs = () => {
if ((!ESBUILD_BINARY_PATH || false) && (path2.basename(__filename) !== "main.js" || path2.basename(__dirname) !== "lib")) {
throw new Error(
@@ -2162,7 +1872,7 @@ var fsAsync = {
}
}
};
var version = "0.28.0";
var version = "0.25.9";
var build = (options) => ensureServiceIsRunning().build(options);
var context = (buildOptions) => ensureServiceIsRunning().context(buildOptions);
var transform = (input, options) => ensureServiceIsRunning().transform(input, options);
@@ -2265,7 +1975,7 @@ var stopService;
var ensureServiceIsRunning = () => {
if (longLivedService) return longLivedService;
let [command, args] = esbuildCommandAndArgs();
let child = child_process.spawn(command, args.concat(`--service=${"0.28.0"}`, "--ping"), {
let child = child_process.spawn(command, args.concat(`--service=${"0.25.9"}`, "--ping"), {
windowsHide: true,
stdio: ["pipe", "pipe", "inherit"],
cwd: defaultWD
@@ -2369,7 +2079,7 @@ var runServiceSync = (callback) => {
esbuild: node_exports
});
callback(service);
let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.28.0"}`), {
let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.25.9"}`), {
cwd: defaultWD,
windowsHide: true,
input: stdin,
@@ -2389,7 +2099,7 @@ var workerThreadService = null;
var startWorkerThreadService = (worker_threads2) => {
let { port1: mainPort, port2: workerPort } = new worker_threads2.MessageChannel();
let worker = new worker_threads2.Worker(__filename, {
workerData: { workerPort, defaultWD, esbuildVersion: "0.28.0" },
workerData: { workerPort, defaultWD, esbuildVersion: "0.25.9" },
transferList: [workerPort],
// From node's documentation: https://nodejs.org/api/worker_threads.html
//
+28 -53
View File
@@ -1,6 +1,6 @@
{
"name": "esbuild",
"version": "0.28.0",
"version": "0.25.9",
"description": "An extremely fast JavaScript and CSS bundler and minifier.",
"repository": {
"type": "git",
@@ -18,57 +18,32 @@
"esbuild": "bin/esbuild"
},
"optionalDependencies": {
"@esbuild/aix-ppc64": "0.28.0",
"@esbuild/android-arm": "0.28.0",
"@esbuild/android-arm64": "0.28.0",
"@esbuild/android-x64": "0.28.0",
"@esbuild/darwin-arm64": "0.28.0",
"@esbuild/darwin-x64": "0.28.0",
"@esbuild/freebsd-arm64": "0.28.0",
"@esbuild/freebsd-x64": "0.28.0",
"@esbuild/linux-arm": "0.28.0",
"@esbuild/linux-arm64": "0.28.0",
"@esbuild/linux-ia32": "0.28.0",
"@esbuild/linux-loong64": "0.28.0",
"@esbuild/linux-mips64el": "0.28.0",
"@esbuild/linux-ppc64": "0.28.0",
"@esbuild/linux-riscv64": "0.28.0",
"@esbuild/linux-s390x": "0.28.0",
"@esbuild/linux-x64": "0.28.0",
"@esbuild/netbsd-arm64": "0.28.0",
"@esbuild/netbsd-x64": "0.28.0",
"@esbuild/openbsd-arm64": "0.28.0",
"@esbuild/openbsd-x64": "0.28.0",
"@esbuild/openharmony-arm64": "0.28.0",
"@esbuild/sunos-x64": "0.28.0",
"@esbuild/win32-arm64": "0.28.0",
"@esbuild/win32-ia32": "0.28.0",
"@esbuild/win32-x64": "0.28.0"
"@esbuild/aix-ppc64": "0.25.9",
"@esbuild/android-arm": "0.25.9",
"@esbuild/android-arm64": "0.25.9",
"@esbuild/android-x64": "0.25.9",
"@esbuild/darwin-arm64": "0.25.9",
"@esbuild/darwin-x64": "0.25.9",
"@esbuild/freebsd-arm64": "0.25.9",
"@esbuild/freebsd-x64": "0.25.9",
"@esbuild/linux-arm": "0.25.9",
"@esbuild/linux-arm64": "0.25.9",
"@esbuild/linux-ia32": "0.25.9",
"@esbuild/linux-loong64": "0.25.9",
"@esbuild/linux-mips64el": "0.25.9",
"@esbuild/linux-ppc64": "0.25.9",
"@esbuild/linux-riscv64": "0.25.9",
"@esbuild/linux-s390x": "0.25.9",
"@esbuild/linux-x64": "0.25.9",
"@esbuild/netbsd-arm64": "0.25.9",
"@esbuild/netbsd-x64": "0.25.9",
"@esbuild/openbsd-arm64": "0.25.9",
"@esbuild/openbsd-x64": "0.25.9",
"@esbuild/openharmony-arm64": "0.25.9",
"@esbuild/sunos-x64": "0.25.9",
"@esbuild/win32-arm64": "0.25.9",
"@esbuild/win32-ia32": "0.25.9",
"@esbuild/win32-x64": "0.25.9"
},
"license": "MIT",
"esbuild.binaryHashes": {
"@esbuild/aix-ppc64/bin/esbuild": "2037fe2a315e737da7d8fbfff5a582243e0a2ee32462f08c69d4833b4e3f9e06",
"@esbuild/android-arm64/bin/esbuild": "6acacac48d2104e6e58bd92104e86acfb3c8f344e965a910a749ea024ec044e5",
"@esbuild/darwin-arm64/bin/esbuild": "6f0e1237f63fa3bc03963e58f0b0be1b9bfacd8f2dc9a3f28483e8f97e4ef2d6",
"@esbuild/darwin-x64/bin/esbuild": "23dadf855f4ef8cf7c159ed5e4018b8f95d66f7e230a3a04f0add7fb809640ad",
"@esbuild/freebsd-arm64/bin/esbuild": "94f2b3af237a7fb2c5061f311e35b7fca15553304f77222b4da7996a35049b88",
"@esbuild/freebsd-x64/bin/esbuild": "c9f571484b1661b93c90cca5781fccd8fc08116eccd4c77079452e51aa2a8240",
"@esbuild/linux-arm/bin/esbuild": "cd2cf1814f32e671c3765e9a26da6a28fc659be2f95426e8f4a116a1f4eb6949",
"@esbuild/linux-arm64/bin/esbuild": "f76afb23c4c27f7837a4fc5fc7123e2e2c75c7f8c6a54e09bddfc06d39e288dd",
"@esbuild/linux-ia32/bin/esbuild": "37ce681c3d0193063cbbf95267d191583f2ffbb818fc81716915f99613af42e9",
"@esbuild/linux-loong64/bin/esbuild": "0565b36f66537e657447aacf6a79f0d4fb91bca78803d20e46c9077e75af8230",
"@esbuild/linux-mips64el/bin/esbuild": "33e1bdf0e9423efddb2515b0a29fa409826a18eadd6340fff0e3927574b58475",
"@esbuild/linux-ppc64/bin/esbuild": "38a3dbbce29bb4ffb5fa2121478f46eb0d6d4979687718c20111372ccfdba169",
"@esbuild/linux-riscv64/bin/esbuild": "2a7317332a2d2bc27dc0ad33123571fa1a9f3aa448c07f6eb7b7c11354e49da8",
"@esbuild/linux-s390x/bin/esbuild": "d4eb9dcf9f112fee07d3f2256b397cc1ff49ac097d579d07dc5ceacec1276c12",
"@esbuild/linux-x64/bin/esbuild": "aafacdf135322bf47c882a4ea4db33d0375583f5b9c3fd2d4e12258e470568be",
"@esbuild/netbsd-arm64/bin/esbuild": "b4d529ea102b3d8e1d77f136be1d8b8496d641c216db8e4ce314f01b9ba02cd1",
"@esbuild/netbsd-x64/bin/esbuild": "ef999b6e59c2f7ed319f0bc804bffd9c5fec4dd7fd60c77f52300a7ffde2f12d",
"@esbuild/openbsd-arm64/bin/esbuild": "5de4790175cb306939af247b0a33036067a2677162d1a79635c77161c13cebee",
"@esbuild/openbsd-x64/bin/esbuild": "1b0dffef766fd0443f76b3031535a79ebf91050e0438399569539f9eae940d24",
"@esbuild/sunos-x64/bin/esbuild": "81ded843321d3d7a51986859ce859ea8d497e6fa4e3400c9d5ba3df0671a12df",
"@esbuild/win32-arm64/esbuild.exe": "ab1477cf488a7f961c3cd7da0689e4a78f8cac3c30eb1021ca0dba46aab25493",
"@esbuild/win32-ia32/esbuild.exe": "6b687d79c8d59bee797ac9872f3e25f229451059e12e60951f476a32d0e8ee71",
"@esbuild/win32-x64/esbuild.exe": "2ccfd6d5292493a810d21c0b40f9de3ff5252a0a24eb5dea3df07f33dcea0c0e"
}
"license": "MIT"
}