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.
124 lines
4.0 KiB
JavaScript
124 lines
4.0 KiB
JavaScript
/**
|
|
* @fileoverview Enforce spacing between rest and spread operators and their expressions.
|
|
* @author Kai Cataldo
|
|
* @deprecated in ESLint v8.53.0
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Rule Definition
|
|
//------------------------------------------------------------------------------
|
|
|
|
/** @type {import('../shared/types').Rule} */
|
|
module.exports = {
|
|
meta: {
|
|
deprecated: true,
|
|
replacedBy: [],
|
|
type: "layout",
|
|
|
|
docs: {
|
|
description: "Enforce spacing between rest and spread operators and their expressions",
|
|
recommended: false,
|
|
url: "https://eslint.org/docs/latest/rules/rest-spread-spacing"
|
|
},
|
|
|
|
fixable: "whitespace",
|
|
|
|
schema: [
|
|
{
|
|
enum: ["always", "never"]
|
|
}
|
|
],
|
|
|
|
messages: {
|
|
unexpectedWhitespace: "Unexpected whitespace after {{type}} operator.",
|
|
expectedWhitespace: "Expected whitespace after {{type}} operator."
|
|
}
|
|
},
|
|
|
|
create(context) {
|
|
const sourceCode = context.sourceCode,
|
|
alwaysSpace = context.options[0] === "always";
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Helpers
|
|
//--------------------------------------------------------------------------
|
|
|
|
/**
|
|
* Checks whitespace between rest/spread operators and their expressions
|
|
* @param {ASTNode} node The node to check
|
|
* @returns {void}
|
|
*/
|
|
function checkWhiteSpace(node) {
|
|
const operator = sourceCode.getFirstToken(node),
|
|
nextToken = sourceCode.getTokenAfter(operator),
|
|
hasWhitespace = sourceCode.isSpaceBetweenTokens(operator, nextToken);
|
|
let type;
|
|
|
|
switch (node.type) {
|
|
case "SpreadElement":
|
|
type = "spread";
|
|
if (node.parent.type === "ObjectExpression") {
|
|
type += " property";
|
|
}
|
|
break;
|
|
case "RestElement":
|
|
type = "rest";
|
|
if (node.parent.type === "ObjectPattern") {
|
|
type += " property";
|
|
}
|
|
break;
|
|
case "ExperimentalSpreadProperty":
|
|
type = "spread property";
|
|
break;
|
|
case "ExperimentalRestProperty":
|
|
type = "rest property";
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
|
|
if (alwaysSpace && !hasWhitespace) {
|
|
context.report({
|
|
node,
|
|
loc: operator.loc,
|
|
messageId: "expectedWhitespace",
|
|
data: {
|
|
type
|
|
},
|
|
fix(fixer) {
|
|
return fixer.replaceTextRange([operator.range[1], nextToken.range[0]], " ");
|
|
}
|
|
});
|
|
} else if (!alwaysSpace && hasWhitespace) {
|
|
context.report({
|
|
node,
|
|
loc: {
|
|
start: operator.loc.end,
|
|
end: nextToken.loc.start
|
|
},
|
|
messageId: "unexpectedWhitespace",
|
|
data: {
|
|
type
|
|
},
|
|
fix(fixer) {
|
|
return fixer.removeRange([operator.range[1], nextToken.range[0]]);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Public
|
|
//--------------------------------------------------------------------------
|
|
|
|
return {
|
|
SpreadElement: checkWhiteSpace,
|
|
RestElement: checkWhiteSpace,
|
|
ExperimentalSpreadProperty: checkWhiteSpace,
|
|
ExperimentalRestProperty: checkWhiteSpace
|
|
};
|
|
}
|
|
};
|