Update checked-in dependencies

This commit is contained in:
github-actions[bot] 2024-11-18 17:44:20 +00:00
parent 43b75f7d9e
commit 946526174b
116 changed files with 2105 additions and 307 deletions

View file

@ -40,7 +40,7 @@ const compat = new FlatCompat({
export default [
// mimic ESLintRC-style extends
...compat.extends("standard", "example"),
...compat.extends("standard", "example", "plugin:react/recommended"),
// mimic environments
...compat.env({
@ -49,11 +49,11 @@ export default [
}),
// mimic plugins
...compat.plugins("airbnb", "react"),
...compat.plugins("jsx-a11y", "react"),
// translate an entire config
...compat.config({
plugins: ["airbnb", "react"],
plugins: ["jsx-a11y", "react"],
extends: "standard",
env: {
es2020: true,
@ -84,7 +84,7 @@ const compat = new FlatCompat({
module.exports = [
// mimic ESLintRC-style extends
...compat.extends("standard", "example"),
...compat.extends("standard", "example", "plugin:react/recommended"),
// mimic environments
...compat.env({
@ -93,11 +93,11 @@ module.exports = [
}),
// mimic plugins
...compat.plugins("airbnb", "react"),
...compat.plugins("jsx-a11y", "react"),
// translate an entire config
...compat.config({
plugins: ["airbnb", "react"],
plugins: ["jsx-a11y", "react"],
extends: "standard",
env: {
es2020: true,

View file

@ -387,6 +387,63 @@ var ajvOrig = (additionalOptions = {}) => {
return ajv;
};
/**
* @fileoverview Applies default rule options
* @author JoshuaKGoldberg
*/
/**
* Check if the variable contains an object strictly rejecting arrays
* @param {unknown} value an object
* @returns {boolean} Whether value is an object
*/
function isObjectNotArray(value) {
return typeof value === "object" && value !== null && !Array.isArray(value);
}
/**
* Deeply merges second on top of first, creating a new {} object if needed.
* @param {T} first Base, default value.
* @param {U} second User-specified value.
* @returns {T | U | (T & U)} Merged equivalent of second on top of first.
*/
function deepMergeObjects(first, second) {
if (second === void 0) {
return first;
}
if (!isObjectNotArray(first) || !isObjectNotArray(second)) {
return second;
}
const result = { ...first, ...second };
for (const key of Object.keys(second)) {
if (Object.prototype.propertyIsEnumerable.call(first, key)) {
result[key] = deepMergeObjects(first[key], second[key]);
}
}
return result;
}
/**
* Deeply merges second on top of first, creating a new [] array if needed.
* @param {T[] | undefined} first Base, default values.
* @param {U[] | undefined} second User-specified values.
* @returns {(T | U | (T & U))[]} Merged equivalent of second on top of first.
*/
function deepMergeArrays(first, second) {
if (!first || !second) {
return second || first || [];
}
return [
...first.map((value, i) => deepMergeObjects(value, second[i])),
...second.slice(first.length)
];
}
/**
* @fileoverview Defines a schema for configs.
* @author Sylvan Mably
@ -806,7 +863,10 @@ class ConfigValidator {
const validateRule = ruleValidators.get(rule);
if (validateRule) {
validateRule(localOptions);
const mergedOptions = deepMergeArrays(rule.meta?.defaultOptions, localOptions);
validateRule(mergedOptions);
if (validateRule.errors) {
throw new Error(validateRule.errors.map(
error => `\tValue ${JSON.stringify(error.data)} ${error.message}.\n`

File diff suppressed because one or more lines are too long

View file

@ -1615,6 +1615,63 @@ var ajvOrig = (additionalOptions = {}) => {
return ajv;
};
/**
* @fileoverview Applies default rule options
* @author JoshuaKGoldberg
*/
/**
* Check if the variable contains an object strictly rejecting arrays
* @param {unknown} value an object
* @returns {boolean} Whether value is an object
*/
function isObjectNotArray(value) {
return typeof value === "object" && value !== null && !Array.isArray(value);
}
/**
* Deeply merges second on top of first, creating a new {} object if needed.
* @param {T} first Base, default value.
* @param {U} second User-specified value.
* @returns {T | U | (T & U)} Merged equivalent of second on top of first.
*/
function deepMergeObjects(first, second) {
if (second === void 0) {
return first;
}
if (!isObjectNotArray(first) || !isObjectNotArray(second)) {
return second;
}
const result = { ...first, ...second };
for (const key of Object.keys(second)) {
if (Object.prototype.propertyIsEnumerable.call(first, key)) {
result[key] = deepMergeObjects(first[key], second[key]);
}
}
return result;
}
/**
* Deeply merges second on top of first, creating a new [] array if needed.
* @param {T[] | undefined} first Base, default values.
* @param {U[] | undefined} second User-specified values.
* @returns {(T | U | (T & U))[]} Merged equivalent of second on top of first.
*/
function deepMergeArrays(first, second) {
if (!first || !second) {
return second || first || [];
}
return [
...first.map((value, i) => deepMergeObjects(value, second[i])),
...second.slice(first.length)
];
}
/**
* @fileoverview Defines a schema for configs.
* @author Sylvan Mably
@ -2034,7 +2091,10 @@ class ConfigValidator {
const validateRule = ruleValidators.get(rule);
if (validateRule) {
validateRule(localOptions);
const mergedOptions = deepMergeArrays(rule.meta?.defaultOptions, localOptions);
validateRule(mergedOptions);
if (validateRule.errors) {
throw new Error(validateRule.errors.map(
error => `\tValue ${JSON.stringify(error.data)} ${error.message}.\n`

File diff suppressed because one or more lines are too long

View file

@ -19,6 +19,7 @@ import util from "util";
import * as ConfigOps from "./config-ops.js";
import { emitDeprecationWarning } from "./deprecation-warnings.js";
import ajvOrig from "./ajv.js";
import { deepMergeArrays } from "./deep-merge-arrays.js";
import configSchema from "../../conf/config-schema.js";
import BuiltInEnvironments from "../../conf/environments.js";
@ -148,7 +149,10 @@ export default class ConfigValidator {
const validateRule = ruleValidators.get(rule);
if (validateRule) {
validateRule(localOptions);
const mergedOptions = deepMergeArrays(rule.meta?.defaultOptions, localOptions);
validateRule(mergedOptions);
if (validateRule.errors) {
throw new Error(validateRule.errors.map(
error => `\tValue ${JSON.stringify(error.data)} ${error.message}.\n`

View file

@ -0,0 +1,58 @@
/**
* @fileoverview Applies default rule options
* @author JoshuaKGoldberg
*/
/**
* Check if the variable contains an object strictly rejecting arrays
* @param {unknown} value an object
* @returns {boolean} Whether value is an object
*/
function isObjectNotArray(value) {
return typeof value === "object" && value !== null && !Array.isArray(value);
}
/**
* Deeply merges second on top of first, creating a new {} object if needed.
* @param {T} first Base, default value.
* @param {U} second User-specified value.
* @returns {T | U | (T & U)} Merged equivalent of second on top of first.
*/
function deepMergeObjects(first, second) {
if (second === void 0) {
return first;
}
if (!isObjectNotArray(first) || !isObjectNotArray(second)) {
return second;
}
const result = { ...first, ...second };
for (const key of Object.keys(second)) {
if (Object.prototype.propertyIsEnumerable.call(first, key)) {
result[key] = deepMergeObjects(first[key], second[key]);
}
}
return result;
}
/**
* Deeply merges second on top of first, creating a new [] array if needed.
* @param {T[] | undefined} first Base, default values.
* @param {U[] | undefined} second User-specified values.
* @returns {(T | U | (T & U))[]} Merged equivalent of second on top of first.
*/
function deepMergeArrays(first, second) {
if (!first || !second) {
return second || first || [];
}
return [
...first.map((value, i) => deepMergeObjects(value, second[i])),
...second.slice(first.length)
];
}
export { deepMergeArrays };

View file

@ -1,6 +1,6 @@
{
"name": "@eslint/eslintrc",
"version": "3.1.0",
"version": "3.2.0",
"description": "The legacy ESLintRC config file format for ESLint",
"type": "module",
"main": "./dist/eslintrc.cjs",