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.
145 lines
4.7 KiB
JavaScript
145 lines
4.7 KiB
JavaScript
/**
|
|
* @fileoverview Rule to enforce spacing around embedded expressions of template strings
|
|
* @author Toru Nagashima
|
|
* @deprecated in ESLint v8.53.0
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Requirements
|
|
//------------------------------------------------------------------------------
|
|
|
|
const astUtils = require("./utils/ast-utils");
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Rule Definition
|
|
//------------------------------------------------------------------------------
|
|
|
|
/** @type {import('../shared/types').Rule} */
|
|
module.exports = {
|
|
meta: {
|
|
deprecated: true,
|
|
replacedBy: [],
|
|
type: "layout",
|
|
|
|
docs: {
|
|
description: "Require or disallow spacing around embedded expressions of template strings",
|
|
recommended: false,
|
|
url: "https://eslint.org/docs/latest/rules/template-curly-spacing"
|
|
},
|
|
|
|
fixable: "whitespace",
|
|
|
|
schema: [
|
|
{ enum: ["always", "never"] }
|
|
],
|
|
messages: {
|
|
expectedBefore: "Expected space(s) before '}'.",
|
|
expectedAfter: "Expected space(s) after '${'.",
|
|
unexpectedBefore: "Unexpected space(s) before '}'.",
|
|
unexpectedAfter: "Unexpected space(s) after '${'."
|
|
}
|
|
},
|
|
|
|
create(context) {
|
|
const sourceCode = context.sourceCode;
|
|
const always = context.options[0] === "always";
|
|
|
|
/**
|
|
* Checks spacing before `}` of a given token.
|
|
* @param {Token} token A token to check. This is a Template token.
|
|
* @returns {void}
|
|
*/
|
|
function checkSpacingBefore(token) {
|
|
if (!token.value.startsWith("}")) {
|
|
return; // starts with a backtick, this is the first template element in the template literal
|
|
}
|
|
|
|
const prevToken = sourceCode.getTokenBefore(token, { includeComments: true }),
|
|
hasSpace = sourceCode.isSpaceBetween(prevToken, token);
|
|
|
|
if (!astUtils.isTokenOnSameLine(prevToken, token)) {
|
|
return;
|
|
}
|
|
|
|
if (always && !hasSpace) {
|
|
context.report({
|
|
loc: {
|
|
start: token.loc.start,
|
|
end: {
|
|
line: token.loc.start.line,
|
|
column: token.loc.start.column + 1
|
|
}
|
|
},
|
|
messageId: "expectedBefore",
|
|
fix: fixer => fixer.insertTextBefore(token, " ")
|
|
});
|
|
}
|
|
|
|
if (!always && hasSpace) {
|
|
context.report({
|
|
loc: {
|
|
start: prevToken.loc.end,
|
|
end: token.loc.start
|
|
},
|
|
messageId: "unexpectedBefore",
|
|
fix: fixer => fixer.removeRange([prevToken.range[1], token.range[0]])
|
|
});
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Checks spacing after `${` of a given token.
|
|
* @param {Token} token A token to check. This is a Template token.
|
|
* @returns {void}
|
|
*/
|
|
function checkSpacingAfter(token) {
|
|
if (!token.value.endsWith("${")) {
|
|
return; // ends with a backtick, this is the last template element in the template literal
|
|
}
|
|
|
|
const nextToken = sourceCode.getTokenAfter(token, { includeComments: true }),
|
|
hasSpace = sourceCode.isSpaceBetween(token, nextToken);
|
|
|
|
if (!astUtils.isTokenOnSameLine(token, nextToken)) {
|
|
return;
|
|
}
|
|
|
|
if (always && !hasSpace) {
|
|
context.report({
|
|
loc: {
|
|
start: {
|
|
line: token.loc.end.line,
|
|
column: token.loc.end.column - 2
|
|
},
|
|
end: token.loc.end
|
|
},
|
|
messageId: "expectedAfter",
|
|
fix: fixer => fixer.insertTextAfter(token, " ")
|
|
});
|
|
}
|
|
|
|
if (!always && hasSpace) {
|
|
context.report({
|
|
loc: {
|
|
start: token.loc.end,
|
|
end: nextToken.loc.start
|
|
},
|
|
messageId: "unexpectedAfter",
|
|
fix: fixer => fixer.removeRange([token.range[1], nextToken.range[0]])
|
|
});
|
|
}
|
|
}
|
|
|
|
return {
|
|
TemplateElement(node) {
|
|
const token = sourceCode.getFirstToken(node);
|
|
|
|
checkSpacingBefore(token);
|
|
checkSpacingAfter(token);
|
|
}
|
|
};
|
|
}
|
|
};
|