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.
131 lines
4.3 KiB
JavaScript
131 lines
4.3 KiB
JavaScript
/**
|
|
* @fileoverview Rule to check the spacing around the * in yield* expressions.
|
|
* @author Bryan Smith
|
|
* @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: "Require or disallow spacing around the `*` in `yield*` expressions",
|
|
recommended: false,
|
|
url: "https://eslint.org/docs/latest/rules/yield-star-spacing"
|
|
},
|
|
|
|
fixable: "whitespace",
|
|
|
|
schema: [
|
|
{
|
|
oneOf: [
|
|
{
|
|
enum: ["before", "after", "both", "neither"]
|
|
},
|
|
{
|
|
type: "object",
|
|
properties: {
|
|
before: { type: "boolean" },
|
|
after: { type: "boolean" }
|
|
},
|
|
additionalProperties: false
|
|
}
|
|
]
|
|
}
|
|
],
|
|
messages: {
|
|
missingBefore: "Missing space before *.",
|
|
missingAfter: "Missing space after *.",
|
|
unexpectedBefore: "Unexpected space before *.",
|
|
unexpectedAfter: "Unexpected space after *."
|
|
}
|
|
},
|
|
|
|
create(context) {
|
|
const sourceCode = context.sourceCode;
|
|
|
|
const mode = (function(option) {
|
|
if (!option || typeof option === "string") {
|
|
return {
|
|
before: { before: true, after: false },
|
|
after: { before: false, after: true },
|
|
both: { before: true, after: true },
|
|
neither: { before: false, after: false }
|
|
}[option || "after"];
|
|
}
|
|
return option;
|
|
}(context.options[0]));
|
|
|
|
/**
|
|
* Checks the spacing between two tokens before or after the star token.
|
|
* @param {string} side Either "before" or "after".
|
|
* @param {Token} leftToken `function` keyword token if side is "before", or
|
|
* star token if side is "after".
|
|
* @param {Token} rightToken Star token if side is "before", or identifier
|
|
* token if side is "after".
|
|
* @returns {void}
|
|
*/
|
|
function checkSpacing(side, leftToken, rightToken) {
|
|
if (sourceCode.isSpaceBetweenTokens(leftToken, rightToken) !== mode[side]) {
|
|
const after = leftToken.value === "*";
|
|
const spaceRequired = mode[side];
|
|
const node = after ? leftToken : rightToken;
|
|
let messageId = "";
|
|
|
|
if (spaceRequired) {
|
|
messageId = side === "before" ? "missingBefore" : "missingAfter";
|
|
} else {
|
|
messageId = side === "before" ? "unexpectedBefore" : "unexpectedAfter";
|
|
}
|
|
|
|
context.report({
|
|
node,
|
|
messageId,
|
|
fix(fixer) {
|
|
if (spaceRequired) {
|
|
if (after) {
|
|
return fixer.insertTextAfter(node, " ");
|
|
}
|
|
return fixer.insertTextBefore(node, " ");
|
|
}
|
|
return fixer.removeRange([leftToken.range[1], rightToken.range[0]]);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Enforces the spacing around the star if node is a yield* expression.
|
|
* @param {ASTNode} node A yield expression node.
|
|
* @returns {void}
|
|
*/
|
|
function checkExpression(node) {
|
|
if (!node.delegate) {
|
|
return;
|
|
}
|
|
|
|
const tokens = sourceCode.getFirstTokens(node, 3);
|
|
const yieldToken = tokens[0];
|
|
const starToken = tokens[1];
|
|
const nextToken = tokens[2];
|
|
|
|
checkSpacing("before", yieldToken, starToken);
|
|
checkSpacing("after", starToken, nextToken);
|
|
}
|
|
|
|
return {
|
|
YieldExpression: checkExpression
|
|
};
|
|
|
|
}
|
|
};
|