1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-21 09:38:01 +02:00

Tools: Apply rule github/array-foreach

This commit is contained in:
Laurent Cozic 2023-06-30 09:39:21 +01:00
parent c6a15b3186
commit 0c4ba592f6
32 changed files with 473 additions and 4 deletions

View File

@ -97,6 +97,7 @@ module.exports = {
'promise/prefer-await-to-then': 'error', 'promise/prefer-await-to-then': 'error',
'no-unneeded-ternary': 'error', 'no-unneeded-ternary': 'error',
'github/array-foreach': ['error'],
// ------------------------------- // -------------------------------
// Formatting // Formatting
@ -161,6 +162,7 @@ module.exports = {
'import', 'import',
'promise', 'promise',
'jest', 'jest',
'github',
], ],
'overrides': [ 'overrides': [
{ {
@ -181,6 +183,7 @@ module.exports = {
'project': './tsconfig.eslint.json', 'project': './tsconfig.eslint.json',
}, },
'rules': { 'rules': {
'github/array-foreach': ['error'],
'@typescript-eslint/explicit-member-accessibility': ['error'], '@typescript-eslint/explicit-member-accessibility': ['error'],
'@typescript-eslint/type-annotation-spacing': ['error', { 'before': false, 'after': true }], '@typescript-eslint/type-annotation-spacing': ['error', { 'before': false, 'after': true }],
'@typescript-eslint/array-type': 'error', '@typescript-eslint/array-type': 'error',

View File

@ -88,6 +88,7 @@
}, },
"dependencies": { "dependencies": {
"@types/fs-extra": "11.0.1", "@types/fs-extra": "11.0.1",
"eslint-plugin-github": "4.8.0",
"http-server": "14.1.1", "http-server": "14.1.1",
"node-gyp": "9.3.1", "node-gyp": "9.3.1",
"nodemon": "2.0.22" "nodemon": "2.0.22"

View File

@ -43,6 +43,7 @@ class LinkSelector {
for (let i = 0; i < lines.length; i++) { for (let i = 0; i < lines.length; i++) {
const r = (lines[i] as any).matchAll(this.linkRegex_); const r = (lines[i] as any).matchAll(this.linkRegex_);
const matches = [...r]; const matches = [...r];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
matches.forEach((_e, n) => { matches.forEach((_e, n) => {
newLinkStore.push( newLinkStore.push(
{ {

View File

@ -146,6 +146,7 @@ class Application extends BaseApplication {
commands(uiType = null) { commands(uiType = null) {
if (!this.allCommandsLoaded_) { if (!this.allCommandsLoaded_) {
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
fs.readdirSync(__dirname).forEach(path => { fs.readdirSync(__dirname).forEach(path => {
if (path.indexOf('command-') !== 0) return; if (path.indexOf('command-') !== 0) return;
if (path.endsWith('.test.js')) return; if (path.endsWith('.test.js')) return;

View File

@ -49,6 +49,7 @@ function renderCommand(cmd) {
function getCommands() { function getCommands() {
const output = []; const output = [];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
fs.readdirSync(__dirname).forEach(path => { fs.readdirSync(__dirname).forEach(path => {
if (path.indexOf('command-') !== 0) return; if (path.indexOf('command-') !== 0) return;
const ext = fileExtension(path); const ext = fileExtension(path);

View File

@ -44,6 +44,7 @@ class Command extends BaseCommand {
return reject(new Error(`Invalid JSON passed to config --import: \n${error.message}.`)); return reject(new Error(`Invalid JSON passed to config --import: \n${error.message}.`));
} }
if (settingsObj) { if (settingsObj) {
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
Object.entries(settingsObj) Object.entries(settingsObj)
.forEach(([key, value]) => { .forEach(([key, value]) => {
Setting.setValue(key, value); Setting.setValue(key, value);

View File

@ -179,6 +179,7 @@ class Command extends BaseCommand {
const dirPaths = function(targetPath: string) { const dirPaths = function(targetPath: string) {
const paths: string[] = []; const paths: string[] = [];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
fs.readdirSync(targetPath).forEach((path: string) => { fs.readdirSync(targetPath).forEach((path: string) => {
paths.push(path); paths.push(path);
}); });

View File

@ -30,6 +30,7 @@ const dotenvFiles = [
// that have already been set. Variable expansion is supported in .env files. // that have already been set. Variable expansion is supported in .env files.
// https://github.com/motdotla/dotenv // https://github.com/motdotla/dotenv
// https://github.com/motdotla/dotenv-expand // https://github.com/motdotla/dotenv-expand
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
dotenvFiles.forEach(dotenvFile => { dotenvFiles.forEach(dotenvFile => {
if (fs.existsSync(dotenvFile)) { if (fs.existsSync(dotenvFile)) {
require('dotenv-expand')( require('dotenv-expand')(

View File

@ -130,6 +130,7 @@ checkBrowsers(paths.appPath, isInteractive)
openBrowser(urls.localUrlForBrowser); openBrowser(urls.localUrlForBrowser);
}); });
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
['SIGINT', 'SIGTERM'].forEach((sig) => { ['SIGINT', 'SIGTERM'].forEach((sig) => {
process.on(sig, () => { process.on(sig, () => {
devServer.close(); devServer.close();

View File

@ -146,6 +146,7 @@ export default function(props: Props) {
const pluginIds = await repoApi().canBeUpdatedPlugins(pluginItems.map(p => p.manifest), pluginService.appVersion); const pluginIds = await repoApi().canBeUpdatedPlugins(pluginItems.map(p => p.manifest), pluginService.appVersion);
if (cancelled) return; if (cancelled) return;
const conv: Record<string, boolean> = {}; const conv: Record<string, boolean> = {};
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
pluginIds.forEach(id => conv[id] = true); pluginIds.forEach(id => conv[id] = true);
setCanBeUpdatedPluginIds(conv); setCanBeUpdatedPluginIds(conv);
} }

View File

@ -28,6 +28,7 @@ export const runtime = (): CommandRuntime => {
const languages = state.settings['spellChecker.languages']; const languages = state.settings['spellChecker.languages'];
if (languages.length === 0) return null; if (languages.length === 0) return null;
const s: string[] = []; const s: string[] = [];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
languages.forEach((language: string) => { languages.forEach((language: string) => {
s.push(language.split('-')[0]); s.push(language.split('-')[0]);
}); });

View File

@ -863,6 +863,7 @@ function CodeMirror(props: NoteBodyEditorProps, ref: any) {
})); }));
} }
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
menuUtils.pluginContextMenuItems(props.plugins, MenuItemLocation.EditorContextMenu).forEach((item: any) => { menuUtils.pluginContextMenuItems(props.plugins, MenuItemLocation.EditorContextMenu).forEach((item: any) => {
menu.append(new MenuItem(item)); menu.append(new MenuItem(item));
}); });

View File

@ -89,6 +89,7 @@ export default function useKeymap(CodeMirror: any) {
function registerKeymap() { function registerKeymap() {
const keymapItems = KeymapService.instance().getKeymapItems(); const keymapItems = KeymapService.instance().getKeymapItems();
// Register all commands with the codemirror editor // Register all commands with the codemirror editor
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
keymapItems.forEach((key) => { registerJoplinCommand(key); }); keymapItems.forEach((key) => { registerJoplinCommand(key); });
} }

View File

@ -8,6 +8,7 @@ const outputDir = `${rootDir}/pluginAssets`;
const walk = function(dir) { const walk = function(dir) {
let results = []; let results = [];
const list = fs.readdirSync(dir); const list = fs.readdirSync(dir);
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
list.forEach((file) => { list.forEach((file) => {
file = `${dir}/${file}`; file = `${dir}/${file}`;
const stat = fs.statSync(file); const stat = fs.statSync(file);

View File

@ -85,6 +85,7 @@ function currentGitInfo() {
function validateCategories(categories) { function validateCategories(categories) {
if (!categories) return null; if (!categories) return null;
if ((categories.length !== new Set(categories).size)) throw new Error('Repeated categories are not allowed'); if ((categories.length !== new Set(categories).size)) throw new Error('Repeated categories are not allowed');
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
categories.forEach(category => { categories.forEach(category => {
if (!allPossibleCategories.map(category => { return category.name; }).includes(category)) throw new Error(`${category} is not a valid category. Please make sure that the category name is lowercase. Valid categories are: \n${allPossibleCategories.map(category => { return category.name; })}\n`); if (!allPossibleCategories.map(category => { return category.name; }).includes(category)) throw new Error(`${category} is not a valid category. Please make sure that the category name is lowercase. Valid categories are: \n${allPossibleCategories.map(category => { return category.name; })}\n`);
}); });
@ -92,6 +93,7 @@ function validateCategories(categories) {
function validateScreenshots(screenshots) { function validateScreenshots(screenshots) {
if (!screenshots) return null; if (!screenshots) return null;
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
screenshots.forEach(screenshot => { screenshots.forEach(screenshot => {
if (!screenshot.src) throw new Error('You must specify a src for each screenshot'); if (!screenshot.src) throw new Error('You must specify a src for each screenshot');

View File

@ -72,6 +72,7 @@ describe('ArrayUtils', () => {
], ],
]; ];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
testCases.forEach((t, i) => { testCases.forEach((t, i) => {
const intervals = t[0]; const intervals = t[0];
const expected = t[1]; const expected = t[1];

View File

@ -46,8 +46,10 @@ describe('StringUtils', () => {
['Joplin is a free, open source\n note taking and *to-do* application', [[0, 6], [12, 17], [23, 29], [48, 54]]], ['Joplin is a free, open source\n note taking and *to-do* application', [[0, 6], [12, 17], [23, 29], [48, 54]]],
]; ];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
testCases.forEach((t, i) => { testCases.forEach((t, i) => {
const str = t[0]; const str = t[0];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
t[1].forEach((pair, j) => { t[1].forEach((pair, j) => {
const begin = pair[0]; const begin = pair[0];
const expected = pair[1]; const expected = pair[1];
@ -75,6 +77,7 @@ describe('StringUtils', () => {
[`command1 arg\\1 'arg2${eol}continue\\'continue' arg3`]], [`command1 arg\\1 'arg2${eol}continue\\'continue' arg3`]],
]; ];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
testCases.forEach((t) => { testCases.forEach((t) => {
expect(splitCommandBatch(t[0])).toEqual(t[1]); expect(splitCommandBatch(t[0])).toEqual(t[1]);
}); });

View File

@ -138,6 +138,7 @@ describe('models/Folder', () => {
const folders = await Folder.all({ includeConflictFolder: false }); const folders = await Folder.all({ includeConflictFolder: false });
await Folder.addNoteCounts(folders); await Folder.addNoteCounts(folders);
const foldersById: any = {}; const foldersById: any = {};
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
folders.forEach((f: FolderEntity) => { foldersById[f.id] = f; }); folders.forEach((f: FolderEntity) => { foldersById[f.id] = f; });
expect(folders.length).toBe(4); expect(folders.length).toBe(4);
@ -151,6 +152,7 @@ describe('models/Folder', () => {
const folders = await Folder.all({ includeConflictFolder: true }); const folders = await Folder.all({ includeConflictFolder: true });
await Folder.addNoteCounts(folders); await Folder.addNoteCounts(folders);
const foldersById: any = {}; const foldersById: any = {};
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
folders.forEach((f: FolderEntity) => { foldersById[f.id] = f; }); folders.forEach((f: FolderEntity) => { foldersById[f.id] = f; });
expect(folders.length).toBe(5); expect(folders.length).toBe(5);
@ -176,6 +178,7 @@ describe('models/Folder', () => {
await Folder.addNoteCounts(folders, false); await Folder.addNoteCounts(folders, false);
const foldersById: any = {}; const foldersById: any = {};
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
folders.forEach((f: FolderEntity) => { foldersById[f.id] = f; }); folders.forEach((f: FolderEntity) => { foldersById[f.id] = f; });
expect(folders.length).toBe(4); expect(folders.length).toBe(4);

View File

@ -150,6 +150,7 @@ export default class Folder extends BaseItem {
`; `;
const noteCounts = await this.db().selectAll(sql); const noteCounts = await this.db().selectAll(sql);
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
noteCounts.forEach((noteCount: any) => { noteCounts.forEach((noteCount: any) => {
let parentId = noteCount.folder_id; let parentId = noteCount.folder_id;
do { do {

View File

@ -1752,6 +1752,7 @@ class Setting extends BaseModel {
public static applyUserSettingMigration() { public static applyUserSettingMigration() {
// Function to translate existing user settings to new setting. // Function to translate existing user settings to new setting.
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
userSettingMigration.forEach(userMigration => { userSettingMigration.forEach(userMigration => {
if (!this.isSet(userMigration.newName) && this.isSet(userMigration.oldName)) { if (!this.isSet(userMigration.newName) && this.isSet(userMigration.oldName)) {
this.setValue(userMigration.newName, userMigration.transformValue(this.value(userMigration.oldName))); this.setValue(userMigration.newName, userMigration.transformValue(this.value(userMigration.oldName)));

View File

@ -30,8 +30,10 @@ describe('services_KeymapService', () => {
], ],
}; };
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
Object.entries(testCases).forEach(([platform, accelerators]) => { Object.entries(testCases).forEach(([platform, accelerators]) => {
keymapService.initialize([], platform); keymapService.initialize([], platform);
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
accelerators.forEach(accelerator => { accelerators.forEach(accelerator => {
expect(() => keymapService.validateAccelerator(accelerator)).not.toThrow(); expect(() => keymapService.validateAccelerator(accelerator)).not.toThrow();
}); });
@ -68,8 +70,10 @@ describe('services_KeymapService', () => {
], ],
}; };
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
Object.entries(testCases).forEach(([platform, accelerators]) => { Object.entries(testCases).forEach(([platform, accelerators]) => {
keymapService.initialize([], platform); keymapService.initialize([], platform);
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
accelerators.forEach(accelerator => { accelerators.forEach(accelerator => {
expect(() => keymapService.validateAccelerator(accelerator)).toThrow(); expect(() => keymapService.validateAccelerator(accelerator)).toThrow();
}); });
@ -142,6 +146,7 @@ describe('services_KeymapService', () => {
{ command: 'focusElementNoteBody', accelerator: 'Ctrl+Option+Shift+Cmd+B' }, { command: 'focusElementNoteBody', accelerator: 'Ctrl+Option+Shift+Cmd+B' },
]; ];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
testCases_Darwin.forEach(({ command, accelerator }) => { testCases_Darwin.forEach(({ command, accelerator }) => {
keymapService.setAccelerator(command, accelerator); keymapService.setAccelerator(command, accelerator);
expect(keymapService.getAccelerator(command)).toEqual(accelerator); expect(keymapService.getAccelerator(command)).toEqual(accelerator);
@ -159,6 +164,7 @@ describe('services_KeymapService', () => {
{ command: 'focusElementNoteBody', accelerator: 'Ctrl+Alt+Shift+B' }, { command: 'focusElementNoteBody', accelerator: 'Ctrl+Alt+Shift+B' },
]; ];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
testCases_Linux.forEach(({ command, accelerator }) => { testCases_Linux.forEach(({ command, accelerator }) => {
keymapService.setAccelerator(command, accelerator); keymapService.setAccelerator(command, accelerator);
expect(keymapService.getAccelerator(command)).toEqual(accelerator); expect(keymapService.getAccelerator(command)).toEqual(accelerator);
@ -181,6 +187,7 @@ describe('services_KeymapService', () => {
{ command: 'focusElementNoteBody', accelerator: 'Ctrl+Alt+Shift+B' }, { command: 'focusElementNoteBody', accelerator: 'Ctrl+Alt+Shift+B' },
]; ];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
testCases.forEach(({ command, accelerator }) => { testCases.forEach(({ command, accelerator }) => {
// Remember the real default Accelerator value // Remember the real default Accelerator value
const defaultAccelerator = keymapService.getAccelerator(command); const defaultAccelerator = keymapService.getAccelerator(command);
@ -212,6 +219,7 @@ describe('services_KeymapService', () => {
]; ];
expect(() => keymapService.overrideKeymap(customKeymapItems_Darwin)).not.toThrow(); expect(() => keymapService.overrideKeymap(customKeymapItems_Darwin)).not.toThrow();
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
customKeymapItems_Darwin.forEach(({ command, accelerator }) => { customKeymapItems_Darwin.forEach(({ command, accelerator }) => {
// Also check if keymap is updated or not // Also check if keymap is updated or not
expect(keymapService.getAccelerator(command)).toEqual(accelerator); expect(keymapService.getAccelerator(command)).toEqual(accelerator);
@ -233,6 +241,7 @@ describe('services_KeymapService', () => {
]; ];
expect(() => keymapService.overrideKeymap(customKeymapItems_Win32)).not.toThrow(); expect(() => keymapService.overrideKeymap(customKeymapItems_Win32)).not.toThrow();
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
customKeymapItems_Win32.forEach(({ command, accelerator }) => { customKeymapItems_Win32.forEach(({ command, accelerator }) => {
// Also check if keymap is updated or not // Also check if keymap is updated or not
expect(keymapService.getAccelerator(command)).toEqual(accelerator); expect(keymapService.getAccelerator(command)).toEqual(accelerator);

View File

@ -262,6 +262,7 @@ export default class KeymapService extends BaseService {
public getCustomKeymapItems() { public getCustomKeymapItems() {
const customkeymapItems: KeymapItem[] = []; const customkeymapItems: KeymapItem[] = [];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
this.defaultKeymapItems.forEach(({ command, accelerator }) => { this.defaultKeymapItems.forEach(({ command, accelerator }) => {
const currentAccelerator = this.getAccelerator(command); const currentAccelerator = this.getAccelerator(command);

View File

@ -480,6 +480,7 @@ describe('services_rest_Api', () => {
result: [], result: [],
}, },
]; ];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
tests.forEach((test) => { tests.forEach((test) => {
const urls = extractMediaUrls(test.language, test.body); const urls = extractMediaUrls(test.language, test.body);
expect(urls).toEqual(test.result); expect(urls).toEqual(test.result);

View File

@ -365,6 +365,7 @@ export default class SearchEngine {
const row = rows[i]; const row = rows[i];
row.weight = 0; row.weight = 0;
for (let j = 0; j < numPhrases; j++) { for (let j = 0; j < numPhrases; j++) {
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
columns.forEach(column => { columns.forEach(column => {
const rowsWithHits = docsWithHits(X[i], column, j); const rowsWithHits = docsWithHits(X[i], column, j);
const frequencyHits = hitsThisRow(X[i], column, j); const frequencyHits = hitsThisRow(X[i], column, j);

View File

@ -90,6 +90,7 @@ const parseQuery = (query: string): Term[] => {
// Trim quotes since we don't support phrase query here // Trim quotes since we don't support phrase query here
// eg. Split title:"hello world" to title:hello title:world // eg. Split title:"hello world" to title:hello title:world
const values = trimQuotes(value).split(/[\s-_]+/); const values = trimQuotes(value).split(/[\s-_]+/);
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
values.forEach(value => { values.forEach(value => {
result.push({ name, value, negated, wildcard: value.indexOf('*') >= 0 }); result.push({ name, value, negated, wildcard: value.indexOf('*') >= 0 });
}); });

View File

@ -237,6 +237,7 @@ const genericFilter = (terms: Term[], conditions: string[], params: string[], re
} }
}; };
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
terms.forEach(term => { terms.forEach(term => {
conditions.push(` conditions.push(`
${relation} ( ${term.name === 'due' ? 'is_todo IS 1 AND ' : ''} ROWID IN ( ${relation} ( ${term.name === 'due' ? 'is_todo IS 1 AND ' : ''} ROWID IN (
@ -263,6 +264,7 @@ const biConditionalFilter = (terms: Term[], conditions: string[], relation: Rela
const values = terms.map(x => x.value); const values = terms.map(x => x.value);
// AND and OR are handled differently because FTS restricts how OR can be used. // AND and OR are handled differently because FTS restricts how OR can be used.
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
values.forEach(value => { values.forEach(value => {
if (relation === 'AND') { if (relation === 'AND') {
conditions.push(` conditions.push(`
@ -369,6 +371,7 @@ const textFilter = (terms: Term[], conditions: string[], params: string[], relat
params.push(excludedTerms.map(x => x.value).join(' OR ')); params.push(excludedTerms.map(x => x.value).join(' OR '));
} }
if (relation === 'OR') { if (relation === 'OR') {
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
excludedTerms.forEach(term => { excludedTerms.forEach(term => {
conditions.push(` conditions.push(`
OR ROWID IN ( OR ROWID IN (
@ -386,6 +389,7 @@ const textFilter = (terms: Term[], conditions: string[], params: string[], relat
}); });
} }
} else { } else {
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
excludedTerms.forEach(term => { excludedTerms.forEach(term => {
createLikeMatch(term, true); createLikeMatch(term, true);
}); });
@ -405,6 +409,7 @@ const textFilter = (terms: Term[], conditions: string[], params: string[], relat
const matchQuery = (relation === 'OR') ? termsToMatch.join(' OR ') : termsToMatch.join(' '); const matchQuery = (relation === 'OR') ? termsToMatch.join(' OR ') : termsToMatch.join(' ');
params.push(matchQuery); params.push(matchQuery);
} else { } else {
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
includedTerms.forEach(term => { includedTerms.forEach(term => {
createLikeMatch(term, false); createLikeMatch(term, false);
}); });

View File

@ -45,6 +45,7 @@ export default class SpellCheckerService {
} }
if (languages.length > languagesHistorySizeMax) { if (languages.length > languagesHistorySizeMax) {
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
this.latestSelectedLanguages_.forEach(l => { this.latestSelectedLanguages_.forEach(l => {
if (!this.languages.includes(l) && languages.length > languagesHistorySizeMax) languages.splice(languages.indexOf(l), 1); if (!this.languages.includes(l) && languages.length > languagesHistorySizeMax) languages.splice(languages.indexOf(l), 1);
}); });

View File

@ -12,6 +12,7 @@ const useIsVisible = (elementRef: MutableRefObject<HTMLElement>, rootRef: Mutabl
if (elementRef.current) { if (elementRef.current) {
observer = new IntersectionObserver((entries, _observer) => { observer = new IntersectionObserver((entries, _observer) => {
let visible = false; let visible = false;
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
entries.forEach((entry) => { entries.forEach((entry) => {
if (entry.isIntersecting) { if (entry.isIntersecting) {
visible = true; visible = true;

View File

@ -64,6 +64,7 @@ export default class MigrateCommand extends BaseCommand {
}, },
list: async () => { list: async () => {
const s = (await migrateList(runContext.db)) as string; const s = (await migrateList(runContext.db)) as string;
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
s.split('\n').forEach(l => logger.info(l)); s.split('\n').forEach(l => logger.info(l));
}, },
unlock: async () => { unlock: async () => {

View File

@ -198,6 +198,7 @@ function buildIndex(locales, stats) {
function availableLocales(defaultLocale) { function availableLocales(defaultLocale) {
const output = [defaultLocale]; const output = [defaultLocale];
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
fs.readdirSync(localesDir).forEach((path) => { fs.readdirSync(localesDir).forEach((path) => {
if (fileExtension(path) !== 'po') return; if (fileExtension(path) !== 'po') return;
const locale = filename(path); const locale = filename(path);

View File

@ -178,6 +178,7 @@ describe('bundleDefaultPlugins', () => {
expect(mockFetch).toHaveBeenCalledTimes(testCase.numberOfCalls); expect(mockFetch).toHaveBeenCalledTimes(testCase.numberOfCalls);
// eslint-disable-next-line github/array-foreach -- Old code before rule was applied
testCase.calledWith.forEach((callValue, index) => expect(mockFetch).toHaveBeenNthCalledWith(index + 1, callValue)); testCase.calledWith.forEach((callValue, index) => expect(mockFetch).toHaveBeenNthCalledWith(index + 1, callValue));
jest.clearAllMocks(); jest.clearAllMocks();

427
yarn.lock
View File

@ -2722,7 +2722,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": "@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
version: 7.22.5 version: 7.22.5
resolution: "@babel/runtime@npm:7.22.5" resolution: "@babel/runtime@npm:7.22.5"
dependencies: dependencies:
@ -3835,6 +3835,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@github/browserslist-config@npm:^1.0.0":
version: 1.0.0
resolution: "@github/browserslist-config@npm:1.0.0"
checksum: 58f6931e999ab043da5621621f71943649d8ede64e0f0f9ccdaa3cec3568c9944cd8f37bafdd671d45b2d33b32affe1b88dd06d332ddc88616ec8eec00d0575c
languageName: node
linkType: hard
"@hapi/hoek@npm:^9.0.0": "@hapi/hoek@npm:^9.0.0":
version: 9.2.1 version: 9.2.1
resolution: "@hapi/hoek@npm:9.2.1" resolution: "@hapi/hoek@npm:9.2.1"
@ -8072,6 +8079,30 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/eslint-plugin@npm:^5.1.0":
version: 5.60.1
resolution: "@typescript-eslint/eslint-plugin@npm:5.60.1"
dependencies:
"@eslint-community/regexpp": ^4.4.0
"@typescript-eslint/scope-manager": 5.60.1
"@typescript-eslint/type-utils": 5.60.1
"@typescript-eslint/utils": 5.60.1
debug: ^4.3.4
grapheme-splitter: ^1.0.4
ignore: ^5.2.0
natural-compare-lite: ^1.4.0
semver: ^7.3.7
tsutils: ^3.21.0
peerDependencies:
"@typescript-eslint/parser": ^5.0.0
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 6ea3fdc64b216ee709318bfce1573cd8d90836150f0075aaa8755c347541af9ec026043e538a3264d28d1b32ff49b1fd7c6163826b8513f19f0957fefccf7752
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:5.59.0": "@typescript-eslint/parser@npm:5.59.0":
version: 5.59.0 version: 5.59.0
resolution: "@typescript-eslint/parser@npm:5.59.0" resolution: "@typescript-eslint/parser@npm:5.59.0"
@ -8089,6 +8120,23 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/parser@npm:^5.1.0":
version: 5.60.1
resolution: "@typescript-eslint/parser@npm:5.60.1"
dependencies:
"@typescript-eslint/scope-manager": 5.60.1
"@typescript-eslint/types": 5.60.1
"@typescript-eslint/typescript-estree": 5.60.1
debug: ^4.3.4
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 08f1552ab0da178524a8de3654d2fb7c8ecb9efdad8e771c9cbf4af555c42e77d17b2c182d139a531cc76c3cabd091d1d25024c2c215cb809dca8b147c8a493c
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:5.54.1": "@typescript-eslint/scope-manager@npm:5.54.1":
version: 5.54.1 version: 5.54.1
resolution: "@typescript-eslint/scope-manager@npm:5.54.1" resolution: "@typescript-eslint/scope-manager@npm:5.54.1"
@ -8109,6 +8157,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/scope-manager@npm:5.60.1":
version: 5.60.1
resolution: "@typescript-eslint/scope-manager@npm:5.60.1"
dependencies:
"@typescript-eslint/types": 5.60.1
"@typescript-eslint/visitor-keys": 5.60.1
checksum: 32c0786123f12fbb861aba3527471134a2e9978c7f712e0d7650080651870903482aed72a55f81deba9493118c1ca3c57edaaaa75d7acd9892818e3e9cc341ef
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:5.59.0": "@typescript-eslint/type-utils@npm:5.59.0":
version: 5.59.0 version: 5.59.0
resolution: "@typescript-eslint/type-utils@npm:5.59.0" resolution: "@typescript-eslint/type-utils@npm:5.59.0"
@ -8126,6 +8184,23 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/type-utils@npm:5.60.1":
version: 5.60.1
resolution: "@typescript-eslint/type-utils@npm:5.60.1"
dependencies:
"@typescript-eslint/typescript-estree": 5.60.1
"@typescript-eslint/utils": 5.60.1
debug: ^4.3.4
tsutils: ^3.21.0
peerDependencies:
eslint: "*"
peerDependenciesMeta:
typescript:
optional: true
checksum: f8d5f87b5441d5c671f69631efd103f5f45e0cb7dbe0131a5b4234a5208ac845041219e8baaa3adc341e82a602165dd6fabf4fd06964d0109d0875425c8ac918
languageName: node
linkType: hard
"@typescript-eslint/types@npm:4.33.0": "@typescript-eslint/types@npm:4.33.0":
version: 4.33.0 version: 4.33.0
resolution: "@typescript-eslint/types@npm:4.33.0" resolution: "@typescript-eslint/types@npm:4.33.0"
@ -8154,6 +8229,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/types@npm:5.60.1":
version: 5.60.1
resolution: "@typescript-eslint/types@npm:5.60.1"
checksum: 766b6c857493b72a8f515e6a8e409476a317b7a7f0401fbcdf18f417839fca004dcaf06f58eb5ba00777e3ca9c68cd2f56fda79f3a8eb8a418095b5b1f625712
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:5.54.1": "@typescript-eslint/typescript-estree@npm:5.54.1":
version: 5.54.1 version: 5.54.1
resolution: "@typescript-eslint/typescript-estree@npm:5.54.1" resolution: "@typescript-eslint/typescript-estree@npm:5.54.1"
@ -8190,6 +8272,24 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/typescript-estree@npm:5.60.1":
version: 5.60.1
resolution: "@typescript-eslint/typescript-estree@npm:5.60.1"
dependencies:
"@typescript-eslint/types": 5.60.1
"@typescript-eslint/visitor-keys": 5.60.1
debug: ^4.3.4
globby: ^11.1.0
is-glob: ^4.0.3
semver: ^7.3.7
tsutils: ^3.21.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 5bb9d08c3cbc303fc64647878cae37283c4cfa9e3ed00da02ee25dc2e46798a1ad6964c9f04086f0134716671357e6569a65ea0ae75f0f3ff94ae67666385c6f
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:^4.8.2": "@typescript-eslint/typescript-estree@npm:^4.8.2":
version: 4.33.0 version: 4.33.0
resolution: "@typescript-eslint/typescript-estree@npm:4.33.0" resolution: "@typescript-eslint/typescript-estree@npm:4.33.0"
@ -8244,6 +8344,24 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/utils@npm:5.60.1":
version: 5.60.1
resolution: "@typescript-eslint/utils@npm:5.60.1"
dependencies:
"@eslint-community/eslint-utils": ^4.2.0
"@types/json-schema": ^7.0.9
"@types/semver": ^7.3.12
"@typescript-eslint/scope-manager": 5.60.1
"@typescript-eslint/types": 5.60.1
"@typescript-eslint/typescript-estree": 5.60.1
eslint-scope: ^5.1.1
semver: ^7.3.7
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
checksum: 00c1adaa09d5d5be947e98962a78c21ed08c3ac46dd5ddd7b78f6102537d50afd4578a42a3e09a24dd51f5bc493f0b968627b4423647540164b2d2380afa9246
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:^5.10.0": "@typescript-eslint/utils@npm:^5.10.0":
version: 5.54.1 version: 5.54.1
resolution: "@typescript-eslint/utils@npm:5.54.1" resolution: "@typescript-eslint/utils@npm:5.54.1"
@ -8302,6 +8420,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/visitor-keys@npm:5.60.1":
version: 5.60.1
resolution: "@typescript-eslint/visitor-keys@npm:5.60.1"
dependencies:
"@typescript-eslint/types": 5.60.1
eslint-visitor-keys: ^3.3.0
checksum: 137f6a6f8efb398969087147b59f99f7d0deed044d89d7efce3631bb90bc32e3a13a5cee6a65e1c9830862c5c4402ac1a9b2c9e31fe46d1716602af2813bffae
languageName: node
linkType: hard
"@webassemblyjs/ast@npm:1.11.1": "@webassemblyjs/ast@npm:1.11.1":
version: 1.11.1 version: 1.11.1
resolution: "@webassemblyjs/ast@npm:1.11.1" resolution: "@webassemblyjs/ast@npm:1.11.1"
@ -9139,6 +9267,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"aria-query@npm:^5.1.3":
version: 5.3.0
resolution: "aria-query@npm:5.3.0"
dependencies:
dequal: ^2.0.3
checksum: 305bd73c76756117b59aba121d08f413c7ff5e80fa1b98e217a3443fcddb9a232ee790e24e432b59ae7625aebcf4c47cb01c2cac872994f0b426f5bdfcd96ba9
languageName: node
linkType: hard
"arr-diff@npm:^4.0.0": "arr-diff@npm:^4.0.0":
version: 4.0.0 version: 4.0.0
resolution: "arr-diff@npm:4.0.0" resolution: "arr-diff@npm:4.0.0"
@ -9512,6 +9649,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"ast-types-flow@npm:^0.0.7":
version: 0.0.7
resolution: "ast-types-flow@npm:0.0.7"
checksum: a26dcc2182ffee111cad7c471759b0bda22d3b7ebacf27c348b22c55f16896b18ab0a4d03b85b4020dce7f3e634b8f00b593888f622915096ea1927fa51866c4
languageName: node
linkType: hard
"ast-types@npm:0.14.2": "ast-types@npm:0.14.2":
version: 0.14.2 version: 0.14.2
resolution: "ast-types@npm:0.14.2" resolution: "ast-types@npm:0.14.2"
@ -9699,6 +9843,22 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"axe-core@npm:^4.6.2":
version: 4.7.2
resolution: "axe-core@npm:4.7.2"
checksum: 5d86fa0f45213b0e54cbb5d713ce885c4a8fe3a72b92dd915a47aa396d6fd149c4a87fec53aa978511f6d941402256cfeb26f2db35129e370f25a453c688655a
languageName: node
linkType: hard
"axobject-query@npm:^3.1.1":
version: 3.2.1
resolution: "axobject-query@npm:3.2.1"
dependencies:
dequal: ^2.0.3
checksum: a94047e702b57c91680e6a952ec4a1aaa2cfd0d80ead76bc8c954202980d8c51968a6ea18b4d8010e8e2cf95676533d8022a8ebba9abc1dfe25686721df26fd2
languageName: node
linkType: hard
"babel-core@npm:^7.0.0-bridge.0": "babel-core@npm:^7.0.0-bridge.0":
version: 7.0.0-bridge.0 version: 7.0.0-bridge.0
resolution: "babel-core@npm:7.0.0-bridge.0" resolution: "babel-core@npm:7.0.0-bridge.0"
@ -10449,6 +10609,20 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"browserslist@npm:^4.21.0":
version: 4.21.9
resolution: "browserslist@npm:4.21.9"
dependencies:
caniuse-lite: ^1.0.30001503
electron-to-chromium: ^1.4.431
node-releases: ^2.0.12
update-browserslist-db: ^1.0.11
bin:
browserslist: cli.js
checksum: 80d3820584e211484ad1b1a5cfdeca1dd00442f47be87e117e1dda34b628c87e18b81ae7986fa5977b3e6a03154f6d13cd763baa6b8bf5dd9dd19f4926603698
languageName: node
linkType: hard
"browserslist@npm:^4.21.3": "browserslist@npm:^4.21.3":
version: 4.21.4 version: 4.21.4
resolution: "browserslist@npm:4.21.4" resolution: "browserslist@npm:4.21.4"
@ -11056,6 +11230,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"caniuse-lite@npm:^1.0.30001503":
version: 1.0.30001509
resolution: "caniuse-lite@npm:1.0.30001509"
checksum: b08a98bf884182741d015569173162e5dfb804da22a14cb18c052be6b5f04e32312ff849b31f787b85091d1b1dfd58b128d9878c96e3bb632a1a0a8761548407
languageName: node
linkType: hard
"capital-case@npm:^1.0.4": "capital-case@npm:^1.0.4":
version: 1.0.4 version: 1.0.4
resolution: "capital-case@npm:1.0.4" resolution: "capital-case@npm:1.0.4"
@ -13419,6 +13600,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"damerau-levenshtein@npm:^1.0.8":
version: 1.0.8
resolution: "damerau-levenshtein@npm:1.0.8"
checksum: d240b7757544460ae0586a341a53110ab0a61126570ef2d8c731e3eab3f0cb6e488e2609e6a69b46727635de49be20b071688698744417ff1b6c1d7ccd03e0de
languageName: node
linkType: hard
"dargs@npm:^4.0.1": "dargs@npm:^4.0.1":
version: 4.1.0 version: 4.1.0
resolution: "dargs@npm:4.1.0" resolution: "dargs@npm:4.1.0"
@ -13945,6 +14133,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"dequal@npm:^2.0.3":
version: 2.0.3
resolution: "dequal@npm:2.0.3"
checksum: 8679b850e1a3d0ebbc46ee780d5df7b478c23f335887464023a631d1b9af051ad4a6595a44220f9ff8ff95a8ddccf019b5ad778a976fd7bbf77383d36f412f90
languageName: node
linkType: hard
"des.js@npm:^1.0.0": "des.js@npm:^1.0.0":
version: 1.0.1 version: 1.0.1
resolution: "des.js@npm:1.0.1" resolution: "des.js@npm:1.0.1"
@ -14679,6 +14874,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"electron-to-chromium@npm:^1.4.431":
version: 1.4.446
resolution: "electron-to-chromium@npm:1.4.446"
checksum: 08b3f5fdece12e9305fef14fb83e085e7c6669689df4cb69ada067efe25ced42f23bbb438b460c1754a5b402f4a6c777486c0f5c8bf92f7763ccebb0c6acd7f6
languageName: node
linkType: hard
"electron-window-state@npm:5.0.3": "electron-window-state@npm:5.0.3":
version: 5.0.3 version: 5.0.3
resolution: "electron-window-state@npm:5.0.3" resolution: "electron-window-state@npm:5.0.3"
@ -15163,7 +15365,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"eslint-config-prettier@npm:8.8.0": "eslint-config-prettier@npm:8.8.0, eslint-config-prettier@npm:>=8.0.0":
version: 8.8.0 version: 8.8.0
resolution: "eslint-config-prettier@npm:8.8.0" resolution: "eslint-config-prettier@npm:8.8.0"
peerDependencies: peerDependencies:
@ -15276,7 +15478,82 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"eslint-plugin-import@npm:2.27.5": "eslint-plugin-escompat@npm:^3.3.3":
version: 3.4.0
resolution: "eslint-plugin-escompat@npm:3.4.0"
dependencies:
browserslist: ^4.21.0
peerDependencies:
eslint: ">=5.14.1"
checksum: 8b138e09c674851ea220b2b76369149a3c11ebc859d856e860419511ea9378d636d679e4d6c48fcf9294db1d8f760c4ebc4e0945c6817e0bd47bdfe5937a6ff8
languageName: node
linkType: hard
"eslint-plugin-eslint-comments@npm:^3.2.0":
version: 3.2.0
resolution: "eslint-plugin-eslint-comments@npm:3.2.0"
dependencies:
escape-string-regexp: ^1.0.5
ignore: ^5.0.5
peerDependencies:
eslint: ">=4.19.1"
checksum: c9fe273dd56699abdf7e416cfad0344eb50aa01564a5a9133e72d982defb89310bc2e9b0b148ce19c5190d7ff641223b0ba9e667a194bc48467c3dd0d471e657
languageName: node
linkType: hard
"eslint-plugin-filenames@npm:^1.3.2":
version: 1.3.2
resolution: "eslint-plugin-filenames@npm:1.3.2"
dependencies:
lodash.camelcase: 4.3.0
lodash.kebabcase: 4.1.1
lodash.snakecase: 4.1.1
lodash.upperfirst: 4.3.1
peerDependencies:
eslint: "*"
checksum: 4048e9dfa9b22cf424edd5928832ce2b4a20dd10825eea7f13747e2cca2ce5fc9084da6a5f236fa17edce253ee36ccfb084cca61403775419dc1524c25b5ce5f
languageName: node
linkType: hard
"eslint-plugin-github@npm:4.8.0":
version: 4.8.0
resolution: "eslint-plugin-github@npm:4.8.0"
dependencies:
"@github/browserslist-config": ^1.0.0
"@typescript-eslint/eslint-plugin": ^5.1.0
"@typescript-eslint/parser": ^5.1.0
aria-query: ^5.1.3
eslint-config-prettier: ">=8.0.0"
eslint-plugin-escompat: ^3.3.3
eslint-plugin-eslint-comments: ^3.2.0
eslint-plugin-filenames: ^1.3.2
eslint-plugin-i18n-text: ^1.0.1
eslint-plugin-import: ^2.25.2
eslint-plugin-jsx-a11y: ^6.7.1
eslint-plugin-no-only-tests: ^3.0.0
eslint-plugin-prettier: ^4.0.0
eslint-rule-documentation: ">=1.0.0"
jsx-ast-utils: ^3.3.2
prettier: ^2.2.1
svg-element-attributes: ^1.3.1
peerDependencies:
eslint: ^8.0.1
bin:
eslint-ignore-errors: bin/eslint-ignore-errors.js
checksum: 9f9d5baef1cf4507a526c4c81adcad96309a096afc0a3ae32a2e1e3b06ea0534a552c4338ea7dbe68c020031340d90931c757e3b2a2c46758a7bf09cd19319f0
languageName: node
linkType: hard
"eslint-plugin-i18n-text@npm:^1.0.1":
version: 1.0.1
resolution: "eslint-plugin-i18n-text@npm:1.0.1"
peerDependencies:
eslint: ">=5.0.0"
checksum: 4d3a8fc51e60ea7e6e834db359b284adcac57ac8149cf5beeffae0e07c14ec64ecab7a6ea3c12731ba13fce279452c2f22d43a017fe8790fa77fb27a674b8bf7
languageName: node
linkType: hard
"eslint-plugin-import@npm:2.27.5, eslint-plugin-import@npm:^2.25.2":
version: 2.27.5 version: 2.27.5
resolution: "eslint-plugin-import@npm:2.27.5" resolution: "eslint-plugin-import@npm:2.27.5"
dependencies: dependencies:
@ -15341,6 +15618,32 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"eslint-plugin-jsx-a11y@npm:^6.7.1":
version: 6.7.1
resolution: "eslint-plugin-jsx-a11y@npm:6.7.1"
dependencies:
"@babel/runtime": ^7.20.7
aria-query: ^5.1.3
array-includes: ^3.1.6
array.prototype.flatmap: ^1.3.1
ast-types-flow: ^0.0.7
axe-core: ^4.6.2
axobject-query: ^3.1.1
damerau-levenshtein: ^1.0.8
emoji-regex: ^9.2.2
has: ^1.0.3
jsx-ast-utils: ^3.3.3
language-tags: =1.0.5
minimatch: ^3.1.2
object.entries: ^1.1.6
object.fromentries: ^2.0.6
semver: ^6.3.0
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
checksum: f166dd5fe7257c7b891c6692e6a3ede6f237a14043ae3d97581daf318fc5833ddc6b4871aa34ab7656187430170500f6d806895747ea17ecdf8231a666c3c2fd
languageName: node
linkType: hard
"eslint-plugin-n@npm:^15.1.0": "eslint-plugin-n@npm:^15.1.0":
version: 15.5.1 version: 15.5.1
resolution: "eslint-plugin-n@npm:15.5.1" resolution: "eslint-plugin-n@npm:15.5.1"
@ -15359,6 +15662,28 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"eslint-plugin-no-only-tests@npm:^3.0.0":
version: 3.1.0
resolution: "eslint-plugin-no-only-tests@npm:3.1.0"
checksum: 2a5de82f3a732dbd46792661dd0f8546cf819f76d8828968166dee35741e8039904ba473dafe1eed585f401a496d260c2c38354bb887c94bd4ced0ddca00fb62
languageName: node
linkType: hard
"eslint-plugin-prettier@npm:^4.0.0":
version: 4.2.1
resolution: "eslint-plugin-prettier@npm:4.2.1"
dependencies:
prettier-linter-helpers: ^1.0.0
peerDependencies:
eslint: ">=7.28.0"
prettier: ">=2.0.0"
peerDependenciesMeta:
eslint-config-prettier:
optional: true
checksum: b9e839d2334ad8ec7a5589c5cb0f219bded260839a857d7a486997f9870e95106aa59b8756ff3f37202085ebab658de382b0267cae44c3a7f0eb0bcc03a4f6d6
languageName: node
linkType: hard
"eslint-plugin-promise@npm:6.1.1, eslint-plugin-promise@npm:^6.0.0": "eslint-plugin-promise@npm:6.1.1, eslint-plugin-promise@npm:^6.0.0":
version: 6.1.1 version: 6.1.1
resolution: "eslint-plugin-promise@npm:6.1.1" resolution: "eslint-plugin-promise@npm:6.1.1"
@ -15417,6 +15742,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"eslint-rule-documentation@npm:>=1.0.0":
version: 1.0.23
resolution: "eslint-rule-documentation@npm:1.0.23"
checksum: 38c99fb7f8624e7e2e246e5408ba712243f3a89738fc68cd9816953c6adc456c4aa6ca546b51b2e232b4f4a1ef644cfa9ddeaa4ec98cf90b56143d8368f9990e
languageName: node
linkType: hard
"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": "eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1":
version: 5.1.1 version: 5.1.1
resolution: "eslint-scope@npm:5.1.1" resolution: "eslint-scope@npm:5.1.1"
@ -16008,6 +16340,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"fast-diff@npm:^1.1.2":
version: 1.3.0
resolution: "fast-diff@npm:1.3.0"
checksum: d22d371b994fdc8cce9ff510d7b8dc4da70ac327bcba20df607dd5b9cae9f908f4d1028f5fe467650f058d1e7270235ae0b8230809a262b4df587a3b3aa216c3
languageName: node
linkType: hard
"fast-equals@npm:^3.0.2": "fast-equals@npm:^3.0.2":
version: 3.0.2 version: 3.0.2
resolution: "fast-equals@npm:3.0.2" resolution: "fast-equals@npm:3.0.2"
@ -18594,6 +18933,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"ignore@npm:^5.0.5":
version: 5.2.4
resolution: "ignore@npm:5.2.4"
checksum: 3d4c309c6006e2621659311783eaea7ebcd41fe4ca1d78c91c473157ad6666a57a2df790fe0d07a12300d9aac2888204d7be8d59f9aaf665b1c7fcdb432517ef
languageName: node
linkType: hard
"ignore@npm:^5.1.1, ignore@npm:^5.2.0": "ignore@npm:^5.1.1, ignore@npm:^5.2.0":
version: 5.2.0 version: 5.2.0
resolution: "ignore@npm:5.2.0" resolution: "ignore@npm:5.2.0"
@ -21192,6 +21538,18 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"jsx-ast-utils@npm:^3.3.2, jsx-ast-utils@npm:^3.3.3":
version: 3.3.4
resolution: "jsx-ast-utils@npm:3.3.4"
dependencies:
array-includes: ^3.1.6
array.prototype.flat: ^1.3.1
object.assign: ^4.1.4
object.values: ^1.1.6
checksum: a6a00d324e38f0d47e04f973d79670248a663422a4dccdc02efd6f1caf1c00042fb0aafcff1023707c85dea6f013d435b90db67c1c6841bf345628f0a720d8b3
languageName: node
linkType: hard
"just-debounce@npm:^1.0.0": "just-debounce@npm:^1.0.0":
version: 1.1.0 version: 1.1.0
resolution: "just-debounce@npm:1.1.0" resolution: "just-debounce@npm:1.1.0"
@ -21403,6 +21761,22 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"language-subtag-registry@npm:~0.3.2":
version: 0.3.22
resolution: "language-subtag-registry@npm:0.3.22"
checksum: 8ab70a7e0e055fe977ac16ea4c261faec7205ac43db5e806f72e5b59606939a3b972c4bd1e10e323b35d6ffa97c3e1c4c99f6553069dad2dfdd22020fa3eb56a
languageName: node
linkType: hard
"language-tags@npm:=1.0.5":
version: 1.0.5
resolution: "language-tags@npm:1.0.5"
dependencies:
language-subtag-registry: ~0.3.2
checksum: c81b5d8b9f5f9cfd06ee71ada6ddfe1cf83044dd5eeefcd1e420ad491944da8957688db4a0a9bc562df4afdc2783425cbbdfd152c01d93179cf86888903123cf
languageName: node
linkType: hard
"last-run@npm:^1.1.0": "last-run@npm:^1.1.0":
version: 1.1.1 version: 1.1.1
resolution: "last-run@npm:1.1.1" resolution: "last-run@npm:1.1.1"
@ -21744,6 +22118,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"lodash.camelcase@npm:4.3.0":
version: 4.3.0
resolution: "lodash.camelcase@npm:4.3.0"
checksum: cb9227612f71b83e42de93eccf1232feeb25e705bdb19ba26c04f91e885bfd3dd5c517c4a97137658190581d3493ea3973072ca010aab7e301046d90740393d1
languageName: node
linkType: hard
"lodash.clonedeep@npm:^4.5.0": "lodash.clonedeep@npm:^4.5.0":
version: 4.5.0 version: 4.5.0
resolution: "lodash.clonedeep@npm:4.5.0" resolution: "lodash.clonedeep@npm:4.5.0"
@ -21779,6 +22160,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"lodash.kebabcase@npm:4.1.1":
version: 4.1.1
resolution: "lodash.kebabcase@npm:4.1.1"
checksum: 5a6c59161914e1bae23438a298c7433e83d935e0f59853fa862e691164696bc07f6dfa4c313d499fbf41ba8d53314e9850416502376705a357d24ee6ca33af78
languageName: node
linkType: hard
"lodash.memoize@npm:4.x": "lodash.memoize@npm:4.x":
version: 4.1.2 version: 4.1.2
resolution: "lodash.memoize@npm:4.1.2" resolution: "lodash.memoize@npm:4.1.2"
@ -21821,6 +22209,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"lodash.snakecase@npm:4.1.1":
version: 4.1.1
resolution: "lodash.snakecase@npm:4.1.1"
checksum: 1685ed3e83dda6eae5a4dcaee161a51cd210aabb3e1c09c57150e7dd8feda19e4ca0d27d0631eabe8d0f4eaa51e376da64e8c018ae5415417c5890d42feb72a8
languageName: node
linkType: hard
"lodash.sortby@npm:^4.7.0": "lodash.sortby@npm:^4.7.0":
version: 4.7.0 version: 4.7.0
resolution: "lodash.sortby@npm:4.7.0" resolution: "lodash.sortby@npm:4.7.0"
@ -21868,6 +22263,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"lodash.upperfirst@npm:4.3.1":
version: 4.3.1
resolution: "lodash.upperfirst@npm:4.3.1"
checksum: cadec6955900afe1928cc60cdc4923a79c2ef991e42665419cc81630ed9b4f952a1093b222e0141ab31cbc4dba549f97ec28ff67929d71e01861c97188a5fa83
languageName: node
linkType: hard
"lodash@npm:4.17.21, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.12, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.2.1, lodash@npm:^4.7.0": "lodash@npm:4.17.21, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.12, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.2.1, lodash@npm:^4.7.0":
version: 4.17.21 version: 4.17.21
resolution: "lodash@npm:4.17.21" resolution: "lodash@npm:4.17.21"
@ -26755,7 +27157,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"prettier@npm:2.8.8": "prettier-linter-helpers@npm:^1.0.0":
version: 1.0.0
resolution: "prettier-linter-helpers@npm:1.0.0"
dependencies:
fast-diff: ^1.1.2
checksum: 00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392
languageName: node
linkType: hard
"prettier@npm:2.8.8, prettier@npm:^2.2.1":
version: 2.8.8 version: 2.8.8
resolution: "prettier@npm:2.8.8" resolution: "prettier@npm:2.8.8"
bin: bin:
@ -29192,6 +29603,7 @@ __metadata:
cspell: 5.21.2 cspell: 5.21.2
eslint: 8.39.0 eslint: 8.39.0
eslint-interactive: 10.7.0 eslint-interactive: 10.7.0
eslint-plugin-github: 4.8.0
eslint-plugin-import: 2.27.5 eslint-plugin-import: 2.27.5
eslint-plugin-jest: 27.2.1 eslint-plugin-jest: 27.2.1
eslint-plugin-promise: 6.1.1 eslint-plugin-promise: 6.1.1
@ -31284,6 +31696,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"svg-element-attributes@npm:^1.3.1":
version: 1.3.1
resolution: "svg-element-attributes@npm:1.3.1"
checksum: b355db93d82cf5c8782e435a8d081f66ecea3714d403f193feed337b6e46f3490751dd560e03e1924f7cd63b0a86c379e5b10423513d1b04c9d2b5f4aee65160
languageName: node
linkType: hard
"symbol-tree@npm:^3.2.4": "symbol-tree@npm:^3.2.4":
version: 3.2.4 version: 3.2.4
resolution: "symbol-tree@npm:3.2.4" resolution: "symbol-tree@npm:3.2.4"