- Set the browser target to ES6 and reduce the JS bundle size considerably

- Upgrade ESLint to v9.x and migrate the .eslintrc.js file to make it work
This commit is contained in:
Aditya Toshniwal 2024-07-04 18:25:47 +05:30 committed by GitHub
parent 10b2e91e29
commit dcfef154ce
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 266 additions and 233 deletions

View File

@ -1,7 +0,0 @@
generated
node_modules
vendor
templates/
templates\
ycache
regression/htmlcov

View File

@ -6,98 +6,122 @@
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
const globals = require('globals');
const js = require('@eslint/js');
const reactjs = require('eslint-plugin-react');
const jest = require('eslint-plugin-jest');
const babel = require('@babel/eslint-plugin');
const babelParser = require('@babel/eslint-parser');
const ts = require('typescript-eslint');
module.exports = {
'env': {
'browser': true,
'es6': true,
'amd': true,
module.exports = [
{
ignores: [
'**/generated',
'**/node_modules',
'**/vendor',
'**/templates/',
'**/templates\\',
'**/ycache',
'**/regression/htmlcov',
],
},
'extends': [
'eslint:recommended',
'plugin:react/recommended',
/* Uncomment the below line to use linter error for React Hooks.
By Default commented so that builds are generated successfully.
Once all the errors will be resolved will uncomment it and commit it.
*/
// "plugin:react-hooks/recommended",
],
'parser': '@babel/eslint-parser',
'parserOptions': {
'requireConfigFile': false,
'ecmaVersion': 2018,
'ecmaFeatures': {
'jsx': true,
js.configs.recommended,
{
files: ['**/*.{js,jsx,mjs,cjs,ts,tsx}'],
languageOptions: {
'parser': babelParser,
ecmaVersion: 2018,
parserOptions: {
'ecmaFeatures': {
'jsx': true,
},
'requireConfigFile': false,
'babelOptions': {
'plugins': [
'@babel/plugin-syntax-jsx',
'@babel/plugin-proposal-class-properties',
],
},
},
'sourceType': 'module',
globals: {
...globals.browser,
...globals.es2017,
...globals.amd,
'_': 'readonly',
'module': 'readonly',
'__dirname': 'readonly',
'global': 'readonly',
'jest': 'readonly',
'process': 'readonly',
},
},
'sourceType': 'module',
'babelOptions': {
'plugins': [
'@babel/plugin-syntax-jsx',
'@babel/plugin-proposal-class-properties',
'plugins': {
'react': reactjs,
'@babel': babel,
},
'rules': {
'indent': [
'error',
2,
],
},
},
'plugins': [
'react',
'@babel',
'jest'
],
'overrides': [
{
'files': ['**/*.{ts,tsx}'],
'plugins': [
'@typescript-eslint',
'linebreak-style': 0,
'quotes': [
'error',
'single',
],
'extends': ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/eslint-recommended'],
'parser': '@typescript-eslint/parser',
'rules': {
'@typescript-eslint/no-explicit-any': ['off'],
'@typescript-eslint/no-this-alias': ['off'],
}
'semi': [
'error',
'always',
],
'comma-dangle': [
'error',
'only-multiline',
],
'no-console': ['error', { allow: ['warn', 'error'] }],
// We need to exclude below for RegEx case
'no-useless-escape': 'off',
'no-prototype-builtins': 'off',
'no-global-assign': 'off',
'no-import-assign': 'off',
'react/jsx-uses-vars': 'error',
'react/jsx-uses-react': 'error'
},
{
'files': ['**/*{spec,test}.{js,jsx}', './regression/javascript/**/*.{js}'],
'extends': ['eslint:recommended'],
'env': {
'jest': true
}
},
],
'globals': {
'_': true,
'module': true,
'__dirname': true,
'global': true,
'jest': true
},
'rules': {
'indent': [
'error',
2,
],
'linebreak-style': 0,
'quotes': [
'error',
'single',
],
'semi': [
'error',
'always',
],
'comma-dangle': [
'error',
'only-multiline',
],
'no-console': ['error', { allow: ['warn', 'error'] }],
// We need to exclude below for RegEx case
'no-useless-escape': 0,
'no-prototype-builtins': 0,
'no-global-assign': 0,
'no-import-assign': 0,
},
'settings': {
'react': {
'version': 'detect',
'settings': {
'react': {
'version': 'detect',
},
},
},
};
{
'files': ['**/*.{ts,tsx}'],
languageOptions: {
'parser': ts.parser,
},
'plugins': {
'@typescript-eslint': ts.plugin,
},
'rules': {
'no-unused-vars': 'off',
'no-undef': 'off',
'@typescript-eslint/no-unused-vars': ['error'],
'@typescript-eslint/no-explicit-any': ['off'],
'@typescript-eslint/no-this-alias': ['off'],
}
},
{
'files': ['**/*{spec,test}.{js,jsx}', './regression/javascript/**/*.{js}'],
...jest.configs['flat/recommended'],
rules: {
...jest.configs['flat/recommended'].rules,
'jest/prefer-expect-assertions': 'off',
'jest/expect-expect': 'off',
'jest/no-identical-title': 'off',
'jest/no-done-callback': 'off',
'jest/no-conditional-expect': 'off',
'jest/valid-title': 'off',
},
}
];

View File

@ -8,8 +8,8 @@
"license": "PostgreSQL",
"devDependencies": {
"@babel/core": "^7.10.2",
"@babel/eslint-parser": "^7.21.3",
"@babel/eslint-plugin": "^7.17.7",
"@babel/eslint-parser": "^7.24.7",
"@babel/eslint-plugin": "^7.24.7",
"@babel/plugin-proposal-object-rest-spread": "^7.10.1",
"@babel/plugin-syntax-jsx": "^7.16.0",
"@babel/plugin-transform-runtime": "^7.22.15",
@ -25,8 +25,6 @@
"@testing-library/react": "16.0.0",
"@testing-library/user-event": "^14.5.2",
"@types/jest": "^29.5.4",
"@typescript-eslint/eslint-plugin": "^7.12.0",
"@typescript-eslint/parser": "^7.12.0",
"autoprefixer": "^10.2.4",
"axios-mock-adapter": "^1.17.0",
"babel-loader": "^9.1.3",
@ -36,11 +34,12 @@
"cross-env": "^7.0.3",
"css-loader": "^6.7.2",
"css-minimizer-webpack-plugin": "^5.0.0",
"eslint": "^8.37.0",
"eslint": "^9.5.0",
"eslint-plugin-jest": "^27.4.0",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react": "^7.34.3",
"eslint-plugin-react-hooks": "^4.3.0",
"exports-loader": "^4.0.0",
"globals": "^15.8.0",
"html-react-parser": "^5.0.6",
"image-minimizer-webpack-plugin": "^4.0.2",
"imagemin": "^8.0.1",
@ -62,6 +61,7 @@
"svgo-loader": "^2.2.0",
"terser-webpack-plugin": "^5.1.1",
"typescript": "^5.4.5",
"typescript-eslint": "^7.15.0",
"url-loader": "^4.1.1",
"webfonts-loader": "^8.0.1",
"webpack": "^5.88.2",
@ -156,7 +156,7 @@
"zustand": "^4.4.1"
},
"scripts": {
"linter": "yarn eslint --no-eslintrc -c .eslintrc.js --ext .js --ext .jsx --ext .ts --ext .tsx .",
"linter": "yarn run eslint -c .eslintrc.js .",
"webpacker": "yarn run webpack --config webpack.config.js --progress",
"webpacker:watch": "yarn run webpack --config webpack.config.js --progress --watch",
"bundle:watch": "yarn run linter && yarn run webpacker:watch",
@ -175,5 +175,8 @@
"auditpy": "safety check --full-report -i 51668 -i 52495yarn npm audit",
"audit-all": "yarn run auditjs && yarn run auditpy"
},
"packageManager": "yarn@3.8.3"
"packageManager": "yarn@3.8.3",
"browserslist": [
"defaults and fully supports es6-module"
]
}

View File

@ -32,8 +32,8 @@ export default class RoleSchema extends BaseUISchema {
variables: [],
rolbypassrls: false,
});
this.getVariableSchema = getVariableSchema;
this.getMembershipSchema = getMembershipSchema;
this.variableSchema = getVariableSchema();
this.membershipSchema = getMembershipSchema();
this.fieldOptions = {
role: [],
...fieldOptions,
@ -165,7 +165,7 @@ export default class RoleSchema extends BaseUISchema {
disabled: obj.readOnly,
mode: ['edit', 'create'], cell: 'text',
type: 'collection',
schema: new obj.getMembershipSchema(),
schema: obj.membershipSchema,
helpMessage: obj.isReadOnly ? gettext('Select the checkbox for roles to include WITH ADMIN OPTION.') : gettext('Roles shown with a check mark have the WITH ADMIN OPTION set.'),
},
{
@ -183,7 +183,7 @@ export default class RoleSchema extends BaseUISchema {
id: 'rolmembers', label: gettext('Members'), group: gettext('Membership'),
mode: ['edit', 'create'], cell: 'text',
type: 'collection',
schema: new obj.getMembershipSchema(),
schema: obj.membershipSchema,
disabled: obj.readOnly,
helpMessage: obj.isReadOnly ? gettext('Select the checkbox for roles to include WITH ADMIN OPTION.') : gettext('Roles shown with a check mark have the WITH ADMIN OPTION set.') ,
},
@ -201,7 +201,7 @@ export default class RoleSchema extends BaseUISchema {
{
id: 'variables', label: '', type: 'collection',
group: gettext('Parameters'),
schema: this.getVariableSchema(),
schema: this.variableSchema,
mode: [ 'edit', 'create'], canAdd: true, canDelete: true,
disabled: obj.readOnly,
},

View File

@ -468,7 +468,7 @@ function Dashboard({
link.click();
}
document.body.removeChild(link);
} catch (error) {
} catch {
setSsMsg(gettext('Failed to download the logs.'));
}
};

View File

@ -6,7 +6,7 @@
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
// eslint-disable-next-line react/display-name
import React, { useState, useEffect, useRef, useReducer, useMemo } from 'react';
import PgTable from 'sources/components/PgTable';
import gettext from 'sources/gettext';

View File

@ -3,7 +3,7 @@ import pgAdmin from 'sources/pgadmin';
export async function copyToClipboard(text) {
try {
await navigator.clipboard.writeText(text);
} catch(err) {
} catch {
/* Suppress error */
pgAdmin.Browser.notifier.error('Does not have clipboard access');
}

View File

@ -66,7 +66,7 @@ function handleDrop(e, editor) {
if (e.stopPropagation) {
e.stopPropagation();
}
} catch (error) {
} catch {
/* if parsing fails, it must be the drag internal of codemirror text */
return false;
}

View File

@ -15,7 +15,7 @@ import PropTypes from 'prop-types';
import { fullHexColor } from '../utils';
export function withColorPicker(Component) {
// eslint-disable-next-line react/display-name
const HOCComponent = ({value, currObj, onChange, onSave, options, ...props})=>{
const pickrOptions = {
showPalette: true,

View File

@ -14,7 +14,7 @@ import { usePgAdmin } from '../../../static/js/BrowserComponent';
import ErrorBoundary from './ErrorBoundary';
export default function withStandardTabInfo(Component, tabId) {
// eslint-disable-next-line react/display-name
const HOCComponent = (props)=>{
const [[isStale, nodeItem, nodeData], setNodeInfo] = useState([true, undefined, undefined]);
const pgAdmin = usePgAdmin();

View File

@ -84,7 +84,7 @@ export default function toPx(value, prop, force, el) {
// set the style on the target element
try {
style[prop] = value;
} catch (e) {
} catch {
// IE 8 and below throw an exception when setting unsupported units
return 0;
}

View File

@ -141,7 +141,7 @@ export default function ObjectExplorer() {
try {
const _node_path = parentPath + '/' + _data.id;
return mtree.addNode(parentPath, _node_path, _data);
} catch (error) {
} catch {
return null; // or throw error as you see fit
}
};
@ -151,7 +151,7 @@ export default function ObjectExplorer() {
try {
await mtree.removeNode(path, _removeOnlyChild);
return true;
} catch (error) {
} catch {
return false; // or throw error as you see fit
}
};
@ -161,7 +161,7 @@ export default function ObjectExplorer() {
try {
await mtree.updateNode(path, data);
return true;
} catch (error) {
} catch {
return false; // or throw error as you see fit
}
};

View File

@ -24,7 +24,7 @@ const pgWindow = function() {
} else {
localPgWindow = window;
}
} catch (error) {
} catch {
localPgWindow = window;
}
return localPgWindow;

View File

@ -367,7 +367,7 @@ export default class DebuggerModule {
let browser_preferences = usePreferences.getState().getPreferencesForModule('browser');
let open_new_tab = browser_preferences.new_browser_tab_open;
const db_label = self.checkDbNameChange(data, dbNode, newTreeInfo, db_label);
const db_label = self.checkDbNameChange(data, dbNode, newTreeInfo);
let label = getAppropriateLabel(newTreeInfo);
pgAdmin.Browser.Events.trigger(
'pgadmin:tool:show',

View File

@ -147,7 +147,7 @@ export default function DebuggerComponent({ pgAdmin, selectedNodeInfo, panelId,
}
});
}
} catch (e) {
} catch {
alert(xhr);
pgAdmin.Browser.notifier.alert(
gettext('Debugger Error'),

View File

@ -87,7 +87,7 @@ function parseEwkbData(rows, column) {
}
supportedGeometries.push(geometry);
geometryItemMap.set(geometry, item);
} catch (e) {
} catch {
unsupportedRows.push(item);
}
return true;

View File

@ -1075,7 +1075,7 @@ export function ResultSet() {
'info': gettext('This query was generated by pgAdmin as part of a "Save Data" operation'),
});
});
} catch (_e) {/* History errors should not bother others */}
} catch {/* History errors should not bother others */}
if(!respData.data.status) {
eventBus.fireEvent(QUERY_TOOL_EVENTS.SAVE_DATA_DONE, false);

View File

@ -65,15 +65,23 @@ class CheckDebuggerForXssFeatureTest(BaseFeatureTest):
function_node.click()
def _debug_function(self):
wait = WebDriverWait(self.page.driver, 2)
self.page.driver.find_element(By.CSS_SELECTOR,
NavMenuLocators.object_menu_css).click()
wait.until(EC.presence_of_element_located(
(By.CSS_SELECTOR, "div[data-label='Debugging']")))
ActionChains(
self.page.driver
).move_to_element(
self.page.driver.find_element(
By.CSS_SELECTOR, "div[data-label='Debugging']")
).perform()
time.sleep(2)
# time.sleep(2)
wait.until(EC.presence_of_element_located(
(By.CSS_SELECTOR, "li[data-label='Debug']")))
self.page.driver.find_element(
By.CSS_SELECTOR, "li[data-label='Debug']").click()

View File

@ -2,7 +2,6 @@ import React from 'react';
import Theme from 'sources/Theme';
export function withTheme(WrappedComp) {
// eslint-disable-next-line react/display-name
return (props)=>{
return <Theme><WrappedComp {...props}/></Theme>;
};

View File

@ -18,7 +18,6 @@ import { act, render } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
export function withBrowser(WrappedComp) {
// eslint-disable-next-line react/display-name
return (props)=>{
return <Theme>
<PgAdminContext.Provider value={fakePgAdmin}>

View File

@ -62,7 +62,7 @@ __metadata:
languageName: node
linkType: hard
"@babel/eslint-parser@npm:^7.21.3":
"@babel/eslint-parser@npm:^7.24.7":
version: 7.24.7
resolution: "@babel/eslint-parser@npm:7.24.7"
dependencies:
@ -76,7 +76,7 @@ __metadata:
languageName: node
linkType: hard
"@babel/eslint-plugin@npm:^7.17.7":
"@babel/eslint-plugin@npm:^7.24.7":
version: 7.24.7
resolution: "@babel/eslint-plugin@npm:7.24.7"
dependencies:
@ -1880,27 +1880,45 @@ __metadata:
languageName: node
linkType: hard
"@eslint/eslintrc@npm:^2.1.4":
version: 2.1.4
resolution: "@eslint/eslintrc@npm:2.1.4"
"@eslint/config-array@npm:^0.17.0":
version: 0.17.0
resolution: "@eslint/config-array@npm:0.17.0"
dependencies:
"@eslint/object-schema": ^2.1.4
debug: ^4.3.1
minimatch: ^3.1.2
checksum: 4a7eea8e8531045ae6836c7b899776663f120b75a074fd09c5bfa52304ee969053d1daad35c30e3f657ef578078c14fe277a5ff625bceb4166c6196ff44e5d02
languageName: node
linkType: hard
"@eslint/eslintrc@npm:^3.1.0":
version: 3.1.0
resolution: "@eslint/eslintrc@npm:3.1.0"
dependencies:
ajv: ^6.12.4
debug: ^4.3.2
espree: ^9.6.0
globals: ^13.19.0
espree: ^10.0.1
globals: ^14.0.0
ignore: ^5.2.0
import-fresh: ^3.2.1
js-yaml: ^4.1.0
minimatch: ^3.1.2
strip-json-comments: ^3.1.1
checksum: 10957c7592b20ca0089262d8c2a8accbad14b4f6507e35416c32ee6b4dbf9cad67dfb77096bbd405405e9ada2b107f3797fe94362e1c55e0b09d6e90dd149127
checksum: b0a9bbd98c8b9e0f4d975b042ff9b874dde722b20834ea2ff46551c3de740d4f10f56c449b790ef34d7f82147cbddfc22b004a43cc885dbc2664bb134766b5e4
languageName: node
linkType: hard
"@eslint/js@npm:8.57.0":
version: 8.57.0
resolution: "@eslint/js@npm:8.57.0"
checksum: 315dc65b0e9893e2bff139bddace7ea601ad77ed47b4550e73da8c9c2d2766c7a575c3cddf17ef85b8fd6a36ff34f91729d0dcca56e73ca887c10df91a41b0bb
"@eslint/js@npm:9.6.0":
version: 9.6.0
resolution: "@eslint/js@npm:9.6.0"
checksum: 8d0c1cc81ae9182139a38555a56bd6387b663b45efa5ca642e1e50584926f749a68d497c8a5ca02d55661341a5b689fc7977c65b10191e2a315888ca403b8bcd
languageName: node
linkType: hard
"@eslint/object-schema@npm:^2.1.4":
version: 2.1.4
resolution: "@eslint/object-schema@npm:2.1.4"
checksum: 5a03094115bcdab7991dbbc5d17a9713f394cebb4b44d3eaf990d7487b9b8e1877b817997334ab40be52e299a0384595c6f6ba91b389901e5e1d21efda779271
languageName: node
linkType: hard
@ -1956,17 +1974,6 @@ __metadata:
languageName: node
linkType: hard
"@humanwhocodes/config-array@npm:^0.11.14":
version: 0.11.14
resolution: "@humanwhocodes/config-array@npm:0.11.14"
dependencies:
"@humanwhocodes/object-schema": ^2.0.2
debug: ^4.3.1
minimatch: ^3.0.5
checksum: 861ccce9eaea5de19546653bccf75bf09fe878bc39c3aab00aeee2d2a0e654516adad38dd1098aab5e3af0145bbcbf3f309bdf4d964f8dab9dcd5834ae4c02f2
languageName: node
linkType: hard
"@humanwhocodes/module-importer@npm:^1.0.1":
version: 1.0.1
resolution: "@humanwhocodes/module-importer@npm:1.0.1"
@ -1974,10 +1981,10 @@ __metadata:
languageName: node
linkType: hard
"@humanwhocodes/object-schema@npm:^2.0.2":
version: 2.0.3
resolution: "@humanwhocodes/object-schema@npm:2.0.3"
checksum: d3b78f6c5831888c6ecc899df0d03bcc25d46f3ad26a11d7ea52944dc36a35ef543fad965322174238d677a43d5c694434f6607532cff7077062513ad7022631
"@humanwhocodes/retry@npm:^0.3.0":
version: 0.3.0
resolution: "@humanwhocodes/retry@npm:0.3.0"
checksum: 4349cb8b60466a000e945fde8f8551cefb01ebba22ead4a92ac7b145f67f5da6b52e5a1e0c53185d732d0a49958ac29327934a4a5ac1d0bc20efb4429a4f7bf7
languageName: node
linkType: hard
@ -3469,7 +3476,7 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/eslint-plugin@npm:^7.12.0":
"@typescript-eslint/eslint-plugin@npm:7.15.0":
version: 7.15.0
resolution: "@typescript-eslint/eslint-plugin@npm:7.15.0"
dependencies:
@ -3492,7 +3499,7 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:^7.12.0":
"@typescript-eslint/parser@npm:7.15.0":
version: 7.15.0
resolution: "@typescript-eslint/parser@npm:7.15.0"
dependencies:
@ -3650,13 +3657,6 @@ __metadata:
languageName: node
linkType: hard
"@ungap/structured-clone@npm:^1.2.0":
version: 1.2.0
resolution: "@ungap/structured-clone@npm:1.2.0"
checksum: 4f656b7b4672f2ce6e272f2427d8b0824ed11546a601d8d5412b9d7704e83db38a8d9f402ecdf2b9063fc164af842ad0ec4a55819f621ed7e7ea4d1efcc74524
languageName: node
linkType: hard
"@vusion/webfonts-generator@npm:^0.8.0":
version: 0.8.0
resolution: "@vusion/webfonts-generator@npm:0.8.0"
@ -3984,7 +3984,7 @@ __metadata:
languageName: node
linkType: hard
"acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.11.0, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0":
"acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.11.0, acorn@npm:^8.12.0, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2":
version: 8.12.1
resolution: "acorn@npm:8.12.1"
bin:
@ -6573,15 +6573,6 @@ __metadata:
languageName: node
linkType: hard
"doctrine@npm:^3.0.0":
version: 3.0.0
resolution: "doctrine@npm:3.0.0"
dependencies:
esutils: ^2.0.2
checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce
languageName: node
linkType: hard
"dom-accessibility-api@npm:^0.5.9":
version: 0.5.16
resolution: "dom-accessibility-api@npm:0.5.16"
@ -7144,7 +7135,7 @@ __metadata:
languageName: node
linkType: hard
"eslint-plugin-react@npm:^7.33.2":
"eslint-plugin-react@npm:^7.34.3":
version: 7.34.3
resolution: "eslint-plugin-react@npm:7.34.3"
dependencies:
@ -7189,13 +7180,13 @@ __metadata:
languageName: node
linkType: hard
"eslint-scope@npm:^7.2.2":
version: 7.2.2
resolution: "eslint-scope@npm:7.2.2"
"eslint-scope@npm:^8.0.1":
version: 8.0.1
resolution: "eslint-scope@npm:8.0.1"
dependencies:
esrecurse: ^4.3.0
estraverse: ^5.2.0
checksum: ec97dbf5fb04b94e8f4c5a91a7f0a6dd3c55e46bfc7bbcd0e3138c3a76977570e02ed89a1810c778dcd72072ff0e9621ba1379b4babe53921d71e2e4486fda3e
checksum: 67a5a39312dadb8c9a677df0f2e8add8daf15280b08bfe07f898d5347ee2d7cd2a1f5c2760f34e46e8f5f13f7192f47c2c10abe676bfa4173ae5539365551940
languageName: node
linkType: hard
@ -7206,47 +7197,50 @@ __metadata:
languageName: node
linkType: hard
"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3":
"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.3":
version: 3.4.3
resolution: "eslint-visitor-keys@npm:3.4.3"
checksum: 36e9ef87fca698b6fd7ca5ca35d7b2b6eeaaf106572e2f7fd31c12d3bfdaccdb587bba6d3621067e5aece31c8c3a348b93922ab8f7b2cbc6aaab5e1d89040c60
languageName: node
linkType: hard
"eslint@npm:^8.37.0":
version: 8.57.0
resolution: "eslint@npm:8.57.0"
"eslint-visitor-keys@npm:^4.0.0":
version: 4.0.0
resolution: "eslint-visitor-keys@npm:4.0.0"
checksum: 5c09f89cf29d87cdbfbac38802a880d3c2e65f8cb61c689888346758f1e24a4c7f6caefeac9474dfa52058a99920623599bdb00516976a30134abeba91275aa2
languageName: node
linkType: hard
"eslint@npm:^9.5.0":
version: 9.6.0
resolution: "eslint@npm:9.6.0"
dependencies:
"@eslint-community/eslint-utils": ^4.2.0
"@eslint-community/regexpp": ^4.6.1
"@eslint/eslintrc": ^2.1.4
"@eslint/js": 8.57.0
"@humanwhocodes/config-array": ^0.11.14
"@eslint/config-array": ^0.17.0
"@eslint/eslintrc": ^3.1.0
"@eslint/js": 9.6.0
"@humanwhocodes/module-importer": ^1.0.1
"@humanwhocodes/retry": ^0.3.0
"@nodelib/fs.walk": ^1.2.8
"@ungap/structured-clone": ^1.2.0
ajv: ^6.12.4
chalk: ^4.0.0
cross-spawn: ^7.0.2
debug: ^4.3.2
doctrine: ^3.0.0
escape-string-regexp: ^4.0.0
eslint-scope: ^7.2.2
eslint-visitor-keys: ^3.4.3
espree: ^9.6.1
esquery: ^1.4.2
eslint-scope: ^8.0.1
eslint-visitor-keys: ^4.0.0
espree: ^10.1.0
esquery: ^1.5.0
esutils: ^2.0.2
fast-deep-equal: ^3.1.3
file-entry-cache: ^6.0.1
file-entry-cache: ^8.0.0
find-up: ^5.0.0
glob-parent: ^6.0.2
globals: ^13.19.0
graphemer: ^1.4.0
ignore: ^5.2.0
imurmurhash: ^0.1.4
is-glob: ^4.0.0
is-path-inside: ^3.0.3
js-yaml: ^4.1.0
json-stable-stringify-without-jsonify: ^1.0.1
levn: ^0.4.1
lodash.merge: ^4.6.2
@ -7257,18 +7251,18 @@ __metadata:
text-table: ^0.2.0
bin:
eslint: bin/eslint.js
checksum: 3a48d7ff85ab420a8447e9810d8087aea5b1df9ef68c9151732b478de698389ee656fd895635b5f2871c89ee5a2652b3f343d11e9db6f8486880374ebc74a2d9
checksum: b3f3de28df0ebbccbd0863637523cd443569dd32d18da021a97b53f25b2f5bc7f788fe74da8e585da6bb7b2060d7a688e9dcaa35efaabb7b596c354ff4b07963
languageName: node
linkType: hard
"espree@npm:^9.6.0, espree@npm:^9.6.1":
version: 9.6.1
resolution: "espree@npm:9.6.1"
"espree@npm:^10.0.1, espree@npm:^10.1.0":
version: 10.1.0
resolution: "espree@npm:10.1.0"
dependencies:
acorn: ^8.9.0
acorn: ^8.12.0
acorn-jsx: ^5.3.2
eslint-visitor-keys: ^3.4.1
checksum: eb8c149c7a2a77b3f33a5af80c10875c3abd65450f60b8af6db1bfcfa8f101e21c1e56a561c6dc13b848e18148d43469e7cd208506238554fb5395a9ea5a1ab9
eslint-visitor-keys: ^4.0.0
checksum: a4708ab987f6c03734b8738b1588e9f31b2e305e869ca4677c60d82294eb05f7099b6687eb39eeb0913bb2d49bdf0bd0f31c511599ea7ee171281f871a9c897e
languageName: node
linkType: hard
@ -7282,7 +7276,7 @@ __metadata:
languageName: node
linkType: hard
"esquery@npm:^1.4.2":
"esquery@npm:^1.5.0":
version: 1.5.0
resolution: "esquery@npm:1.5.0"
dependencies:
@ -7564,12 +7558,12 @@ __metadata:
languageName: node
linkType: hard
"file-entry-cache@npm:^6.0.1":
version: 6.0.1
resolution: "file-entry-cache@npm:6.0.1"
"file-entry-cache@npm:^8.0.0":
version: 8.0.0
resolution: "file-entry-cache@npm:8.0.0"
dependencies:
flat-cache: ^3.0.4
checksum: f49701feaa6314c8127c3c2f6173cfefff17612f5ed2daaafc6da13b5c91fd43e3b2a58fd0d63f9f94478a501b167615931e7200e31485e320f74a33885a9c74
flat-cache: ^4.0.0
checksum: f67802d3334809048c69b3d458f672e1b6d26daefda701761c81f203b80149c35dea04d78ea4238969dd617678e530876722a0634c43031a0957f10cc3ed190f
languageName: node
linkType: hard
@ -7727,14 +7721,13 @@ __metadata:
languageName: node
linkType: hard
"flat-cache@npm:^3.0.4":
version: 3.2.0
resolution: "flat-cache@npm:3.2.0"
"flat-cache@npm:^4.0.0":
version: 4.0.1
resolution: "flat-cache@npm:4.0.1"
dependencies:
flatted: ^3.2.9
keyv: ^4.5.3
rimraf: ^3.0.2
checksum: e7e0f59801e288b54bee5cb9681e9ee21ee28ef309f886b312c9d08415b79fc0f24ac842f84356ce80f47d6a53de62197ce0e6e148dc42d5db005992e2a756ec
keyv: ^4.5.4
checksum: 899fc86bf6df093547d76e7bfaeb900824b869d7d457d02e9b8aae24836f0a99fbad79328cfd6415ee8908f180699bf259dc7614f793447cb14f707caf5996f6
languageName: node
linkType: hard
@ -8087,12 +8080,17 @@ __metadata:
languageName: node
linkType: hard
"globals@npm:^13.19.0":
version: 13.24.0
resolution: "globals@npm:13.24.0"
dependencies:
type-fest: ^0.20.2
checksum: 56066ef058f6867c04ff203b8a44c15b038346a62efbc3060052a1016be9f56f4cf0b2cd45b74b22b81e521a889fc7786c73691b0549c2f3a6e825b3d394f43c
"globals@npm:^14.0.0":
version: 14.0.0
resolution: "globals@npm:14.0.0"
checksum: 534b8216736a5425737f59f6e6a5c7f386254560c9f41d24a9227d60ee3ad4a9e82c5b85def0e212e9d92162f83a92544be4c7fd4c902cb913736c10e08237ac
languageName: node
linkType: hard
"globals@npm:^15.8.0":
version: 15.8.0
resolution: "globals@npm:15.8.0"
checksum: 92d0522c47226ca12f6fd8938df04b37852d812cc5a84e31890d919497f102a818d2081570bc08c2dd6353cd8b2699e7180bc468abbbec8c858a19e0fa53aeb8
languageName: node
linkType: hard
@ -10141,7 +10139,7 @@ __metadata:
languageName: node
linkType: hard
"keyv@npm:^4.5.3":
"keyv@npm:^4.5.4":
version: 4.5.4
resolution: "keyv@npm:4.5.4"
dependencies:
@ -10861,7 +10859,7 @@ __metadata:
languageName: node
linkType: hard
"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
dependencies:
@ -13937,8 +13935,8 @@ __metadata:
resolution: "root-workspace-0b6124@workspace:."
dependencies:
"@babel/core": ^7.10.2
"@babel/eslint-parser": ^7.21.3
"@babel/eslint-plugin": ^7.17.7
"@babel/eslint-parser": ^7.24.7
"@babel/eslint-plugin": ^7.24.7
"@babel/plugin-proposal-class-properties": ^7.10.4
"@babel/plugin-proposal-object-rest-spread": ^7.10.1
"@babel/plugin-syntax-jsx": ^7.16.0
@ -13975,8 +13973,6 @@ __metadata:
"@types/jest": ^29.5.4
"@types/react": ^18.0.2
"@types/react-dom": ^18.0.0
"@typescript-eslint/eslint-plugin": ^7.12.0
"@typescript-eslint/parser": ^7.12.0
ajv: ^8.8.2
anti-trojan-source: ^1.4.0
aspen-decorations: ^1.0.2
@ -14001,11 +13997,12 @@ __metadata:
cssnano: ^5.0.2
date-fns: ^3.6.0
diff-arrays-of-objects: ^1.1.8
eslint: ^8.37.0
eslint: ^9.5.0
eslint-plugin-jest: ^27.4.0
eslint-plugin-react: ^7.33.2
eslint-plugin-react: ^7.34.3
eslint-plugin-react-hooks: ^4.3.0
exports-loader: ^4.0.0
globals: ^15.8.0
hotkeys-js: ^3.13.3
html-react-parser: ^5.0.6
html-to-image: ^1.11.11
@ -14066,6 +14063,7 @@ __metadata:
svgo-loader: ^2.2.0
terser-webpack-plugin: ^5.1.1
typescript: ^5.4.5
typescript-eslint: ^7.15.0
uplot: ^1.6.24
uplot-react: ^1.1.4
url-loader: ^4.1.1
@ -15570,13 +15568,6 @@ __metadata:
languageName: node
linkType: hard
"type-fest@npm:^0.20.2":
version: 0.20.2
resolution: "type-fest@npm:0.20.2"
checksum: 4fb3272df21ad1c552486f8a2f8e115c09a521ad7a8db3d56d53718d0c907b62c6e9141ba5f584af3f6830d0872c521357e512381f24f7c44acae583ad517d73
languageName: node
linkType: hard
"type-fest@npm:^0.21.3":
version: 0.21.3
resolution: "type-fest@npm:0.21.3"
@ -15650,6 +15641,22 @@ __metadata:
languageName: node
linkType: hard
"typescript-eslint@npm:^7.15.0":
version: 7.15.0
resolution: "typescript-eslint@npm:7.15.0"
dependencies:
"@typescript-eslint/eslint-plugin": 7.15.0
"@typescript-eslint/parser": 7.15.0
"@typescript-eslint/utils": 7.15.0
peerDependencies:
eslint: ^8.56.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 0a14724dba7a9f402db9d52f8d87b7d86b3472ffc0934627176b572680938ae60c584c5cb18db29335ea47293b6979a5ce6626d34507cd89726ceb15376c7d93
languageName: node
linkType: hard
"typescript@npm:^5.4.5":
version: 5.5.3
resolution: "typescript@npm:5.5.3"