build: update npm install command to use --legacy-peer-deps

This change modifies the build scripts to use --legacy-peer-deps flag when installing npm dependencies to resolve potential peer dependency conflicts during the build process. The change is applied to both bash (build.sh) and batch (build.bat) build scripts.
This commit is contained in:
Luiz Costa
2025-11-18 10:23:55 -03:00
parent 20129a1ac7
commit ac4f232e5e
787 changed files with 82341 additions and 121690 deletions
+73 -86
View File
@@ -11,107 +11,94 @@ const astUtils = require("./utils/ast-utils");
// Rule Definition
//------------------------------------------------------------------------------
/** @type {import('../types').Rule.RuleModule} */
/** @type {import('../shared/types').Rule} */
module.exports = {
meta: {
type: "problem",
dialects: ["javascript", "typescript"],
language: "javascript",
meta: {
type: "problem",
docs: {
description: "Disallow duplicate class members",
recommended: true,
url: "https://eslint.org/docs/latest/rules/no-dupe-class-members",
},
docs: {
description: "Disallow duplicate class members",
recommended: true,
url: "https://eslint.org/docs/latest/rules/no-dupe-class-members"
},
schema: [],
schema: [],
messages: {
unexpected: "Duplicate name '{{name}}'.",
},
},
messages: {
unexpected: "Duplicate name '{{name}}'."
}
},
create(context) {
let stack = [];
create(context) {
let stack = [];
/**
* Gets state of a given member name.
* @param {string} name A name of a member.
* @param {boolean} isStatic A flag which specifies that is a static member.
* @returns {Object} A state of a given member name.
* - retv.init {boolean} A flag which shows the name is declared as normal member.
* - retv.get {boolean} A flag which shows the name is declared as getter.
* - retv.set {boolean} A flag which shows the name is declared as setter.
*/
function getState(name, isStatic) {
const stateMap = stack.at(-1);
const key = `$${name}`; // to avoid "__proto__".
/**
* Gets state of a given member name.
* @param {string} name A name of a member.
* @param {boolean} isStatic A flag which specifies that is a static member.
* @returns {Object} A state of a given member name.
* - retv.init {boolean} A flag which shows the name is declared as normal member.
* - retv.get {boolean} A flag which shows the name is declared as getter.
* - retv.set {boolean} A flag which shows the name is declared as setter.
*/
function getState(name, isStatic) {
const stateMap = stack[stack.length - 1];
const key = `$${name}`; // to avoid "__proto__".
if (!stateMap[key]) {
stateMap[key] = {
nonStatic: { init: false, get: false, set: false },
static: { init: false, get: false, set: false },
};
}
if (!stateMap[key]) {
stateMap[key] = {
nonStatic: { init: false, get: false, set: false },
static: { init: false, get: false, set: false }
};
}
return stateMap[key][isStatic ? "static" : "nonStatic"];
}
return stateMap[key][isStatic ? "static" : "nonStatic"];
}
return {
// Initializes the stack of state of member declarations.
Program() {
stack = [];
},
return {
// Initializes state of member declarations for the class.
ClassBody() {
stack.push(Object.create(null));
},
// Initializes the stack of state of member declarations.
Program() {
stack = [];
},
// Disposes the state for the class.
"ClassBody:exit"() {
stack.pop();
},
// Initializes state of member declarations for the class.
ClassBody() {
stack.push(Object.create(null));
},
// Reports the node if its name has been declared already.
"MethodDefinition, PropertyDefinition"(node) {
if (
node.value &&
node.value.type === "TSEmptyBodyFunctionExpression"
) {
return;
}
// Disposes the state for the class.
"ClassBody:exit"() {
stack.pop();
},
const name = astUtils.getStaticPropertyName(node);
const kind =
node.type === "MethodDefinition" ? node.kind : "field";
// Reports the node if its name has been declared already.
"MethodDefinition, PropertyDefinition"(node) {
const name = astUtils.getStaticPropertyName(node);
const kind = node.type === "MethodDefinition" ? node.kind : "field";
if (name === null || kind === "constructor") {
return;
}
if (name === null || kind === "constructor") {
return;
}
const state = getState(name, node.static);
let isDuplicate;
const state = getState(name, node.static);
let isDuplicate = false;
if (kind === "get") {
isDuplicate = state.init || state.get;
state.get = true;
} else if (kind === "set") {
isDuplicate = state.init || state.set;
state.set = true;
} else {
isDuplicate = state.init || state.get || state.set;
state.init = true;
}
if (kind === "get") {
isDuplicate = (state.init || state.get);
state.get = true;
} else if (kind === "set") {
isDuplicate = (state.init || state.set);
state.set = true;
} else {
isDuplicate = (state.init || state.get || state.set);
state.init = true;
}
if (isDuplicate) {
context.report({
loc: node.key.loc,
messageId: "unexpected",
data: { name },
});
}
},
};
},
if (isDuplicate) {
context.report({ node, messageId: "unexpected", data: { name } });
}
}
};
}
};