mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
Compare commits
79 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b2b903957a | |||
| bd72571583 | |||
| 628f3f99db | |||
| 79ac570c26 | |||
| 276c12a349 | |||
| 104ac117ea | |||
| c2a74548d9 | |||
| e7d1d8def3 | |||
| 4a390b6c73 | |||
| 5a486a65cf | |||
| c822bf8e76 | |||
| 31e2c99007 | |||
| f8b6bd0cbe | |||
| 5349b027b8 | |||
| 8f8d67dc57 | |||
| 23153a06dd | |||
| fd3b4413f3 | |||
| 670d1660c4 | |||
| 8ca0237d99 | |||
| 3576019c0f | |||
| 05d022d5e6 | |||
| 1df1697c6e | |||
| 05476ea21b | |||
| f38169d0a7 | |||
| 6d7446bc6c | |||
| c25c84d7dc | |||
| f4160c2073 | |||
| 93c6dc6395 | |||
| 76431ed3e3 | |||
| b4ec3cc4e4 | |||
| 84e79f5add | |||
| 2eecf0d9a2 | |||
| da57d1af73 | |||
| 58ea4d2ee8 | |||
| 277ade97ac | |||
| aeb9b819d2 | |||
| 657d532ad1 | |||
| 8dafd2413a | |||
| 796b9a714a | |||
| dd551b1ff3 | |||
| 84adb2fb3b | |||
| 98343ea35e | |||
| c4226a10d0 | |||
| 5e545069ac | |||
| ecf0bb4668 | |||
| 0d54c5f0e2 | |||
| 8f6ca1d9f9 | |||
| 1f51c61372 | |||
| f5e9a862c2 | |||
| 0c8a2858b9 | |||
| a79e8afbad | |||
| 7b7faef739 | |||
| 95afc09206 | |||
| 23cb9a4291 | |||
| 0a863ba03f | |||
| e923d88398 | |||
| 150f0b3c30 | |||
| fc5f9d03cf | |||
| 498d9cdda4 | |||
| fd8d29a157 | |||
| e2e9a9a531 | |||
| 35fd8b567a | |||
| 4e9648d184 | |||
| 54a0541013 | |||
| 9c0587f755 | |||
| ac06941bcf | |||
| 907415c801 | |||
| 225a56677e | |||
| 944181869d | |||
| 3d3e6cbf20 | |||
| 2158bf8bb8 | |||
| 1b46b6db18 | |||
| f23f3e7f5f | |||
| 9414da5b7e | |||
| 8078abe893 | |||
| 661e800302 | |||
| c960a6e492 | |||
| 2eeb4b5666 | |||
| 8f19cf8d84 |
+1
-1
@@ -1 +1 @@
|
||||
8.5.1
|
||||
8.6.0
|
||||
|
||||
@@ -10271,7 +10271,7 @@ function isKeyOperator(operator) {
|
||||
function getValues(context3, operator, key, modifier) {
|
||||
var value = context3[key], result = [];
|
||||
if (isDefined(value) && value !== "") {
|
||||
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
||||
if (typeof value === "string" || typeof value === "number" || typeof value === "bigint" || typeof value === "boolean") {
|
||||
value = value.toString();
|
||||
if (modifier && modifier !== "*") {
|
||||
value = value.substring(0, parseInt(modifier, 10));
|
||||
@@ -10452,6 +10452,108 @@ var endpoint = withDefaults(null, DEFAULTS);
|
||||
//
|
||||
var import_fast_content_type_parse = __toESM(require_fast_content_type_parse());
|
||||
|
||||
//
|
||||
var intRegex = /^-?\d+$/;
|
||||
var noiseValue = /^-?\d+n+$/;
|
||||
var originalStringify = JSON.stringify;
|
||||
var originalParse = JSON.parse;
|
||||
var customFormat = /^-?\d+n$/;
|
||||
var bigIntsStringify = /([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;
|
||||
var noiseStringify = /([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;
|
||||
var JSONStringify = (value, replacer, space) => {
|
||||
if ("rawJSON" in JSON) {
|
||||
return originalStringify(
|
||||
value,
|
||||
(key, value2) => {
|
||||
if (typeof value2 === "bigint")
|
||||
return JSON.rawJSON(value2.toString());
|
||||
if (typeof replacer === "function")
|
||||
return replacer(key, value2);
|
||||
if (Array.isArray(replacer) && replacer.includes(key))
|
||||
return value2;
|
||||
return value2;
|
||||
},
|
||||
space
|
||||
);
|
||||
}
|
||||
if (!value)
|
||||
return originalStringify(value, replacer, space);
|
||||
const convertedToCustomJSON = originalStringify(
|
||||
value,
|
||||
(key, value2) => {
|
||||
const isNoise = typeof value2 === "string" && Boolean(value2.match(noiseValue));
|
||||
if (isNoise)
|
||||
return value2.toString() + "n";
|
||||
if (typeof value2 === "bigint")
|
||||
return value2.toString() + "n";
|
||||
if (typeof replacer === "function")
|
||||
return replacer(key, value2);
|
||||
if (Array.isArray(replacer) && replacer.includes(key))
|
||||
return value2;
|
||||
return value2;
|
||||
},
|
||||
space
|
||||
);
|
||||
const processedJSON = convertedToCustomJSON.replace(
|
||||
bigIntsStringify,
|
||||
"$1$2$3"
|
||||
);
|
||||
const denoisedJSON = processedJSON.replace(noiseStringify, "$1$2$3");
|
||||
return denoisedJSON;
|
||||
};
|
||||
var isContextSourceSupported = () => JSON.parse("1", (_, __, context3) => !!context3 && context3.source === "1");
|
||||
var convertMarkedBigIntsReviver = (key, value, context3, userReviver) => {
|
||||
const isCustomFormatBigInt = typeof value === "string" && value.match(customFormat);
|
||||
if (isCustomFormatBigInt)
|
||||
return BigInt(value.slice(0, -1));
|
||||
const isNoiseValue = typeof value === "string" && value.match(noiseValue);
|
||||
if (isNoiseValue)
|
||||
return value.slice(0, -1);
|
||||
if (typeof userReviver !== "function")
|
||||
return value;
|
||||
return userReviver(key, value, context3);
|
||||
};
|
||||
var JSONParseV2 = (text, reviver) => {
|
||||
return JSON.parse(text, (key, value, context3) => {
|
||||
const isBigNumber = typeof value === "number" && (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER);
|
||||
const isInt = context3 && intRegex.test(context3.source);
|
||||
const isBigInt = isBigNumber && isInt;
|
||||
if (isBigInt)
|
||||
return BigInt(context3.source);
|
||||
if (typeof reviver !== "function")
|
||||
return value;
|
||||
return reviver(key, value, context3);
|
||||
});
|
||||
};
|
||||
var MAX_INT = Number.MAX_SAFE_INTEGER.toString();
|
||||
var MAX_DIGITS = MAX_INT.length;
|
||||
var stringsOrLargeNumbers = /"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g;
|
||||
var noiseValueWithQuotes = /^"-?\d+n+"$/;
|
||||
var JSONParse = (text, reviver) => {
|
||||
if (!text)
|
||||
return originalParse(text, reviver);
|
||||
if (isContextSourceSupported())
|
||||
return JSONParseV2(text, reviver);
|
||||
const serializedData = text.replace(
|
||||
stringsOrLargeNumbers,
|
||||
(text2, digits, fractional, exponential) => {
|
||||
const isString = text2[0] === '"';
|
||||
const isNoise = isString && Boolean(text2.match(noiseValueWithQuotes));
|
||||
if (isNoise)
|
||||
return text2.substring(0, text2.length - 1) + 'n"';
|
||||
const isFractionalOrExponential = fractional || exponential;
|
||||
const isLessThanMaxSafeInt = digits && (digits.length < MAX_DIGITS || digits.length === MAX_DIGITS && digits <= MAX_INT);
|
||||
if (isString || isFractionalOrExponential || isLessThanMaxSafeInt)
|
||||
return text2;
|
||||
return '"' + text2 + 'n"';
|
||||
}
|
||||
);
|
||||
return originalParse(
|
||||
serializedData,
|
||||
(key, value, context3) => convertMarkedBigIntsReviver(key, value, context3, reviver)
|
||||
);
|
||||
};
|
||||
|
||||
//
|
||||
var RequestError = class extends Error {
|
||||
name;
|
||||
@@ -10492,7 +10594,7 @@ var RequestError = class extends Error {
|
||||
};
|
||||
|
||||
//
|
||||
var VERSION2 = "10.0.7";
|
||||
var VERSION2 = "10.0.8";
|
||||
var defaults_default = {
|
||||
headers: {
|
||||
"user-agent": `octokit-request.js/${VERSION2} ${getUserAgent()}`
|
||||
@@ -10519,7 +10621,7 @@ async function fetchWrapper(requestOptions) {
|
||||
}
|
||||
const log = requestOptions.request?.log || console;
|
||||
const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
|
||||
const body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(requestOptions.body) : requestOptions.body;
|
||||
const body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSONStringify(requestOptions.body) : requestOptions.body;
|
||||
const requestHeaders = Object.fromEntries(
|
||||
Object.entries(requestOptions.headers).map(([name, value]) => [
|
||||
name,
|
||||
@@ -10618,7 +10720,7 @@ async function getResponseData(response) {
|
||||
let text = "";
|
||||
try {
|
||||
text = await response.text();
|
||||
return JSON.parse(text);
|
||||
return JSONParse(text);
|
||||
} catch (err) {
|
||||
return text;
|
||||
}
|
||||
@@ -14135,6 +14237,9 @@ function stripAnsi(string) {
|
||||
if (typeof string !== "string") {
|
||||
throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
|
||||
}
|
||||
if (!string.includes("\x1B") && !string.includes("\x9B")) {
|
||||
return string;
|
||||
}
|
||||
return string.replace(regex, "");
|
||||
}
|
||||
var ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
|
||||
@@ -29043,12 +29148,16 @@ function withDefaults4(oldDefaults, newDefaults) {
|
||||
}
|
||||
var endpoint2 = withDefaults4(null, DEFAULTS2);
|
||||
var import_fast_content_type_parse2 = __toESM2(require_fast_content_type_parse2());
|
||||
var noiseValue = /^-?\d+n+$/;
|
||||
var originalStringify = JSON.stringify;
|
||||
var originalParse = JSON.parse;
|
||||
var JSONStringify = (value, replacer, space) => {
|
||||
var intRegex2 = /^-?\d+$/;
|
||||
var noiseValue2 = /^-?\d+n+$/;
|
||||
var originalStringify2 = JSON.stringify;
|
||||
var originalParse2 = JSON.parse;
|
||||
var customFormat2 = /^-?\d+n$/;
|
||||
var bigIntsStringify2 = /([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;
|
||||
var noiseStringify2 = /([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;
|
||||
var JSONStringify2 = (value, replacer, space) => {
|
||||
if ("rawJSON" in JSON) {
|
||||
return originalStringify(
|
||||
return originalStringify2(
|
||||
value,
|
||||
(key, value2) => {
|
||||
if (typeof value2 === "bigint")
|
||||
@@ -29063,13 +29172,11 @@ var JSONStringify = (value, replacer, space) => {
|
||||
);
|
||||
}
|
||||
if (!value)
|
||||
return originalStringify(value, replacer, space);
|
||||
const bigInts = /([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;
|
||||
const noise = /([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;
|
||||
const convertedToCustomJSON = originalStringify(
|
||||
return originalStringify2(value, replacer, space);
|
||||
const convertedToCustomJSON = originalStringify2(
|
||||
value,
|
||||
(key, value2) => {
|
||||
const isNoise = typeof value2 === "string" && Boolean(value2.match(noiseValue));
|
||||
const isNoise = typeof value2 === "string" && Boolean(value2.match(noiseValue2));
|
||||
if (isNoise)
|
||||
return value2.toString() + "n";
|
||||
if (typeof value2 === "bigint")
|
||||
@@ -29082,16 +29189,29 @@ var JSONStringify = (value, replacer, space) => {
|
||||
},
|
||||
space
|
||||
);
|
||||
const processedJSON = convertedToCustomJSON.replace(bigInts, "$1$2$3");
|
||||
const denoisedJSON = processedJSON.replace(noise, "$1$2$3");
|
||||
const processedJSON = convertedToCustomJSON.replace(
|
||||
bigIntsStringify2,
|
||||
"$1$2$3"
|
||||
);
|
||||
const denoisedJSON = processedJSON.replace(noiseStringify2, "$1$2$3");
|
||||
return denoisedJSON;
|
||||
};
|
||||
var isContextSourceSupported = () => JSON.parse("1", (_, __, context3) => !!context3 && context3.source === "1");
|
||||
var JSONParseV2 = (text, reviver) => {
|
||||
const intRegex = /^-?\d+$/;
|
||||
var isContextSourceSupported2 = () => JSON.parse("1", (_, __, context3) => !!context3 && context3.source === "1");
|
||||
var convertMarkedBigIntsReviver2 = (key, value, context3, userReviver) => {
|
||||
const isCustomFormatBigInt = typeof value === "string" && value.match(customFormat2);
|
||||
if (isCustomFormatBigInt)
|
||||
return BigInt(value.slice(0, -1));
|
||||
const isNoiseValue = typeof value === "string" && value.match(noiseValue2);
|
||||
if (isNoiseValue)
|
||||
return value.slice(0, -1);
|
||||
if (typeof userReviver !== "function")
|
||||
return value;
|
||||
return userReviver(key, value, context3);
|
||||
};
|
||||
var JSONParseV22 = (text, reviver) => {
|
||||
return JSON.parse(text, (key, value, context3) => {
|
||||
const isBigNumber = typeof value === "number" && (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER);
|
||||
const isInt = intRegex.test(context3.source);
|
||||
const isInt = context3 && intRegex2.test(context3.source);
|
||||
const isBigInt = isBigNumber && isInt;
|
||||
if (isBigInt)
|
||||
return BigInt(context3.source);
|
||||
@@ -29100,41 +29220,33 @@ var JSONParseV2 = (text, reviver) => {
|
||||
return reviver(key, value, context3);
|
||||
});
|
||||
};
|
||||
var JSONParse = (text, reviver) => {
|
||||
var MAX_INT2 = Number.MAX_SAFE_INTEGER.toString();
|
||||
var MAX_DIGITS2 = MAX_INT2.length;
|
||||
var stringsOrLargeNumbers2 = /"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g;
|
||||
var noiseValueWithQuotes2 = /^"-?\d+n+"$/;
|
||||
var JSONParse2 = (text, reviver) => {
|
||||
if (!text)
|
||||
return originalParse(text, reviver);
|
||||
if (isContextSourceSupported())
|
||||
return JSONParseV2(text, reviver);
|
||||
const MAX_INT = Number.MAX_SAFE_INTEGER.toString();
|
||||
const MAX_DIGITS = MAX_INT.length;
|
||||
const stringsOrLargeNumbers = /"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g;
|
||||
const noiseValueWithQuotes = /^"-?\d+n+"$/;
|
||||
const customFormat = /^-?\d+n$/;
|
||||
return originalParse2(text, reviver);
|
||||
if (isContextSourceSupported2())
|
||||
return JSONParseV22(text, reviver);
|
||||
const serializedData = text.replace(
|
||||
stringsOrLargeNumbers,
|
||||
stringsOrLargeNumbers2,
|
||||
(text2, digits, fractional, exponential) => {
|
||||
const isString = text2[0] === '"';
|
||||
const isNoise = isString && Boolean(text2.match(noiseValueWithQuotes));
|
||||
const isNoise = isString && Boolean(text2.match(noiseValueWithQuotes2));
|
||||
if (isNoise)
|
||||
return text2.substring(0, text2.length - 1) + 'n"';
|
||||
const isFractionalOrExponential = fractional || exponential;
|
||||
const isLessThanMaxSafeInt = digits && (digits.length < MAX_DIGITS || digits.length === MAX_DIGITS && digits <= MAX_INT);
|
||||
const isLessThanMaxSafeInt = digits && (digits.length < MAX_DIGITS2 || digits.length === MAX_DIGITS2 && digits <= MAX_INT2);
|
||||
if (isString || isFractionalOrExponential || isLessThanMaxSafeInt)
|
||||
return text2;
|
||||
return '"' + text2 + 'n"';
|
||||
}
|
||||
);
|
||||
return originalParse(serializedData, (key, value, context3) => {
|
||||
const isCustomFormatBigInt = typeof value === "string" && Boolean(value.match(customFormat));
|
||||
if (isCustomFormatBigInt)
|
||||
return BigInt(value.substring(0, value.length - 1));
|
||||
const isNoiseValue = typeof value === "string" && Boolean(value.match(noiseValue));
|
||||
if (isNoiseValue)
|
||||
return value.substring(0, value.length - 1);
|
||||
if (typeof reviver !== "function")
|
||||
return value;
|
||||
return reviver(key, value, context3);
|
||||
});
|
||||
return originalParse2(
|
||||
serializedData,
|
||||
(key, value, context3) => convertMarkedBigIntsReviver2(key, value, context3, reviver)
|
||||
);
|
||||
};
|
||||
var RequestError2 = class extends Error {
|
||||
name;
|
||||
@@ -29200,7 +29312,7 @@ async function fetchWrapper2(requestOptions) {
|
||||
}
|
||||
const log = requestOptions.request?.log || console;
|
||||
const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
|
||||
const body = isPlainObject22(requestOptions.body) || Array.isArray(requestOptions.body) ? JSONStringify(requestOptions.body) : requestOptions.body;
|
||||
const body = isPlainObject22(requestOptions.body) || Array.isArray(requestOptions.body) ? JSONStringify2(requestOptions.body) : requestOptions.body;
|
||||
const requestHeaders = Object.fromEntries(
|
||||
Object.entries(requestOptions.headers).map(([name, value]) => [
|
||||
name,
|
||||
@@ -29299,7 +29411,7 @@ async function getResponseData2(response) {
|
||||
let text = "";
|
||||
try {
|
||||
text = await response.text();
|
||||
return JSONParse(text);
|
||||
return JSONParse2(text);
|
||||
} catch (err) {
|
||||
return text;
|
||||
}
|
||||
@@ -33174,24 +33286,28 @@ var requiresLabels = createTypedObject(RequiresLabel)({
|
||||
description: "This PR requires a passing TGP before merging is allowed"
|
||||
}
|
||||
});
|
||||
var FeatureLabel = class extends Label {
|
||||
var MiscLabel = class extends Label {
|
||||
};
|
||||
var featureLabels = createTypedObject(FeatureLabel)({
|
||||
FEATURE_IN_BACKLOG: {
|
||||
name: "feature: in backlog",
|
||||
description: "Feature request for which voting has completed and is now in the backlog"
|
||||
var miscLabels = createTypedObject(MiscLabel)({
|
||||
FEATURE: {
|
||||
name: "feature",
|
||||
description: "Label used to distinguish feature request from other issues"
|
||||
},
|
||||
FEATURE_VOTES_REQUIRED: {
|
||||
name: "feature: votes required",
|
||||
description: "Feature request which is currently still in the voting phase"
|
||||
GOOD_FIRST_ISSUE: {
|
||||
name: "good first issue",
|
||||
description: "Label noting a good first issue to be worked on by a community member"
|
||||
},
|
||||
FEATURE_UNDER_CONSIDERATION: {
|
||||
name: "feature: under consideration",
|
||||
description: "Feature request for which voting has completed and the request is now under consideration"
|
||||
HELP_WANTED: {
|
||||
name: "help wanted",
|
||||
description: "Label noting an issue which the team is looking for contribution from the community to fix"
|
||||
},
|
||||
FEATURE_INSUFFICIENT_VOTES: {
|
||||
name: "feature: insufficient votes",
|
||||
description: "Label to add when the not a sufficient number of votes or comments from unique authors"
|
||||
RENOVATE_MANAGED: {
|
||||
name: "renovate managed",
|
||||
description: "Label noting that a pull request will automatically be managed and rebased by renovate"
|
||||
},
|
||||
GEMINI_TRIAGED: {
|
||||
name: "gemini-triaged",
|
||||
description: "Label noting that an issue has been triaged by gemini"
|
||||
}
|
||||
});
|
||||
var allLabels = {
|
||||
@@ -33200,8 +33316,8 @@ var allLabels = {
|
||||
...mergeLabels,
|
||||
...targetLabels,
|
||||
...priorityLabels,
|
||||
...featureLabels,
|
||||
...requiresLabels
|
||||
...requiresLabels,
|
||||
...miscLabels
|
||||
};
|
||||
var import_which = __toESM2(require_lib2());
|
||||
var import_yaml = __toESM2(require_dist());
|
||||
@@ -33379,7 +33495,7 @@ tmp/lib/tmp.js:
|
||||
(* v8 ignore next -- @preserve *)
|
||||
(* v8 ignore else -- @preserve *)
|
||||
|
||||
@angular/ng-dev/bundles/chunk-WPUQDYAV.mjs:
|
||||
@angular/ng-dev/bundles/chunk-YN3IWAKJ.mjs:
|
||||
(*! Bundled license information:
|
||||
|
||||
yargs-parser/build/lib/string-utils.js:
|
||||
@@ -33420,7 +33536,7 @@ tmp/lib/tmp.js:
|
||||
*)
|
||||
*)
|
||||
|
||||
@angular/ng-dev/bundles/chunk-HWMRKQMP.mjs:
|
||||
@angular/ng-dev/bundles/chunk-34WCNHIG.mjs:
|
||||
(*! Bundled license information:
|
||||
|
||||
@octokit/request-error/dist-src/index.js:
|
||||
|
||||
@@ -5,9 +5,9 @@ runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Saucelabs Variables
|
||||
uses: angular/dev-infra/github-actions/saucelabs@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/saucelabs@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Starting Saucelabs tunnel service
|
||||
shell: bash
|
||||
run: ./tools/saucelabs/sauce-service.sh run &
|
||||
|
||||
@@ -21,17 +21,17 @@ jobs:
|
||||
(github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'adev: preview'))
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel RBE
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Build adev
|
||||
# `snapshot-build` config is used to stamp the exact version with sha in the footer.
|
||||
run: pnpm bazel build //adev:build.production --config=snapshot-build
|
||||
- uses: angular/dev-infra/github-actions/previews/pack-and-upload-artifact@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
- uses: angular/dev-infra/github-actions/previews/pack-and-upload-artifact@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
workflow-artifact-name: 'adev-preview'
|
||||
pull-number: '${{github.event.pull_request.number}}'
|
||||
|
||||
@@ -40,7 +40,7 @@ jobs:
|
||||
npx -y firebase-tools@latest target:clear --config adev/firebase.json --project ${{env.PREVIEW_PROJECT}} hosting angular-docs
|
||||
npx -y firebase-tools@latest target:apply --config adev/firebase.json --project ${{env.PREVIEW_PROJECT}} hosting angular-docs ${{env.PREVIEW_SITE}}
|
||||
|
||||
- uses: angular/dev-infra/github-actions/previews/upload-artifacts-to-firebase@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
- uses: angular/dev-infra/github-actions/previews/upload-artifacts-to-firebase@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
github-token: '${{secrets.GITHUB_TOKEN}}'
|
||||
workflow-artifact-name: 'adev-preview'
|
||||
|
||||
@@ -17,6 +17,6 @@ jobs:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
- uses: angular/dev-infra/github-actions/branch-manager@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
- uses: angular/dev-infra/github-actions/branch-manager@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
|
||||
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
|
||||
- run: pnpm install --frozen-lockfile
|
||||
|
||||
- uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
- uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
bazelrc: ./.bazelrc.user
|
||||
|
||||
|
||||
+28
-26
@@ -21,7 +21,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Check code lint
|
||||
@@ -32,6 +32,8 @@ jobs:
|
||||
run: pnpm ng-dev pullapprove verify
|
||||
- name: Validate angular robot configuration
|
||||
run: pnpm ng-dev ngbot verify
|
||||
- name: Validate agent skills
|
||||
run: pnpm ng-dev ai skills validate
|
||||
- name: Confirm code builds with typescript as expected
|
||||
run: pnpm check-tooling-setup
|
||||
|
||||
@@ -39,13 +41,13 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
disable-package-manager-cache: true
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel RBE
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
|
||||
- name: Install node modules
|
||||
@@ -55,7 +57,7 @@ jobs:
|
||||
- name: Test build
|
||||
run: pnpm devtools:build:chrome
|
||||
- name: Cypress run
|
||||
uses: cypress-io/github-action@e44ee0fa67251ab7e2d854d85b3a466577f47d14 # v7.1.3
|
||||
uses: cypress-io/github-action@bc22e01685c56e89e7813fd8e26f33dc47f87e15 # v7.1.5
|
||||
with:
|
||||
command: pnpm devtools:test:e2e
|
||||
start: pnpm bazel run //devtools/src:devserver
|
||||
@@ -67,11 +69,11 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel Remote Caching
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
|
||||
- name: Install node modules
|
||||
@@ -83,11 +85,11 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel Remote Caching
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
|
||||
- name: Install node modules
|
||||
@@ -100,11 +102,11 @@ jobs:
|
||||
labels: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel RBE
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
|
||||
- name: Install node modules
|
||||
@@ -119,11 +121,11 @@ jobs:
|
||||
labels: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel RBE
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
|
||||
- name: Install node modules
|
||||
@@ -136,11 +138,11 @@ jobs:
|
||||
labels: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel RBE
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- run: echo "https://${{secrets.SNAPSHOT_BUILDS_GITHUB_TOKEN}}:@github.com" > ${HOME}/.git_credentials
|
||||
@@ -152,11 +154,11 @@ jobs:
|
||||
labels: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel RBE
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
|
||||
- name: Install node modules
|
||||
@@ -206,11 +208,11 @@ jobs:
|
||||
runs-on: ubuntu-latest-8core
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel RBE
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Build adev
|
||||
|
||||
@@ -3,24 +3,36 @@ name: DevInfra
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, synchronize, reopened]
|
||||
issues:
|
||||
types: [opened, reopened]
|
||||
|
||||
# Declare default permissions as read only.
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
labels:
|
||||
pull_request_labels:
|
||||
if: github.event_name == 'pull_request_target'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- uses: angular/dev-infra/github-actions/pull-request-labeling@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
- uses: angular/dev-infra/github-actions/labeling/pull-request@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
|
||||
labels: '{"requires: TGP": ["packages/core/primitives/**/{*,.*}"]}'
|
||||
post_approval_changes:
|
||||
if: github.event_name == 'pull_request_target'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- uses: angular/dev-infra/github-actions/post-approval-changes@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
- uses: angular/dev-infra/github-actions/post-approval-changes@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
|
||||
issue_labels:
|
||||
if: github.event_name == 'issues'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: angular/dev-infra/github-actions/labeling/issue@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
|
||||
google-generative-ai-key: ${{ secrets.GOOGLE_GENERATIVE_AI_KEY }}
|
||||
|
||||
@@ -14,7 +14,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- uses: angular/dev-infra/github-actions/google-internal-tests@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
- uses: angular/dev-infra/github-actions/google-internal-tests@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
run-tests-guide-url: http://go/angular-g3sync-start
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -13,15 +13,15 @@ jobs:
|
||||
JOBS: 2
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel Remote Caching
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Saucelabs Variables
|
||||
uses: angular/dev-infra/github-actions/saucelabs@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/saucelabs@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Set up Sauce Tunnel Daemon
|
||||
run: pnpm bazel run //tools/saucelabs-daemon/background-service -- $JOBS &
|
||||
env:
|
||||
|
||||
@@ -9,6 +9,6 @@ jobs:
|
||||
status:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: angular/dev-infra/github-actions/unified-status-check@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
- uses: angular/dev-infra/github-actions/unified-status-check@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
|
||||
|
||||
@@ -21,7 +21,7 @@ jobs:
|
||||
workflows: ${{ steps.workflows.outputs.workflows }}
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- id: workflows
|
||||
@@ -36,9 +36,9 @@ jobs:
|
||||
workflow: ${{ fromJSON(needs.list.outputs.workflows) }}
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
# We utilize the google-github-actions/auth action to allow us to get an active credential using workflow
|
||||
|
||||
+23
-21
@@ -19,7 +19,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Check code lint
|
||||
@@ -32,12 +32,14 @@ jobs:
|
||||
run: pnpm ng-dev ngbot verify
|
||||
- name: Confirm code builds with typescript as expected
|
||||
run: pnpm check-tooling-setup
|
||||
- name: Validate agent skills
|
||||
run: pnpm ng-dev ai skills validate
|
||||
- name: Check commit message
|
||||
run: pnpm ng-dev commit-message validate-range ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}
|
||||
- name: Check code format
|
||||
run: pnpm ng-dev format changed --check ${{ github.event.pull_request.base.sha }}
|
||||
- name: Check Package Licenses
|
||||
uses: angular/dev-infra/github-actions/linting/licenses@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/linting/licenses@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
allow-dependencies-licenses: 'pkg:npm/google-protobuf@'
|
||||
|
||||
@@ -45,13 +47,13 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
with:
|
||||
disable-package-manager-cache: true
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel RBE
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Run unit tests
|
||||
@@ -59,7 +61,7 @@ jobs:
|
||||
- name: Test build
|
||||
run: pnpm devtools:build:chrome
|
||||
- name: Cypress run
|
||||
uses: cypress-io/github-action@e44ee0fa67251ab7e2d854d85b3a466577f47d14 # v7.1.3
|
||||
uses: cypress-io/github-action@bc22e01685c56e89e7813fd8e26f33dc47f87e15 # v7.1.5
|
||||
with:
|
||||
command: pnpm devtools:test:e2e
|
||||
start: pnpm bazel run //devtools/src:devserver
|
||||
@@ -71,11 +73,11 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel Remote Caching
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Run CI tests for framework
|
||||
@@ -95,11 +97,11 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel Remote Caching
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Run integration CI tests for framework
|
||||
@@ -110,11 +112,11 @@ jobs:
|
||||
labels: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel RBE
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Run tests
|
||||
@@ -127,11 +129,11 @@ jobs:
|
||||
labels: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel RBE
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Run tests
|
||||
@@ -142,11 +144,11 @@ jobs:
|
||||
labels: ubuntu-latest
|
||||
steps:
|
||||
- name: Initialize environment
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/setup@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Setup Bazel RBE
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@16c5f6e199e3e1b67ae5a62385d36366bb9a429d
|
||||
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4dcda13e469f50a6bd92667e2ded8b98173bf2c
|
||||
- name: Install node modules
|
||||
run: pnpm install --frozen-lockfile
|
||||
- run: |
|
||||
|
||||
@@ -47,6 +47,6 @@ jobs:
|
||||
|
||||
# Upload the results to GitHub's code scanning dashboard.
|
||||
- name: 'Upload to code-scanning'
|
||||
uses: github/codeql-action/upload-sarif@9e907b5e64f6b83e7804b09294d44122997950d6 # v4.32.3
|
||||
uses: github/codeql-action/upload-sarif@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
||||
+1
-1
@@ -9,5 +9,5 @@ export const github = {
|
||||
name: 'angular',
|
||||
mainBranchName: 'main',
|
||||
mergeMode: 'caretaker-only',
|
||||
requireReleaseModeForRelease: true,
|
||||
requireReleaseModeForRelease: false,
|
||||
};
|
||||
|
||||
@@ -1,3 +1,36 @@
|
||||
<a name="21.2.2"></a>
|
||||
# 21.2.2 (2026-03-09)
|
||||
### compiler
|
||||
| Commit | Type | Description |
|
||||
| -- | -- | -- |
|
||||
| [1df1697c6e](https://github.com/angular/angular/commit/1df1697c6e3a6b1d302f7692b495146943faa12f) | fix | prevent mutation of children array in RecursiveVisitor |
|
||||
### compiler-cli
|
||||
| Commit | Type | Description |
|
||||
| -- | -- | -- |
|
||||
| [c822bf8e76](https://github.com/angular/angular/commit/c822bf8e76611afde332b6625f5e7bae2fe9c3f3) | fix | always parenthesize object literals in TCB |
|
||||
| [05d022d5e6](https://github.com/angular/angular/commit/05d022d5e61cca7ac90d5b2b2ba3fc738b364ad9) | fix | ignore generated ngDevMode signal branch for code coverage |
|
||||
### forms
|
||||
| Commit | Type | Description |
|
||||
| -- | -- | -- |
|
||||
| [670d1660c4](https://github.com/angular/angular/commit/670d1660c40504e3f55e094c3ebbcccad14163f3) | feat | add 'blur' option to debounce rule |
|
||||
|
||||
<!-- CHANGELOG SPLIT MARKER -->
|
||||
|
||||
<a name="21.2.1"></a>
|
||||
# 21.2.1 (2026-03-04)
|
||||
### core
|
||||
| Commit | Type | Description |
|
||||
| -- | -- | -- |
|
||||
| [e2e9a9a531](https://github.com/angular/angular/commit/e2e9a9a531c9e9a69701e549f28354cc5d5edd77) | fix | adds transfer cache to httpResource to fix hydration |
|
||||
| [b4ec3cc4e4](https://github.com/angular/angular/commit/b4ec3cc4e41f2948ad0830eb14aa05d14fa3a9ed) | fix | prevent child animation elements from being orphaned |
|
||||
| [e923d88398](https://github.com/angular/angular/commit/e923d8839868c79989502ab3503e13d93c78516a) | fix | Prevent removal of elements during drag and drop |
|
||||
### http
|
||||
| Commit | Type | Description |
|
||||
| -- | -- | -- |
|
||||
| [277ade97ac](https://github.com/angular/angular/commit/277ade97ac2a3a7f2a5b513acaa93e7663cdc55f) | fix | correctly cache blob responses in transfer cache ([#67002](https://github.com/angular/angular/pull/67002)) |
|
||||
|
||||
<!-- CHANGELOG SPLIT MARKER -->
|
||||
|
||||
<a name="21.2.0"></a>
|
||||
# 21.2.0 (2026-02-25)
|
||||
### common
|
||||
|
||||
+20
-20
@@ -9,23 +9,23 @@ bazel_dep(name = "rules_nodejs", version = "6.7.3")
|
||||
bazel_dep(name = "aspect_rules_ts", version = "3.8.5")
|
||||
bazel_dep(name = "aspect_rules_js", version = "2.9.2")
|
||||
bazel_dep(name = "aspect_rules_esbuild", version = "0.25.0")
|
||||
bazel_dep(name = "aspect_rules_jasmine", version = "2.0.3")
|
||||
bazel_dep(name = "aspect_rules_jasmine", version = "2.0.4")
|
||||
bazel_dep(name = "aspect_rules_rollup", version = "2.0.1")
|
||||
bazel_dep(name = "bazel_skylib", version = "1.9.0")
|
||||
bazel_dep(name = "aspect_bazel_lib", version = "2.22.5")
|
||||
bazel_dep(name = "tar.bzl", version = "0.8.1")
|
||||
bazel_dep(name = "tar.bzl", version = "0.9.0")
|
||||
bazel_dep(name = "yq.bzl", version = "0.3.5")
|
||||
bazel_dep(name = "rules_angular")
|
||||
git_override(
|
||||
module_name = "rules_angular",
|
||||
commit = "d746c4f75e42cffe389d1ab077f4639be2bc78d1",
|
||||
remote = "https://github.com/devversion/rules_angular.git",
|
||||
remote = "https://github.com/angular/rules_angular.git",
|
||||
)
|
||||
|
||||
bazel_dep(name = "devinfra")
|
||||
git_override(
|
||||
module_name = "devinfra",
|
||||
commit = "16c5f6e199e3e1b67ae5a62385d36366bb9a429d",
|
||||
commit = "e4dcda13e469f50a6bd92667e2ded8b98173bf2c",
|
||||
remote = "https://github.com/angular/dev-infra.git",
|
||||
)
|
||||
|
||||
@@ -33,14 +33,14 @@ bazel_dep(name = "rules_sass")
|
||||
git_override(
|
||||
module_name = "rules_sass",
|
||||
commit = "1184a80751a21af8348f308abc5b38a41f26850e",
|
||||
remote = "https://github.com/devversion/rules_sass.git",
|
||||
remote = "https://github.com/angular/rules_sass.git",
|
||||
)
|
||||
|
||||
bazel_dep(name = "rules_browsers")
|
||||
git_override(
|
||||
module_name = "rules_browsers",
|
||||
commit = "ceb52751831f3e6249aba83f688a612e57a8d14a",
|
||||
remote = "https://github.com/devversion/rules_browsers.git",
|
||||
commit = "8231142fc5516323b040883bf774ba8362645387",
|
||||
remote = "https://github.com/angular/rules_browsers.git",
|
||||
)
|
||||
|
||||
yq = use_extension("@yq.bzl//yq:extensions.bzl", "yq")
|
||||
@@ -49,15 +49,15 @@ use_repo(yq, "yq_toolchains")
|
||||
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
|
||||
node.toolchain(
|
||||
node_repositories = {
|
||||
"22.22.0-darwin_arm64": ("node-v22.22.0-darwin-arm64.tar.gz", "node-v22.22.0-darwin-arm64", "5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"),
|
||||
"22.22.0-darwin_amd64": ("node-v22.22.0-darwin-x64.tar.gz", "node-v22.22.0-darwin-x64", "5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"),
|
||||
"22.22.0-linux_arm64": ("node-v22.22.0-linux-arm64.tar.xz", "node-v22.22.0-linux-arm64", "1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"),
|
||||
"22.22.0-linux_ppc64le": ("node-v22.22.0-linux-ppc64le.tar.xz", "node-v22.22.0-linux-ppc64le", "d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"),
|
||||
"22.22.0-linux_s390x": ("node-v22.22.0-linux-s390x.tar.xz", "node-v22.22.0-linux-s390x", "5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"),
|
||||
"22.22.0-linux_amd64": ("node-v22.22.0-linux-x64.tar.xz", "node-v22.22.0-linux-x64", "9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"),
|
||||
"22.22.0-windows_amd64": ("node-v22.22.0-win-x64.zip", "node-v22.22.0-win-x64", "c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"),
|
||||
"22.22.1-darwin_arm64": ("node-v22.22.1-darwin-arm64.tar.gz", "node-v22.22.1-darwin-arm64", "679ad4966339e4ef4900f57996714864e4211b898825bb840c3086c419fbcef2"),
|
||||
"22.22.1-darwin_amd64": ("node-v22.22.1-darwin-x64.tar.gz", "node-v22.22.1-darwin-x64", "07b13722d558790fca20bb1ecf61bde24b7a4863111f7be77fc57251a407359a"),
|
||||
"22.22.1-linux_arm64": ("node-v22.22.1-linux-arm64.tar.xz", "node-v22.22.1-linux-arm64", "0f3550d58d45e5d3cf7103d9e3f69937f09fe82fb5dd474c66a5d816fa58c9ee"),
|
||||
"22.22.1-linux_ppc64le": ("node-v22.22.1-linux-ppc64le.tar.xz", "node-v22.22.1-linux-ppc64le", "a65a44cf0224505f052b90357b763dbc1ea9148f4f5f2284f0596cf2000f819b"),
|
||||
"22.22.1-linux_s390x": ("node-v22.22.1-linux-s390x.tar.xz", "node-v22.22.1-linux-s390x", "e08b3a73d0bd840e008f589e4be4a2ef3d4a0c59015f4f20a04ed7fc968042a2"),
|
||||
"22.22.1-linux_amd64": ("node-v22.22.1-linux-x64.tar.xz", "node-v22.22.1-linux-x64", "9a6bc82f9b491279147219f6a18add1e18424dce90d41d2a5fcd69d4924ba3aa"),
|
||||
"22.22.1-windows_amd64": ("node-v22.22.1-win-x64.zip", "node-v22.22.1-win-x64", "877cb93829e14fffbbc7903e7d8037336c9a79f3ea43c5d0b8c2379b79da56de"),
|
||||
},
|
||||
node_version = "22.22.0",
|
||||
node_version = "22.22.1",
|
||||
)
|
||||
use_repo(node, "nodejs_toolchains")
|
||||
use_repo(node, "nodejs_darwin_amd64")
|
||||
@@ -71,8 +71,8 @@ use_repo(node, "nodejs_windows_amd64")
|
||||
pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm")
|
||||
pnpm.pnpm(
|
||||
name = "pnpm",
|
||||
pnpm_version = "10.30.2",
|
||||
pnpm_version_integrity = "sha512-Ns3HB+e3lAqYjJwez4jQhPhRS1w/CF9TouJEwpIdOyVFvCDdTr4fwkX+7EY7spiuzqemPtH3aAuHfcY3nY0MtA==",
|
||||
pnpm_version = "10.30.3",
|
||||
pnpm_version_integrity = "sha512-yWHR4KLY41TsqlFmuCJRZmi39Ey1vZUSLVkN2Bki9gb1RzttI+xKW+Bef80Y6EiNR9l4u+mBhy8RRdBumnQAFw==",
|
||||
)
|
||||
use_repo(pnpm, "pnpm")
|
||||
|
||||
@@ -117,9 +117,9 @@ use_repo(npm, "npm")
|
||||
rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext")
|
||||
rules_ts_ext.deps(
|
||||
name = "angular_npm_typescript",
|
||||
# Obtained by: curl --silent https://registry.npmjs.org/typescript/6.0.0-beta | jq -r '.dist.integrity'
|
||||
ts_integrity = "sha512-CldZdztDpQRLM1HC6WDQjQkQN5Ub5zRau737a1diGh3lPmb9oRsaWHk1y5iqK0o7+1bNJ0oXfEGRkAogFZBL+Q==",
|
||||
ts_version = "6.0.0-beta",
|
||||
# Obtained by: curl --silent https://registry.npmjs.org/typescript/5.9.3 | jq -r '.dist.integrity'
|
||||
ts_integrity = "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
||||
ts_version = "5.9.3",
|
||||
)
|
||||
use_repo(rules_ts_ext, **{"npm_typescript": "angular_npm_typescript"})
|
||||
|
||||
|
||||
Generated
+251
-252
@@ -22,8 +22,8 @@
|
||||
"https://bcr.bazel.build/modules/aspect_bazel_lib/2.9.3/MODULE.bazel": "66baf724dbae7aff4787bf2245cc188d50cb08e07789769730151c0943587c14",
|
||||
"https://bcr.bazel.build/modules/aspect_rules_esbuild/0.25.0/MODULE.bazel": "5fef5ec709c837312823f9bcf0f276661e2cb48ad52f17c4e01176bbf1e9bf58",
|
||||
"https://bcr.bazel.build/modules/aspect_rules_esbuild/0.25.0/source.json": "5e42968c6d23ab8bd95c02634b16864d866334347827cb6a8425b86c11cc4363",
|
||||
"https://bcr.bazel.build/modules/aspect_rules_jasmine/2.0.3/MODULE.bazel": "1c2e7a2908dbf6640dce9b242369cf48b7018af666485cbae1470b49a9672591",
|
||||
"https://bcr.bazel.build/modules/aspect_rules_jasmine/2.0.3/source.json": "5619d28f3e99eca53a0ae077cff6c66966d2da2ee8621bc0542af3fb85df128f",
|
||||
"https://bcr.bazel.build/modules/aspect_rules_jasmine/2.0.4/MODULE.bazel": "fbb819eb8b7e5d7f67fdd38f7cecb413e287594cd666ce192c72c8828527775a",
|
||||
"https://bcr.bazel.build/modules/aspect_rules_jasmine/2.0.4/source.json": "81ffb708333cd98ec3c0b4cc004f4d5cf92a16914b5196a2892c45141bba7cff",
|
||||
"https://bcr.bazel.build/modules/aspect_rules_js/2.0.0/MODULE.bazel": "b45b507574aa60a92796e3e13c195cd5744b3b8aff516a9c0cb5ae6a048161c5",
|
||||
"https://bcr.bazel.build/modules/aspect_rules_js/2.4.2/MODULE.bazel": "0d01db38b96d25df7ed952a5e96eac4b3802723d146961974bf020f6dd07591d",
|
||||
"https://bcr.bazel.build/modules/aspect_rules_js/2.6.2/MODULE.bazel": "ed2a871f4ab8fbde0cab67c425745069d84ea64b64313fa1a2954017326511f5",
|
||||
@@ -200,7 +200,6 @@
|
||||
"https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216",
|
||||
"https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468",
|
||||
"https://bcr.bazel.build/modules/tar.bzl/0.5.1/MODULE.bazel": "7c2eb3dcfc53b0f3d6f9acdfd911ca803eaf92aadf54f8ca6e4c1f3aee288351",
|
||||
"https://bcr.bazel.build/modules/tar.bzl/0.8.1/MODULE.bazel": "6ffe8907ed4c555bc94bd35a5a01411cc4470c6dace84f9cf487815409e077d1",
|
||||
"https://bcr.bazel.build/modules/tar.bzl/0.9.0/MODULE.bazel": "452a22d7f02b1c9d7a22ab25edf20f46f3e1101f0f67dc4bfbf9a474ddf02445",
|
||||
"https://bcr.bazel.build/modules/tar.bzl/0.9.0/source.json": "c732760a374831a2cf5b08839e4be75017196b4d796a5aa55235272ee17cd839",
|
||||
"https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43",
|
||||
@@ -218,7 +217,7 @@
|
||||
"moduleExtensions": {
|
||||
"@@aspect_rules_esbuild+//esbuild:extensions.bzl%esbuild": {
|
||||
"general": {
|
||||
"bzlTransitiveDigest": "c4i5gawrp4Au9UMb55EzQCePYwkrFqD9tFBN7GdHG5g=",
|
||||
"bzlTransitiveDigest": "fzdwsWU1Px4bYL57Cw1rvU/mgOqB7f0AF51JxT5kAs8=",
|
||||
"usagesDigest": "ToTaCONCN/E05krnHXLM1kpV1zrHNxHrGpUip973II4=",
|
||||
"recordedFileInputs": {},
|
||||
"recordedDirentsInputs": {},
|
||||
@@ -419,8 +418,8 @@
|
||||
},
|
||||
"@@aspect_rules_js+//npm:extensions.bzl%pnpm": {
|
||||
"general": {
|
||||
"bzlTransitiveDigest": "HC+l+mTivq1p/KbcVQ+iV5QwYR+oKESJh827FY68SH8=",
|
||||
"usagesDigest": "ky8l7fS37yDgo35S6hNi24Kw+zsJxBL0pNof77FH304=",
|
||||
"bzlTransitiveDigest": "9Zmqluz9ltvCoc6pskOslTkQpkH6CIINjWVkgam9aa4=",
|
||||
"usagesDigest": "k3HnPWCDfdjPprODR4rLNwRc8pEk4QMKpK9YbIwIkkk=",
|
||||
"recordedFileInputs": {},
|
||||
"recordedDirentsInputs": {},
|
||||
"envVariables": {},
|
||||
@@ -429,11 +428,11 @@
|
||||
"repoRuleId": "@@aspect_rules_js+//npm/private:npm_import.bzl%npm_import_rule",
|
||||
"attributes": {
|
||||
"package": "pnpm",
|
||||
"version": "10.30.2",
|
||||
"version": "10.30.3",
|
||||
"root_package": "",
|
||||
"link_workspace": "",
|
||||
"link_packages": {},
|
||||
"integrity": "sha512-Ns3HB+e3lAqYjJwez4jQhPhRS1w/CF9TouJEwpIdOyVFvCDdTr4fwkX+7EY7spiuzqemPtH3aAuHfcY3nY0MtA==",
|
||||
"integrity": "sha512-yWHR4KLY41TsqlFmuCJRZmi39Ey1vZUSLVkN2Bki9gb1RzttI+xKW+Bef80Y6EiNR9l4u+mBhy8RRdBumnQAFw==",
|
||||
"url": "",
|
||||
"commit": "",
|
||||
"patch_args": [
|
||||
@@ -456,7 +455,7 @@
|
||||
"repoRuleId": "@@aspect_rules_js+//npm/private:npm_import.bzl%npm_import_links",
|
||||
"attributes": {
|
||||
"package": "pnpm",
|
||||
"version": "10.30.2",
|
||||
"version": "10.30.3",
|
||||
"dev": false,
|
||||
"root_package": "",
|
||||
"link_packages": {},
|
||||
@@ -573,8 +572,8 @@
|
||||
},
|
||||
"@@aspect_rules_ts+//ts:extensions.bzl%ext": {
|
||||
"general": {
|
||||
"bzlTransitiveDigest": "jrh/WHprsSSVvWjNLpDRdUl48LnV4xm2+ZssEvasHxQ=",
|
||||
"usagesDigest": "5Mj1S/yyTIvnEsdYZuALQNxC6YMobxr4Fp6KXO8UzDo=",
|
||||
"bzlTransitiveDigest": "6NyLUdrb79stFKm8oWIBK2q65cT5Upbr8IR2Qwsywu8=",
|
||||
"usagesDigest": "ZXlhH7TrNEERA0ibuRRxAjYv2fVuXoFGNd3v+0UK1/g=",
|
||||
"recordedFileInputs": {
|
||||
"@@rules_browsers+//package.json": "772d873d450a539e2133635aeb5e63744cf1cec86e6b37aeecd9267a147fb0d7"
|
||||
},
|
||||
@@ -584,8 +583,8 @@
|
||||
"angular_npm_typescript": {
|
||||
"repoRuleId": "@@aspect_rules_ts+//ts/private:npm_repositories.bzl%http_archive_version",
|
||||
"attributes": {
|
||||
"version": "6.0.0-beta",
|
||||
"integrity": "sha512-CldZdztDpQRLM1HC6WDQjQkQN5Ub5zRau737a1diGh3lPmb9oRsaWHk1y5iqK0o7+1bNJ0oXfEGRkAogFZBL+Q==",
|
||||
"version": "5.9.3",
|
||||
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
||||
"urls": [
|
||||
"https://registry.npmjs.org/typescript/-/typescript-{}.tgz"
|
||||
]
|
||||
@@ -640,7 +639,7 @@
|
||||
"@@aspect_tools_telemetry+//:extension.bzl%telemetry": {
|
||||
"general": {
|
||||
"bzlTransitiveDigest": "cl5A2O84vDL6Tt+Qga8FCj1DUDGqn+e7ly5rZ+4xvcc=",
|
||||
"usagesDigest": "iTRB8NybCoL/vRnkXtaHqavLwH75S1+FK8oR8PdUBIY=",
|
||||
"usagesDigest": "fkarigrHiiNAt/BwClRuO51QOEo6226baK6LoK/IWdU=",
|
||||
"recordedFileInputs": {},
|
||||
"recordedDirentsInputs": {},
|
||||
"envVariables": {},
|
||||
@@ -652,7 +651,7 @@
|
||||
"aspect_rules_ts": "3.8.5",
|
||||
"aspect_rules_js": "2.9.2",
|
||||
"aspect_rules_esbuild": "0.25.0",
|
||||
"aspect_rules_jasmine": "2.0.3",
|
||||
"aspect_rules_jasmine": "2.0.4",
|
||||
"aspect_tools_telemetry": "0.3.3"
|
||||
}
|
||||
}
|
||||
@@ -674,7 +673,7 @@
|
||||
},
|
||||
"@@pybind11_bazel+//:python_configure.bzl%extension": {
|
||||
"general": {
|
||||
"bzlTransitiveDigest": "c9ZWWeXeu6bctL4/SsY2otFWyeFN0JJ20+ymGyJZtWk=",
|
||||
"bzlTransitiveDigest": "D2/qWHU6yQFwRG7Bb+caqrYMha5avsASao2vERrxK24=",
|
||||
"usagesDigest": "fycyB39YnXIJkfWCIXLUKJMZzANcuLy9ZE73hRucjFk=",
|
||||
"recordedFileInputs": {
|
||||
"@@pybind11_bazel+//MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e"
|
||||
@@ -946,7 +945,7 @@
|
||||
},
|
||||
"@@rules_fuzzing+//fuzzing/private:extensions.bzl%non_module_dependencies": {
|
||||
"general": {
|
||||
"bzlTransitiveDigest": "WHRlQQnxW7e7XMRBhq7SARkDarLDOAbg6iLaJpk5QYM=",
|
||||
"bzlTransitiveDigest": "4LouzhF/yT117s7peGnNs9ROomiJXC6Zl5R0oI21jho=",
|
||||
"usagesDigest": "wy6ISK6UOcBEjj/mvJ/S3WeXoO67X+1llb9yPyFtPgc=",
|
||||
"recordedFileInputs": {},
|
||||
"recordedDirentsInputs": {},
|
||||
@@ -1029,7 +1028,7 @@
|
||||
},
|
||||
"@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": {
|
||||
"general": {
|
||||
"bzlTransitiveDigest": "rL/34P1aFDq2GqVC2zCFgQ8nTuOC6ziogocpvG50Qz8=",
|
||||
"bzlTransitiveDigest": "nvW/NrBXlAmiQw99EMGKkLaD2KbNp2mQDlxdfpr+0Ls=",
|
||||
"usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=",
|
||||
"recordedFileInputs": {},
|
||||
"recordedDirentsInputs": {},
|
||||
@@ -1094,7 +1093,7 @@
|
||||
"@@rules_nodejs+//nodejs:extensions.bzl%node": {
|
||||
"general": {
|
||||
"bzlTransitiveDigest": "4pUxCNc22K4I+6+4Nxu52Hur12tFRfa1JMsN5mdDv60=",
|
||||
"usagesDigest": "SFGq+zUCbdSXGEjZH5ptl7y0cVwcw+BXOKjCi8YN22E=",
|
||||
"usagesDigest": "pjXeuItYQffkhMcQv+aU/G0SB0QAmyOC9W7iq63eW08=",
|
||||
"recordedFileInputs": {},
|
||||
"recordedDirentsInputs": {},
|
||||
"envVariables": {},
|
||||
@@ -1104,46 +1103,46 @@
|
||||
"attributes": {
|
||||
"node_download_auth": {},
|
||||
"node_repositories": {
|
||||
"22.22.0-darwin_arm64": [
|
||||
"node-v22.22.0-darwin-arm64.tar.gz",
|
||||
"node-v22.22.0-darwin-arm64",
|
||||
"5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
|
||||
"22.22.1-darwin_arm64": [
|
||||
"node-v22.22.1-darwin-arm64.tar.gz",
|
||||
"node-v22.22.1-darwin-arm64",
|
||||
"679ad4966339e4ef4900f57996714864e4211b898825bb840c3086c419fbcef2"
|
||||
],
|
||||
"22.22.0-darwin_amd64": [
|
||||
"node-v22.22.0-darwin-x64.tar.gz",
|
||||
"node-v22.22.0-darwin-x64",
|
||||
"5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
|
||||
"22.22.1-darwin_amd64": [
|
||||
"node-v22.22.1-darwin-x64.tar.gz",
|
||||
"node-v22.22.1-darwin-x64",
|
||||
"07b13722d558790fca20bb1ecf61bde24b7a4863111f7be77fc57251a407359a"
|
||||
],
|
||||
"22.22.0-linux_arm64": [
|
||||
"node-v22.22.0-linux-arm64.tar.xz",
|
||||
"node-v22.22.0-linux-arm64",
|
||||
"1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
|
||||
"22.22.1-linux_arm64": [
|
||||
"node-v22.22.1-linux-arm64.tar.xz",
|
||||
"node-v22.22.1-linux-arm64",
|
||||
"0f3550d58d45e5d3cf7103d9e3f69937f09fe82fb5dd474c66a5d816fa58c9ee"
|
||||
],
|
||||
"22.22.0-linux_ppc64le": [
|
||||
"node-v22.22.0-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.0-linux-ppc64le",
|
||||
"d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
|
||||
"22.22.1-linux_ppc64le": [
|
||||
"node-v22.22.1-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.1-linux-ppc64le",
|
||||
"a65a44cf0224505f052b90357b763dbc1ea9148f4f5f2284f0596cf2000f819b"
|
||||
],
|
||||
"22.22.0-linux_s390x": [
|
||||
"node-v22.22.0-linux-s390x.tar.xz",
|
||||
"node-v22.22.0-linux-s390x",
|
||||
"5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
|
||||
"22.22.1-linux_s390x": [
|
||||
"node-v22.22.1-linux-s390x.tar.xz",
|
||||
"node-v22.22.1-linux-s390x",
|
||||
"e08b3a73d0bd840e008f589e4be4a2ef3d4a0c59015f4f20a04ed7fc968042a2"
|
||||
],
|
||||
"22.22.0-linux_amd64": [
|
||||
"node-v22.22.0-linux-x64.tar.xz",
|
||||
"node-v22.22.0-linux-x64",
|
||||
"9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
|
||||
"22.22.1-linux_amd64": [
|
||||
"node-v22.22.1-linux-x64.tar.xz",
|
||||
"node-v22.22.1-linux-x64",
|
||||
"9a6bc82f9b491279147219f6a18add1e18424dce90d41d2a5fcd69d4924ba3aa"
|
||||
],
|
||||
"22.22.0-windows_amd64": [
|
||||
"node-v22.22.0-win-x64.zip",
|
||||
"node-v22.22.0-win-x64",
|
||||
"c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
|
||||
"22.22.1-windows_amd64": [
|
||||
"node-v22.22.1-win-x64.zip",
|
||||
"node-v22.22.1-win-x64",
|
||||
"877cb93829e14fffbbc7903e7d8037336c9a79f3ea43c5d0b8c2379b79da56de"
|
||||
]
|
||||
},
|
||||
"node_urls": [
|
||||
"https://nodejs.org/dist/v{version}/{filename}"
|
||||
],
|
||||
"node_version": "22.22.0",
|
||||
"node_version": "22.22.1",
|
||||
"include_headers": false,
|
||||
"platform": "linux_amd64"
|
||||
}
|
||||
@@ -1153,46 +1152,46 @@
|
||||
"attributes": {
|
||||
"node_download_auth": {},
|
||||
"node_repositories": {
|
||||
"22.22.0-darwin_arm64": [
|
||||
"node-v22.22.0-darwin-arm64.tar.gz",
|
||||
"node-v22.22.0-darwin-arm64",
|
||||
"5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
|
||||
"22.22.1-darwin_arm64": [
|
||||
"node-v22.22.1-darwin-arm64.tar.gz",
|
||||
"node-v22.22.1-darwin-arm64",
|
||||
"679ad4966339e4ef4900f57996714864e4211b898825bb840c3086c419fbcef2"
|
||||
],
|
||||
"22.22.0-darwin_amd64": [
|
||||
"node-v22.22.0-darwin-x64.tar.gz",
|
||||
"node-v22.22.0-darwin-x64",
|
||||
"5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
|
||||
"22.22.1-darwin_amd64": [
|
||||
"node-v22.22.1-darwin-x64.tar.gz",
|
||||
"node-v22.22.1-darwin-x64",
|
||||
"07b13722d558790fca20bb1ecf61bde24b7a4863111f7be77fc57251a407359a"
|
||||
],
|
||||
"22.22.0-linux_arm64": [
|
||||
"node-v22.22.0-linux-arm64.tar.xz",
|
||||
"node-v22.22.0-linux-arm64",
|
||||
"1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
|
||||
"22.22.1-linux_arm64": [
|
||||
"node-v22.22.1-linux-arm64.tar.xz",
|
||||
"node-v22.22.1-linux-arm64",
|
||||
"0f3550d58d45e5d3cf7103d9e3f69937f09fe82fb5dd474c66a5d816fa58c9ee"
|
||||
],
|
||||
"22.22.0-linux_ppc64le": [
|
||||
"node-v22.22.0-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.0-linux-ppc64le",
|
||||
"d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
|
||||
"22.22.1-linux_ppc64le": [
|
||||
"node-v22.22.1-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.1-linux-ppc64le",
|
||||
"a65a44cf0224505f052b90357b763dbc1ea9148f4f5f2284f0596cf2000f819b"
|
||||
],
|
||||
"22.22.0-linux_s390x": [
|
||||
"node-v22.22.0-linux-s390x.tar.xz",
|
||||
"node-v22.22.0-linux-s390x",
|
||||
"5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
|
||||
"22.22.1-linux_s390x": [
|
||||
"node-v22.22.1-linux-s390x.tar.xz",
|
||||
"node-v22.22.1-linux-s390x",
|
||||
"e08b3a73d0bd840e008f589e4be4a2ef3d4a0c59015f4f20a04ed7fc968042a2"
|
||||
],
|
||||
"22.22.0-linux_amd64": [
|
||||
"node-v22.22.0-linux-x64.tar.xz",
|
||||
"node-v22.22.0-linux-x64",
|
||||
"9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
|
||||
"22.22.1-linux_amd64": [
|
||||
"node-v22.22.1-linux-x64.tar.xz",
|
||||
"node-v22.22.1-linux-x64",
|
||||
"9a6bc82f9b491279147219f6a18add1e18424dce90d41d2a5fcd69d4924ba3aa"
|
||||
],
|
||||
"22.22.0-windows_amd64": [
|
||||
"node-v22.22.0-win-x64.zip",
|
||||
"node-v22.22.0-win-x64",
|
||||
"c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
|
||||
"22.22.1-windows_amd64": [
|
||||
"node-v22.22.1-win-x64.zip",
|
||||
"node-v22.22.1-win-x64",
|
||||
"877cb93829e14fffbbc7903e7d8037336c9a79f3ea43c5d0b8c2379b79da56de"
|
||||
]
|
||||
},
|
||||
"node_urls": [
|
||||
"https://nodejs.org/dist/v{version}/{filename}"
|
||||
],
|
||||
"node_version": "22.22.0",
|
||||
"node_version": "22.22.1",
|
||||
"include_headers": false,
|
||||
"platform": "linux_arm64"
|
||||
}
|
||||
@@ -1202,46 +1201,46 @@
|
||||
"attributes": {
|
||||
"node_download_auth": {},
|
||||
"node_repositories": {
|
||||
"22.22.0-darwin_arm64": [
|
||||
"node-v22.22.0-darwin-arm64.tar.gz",
|
||||
"node-v22.22.0-darwin-arm64",
|
||||
"5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
|
||||
"22.22.1-darwin_arm64": [
|
||||
"node-v22.22.1-darwin-arm64.tar.gz",
|
||||
"node-v22.22.1-darwin-arm64",
|
||||
"679ad4966339e4ef4900f57996714864e4211b898825bb840c3086c419fbcef2"
|
||||
],
|
||||
"22.22.0-darwin_amd64": [
|
||||
"node-v22.22.0-darwin-x64.tar.gz",
|
||||
"node-v22.22.0-darwin-x64",
|
||||
"5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
|
||||
"22.22.1-darwin_amd64": [
|
||||
"node-v22.22.1-darwin-x64.tar.gz",
|
||||
"node-v22.22.1-darwin-x64",
|
||||
"07b13722d558790fca20bb1ecf61bde24b7a4863111f7be77fc57251a407359a"
|
||||
],
|
||||
"22.22.0-linux_arm64": [
|
||||
"node-v22.22.0-linux-arm64.tar.xz",
|
||||
"node-v22.22.0-linux-arm64",
|
||||
"1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
|
||||
"22.22.1-linux_arm64": [
|
||||
"node-v22.22.1-linux-arm64.tar.xz",
|
||||
"node-v22.22.1-linux-arm64",
|
||||
"0f3550d58d45e5d3cf7103d9e3f69937f09fe82fb5dd474c66a5d816fa58c9ee"
|
||||
],
|
||||
"22.22.0-linux_ppc64le": [
|
||||
"node-v22.22.0-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.0-linux-ppc64le",
|
||||
"d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
|
||||
"22.22.1-linux_ppc64le": [
|
||||
"node-v22.22.1-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.1-linux-ppc64le",
|
||||
"a65a44cf0224505f052b90357b763dbc1ea9148f4f5f2284f0596cf2000f819b"
|
||||
],
|
||||
"22.22.0-linux_s390x": [
|
||||
"node-v22.22.0-linux-s390x.tar.xz",
|
||||
"node-v22.22.0-linux-s390x",
|
||||
"5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
|
||||
"22.22.1-linux_s390x": [
|
||||
"node-v22.22.1-linux-s390x.tar.xz",
|
||||
"node-v22.22.1-linux-s390x",
|
||||
"e08b3a73d0bd840e008f589e4be4a2ef3d4a0c59015f4f20a04ed7fc968042a2"
|
||||
],
|
||||
"22.22.0-linux_amd64": [
|
||||
"node-v22.22.0-linux-x64.tar.xz",
|
||||
"node-v22.22.0-linux-x64",
|
||||
"9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
|
||||
"22.22.1-linux_amd64": [
|
||||
"node-v22.22.1-linux-x64.tar.xz",
|
||||
"node-v22.22.1-linux-x64",
|
||||
"9a6bc82f9b491279147219f6a18add1e18424dce90d41d2a5fcd69d4924ba3aa"
|
||||
],
|
||||
"22.22.0-windows_amd64": [
|
||||
"node-v22.22.0-win-x64.zip",
|
||||
"node-v22.22.0-win-x64",
|
||||
"c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
|
||||
"22.22.1-windows_amd64": [
|
||||
"node-v22.22.1-win-x64.zip",
|
||||
"node-v22.22.1-win-x64",
|
||||
"877cb93829e14fffbbc7903e7d8037336c9a79f3ea43c5d0b8c2379b79da56de"
|
||||
]
|
||||
},
|
||||
"node_urls": [
|
||||
"https://nodejs.org/dist/v{version}/{filename}"
|
||||
],
|
||||
"node_version": "22.22.0",
|
||||
"node_version": "22.22.1",
|
||||
"include_headers": false,
|
||||
"platform": "linux_s390x"
|
||||
}
|
||||
@@ -1251,46 +1250,46 @@
|
||||
"attributes": {
|
||||
"node_download_auth": {},
|
||||
"node_repositories": {
|
||||
"22.22.0-darwin_arm64": [
|
||||
"node-v22.22.0-darwin-arm64.tar.gz",
|
||||
"node-v22.22.0-darwin-arm64",
|
||||
"5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
|
||||
"22.22.1-darwin_arm64": [
|
||||
"node-v22.22.1-darwin-arm64.tar.gz",
|
||||
"node-v22.22.1-darwin-arm64",
|
||||
"679ad4966339e4ef4900f57996714864e4211b898825bb840c3086c419fbcef2"
|
||||
],
|
||||
"22.22.0-darwin_amd64": [
|
||||
"node-v22.22.0-darwin-x64.tar.gz",
|
||||
"node-v22.22.0-darwin-x64",
|
||||
"5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
|
||||
"22.22.1-darwin_amd64": [
|
||||
"node-v22.22.1-darwin-x64.tar.gz",
|
||||
"node-v22.22.1-darwin-x64",
|
||||
"07b13722d558790fca20bb1ecf61bde24b7a4863111f7be77fc57251a407359a"
|
||||
],
|
||||
"22.22.0-linux_arm64": [
|
||||
"node-v22.22.0-linux-arm64.tar.xz",
|
||||
"node-v22.22.0-linux-arm64",
|
||||
"1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
|
||||
"22.22.1-linux_arm64": [
|
||||
"node-v22.22.1-linux-arm64.tar.xz",
|
||||
"node-v22.22.1-linux-arm64",
|
||||
"0f3550d58d45e5d3cf7103d9e3f69937f09fe82fb5dd474c66a5d816fa58c9ee"
|
||||
],
|
||||
"22.22.0-linux_ppc64le": [
|
||||
"node-v22.22.0-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.0-linux-ppc64le",
|
||||
"d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
|
||||
"22.22.1-linux_ppc64le": [
|
||||
"node-v22.22.1-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.1-linux-ppc64le",
|
||||
"a65a44cf0224505f052b90357b763dbc1ea9148f4f5f2284f0596cf2000f819b"
|
||||
],
|
||||
"22.22.0-linux_s390x": [
|
||||
"node-v22.22.0-linux-s390x.tar.xz",
|
||||
"node-v22.22.0-linux-s390x",
|
||||
"5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
|
||||
"22.22.1-linux_s390x": [
|
||||
"node-v22.22.1-linux-s390x.tar.xz",
|
||||
"node-v22.22.1-linux-s390x",
|
||||
"e08b3a73d0bd840e008f589e4be4a2ef3d4a0c59015f4f20a04ed7fc968042a2"
|
||||
],
|
||||
"22.22.0-linux_amd64": [
|
||||
"node-v22.22.0-linux-x64.tar.xz",
|
||||
"node-v22.22.0-linux-x64",
|
||||
"9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
|
||||
"22.22.1-linux_amd64": [
|
||||
"node-v22.22.1-linux-x64.tar.xz",
|
||||
"node-v22.22.1-linux-x64",
|
||||
"9a6bc82f9b491279147219f6a18add1e18424dce90d41d2a5fcd69d4924ba3aa"
|
||||
],
|
||||
"22.22.0-windows_amd64": [
|
||||
"node-v22.22.0-win-x64.zip",
|
||||
"node-v22.22.0-win-x64",
|
||||
"c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
|
||||
"22.22.1-windows_amd64": [
|
||||
"node-v22.22.1-win-x64.zip",
|
||||
"node-v22.22.1-win-x64",
|
||||
"877cb93829e14fffbbc7903e7d8037336c9a79f3ea43c5d0b8c2379b79da56de"
|
||||
]
|
||||
},
|
||||
"node_urls": [
|
||||
"https://nodejs.org/dist/v{version}/{filename}"
|
||||
],
|
||||
"node_version": "22.22.0",
|
||||
"node_version": "22.22.1",
|
||||
"include_headers": false,
|
||||
"platform": "linux_ppc64le"
|
||||
}
|
||||
@@ -1300,46 +1299,46 @@
|
||||
"attributes": {
|
||||
"node_download_auth": {},
|
||||
"node_repositories": {
|
||||
"22.22.0-darwin_arm64": [
|
||||
"node-v22.22.0-darwin-arm64.tar.gz",
|
||||
"node-v22.22.0-darwin-arm64",
|
||||
"5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
|
||||
"22.22.1-darwin_arm64": [
|
||||
"node-v22.22.1-darwin-arm64.tar.gz",
|
||||
"node-v22.22.1-darwin-arm64",
|
||||
"679ad4966339e4ef4900f57996714864e4211b898825bb840c3086c419fbcef2"
|
||||
],
|
||||
"22.22.0-darwin_amd64": [
|
||||
"node-v22.22.0-darwin-x64.tar.gz",
|
||||
"node-v22.22.0-darwin-x64",
|
||||
"5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
|
||||
"22.22.1-darwin_amd64": [
|
||||
"node-v22.22.1-darwin-x64.tar.gz",
|
||||
"node-v22.22.1-darwin-x64",
|
||||
"07b13722d558790fca20bb1ecf61bde24b7a4863111f7be77fc57251a407359a"
|
||||
],
|
||||
"22.22.0-linux_arm64": [
|
||||
"node-v22.22.0-linux-arm64.tar.xz",
|
||||
"node-v22.22.0-linux-arm64",
|
||||
"1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
|
||||
"22.22.1-linux_arm64": [
|
||||
"node-v22.22.1-linux-arm64.tar.xz",
|
||||
"node-v22.22.1-linux-arm64",
|
||||
"0f3550d58d45e5d3cf7103d9e3f69937f09fe82fb5dd474c66a5d816fa58c9ee"
|
||||
],
|
||||
"22.22.0-linux_ppc64le": [
|
||||
"node-v22.22.0-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.0-linux-ppc64le",
|
||||
"d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
|
||||
"22.22.1-linux_ppc64le": [
|
||||
"node-v22.22.1-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.1-linux-ppc64le",
|
||||
"a65a44cf0224505f052b90357b763dbc1ea9148f4f5f2284f0596cf2000f819b"
|
||||
],
|
||||
"22.22.0-linux_s390x": [
|
||||
"node-v22.22.0-linux-s390x.tar.xz",
|
||||
"node-v22.22.0-linux-s390x",
|
||||
"5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
|
||||
"22.22.1-linux_s390x": [
|
||||
"node-v22.22.1-linux-s390x.tar.xz",
|
||||
"node-v22.22.1-linux-s390x",
|
||||
"e08b3a73d0bd840e008f589e4be4a2ef3d4a0c59015f4f20a04ed7fc968042a2"
|
||||
],
|
||||
"22.22.0-linux_amd64": [
|
||||
"node-v22.22.0-linux-x64.tar.xz",
|
||||
"node-v22.22.0-linux-x64",
|
||||
"9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
|
||||
"22.22.1-linux_amd64": [
|
||||
"node-v22.22.1-linux-x64.tar.xz",
|
||||
"node-v22.22.1-linux-x64",
|
||||
"9a6bc82f9b491279147219f6a18add1e18424dce90d41d2a5fcd69d4924ba3aa"
|
||||
],
|
||||
"22.22.0-windows_amd64": [
|
||||
"node-v22.22.0-win-x64.zip",
|
||||
"node-v22.22.0-win-x64",
|
||||
"c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
|
||||
"22.22.1-windows_amd64": [
|
||||
"node-v22.22.1-win-x64.zip",
|
||||
"node-v22.22.1-win-x64",
|
||||
"877cb93829e14fffbbc7903e7d8037336c9a79f3ea43c5d0b8c2379b79da56de"
|
||||
]
|
||||
},
|
||||
"node_urls": [
|
||||
"https://nodejs.org/dist/v{version}/{filename}"
|
||||
],
|
||||
"node_version": "22.22.0",
|
||||
"node_version": "22.22.1",
|
||||
"include_headers": false,
|
||||
"platform": "darwin_amd64"
|
||||
}
|
||||
@@ -1349,46 +1348,46 @@
|
||||
"attributes": {
|
||||
"node_download_auth": {},
|
||||
"node_repositories": {
|
||||
"22.22.0-darwin_arm64": [
|
||||
"node-v22.22.0-darwin-arm64.tar.gz",
|
||||
"node-v22.22.0-darwin-arm64",
|
||||
"5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
|
||||
"22.22.1-darwin_arm64": [
|
||||
"node-v22.22.1-darwin-arm64.tar.gz",
|
||||
"node-v22.22.1-darwin-arm64",
|
||||
"679ad4966339e4ef4900f57996714864e4211b898825bb840c3086c419fbcef2"
|
||||
],
|
||||
"22.22.0-darwin_amd64": [
|
||||
"node-v22.22.0-darwin-x64.tar.gz",
|
||||
"node-v22.22.0-darwin-x64",
|
||||
"5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
|
||||
"22.22.1-darwin_amd64": [
|
||||
"node-v22.22.1-darwin-x64.tar.gz",
|
||||
"node-v22.22.1-darwin-x64",
|
||||
"07b13722d558790fca20bb1ecf61bde24b7a4863111f7be77fc57251a407359a"
|
||||
],
|
||||
"22.22.0-linux_arm64": [
|
||||
"node-v22.22.0-linux-arm64.tar.xz",
|
||||
"node-v22.22.0-linux-arm64",
|
||||
"1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
|
||||
"22.22.1-linux_arm64": [
|
||||
"node-v22.22.1-linux-arm64.tar.xz",
|
||||
"node-v22.22.1-linux-arm64",
|
||||
"0f3550d58d45e5d3cf7103d9e3f69937f09fe82fb5dd474c66a5d816fa58c9ee"
|
||||
],
|
||||
"22.22.0-linux_ppc64le": [
|
||||
"node-v22.22.0-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.0-linux-ppc64le",
|
||||
"d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
|
||||
"22.22.1-linux_ppc64le": [
|
||||
"node-v22.22.1-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.1-linux-ppc64le",
|
||||
"a65a44cf0224505f052b90357b763dbc1ea9148f4f5f2284f0596cf2000f819b"
|
||||
],
|
||||
"22.22.0-linux_s390x": [
|
||||
"node-v22.22.0-linux-s390x.tar.xz",
|
||||
"node-v22.22.0-linux-s390x",
|
||||
"5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
|
||||
"22.22.1-linux_s390x": [
|
||||
"node-v22.22.1-linux-s390x.tar.xz",
|
||||
"node-v22.22.1-linux-s390x",
|
||||
"e08b3a73d0bd840e008f589e4be4a2ef3d4a0c59015f4f20a04ed7fc968042a2"
|
||||
],
|
||||
"22.22.0-linux_amd64": [
|
||||
"node-v22.22.0-linux-x64.tar.xz",
|
||||
"node-v22.22.0-linux-x64",
|
||||
"9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
|
||||
"22.22.1-linux_amd64": [
|
||||
"node-v22.22.1-linux-x64.tar.xz",
|
||||
"node-v22.22.1-linux-x64",
|
||||
"9a6bc82f9b491279147219f6a18add1e18424dce90d41d2a5fcd69d4924ba3aa"
|
||||
],
|
||||
"22.22.0-windows_amd64": [
|
||||
"node-v22.22.0-win-x64.zip",
|
||||
"node-v22.22.0-win-x64",
|
||||
"c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
|
||||
"22.22.1-windows_amd64": [
|
||||
"node-v22.22.1-win-x64.zip",
|
||||
"node-v22.22.1-win-x64",
|
||||
"877cb93829e14fffbbc7903e7d8037336c9a79f3ea43c5d0b8c2379b79da56de"
|
||||
]
|
||||
},
|
||||
"node_urls": [
|
||||
"https://nodejs.org/dist/v{version}/{filename}"
|
||||
],
|
||||
"node_version": "22.22.0",
|
||||
"node_version": "22.22.1",
|
||||
"include_headers": false,
|
||||
"platform": "darwin_arm64"
|
||||
}
|
||||
@@ -1398,46 +1397,46 @@
|
||||
"attributes": {
|
||||
"node_download_auth": {},
|
||||
"node_repositories": {
|
||||
"22.22.0-darwin_arm64": [
|
||||
"node-v22.22.0-darwin-arm64.tar.gz",
|
||||
"node-v22.22.0-darwin-arm64",
|
||||
"5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
|
||||
"22.22.1-darwin_arm64": [
|
||||
"node-v22.22.1-darwin-arm64.tar.gz",
|
||||
"node-v22.22.1-darwin-arm64",
|
||||
"679ad4966339e4ef4900f57996714864e4211b898825bb840c3086c419fbcef2"
|
||||
],
|
||||
"22.22.0-darwin_amd64": [
|
||||
"node-v22.22.0-darwin-x64.tar.gz",
|
||||
"node-v22.22.0-darwin-x64",
|
||||
"5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
|
||||
"22.22.1-darwin_amd64": [
|
||||
"node-v22.22.1-darwin-x64.tar.gz",
|
||||
"node-v22.22.1-darwin-x64",
|
||||
"07b13722d558790fca20bb1ecf61bde24b7a4863111f7be77fc57251a407359a"
|
||||
],
|
||||
"22.22.0-linux_arm64": [
|
||||
"node-v22.22.0-linux-arm64.tar.xz",
|
||||
"node-v22.22.0-linux-arm64",
|
||||
"1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
|
||||
"22.22.1-linux_arm64": [
|
||||
"node-v22.22.1-linux-arm64.tar.xz",
|
||||
"node-v22.22.1-linux-arm64",
|
||||
"0f3550d58d45e5d3cf7103d9e3f69937f09fe82fb5dd474c66a5d816fa58c9ee"
|
||||
],
|
||||
"22.22.0-linux_ppc64le": [
|
||||
"node-v22.22.0-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.0-linux-ppc64le",
|
||||
"d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
|
||||
"22.22.1-linux_ppc64le": [
|
||||
"node-v22.22.1-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.1-linux-ppc64le",
|
||||
"a65a44cf0224505f052b90357b763dbc1ea9148f4f5f2284f0596cf2000f819b"
|
||||
],
|
||||
"22.22.0-linux_s390x": [
|
||||
"node-v22.22.0-linux-s390x.tar.xz",
|
||||
"node-v22.22.0-linux-s390x",
|
||||
"5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
|
||||
"22.22.1-linux_s390x": [
|
||||
"node-v22.22.1-linux-s390x.tar.xz",
|
||||
"node-v22.22.1-linux-s390x",
|
||||
"e08b3a73d0bd840e008f589e4be4a2ef3d4a0c59015f4f20a04ed7fc968042a2"
|
||||
],
|
||||
"22.22.0-linux_amd64": [
|
||||
"node-v22.22.0-linux-x64.tar.xz",
|
||||
"node-v22.22.0-linux-x64",
|
||||
"9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
|
||||
"22.22.1-linux_amd64": [
|
||||
"node-v22.22.1-linux-x64.tar.xz",
|
||||
"node-v22.22.1-linux-x64",
|
||||
"9a6bc82f9b491279147219f6a18add1e18424dce90d41d2a5fcd69d4924ba3aa"
|
||||
],
|
||||
"22.22.0-windows_amd64": [
|
||||
"node-v22.22.0-win-x64.zip",
|
||||
"node-v22.22.0-win-x64",
|
||||
"c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
|
||||
"22.22.1-windows_amd64": [
|
||||
"node-v22.22.1-win-x64.zip",
|
||||
"node-v22.22.1-win-x64",
|
||||
"877cb93829e14fffbbc7903e7d8037336c9a79f3ea43c5d0b8c2379b79da56de"
|
||||
]
|
||||
},
|
||||
"node_urls": [
|
||||
"https://nodejs.org/dist/v{version}/{filename}"
|
||||
],
|
||||
"node_version": "22.22.0",
|
||||
"node_version": "22.22.1",
|
||||
"include_headers": false,
|
||||
"platform": "windows_amd64"
|
||||
}
|
||||
@@ -1447,46 +1446,46 @@
|
||||
"attributes": {
|
||||
"node_download_auth": {},
|
||||
"node_repositories": {
|
||||
"22.22.0-darwin_arm64": [
|
||||
"node-v22.22.0-darwin-arm64.tar.gz",
|
||||
"node-v22.22.0-darwin-arm64",
|
||||
"5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
|
||||
"22.22.1-darwin_arm64": [
|
||||
"node-v22.22.1-darwin-arm64.tar.gz",
|
||||
"node-v22.22.1-darwin-arm64",
|
||||
"679ad4966339e4ef4900f57996714864e4211b898825bb840c3086c419fbcef2"
|
||||
],
|
||||
"22.22.0-darwin_amd64": [
|
||||
"node-v22.22.0-darwin-x64.tar.gz",
|
||||
"node-v22.22.0-darwin-x64",
|
||||
"5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
|
||||
"22.22.1-darwin_amd64": [
|
||||
"node-v22.22.1-darwin-x64.tar.gz",
|
||||
"node-v22.22.1-darwin-x64",
|
||||
"07b13722d558790fca20bb1ecf61bde24b7a4863111f7be77fc57251a407359a"
|
||||
],
|
||||
"22.22.0-linux_arm64": [
|
||||
"node-v22.22.0-linux-arm64.tar.xz",
|
||||
"node-v22.22.0-linux-arm64",
|
||||
"1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
|
||||
"22.22.1-linux_arm64": [
|
||||
"node-v22.22.1-linux-arm64.tar.xz",
|
||||
"node-v22.22.1-linux-arm64",
|
||||
"0f3550d58d45e5d3cf7103d9e3f69937f09fe82fb5dd474c66a5d816fa58c9ee"
|
||||
],
|
||||
"22.22.0-linux_ppc64le": [
|
||||
"node-v22.22.0-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.0-linux-ppc64le",
|
||||
"d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
|
||||
"22.22.1-linux_ppc64le": [
|
||||
"node-v22.22.1-linux-ppc64le.tar.xz",
|
||||
"node-v22.22.1-linux-ppc64le",
|
||||
"a65a44cf0224505f052b90357b763dbc1ea9148f4f5f2284f0596cf2000f819b"
|
||||
],
|
||||
"22.22.0-linux_s390x": [
|
||||
"node-v22.22.0-linux-s390x.tar.xz",
|
||||
"node-v22.22.0-linux-s390x",
|
||||
"5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
|
||||
"22.22.1-linux_s390x": [
|
||||
"node-v22.22.1-linux-s390x.tar.xz",
|
||||
"node-v22.22.1-linux-s390x",
|
||||
"e08b3a73d0bd840e008f589e4be4a2ef3d4a0c59015f4f20a04ed7fc968042a2"
|
||||
],
|
||||
"22.22.0-linux_amd64": [
|
||||
"node-v22.22.0-linux-x64.tar.xz",
|
||||
"node-v22.22.0-linux-x64",
|
||||
"9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
|
||||
"22.22.1-linux_amd64": [
|
||||
"node-v22.22.1-linux-x64.tar.xz",
|
||||
"node-v22.22.1-linux-x64",
|
||||
"9a6bc82f9b491279147219f6a18add1e18424dce90d41d2a5fcd69d4924ba3aa"
|
||||
],
|
||||
"22.22.0-windows_amd64": [
|
||||
"node-v22.22.0-win-x64.zip",
|
||||
"node-v22.22.0-win-x64",
|
||||
"c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
|
||||
"22.22.1-windows_amd64": [
|
||||
"node-v22.22.1-win-x64.zip",
|
||||
"node-v22.22.1-win-x64",
|
||||
"877cb93829e14fffbbc7903e7d8037336c9a79f3ea43c5d0b8c2379b79da56de"
|
||||
]
|
||||
},
|
||||
"node_urls": [
|
||||
"https://nodejs.org/dist/v{version}/{filename}"
|
||||
],
|
||||
"node_version": "22.22.0",
|
||||
"node_version": "22.22.1",
|
||||
"include_headers": false,
|
||||
"platform": "windows_arm64"
|
||||
}
|
||||
@@ -1515,7 +1514,7 @@
|
||||
},
|
||||
"@@rules_python+//python/extensions:pip.bzl%pip": {
|
||||
"general": {
|
||||
"bzlTransitiveDigest": "d3ENjFH8qMwmOrkcb3c9JYqQ5hJ6owjfbSr24KY0Ugg=",
|
||||
"bzlTransitiveDigest": "LFkevJ0u48WgTVCyU07LkRD8iYwsRUs2M7uSFHkQAW0=",
|
||||
"usagesDigest": "/9NP3RV6/DWuNdYAsIU/8UCgCX0TdPUJr0X6O+0lrtk=",
|
||||
"recordedFileInputs": {
|
||||
"@@protobuf+//python/requirements.txt": "983be60d3cec4b319dcab6d48aeb3f5b2f7c3350f26b3a9e97486c37967c73c5",
|
||||
|
||||
+8
-8
@@ -5,21 +5,21 @@
|
||||
"@algolia/requester-browser-xhr": "5.48.0",
|
||||
"@algolia/requester-node-http": "5.48.0",
|
||||
"@angular/animations": "workspace:*",
|
||||
"@angular/aria": "21.2.0-rc.0",
|
||||
"@angular/build": "21.2.0-rc.2",
|
||||
"@angular/cdk": "21.2.0-rc.0",
|
||||
"@angular/cli": "21.2.0-rc.2",
|
||||
"@angular/aria": "21.2.0",
|
||||
"@angular/build": "21.2.0",
|
||||
"@angular/cdk": "21.2.0",
|
||||
"@angular/cli": "21.2.0",
|
||||
"@angular/common": "workspace:*",
|
||||
"@angular/compiler": "workspace:*",
|
||||
"@angular/compiler-cli": "workspace:*",
|
||||
"@angular/core": "workspace:*",
|
||||
"@angular/docs": "workspace:*",
|
||||
"@angular/forms": "workspace:*",
|
||||
"@angular/material": "21.2.0-rc.0",
|
||||
"@angular/material": "21.2.0",
|
||||
"@angular/platform-browser": "workspace:*",
|
||||
"@angular/platform-server": "workspace:*",
|
||||
"@angular/router": "workspace:*",
|
||||
"@angular/ssr": "21.2.0-rc.2",
|
||||
"@angular/ssr": "21.2.0",
|
||||
"@codemirror/autocomplete": "6.20.0",
|
||||
"@codemirror/commands": "6.10.1",
|
||||
"@codemirror/lang-angular": "0.1.4",
|
||||
@@ -81,7 +81,7 @@
|
||||
"open-in-idx": "0.1.1",
|
||||
"playwright-core": "1.58.1",
|
||||
"preact": "10.28.3",
|
||||
"preact-render-to-string": "6.6.5",
|
||||
"preact-render-to-string": "6.6.6",
|
||||
"prettier": "3.8.1",
|
||||
"property-information": "^7.1.0",
|
||||
"rxjs": "7.8.2",
|
||||
@@ -91,7 +91,7 @@
|
||||
"style-mod": "4.1.3",
|
||||
"tinyglobby": "0.2.15",
|
||||
"tslib": "2.8.1",
|
||||
"typescript": "6.0.0-beta",
|
||||
"typescript": "5.9.3",
|
||||
"w3c-keyname": "2.2.8",
|
||||
"zwitch": "^2.0.4"
|
||||
},
|
||||
|
||||
@@ -95,20 +95,27 @@
|
||||
<div>
|
||||
<h2>Community translations</h2>
|
||||
<ul>
|
||||
<!-- Sorted using Unicode Collation Algorithm (UCA) -->
|
||||
<li>
|
||||
<a href="https://angular.cn/" title="简体中文版">简体中文版</a>
|
||||
<a href="https://angular.az/" title="Azərbaycanca">Azərbaycanca</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://dev.angular.tw/" title="正體中文版">正體中文版</a>
|
||||
<a href="https://angular-docs.tr/" title="Türkçe">Türkçe</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://angular.jp/" title="日本語版">日本語版</a>
|
||||
<a href="https://angular-docs.ru/" title="Русский">Русский</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://angular.kr/" title="한국어">한국어</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://angular-docs.ru/" title="Русский">Русский</a>
|
||||
<a href="https://angular.jp/" title="日本語版">日本語版</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://angular.cn/" title="简体中文版">简体中文版</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://dev.angular.tw/" title="正體中文版">正體中文版</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -76,7 +76,6 @@
|
||||
background-color 0.3s ease,
|
||||
border-color 0.3s ease;
|
||||
height: 100dvh;
|
||||
padding-block-start: 1rem;
|
||||
padding-block-end: 2rem;
|
||||
box-sizing: border-box;
|
||||
// Add a subtle border for the home page
|
||||
@@ -101,6 +100,7 @@
|
||||
&.adev-nav-primary--next,
|
||||
&.adev-nav-primary--rc {
|
||||
// change nav background to indicate this is the rc docs
|
||||
position: relative;
|
||||
background: linear-gradient(
|
||||
140deg,
|
||||
color-mix(in srgb, var(--orange-red), transparent 60%) 0%,
|
||||
@@ -108,6 +108,18 @@
|
||||
color-mix(in srgb, var(--electric-violet), transparent 70%) 25%,
|
||||
color-mix(in srgb, var(--bright-blue), transparent 60%) 90%
|
||||
);
|
||||
|
||||
&::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
opacity: 0.8;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: var(--octonary-contrast);
|
||||
}
|
||||
.adev-version-button {
|
||||
border: 1px solid var(--quinary-contrast);
|
||||
}
|
||||
}
|
||||
|
||||
&.adev-nav-primary--deprecated {
|
||||
@@ -153,6 +165,7 @@
|
||||
list-style: none;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding-block-start: 1rem;
|
||||
|
||||
@include mq.for-tablet {
|
||||
flex-direction: row;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"branchName": "refs/heads/21.2.x",
|
||||
"sha": "a68740532edcf94dafd4a6862a8985f506718016"
|
||||
"sha": "a076ff7f05b678c4cdc6b85dbfe474a09f56022a"
|
||||
}
|
||||
@@ -275,7 +275,7 @@
|
||||
"source": {
|
||||
"filePath": "src/aria/grid/grid-cell-widget.ts",
|
||||
"startLine": 42,
|
||||
"endLine": 134
|
||||
"endLine": 135
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -446,7 +446,7 @@
|
||||
"source": {
|
||||
"filePath": "/src/aria/grid/grid.ts",
|
||||
"startLine": 48,
|
||||
"endLine": 177
|
||||
"endLine": 178
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -731,6 +731,10 @@ export const routes: Routes = [
|
||||
];
|
||||
```
|
||||
|
||||
Services provided at the route level are available to all components and directives within that route, as well as to its guards and resolvers.
|
||||
|
||||
Since these services are instantiated independently of the route’s components, they do not have direct access to route-specific information.
|
||||
|
||||
## Library author patterns
|
||||
|
||||
When creating Angular libraries, you often need to provide flexible configuration options for consumers while maintaining clean APIs. Angular's own libraries demonstrate powerful patterns for achieving this.
|
||||
|
||||
@@ -523,6 +523,29 @@ export class Order {
|
||||
|
||||
Hidden fields don't participate in validation, allowing the form to be submitted even if the hidden field would otherwise be invalid.
|
||||
|
||||
### Tracking values for array fields
|
||||
|
||||
In signal forms, a `@for` block over a set of fields should be tracked by field identity.
|
||||
|
||||
```angular-ts
|
||||
@Component({
|
||||
imports: [FormField],
|
||||
template: `
|
||||
@for (field of form.emails; track field) {
|
||||
<input [formField]="field" />
|
||||
}
|
||||
`,
|
||||
})
|
||||
export class App {
|
||||
formModel = signal({emails: ['john.doe@mail.com', 'max.musterman@mail.com']});
|
||||
form = form(this.formModel);
|
||||
}
|
||||
```
|
||||
|
||||
The forms system is already tracking the model values within the array and maintaining a stable identity of the fields it creates automatically.
|
||||
|
||||
When an item changes, it may represent a new logical entity even if some of its properties look the same. Tracking by identity ensures the framework treats it as a distinct item rather than reusing existing UI elements. This prevents stateful elements, like form inputs, from being incorrectly shared and keeps bindings aligned with the correct part of the model.
|
||||
|
||||
## Using field state in component logic
|
||||
|
||||
Field state signals work with Angular's reactive primitives like `computed()` and `effect()` for advanced form logic.
|
||||
|
||||
@@ -195,14 +195,14 @@ import {form, FormField, hidden} from '@angular/forms/signals';
|
||||
imports: [FormField],
|
||||
template: `
|
||||
<label>
|
||||
<input type="checkbox" [FormField]="profileForm.isPublic" />
|
||||
<input type="checkbox" [formField]="profileForm.isPublic" />
|
||||
Make profile public
|
||||
</label>
|
||||
|
||||
@if (!profileForm.publicUrl().hidden()) {
|
||||
<label>
|
||||
Public URL
|
||||
<input [FormField]="profileForm.publicUrl" />
|
||||
<input [formField]="profileForm.publicUrl" />
|
||||
</label>
|
||||
}
|
||||
`,
|
||||
@@ -239,12 +239,12 @@ import {form, FormField, readonly} from '@angular/forms/signals';
|
||||
template: `
|
||||
<label>
|
||||
Username (cannot be changed)
|
||||
<input [FormField]="accountForm.username" />
|
||||
<input [formField]="accountForm.username" />
|
||||
</label>
|
||||
|
||||
<label>
|
||||
Email
|
||||
<input [FormField]="accountForm.email" />
|
||||
<input [formField]="accountForm.email" />
|
||||
</label>
|
||||
`,
|
||||
})
|
||||
@@ -275,13 +275,13 @@ import {form, FormField, readonly} from '@angular/forms/signals';
|
||||
imports: [FormField],
|
||||
template: `
|
||||
<label>
|
||||
<input type="checkbox" [FormField]="documentForm.isLocked" />
|
||||
<input type="checkbox" [formField]="documentForm.isLocked" />
|
||||
Lock document
|
||||
</label>
|
||||
|
||||
<label>
|
||||
Document Title
|
||||
<input [FormField]="documentForm.title" />
|
||||
<input [formField]="documentForm.title" />
|
||||
</label>
|
||||
`,
|
||||
})
|
||||
@@ -359,7 +359,7 @@ import {form, FormField, debounce} from '@angular/forms/signals';
|
||||
template: `
|
||||
<label>
|
||||
Search
|
||||
<input [FormField]="searchForm.query" />
|
||||
<input [formField]="searchForm.query" />
|
||||
</label>
|
||||
|
||||
<p>Searching for: {{ searchForm.query().value() }}</p>
|
||||
@@ -406,7 +406,7 @@ import {form, FormField, debounce} from '@angular/forms/signals';
|
||||
template: `
|
||||
<label>
|
||||
Search
|
||||
<input [FormField]="searchForm.query" />
|
||||
<input [formField]="searchForm.query" />
|
||||
</label>
|
||||
`,
|
||||
})
|
||||
@@ -483,7 +483,7 @@ import {form, FormField, required, min, max} from '@angular/forms/signals';
|
||||
template: `
|
||||
<label>
|
||||
Age (between {{ ageForm.age().min() }} and {{ ageForm.age().max() }})
|
||||
<input type="number" [FormField]="ageForm.age" />
|
||||
<input type="number" [formField]="ageForm.age" />
|
||||
</label>
|
||||
|
||||
@if (ageForm.age().required()) {
|
||||
|
||||
@@ -716,6 +716,35 @@ const userForm = form(signal({email: '', password: ''}), (schemaPath) => {
|
||||
});
|
||||
```
|
||||
|
||||
### Dynamic schemas
|
||||
|
||||
You can pass a signal instead of a static schema so the validation schema updates automatically when its dependencies change.
|
||||
|
||||
```angular-ts
|
||||
import {Component, computed, signal} from '@angular/core';
|
||||
import {form, FormField, validateStandardSchema} from '@angular/forms/signals';
|
||||
import z from 'zod';
|
||||
|
||||
@Component({
|
||||
/* ... */
|
||||
})
|
||||
export class DynamicSchema {
|
||||
model = signal({document: '', type: 'dni'});
|
||||
|
||||
// Schema reacts automatically to type changes
|
||||
schema = computed(() =>
|
||||
z.object({
|
||||
document:
|
||||
this.model().type === 'dni'
|
||||
? z.string().length(8, 'DNI must be 8 digits')
|
||||
: z.string().min(12, 'Passport must be at least 12 characters'),
|
||||
}),
|
||||
);
|
||||
|
||||
f = form(this.model, (p) => validateStandardSchema(p, () => this.schema()));
|
||||
}
|
||||
```
|
||||
|
||||
## Next steps
|
||||
|
||||
This guide covered creating and applying validation rules. Related guides explore other aspects of Signal Forms:
|
||||
|
||||
@@ -92,7 +92,9 @@ Event replay supports _native browser events_, for example `click`, `mouseover`,
|
||||
|
||||
---
|
||||
|
||||
This feature ensures a consistent user experience, preventing user actions performed before Hydration from being ignored. NOTE: if you have [incremental hydration](guide/incremental-hydration) enabled, event replay is automatically enabled under the hood.
|
||||
This feature ensures a consistent user experience, preventing user actions performed before Hydration from being ignored.
|
||||
|
||||
NOTE: If you have [incremental hydration](guide/incremental-hydration) enabled, event replay is automatically enabled under the hood.
|
||||
|
||||
## Constraints
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ Data resolvers allow you to fetch data before navigating to a route, ensuring th
|
||||
|
||||
A data resolver is a service that implements the `ResolveFn` function. It runs before a route activates and can fetch data from APIs, databases, or other sources. The resolved data becomes available to the component through the `ActivatedRoute`.
|
||||
|
||||
Data resolvers have access to [services provided at the route level](guide/di/defining-dependency-providers#route-providers) as well as route-specific information via the `route` argument.
|
||||
|
||||
## Why use data resolvers?
|
||||
|
||||
Data resolvers solve common routing challenges:
|
||||
|
||||
@@ -137,6 +137,13 @@ export class UserDetail {
|
||||
// To: /users
|
||||
this.router.navigate(['..'], {relativeTo: this.route});
|
||||
}
|
||||
|
||||
navigateToList() {
|
||||
// Angular resolves the commands array as a single navigation path relative to the current route.
|
||||
// From: /users/123
|
||||
// Result: /users/list
|
||||
this.router.navigate(['..', 'list'], {relativeTo: this.route});
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -170,6 +177,53 @@ router.navigateByUrl('/checkout', {
|
||||
});
|
||||
```
|
||||
|
||||
### Display a different URL in the address bar
|
||||
|
||||
You can pass a browserUrl option to navigateByUrl to display a different URL in the browser's address bar than the one used for route matching.
|
||||
|
||||
This is useful when you want to redirect a user to a different route—such as an error page—without changing the URL that the user originally tried to visit.
|
||||
|
||||
```ts
|
||||
router.navigateByUrl('/not-found', {browserUrl: '/products/missing-item'});
|
||||
```
|
||||
|
||||
Angular navigates to and renders the `/not-found` route, but the browser address bar shows `/products/missing-item`.
|
||||
|
||||
NOTE: `browserUrl` only affects what appears in the browser's address bar.
|
||||
|
||||
## Customizing the browser URL with RouterLink
|
||||
|
||||
The `RouterLink` directive also supports a `browserUrl` input, which lets you control the URL displayed in the browser's address bar when a link is clicked, independently of the route Angular navigates to.
|
||||
|
||||
```angular-html
|
||||
<!-- Navigates to /dashboard, but the address bar shows /home -->
|
||||
<a [routerLink]="['/dashboard']" [browserUrl]="'/home'">Go to Dashboard</a>
|
||||
```
|
||||
|
||||
You can also bind a `UrlTree` for more dynamic use cases:
|
||||
|
||||
```angular-ts
|
||||
import {Component, inject} from '@angular/core';
|
||||
import {Router, RouterLink, UrlTree} from '@angular/router';
|
||||
|
||||
@Component({
|
||||
template: `
|
||||
<a [routerLink]="['/products', product.id]" [browserUrl]="displayUrl">
|
||||
{{ product.name }}
|
||||
</a>
|
||||
`,
|
||||
imports: [RouterLink],
|
||||
})
|
||||
export class ProductList {
|
||||
private router = inject(Router);
|
||||
|
||||
product = {id: 42, name: 'Widget'};
|
||||
|
||||
// Create a UrlTree to display in the address bar
|
||||
displayUrl: UrlTree = this.router.createUrlTree(['/products', 'widget']);
|
||||
}
|
||||
```
|
||||
|
||||
## Next steps
|
||||
|
||||
Learn how to [read route state](/guide/routing/read-route-state) to create responsive and context-aware components.
|
||||
|
||||
@@ -39,14 +39,16 @@ Angular provides four types of route guards, each serving different purposes:
|
||||
<docs-pill href="#canmatch" title="CanMatch"/>
|
||||
</docs-pill-row>
|
||||
|
||||
All the guards have access to [services provided at the route level](guide/di/defining-dependency-providers#route-providers) as well as route-specific information via the `route` argument.
|
||||
|
||||
### CanActivate
|
||||
|
||||
The `CanActivate` guard determines whether a user can access a route. It is most commonly used for authentication and authorization.
|
||||
|
||||
It has access to the following default arguments:
|
||||
|
||||
- `route: ActivatedRouteSnapshot` - Contains information about the route being activated
|
||||
- `state: RouterStateSnapshot` - Contains the router's current state
|
||||
- `route`: `ActivatedRouteSnapshot` - Contains information about the route being activated
|
||||
- `state`: `RouterStateSnapshot` - Contains the router's current state
|
||||
|
||||
It can return the [standard return guard types](#route-guard-return-types).
|
||||
|
||||
@@ -70,8 +72,8 @@ The `CanActivateChild` guard determines whether a user can access child routes o
|
||||
|
||||
It has access to the following default arguments:
|
||||
|
||||
- `childRoute: ActivatedRouteSnapshot` - Contains information about the "future" snapshot (i.e., state the router is attempting to navigate to) of the child route being activated
|
||||
- `state: RouterStateSnapshot` - Contains the router's current state
|
||||
- `childRoute`: `ActivatedRouteSnapshot` - Contains information about the "future" snapshot (i.e., state the router is attempting to navigate to) of the child route being activated
|
||||
- `state`: `RouterStateSnapshot` - Contains the router's current state
|
||||
|
||||
It can return the [standard return guard types](#route-guard-return-types).
|
||||
|
||||
@@ -93,10 +95,10 @@ The `CanDeactivate` guard determines whether a user can leave a route. A common
|
||||
|
||||
It has access to the following default arguments:
|
||||
|
||||
- `component: T` - The component instance being deactivated
|
||||
- `currentRoute: ActivatedRouteSnapshot` - Contains information about the current route
|
||||
- `currentState: RouterStateSnapshot` - Contains the current router state
|
||||
- `nextState: RouterStateSnapshot` - Contains the next router state being navigated to
|
||||
- `component`: `T` - The component instance being deactivated
|
||||
- `currentRoute`: `ActivatedRouteSnapshot` - Contains information about the current route
|
||||
- `currentState`: `RouterStateSnapshot` - Contains the current router state
|
||||
- `nextState`: `RouterStateSnapshot` - Contains the next router state being navigated to
|
||||
|
||||
It can return the [standard return guard types](#route-guard-return-types).
|
||||
|
||||
@@ -121,8 +123,8 @@ The `CanMatch` guard determines whether a route can be matched during path match
|
||||
|
||||
It has access to the following default arguments:
|
||||
|
||||
- `route: Route` - The route configuration being evaluated
|
||||
- `segments: UrlSegment[]` - The URL segments that have not been consumed by previous parent route evaluations
|
||||
- `route`: `Route` - The route configuration being evaluated
|
||||
- `segments`: `UrlSegment[]` - The URL segments that have not been consumed by previous parent route evaluations
|
||||
|
||||
It can return the [standard return guard types](#route-guard-return-types), but when it returns `false`, Angular tries other matching routes instead of completely blocking navigation.
|
||||
|
||||
|
||||
@@ -173,6 +173,10 @@ bootstrapApplication(AppComponent, {
|
||||
Always ensure that the nonces you provide are <strong>unique per request</strong> and that they are not predictable or guessable.
|
||||
If an attacker can predict future nonces, they can circumvent the protections offered by CSP.
|
||||
|
||||
Generating a nonce at the origin server is generally discouraged when using a CDN, as responses are frequently cached. If the server generates a nonce and the CDN caches that HTML response, every subsequent visitor receives the same "unique" value, allowing an attacker to discover the static value and bypass CSP protections.
|
||||
|
||||
To maintain the "one-time-use" integrity of a nonce, it should ideally be generated at the Edge layer (e.g., CDN) just before the content is delivered to the user.
|
||||
|
||||
</docs-callout>
|
||||
|
||||
NOTE: If you want to [inline the critical CSS](/tools/cli/build#critical-css-inlining) of your application, you can not use the `CSP_NONCE` token, and should prefer the `autoCsp` option or set the `ngCspNonce` attribute on the root application element.
|
||||
|
||||
@@ -1,117 +1,172 @@
|
||||
# Testing services
|
||||
|
||||
To check that your services are working as you intend, you can write tests specifically for them.
|
||||
Services typically contain your application's business logic that components rely on. Testing services verifies that the logic works correctly in isolation, independent of any component or template.
|
||||
|
||||
Services are often the smoothest files to unit test.
|
||||
Here are some synchronous and asynchronous unit tests of the `ValueService` written without assistance from Angular testing utilities.
|
||||
This guide uses [Vitest](https://vitest.dev/), which Angular CLI projects include by default. For more on testing setup, see the [testing overview guide](guide/testing#set-up-for-testing).
|
||||
|
||||
```ts
|
||||
describe('ValueService', () => {
|
||||
let service: ValueService;
|
||||
## Testing a service
|
||||
|
||||
Consider a `Calculator` service that performs basic arithmetic:
|
||||
|
||||
```ts { header: 'calculator.ts' }
|
||||
import {Injectable} from '@angular/core';
|
||||
|
||||
@Injectable({providedIn: 'root'})
|
||||
export class Calculator {
|
||||
add(a: number, b: number): number {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
subtract(a: number, b: number): number {
|
||||
return a - b;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
To test this service, configure a `TestBed`, which is Angular's testing utility for creating an isolated testing environment for each test. It sets up dependency injection and lets you retrieve service instances — simulating how Angular wires things together in a real application.
|
||||
|
||||
```ts { header: 'calculator.spec.ts' }
|
||||
import {TestBed} from '@angular/core/testing';
|
||||
import {beforeEach, describe, expect, it} from 'vitest';
|
||||
import {Calculator} from './calculator';
|
||||
|
||||
describe('Calculator', () => {
|
||||
let service: Calculator;
|
||||
|
||||
beforeEach(() => {
|
||||
// Only works if the service doesn't rely on Angular inject()
|
||||
service = new ValueService();
|
||||
// Injects the Calculator service which is available to Angular
|
||||
// because the service uses `providedIn: 'root'`
|
||||
service = TestBed.inject(Calculator);
|
||||
});
|
||||
|
||||
it('getValue should return real value', () => {
|
||||
expect(service.getValue()).toBe('real value');
|
||||
it('adds two numbers', () => {
|
||||
expect(service.add(1, 2)).toBe(3);
|
||||
});
|
||||
|
||||
it('getObservableValue should return value from observable', async () => {
|
||||
const value = await new Promise<string>((resolve) => {
|
||||
service.getObservableValue().subscribe(resolve);
|
||||
it('subtracts two numbers', () => {
|
||||
expect(service.subtract(5, 3)).toBe(2);
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
In the example above, the `beforeEach` block injects a fresh instance of the service before every test. This ensures each test runs in isolation with no leaked state from previous tests.
|
||||
|
||||
## Testing services with dependencies
|
||||
|
||||
Most services depend on other services to run properly. By default, `TestBed` provides the real implementations of these dependencies, which means your tests exercise the actual code paths your application uses. Sometimes, however, a dependency may be complex, slow, or unpredictable. In those cases, you can substitute it with a controlled replacement.
|
||||
|
||||
Consider an `OrderTotal` service that relies on a `TaxCalculator` to compute the final price of an order:
|
||||
|
||||
```ts { header: 'tax-calculator.ts' }
|
||||
import {Injectable} from '@angular/core';
|
||||
|
||||
@Injectable({providedIn: 'root'})
|
||||
export class TaxCalculator {
|
||||
calculate(subtotal: number): number {
|
||||
return subtotal * 0.05;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```ts { header: 'order-total.ts' }
|
||||
import {inject, Injectable} from '@angular/core';
|
||||
import {TaxCalculator} from './tax-calculator';
|
||||
|
||||
@Injectable({providedIn: 'root'})
|
||||
export class OrderTotal {
|
||||
private taxCalculator = inject(TaxCalculator);
|
||||
|
||||
total(subtotal: number): number {
|
||||
return subtotal + this.taxCalculator.calculate(subtotal);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
In this example, `OrderTotal` uses `inject()` to request `TaxCalculator` from Angular's dependency injection system. By default, `TestBed` provides the real `TaxCalculator` which is perfect for simple calculations like this. However, if `TaxCalculator` involved complex logic, network requests, or unpredictable results, you might want to substitute it with a controlled replacement.
|
||||
|
||||
### Replacing a dependency with a stub
|
||||
|
||||
A stub is a way to replace a dependency or method with one that returns predictable values, which can make test results easier to verify.
|
||||
|
||||
To test `OrderTotal` without relying on the real `TaxCalculator`, you can provide a stub in the `TestBed` configuration.
|
||||
|
||||
```ts { header: 'order-total.spec.ts' }
|
||||
import {TestBed} from '@angular/core/testing';
|
||||
import {beforeEach, describe, expect, it, vi, type Mocked} from 'vitest';
|
||||
import {OrderTotal} from './order-total';
|
||||
import {TaxCalculator} from './tax-calculator';
|
||||
|
||||
// Vitest's `Mocked` utility type ensures the stub is type-safe,
|
||||
// while `vi.fn()` creates a mock function for each method
|
||||
const taxCalculatorStub: Mocked<TaxCalculator> = {
|
||||
calculate: vi.fn(),
|
||||
};
|
||||
|
||||
describe('OrderTotal', () => {
|
||||
let service: OrderTotal;
|
||||
|
||||
beforeEach(() => {
|
||||
// `mockReturnValue` sets a controlled return value for the stub
|
||||
taxCalculatorStub.calculate.mockReturnValue(5);
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
// The `providers` array accepts a provider object where `provide`
|
||||
// specifies the dependency to replace and `useValue` defines the stub
|
||||
providers: [{provide: TaxCalculator, useValue: taxCalculatorStub}],
|
||||
});
|
||||
|
||||
expect(value).toBe('observable value');
|
||||
service = TestBed.inject(OrderTotal);
|
||||
});
|
||||
|
||||
it('getPromiseValue should return value from a promise', async () => {
|
||||
const value = await service.getPromiseValue();
|
||||
expect(value).toBe('promise value');
|
||||
it('adds tax to the subtotal', () => {
|
||||
expect(service.total(100)).toBe(105);
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
## Testing services with the `TestBed`
|
||||
With this stub, whenever `OrderTotal` requests `TaxCalculator`, the `TestBed` knows to use the `taxCalculatorStub` instead. Because the stub always returns 5, the test verifies that `OrderTotal` correctly adds the tax value to the subtotal regardless of whether the tax rate changes in `TaxCalculator`.
|
||||
|
||||
Your application relies on Angular [dependency injection (DI)](guide/di) to create services.
|
||||
When a service has a dependent service, DI finds or creates that dependent service.
|
||||
And if that dependent service has its own dependencies, DI finds-or-creates them as well.
|
||||
### Verifying interactions with spies
|
||||
|
||||
As a service _consumer_, you don't worry about any of this.
|
||||
You don't worry about the order of constructor arguments or how they're created.
|
||||
A stub controls what a dependency returns, but sometimes you also need to verify that a service called its dependency with the correct arguments. This can be accomplished with spies, which track how a function is called. With Vitest, this functionality is built into `vi.fn()` and lets you assert on interactions between services.
|
||||
|
||||
As a service _tester_, you must at least think about the first level of service dependencies but you _can_ let Angular DI do the service creation and deal with constructor argument order when you use the `TestBed` testing utility to provide and create services.
|
||||
```ts { header: 'order-total.spec.ts' }
|
||||
import {TestBed} from '@angular/core/testing';
|
||||
import {beforeEach, describe, expect, it, vi, type Mocked} from 'vitest';
|
||||
import {OrderTotal} from './order-total';
|
||||
import {TaxCalculator} from './tax-calculator';
|
||||
|
||||
## Angular `TestBed`
|
||||
const taxCalculatorStub: Mocked<TaxCalculator> = {
|
||||
calculate: vi.fn(),
|
||||
};
|
||||
|
||||
The `TestBed` is the most important of the Angular testing utilities.
|
||||
The `TestBed` creates a dynamically-constructed Angular _test_ module that emulates an Angular [@NgModule](guide/ngmodules/overview).
|
||||
describe('OrderTotal', () => {
|
||||
let service: OrderTotal;
|
||||
|
||||
The `TestBed.configureTestingModule()` method takes a metadata object that can have most of the properties of an [@NgModule](guide/ngmodules/overview).
|
||||
beforeEach(() => {
|
||||
taxCalculatorStub.calculate.mockReturnValue(5);
|
||||
|
||||
To test a service, you set the `providers` metadata property with an array of the services that you'll test or mock.
|
||||
|
||||
```ts
|
||||
let service: ValueService;
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({providers: [ValueService]});
|
||||
});
|
||||
```
|
||||
|
||||
Then inject it inside a test by calling `TestBed.inject()` with the service class as the argument.
|
||||
|
||||
```ts
|
||||
it('should use ValueService', () => {
|
||||
service = TestBed.inject(ValueService);
|
||||
expect(service.getValue()).toBe('real value');
|
||||
});
|
||||
```
|
||||
|
||||
Or inside the `beforeEach()` if you prefer to inject the service as part of your setup.
|
||||
|
||||
```ts
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({providers: [ValueService]});
|
||||
service = TestBed.inject(ValueService);
|
||||
});
|
||||
```
|
||||
|
||||
When testing a service with a dependency, provide the mock in the `providers` array.
|
||||
|
||||
In the following example, the mock is a spy object.
|
||||
|
||||
```ts
|
||||
let masterService: MainService;
|
||||
let valueServiceSpy: Mocked<ValueService>;
|
||||
|
||||
beforeEach(() => {
|
||||
const spy: Mocked<ValueService> = {getValue: vi.fn()};
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
providers: [MainService, {provide: ValueService, useValue: spy}],
|
||||
TestBed.configureTestingModule({
|
||||
providers: [{provide: TaxCalculator, useValue: taxCalculatorStub}],
|
||||
});
|
||||
service = TestBed.inject(OrderTotal);
|
||||
});
|
||||
|
||||
masterService = TestBed.inject(MainService);
|
||||
valueServiceSpy = TestBed.inject(ValueService) as Mocked<ValueService>;
|
||||
it('adds tax to the subtotal', () => {
|
||||
expect(service.total(100)).toBe(105);
|
||||
});
|
||||
|
||||
// Verify the interaction with a spy
|
||||
it('calls the tax calculator', () => {
|
||||
service.total(100);
|
||||
expect(taxCalculatorStub.calculate).toHaveBeenCalledExactlyOnce();
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
The test consumes that spy in the same way it did earlier.
|
||||
|
||||
```ts
|
||||
it('getValue should return stubbed value from a spy', () => {
|
||||
const stubValue = 'stub value';
|
||||
|
||||
valueServiceSpy.getValue.mockReturnValue(stubValue);
|
||||
|
||||
expect(masterService.getValue(), 'service returned stub value').toBe(stubValue);
|
||||
expect(valueServiceSpy.getValue, 'spy method was called once').toHaveBeenCalledTimes(1);
|
||||
expect(valueServiceSpy.getValue.mock.results.at(-1)?.value).toBe(stubValue);
|
||||
});
|
||||
```
|
||||
The new test verifies that `OrderTotal` called `TaxCalculator.calculate` when computing the total. This is useful when verifying that the interaction between services happened correctly.
|
||||
|
||||
## Testing HTTP services
|
||||
|
||||
For testing services that rely on the `HttpClient`, refer to the [dedicated guide](/guide/http/testing).
|
||||
Many services use Angular's `HttpClient` to fetch data from a server. Angular provides dedicated testing utilities for `HttpClient` that let you control HTTP responses without making real network requests.
|
||||
|
||||
For details on testing services that use `HttpClient`, see the [HTTP testing guide](guide/http/testing).
|
||||
|
||||
+120
-130
@@ -249,13 +249,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/architect": {
|
||||
"version": "0.2102.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0-rc.2.tgz",
|
||||
"integrity": "sha512-IP2wGHDxBLgtWoxXFCFmKF5HsKMAXgGi2hj2SmcoR9q8HDKVPmyBUBT10sdCdSyiM8J3+3yHYDW4rOO22ya5Pw==",
|
||||
"version": "0.2102.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0.tgz",
|
||||
"integrity": "sha512-kYFwTNzToG2SJMxj2f41w3QRtdqlrFuF+bpZrtIaHOP078Ktld8EPIp9KqB0Y46Vvs69ifby5Q1/wPD9wA3iaw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"rxjs": "7.8.2"
|
||||
},
|
||||
"bin": {
|
||||
@@ -268,9 +268,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/core": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-4Y8qoXFY9gdF/WahgfPRWORJqmgdAPKkDGjmyMBqwNdL96vqyKq0/5TD8K5PsUXV+HWg6GClWTWhRyWVxJtoLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-HZdTn46Ca6qbb9Zef8R/+TWsk6mNKRm4rJyL3PxHP6HnVCwSPNZ0LNN9BjVREBs+UlRdXqBGFBZh5D1nBgu5GQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -296,13 +296,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/schematics": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-+vkSdeSRIAIMW5pQW8YCD0rrPCM6EpFFuHGSoJZtjXRGnNuJKYApNqLreO1daZvVTG6YokB5KkE+mnvp9rBEeg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0.tgz",
|
||||
"integrity": "sha512-3kn3FI5v7BQ7Zct6raek+WgvyDwOJ8wElbyC903GxMQCDBRGGcevhHvTAIHhknihEsrgplzPhTlWeMbk1JfdFg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"jsonc-parser": "3.3.1",
|
||||
"magic-string": "0.30.21",
|
||||
"ora": "9.3.0",
|
||||
@@ -315,14 +315,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/build": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-1Hhr0w0uUBuMPEFjv9yXEHKahNHbw/NWt9uo1cf43ipFrrBKYHJj2DwwgyKKoEmtK/ap/l9yEZpL2oCfqCwEFQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0.tgz",
|
||||
"integrity": "sha512-K0EqiHz2y7TSyD4adWD0+C/P9khKlrsSWavXWxGRvoSJC/H3I3SK5Z6BWwftBibXR1Fis7njwvl5IGAlQrDchA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "2.3.0",
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@babel/core": "7.29.0",
|
||||
"@babel/helper-annotate-as-pure": "7.27.3",
|
||||
"@babel/helper-split-export-declaration": "7.24.7",
|
||||
@@ -358,17 +358,17 @@
|
||||
"lmdb": "3.5.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/compiler-cli": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/core": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/localize": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-browser": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-server": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/service-worker": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/ssr": "^21.2.0-rc.2",
|
||||
"@angular/compiler": "^21.0.0",
|
||||
"@angular/compiler-cli": "^21.0.0",
|
||||
"@angular/core": "^21.0.0",
|
||||
"@angular/localize": "^21.0.0",
|
||||
"@angular/platform-browser": "^21.0.0",
|
||||
"@angular/platform-server": "^21.0.0",
|
||||
"@angular/service-worker": "^21.0.0",
|
||||
"@angular/ssr": "^21.2.0",
|
||||
"karma": "^6.4.0",
|
||||
"less": "^4.2.0",
|
||||
"ng-packagr": "^21.0.0 || ^21.2.0-next.0",
|
||||
"ng-packagr": "^21.0.0",
|
||||
"postcss": "^8.4.0",
|
||||
"tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
|
||||
"tslib": "^2.3.0",
|
||||
@@ -415,19 +415,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/cli": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-rFuYlatMsYRqEi8FlvWqmTMU7x1iPFJpZUtAIYKo35C9kl0/Z5jhqqAv2Ws3LCX0lmVCzQ3TWRiFQp7T+2DWkw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0.tgz",
|
||||
"integrity": "sha512-yaGEpckqgOemcHkoWeH92i9eNrcbr9iE/dnxL+Du6s9spTAXJ2jjtYfszhmowuQZkCK5rjecMb8ctNtHlaGCjg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"@inquirer/prompts": "7.10.1",
|
||||
"@listr2/prompt-adapter-inquirer": "3.0.5",
|
||||
"@modelcontextprotocol/sdk": "1.26.0",
|
||||
"@schematics/angular": "21.2.0-rc.2",
|
||||
"@schematics/angular": "21.2.0",
|
||||
"@yarnpkg/lockfile": "1.1.0",
|
||||
"algoliasearch": "5.48.1",
|
||||
"ini": "6.0.0",
|
||||
@@ -450,9 +450,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/common": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-2O3cbBIM8ls97XwkYVdgJwEg3UOy/bVZ0uBoY14cLskhETj6wbrFENiy8KpikZ+xsTxE9gWohairxCRiEoFuKg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0.tgz",
|
||||
"integrity": "sha512-6zJMPi0i/XDniEgv3/t2BjuDHiOG44lgIR5PYyxqGpgJ0kqB5hku/0TuentNEi1VnBYgthnfhjek7c+lakXmhw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -461,14 +461,14 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-gl2dQgMFKkH/iM/YxqWO0oIbYRpBZpOZuxj9W5TjG50EpMDioD1CNu2DfXpODVo3/rOfZJvOa+Jw0Cxpj5ClMQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0.tgz",
|
||||
"integrity": "sha512-0RPkma8UVNpse/VJcXT9w6SKzTMz4J/uMGj0l9enM1frg9xrx1fwi/lLmaVV9Nr9LfqPjQdxNFFlvaBB7g/2zg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -478,9 +478,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler-cli": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-lHPA5BzQq9ttHXCAnAC/zW5vW0lFiawBIvRpNRbsI8Vw1noMs614OqZ2R6UBReVPE4kpyGwh7HCQIZyX5Cth6g==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0.tgz",
|
||||
"integrity": "sha512-gZd58p0/JjgdxMX3v+LjCB6e3dBIfNVr/YzXoh55TfffdBCUQY94hl1+DFQkJ72K5EX+1zbaz03dIm30kw1bGw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -501,7 +501,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"typescript": ">=5.9 <6.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
@@ -511,9 +511,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/core": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-Txdi6ocSNC8GbCYMGh2AUm1lx+J11LNRjNrfGcgxQhQAiEPVO8jGojfObM+rdjv1h8t0pCms5vzEmFiJ9z06hg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-VnTbmZq3g3Q+s3nCZ8VUDMLjMezOg/bqUxAJ/DrRWCrEcTP5JO3mrNPs3FHj+qlB0T+BQP7uQv6QTzPVKybwoA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -522,7 +522,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0",
|
||||
"zone.js": "~0.15.0 || ~0.16.0"
|
||||
},
|
||||
@@ -536,9 +536,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/forms": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-GsX4c+GYUxcKla8yO/hpEzpliCsMslP+yIIk9l6831PkSf3uCyKHUHriJtOEca4uN5fNo23ix5NXo5VPkmldLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0.tgz",
|
||||
"integrity": "sha512-NduUtPWLauH/FLayEDkLyaKAGqKzXbcfO7468LOWCXN3crhNVQyIWRQPOUcdpoJwDAGLpN85m3DhJhXNnA9c5w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@standard-schema/spec": "^1.0.0",
|
||||
@@ -548,16 +548,16 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/platform-browser": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"@angular/platform-browser": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/platform-browser": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-FCNRhzkf35l6B18gzaT6GDdTJ3v4AiLOSXc5RdiQ2PMn2dLOkm70SH0caXQGzvtXAzHrHlR+Evj/ZqaFYvjcYg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0.tgz",
|
||||
"integrity": "sha512-IUGukpvvT2B5Dl76qzk6rY7UIHUT9u4BhT2AwVz+5JqcX9KwQtYD17Gt7wj6bvIgCXKWG+CfN8Zd9DECOCYWjg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -566,9 +566,9 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/animations": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0"
|
||||
"@angular/animations": "21.2.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@angular/animations": {
|
||||
@@ -577,9 +577,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/router": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-KZmZCdm4H+w3UC1vorQ/Nj4FEHY4sgRkwp+zf4E4WFV+sflyFzqFxzVIKGJ1xTzjaDebCRmipJnc3DZ09fv1fg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.0.tgz",
|
||||
"integrity": "sha512-siliJ+jJRUCRZ0cdkqc7zww9Didz56Z0Z2YPIuR2n5TZLiuJY+jAf6xotXKp/v6v8XoGJwLiRNipGgNDRIAlWA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -588,9 +588,9 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/platform-browser": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"@angular/platform-browser": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
@@ -2592,9 +2592,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script": {
|
||||
"version": "10.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz",
|
||||
"integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==",
|
||||
"version": "10.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz",
|
||||
"integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@@ -2602,34 +2602,7 @@
|
||||
"@npmcli/package-json": "^7.0.0",
|
||||
"@npmcli/promise-spawn": "^9.0.0",
|
||||
"node-gyp": "^12.1.0",
|
||||
"proc-log": "^6.0.0",
|
||||
"which": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/isexe": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz",
|
||||
"integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/which": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz",
|
||||
"integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"isexe": "^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"node-which": "bin/which.js"
|
||||
"proc-log": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
@@ -3542,14 +3515,14 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@schematics/angular": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-QzyPSwdkpcEN5iQ28sfb7tak8MukvGC6nzl1kgziWNYPyNaf+DIXEfspOnCME0ZwjI3pBpJnBvj+uMn8fx3YSw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0.tgz",
|
||||
"integrity": "sha512-GQUIeGzZwCT9/W5MAkKnkwETROPbA1eRmy3JF56jLmvr95tJnypGOG8jGYy0d+tcEVujIouh48r4J3bJQg5mrw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"jsonc-parser": "3.3.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -3920,9 +3893,9 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
|
||||
"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
|
||||
"integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -4048,9 +4021,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001774",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz",
|
||||
"integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==",
|
||||
"version": "1.0.30001775",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001775.tgz",
|
||||
"integrity": "sha512-s3Qv7Lht9zbVKE9XoTyRG6wVDCKdtOFIjBGg3+Yhn6JaytuNKPIjBMTMIY1AnOH3seL5mvF+x33oGAyK3hVt3A==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -4144,14 +4117,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/cli-truncate": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
|
||||
"integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz",
|
||||
"integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"slice-ansi": "^7.1.0",
|
||||
"string-width": "^8.0.0"
|
||||
"slice-ansi": "^8.0.0",
|
||||
"string-width": "^8.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
@@ -5017,9 +4990,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/hono": {
|
||||
"version": "4.12.2",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.2.tgz",
|
||||
"integrity": "sha512-gJnaDHXKDayjt8ue0n8Gs0A007yKXj4Xzb8+cNjZeYsSzzwKc0Lr+OZgYwVfB0pHfUs17EPoLvrOsEaJ9mj+Tg==",
|
||||
"version": "4.12.3",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.3.tgz",
|
||||
"integrity": "sha512-SFsVSjp8sj5UumXOOFlkZOG6XS9SJDKw0TbwFeV+AJ8xlST8kxK5Z/5EYa111UY8732lK2S/xB653ceuaoGwpg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -5534,6 +5507,23 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/string-width": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
||||
@@ -5687,9 +5677,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/minimatch": {
|
||||
"version": "10.2.3",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.3.tgz",
|
||||
"integrity": "sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==",
|
||||
"version": "10.2.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
|
||||
"integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"dependencies": {
|
||||
@@ -6445,9 +6435,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
||||
"version": "8.5.8",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
|
||||
"integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -7021,17 +7011,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz",
|
||||
"integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
"ansi-styles": "^6.2.3",
|
||||
"is-fullwidth-code-point": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=20"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
@@ -7198,13 +7188,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/strip-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
||||
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
"ansi-regex": "^6.2.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
|
||||
+126
-136
@@ -250,13 +250,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/architect": {
|
||||
"version": "0.2102.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0-rc.2.tgz",
|
||||
"integrity": "sha512-IP2wGHDxBLgtWoxXFCFmKF5HsKMAXgGi2hj2SmcoR9q8HDKVPmyBUBT10sdCdSyiM8J3+3yHYDW4rOO22ya5Pw==",
|
||||
"version": "0.2102.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0.tgz",
|
||||
"integrity": "sha512-kYFwTNzToG2SJMxj2f41w3QRtdqlrFuF+bpZrtIaHOP078Ktld8EPIp9KqB0Y46Vvs69ifby5Q1/wPD9wA3iaw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"rxjs": "7.8.2"
|
||||
},
|
||||
"bin": {
|
||||
@@ -269,9 +269,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/core": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-4Y8qoXFY9gdF/WahgfPRWORJqmgdAPKkDGjmyMBqwNdL96vqyKq0/5TD8K5PsUXV+HWg6GClWTWhRyWVxJtoLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-HZdTn46Ca6qbb9Zef8R/+TWsk6mNKRm4rJyL3PxHP6HnVCwSPNZ0LNN9BjVREBs+UlRdXqBGFBZh5D1nBgu5GQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -297,13 +297,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/schematics": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-+vkSdeSRIAIMW5pQW8YCD0rrPCM6EpFFuHGSoJZtjXRGnNuJKYApNqLreO1daZvVTG6YokB5KkE+mnvp9rBEeg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0.tgz",
|
||||
"integrity": "sha512-3kn3FI5v7BQ7Zct6raek+WgvyDwOJ8wElbyC903GxMQCDBRGGcevhHvTAIHhknihEsrgplzPhTlWeMbk1JfdFg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"jsonc-parser": "3.3.1",
|
||||
"magic-string": "0.30.21",
|
||||
"ora": "9.3.0",
|
||||
@@ -316,14 +316,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/build": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-1Hhr0w0uUBuMPEFjv9yXEHKahNHbw/NWt9uo1cf43ipFrrBKYHJj2DwwgyKKoEmtK/ap/l9yEZpL2oCfqCwEFQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0.tgz",
|
||||
"integrity": "sha512-K0EqiHz2y7TSyD4adWD0+C/P9khKlrsSWavXWxGRvoSJC/H3I3SK5Z6BWwftBibXR1Fis7njwvl5IGAlQrDchA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "2.3.0",
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@babel/core": "7.29.0",
|
||||
"@babel/helper-annotate-as-pure": "7.27.3",
|
||||
"@babel/helper-split-export-declaration": "7.24.7",
|
||||
@@ -359,17 +359,17 @@
|
||||
"lmdb": "3.5.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/compiler-cli": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/core": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/localize": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-browser": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-server": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/service-worker": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/ssr": "^21.2.0-rc.2",
|
||||
"@angular/compiler": "^21.0.0",
|
||||
"@angular/compiler-cli": "^21.0.0",
|
||||
"@angular/core": "^21.0.0",
|
||||
"@angular/localize": "^21.0.0",
|
||||
"@angular/platform-browser": "^21.0.0",
|
||||
"@angular/platform-server": "^21.0.0",
|
||||
"@angular/service-worker": "^21.0.0",
|
||||
"@angular/ssr": "^21.2.0",
|
||||
"karma": "^6.4.0",
|
||||
"less": "^4.2.0",
|
||||
"ng-packagr": "^21.0.0 || ^21.2.0-next.0",
|
||||
"ng-packagr": "^21.0.0",
|
||||
"postcss": "^8.4.0",
|
||||
"tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
|
||||
"tslib": "^2.3.0",
|
||||
@@ -484,9 +484,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/build/node_modules/@types/node": {
|
||||
"version": "25.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.0.tgz",
|
||||
"integrity": "sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==",
|
||||
"version": "25.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.3.tgz",
|
||||
"integrity": "sha512-DpzbrH7wIcBaJibpKo9nnSQL0MTRdnWttGyE5haGwK86xgMOkFLp7vEyfQPGLOJh5wNYiJ3V9PmUMDhV9u8kkQ==",
|
||||
"extraneous": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -661,19 +661,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/cli": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-rFuYlatMsYRqEi8FlvWqmTMU7x1iPFJpZUtAIYKo35C9kl0/Z5jhqqAv2Ws3LCX0lmVCzQ3TWRiFQp7T+2DWkw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0.tgz",
|
||||
"integrity": "sha512-yaGEpckqgOemcHkoWeH92i9eNrcbr9iE/dnxL+Du6s9spTAXJ2jjtYfszhmowuQZkCK5rjecMb8ctNtHlaGCjg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"@inquirer/prompts": "7.10.1",
|
||||
"@listr2/prompt-adapter-inquirer": "3.0.5",
|
||||
"@modelcontextprotocol/sdk": "1.26.0",
|
||||
"@schematics/angular": "21.2.0-rc.2",
|
||||
"@schematics/angular": "21.2.0",
|
||||
"@yarnpkg/lockfile": "1.1.0",
|
||||
"algoliasearch": "5.48.1",
|
||||
"ini": "6.0.0",
|
||||
@@ -1043,9 +1043,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/cli/node_modules/@types/node": {
|
||||
"version": "25.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.0.tgz",
|
||||
"integrity": "sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==",
|
||||
"version": "25.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.3.tgz",
|
||||
"integrity": "sha512-DpzbrH7wIcBaJibpKo9nnSQL0MTRdnWttGyE5haGwK86xgMOkFLp7vEyfQPGLOJh5wNYiJ3V9PmUMDhV9u8kkQ==",
|
||||
"extraneous": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -1132,9 +1132,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/common": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-2O3cbBIM8ls97XwkYVdgJwEg3UOy/bVZ0uBoY14cLskhETj6wbrFENiy8KpikZ+xsTxE9gWohairxCRiEoFuKg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0.tgz",
|
||||
"integrity": "sha512-6zJMPi0i/XDniEgv3/t2BjuDHiOG44lgIR5PYyxqGpgJ0kqB5hku/0TuentNEi1VnBYgthnfhjek7c+lakXmhw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -1143,14 +1143,14 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-gl2dQgMFKkH/iM/YxqWO0oIbYRpBZpOZuxj9W5TjG50EpMDioD1CNu2DfXpODVo3/rOfZJvOa+Jw0Cxpj5ClMQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0.tgz",
|
||||
"integrity": "sha512-0RPkma8UVNpse/VJcXT9w6SKzTMz4J/uMGj0l9enM1frg9xrx1fwi/lLmaVV9Nr9LfqPjQdxNFFlvaBB7g/2zg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -1160,9 +1160,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler-cli": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-lHPA5BzQq9ttHXCAnAC/zW5vW0lFiawBIvRpNRbsI8Vw1noMs614OqZ2R6UBReVPE4kpyGwh7HCQIZyX5Cth6g==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0.tgz",
|
||||
"integrity": "sha512-gZd58p0/JjgdxMX3v+LjCB6e3dBIfNVr/YzXoh55TfffdBCUQY94hl1+DFQkJ72K5EX+1zbaz03dIm30kw1bGw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -1183,7 +1183,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"typescript": ">=5.9 <6.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
@@ -1193,9 +1193,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/core": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-Txdi6ocSNC8GbCYMGh2AUm1lx+J11LNRjNrfGcgxQhQAiEPVO8jGojfObM+rdjv1h8t0pCms5vzEmFiJ9z06hg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-VnTbmZq3g3Q+s3nCZ8VUDMLjMezOg/bqUxAJ/DrRWCrEcTP5JO3mrNPs3FHj+qlB0T+BQP7uQv6QTzPVKybwoA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -1204,7 +1204,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0",
|
||||
"zone.js": "~0.15.0 || ~0.16.0"
|
||||
},
|
||||
@@ -1218,9 +1218,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/forms": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-GsX4c+GYUxcKla8yO/hpEzpliCsMslP+yIIk9l6831PkSf3uCyKHUHriJtOEca4uN5fNo23ix5NXo5VPkmldLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0.tgz",
|
||||
"integrity": "sha512-NduUtPWLauH/FLayEDkLyaKAGqKzXbcfO7468LOWCXN3crhNVQyIWRQPOUcdpoJwDAGLpN85m3DhJhXNnA9c5w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@standard-schema/spec": "^1.0.0",
|
||||
@@ -1230,16 +1230,16 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/platform-browser": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"@angular/platform-browser": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/platform-browser": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-FCNRhzkf35l6B18gzaT6GDdTJ3v4AiLOSXc5RdiQ2PMn2dLOkm70SH0caXQGzvtXAzHrHlR+Evj/ZqaFYvjcYg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0.tgz",
|
||||
"integrity": "sha512-IUGukpvvT2B5Dl76qzk6rY7UIHUT9u4BhT2AwVz+5JqcX9KwQtYD17Gt7wj6bvIgCXKWG+CfN8Zd9DECOCYWjg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -1248,9 +1248,9 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/animations": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0"
|
||||
"@angular/animations": "21.2.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@angular/animations": {
|
||||
@@ -1259,9 +1259,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/router": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-KZmZCdm4H+w3UC1vorQ/Nj4FEHY4sgRkwp+zf4E4WFV+sflyFzqFxzVIKGJ1xTzjaDebCRmipJnc3DZ09fv1fg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.0.tgz",
|
||||
"integrity": "sha512-siliJ+jJRUCRZ0cdkqc7zww9Didz56Z0Z2YPIuR2n5TZLiuJY+jAf6xotXKp/v6v8XoGJwLiRNipGgNDRIAlWA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -1270,9 +1270,9 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/platform-browser": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"@angular/platform-browser": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
@@ -2927,9 +2927,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script": {
|
||||
"version": "10.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz",
|
||||
"integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==",
|
||||
"version": "10.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz",
|
||||
"integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@@ -2937,34 +2937,7 @@
|
||||
"@npmcli/package-json": "^7.0.0",
|
||||
"@npmcli/promise-spawn": "^9.0.0",
|
||||
"node-gyp": "^12.1.0",
|
||||
"proc-log": "^6.0.0",
|
||||
"which": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/isexe": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz",
|
||||
"integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/which": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz",
|
||||
"integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"isexe": "^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"node-which": "bin/which.js"
|
||||
"proc-log": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
@@ -3877,14 +3850,14 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@schematics/angular": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-QzyPSwdkpcEN5iQ28sfb7tak8MukvGC6nzl1kgziWNYPyNaf+DIXEfspOnCME0ZwjI3pBpJnBvj+uMn8fx3YSw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0.tgz",
|
||||
"integrity": "sha512-GQUIeGzZwCT9/W5MAkKnkwETROPbA1eRmy3JF56jLmvr95tJnypGOG8jGYy0d+tcEVujIouh48r4J3bJQg5mrw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"jsonc-parser": "3.3.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -4249,9 +4222,9 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
|
||||
"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
|
||||
"integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -4377,9 +4350,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001774",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz",
|
||||
"integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==",
|
||||
"version": "1.0.30001775",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001775.tgz",
|
||||
"integrity": "sha512-s3Qv7Lht9zbVKE9XoTyRG6wVDCKdtOFIjBGg3+Yhn6JaytuNKPIjBMTMIY1AnOH3seL5mvF+x33oGAyK3hVt3A==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -4473,14 +4446,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/cli-truncate": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
|
||||
"integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz",
|
||||
"integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"slice-ansi": "^7.1.0",
|
||||
"string-width": "^8.0.0"
|
||||
"slice-ansi": "^8.0.0",
|
||||
"string-width": "^8.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
@@ -5335,9 +5308,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/hono": {
|
||||
"version": "4.12.2",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.2.tgz",
|
||||
"integrity": "sha512-gJnaDHXKDayjt8ue0n8Gs0A007yKXj4Xzb8+cNjZeYsSzzwKc0Lr+OZgYwVfB0pHfUs17EPoLvrOsEaJ9mj+Tg==",
|
||||
"version": "4.12.3",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.3.tgz",
|
||||
"integrity": "sha512-SFsVSjp8sj5UumXOOFlkZOG6XS9SJDKw0TbwFeV+AJ8xlST8kxK5Z/5EYa111UY8732lK2S/xB653ceuaoGwpg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -5816,6 +5789,23 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/lru-cache": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
|
||||
@@ -5933,9 +5923,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/minimatch": {
|
||||
"version": "10.2.3",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.3.tgz",
|
||||
"integrity": "sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==",
|
||||
"version": "10.2.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
|
||||
"integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"dependencies": {
|
||||
@@ -6691,9 +6681,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
||||
"version": "8.5.8",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
|
||||
"integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -7267,17 +7257,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz",
|
||||
"integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
"ansi-styles": "^6.2.3",
|
||||
"is-fullwidth-code-point": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=20"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
@@ -7444,13 +7434,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/strip-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
||||
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
"ansi-regex": "^6.2.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
|
||||
+114
-124
@@ -248,13 +248,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/architect": {
|
||||
"version": "0.2102.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0-rc.2.tgz",
|
||||
"integrity": "sha512-IP2wGHDxBLgtWoxXFCFmKF5HsKMAXgGi2hj2SmcoR9q8HDKVPmyBUBT10sdCdSyiM8J3+3yHYDW4rOO22ya5Pw==",
|
||||
"version": "0.2102.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0.tgz",
|
||||
"integrity": "sha512-kYFwTNzToG2SJMxj2f41w3QRtdqlrFuF+bpZrtIaHOP078Ktld8EPIp9KqB0Y46Vvs69ifby5Q1/wPD9wA3iaw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"rxjs": "7.8.2"
|
||||
},
|
||||
"bin": {
|
||||
@@ -267,9 +267,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/core": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-4Y8qoXFY9gdF/WahgfPRWORJqmgdAPKkDGjmyMBqwNdL96vqyKq0/5TD8K5PsUXV+HWg6GClWTWhRyWVxJtoLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-HZdTn46Ca6qbb9Zef8R/+TWsk6mNKRm4rJyL3PxHP6HnVCwSPNZ0LNN9BjVREBs+UlRdXqBGFBZh5D1nBgu5GQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -295,13 +295,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/schematics": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-+vkSdeSRIAIMW5pQW8YCD0rrPCM6EpFFuHGSoJZtjXRGnNuJKYApNqLreO1daZvVTG6YokB5KkE+mnvp9rBEeg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0.tgz",
|
||||
"integrity": "sha512-3kn3FI5v7BQ7Zct6raek+WgvyDwOJ8wElbyC903GxMQCDBRGGcevhHvTAIHhknihEsrgplzPhTlWeMbk1JfdFg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"jsonc-parser": "3.3.1",
|
||||
"magic-string": "0.30.21",
|
||||
"ora": "9.3.0",
|
||||
@@ -314,14 +314,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/build": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-1Hhr0w0uUBuMPEFjv9yXEHKahNHbw/NWt9uo1cf43ipFrrBKYHJj2DwwgyKKoEmtK/ap/l9yEZpL2oCfqCwEFQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0.tgz",
|
||||
"integrity": "sha512-K0EqiHz2y7TSyD4adWD0+C/P9khKlrsSWavXWxGRvoSJC/H3I3SK5Z6BWwftBibXR1Fis7njwvl5IGAlQrDchA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "2.3.0",
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@babel/core": "7.29.0",
|
||||
"@babel/helper-annotate-as-pure": "7.27.3",
|
||||
"@babel/helper-split-export-declaration": "7.24.7",
|
||||
@@ -357,17 +357,17 @@
|
||||
"lmdb": "3.5.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/compiler-cli": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/core": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/localize": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-browser": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-server": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/service-worker": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/ssr": "^21.2.0-rc.2",
|
||||
"@angular/compiler": "^21.0.0",
|
||||
"@angular/compiler-cli": "^21.0.0",
|
||||
"@angular/core": "^21.0.0",
|
||||
"@angular/localize": "^21.0.0",
|
||||
"@angular/platform-browser": "^21.0.0",
|
||||
"@angular/platform-server": "^21.0.0",
|
||||
"@angular/service-worker": "^21.0.0",
|
||||
"@angular/ssr": "^21.2.0",
|
||||
"karma": "^6.4.0",
|
||||
"less": "^4.2.0",
|
||||
"ng-packagr": "^21.0.0 || ^21.2.0-next.0",
|
||||
"ng-packagr": "^21.0.0",
|
||||
"postcss": "^8.4.0",
|
||||
"tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
|
||||
"tslib": "^2.3.0",
|
||||
@@ -414,19 +414,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/cli": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-rFuYlatMsYRqEi8FlvWqmTMU7x1iPFJpZUtAIYKo35C9kl0/Z5jhqqAv2Ws3LCX0lmVCzQ3TWRiFQp7T+2DWkw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0.tgz",
|
||||
"integrity": "sha512-yaGEpckqgOemcHkoWeH92i9eNrcbr9iE/dnxL+Du6s9spTAXJ2jjtYfszhmowuQZkCK5rjecMb8ctNtHlaGCjg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"@inquirer/prompts": "7.10.1",
|
||||
"@listr2/prompt-adapter-inquirer": "3.0.5",
|
||||
"@modelcontextprotocol/sdk": "1.26.0",
|
||||
"@schematics/angular": "21.2.0-rc.2",
|
||||
"@schematics/angular": "21.2.0",
|
||||
"@yarnpkg/lockfile": "1.1.0",
|
||||
"algoliasearch": "5.48.1",
|
||||
"ini": "6.0.0",
|
||||
@@ -449,9 +449,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/common": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-2O3cbBIM8ls97XwkYVdgJwEg3UOy/bVZ0uBoY14cLskhETj6wbrFENiy8KpikZ+xsTxE9gWohairxCRiEoFuKg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0.tgz",
|
||||
"integrity": "sha512-6zJMPi0i/XDniEgv3/t2BjuDHiOG44lgIR5PYyxqGpgJ0kqB5hku/0TuentNEi1VnBYgthnfhjek7c+lakXmhw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -460,14 +460,14 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-gl2dQgMFKkH/iM/YxqWO0oIbYRpBZpOZuxj9W5TjG50EpMDioD1CNu2DfXpODVo3/rOfZJvOa+Jw0Cxpj5ClMQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0.tgz",
|
||||
"integrity": "sha512-0RPkma8UVNpse/VJcXT9w6SKzTMz4J/uMGj0l9enM1frg9xrx1fwi/lLmaVV9Nr9LfqPjQdxNFFlvaBB7g/2zg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -477,9 +477,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler-cli": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-lHPA5BzQq9ttHXCAnAC/zW5vW0lFiawBIvRpNRbsI8Vw1noMs614OqZ2R6UBReVPE4kpyGwh7HCQIZyX5Cth6g==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0.tgz",
|
||||
"integrity": "sha512-gZd58p0/JjgdxMX3v+LjCB6e3dBIfNVr/YzXoh55TfffdBCUQY94hl1+DFQkJ72K5EX+1zbaz03dIm30kw1bGw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -500,7 +500,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"typescript": ">=5.9 <6.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
@@ -510,9 +510,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/core": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-Txdi6ocSNC8GbCYMGh2AUm1lx+J11LNRjNrfGcgxQhQAiEPVO8jGojfObM+rdjv1h8t0pCms5vzEmFiJ9z06hg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-VnTbmZq3g3Q+s3nCZ8VUDMLjMezOg/bqUxAJ/DrRWCrEcTP5JO3mrNPs3FHj+qlB0T+BQP7uQv6QTzPVKybwoA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -521,7 +521,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0",
|
||||
"zone.js": "~0.15.0 || ~0.16.0"
|
||||
},
|
||||
@@ -535,9 +535,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/forms": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-GsX4c+GYUxcKla8yO/hpEzpliCsMslP+yIIk9l6831PkSf3uCyKHUHriJtOEca4uN5fNo23ix5NXo5VPkmldLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0.tgz",
|
||||
"integrity": "sha512-NduUtPWLauH/FLayEDkLyaKAGqKzXbcfO7468LOWCXN3crhNVQyIWRQPOUcdpoJwDAGLpN85m3DhJhXNnA9c5w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@standard-schema/spec": "^1.0.0",
|
||||
@@ -547,16 +547,16 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/platform-browser": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"@angular/platform-browser": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/platform-browser": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-FCNRhzkf35l6B18gzaT6GDdTJ3v4AiLOSXc5RdiQ2PMn2dLOkm70SH0caXQGzvtXAzHrHlR+Evj/ZqaFYvjcYg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0.tgz",
|
||||
"integrity": "sha512-IUGukpvvT2B5Dl76qzk6rY7UIHUT9u4BhT2AwVz+5JqcX9KwQtYD17Gt7wj6bvIgCXKWG+CfN8Zd9DECOCYWjg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -565,9 +565,9 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/animations": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0"
|
||||
"@angular/animations": "21.2.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@angular/animations": {
|
||||
@@ -2573,9 +2573,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script": {
|
||||
"version": "10.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz",
|
||||
"integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==",
|
||||
"version": "10.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz",
|
||||
"integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@@ -2583,34 +2583,7 @@
|
||||
"@npmcli/package-json": "^7.0.0",
|
||||
"@npmcli/promise-spawn": "^9.0.0",
|
||||
"node-gyp": "^12.1.0",
|
||||
"proc-log": "^6.0.0",
|
||||
"which": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/isexe": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz",
|
||||
"integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/which": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz",
|
||||
"integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"isexe": "^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"node-which": "bin/which.js"
|
||||
"proc-log": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
@@ -3523,14 +3496,14 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@schematics/angular": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-QzyPSwdkpcEN5iQ28sfb7tak8MukvGC6nzl1kgziWNYPyNaf+DIXEfspOnCME0ZwjI3pBpJnBvj+uMn8fx3YSw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0.tgz",
|
||||
"integrity": "sha512-GQUIeGzZwCT9/W5MAkKnkwETROPbA1eRmy3JF56jLmvr95tJnypGOG8jGYy0d+tcEVujIouh48r4J3bJQg5mrw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"jsonc-parser": "3.3.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -3901,9 +3874,9 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
|
||||
"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
|
||||
"integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -4029,9 +4002,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001774",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz",
|
||||
"integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==",
|
||||
"version": "1.0.30001775",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001775.tgz",
|
||||
"integrity": "sha512-s3Qv7Lht9zbVKE9XoTyRG6wVDCKdtOFIjBGg3+Yhn6JaytuNKPIjBMTMIY1AnOH3seL5mvF+x33oGAyK3hVt3A==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -4125,14 +4098,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/cli-truncate": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
|
||||
"integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz",
|
||||
"integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"slice-ansi": "^7.1.0",
|
||||
"string-width": "^8.0.0"
|
||||
"slice-ansi": "^8.0.0",
|
||||
"string-width": "^8.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
@@ -4998,9 +4971,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/hono": {
|
||||
"version": "4.12.2",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.2.tgz",
|
||||
"integrity": "sha512-gJnaDHXKDayjt8ue0n8Gs0A007yKXj4Xzb8+cNjZeYsSzzwKc0Lr+OZgYwVfB0pHfUs17EPoLvrOsEaJ9mj+Tg==",
|
||||
"version": "4.12.3",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.3.tgz",
|
||||
"integrity": "sha512-SFsVSjp8sj5UumXOOFlkZOG6XS9SJDKw0TbwFeV+AJ8xlST8kxK5Z/5EYa111UY8732lK2S/xB653ceuaoGwpg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -5515,6 +5488,23 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/string-width": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
||||
@@ -5668,9 +5658,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/minimatch": {
|
||||
"version": "10.2.3",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.3.tgz",
|
||||
"integrity": "sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==",
|
||||
"version": "10.2.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
|
||||
"integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"dependencies": {
|
||||
@@ -6426,9 +6416,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
||||
"version": "8.5.8",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
|
||||
"integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -7002,17 +6992,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz",
|
||||
"integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
"ansi-styles": "^6.2.3",
|
||||
"is-fullwidth-code-point": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=20"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
@@ -7179,13 +7169,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/strip-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
||||
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
"ansi-regex": "^6.2.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
|
||||
+120
-130
@@ -249,13 +249,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/architect": {
|
||||
"version": "0.2102.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0-rc.2.tgz",
|
||||
"integrity": "sha512-IP2wGHDxBLgtWoxXFCFmKF5HsKMAXgGi2hj2SmcoR9q8HDKVPmyBUBT10sdCdSyiM8J3+3yHYDW4rOO22ya5Pw==",
|
||||
"version": "0.2102.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0.tgz",
|
||||
"integrity": "sha512-kYFwTNzToG2SJMxj2f41w3QRtdqlrFuF+bpZrtIaHOP078Ktld8EPIp9KqB0Y46Vvs69ifby5Q1/wPD9wA3iaw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"rxjs": "7.8.2"
|
||||
},
|
||||
"bin": {
|
||||
@@ -268,9 +268,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/core": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-4Y8qoXFY9gdF/WahgfPRWORJqmgdAPKkDGjmyMBqwNdL96vqyKq0/5TD8K5PsUXV+HWg6GClWTWhRyWVxJtoLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-HZdTn46Ca6qbb9Zef8R/+TWsk6mNKRm4rJyL3PxHP6HnVCwSPNZ0LNN9BjVREBs+UlRdXqBGFBZh5D1nBgu5GQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -296,13 +296,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/schematics": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-+vkSdeSRIAIMW5pQW8YCD0rrPCM6EpFFuHGSoJZtjXRGnNuJKYApNqLreO1daZvVTG6YokB5KkE+mnvp9rBEeg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0.tgz",
|
||||
"integrity": "sha512-3kn3FI5v7BQ7Zct6raek+WgvyDwOJ8wElbyC903GxMQCDBRGGcevhHvTAIHhknihEsrgplzPhTlWeMbk1JfdFg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"jsonc-parser": "3.3.1",
|
||||
"magic-string": "0.30.21",
|
||||
"ora": "9.3.0",
|
||||
@@ -315,14 +315,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/build": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-1Hhr0w0uUBuMPEFjv9yXEHKahNHbw/NWt9uo1cf43ipFrrBKYHJj2DwwgyKKoEmtK/ap/l9yEZpL2oCfqCwEFQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0.tgz",
|
||||
"integrity": "sha512-K0EqiHz2y7TSyD4adWD0+C/P9khKlrsSWavXWxGRvoSJC/H3I3SK5Z6BWwftBibXR1Fis7njwvl5IGAlQrDchA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "2.3.0",
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@babel/core": "7.29.0",
|
||||
"@babel/helper-annotate-as-pure": "7.27.3",
|
||||
"@babel/helper-split-export-declaration": "7.24.7",
|
||||
@@ -358,17 +358,17 @@
|
||||
"lmdb": "3.5.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/compiler-cli": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/core": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/localize": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-browser": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-server": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/service-worker": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/ssr": "^21.2.0-rc.2",
|
||||
"@angular/compiler": "^21.0.0",
|
||||
"@angular/compiler-cli": "^21.0.0",
|
||||
"@angular/core": "^21.0.0",
|
||||
"@angular/localize": "^21.0.0",
|
||||
"@angular/platform-browser": "^21.0.0",
|
||||
"@angular/platform-server": "^21.0.0",
|
||||
"@angular/service-worker": "^21.0.0",
|
||||
"@angular/ssr": "^21.2.0",
|
||||
"karma": "^6.4.0",
|
||||
"less": "^4.2.0",
|
||||
"ng-packagr": "^21.0.0 || ^21.2.0-next.0",
|
||||
"ng-packagr": "^21.0.0",
|
||||
"postcss": "^8.4.0",
|
||||
"tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
|
||||
"tslib": "^2.3.0",
|
||||
@@ -415,19 +415,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/cli": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-rFuYlatMsYRqEi8FlvWqmTMU7x1iPFJpZUtAIYKo35C9kl0/Z5jhqqAv2Ws3LCX0lmVCzQ3TWRiFQp7T+2DWkw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0.tgz",
|
||||
"integrity": "sha512-yaGEpckqgOemcHkoWeH92i9eNrcbr9iE/dnxL+Du6s9spTAXJ2jjtYfszhmowuQZkCK5rjecMb8ctNtHlaGCjg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"@inquirer/prompts": "7.10.1",
|
||||
"@listr2/prompt-adapter-inquirer": "3.0.5",
|
||||
"@modelcontextprotocol/sdk": "1.26.0",
|
||||
"@schematics/angular": "21.2.0-rc.2",
|
||||
"@schematics/angular": "21.2.0",
|
||||
"@yarnpkg/lockfile": "1.1.0",
|
||||
"algoliasearch": "5.48.1",
|
||||
"ini": "6.0.0",
|
||||
@@ -450,9 +450,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/common": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-2O3cbBIM8ls97XwkYVdgJwEg3UOy/bVZ0uBoY14cLskhETj6wbrFENiy8KpikZ+xsTxE9gWohairxCRiEoFuKg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0.tgz",
|
||||
"integrity": "sha512-6zJMPi0i/XDniEgv3/t2BjuDHiOG44lgIR5PYyxqGpgJ0kqB5hku/0TuentNEi1VnBYgthnfhjek7c+lakXmhw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -461,14 +461,14 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-gl2dQgMFKkH/iM/YxqWO0oIbYRpBZpOZuxj9W5TjG50EpMDioD1CNu2DfXpODVo3/rOfZJvOa+Jw0Cxpj5ClMQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0.tgz",
|
||||
"integrity": "sha512-0RPkma8UVNpse/VJcXT9w6SKzTMz4J/uMGj0l9enM1frg9xrx1fwi/lLmaVV9Nr9LfqPjQdxNFFlvaBB7g/2zg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -478,9 +478,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler-cli": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-lHPA5BzQq9ttHXCAnAC/zW5vW0lFiawBIvRpNRbsI8Vw1noMs614OqZ2R6UBReVPE4kpyGwh7HCQIZyX5Cth6g==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0.tgz",
|
||||
"integrity": "sha512-gZd58p0/JjgdxMX3v+LjCB6e3dBIfNVr/YzXoh55TfffdBCUQY94hl1+DFQkJ72K5EX+1zbaz03dIm30kw1bGw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -501,7 +501,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"typescript": ">=5.9 <6.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
@@ -511,9 +511,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/core": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-Txdi6ocSNC8GbCYMGh2AUm1lx+J11LNRjNrfGcgxQhQAiEPVO8jGojfObM+rdjv1h8t0pCms5vzEmFiJ9z06hg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-VnTbmZq3g3Q+s3nCZ8VUDMLjMezOg/bqUxAJ/DrRWCrEcTP5JO3mrNPs3FHj+qlB0T+BQP7uQv6QTzPVKybwoA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -522,7 +522,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0",
|
||||
"zone.js": "~0.15.0 || ~0.16.0"
|
||||
},
|
||||
@@ -536,9 +536,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/forms": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-GsX4c+GYUxcKla8yO/hpEzpliCsMslP+yIIk9l6831PkSf3uCyKHUHriJtOEca4uN5fNo23ix5NXo5VPkmldLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0.tgz",
|
||||
"integrity": "sha512-NduUtPWLauH/FLayEDkLyaKAGqKzXbcfO7468LOWCXN3crhNVQyIWRQPOUcdpoJwDAGLpN85m3DhJhXNnA9c5w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@standard-schema/spec": "^1.0.0",
|
||||
@@ -548,16 +548,16 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/platform-browser": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"@angular/platform-browser": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/platform-browser": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-FCNRhzkf35l6B18gzaT6GDdTJ3v4AiLOSXc5RdiQ2PMn2dLOkm70SH0caXQGzvtXAzHrHlR+Evj/ZqaFYvjcYg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0.tgz",
|
||||
"integrity": "sha512-IUGukpvvT2B5Dl76qzk6rY7UIHUT9u4BhT2AwVz+5JqcX9KwQtYD17Gt7wj6bvIgCXKWG+CfN8Zd9DECOCYWjg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -566,9 +566,9 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/animations": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0"
|
||||
"@angular/animations": "21.2.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@angular/animations": {
|
||||
@@ -577,9 +577,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/router": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-KZmZCdm4H+w3UC1vorQ/Nj4FEHY4sgRkwp+zf4E4WFV+sflyFzqFxzVIKGJ1xTzjaDebCRmipJnc3DZ09fv1fg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.0.tgz",
|
||||
"integrity": "sha512-siliJ+jJRUCRZ0cdkqc7zww9Didz56Z0Z2YPIuR2n5TZLiuJY+jAf6xotXKp/v6v8XoGJwLiRNipGgNDRIAlWA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -588,9 +588,9 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/platform-browser": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"@angular/platform-browser": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
@@ -2592,9 +2592,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script": {
|
||||
"version": "10.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz",
|
||||
"integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==",
|
||||
"version": "10.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz",
|
||||
"integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@@ -2602,34 +2602,7 @@
|
||||
"@npmcli/package-json": "^7.0.0",
|
||||
"@npmcli/promise-spawn": "^9.0.0",
|
||||
"node-gyp": "^12.1.0",
|
||||
"proc-log": "^6.0.0",
|
||||
"which": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/isexe": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz",
|
||||
"integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/which": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz",
|
||||
"integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"isexe": "^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"node-which": "bin/which.js"
|
||||
"proc-log": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
@@ -3542,14 +3515,14 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@schematics/angular": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-QzyPSwdkpcEN5iQ28sfb7tak8MukvGC6nzl1kgziWNYPyNaf+DIXEfspOnCME0ZwjI3pBpJnBvj+uMn8fx3YSw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0.tgz",
|
||||
"integrity": "sha512-GQUIeGzZwCT9/W5MAkKnkwETROPbA1eRmy3JF56jLmvr95tJnypGOG8jGYy0d+tcEVujIouh48r4J3bJQg5mrw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"jsonc-parser": "3.3.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -3920,9 +3893,9 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
|
||||
"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
|
||||
"integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -4048,9 +4021,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001774",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz",
|
||||
"integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==",
|
||||
"version": "1.0.30001775",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001775.tgz",
|
||||
"integrity": "sha512-s3Qv7Lht9zbVKE9XoTyRG6wVDCKdtOFIjBGg3+Yhn6JaytuNKPIjBMTMIY1AnOH3seL5mvF+x33oGAyK3hVt3A==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -4144,14 +4117,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/cli-truncate": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
|
||||
"integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz",
|
||||
"integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"slice-ansi": "^7.1.0",
|
||||
"string-width": "^8.0.0"
|
||||
"slice-ansi": "^8.0.0",
|
||||
"string-width": "^8.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
@@ -5017,9 +4990,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/hono": {
|
||||
"version": "4.12.2",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.2.tgz",
|
||||
"integrity": "sha512-gJnaDHXKDayjt8ue0n8Gs0A007yKXj4Xzb8+cNjZeYsSzzwKc0Lr+OZgYwVfB0pHfUs17EPoLvrOsEaJ9mj+Tg==",
|
||||
"version": "4.12.3",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.3.tgz",
|
||||
"integrity": "sha512-SFsVSjp8sj5UumXOOFlkZOG6XS9SJDKw0TbwFeV+AJ8xlST8kxK5Z/5EYa111UY8732lK2S/xB653ceuaoGwpg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -5534,6 +5507,23 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/string-width": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
||||
@@ -5687,9 +5677,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/minimatch": {
|
||||
"version": "10.2.3",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.3.tgz",
|
||||
"integrity": "sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==",
|
||||
"version": "10.2.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
|
||||
"integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"dependencies": {
|
||||
@@ -6445,9 +6435,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
||||
"version": "8.5.8",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
|
||||
"integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -7021,17 +7011,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz",
|
||||
"integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
"ansi-styles": "^6.2.3",
|
||||
"is-fullwidth-code-point": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=20"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
@@ -7198,13 +7188,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/strip-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
||||
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
"ansi-regex": "^6.2.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
|
||||
+132
-142
@@ -251,13 +251,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/architect": {
|
||||
"version": "0.2102.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0-rc.2.tgz",
|
||||
"integrity": "sha512-IP2wGHDxBLgtWoxXFCFmKF5HsKMAXgGi2hj2SmcoR9q8HDKVPmyBUBT10sdCdSyiM8J3+3yHYDW4rOO22ya5Pw==",
|
||||
"version": "0.2102.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0.tgz",
|
||||
"integrity": "sha512-kYFwTNzToG2SJMxj2f41w3QRtdqlrFuF+bpZrtIaHOP078Ktld8EPIp9KqB0Y46Vvs69ifby5Q1/wPD9wA3iaw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"rxjs": "7.8.2"
|
||||
},
|
||||
"bin": {
|
||||
@@ -270,9 +270,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/core": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-4Y8qoXFY9gdF/WahgfPRWORJqmgdAPKkDGjmyMBqwNdL96vqyKq0/5TD8K5PsUXV+HWg6GClWTWhRyWVxJtoLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-HZdTn46Ca6qbb9Zef8R/+TWsk6mNKRm4rJyL3PxHP6HnVCwSPNZ0LNN9BjVREBs+UlRdXqBGFBZh5D1nBgu5GQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -298,13 +298,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/schematics": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-+vkSdeSRIAIMW5pQW8YCD0rrPCM6EpFFuHGSoJZtjXRGnNuJKYApNqLreO1daZvVTG6YokB5KkE+mnvp9rBEeg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0.tgz",
|
||||
"integrity": "sha512-3kn3FI5v7BQ7Zct6raek+WgvyDwOJ8wElbyC903GxMQCDBRGGcevhHvTAIHhknihEsrgplzPhTlWeMbk1JfdFg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"jsonc-parser": "3.3.1",
|
||||
"magic-string": "0.30.21",
|
||||
"ora": "9.3.0",
|
||||
@@ -317,9 +317,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/animations": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-9oMEVaSqkb3/3R5FLEV8cSjyC9dYCru3NdcXbe/8D4RerBJjlAjGSXjmfNAS6fzXD+/CsINK0ELh8Mcxvqe/GQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.2.0.tgz",
|
||||
"integrity": "sha512-SzlLoMT/r5wKqPicx5okCAiN5UD5+VE7x/F1G6gSJCcnBfbK5PqHPUmDnMW4jw9Ode06KZDT7ntstn6fG+Ld8w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -328,18 +328,18 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "21.2.0-rc.0"
|
||||
"@angular/core": "21.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/build": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-1Hhr0w0uUBuMPEFjv9yXEHKahNHbw/NWt9uo1cf43ipFrrBKYHJj2DwwgyKKoEmtK/ap/l9yEZpL2oCfqCwEFQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0.tgz",
|
||||
"integrity": "sha512-K0EqiHz2y7TSyD4adWD0+C/P9khKlrsSWavXWxGRvoSJC/H3I3SK5Z6BWwftBibXR1Fis7njwvl5IGAlQrDchA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "2.3.0",
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@babel/core": "7.29.0",
|
||||
"@babel/helper-annotate-as-pure": "7.27.3",
|
||||
"@babel/helper-split-export-declaration": "7.24.7",
|
||||
@@ -375,17 +375,17 @@
|
||||
"lmdb": "3.5.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/compiler-cli": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/core": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/localize": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-browser": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-server": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/service-worker": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/ssr": "^21.2.0-rc.2",
|
||||
"@angular/compiler": "^21.0.0",
|
||||
"@angular/compiler-cli": "^21.0.0",
|
||||
"@angular/core": "^21.0.0",
|
||||
"@angular/localize": "^21.0.0",
|
||||
"@angular/platform-browser": "^21.0.0",
|
||||
"@angular/platform-server": "^21.0.0",
|
||||
"@angular/service-worker": "^21.0.0",
|
||||
"@angular/ssr": "^21.2.0",
|
||||
"karma": "^6.4.0",
|
||||
"less": "^4.2.0",
|
||||
"ng-packagr": "^21.0.0 || ^21.2.0-next.0",
|
||||
"ng-packagr": "^21.0.0",
|
||||
"postcss": "^8.4.0",
|
||||
"tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
|
||||
"tslib": "^2.3.0",
|
||||
@@ -432,35 +432,35 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/cdk": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-dfVC6OjwgfonuE+os2mYNh0tY6bRlT7u+zz2rWXbEYH5J9nRvRTr1jo3+GORT/0FY0Kt9nI0FVydyrFvjfqh3g==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.0.tgz",
|
||||
"integrity": "sha512-1P0TNL1F51NC7JAaXabaAHY7Y1zBloLSZXfml1POa4a116V+y/QZfPGsxM0LwD1qSSXhSb2LNl7duTtJAP39bA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"parse5": "^8.0.0",
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
||||
"@angular/core": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
||||
"@angular/platform-browser": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
||||
"@angular/common": "^21.0.0 || ^22.0.0",
|
||||
"@angular/core": "^21.0.0 || ^22.0.0",
|
||||
"@angular/platform-browser": "^21.0.0 || ^22.0.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/cli": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-rFuYlatMsYRqEi8FlvWqmTMU7x1iPFJpZUtAIYKo35C9kl0/Z5jhqqAv2Ws3LCX0lmVCzQ3TWRiFQp7T+2DWkw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0.tgz",
|
||||
"integrity": "sha512-yaGEpckqgOemcHkoWeH92i9eNrcbr9iE/dnxL+Du6s9spTAXJ2jjtYfszhmowuQZkCK5rjecMb8ctNtHlaGCjg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"@inquirer/prompts": "7.10.1",
|
||||
"@listr2/prompt-adapter-inquirer": "3.0.5",
|
||||
"@modelcontextprotocol/sdk": "1.26.0",
|
||||
"@schematics/angular": "21.2.0-rc.2",
|
||||
"@schematics/angular": "21.2.0",
|
||||
"@yarnpkg/lockfile": "1.1.0",
|
||||
"algoliasearch": "5.48.1",
|
||||
"ini": "6.0.0",
|
||||
@@ -483,9 +483,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/common": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-2O3cbBIM8ls97XwkYVdgJwEg3UOy/bVZ0uBoY14cLskhETj6wbrFENiy8KpikZ+xsTxE9gWohairxCRiEoFuKg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0.tgz",
|
||||
"integrity": "sha512-6zJMPi0i/XDniEgv3/t2BjuDHiOG44lgIR5PYyxqGpgJ0kqB5hku/0TuentNEi1VnBYgthnfhjek7c+lakXmhw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -494,14 +494,14 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-gl2dQgMFKkH/iM/YxqWO0oIbYRpBZpOZuxj9W5TjG50EpMDioD1CNu2DfXpODVo3/rOfZJvOa+Jw0Cxpj5ClMQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0.tgz",
|
||||
"integrity": "sha512-0RPkma8UVNpse/VJcXT9w6SKzTMz4J/uMGj0l9enM1frg9xrx1fwi/lLmaVV9Nr9LfqPjQdxNFFlvaBB7g/2zg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -511,9 +511,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler-cli": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-lHPA5BzQq9ttHXCAnAC/zW5vW0lFiawBIvRpNRbsI8Vw1noMs614OqZ2R6UBReVPE4kpyGwh7HCQIZyX5Cth6g==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0.tgz",
|
||||
"integrity": "sha512-gZd58p0/JjgdxMX3v+LjCB6e3dBIfNVr/YzXoh55TfffdBCUQY94hl1+DFQkJ72K5EX+1zbaz03dIm30kw1bGw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -534,7 +534,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"typescript": ">=5.9 <6.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
@@ -544,9 +544,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/core": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-Txdi6ocSNC8GbCYMGh2AUm1lx+J11LNRjNrfGcgxQhQAiEPVO8jGojfObM+rdjv1h8t0pCms5vzEmFiJ9z06hg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-VnTbmZq3g3Q+s3nCZ8VUDMLjMezOg/bqUxAJ/DrRWCrEcTP5JO3mrNPs3FHj+qlB0T+BQP7uQv6QTzPVKybwoA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -555,7 +555,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0",
|
||||
"zone.js": "~0.15.0 || ~0.16.0"
|
||||
},
|
||||
@@ -569,9 +569,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/forms": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-GsX4c+GYUxcKla8yO/hpEzpliCsMslP+yIIk9l6831PkSf3uCyKHUHriJtOEca4uN5fNo23ix5NXo5VPkmldLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0.tgz",
|
||||
"integrity": "sha512-NduUtPWLauH/FLayEDkLyaKAGqKzXbcfO7468LOWCXN3crhNVQyIWRQPOUcdpoJwDAGLpN85m3DhJhXNnA9c5w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@standard-schema/spec": "^1.0.0",
|
||||
@@ -581,33 +581,33 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/platform-browser": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"@angular/platform-browser": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/material": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/material/-/material-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-A+u984wpMKmJsJ17q1aTHC5VScyz/Lkp3yFI2Wt05vMrXU+Dn0JZHT/34AjmPbO3sqvIqMRG0Y88kWfJflcJaw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/material/-/material-21.2.0.tgz",
|
||||
"integrity": "sha512-GVJMgXa/jpy06b/txKMohuMDMu72Or576BSHKehnceYvI9sf25cnGGK1woNhALNDW449KReicAILujcFJ+mO6g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/cdk": "21.2.0-rc.0",
|
||||
"@angular/common": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
||||
"@angular/core": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
||||
"@angular/forms": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
||||
"@angular/platform-browser": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
||||
"@angular/cdk": "21.2.0",
|
||||
"@angular/common": "^21.0.0 || ^22.0.0",
|
||||
"@angular/core": "^21.0.0 || ^22.0.0",
|
||||
"@angular/forms": "^21.0.0 || ^22.0.0",
|
||||
"@angular/platform-browser": "^21.0.0 || ^22.0.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/platform-browser": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-FCNRhzkf35l6B18gzaT6GDdTJ3v4AiLOSXc5RdiQ2PMn2dLOkm70SH0caXQGzvtXAzHrHlR+Evj/ZqaFYvjcYg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0.tgz",
|
||||
"integrity": "sha512-IUGukpvvT2B5Dl76qzk6rY7UIHUT9u4BhT2AwVz+5JqcX9KwQtYD17Gt7wj6bvIgCXKWG+CfN8Zd9DECOCYWjg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -616,9 +616,9 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/animations": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0"
|
||||
"@angular/animations": "21.2.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@angular/animations": {
|
||||
@@ -2624,9 +2624,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script": {
|
||||
"version": "10.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz",
|
||||
"integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==",
|
||||
"version": "10.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz",
|
||||
"integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@@ -2634,34 +2634,7 @@
|
||||
"@npmcli/package-json": "^7.0.0",
|
||||
"@npmcli/promise-spawn": "^9.0.0",
|
||||
"node-gyp": "^12.1.0",
|
||||
"proc-log": "^6.0.0",
|
||||
"which": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/isexe": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz",
|
||||
"integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/which": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz",
|
||||
"integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"isexe": "^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"node-which": "bin/which.js"
|
||||
"proc-log": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
@@ -3574,14 +3547,14 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@schematics/angular": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-QzyPSwdkpcEN5iQ28sfb7tak8MukvGC6nzl1kgziWNYPyNaf+DIXEfspOnCME0ZwjI3pBpJnBvj+uMn8fx3YSw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0.tgz",
|
||||
"integrity": "sha512-GQUIeGzZwCT9/W5MAkKnkwETROPbA1eRmy3JF56jLmvr95tJnypGOG8jGYy0d+tcEVujIouh48r4J3bJQg5mrw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"jsonc-parser": "3.3.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -3952,9 +3925,9 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
|
||||
"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
|
||||
"integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -4080,9 +4053,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001774",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz",
|
||||
"integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==",
|
||||
"version": "1.0.30001775",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001775.tgz",
|
||||
"integrity": "sha512-s3Qv7Lht9zbVKE9XoTyRG6wVDCKdtOFIjBGg3+Yhn6JaytuNKPIjBMTMIY1AnOH3seL5mvF+x33oGAyK3hVt3A==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -4176,14 +4149,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/cli-truncate": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
|
||||
"integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz",
|
||||
"integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"slice-ansi": "^7.1.0",
|
||||
"string-width": "^8.0.0"
|
||||
"slice-ansi": "^8.0.0",
|
||||
"string-width": "^8.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
@@ -5049,9 +5022,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/hono": {
|
||||
"version": "4.12.2",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.2.tgz",
|
||||
"integrity": "sha512-gJnaDHXKDayjt8ue0n8Gs0A007yKXj4Xzb8+cNjZeYsSzzwKc0Lr+OZgYwVfB0pHfUs17EPoLvrOsEaJ9mj+Tg==",
|
||||
"version": "4.12.3",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.3.tgz",
|
||||
"integrity": "sha512-SFsVSjp8sj5UumXOOFlkZOG6XS9SJDKw0TbwFeV+AJ8xlST8kxK5Z/5EYa111UY8732lK2S/xB653ceuaoGwpg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -5566,6 +5539,23 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/string-width": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
||||
@@ -5719,9 +5709,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/minimatch": {
|
||||
"version": "10.2.3",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.3.tgz",
|
||||
"integrity": "sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==",
|
||||
"version": "10.2.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
|
||||
"integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"dependencies": {
|
||||
@@ -6475,9 +6465,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
||||
"version": "8.5.8",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
|
||||
"integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -7051,17 +7041,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz",
|
||||
"integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
"ansi-styles": "^6.2.3",
|
||||
"is-fullwidth-code-point": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=20"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
@@ -7228,13 +7218,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/strip-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
||||
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
"ansi-regex": "^6.2.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
|
||||
+120
-130
@@ -249,13 +249,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/architect": {
|
||||
"version": "0.2102.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0-rc.2.tgz",
|
||||
"integrity": "sha512-IP2wGHDxBLgtWoxXFCFmKF5HsKMAXgGi2hj2SmcoR9q8HDKVPmyBUBT10sdCdSyiM8J3+3yHYDW4rOO22ya5Pw==",
|
||||
"version": "0.2102.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0.tgz",
|
||||
"integrity": "sha512-kYFwTNzToG2SJMxj2f41w3QRtdqlrFuF+bpZrtIaHOP078Ktld8EPIp9KqB0Y46Vvs69ifby5Q1/wPD9wA3iaw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"rxjs": "7.8.2"
|
||||
},
|
||||
"bin": {
|
||||
@@ -268,9 +268,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/core": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-4Y8qoXFY9gdF/WahgfPRWORJqmgdAPKkDGjmyMBqwNdL96vqyKq0/5TD8K5PsUXV+HWg6GClWTWhRyWVxJtoLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-HZdTn46Ca6qbb9Zef8R/+TWsk6mNKRm4rJyL3PxHP6HnVCwSPNZ0LNN9BjVREBs+UlRdXqBGFBZh5D1nBgu5GQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -296,13 +296,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/schematics": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-+vkSdeSRIAIMW5pQW8YCD0rrPCM6EpFFuHGSoJZtjXRGnNuJKYApNqLreO1daZvVTG6YokB5KkE+mnvp9rBEeg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0.tgz",
|
||||
"integrity": "sha512-3kn3FI5v7BQ7Zct6raek+WgvyDwOJ8wElbyC903GxMQCDBRGGcevhHvTAIHhknihEsrgplzPhTlWeMbk1JfdFg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"jsonc-parser": "3.3.1",
|
||||
"magic-string": "0.30.21",
|
||||
"ora": "9.3.0",
|
||||
@@ -315,14 +315,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/build": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-1Hhr0w0uUBuMPEFjv9yXEHKahNHbw/NWt9uo1cf43ipFrrBKYHJj2DwwgyKKoEmtK/ap/l9yEZpL2oCfqCwEFQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0.tgz",
|
||||
"integrity": "sha512-K0EqiHz2y7TSyD4adWD0+C/P9khKlrsSWavXWxGRvoSJC/H3I3SK5Z6BWwftBibXR1Fis7njwvl5IGAlQrDchA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "2.3.0",
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@babel/core": "7.29.0",
|
||||
"@babel/helper-annotate-as-pure": "7.27.3",
|
||||
"@babel/helper-split-export-declaration": "7.24.7",
|
||||
@@ -358,17 +358,17 @@
|
||||
"lmdb": "3.5.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/compiler-cli": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/core": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/localize": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-browser": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-server": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/service-worker": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/ssr": "^21.2.0-rc.2",
|
||||
"@angular/compiler": "^21.0.0",
|
||||
"@angular/compiler-cli": "^21.0.0",
|
||||
"@angular/core": "^21.0.0",
|
||||
"@angular/localize": "^21.0.0",
|
||||
"@angular/platform-browser": "^21.0.0",
|
||||
"@angular/platform-server": "^21.0.0",
|
||||
"@angular/service-worker": "^21.0.0",
|
||||
"@angular/ssr": "^21.2.0",
|
||||
"karma": "^6.4.0",
|
||||
"less": "^4.2.0",
|
||||
"ng-packagr": "^21.0.0 || ^21.2.0-next.0",
|
||||
"ng-packagr": "^21.0.0",
|
||||
"postcss": "^8.4.0",
|
||||
"tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
|
||||
"tslib": "^2.3.0",
|
||||
@@ -415,19 +415,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/cli": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-rFuYlatMsYRqEi8FlvWqmTMU7x1iPFJpZUtAIYKo35C9kl0/Z5jhqqAv2Ws3LCX0lmVCzQ3TWRiFQp7T+2DWkw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0.tgz",
|
||||
"integrity": "sha512-yaGEpckqgOemcHkoWeH92i9eNrcbr9iE/dnxL+Du6s9spTAXJ2jjtYfszhmowuQZkCK5rjecMb8ctNtHlaGCjg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"@inquirer/prompts": "7.10.1",
|
||||
"@listr2/prompt-adapter-inquirer": "3.0.5",
|
||||
"@modelcontextprotocol/sdk": "1.26.0",
|
||||
"@schematics/angular": "21.2.0-rc.2",
|
||||
"@schematics/angular": "21.2.0",
|
||||
"@yarnpkg/lockfile": "1.1.0",
|
||||
"algoliasearch": "5.48.1",
|
||||
"ini": "6.0.0",
|
||||
@@ -450,9 +450,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/common": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-2O3cbBIM8ls97XwkYVdgJwEg3UOy/bVZ0uBoY14cLskhETj6wbrFENiy8KpikZ+xsTxE9gWohairxCRiEoFuKg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0.tgz",
|
||||
"integrity": "sha512-6zJMPi0i/XDniEgv3/t2BjuDHiOG44lgIR5PYyxqGpgJ0kqB5hku/0TuentNEi1VnBYgthnfhjek7c+lakXmhw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -461,14 +461,14 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-gl2dQgMFKkH/iM/YxqWO0oIbYRpBZpOZuxj9W5TjG50EpMDioD1CNu2DfXpODVo3/rOfZJvOa+Jw0Cxpj5ClMQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0.tgz",
|
||||
"integrity": "sha512-0RPkma8UVNpse/VJcXT9w6SKzTMz4J/uMGj0l9enM1frg9xrx1fwi/lLmaVV9Nr9LfqPjQdxNFFlvaBB7g/2zg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -478,9 +478,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler-cli": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-lHPA5BzQq9ttHXCAnAC/zW5vW0lFiawBIvRpNRbsI8Vw1noMs614OqZ2R6UBReVPE4kpyGwh7HCQIZyX5Cth6g==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0.tgz",
|
||||
"integrity": "sha512-gZd58p0/JjgdxMX3v+LjCB6e3dBIfNVr/YzXoh55TfffdBCUQY94hl1+DFQkJ72K5EX+1zbaz03dIm30kw1bGw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -501,7 +501,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"typescript": ">=5.9 <6.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
@@ -511,9 +511,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/core": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-Txdi6ocSNC8GbCYMGh2AUm1lx+J11LNRjNrfGcgxQhQAiEPVO8jGojfObM+rdjv1h8t0pCms5vzEmFiJ9z06hg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-VnTbmZq3g3Q+s3nCZ8VUDMLjMezOg/bqUxAJ/DrRWCrEcTP5JO3mrNPs3FHj+qlB0T+BQP7uQv6QTzPVKybwoA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -522,7 +522,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0",
|
||||
"zone.js": "~0.15.0 || ~0.16.0"
|
||||
},
|
||||
@@ -536,9 +536,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/forms": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-GsX4c+GYUxcKla8yO/hpEzpliCsMslP+yIIk9l6831PkSf3uCyKHUHriJtOEca4uN5fNo23ix5NXo5VPkmldLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0.tgz",
|
||||
"integrity": "sha512-NduUtPWLauH/FLayEDkLyaKAGqKzXbcfO7468LOWCXN3crhNVQyIWRQPOUcdpoJwDAGLpN85m3DhJhXNnA9c5w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@standard-schema/spec": "^1.0.0",
|
||||
@@ -548,16 +548,16 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/platform-browser": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"@angular/platform-browser": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/platform-browser": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-FCNRhzkf35l6B18gzaT6GDdTJ3v4AiLOSXc5RdiQ2PMn2dLOkm70SH0caXQGzvtXAzHrHlR+Evj/ZqaFYvjcYg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0.tgz",
|
||||
"integrity": "sha512-IUGukpvvT2B5Dl76qzk6rY7UIHUT9u4BhT2AwVz+5JqcX9KwQtYD17Gt7wj6bvIgCXKWG+CfN8Zd9DECOCYWjg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -566,9 +566,9 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/animations": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0"
|
||||
"@angular/animations": "21.2.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@angular/animations": {
|
||||
@@ -577,9 +577,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/router": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-KZmZCdm4H+w3UC1vorQ/Nj4FEHY4sgRkwp+zf4E4WFV+sflyFzqFxzVIKGJ1xTzjaDebCRmipJnc3DZ09fv1fg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.0.tgz",
|
||||
"integrity": "sha512-siliJ+jJRUCRZ0cdkqc7zww9Didz56Z0Z2YPIuR2n5TZLiuJY+jAf6xotXKp/v6v8XoGJwLiRNipGgNDRIAlWA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -588,9 +588,9 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/platform-browser": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"@angular/platform-browser": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
@@ -2592,9 +2592,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script": {
|
||||
"version": "10.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz",
|
||||
"integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==",
|
||||
"version": "10.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz",
|
||||
"integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@@ -2602,34 +2602,7 @@
|
||||
"@npmcli/package-json": "^7.0.0",
|
||||
"@npmcli/promise-spawn": "^9.0.0",
|
||||
"node-gyp": "^12.1.0",
|
||||
"proc-log": "^6.0.0",
|
||||
"which": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/isexe": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz",
|
||||
"integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/which": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz",
|
||||
"integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"isexe": "^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"node-which": "bin/which.js"
|
||||
"proc-log": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
@@ -3542,14 +3515,14 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@schematics/angular": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-QzyPSwdkpcEN5iQ28sfb7tak8MukvGC6nzl1kgziWNYPyNaf+DIXEfspOnCME0ZwjI3pBpJnBvj+uMn8fx3YSw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0.tgz",
|
||||
"integrity": "sha512-GQUIeGzZwCT9/W5MAkKnkwETROPbA1eRmy3JF56jLmvr95tJnypGOG8jGYy0d+tcEVujIouh48r4J3bJQg5mrw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"jsonc-parser": "3.3.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -3920,9 +3893,9 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
|
||||
"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
|
||||
"integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -4048,9 +4021,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001774",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz",
|
||||
"integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==",
|
||||
"version": "1.0.30001775",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001775.tgz",
|
||||
"integrity": "sha512-s3Qv7Lht9zbVKE9XoTyRG6wVDCKdtOFIjBGg3+Yhn6JaytuNKPIjBMTMIY1AnOH3seL5mvF+x33oGAyK3hVt3A==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -4144,14 +4117,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/cli-truncate": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
|
||||
"integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz",
|
||||
"integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"slice-ansi": "^7.1.0",
|
||||
"string-width": "^8.0.0"
|
||||
"slice-ansi": "^8.0.0",
|
||||
"string-width": "^8.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
@@ -5017,9 +4990,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/hono": {
|
||||
"version": "4.12.2",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.2.tgz",
|
||||
"integrity": "sha512-gJnaDHXKDayjt8ue0n8Gs0A007yKXj4Xzb8+cNjZeYsSzzwKc0Lr+OZgYwVfB0pHfUs17EPoLvrOsEaJ9mj+Tg==",
|
||||
"version": "4.12.3",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.3.tgz",
|
||||
"integrity": "sha512-SFsVSjp8sj5UumXOOFlkZOG6XS9SJDKw0TbwFeV+AJ8xlST8kxK5Z/5EYa111UY8732lK2S/xB653ceuaoGwpg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -5534,6 +5507,23 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/string-width": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
||||
@@ -5687,9 +5677,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/minimatch": {
|
||||
"version": "10.2.3",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.3.tgz",
|
||||
"integrity": "sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==",
|
||||
"version": "10.2.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
|
||||
"integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"dependencies": {
|
||||
@@ -6445,9 +6435,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
||||
"version": "8.5.8",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
|
||||
"integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -7021,17 +7011,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz",
|
||||
"integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
"ansi-styles": "^6.2.3",
|
||||
"is-fullwidth-code-point": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=20"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
@@ -7198,13 +7188,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/strip-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
||||
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
"ansi-regex": "^6.2.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
|
||||
+120
-130
@@ -249,13 +249,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/architect": {
|
||||
"version": "0.2102.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0-rc.2.tgz",
|
||||
"integrity": "sha512-IP2wGHDxBLgtWoxXFCFmKF5HsKMAXgGi2hj2SmcoR9q8HDKVPmyBUBT10sdCdSyiM8J3+3yHYDW4rOO22ya5Pw==",
|
||||
"version": "0.2102.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.0.tgz",
|
||||
"integrity": "sha512-kYFwTNzToG2SJMxj2f41w3QRtdqlrFuF+bpZrtIaHOP078Ktld8EPIp9KqB0Y46Vvs69ifby5Q1/wPD9wA3iaw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"rxjs": "7.8.2"
|
||||
},
|
||||
"bin": {
|
||||
@@ -268,9 +268,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/core": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-4Y8qoXFY9gdF/WahgfPRWORJqmgdAPKkDGjmyMBqwNdL96vqyKq0/5TD8K5PsUXV+HWg6GClWTWhRyWVxJtoLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-HZdTn46Ca6qbb9Zef8R/+TWsk6mNKRm4rJyL3PxHP6HnVCwSPNZ0LNN9BjVREBs+UlRdXqBGFBZh5D1nBgu5GQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -296,13 +296,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular-devkit/schematics": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-+vkSdeSRIAIMW5pQW8YCD0rrPCM6EpFFuHGSoJZtjXRGnNuJKYApNqLreO1daZvVTG6YokB5KkE+mnvp9rBEeg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.0.tgz",
|
||||
"integrity": "sha512-3kn3FI5v7BQ7Zct6raek+WgvyDwOJ8wElbyC903GxMQCDBRGGcevhHvTAIHhknihEsrgplzPhTlWeMbk1JfdFg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"jsonc-parser": "3.3.1",
|
||||
"magic-string": "0.30.21",
|
||||
"ora": "9.3.0",
|
||||
@@ -315,14 +315,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/build": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-1Hhr0w0uUBuMPEFjv9yXEHKahNHbw/NWt9uo1cf43ipFrrBKYHJj2DwwgyKKoEmtK/ap/l9yEZpL2oCfqCwEFQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.0.tgz",
|
||||
"integrity": "sha512-K0EqiHz2y7TSyD4adWD0+C/P9khKlrsSWavXWxGRvoSJC/H3I3SK5Z6BWwftBibXR1Fis7njwvl5IGAlQrDchA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "2.3.0",
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@babel/core": "7.29.0",
|
||||
"@babel/helper-annotate-as-pure": "7.27.3",
|
||||
"@babel/helper-split-export-declaration": "7.24.7",
|
||||
@@ -358,17 +358,17 @@
|
||||
"lmdb": "3.5.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/compiler-cli": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/core": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/localize": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-browser": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/platform-server": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/service-worker": "^21.0.0 || ^21.2.0-next.0",
|
||||
"@angular/ssr": "^21.2.0-rc.2",
|
||||
"@angular/compiler": "^21.0.0",
|
||||
"@angular/compiler-cli": "^21.0.0",
|
||||
"@angular/core": "^21.0.0",
|
||||
"@angular/localize": "^21.0.0",
|
||||
"@angular/platform-browser": "^21.0.0",
|
||||
"@angular/platform-server": "^21.0.0",
|
||||
"@angular/service-worker": "^21.0.0",
|
||||
"@angular/ssr": "^21.2.0",
|
||||
"karma": "^6.4.0",
|
||||
"less": "^4.2.0",
|
||||
"ng-packagr": "^21.0.0 || ^21.2.0-next.0",
|
||||
"ng-packagr": "^21.0.0",
|
||||
"postcss": "^8.4.0",
|
||||
"tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
|
||||
"tslib": "^2.3.0",
|
||||
@@ -415,19 +415,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/cli": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-rFuYlatMsYRqEi8FlvWqmTMU7x1iPFJpZUtAIYKo35C9kl0/Z5jhqqAv2Ws3LCX0lmVCzQ3TWRiFQp7T+2DWkw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.0.tgz",
|
||||
"integrity": "sha512-yaGEpckqgOemcHkoWeH92i9eNrcbr9iE/dnxL+Du6s9spTAXJ2jjtYfszhmowuQZkCK5rjecMb8ctNtHlaGCjg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/architect": "0.2102.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/architect": "0.2102.0",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"@inquirer/prompts": "7.10.1",
|
||||
"@listr2/prompt-adapter-inquirer": "3.0.5",
|
||||
"@modelcontextprotocol/sdk": "1.26.0",
|
||||
"@schematics/angular": "21.2.0-rc.2",
|
||||
"@schematics/angular": "21.2.0",
|
||||
"@yarnpkg/lockfile": "1.1.0",
|
||||
"algoliasearch": "5.48.1",
|
||||
"ini": "6.0.0",
|
||||
@@ -450,9 +450,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/common": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-2O3cbBIM8ls97XwkYVdgJwEg3UOy/bVZ0uBoY14cLskhETj6wbrFENiy8KpikZ+xsTxE9gWohairxCRiEoFuKg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0.tgz",
|
||||
"integrity": "sha512-6zJMPi0i/XDniEgv3/t2BjuDHiOG44lgIR5PYyxqGpgJ0kqB5hku/0TuentNEi1VnBYgthnfhjek7c+lakXmhw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -461,14 +461,14 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-gl2dQgMFKkH/iM/YxqWO0oIbYRpBZpOZuxj9W5TjG50EpMDioD1CNu2DfXpODVo3/rOfZJvOa+Jw0Cxpj5ClMQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0.tgz",
|
||||
"integrity": "sha512-0RPkma8UVNpse/VJcXT9w6SKzTMz4J/uMGj0l9enM1frg9xrx1fwi/lLmaVV9Nr9LfqPjQdxNFFlvaBB7g/2zg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -478,9 +478,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/compiler-cli": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-lHPA5BzQq9ttHXCAnAC/zW5vW0lFiawBIvRpNRbsI8Vw1noMs614OqZ2R6UBReVPE4kpyGwh7HCQIZyX5Cth6g==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.0.tgz",
|
||||
"integrity": "sha512-gZd58p0/JjgdxMX3v+LjCB6e3dBIfNVr/YzXoh55TfffdBCUQY94hl1+DFQkJ72K5EX+1zbaz03dIm30kw1bGw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -501,7 +501,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"typescript": ">=5.9 <6.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
@@ -511,9 +511,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/core": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-Txdi6ocSNC8GbCYMGh2AUm1lx+J11LNRjNrfGcgxQhQAiEPVO8jGojfObM+rdjv1h8t0pCms5vzEmFiJ9z06hg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0.tgz",
|
||||
"integrity": "sha512-VnTbmZq3g3Q+s3nCZ8VUDMLjMezOg/bqUxAJ/DrRWCrEcTP5JO3mrNPs3FHj+qlB0T+BQP7uQv6QTzPVKybwoA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -522,7 +522,7 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "21.2.0-rc.0",
|
||||
"@angular/compiler": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0",
|
||||
"zone.js": "~0.15.0 || ~0.16.0"
|
||||
},
|
||||
@@ -536,9 +536,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/forms": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-GsX4c+GYUxcKla8yO/hpEzpliCsMslP+yIIk9l6831PkSf3uCyKHUHriJtOEca4uN5fNo23ix5NXo5VPkmldLQ==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0.tgz",
|
||||
"integrity": "sha512-NduUtPWLauH/FLayEDkLyaKAGqKzXbcfO7468LOWCXN3crhNVQyIWRQPOUcdpoJwDAGLpN85m3DhJhXNnA9c5w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@standard-schema/spec": "^1.0.0",
|
||||
@@ -548,16 +548,16 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/platform-browser": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"@angular/platform-browser": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/platform-browser": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-FCNRhzkf35l6B18gzaT6GDdTJ3v4AiLOSXc5RdiQ2PMn2dLOkm70SH0caXQGzvtXAzHrHlR+Evj/ZqaFYvjcYg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0.tgz",
|
||||
"integrity": "sha512-IUGukpvvT2B5Dl76qzk6rY7UIHUT9u4BhT2AwVz+5JqcX9KwQtYD17Gt7wj6bvIgCXKWG+CfN8Zd9DECOCYWjg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -566,9 +566,9 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/animations": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0"
|
||||
"@angular/animations": "21.2.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@angular/animations": {
|
||||
@@ -577,9 +577,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/router": {
|
||||
"version": "21.2.0-rc.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.0-rc.0.tgz",
|
||||
"integrity": "sha512-KZmZCdm4H+w3UC1vorQ/Nj4FEHY4sgRkwp+zf4E4WFV+sflyFzqFxzVIKGJ1xTzjaDebCRmipJnc3DZ09fv1fg==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.0.tgz",
|
||||
"integrity": "sha512-siliJ+jJRUCRZ0cdkqc7zww9Didz56Z0Z2YPIuR2n5TZLiuJY+jAf6xotXKp/v6v8XoGJwLiRNipGgNDRIAlWA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
@@ -588,9 +588,9 @@
|
||||
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "21.2.0-rc.0",
|
||||
"@angular/core": "21.2.0-rc.0",
|
||||
"@angular/platform-browser": "21.2.0-rc.0",
|
||||
"@angular/common": "21.2.0",
|
||||
"@angular/core": "21.2.0",
|
||||
"@angular/platform-browser": "21.2.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
@@ -2592,9 +2592,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script": {
|
||||
"version": "10.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz",
|
||||
"integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==",
|
||||
"version": "10.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz",
|
||||
"integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@@ -2602,34 +2602,7 @@
|
||||
"@npmcli/package-json": "^7.0.0",
|
||||
"@npmcli/promise-spawn": "^9.0.0",
|
||||
"node-gyp": "^12.1.0",
|
||||
"proc-log": "^6.0.0",
|
||||
"which": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/isexe": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz",
|
||||
"integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/@npmcli/run-script/node_modules/which": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz",
|
||||
"integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"isexe": "^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"node-which": "bin/which.js"
|
||||
"proc-log": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.17.0 || >=22.9.0"
|
||||
@@ -3542,14 +3515,14 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@schematics/angular": {
|
||||
"version": "21.2.0-rc.2",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0-rc.2.tgz",
|
||||
"integrity": "sha512-QzyPSwdkpcEN5iQ28sfb7tak8MukvGC6nzl1kgziWNYPyNaf+DIXEfspOnCME0ZwjI3pBpJnBvj+uMn8fx3YSw==",
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.0.tgz",
|
||||
"integrity": "sha512-GQUIeGzZwCT9/W5MAkKnkwETROPbA1eRmy3JF56jLmvr95tJnypGOG8jGYy0d+tcEVujIouh48r4J3bJQg5mrw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "21.2.0-rc.2",
|
||||
"@angular-devkit/schematics": "21.2.0-rc.2",
|
||||
"@angular-devkit/core": "21.2.0",
|
||||
"@angular-devkit/schematics": "21.2.0",
|
||||
"jsonc-parser": "3.3.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -3920,9 +3893,9 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
|
||||
"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
|
||||
"integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -4048,9 +4021,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001774",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz",
|
||||
"integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==",
|
||||
"version": "1.0.30001775",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001775.tgz",
|
||||
"integrity": "sha512-s3Qv7Lht9zbVKE9XoTyRG6wVDCKdtOFIjBGg3+Yhn6JaytuNKPIjBMTMIY1AnOH3seL5mvF+x33oGAyK3hVt3A==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -4144,14 +4117,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/cli-truncate": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
|
||||
"integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz",
|
||||
"integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"slice-ansi": "^7.1.0",
|
||||
"string-width": "^8.0.0"
|
||||
"slice-ansi": "^8.0.0",
|
||||
"string-width": "^8.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
@@ -5017,9 +4990,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/hono": {
|
||||
"version": "4.12.2",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.2.tgz",
|
||||
"integrity": "sha512-gJnaDHXKDayjt8ue0n8Gs0A007yKXj4Xzb8+cNjZeYsSzzwKc0Lr+OZgYwVfB0pHfUs17EPoLvrOsEaJ9mj+Tg==",
|
||||
"version": "4.12.3",
|
||||
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.3.tgz",
|
||||
"integrity": "sha512-SFsVSjp8sj5UumXOOFlkZOG6XS9SJDKw0TbwFeV+AJ8xlST8kxK5Z/5EYa111UY8732lK2S/xB653ceuaoGwpg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -5534,6 +5507,23 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/log-update/node_modules/string-width": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
||||
@@ -5687,9 +5677,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/minimatch": {
|
||||
"version": "10.2.3",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.3.tgz",
|
||||
"integrity": "sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==",
|
||||
"version": "10.2.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
|
||||
"integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"dependencies": {
|
||||
@@ -6445,9 +6435,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
||||
"version": "8.5.8",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
|
||||
"integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -7021,17 +7011,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/slice-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz",
|
||||
"integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.2.1",
|
||||
"is-fullwidth-code-point": "^5.0.0"
|
||||
"ansi-styles": "^6.2.3",
|
||||
"is-fullwidth-code-point": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"node": ">=20"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
@@ -7198,13 +7188,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/strip-ansi": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
|
||||
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
||||
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
"ansi-regex": "^6.2.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
|
||||
@@ -43,6 +43,10 @@ ng_application(
|
||||
ng_config = ":ng_config",
|
||||
node_modules = ":node_modules",
|
||||
project_name = "dev-app",
|
||||
serve_args = [
|
||||
"--port",
|
||||
"4201",
|
||||
],
|
||||
tags = [
|
||||
# Tagged as manual as both build and build.production use the same output directory.
|
||||
"manual",
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
"@angular/platform-browser": "workspace:*",
|
||||
"@angular/platform-server": "workspace:*",
|
||||
"@angular/router": "workspace:*",
|
||||
"@angular/ssr": "21.2.0-rc.2",
|
||||
"@angular/ssr": "21.2.0",
|
||||
"rxjs": "~7.8.0",
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular/build": "21.2.0-rc.2",
|
||||
"@angular/cli": "21.2.0-rc.2",
|
||||
"@angular/build": "21.2.0",
|
||||
"@angular/cli": "21.2.0",
|
||||
"@angular/compiler-cli": "workspace:*",
|
||||
"jsdom": "^28.0.0",
|
||||
"typescript": "~5.9.2",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
load("//devtools/tools:defaults.bzl", "npm_sass_library", "sass_library")
|
||||
load("//devtools/tools:defaults.bzl", "npm_sass_library", "sass_binary", "sass_library")
|
||||
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
@@ -76,3 +76,13 @@ sass_library(
|
||||
":typography",
|
||||
],
|
||||
)
|
||||
|
||||
sass_binary(
|
||||
name = "firefox",
|
||||
src = "firefox.scss",
|
||||
)
|
||||
|
||||
sass_binary(
|
||||
name = "chrome",
|
||||
src = "chrome.scss",
|
||||
)
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
/* Chrome-specific global styles */
|
||||
@@ -0,0 +1 @@
|
||||
/* Firefox-specific global styles */
|
||||
@@ -1,4 +1,4 @@
|
||||
load("//devtools/tools:defaults.bzl", "esbuild", "extension_package", "ng_project", "sass_binary", "string_flag", "ts_project")
|
||||
load("//devtools/tools:defaults.bzl", "copy_to_directory", "esbuild", "extension_package", "ng_project", "sass_binary", "string_flag", "ts_project")
|
||||
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
@@ -10,6 +10,18 @@ sass_binary(
|
||||
deps = ["//devtools/projects/ng-devtools/src/styles:global"],
|
||||
)
|
||||
|
||||
copy_to_directory(
|
||||
name = "browser_specific_styles",
|
||||
srcs = [
|
||||
"//devtools/projects/ng-devtools/src/styles:chrome",
|
||||
"//devtools/projects/ng-devtools/src/styles:firefox",
|
||||
],
|
||||
out = "styles",
|
||||
replace_prefixes = {
|
||||
"devtools/projects/ng-devtools/src/styles": "",
|
||||
},
|
||||
)
|
||||
|
||||
ts_project(
|
||||
name = "devtools",
|
||||
srcs = [
|
||||
@@ -74,6 +86,7 @@ exports_files(["index.html"])
|
||||
filegroup(
|
||||
name = "prod_app_static_files",
|
||||
srcs = [
|
||||
":browser_specific_styles",
|
||||
":index.html",
|
||||
":shell_common_styles",
|
||||
],
|
||||
|
||||
@@ -14,7 +14,11 @@ import {initializeExtendedWindowOperations} from './chrome-window-extensions';
|
||||
import {getBackendUri, getContentScriptUri} from './comm-utils';
|
||||
import {SamePageMessageBus} from './same-page-message-bus';
|
||||
|
||||
const messageBus = new SamePageMessageBus(getBackendUri(), getContentScriptUri());
|
||||
const messageBus = new SamePageMessageBus(
|
||||
'[Backend=>ContentScript]',
|
||||
getBackendUri(),
|
||||
getContentScriptUri(),
|
||||
);
|
||||
|
||||
let initialized = false;
|
||||
messageBus.on('handshake', () => {
|
||||
|
||||
@@ -56,6 +56,7 @@ function attemptBackendHandshake() {
|
||||
port.onDisconnect.addListener(handleDisconnect);
|
||||
|
||||
const detectAngularMessageBus = new SamePageMessageBus(
|
||||
'[ContentScript=>DetectAngular]',
|
||||
getContentScriptUri(),
|
||||
getDetectAngularScriptUri(),
|
||||
);
|
||||
@@ -87,7 +88,11 @@ detectAngularMessageBus.on('detectAngular', (detectionResult) => {
|
||||
attemptBackendHandshake();
|
||||
});
|
||||
|
||||
const localMessageBus = new SamePageMessageBus(getContentScriptUri(), getBackendUri());
|
||||
const localMessageBus = new SamePageMessageBus(
|
||||
'[ConstentScript=>BackEnd]',
|
||||
getContentScriptUri(),
|
||||
getBackendUri(),
|
||||
);
|
||||
const chromeMessageBus = new ChromeMessageBus(port);
|
||||
|
||||
const handshakeWithBackend = (): void => {
|
||||
|
||||
@@ -18,6 +18,7 @@ import {getDetectAngularScriptUri} from './comm-utils';
|
||||
import {SamePageMessageBus} from './same-page-message-bus';
|
||||
|
||||
const detectAngularMessageBus = new SamePageMessageBus(
|
||||
'[DetectAngular=>CS]',
|
||||
getDetectAngularScriptUri(),
|
||||
getDetectAngularScriptUri(),
|
||||
);
|
||||
|
||||
@@ -12,10 +12,22 @@ type AnyEventCallback<Ev> = <E extends keyof Ev>(topic: E, args: Parameters<Ev[E
|
||||
|
||||
type ListenerFn = (e: MessageEvent) => void;
|
||||
|
||||
// We use a bus status to know if we should send the message between the context
|
||||
// eg: We don't want to send events until the devtools tab has been focused to present spaming the message bus
|
||||
// init: initial state, until the backend is ready
|
||||
// waiting: blocking message, until we see the 'enableFrameConnection' event
|
||||
// ready: we send every message through the bus
|
||||
export type BusStatus = 'init' | 'waiting' | 'ready';
|
||||
|
||||
/**
|
||||
* Note: This Bus implementation implements a filter based of topic. It might not be suitable for others messages than the ones currently used.
|
||||
*/
|
||||
export class SamePageMessageBus extends MessageBus<Events> {
|
||||
private status: BusStatus = 'init';
|
||||
private _listeners: ListenerFn[] = [];
|
||||
|
||||
constructor(
|
||||
private debugName: string,
|
||||
private _source: string,
|
||||
private _destination: string,
|
||||
) {
|
||||
@@ -24,6 +36,8 @@ export class SamePageMessageBus extends MessageBus<Events> {
|
||||
|
||||
onAny(cb: AnyEventCallback<Events>): () => void {
|
||||
const listener: ListenerFn = (e) => {
|
||||
this.updateStatus(e.data?.topic);
|
||||
|
||||
if (e.source !== window || !e.data || !e.data.topic || e.data.source !== this._destination) {
|
||||
return;
|
||||
}
|
||||
@@ -39,6 +53,8 @@ export class SamePageMessageBus extends MessageBus<Events> {
|
||||
|
||||
override on<E extends keyof Events>(topic: E, cb: Events[E]): () => void {
|
||||
const listener: ListenerFn = (e) => {
|
||||
this.updateStatus(e.data?.topic);
|
||||
|
||||
if (e.source !== window || !e.data || e.data.source !== this._destination || !e.data.topic) {
|
||||
return;
|
||||
}
|
||||
@@ -68,6 +84,10 @@ export class SamePageMessageBus extends MessageBus<Events> {
|
||||
}
|
||||
|
||||
override emit<E extends keyof Events>(topic: E, args?: Parameters<Events[E]>): boolean {
|
||||
if (this.shouldSkipMessage(topic)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
window.postMessage(
|
||||
{
|
||||
source: this._source,
|
||||
@@ -85,4 +105,16 @@ export class SamePageMessageBus extends MessageBus<Events> {
|
||||
this._listeners.forEach((l) => window.removeEventListener('message', l));
|
||||
this._listeners = [];
|
||||
}
|
||||
|
||||
private shouldSkipMessage(topic: string): boolean {
|
||||
return this.status === 'waiting' && topic !== 'enableFrameConnection';
|
||||
}
|
||||
|
||||
private updateStatus(topic: string): void {
|
||||
if (topic === 'enableFrameConnection') {
|
||||
this.status = 'ready';
|
||||
} else if (topic === 'backendReady') {
|
||||
this.status = 'waiting';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
load("//devtools/tools:defaults.bzl", "esbuild", "http_server", "ng_project", "sass_binary")
|
||||
load("//devtools/tools:defaults.bzl", "copy_to_directory", "esbuild", "http_server", "ng_project", "sass_binary")
|
||||
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
@@ -9,6 +9,18 @@ sass_binary(
|
||||
deps = ["//devtools/projects/ng-devtools/src/styles:global"],
|
||||
)
|
||||
|
||||
copy_to_directory(
|
||||
name = "browser_specific_styles",
|
||||
srcs = [
|
||||
"//devtools/projects/ng-devtools/src/styles:chrome",
|
||||
"//devtools/projects/ng-devtools/src/styles:firefox",
|
||||
],
|
||||
out = "styles",
|
||||
replace_prefixes = {
|
||||
"devtools/projects/ng-devtools/src/styles": "",
|
||||
},
|
||||
)
|
||||
|
||||
ng_project(
|
||||
name = "demo",
|
||||
srcs = ["main.ts"],
|
||||
@@ -43,6 +55,7 @@ exports_files(["index.html"])
|
||||
filegroup(
|
||||
name = "dev_app_static_files",
|
||||
srcs = [
|
||||
":browser_specific_styles",
|
||||
":demo_styles",
|
||||
":index.html",
|
||||
"//devtools/src/assets",
|
||||
|
||||
@@ -91,7 +91,7 @@ export function createMetadataKey<TWrite>(): MetadataKey<Signal<TWrite | undefin
|
||||
export function createMetadataKey<TWrite, TAcc>(reducer: MetadataReducer<TAcc, TWrite>): MetadataKey<Signal<TAcc>, TWrite, TAcc>;
|
||||
|
||||
// @public
|
||||
export function debounce<TValue, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, durationOrDebouncer: number | Debouncer<TValue, TPathKind>): void;
|
||||
export function debounce<TValue, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, config: number | 'blur' | Debouncer<TValue, TPathKind>): void;
|
||||
|
||||
// @public
|
||||
export type Debouncer<TValue, TPathKind extends PathKind = PathKind.Root> = (context: FieldContext<TValue, TPathKind>, abortSignal: AbortSignal) => Promise<void> | void;
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# Editor configuration, see https://editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.md]
|
||||
max_line_length = off
|
||||
trim_trailing_whitespace = false
|
||||
@@ -0,0 +1,46 @@
|
||||
# See https://help.github.com/ignore-files/ for more about ignoring files.
|
||||
|
||||
# compiled output
|
||||
/dist
|
||||
/tmp
|
||||
/out-tsc
|
||||
# Only exists if Bazel was run
|
||||
/bazel-out
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
|
||||
# profiling files
|
||||
chrome-profiler-events*.json
|
||||
speed-measure-plugin*.json
|
||||
|
||||
# IDEs and editors
|
||||
/.idea
|
||||
.project
|
||||
.classpath
|
||||
.c9/
|
||||
*.launch
|
||||
.settings/
|
||||
*.sublime-workspace
|
||||
|
||||
# IDE - VSCode
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
.history/*
|
||||
|
||||
# misc
|
||||
/.sass-cache
|
||||
/connect.lock
|
||||
/coverage
|
||||
/libpeerconnection.log
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
testem.log
|
||||
/typings
|
||||
|
||||
# System Files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
@@ -0,0 +1,6 @@
|
||||
load("//integration:index.bzl", "ng_integration_test")
|
||||
|
||||
ng_integration_test(
|
||||
name = "test",
|
||||
setup_chromium = True,
|
||||
)
|
||||
@@ -0,0 +1,27 @@
|
||||
# CoreAnimationsE2E
|
||||
|
||||
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.0.0-next.9.
|
||||
|
||||
## Development server
|
||||
|
||||
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
|
||||
|
||||
## Code scaffolding
|
||||
|
||||
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
|
||||
|
||||
## Build
|
||||
|
||||
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
|
||||
|
||||
## Running unit tests
|
||||
|
||||
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
||||
|
||||
## Running end-to-end tests
|
||||
|
||||
Run `ng e2e` to execute the end-to-end tests via [Protractor](https://www.protractortest.org/).
|
||||
|
||||
## Further help
|
||||
|
||||
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/main/README.md).
|
||||
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
||||
"version": 1,
|
||||
"newProjectRoot": "projects",
|
||||
"projects": {
|
||||
"core-animations-e2e": {
|
||||
"projectType": "application",
|
||||
"schematics": {},
|
||||
"root": "",
|
||||
"sourceRoot": "src",
|
||||
"prefix": "app",
|
||||
"architect": {
|
||||
"build": {
|
||||
"builder": "@angular/build:application",
|
||||
"options": {
|
||||
"outputHashing": "none",
|
||||
"outputPath": {
|
||||
"base": "dist",
|
||||
"browser": ""
|
||||
},
|
||||
"index": "src/index.html",
|
||||
"polyfills": ["zone.js"],
|
||||
"tsConfig": "tsconfig.app.json",
|
||||
"aot": true,
|
||||
"assets": ["src/favicon.ico", "src/assets"],
|
||||
"styles": ["src/styles.css"],
|
||||
"scripts": [],
|
||||
"optimization": false,
|
||||
"progress": false,
|
||||
"browser": "src/main.ts"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"optimization": true,
|
||||
"outputHashing": "none",
|
||||
"sourceMap": false,
|
||||
"namedChunks": false,
|
||||
"extractLicenses": true,
|
||||
"budgets": [
|
||||
{
|
||||
"type": "initial",
|
||||
"maximumWarning": "2mb",
|
||||
"maximumError": "5mb"
|
||||
},
|
||||
{
|
||||
"type": "anyComponentStyle",
|
||||
"maximumWarning": "6kb",
|
||||
"maximumError": "10kb"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"serve": {
|
||||
"builder": "@angular/build:dev-server",
|
||||
"options": {
|
||||
"buildTarget": "core-animations-e2e:build"
|
||||
},
|
||||
"configurations": {
|
||||
"dev": {
|
||||
"buildTarget": "core-animations-e2e:build:dev"
|
||||
},
|
||||
"production": {
|
||||
"buildTarget": "core-animations-e2e:build:production"
|
||||
},
|
||||
"ci": {},
|
||||
"ci-production": {
|
||||
"buildTarget": "core-animations-e2e:build:production"
|
||||
}
|
||||
}
|
||||
},
|
||||
"extract-i18n": {
|
||||
"builder": "@angular/build:extract-i18n",
|
||||
"options": {
|
||||
"buildTarget": "core-animations-e2e:build"
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"polyfills": ["zone.js", "zone.js/testing"],
|
||||
"tsConfig": "tsconfig.spec.json",
|
||||
"karmaConfig": "karma.conf.js",
|
||||
"assets": ["src/favicon.ico", "src/assets"],
|
||||
"styles": ["src/styles.css"],
|
||||
"scripts": [],
|
||||
"progress": false,
|
||||
"watch": false
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular/build:tslint",
|
||||
"options": {
|
||||
"tsConfig": ["tsconfig.app.json", "tsconfig.spec.json", "e2e/tsconfig.json"],
|
||||
"exclude": ["**/node_modules/**"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"cli": {
|
||||
"cache": {
|
||||
"enabled": false
|
||||
},
|
||||
"analytics": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"spec_dir": "e2e",
|
||||
"spec_files": ["src/**/*spec.ts"],
|
||||
"helpers": ["setup.js"],
|
||||
"stopSpecOnExpectationFailure": false,
|
||||
"random": false
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
const path = require('path');
|
||||
const tsNode = require('ts-node');
|
||||
|
||||
tsNode.register({
|
||||
project: path.join(__dirname, 'tsconfig.json'),
|
||||
});
|
||||
|
||||
jasmine.DEFAULT_TIMEOUT_INTERVAL = 30000;
|
||||
@@ -0,0 +1,94 @@
|
||||
import puppeteer, {Browser, Page} from 'puppeteer';
|
||||
|
||||
describe('Animations Integration', () => {
|
||||
let browser: Browser;
|
||||
let page: Page;
|
||||
|
||||
beforeAll(async () => {
|
||||
browser = await puppeteer.launch({
|
||||
headless: false, // watch it run in the browser
|
||||
executablePath: process.env.CHROME_BIN,
|
||||
args: ['--no-sandbox', '--disable-gpu'],
|
||||
});
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
if (browser) {
|
||||
await browser.close();
|
||||
}
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
page = await browser.newPage();
|
||||
// Use a retry loop to wait for ng serve to be fully ready
|
||||
for (let i = 0; i < 10; i++) {
|
||||
try {
|
||||
await page.goto('http://localhost:4208/');
|
||||
break;
|
||||
} catch (e) {
|
||||
if (i === 9) throw e;
|
||||
await new Promise((res) => setTimeout(res, 2000));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
if (page) {
|
||||
await page.close();
|
||||
}
|
||||
});
|
||||
|
||||
it('should not disappear items when rearranged', async () => {
|
||||
// Wait for the elements to be rendered
|
||||
await page.waitForSelector('.example-box');
|
||||
|
||||
const boxes = await page.$$('.example-box');
|
||||
expect(boxes.length).toBe(3);
|
||||
|
||||
// Get the bounding boxes of the first and last elements
|
||||
const firstBox = await boxes[0]!.boundingBox();
|
||||
const lastBox = await boxes[2]!.boundingBox();
|
||||
|
||||
if (!firstBox || !lastBox) {
|
||||
throw new Error('Could not find bounding boxes for elements.');
|
||||
}
|
||||
|
||||
// Perform drag and drop
|
||||
await page.mouse.move(firstBox.x + firstBox.width / 2, firstBox.y + firstBox.height / 2);
|
||||
await page.mouse.down();
|
||||
|
||||
// Smoothly drag it down to the last position
|
||||
await page.mouse.move(lastBox.x + lastBox.width / 2, lastBox.y + lastBox.height / 2 + 20, {
|
||||
steps: 50,
|
||||
});
|
||||
|
||||
// Drop
|
||||
await page.mouse.up();
|
||||
|
||||
// Wait for animations to finish (2000ms + some buffer)
|
||||
await new Promise((res) => setTimeout(res, 3000));
|
||||
|
||||
// Check that we still have 3 items
|
||||
const finalBoxes = await page.$$('.example-box');
|
||||
expect(finalBoxes.length).toBe(3);
|
||||
});
|
||||
|
||||
it('should remove element when animationend is dropped (fallback timeout)', async () => {
|
||||
// Wait for the fallback element to be rendered
|
||||
await page.waitForSelector('.fallback-el');
|
||||
|
||||
let fallbackEls = await page.$$('.fallback-el');
|
||||
expect(fallbackEls.length).toBe(1);
|
||||
|
||||
// Click the hide and intercept button
|
||||
await page.click('#hide-and-intercept');
|
||||
|
||||
// Wait for fallback to kick in (animation is 50ms, fallback is duration + 50ms)
|
||||
// We give it a small buffer to ensure the timeout fires
|
||||
await new Promise((res) => setTimeout(res, 300));
|
||||
|
||||
// Check that we have 0 items
|
||||
fallbackEls = await page.$$('.fallback-el');
|
||||
expect(fallbackEls.length).toBe(0);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,11 @@
|
||||
/* To learn more about this file see: https://angular.io/guide/typescript-configuration. */
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../out-tsc/e2e",
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"target": "ES2022",
|
||||
"types": ["jasmine", "node"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
// Karma configuration file, see link for more information
|
||||
// https://karma-runner.github.io/1.0/config/configuration-file.html
|
||||
|
||||
module.exports = function (config) {
|
||||
config.set({
|
||||
basePath: '',
|
||||
frameworks: ['jasmine', '@angular-devkit/build-angular'],
|
||||
plugins: [
|
||||
require('karma-jasmine'),
|
||||
require('karma-chrome-launcher'),
|
||||
require('karma-jasmine-html-reporter'),
|
||||
require('@angular-devkit/build-angular/plugins/karma'),
|
||||
],
|
||||
client: {
|
||||
clearContext: false, // leave Jasmine Spec Runner output visible in browser
|
||||
},
|
||||
reporters: ['progress', 'kjhtml'],
|
||||
port: 9876,
|
||||
colors: true,
|
||||
logLevel: config.LOG_INFO,
|
||||
autoWatch: true,
|
||||
customLaunchers: {
|
||||
ChromeHeadlessNoSandbox: {
|
||||
base: 'ChromeHeadless',
|
||||
// See /integration/README.md#browser-tests for more info on these args
|
||||
flags: [
|
||||
'--no-sandbox',
|
||||
'--headless',
|
||||
'--disable-gpu',
|
||||
'--disable-dev-shm-usage',
|
||||
'--hide-scrollbars',
|
||||
'--mute-audio',
|
||||
],
|
||||
},
|
||||
},
|
||||
browsers: ['ChromeHeadlessNoSandbox'],
|
||||
singleRun: false,
|
||||
restartOnFileChange: true,
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"name": "core-animations-e2e",
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": "ng serve",
|
||||
"build": "ng build --configuration production",
|
||||
"pretest": "ng version",
|
||||
"test": "concurrently \"ng serve --port 4208\" \"jasmine --config=e2e/jasmine.json\" --kill-others --success first",
|
||||
"lint": "ng lint"
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/cdk": "21.2.0",
|
||||
"@angular/common": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/compiler": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/core": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/forms": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/platform-browser": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/platform-browser-dynamic": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/router": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/ssr": "21.2.0",
|
||||
"rxjs": "^7.0.0",
|
||||
"tslib": "^2.3.0",
|
||||
"zone.js": "0.16.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "21.2.0",
|
||||
"@angular/build": "21.2.0",
|
||||
"@angular/cli": "21.2.0",
|
||||
"@angular/compiler-cli": "link:./in-existing-linked-by-bazel",
|
||||
"@types/jasmine": "^6.0.0",
|
||||
"@types/node": "^20.14.8",
|
||||
"concurrently": "9.2.1",
|
||||
"jasmine": "5.0.0",
|
||||
"jasmine-core": "6.1.0",
|
||||
"puppeteer": "24.37.5",
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "5.9.3"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
Generated
+9519
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,11 @@
|
||||
# The minimum age of a release to be considered for dependency installation.
|
||||
# The value is in minutes (1440 minutes = 1 day).
|
||||
minimumReleaseAge: 1440
|
||||
# List of packages to exclude from the minimum release age check.
|
||||
minimumReleaseAgeExclude:
|
||||
- '@angular-devkit/*'
|
||||
- '@angular/*'
|
||||
- '@ngtools/webpack'
|
||||
- '@schematics/*'
|
||||
- 'ng-packagr'
|
||||
- 'zone.js'
|
||||
@@ -0,0 +1,95 @@
|
||||
.example-list {
|
||||
width: 500px;
|
||||
max-width: 100%;
|
||||
border: solid 1px #ccc;
|
||||
min-height: 60px;
|
||||
display: block;
|
||||
background: white;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.example-box {
|
||||
padding: 20px 10px;
|
||||
border-bottom: solid 1px #ccc;
|
||||
color: rgba(0, 0, 0, 0.87);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
box-sizing: border-box;
|
||||
cursor: move;
|
||||
background: white;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.cdk-drag-preview {
|
||||
box-sizing: border-box;
|
||||
border-radius: 4px;
|
||||
box-shadow:
|
||||
0 5px 5px -3px rgba(0, 0, 0, 0.2),
|
||||
0 8px 10px 1px rgba(0, 0, 0, 0.14),
|
||||
0 3px 14px 2px rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
.cdk-drag-placeholder {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.cdk-drag-animating {
|
||||
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
|
||||
}
|
||||
|
||||
.example-box:last-child {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {
|
||||
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
|
||||
}
|
||||
|
||||
.example-custom-placeholder {
|
||||
background: #ccc;
|
||||
border: dotted 3px #999;
|
||||
min-height: 60px;
|
||||
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
|
||||
}
|
||||
|
||||
.ease-in-animation {
|
||||
animation: ease-in-animation 1500ms;
|
||||
}
|
||||
|
||||
.ease-out-animation {
|
||||
animation: ease-out-animation 1500ms;
|
||||
}
|
||||
|
||||
@keyframes ease-in-animation {
|
||||
from {
|
||||
height: 0;
|
||||
}
|
||||
to {
|
||||
height: 75px;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes ease-out-animation {
|
||||
from {
|
||||
height: 75px;
|
||||
}
|
||||
to {
|
||||
height: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.short-animation {
|
||||
animation: short-animation 50ms;
|
||||
}
|
||||
|
||||
@keyframes short-animation {
|
||||
from {
|
||||
opacity: 1;
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<div cdkDropList class="example-list" (cdkDropListDropped)="drop($event)">
|
||||
@for (movie of movies; track movie) {
|
||||
<div
|
||||
class="example-box"
|
||||
cdkDrag
|
||||
animate.enter="ease-in-animation"
|
||||
animate.leave="ease-out-animation"
|
||||
>
|
||||
<div class="example-custom-placeholder" *cdkDragPlaceholder></div>
|
||||
{{ movie }}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@if (showFallback) {
|
||||
<div class="fallback-el" animate.leave="short-animation">Fallback Element</div>
|
||||
}
|
||||
|
||||
<button id="hide-and-intercept" (click)="hideAndIntercept()">Hide and Intercept</button>
|
||||
@@ -0,0 +1,45 @@
|
||||
import {Component} from '@angular/core';
|
||||
import {
|
||||
CdkDragDrop,
|
||||
CdkDropList,
|
||||
CdkDrag,
|
||||
CdkDragPlaceholder,
|
||||
moveItemInArray,
|
||||
} from '@angular/cdk/drag-drop';
|
||||
|
||||
// We want to verify that dragging an item does not result in any items disappearing
|
||||
// when they have an enter/leave animation.
|
||||
|
||||
@Component({
|
||||
selector: 'app-root',
|
||||
imports: [CdkDropList, CdkDrag, CdkDragPlaceholder],
|
||||
templateUrl: './app.component.html',
|
||||
styleUrl: './app.component.css',
|
||||
})
|
||||
export class AppComponent {
|
||||
movies = [
|
||||
'Episode I - The Phantom Menace',
|
||||
'Episode II - Attack of the Clones',
|
||||
'Episode III - Revenge of the Sith',
|
||||
];
|
||||
|
||||
showFallback = true;
|
||||
|
||||
drop(event: CdkDragDrop<string[]>) {
|
||||
moveItemInArray(this.movies, event.previousIndex, event.currentIndex);
|
||||
}
|
||||
|
||||
hideAndIntercept() {
|
||||
const el = document.querySelector('.fallback-el');
|
||||
if (el) {
|
||||
el.addEventListener(
|
||||
'animationend',
|
||||
(e) => {
|
||||
e.stopImmediatePropagation();
|
||||
},
|
||||
true,
|
||||
);
|
||||
}
|
||||
this.showFallback = false;
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 948 B |
@@ -0,0 +1,14 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>CoreAnimationsE2E</title>
|
||||
<base href="/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico" />
|
||||
</head>
|
||||
<body>
|
||||
<app-root></app-root>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,4 @@
|
||||
import {bootstrapApplication} from '@angular/platform-browser';
|
||||
import {AppComponent} from './app/app.component';
|
||||
|
||||
bootstrapApplication(AppComponent).catch((err) => console.error(err));
|
||||
@@ -0,0 +1 @@
|
||||
/* You can add global styles to this file, and also import other style files */
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "./out-tsc/app",
|
||||
"types": []
|
||||
},
|
||||
"files": ["src/main.ts"],
|
||||
"include": ["src/**/*.d.ts"]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"compileOnSave": false,
|
||||
"compilerOptions": {
|
||||
"outDir": "./dist/out-tsc",
|
||||
"sourceMap": true,
|
||||
"esModuleInterop": true,
|
||||
"declaration": false,
|
||||
"experimentalDecorators": true,
|
||||
"module": "es2022",
|
||||
"moduleResolution": "bundler",
|
||||
"importHelpers": true,
|
||||
"target": "es2022",
|
||||
"typeRoots": ["node_modules/@types"],
|
||||
"lib": ["es2018", "dom"]
|
||||
},
|
||||
"angularCompilerOptions": {
|
||||
"strictTemplates": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "./out-tsc/spec",
|
||||
"types": ["jasmine", "node"]
|
||||
},
|
||||
"include": ["src/**/*.spec.ts", "src/**/*.d.ts"]
|
||||
}
|
||||
@@ -29,9 +29,9 @@
|
||||
"zone.js": "0.16.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "21.2.0-rc.2",
|
||||
"@angular/build": "21.2.0-rc.2",
|
||||
"@angular/cli": "21.2.0-rc.2",
|
||||
"@angular-devkit/build-angular": "21.2.0",
|
||||
"@angular/build": "21.2.0",
|
||||
"@angular/cli": "21.2.0",
|
||||
"@angular/compiler-cli": "link:./in-existing-linked-by-bazel",
|
||||
"@types/jasmine": "^6.0.0",
|
||||
"@types/jasminewd2": "^2.0.8",
|
||||
@@ -45,5 +45,5 @@
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "5.9.3"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.2"
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
|
||||
+251
-235
File diff suppressed because it is too large
Load Diff
@@ -13,19 +13,19 @@
|
||||
"@angular/core": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/platform-browser": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/router": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/ssr": "21.2.0-rc.2",
|
||||
"@angular/ssr": "21.2.0",
|
||||
"rxjs": "^7.0.0",
|
||||
"tslib": "^2.3.0",
|
||||
"zone.js": "0.16.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "21.2.0-rc.2",
|
||||
"@angular/build": "21.2.0-rc.2",
|
||||
"@angular/cli": "21.2.0-rc.2",
|
||||
"@angular-devkit/build-angular": "21.2.0",
|
||||
"@angular/build": "21.2.0",
|
||||
"@angular/cli": "21.2.0",
|
||||
"@angular/compiler-cli": "link:./in-existing-linked-by-bazel",
|
||||
"@types/node": "^20.14.8",
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "5.9.3"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.2"
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
|
||||
+254
-238
File diff suppressed because it is too large
Load Diff
@@ -18,19 +18,19 @@
|
||||
"@angular/forms": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/platform-browser": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/router": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/ssr": "21.2.0-rc.2",
|
||||
"@angular/ssr": "21.2.0",
|
||||
"rxjs": "^7.0.0",
|
||||
"tslib": "^2.3.0",
|
||||
"zone.js": "0.16.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "21.2.0-rc.2",
|
||||
"@angular/build": "21.2.0-rc.2",
|
||||
"@angular/cli": "21.2.0-rc.2",
|
||||
"@angular-devkit/build-angular": "21.2.0",
|
||||
"@angular/build": "21.2.0",
|
||||
"@angular/cli": "21.2.0",
|
||||
"@angular/compiler-cli": "link:./in-existing-linked-by-bazel",
|
||||
"@types/node": "^20.14.8",
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "5.9.3"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.2"
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
|
||||
+254
-238
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,7 @@
|
||||
"lint": "ng lint",
|
||||
"e2e": "ng build --configuration production && concurrently \"serve dist/browser -l 4210 --no-clipboard --single\" \"protractor e2e/protractor.conf.js --baseUrl=http://localhost:4210\" --kill-others --success first"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.2",
|
||||
"packageManager": "pnpm@10.30.3",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "link:./in-existing-linked-by-bazel",
|
||||
@@ -25,8 +25,8 @@
|
||||
"zone.js": "0.16.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "21.2.0-rc.2",
|
||||
"@angular/cli": "21.2.0-rc.2",
|
||||
"@angular-devkit/build-angular": "21.2.0",
|
||||
"@angular/cli": "21.2.0",
|
||||
"@angular/compiler-cli": "link:./in-existing-linked-by-bazel",
|
||||
"@types/jasmine": "^6.0.0",
|
||||
"@types/jasminewd2": "^2.0.8",
|
||||
|
||||
+252
-236
File diff suppressed because it is too large
Load Diff
@@ -23,12 +23,12 @@
|
||||
"zone.js": "0.16.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "21.2.0-rc.2",
|
||||
"@angular/build": "21.2.0-rc.2",
|
||||
"@angular/cli": "21.2.0-rc.2",
|
||||
"@angular-devkit/build-angular": "21.2.0",
|
||||
"@angular/build": "21.2.0",
|
||||
"@angular/cli": "21.2.0",
|
||||
"@angular/compiler-cli": "link:./in-existing-linked-by-bazel",
|
||||
"ts-node": "10.9.2",
|
||||
"typescript": "5.9.3"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.2"
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
|
||||
Generated
+242
-226
File diff suppressed because it is too large
Load Diff
@@ -23,12 +23,12 @@
|
||||
"zone.js": "0.16.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "21.2.0-rc.2",
|
||||
"@angular/cli": "21.2.0-rc.2",
|
||||
"@angular-devkit/build-angular": "21.2.0",
|
||||
"@angular/cli": "21.2.0",
|
||||
"@angular/compiler-cli": "link:./in-existing-linked-by-bazel",
|
||||
"@types/node": "^20.14.8",
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "5.9.3"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.2"
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
|
||||
+241
-225
File diff suppressed because it is too large
Load Diff
@@ -23,8 +23,8 @@
|
||||
"zone.js": "0.16.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "21.2.0-rc.2",
|
||||
"@angular/cli": "21.2.0-rc.2",
|
||||
"@angular-devkit/build-angular": "21.2.0",
|
||||
"@angular/cli": "21.2.0",
|
||||
"@angular/compiler-cli": "link:./in-existing-linked-by-bazel",
|
||||
"@types/jasmine": "^6.0.0",
|
||||
"@types/jasminewd2": "^2.0.8",
|
||||
@@ -39,5 +39,5 @@
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "5.9.3"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.2"
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
|
||||
+249
-233
File diff suppressed because it is too large
Load Diff
@@ -21,11 +21,11 @@
|
||||
"zone.js": "0.16.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "21.2.0-rc.2",
|
||||
"@angular/cli": "21.2.0-rc.2",
|
||||
"@angular-devkit/build-angular": "21.2.0",
|
||||
"@angular/cli": "21.2.0",
|
||||
"@angular/compiler-cli": "link:./in-existing-linked-by-bazel",
|
||||
"@types/node": "^20.14.8",
|
||||
"typescript": "5.9.3"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.2"
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
|
||||
+238
-222
File diff suppressed because it is too large
Load Diff
@@ -33,5 +33,5 @@
|
||||
"protractor": "protractor e2e/protractor.config.js"
|
||||
},
|
||||
"private": true,
|
||||
"packageManager": "pnpm@10.30.2"
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
|
||||
Generated
+18
-18
@@ -336,8 +336,8 @@ packages:
|
||||
'@types/jasminewd2@2.0.13':
|
||||
resolution: {integrity: sha512-aJ3wj8tXMpBrzQ5ghIaqMisD8C3FIrcO6sDKHqFbuqAsI7yOxj0fA7MrRCPLZHIVUjERIwsMmGn/vB0UQ9u0Hg==}
|
||||
|
||||
'@types/node@25.3.0':
|
||||
resolution: {integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==}
|
||||
'@types/node@25.3.3':
|
||||
resolution: {integrity: sha512-DpzbrH7wIcBaJibpKo9nnSQL0MTRdnWttGyE5haGwK86xgMOkFLp7vEyfQPGLOJh5wNYiJ3V9PmUMDhV9u8kkQ==}
|
||||
|
||||
'@types/q@0.0.32':
|
||||
resolution: {integrity: sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==}
|
||||
@@ -486,8 +486,8 @@ packages:
|
||||
resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
caniuse-lite@1.0.30001774:
|
||||
resolution: {integrity: sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==}
|
||||
caniuse-lite@1.0.30001775:
|
||||
resolution: {integrity: sha512-s3Qv7Lht9zbVKE9XoTyRG6wVDCKdtOFIjBGg3+Yhn6JaytuNKPIjBMTMIY1AnOH3seL5mvF+x33oGAyK3hVt3A==}
|
||||
|
||||
caseless@0.12.0:
|
||||
resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
|
||||
@@ -995,8 +995,8 @@ packages:
|
||||
resolution: {integrity: sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==}
|
||||
hasBin: true
|
||||
|
||||
minimatch@3.1.3:
|
||||
resolution: {integrity: sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==}
|
||||
minimatch@3.1.5:
|
||||
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
|
||||
|
||||
minimist@1.2.8:
|
||||
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
||||
@@ -1210,8 +1210,8 @@ packages:
|
||||
saucelabs@1.5.0:
|
||||
resolution: {integrity: sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==}
|
||||
|
||||
sax@1.4.4:
|
||||
resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==}
|
||||
sax@1.5.0:
|
||||
resolution: {integrity: sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==}
|
||||
engines: {node: '>=11.0.0'}
|
||||
|
||||
selenium-webdriver@3.6.0:
|
||||
@@ -1722,7 +1722,7 @@ snapshots:
|
||||
|
||||
'@types/cors@2.8.19':
|
||||
dependencies:
|
||||
'@types/node': 25.3.0
|
||||
'@types/node': 25.3.3
|
||||
|
||||
'@types/estree@1.0.8': {}
|
||||
|
||||
@@ -1732,7 +1732,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/jasmine': 6.0.0
|
||||
|
||||
'@types/node@25.3.0':
|
||||
'@types/node@25.3.3':
|
||||
dependencies:
|
||||
undici-types: 7.18.2
|
||||
|
||||
@@ -1894,7 +1894,7 @@ snapshots:
|
||||
browserslist@4.28.1:
|
||||
dependencies:
|
||||
baseline-browser-mapping: 2.10.0
|
||||
caniuse-lite: 1.0.30001774
|
||||
caniuse-lite: 1.0.30001775
|
||||
electron-to-chromium: 1.5.302
|
||||
node-releases: 2.0.27
|
||||
update-browserslist-db: 1.2.3(browserslist@4.28.1)
|
||||
@@ -1911,7 +1911,7 @@ snapshots:
|
||||
|
||||
camelcase@5.3.1: {}
|
||||
|
||||
caniuse-lite@1.0.30001774: {}
|
||||
caniuse-lite@1.0.30001775: {}
|
||||
|
||||
caseless@0.12.0: {}
|
||||
|
||||
@@ -2091,7 +2091,7 @@ snapshots:
|
||||
engine.io@6.6.5:
|
||||
dependencies:
|
||||
'@types/cors': 2.8.19
|
||||
'@types/node': 25.3.0
|
||||
'@types/node': 25.3.3
|
||||
accepts: 1.3.8
|
||||
base64id: 2.0.0
|
||||
cookie: 0.7.2
|
||||
@@ -2197,7 +2197,7 @@ snapshots:
|
||||
fs.realpath: 1.0.0
|
||||
inflight: 1.0.6
|
||||
inherits: 2.0.4
|
||||
minimatch: 3.1.3
|
||||
minimatch: 3.1.5
|
||||
once: 1.4.0
|
||||
path-is-absolute: 1.0.1
|
||||
|
||||
@@ -2421,7 +2421,7 @@ snapshots:
|
||||
|
||||
mime@1.4.1: {}
|
||||
|
||||
minimatch@3.1.3:
|
||||
minimatch@3.1.5:
|
||||
dependencies:
|
||||
brace-expansion: 1.1.12
|
||||
|
||||
@@ -2599,7 +2599,7 @@ snapshots:
|
||||
resp-modifier@6.0.2:
|
||||
dependencies:
|
||||
debug: 2.6.9
|
||||
minimatch: 3.1.3
|
||||
minimatch: 3.1.5
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@@ -2656,7 +2656,7 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
sax@1.4.4: {}
|
||||
sax@1.5.0: {}
|
||||
|
||||
selenium-webdriver@3.6.0:
|
||||
dependencies:
|
||||
@@ -2918,7 +2918,7 @@ snapshots:
|
||||
|
||||
xml2js@0.4.23:
|
||||
dependencies:
|
||||
sax: 1.4.4
|
||||
sax: 1.5.0
|
||||
xmlbuilder: 11.0.1
|
||||
|
||||
xmlbuilder@11.0.1: {}
|
||||
|
||||
@@ -21,5 +21,5 @@
|
||||
"typescript": "5.9.3",
|
||||
"zone.js": "0.16.0"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.2"
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
|
||||
@@ -13,5 +13,5 @@
|
||||
"scripts": {
|
||||
"test": "node ./test.mjs"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.2"
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
|
||||
@@ -27,5 +27,5 @@
|
||||
"scripts": {
|
||||
"test": "tsc"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.2"
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
|
||||
@@ -20,15 +20,15 @@
|
||||
"@angular/platform-browser": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/platform-server": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/router": "link:./in-existing-linked-by-bazel",
|
||||
"@angular/ssr": "21.2.0-rc.2",
|
||||
"@angular/ssr": "21.2.0",
|
||||
"rxjs": "^7.0.0",
|
||||
"tslib": "^2.3.0",
|
||||
"zone.js": "0.16.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "21.2.0-rc.2",
|
||||
"@angular/build": "21.2.0-rc.2",
|
||||
"@angular/cli": "21.2.0-rc.2",
|
||||
"@angular-devkit/build-angular": "21.2.0",
|
||||
"@angular/build": "21.2.0",
|
||||
"@angular/cli": "21.2.0",
|
||||
"@angular/compiler-cli": "link:./in-existing-linked-by-bazel",
|
||||
"@types/jasmine": "^6.0.0",
|
||||
"@types/node": "^20.14.8",
|
||||
@@ -41,5 +41,5 @@
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "5.9.3"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.2"
|
||||
"packageManager": "pnpm@10.30.3"
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user