diff --git a/app/javascript/utils/components/Error.jsx b/app/javascript/utils/components/Error.jsx
index b7e6e245b..83e5715f9 100644
--- a/app/javascript/utils/components/Error.jsx
+++ b/app/javascript/utils/components/Error.jsx
@@ -7,7 +7,13 @@ class Error extends React.PureComponent {
return (
);
}
diff --git a/app/javascript/utils/components/LoadingIndicator.jsx b/app/javascript/utils/components/LoadingIndicator.jsx
index 243f7bc5d..706e5ecee 100644
--- a/app/javascript/utils/components/LoadingIndicator.jsx
+++ b/app/javascript/utils/components/LoadingIndicator.jsx
@@ -5,14 +5,13 @@ function LoadingIndicator() {
const { promiseInProgress } = usePromiseTracker();
return (
- promiseInProgress
- && (
-
-
Loading...
-
-
Loading...
+ promiseInProgress && (
+
+
Loading...
+
+ Loading...
+
-
)
);
}
diff --git a/app/javascript/utils/components/custom-plotly.js b/app/javascript/utils/components/custom-plotly.js
index 4ac3f5286..05175a925 100644
--- a/app/javascript/utils/components/custom-plotly.js
+++ b/app/javascript/utils/components/custom-plotly.js
@@ -2,8 +2,6 @@
import Plotly from 'plotly.js/lib/core';
// Load in the trace types for pie, and choropleth
-Plotly.register([
- require('plotly.js/lib/scatter'),
-]);
+Plotly.register([require('plotly.js/lib/scatter')]);
export default Plotly;
diff --git a/babel.config.js b/babel.config.js
index 171872ea0..ce63c3630 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -10,12 +10,13 @@ module.exports = function (api) {
{
development: !isProductionEnv,
useBuiltIns: true,
- runtime: "automatic",
+ runtime: 'automatic',
},
],
].filter(Boolean),
plugins: [
- isProductionEnv && ['babel-plugin-transform-react-remove-prop-types',
+ isProductionEnv && [
+ 'babel-plugin-transform-react-remove-prop-types',
{
removeImport: true,
},
diff --git a/config/webpack/webpack.config.js b/config/webpack/webpack.config.js
index 12bfd6dd7..7367cf9d7 100644
--- a/config/webpack/webpack.config.js
+++ b/config/webpack/webpack.config.js
@@ -5,7 +5,6 @@ const webpackConfig = generateWebpackConfig();
const webpack = require('webpack');
const options = {
-
// Manage css of swagger ui in node_modules, ignore stream
resolve: {
extensions: ['.css'],
@@ -16,11 +15,13 @@ const options = {
},
// Add dependency needed by swagger ui
- plugins: [new webpack.ProvidePlugin({
- $: 'jquery',
- jQuery: 'jquery',
- Buffer: ['buffer', 'Buffer'],
- })],
+ plugins: [
+ new webpack.ProvidePlugin({
+ $: 'jquery',
+ jQuery: 'jquery',
+ Buffer: ['buffer', 'Buffer'],
+ }),
+ ],
// Add loader for plotly parallel coordinates
module: {
diff --git a/eslint.config.cjs b/eslint.config.cjs
new file mode 100644
index 000000000..978178217
--- /dev/null
+++ b/eslint.config.cjs
@@ -0,0 +1,85 @@
+const js = require('@eslint/js');
+const globals = require('globals');
+const reactPlugin = require('eslint-plugin-react');
+const reactHooksPlugin = require('eslint-plugin-react-hooks');
+const jsxA11yPlugin = require('eslint-plugin-jsx-a11y');
+const eslintConfigPrettier = require('eslint-config-prettier');
+
+module.exports = [
+ {
+ ignores: [
+ 'node_modules/**',
+ 'public/packs/**',
+ 'public/packs-test/**',
+ 'public/assets/**',
+ 'vendor/**',
+ 'tmp/**',
+ 'log/**',
+ 'storage/**',
+ 'upload/**',
+ '**/*_out/**',
+ 'reports/**',
+ 'db/*.sqlite3',
+ 'app/javascript/mda_viewer/components/riek/**',
+ ],
+ },
+ {
+ linterOptions: {
+ reportUnusedDisableDirectives: 'off',
+ },
+ },
+ js.configs.recommended,
+ {
+ files: ['app/javascript/**/*.{js,jsx}'],
+ languageOptions: {
+ ecmaVersion: 'latest',
+ sourceType: 'module',
+ parserOptions: {
+ ecmaFeatures: {
+ jsx: true,
+ },
+ },
+ globals: {
+ ...globals.browser,
+ ...globals.es2021,
+ ...globals.commonjs,
+ require: 'readonly',
+ module: 'readonly',
+ $: 'readonly',
+ jQuery: 'readonly',
+ App: 'writable',
+ },
+ },
+ plugins: {
+ react: reactPlugin,
+ 'react-hooks': reactHooksPlugin,
+ 'jsx-a11y': jsxA11yPlugin,
+ },
+ settings: {
+ react: {
+ version: 'detect',
+ },
+ },
+ rules: {
+ ...reactPlugin.configs.recommended.rules,
+ 'react-hooks/rules-of-hooks': 'error',
+ 'react-hooks/exhaustive-deps': 'warn',
+ 'react/react-in-jsx-scope': 'off',
+ 'react/prop-types': 'off',
+ 'no-unused-vars': 'warn',
+ 'no-console': 'off',
+ 'no-underscore-dangle': 'off',
+ },
+ },
+ {
+ files: ['*.{js,cjs,mjs}', 'config/**/*.js'],
+ languageOptions: {
+ ecmaVersion: 'latest',
+ sourceType: 'commonjs',
+ globals: {
+ ...globals.node,
+ },
+ },
+ },
+ eslintConfigPrettier,
+];
diff --git a/package.json b/package.json
index 5a360438a..cfc0e9d81 100644
--- a/package.json
+++ b/package.json
@@ -58,9 +58,15 @@
"webpack-assets-manifest": "^6.4.0",
"webpack-cli": "^7.0.2",
"webpack-merge": "^6.0.1",
- "xdsmjs": "2.0.1-rc.0"
+ "xdsmjs": "^2.0.0"
},
"version": "0.1.0",
+ "scripts": {
+ "lint": "eslint app/javascript config/webpack babel.config.js eslint.config.cjs",
+ "lint:fix": "eslint app/javascript config/webpack babel.config.js eslint.config.cjs --fix",
+ "format": "prettier \"app/javascript/**/*.{js,jsx}\" \"config/webpack/**/*.js\" \"*.{js,cjs,mjs,json}\" --write",
+ "format:check": "prettier \"app/javascript/**/*.{js,jsx}\" \"config/webpack/**/*.js\" \"*.{js,cjs,mjs,json}\" --check"
+ },
"babel": {
"presets": [
"./node_modules/shakapacker/package/babel/preset.js"
@@ -70,19 +76,14 @@
"defaults"
],
"devDependencies": {
- "@babel/eslint-parser": "^7.28.5",
+ "@eslint/js": "^9.39.1",
"eslint": "^9.39.1",
- "eslint-config-airbnb": "^19.0.2",
- "eslint-config-react": "^1.1.7",
- "eslint-config-standard": "^17.0.0",
- "eslint-plugin-import": "^2.20.2",
- "eslint-plugin-jsx-a11y": "^6.2.3",
- "eslint-plugin-n": "^17.23.1",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^7.1.0",
- "eslint-plugin-react": "^7.20.0",
+ "eslint-config-prettier": "^10.1.8",
+ "eslint-plugin-jsx-a11y": "^6.10.2",
+ "eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
- "eslint-webpack-plugin": "^6.0.0",
+ "globals": "^16.4.0",
+ "prettier": "^3.6.2",
"webpack-dev-server": "^5.0.4"
},
"packageManager": "yarn@4.14.1"
diff --git a/postcss.config.js b/postcss.config.js
index aa5998a80..b7ea0f26f 100644
--- a/postcss.config.js
+++ b/postcss.config.js
@@ -4,9 +4,9 @@ module.exports = {
require('postcss-flexbugs-fixes'),
require('postcss-preset-env')({
autoprefixer: {
- flexbox: 'no-2009'
+ flexbox: 'no-2009',
},
- stage: 3
- })
- ]
-}
+ stage: 3,
+ }),
+ ],
+};
diff --git a/yarn.lock b/yarn.lock
index 1fe353078..e887d2a34 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -67,20 +67,6 @@ __metadata:
languageName: node
linkType: hard
-"@babel/eslint-parser@npm:^7.28.5":
- version: 7.28.6
- resolution: "@babel/eslint-parser@npm:7.28.6"
- dependencies:
- "@nicolo-ribaudo/eslint-scope-5-internals": "npm:5.1.1-v1"
- eslint-visitor-keys: "npm:^2.1.0"
- semver: "npm:^6.3.1"
- peerDependencies:
- "@babel/core": ^7.11.0
- eslint: ^7.5.0 || ^8.0.0 || ^9.0.0
- checksum: 10c0/58a85f67a056ba8389978c4654b690b890a6dcd19aa9655c5d7d9349a0c25f124cabad8a190b6bf7045a063aeee1b8e2ab23cfe4d8fa0e0517716a8b70e758bc
- languageName: node
- linkType: hard
-
"@babel/generator@npm:^7.29.0":
version: 7.29.1
resolution: "@babel/generator@npm:7.29.1"
@@ -1271,7 +1257,7 @@ __metadata:
languageName: node
linkType: hard
-"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.5.0, @eslint-community/eslint-utils@npm:^4.8.0":
+"@eslint-community/eslint-utils@npm:^4.8.0":
version: 4.9.1
resolution: "@eslint-community/eslint-utils@npm:4.9.1"
dependencies:
@@ -1282,7 +1268,7 @@ __metadata:
languageName: node
linkType: hard
-"@eslint-community/regexpp@npm:^4.11.0, @eslint-community/regexpp@npm:^4.12.1":
+"@eslint-community/regexpp@npm:^4.12.1":
version: 4.12.2
resolution: "@eslint-community/regexpp@npm:4.12.2"
checksum: 10c0/fddcbc66851b308478d04e302a4d771d6917a0b3740dc351513c0da9ca2eab8a1adf99f5e0aa7ab8b13fa0df005c81adeee7e63a92f3effd7d367a163b721c2d
@@ -1335,7 +1321,7 @@ __metadata:
languageName: node
linkType: hard
-"@eslint/js@npm:9.39.4":
+"@eslint/js@npm:9.39.4, @eslint/js@npm:^9.39.1":
version: 9.39.4
resolution: "@eslint/js@npm:9.39.4"
checksum: 10c0/5aa7dea2cbc5decf7f5e3b0c6f86a084ccee0f792d288ca8e839f8bc1b64e03e227068968e49b26096e6f71fd857ab6e42691d1b993826b9a3883f1bdd7a0e46
@@ -1891,15 +1877,6 @@ __metadata:
languageName: node
linkType: hard
-"@nicolo-ribaudo/eslint-scope-5-internals@npm:5.1.1-v1":
- version: 5.1.1-v1
- resolution: "@nicolo-ribaudo/eslint-scope-5-internals@npm:5.1.1-v1"
- dependencies:
- eslint-scope: "npm:5.1.1"
- checksum: 10c0/75dda3e623b8ad7369ca22552d6beee337a814b2d0e8a32d23edd13fcb65c8082b32c5d86e436f3860dd7ade30d91d5db55d4ef9a08fb5a976c718ecc0d88a74
- languageName: node
- linkType: hard
-
"@noble/hashes@npm:1.4.0":
version: 1.4.0
resolution: "@noble/hashes@npm:1.4.0"
@@ -2332,13 +2309,6 @@ __metadata:
languageName: node
linkType: hard
-"@rtsao/scc@npm:^1.1.0":
- version: 1.1.0
- resolution: "@rtsao/scc@npm:1.1.0"
- checksum: 10c0/b5bcfb0d87f7d1c1c7c0f7693f53b07866ed9fec4c34a97a8c948fb9a7c0082e416ce4d3b60beb4f5e167cbe04cdeefbf6771320f3ede059b9ce91188c409a5b
- languageName: node
- linkType: hard
-
"@scarf/scarf@npm:=1.4.0":
version: 1.4.0
resolution: "@scarf/scarf@npm:1.4.0"
@@ -3150,7 +3120,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/eslint@npm:*, @types/eslint@npm:^9.6.1":
+"@types/eslint@npm:*":
version: 9.6.1
resolution: "@types/eslint@npm:9.6.1"
dependencies:
@@ -3287,13 +3257,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/json5@npm:^0.0.29":
- version: 0.0.29
- resolution: "@types/json5@npm:0.0.29"
- checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac
- languageName: node
- linkType: hard
-
"@types/mapbox__point-geometry@npm:*":
version: 1.0.87
resolution: "@types/mapbox__point-geometry@npm:1.0.87"
@@ -3933,7 +3896,7 @@ __metadata:
languageName: node
linkType: hard
-"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8, array-includes@npm:^3.1.9":
+"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8":
version: 3.1.9
resolution: "array-includes@npm:3.1.9"
dependencies:
@@ -3979,22 +3942,7 @@ __metadata:
languageName: node
linkType: hard
-"array.prototype.findlastindex@npm:^1.2.6":
- version: 1.2.6
- resolution: "array.prototype.findlastindex@npm:1.2.6"
- dependencies:
- call-bind: "npm:^1.0.8"
- call-bound: "npm:^1.0.4"
- define-properties: "npm:^1.2.1"
- es-abstract: "npm:^1.23.9"
- es-errors: "npm:^1.3.0"
- es-object-atoms: "npm:^1.1.1"
- es-shim-unscopables: "npm:^1.1.0"
- checksum: 10c0/82559310d2e57ec5f8fc53d7df420e3abf0ba497935de0a5570586035478ba7d07618cb18e2d4ada2da514c8fb98a034aaf5c06caa0a57e2f7f4c4adedef5956
- languageName: node
- linkType: hard
-
-"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.3":
+"array.prototype.flat@npm:^1.3.1":
version: 1.3.3
resolution: "array.prototype.flat@npm:1.3.3"
dependencies:
@@ -4097,9 +4045,9 @@ __metadata:
linkType: hard
"axe-core@npm:^4.10.0":
- version: 4.11.2
- resolution: "axe-core@npm:4.11.2"
- checksum: 10c0/606ec10fce83d918a09b571309899bd396ff32485e7513444419e85ab3944f59f3ab46387a6f6b15c796dba9c5dc41007646b00f971f8f27fcc80ba92539ab25
+ version: 4.11.4
+ resolution: "axe-core@npm:4.11.4"
+ checksum: 10c0/c4aa83fc3eac5f7a0d0cb1a28f9d073acf0c06ce8daacc38608faa278c57ce084c028c850746b98817ae4c101c30c1a32e95ea34748c4b4c7419b9b81221ef84
languageName: node
linkType: hard
@@ -4866,13 +4814,6 @@ __metadata:
languageName: node
linkType: hard
-"confusing-browser-globals@npm:^1.0.10":
- version: 1.0.11
- resolution: "confusing-browser-globals@npm:1.0.11"
- checksum: 10c0/475d0a284fa964a5182b519af5738b5b64bf7e413cfd703c1b3496bf6f4df9f827893a9b221c0ea5873c1476835beb1e0df569ba643eff0734010c1eb780589e
- languageName: node
- linkType: hard
-
"connect-history-api-fallback@npm:^2.0.0":
version: 2.0.0
resolution: "connect-history-api-fallback@npm:2.0.0"
@@ -5522,7 +5463,7 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:^3.2.6, debug@npm:^3.2.7":
+"debug@npm:^3.2.6":
version: 3.2.7
resolution: "debug@npm:3.2.7"
dependencies:
@@ -5899,7 +5840,7 @@ __metadata:
languageName: node
linkType: hard
-"enhanced-resolve@npm:^5.17.1, enhanced-resolve@npm:^5.20.0":
+"enhanced-resolve@npm:^5.20.0":
version: 5.20.1
resolution: "enhanced-resolve@npm:5.20.1"
dependencies:
@@ -6060,7 +6001,7 @@ __metadata:
languageName: node
linkType: hard
-"es-shim-unscopables@npm:^1.0.2, es-shim-unscopables@npm:^1.1.0":
+"es-shim-unscopables@npm:^1.0.2":
version: 1.1.0
resolution: "es-shim-unscopables@npm:1.1.0"
dependencies:
@@ -6164,146 +6105,18 @@ __metadata:
languageName: node
linkType: hard
-"eslint-compat-utils@npm:^0.5.1":
- version: 0.5.1
- resolution: "eslint-compat-utils@npm:0.5.1"
- dependencies:
- semver: "npm:^7.5.4"
+"eslint-config-prettier@npm:^10.1.8":
+ version: 10.1.8
+ resolution: "eslint-config-prettier@npm:10.1.8"
peerDependencies:
- eslint: ">=6.0.0"
- checksum: 10c0/325e815205fab70ebcd379f6d4b5d44c7d791bb8dfe0c9888233f30ebabd9418422595b53a781b946c768d9244d858540e5e6129a6b3dd6d606f467d599edc6c
- languageName: node
- linkType: hard
-
-"eslint-config-airbnb-base@npm:^15.0.0":
- version: 15.0.0
- resolution: "eslint-config-airbnb-base@npm:15.0.0"
- dependencies:
- confusing-browser-globals: "npm:^1.0.10"
- object.assign: "npm:^4.1.2"
- object.entries: "npm:^1.1.5"
- semver: "npm:^6.3.0"
- peerDependencies:
- eslint: ^7.32.0 || ^8.2.0
- eslint-plugin-import: ^2.25.2
- checksum: 10c0/93639d991654414756f82ad7860aac30b0dc6797277b7904ddb53ed88a32c470598696bbc6c503e066414024d305221974d3769e6642de65043bedf29cbbd30f
- languageName: node
- linkType: hard
-
-"eslint-config-airbnb@npm:^19.0.2":
- version: 19.0.4
- resolution: "eslint-config-airbnb@npm:19.0.4"
- dependencies:
- eslint-config-airbnb-base: "npm:^15.0.0"
- object.assign: "npm:^4.1.2"
- object.entries: "npm:^1.1.5"
- peerDependencies:
- eslint: ^7.32.0 || ^8.2.0
- eslint-plugin-import: ^2.25.3
- eslint-plugin-jsx-a11y: ^6.5.1
- eslint-plugin-react: ^7.28.0
- eslint-plugin-react-hooks: ^4.3.0
- checksum: 10c0/867feeda45c4b480b1b8eff8fabc1bb107e837da8b48e5039e0c175ae6ad34af383b1924fc163bbfcef24a324e6651b1515e5bd12cbcbb19535a8838e2544a02
- languageName: node
- linkType: hard
-
-"eslint-config-react@npm:^1.1.7":
- version: 1.1.7
- resolution: "eslint-config-react@npm:1.1.7"
- checksum: 10c0/cba465fef2a29dda476c5e630668f60eaf319aa90ada9a4b38cb029b361cc696581df5c30847a181bb9e5e366cfd32869729250a6c5fe31d8ce97135eae4abcb
- languageName: node
- linkType: hard
-
-"eslint-config-standard@npm:^17.0.0":
- version: 17.1.0
- resolution: "eslint-config-standard@npm:17.1.0"
- peerDependencies:
- eslint: ^8.0.1
- eslint-plugin-import: ^2.25.2
- eslint-plugin-n: "^15.0.0 || ^16.0.0 "
- eslint-plugin-promise: ^6.0.0
- checksum: 10c0/d32f37ec4bea541debd3a8c9e05227673a9b1a9977da078195ee55fb371813ddf1349c75f2c33d76699fe3412f1e303181795f146e8d0e546b94fa0dce2bfbf9
- languageName: node
- linkType: hard
-
-"eslint-import-resolver-node@npm:^0.3.9":
- version: 0.3.10
- resolution: "eslint-import-resolver-node@npm:0.3.10"
- dependencies:
- debug: "npm:^3.2.7"
- is-core-module: "npm:^2.16.1"
- resolve: "npm:^2.0.0-next.6"
- checksum: 10c0/2e05bdb148fe10a25b9a6fec3c4986a2e09e98bb99208491df82a9df7725f7bb312482d585404c440d42e58ab60debe7a48d9c992191851385b18d33a146e3c3
- languageName: node
- linkType: hard
-
-"eslint-module-utils@npm:^2.12.1":
- version: 2.12.1
- resolution: "eslint-module-utils@npm:2.12.1"
- dependencies:
- debug: "npm:^3.2.7"
- peerDependenciesMeta:
- eslint:
- optional: true
- checksum: 10c0/6f4efbe7a91ae49bf67b4ab3644cb60bc5bd7db4cb5521de1b65be0847ffd3fb6bce0dd68f0995e1b312d137f768e2a1f842ee26fe73621afa05f850628fdc40
- languageName: node
- linkType: hard
-
-"eslint-plugin-es-x@npm:^7.8.0":
- version: 7.8.0
- resolution: "eslint-plugin-es-x@npm:7.8.0"
- dependencies:
- "@eslint-community/eslint-utils": "npm:^4.1.2"
- "@eslint-community/regexpp": "npm:^4.11.0"
- eslint-compat-utils: "npm:^0.5.1"
- peerDependencies:
- eslint: ">=8"
- checksum: 10c0/002fda8c029bc5da41e24e7ac11654062831d675fc4f5f20d0de460e24bf1e05cd559000678ef3e46c48641190f4fc07ae3d57aa5e8b085ef5f67e5f63742614
- languageName: node
- linkType: hard
-
-"eslint-plugin-es@npm:^3.0.0":
- version: 3.0.1
- resolution: "eslint-plugin-es@npm:3.0.1"
- dependencies:
- eslint-utils: "npm:^2.0.0"
- regexpp: "npm:^3.0.0"
- peerDependencies:
- eslint: ">=4.19.1"
- checksum: 10c0/12ae730aa9603e680af048e1653aac15e529411b68b8d0da6e290700b17c695485af7c3f5360f531f80970786cab7288c2c1d4a58c35ec1bb89649897c016c4a
- languageName: node
- linkType: hard
-
-"eslint-plugin-import@npm:^2.20.2":
- version: 2.32.0
- resolution: "eslint-plugin-import@npm:2.32.0"
- dependencies:
- "@rtsao/scc": "npm:^1.1.0"
- array-includes: "npm:^3.1.9"
- array.prototype.findlastindex: "npm:^1.2.6"
- array.prototype.flat: "npm:^1.3.3"
- array.prototype.flatmap: "npm:^1.3.3"
- debug: "npm:^3.2.7"
- doctrine: "npm:^2.1.0"
- eslint-import-resolver-node: "npm:^0.3.9"
- eslint-module-utils: "npm:^2.12.1"
- hasown: "npm:^2.0.2"
- is-core-module: "npm:^2.16.1"
- is-glob: "npm:^4.0.3"
- minimatch: "npm:^3.1.2"
- object.fromentries: "npm:^2.0.8"
- object.groupby: "npm:^1.0.3"
- object.values: "npm:^1.2.1"
- semver: "npm:^6.3.1"
- string.prototype.trimend: "npm:^1.0.9"
- tsconfig-paths: "npm:^3.15.0"
- peerDependencies:
- eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9
- checksum: 10c0/bfb1b8fc8800398e62ddfefbf3638d185286edfed26dfe00875cc2846d954491b4f5112457831588b757fa789384e1ae585f812614c4797f0499fa234fd4a48b
+ eslint: ">=7.0.0"
+ bin:
+ eslint-config-prettier: bin/cli.js
+ checksum: 10c0/e1bcfadc9eccd526c240056b1e59c5cd26544fe59feb85f38f4f1f116caed96aea0b3b87868e68b3099e55caaac3f2e5b9f58110f85db893e83a332751192682
languageName: node
linkType: hard
-"eslint-plugin-jsx-a11y@npm:^6.2.3":
+"eslint-plugin-jsx-a11y@npm:^6.10.2":
version: 6.10.2
resolution: "eslint-plugin-jsx-a11y@npm:6.10.2"
dependencies:
@@ -6328,52 +6141,6 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-n@npm:^17.23.1":
- version: 17.24.0
- resolution: "eslint-plugin-n@npm:17.24.0"
- dependencies:
- "@eslint-community/eslint-utils": "npm:^4.5.0"
- enhanced-resolve: "npm:^5.17.1"
- eslint-plugin-es-x: "npm:^7.8.0"
- get-tsconfig: "npm:^4.8.1"
- globals: "npm:^15.11.0"
- globrex: "npm:^0.1.2"
- ignore: "npm:^5.3.2"
- semver: "npm:^7.6.3"
- ts-declaration-location: "npm:^1.0.6"
- peerDependencies:
- eslint: ">=8.23.0"
- checksum: 10c0/65b6c9ccd4d69296df9bdc0517bdbbc71e5f1ec065e80623c49148ff7813829bd3568154a016fefc06749476f3fdadc0e1afa61a15695893a3ca3da161c9fe86
- languageName: node
- linkType: hard
-
-"eslint-plugin-node@npm:^11.1.0":
- version: 11.1.0
- resolution: "eslint-plugin-node@npm:11.1.0"
- dependencies:
- eslint-plugin-es: "npm:^3.0.0"
- eslint-utils: "npm:^2.0.0"
- ignore: "npm:^5.1.1"
- minimatch: "npm:^3.0.4"
- resolve: "npm:^1.10.1"
- semver: "npm:^6.1.0"
- peerDependencies:
- eslint: ">=5.16.0"
- checksum: 10c0/c7716adac4020cb852fd2410dcd8bdb13a227004de77f96d7f9806d0cf2274f24e0920a7ca73bcd72d90003696c1f17fdd9fe3ca218e64ee03dc2b840e4416fa
- languageName: node
- linkType: hard
-
-"eslint-plugin-promise@npm:^7.1.0":
- version: 7.2.1
- resolution: "eslint-plugin-promise@npm:7.2.1"
- dependencies:
- "@eslint-community/eslint-utils": "npm:^4.4.0"
- peerDependencies:
- eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
- checksum: 10c0/d494982faeeafbd2aa5fae9cbceca546169a8399000f72d5d940fa5c4ba554612903bcafbb8033647179e5d21ccf1d621b433d089695f7f47ce3d9fcf4cd0abf
- languageName: node
- linkType: hard
-
"eslint-plugin-react-hooks@npm:^7.0.1":
version: 7.0.1
resolution: "eslint-plugin-react-hooks@npm:7.0.1"
@@ -6389,7 +6156,7 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-react@npm:^7.20.0":
+"eslint-plugin-react@npm:^7.37.5":
version: 7.37.5
resolution: "eslint-plugin-react@npm:7.37.5"
dependencies:
@@ -6437,29 +6204,6 @@ __metadata:
languageName: node
linkType: hard
-"eslint-utils@npm:^2.0.0":
- version: 2.1.0
- resolution: "eslint-utils@npm:2.1.0"
- dependencies:
- eslint-visitor-keys: "npm:^1.1.0"
- checksum: 10c0/69521c5d6569384b24093125d037ba238d3d6e54367f7143af9928f5286369e912c26cad5016d730c0ffb9797ac9e83831059d7f1d863f7dc84330eb02414611
- languageName: node
- linkType: hard
-
-"eslint-visitor-keys@npm:^1.1.0":
- version: 1.3.0
- resolution: "eslint-visitor-keys@npm:1.3.0"
- checksum: 10c0/10c91fdbbe36810dd4308e57f9a8bc7177188b2a70247e54e3af1fa05ebc66414ae6fd4ce3c6c6821591f43a556e9037bc6b071122e099b5f8b7d2f76df553e3
- languageName: node
- linkType: hard
-
-"eslint-visitor-keys@npm:^2.1.0":
- version: 2.1.0
- resolution: "eslint-visitor-keys@npm:2.1.0"
- checksum: 10c0/9f0e3a2db751d84067d15977ac4b4472efd6b303e369e6ff241a99feac04da758f46d5add022c33d06b53596038dbae4b4aceb27c7e68b8dfc1055b35e495787
- languageName: node
- linkType: hard
-
"eslint-visitor-keys@npm:^3.4.3":
version: 3.4.3
resolution: "eslint-visitor-keys@npm:3.4.3"
@@ -6474,21 +6218,6 @@ __metadata:
languageName: node
linkType: hard
-"eslint-webpack-plugin@npm:^6.0.0":
- version: 6.0.0
- resolution: "eslint-webpack-plugin@npm:6.0.0"
- dependencies:
- "@types/eslint": "npm:^9.6.1"
- micromatch: "npm:^4.0.8"
- normalize-path: "npm:^3.0.0"
- schema-utils: "npm:^4.3.3"
- peerDependencies:
- eslint: ^9.0.0 || ^10.0.0
- webpack: ^5.0.0
- checksum: 10c0/9805305057c5a715287d23a03e9359f41b7b52407c4e73d81d4168843a52d548cf621d3a6341456918be1914a06d594b8021b67c18038c69473afab62b1a9302
- languageName: node
- linkType: hard
-
"eslint@npm:^9.39.1":
version: 9.39.4
resolution: "eslint@npm:9.39.4"
@@ -7137,15 +6866,6 @@ __metadata:
languageName: node
linkType: hard
-"get-tsconfig@npm:^4.8.1":
- version: 4.13.7
- resolution: "get-tsconfig@npm:4.13.7"
- dependencies:
- resolve-pkg-maps: "npm:^1.0.0"
- checksum: 10c0/1118eb7e9b27bce0b9b6f042e98f0d067e26dfa1ca32bc4b56e892b615b57a5a4af9e6f801c7b0611a4afef2e31c4941be4c6026e0e6a480aaf1ddaf261113d5
- languageName: node
- linkType: hard
-
"gl-mat4@npm:^1.2.0":
version: 1.2.0
resolution: "gl-mat4@npm:1.2.0"
@@ -7277,10 +6997,10 @@ __metadata:
languageName: node
linkType: hard
-"globals@npm:^15.11.0":
- version: 15.15.0
- resolution: "globals@npm:15.15.0"
- checksum: 10c0/f9ae80996392ca71316495a39bec88ac43ae3525a438b5626cd9d5ce9d5500d0a98a266409605f8cd7241c7acf57c354a48111ea02a767ba4f374b806d6861fe
+"globals@npm:^16.4.0":
+ version: 16.5.0
+ resolution: "globals@npm:16.5.0"
+ checksum: 10c0/615241dae7851c8012f5aa0223005b1ed6607713d6813de0741768bd4ddc39353117648f1a7086b4b0fa45eae733f1c0a0fe369aa4e543bb63f8de8990178ea9
languageName: node
linkType: hard
@@ -7294,13 +7014,6 @@ __metadata:
languageName: node
linkType: hard
-"globrex@npm:^0.1.2":
- version: 0.1.2
- resolution: "globrex@npm:0.1.2"
- checksum: 10c0/a54c029520cf58bda1d8884f72bd49b4cd74e977883268d931fd83bcbd1a9eb96d57c7dbd4ad80148fb9247467ebfb9b215630b2ed7563b2a8de02e1ff7f89d1
- languageName: node
- linkType: hard
-
"glsl-inject-defines@npm:^1.0.1":
version: 1.0.3
resolution: "glsl-inject-defines@npm:1.0.3"
@@ -7802,7 +7515,7 @@ __metadata:
languageName: node
linkType: hard
-"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.3.2":
+"ignore@npm:^5.2.0":
version: 5.3.2
resolution: "ignore@npm:5.3.2"
checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337
@@ -8503,17 +8216,6 @@ __metadata:
languageName: node
linkType: hard
-"json5@npm:^1.0.2":
- version: 1.0.2
- resolution: "json5@npm:1.0.2"
- dependencies:
- minimist: "npm:^1.2.0"
- bin:
- json5: lib/cli.js
- checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f
- languageName: node
- linkType: hard
-
"json5@npm:^2.2.3":
version: 2.2.3
resolution: "json5@npm:2.2.3"
@@ -8874,7 +8576,7 @@ __metadata:
languageName: node
linkType: hard
-"micromatch@npm:^4.0.2, micromatch@npm:^4.0.8":
+"micromatch@npm:^4.0.2":
version: 4.0.8
resolution: "micromatch@npm:4.0.8"
dependencies:
@@ -8962,7 +8664,7 @@ __metadata:
languageName: node
linkType: hard
-"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2, minimatch@npm:^3.1.5":
+"minimatch@npm:^3.1.1, minimatch@npm:^3.1.2, minimatch@npm:^3.1.5":
version: 3.1.5
resolution: "minimatch@npm:3.1.5"
dependencies:
@@ -8971,7 +8673,7 @@ __metadata:
languageName: node
linkType: hard
-"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8":
+"minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8":
version: 1.2.8
resolution: "minimist@npm:1.2.8"
checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6
@@ -9394,7 +9096,7 @@ __metadata:
languageName: node
linkType: hard
-"object.assign@npm:^4.1.2, object.assign@npm:^4.1.4, object.assign@npm:^4.1.7":
+"object.assign@npm:^4.1.4, object.assign@npm:^4.1.7":
version: 4.1.7
resolution: "object.assign@npm:4.1.7"
dependencies:
@@ -9408,7 +9110,7 @@ __metadata:
languageName: node
linkType: hard
-"object.entries@npm:^1.1.5, object.entries@npm:^1.1.9":
+"object.entries@npm:^1.1.9":
version: 1.1.9
resolution: "object.entries@npm:1.1.9"
dependencies:
@@ -9432,17 +9134,6 @@ __metadata:
languageName: node
linkType: hard
-"object.groupby@npm:^1.0.3":
- version: 1.0.3
- resolution: "object.groupby@npm:1.0.3"
- dependencies:
- call-bind: "npm:^1.0.7"
- define-properties: "npm:^1.2.1"
- es-abstract: "npm:^1.23.2"
- checksum: 10c0/60d0455c85c736fbfeda0217d1a77525956f76f7b2495edeca9e9bbf8168a45783199e77b894d30638837c654d0cc410e0e02cbfcf445bc8de71c3da1ede6a9c
- languageName: node
- linkType: hard
-
"object.values@npm:^1.1.6, object.values@npm:^1.2.1":
version: 1.2.1
resolution: "object.values@npm:1.2.1"
@@ -9781,7 +9472,7 @@ __metadata:
languageName: node
linkType: hard
-"picomatch@npm:^4.0.2, picomatch@npm:^4.0.3, picomatch@npm:^4.0.4":
+"picomatch@npm:^4.0.3, picomatch@npm:^4.0.4":
version: 4.0.4
resolution: "picomatch@npm:4.0.4"
checksum: 10c0/e2c6023372cc7b5764719a5ffb9da0f8e781212fa7ca4bd0562db929df8e117460f00dff3cb7509dacfc06b86de924b247f504d0ce1806a37fac4633081466b0
@@ -10299,6 +9990,15 @@ __metadata:
languageName: node
linkType: hard
+"prettier@npm:^3.6.2":
+ version: 3.8.3
+ resolution: "prettier@npm:3.8.3"
+ bin:
+ prettier: bin/prettier.cjs
+ checksum: 10c0/754816fd7593eb80f6376d7476d463e832c38a12f32775a82683adb6e35b772b1f484d65f19401507b983a8c8a7cd5a4a9f12006bd56491e8f35503473f77473
+ languageName: node
+ linkType: hard
+
"prismjs@npm:^1.30.0":
version: 1.30.0
resolution: "prismjs@npm:1.30.0"
@@ -10897,13 +10597,6 @@ __metadata:
languageName: node
linkType: hard
-"regexpp@npm:^3.0.0":
- version: 3.2.0
- resolution: "regexpp@npm:3.2.0"
- checksum: 10c0/d1da82385c8754a1681416b90b9cca0e21b4a2babef159099b88f640637d789c69011d0bc94705dacab85b81133e929d027d85210e8b8b03f8035164dbc14710
- languageName: node
- linkType: hard
-
"regexpu-core@npm:^6.3.1":
version: 6.4.0
resolution: "regexpu-core@npm:6.4.0"
@@ -11081,13 +10774,6 @@ __metadata:
languageName: node
linkType: hard
-"resolve-pkg-maps@npm:^1.0.0":
- version: 1.0.0
- resolution: "resolve-pkg-maps@npm:1.0.0"
- checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab
- languageName: node
- linkType: hard
-
"resolve-protobuf-schema@npm:^2.1.0":
version: 2.1.0
resolution: "resolve-protobuf-schema@npm:2.1.0"
@@ -11104,7 +10790,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@npm:^1.0.0, resolve@npm:^1.1.10, resolve@npm:^1.1.5, resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.20.0, resolve@npm:^1.22.11":
+"resolve@npm:^1.0.0, resolve@npm:^1.1.10, resolve@npm:^1.1.5, resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.20.0, resolve@npm:^1.22.11":
version: 1.22.12
resolution: "resolve@npm:1.22.12"
dependencies:
@@ -11118,7 +10804,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@npm:^2.0.0-next.5, resolve@npm:^2.0.0-next.6":
+"resolve@npm:^2.0.0-next.5":
version: 2.0.0-next.6
resolution: "resolve@npm:2.0.0-next.6"
dependencies:
@@ -11141,7 +10827,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin
, resolve@patch:resolve@npm%3A^1.1.10#optional!builtin, resolve@patch:resolve@npm%3A^1.1.5#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.11#optional!builtin":
+"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin, resolve@patch:resolve@npm%3A^1.1.10#optional!builtin, resolve@patch:resolve@npm%3A^1.1.5#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.11#optional!builtin":
version: 1.22.12
resolution: "resolve@patch:resolve@npm%3A1.22.12#optional!builtin::version=1.22.12&hash=c3c19d"
dependencies:
@@ -11155,7 +10841,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin, resolve@patch:resolve@npm%3A^2.0.0-next.6#optional!builtin":
+"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin":
version: 2.0.0-next.6
resolution: "resolve@patch:resolve@npm%3A2.0.0-next.6#optional!builtin::version=2.0.0-next.6&hash=c3c19d"
dependencies:
@@ -11336,7 +11022,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^6.1.0, semver@npm:^6.3.0, semver@npm:^6.3.1":
+"semver@npm:^6.3.1":
version: 6.3.1
resolution: "semver@npm:6.3.1"
bin:
@@ -11345,7 +11031,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^7.3.5, semver@npm:^7.5.4, semver@npm:^7.6.3":
+"semver@npm:^7.3.5, semver@npm:^7.6.3":
version: 7.7.4
resolution: "semver@npm:7.7.4"
bin:
@@ -12023,13 +11709,6 @@ __metadata:
languageName: node
linkType: hard
-"strip-bom@npm:^3.0.0":
- version: 3.0.0
- resolution: "strip-bom@npm:3.0.0"
- checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1
- languageName: node
- linkType: hard
-
"strip-json-comments@npm:^3.1.1":
version: 3.1.1
resolution: "strip-json-comments@npm:3.1.1"
@@ -12477,17 +12156,6 @@ __metadata:
languageName: node
linkType: hard
-"ts-declaration-location@npm:^1.0.6":
- version: 1.0.7
- resolution: "ts-declaration-location@npm:1.0.7"
- dependencies:
- picomatch: "npm:^4.0.2"
- peerDependencies:
- typescript: ">=4.0.0"
- checksum: 10c0/b579b7630907052cc174b051dffdb169424824d887d8fb5abdc61e7ab0eede348c2b71c998727b9e4b314c0436f5003a15bb7eedb1c851afe96e12499f159630
- languageName: node
- linkType: hard
-
"ts-mixer@npm:^6.0.3, ts-mixer@npm:^6.0.4":
version: 6.0.4
resolution: "ts-mixer@npm:6.0.4"
@@ -12512,18 +12180,6 @@ __metadata:
languageName: node
linkType: hard
-"tsconfig-paths@npm:^3.15.0":
- version: 3.15.0
- resolution: "tsconfig-paths@npm:3.15.0"
- dependencies:
- "@types/json5": "npm:^0.0.29"
- json5: "npm:^1.0.2"
- minimist: "npm:^1.2.6"
- strip-bom: "npm:^3.0.0"
- checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5
- languageName: node
- linkType: hard
-
"tslib@npm:^1.9.3":
version: 1.14.1
resolution: "tslib@npm:1.14.1"
@@ -13109,11 +12765,11 @@ __metadata:
"@atlaskit/pragmatic-drag-and-drop": "npm:^1.7.10"
"@atlaskit/pragmatic-drag-and-drop-hitbox": "npm:^1.1.0"
"@babel/core": "npm:^7.28.5"
- "@babel/eslint-parser": "npm:^7.28.5"
"@babel/plugin-transform-runtime": "npm:^7.28.5"
"@babel/preset-env": "npm:^7.28.5"
"@babel/preset-react": "npm:^7.28.5"
"@babel/runtime": "npm:^7.28.4"
+ "@eslint/js": "npm:^9.39.1"
"@popperjs/core": "npm:^2.11.6"
"@rails/actiontext": "npm:^8.1.100"
"@rails/ujs": "npm:^7.1.3-4"
@@ -13138,24 +12794,19 @@ __metadata:
debug: "npm:^4.4.3"
diff2html: "npm:^3.4.22"
eslint: "npm:^9.39.1"
- eslint-config-airbnb: "npm:^19.0.2"
- eslint-config-react: "npm:^1.1.7"
- eslint-config-standard: "npm:^17.0.0"
- eslint-plugin-import: "npm:^2.20.2"
- eslint-plugin-jsx-a11y: "npm:^6.2.3"
- eslint-plugin-n: "npm:^17.23.1"
- eslint-plugin-node: "npm:^11.1.0"
- eslint-plugin-promise: "npm:^7.1.0"
- eslint-plugin-react: "npm:^7.20.0"
+ eslint-config-prettier: "npm:^10.1.8"
+ eslint-plugin-jsx-a11y: "npm:^6.10.2"
+ eslint-plugin-react: "npm:^7.37.5"
eslint-plugin-react-hooks: "npm:^7.0.1"
- eslint-webpack-plugin: "npm:^6.0.0"
expose-loader: "npm:^5.0.0"
+ globals: "npm:^16.4.0"
ify-loader: "npm:^1.1.0"
immutability-helper: "npm:^3.0.2"
jquery: "npm:^3.6.1"
mini-css-extract-plugin: "npm:^2.5.3"
plotly.js: "npm:^3.3.0"
pnp-webpack-plugin: "npm:1"
+ prettier: "npm:^3.6.2"
prop-types: "npm:^15.7.2"
qs: "npm:^6.9.4"
react: "npm:^19.2.0"
@@ -13175,7 +12826,7 @@ __metadata:
webpack-cli: "npm:^7.0.2"
webpack-dev-server: "npm:^5.0.4"
webpack-merge: "npm:^6.0.1"
- xdsmjs: "npm:2.0.1-rc.0"
+ xdsmjs: "npm:^2.0.0"
languageName: unknown
linkType: soft
@@ -13338,15 +12989,15 @@ __metadata:
languageName: node
linkType: hard
-"xdsmjs@npm:2.0.1-rc.0":
- version: 2.0.1-rc.0
- resolution: "xdsmjs@npm:2.0.1-rc.0"
+"xdsmjs@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "xdsmjs@npm:2.0.1"
dependencies:
d3-color: "npm:^3.1.0"
d3-fetch: "npm:^3.0.1"
d3-selection: "npm:^3.0.0"
d3-transition: "npm:^3.0.1"
- checksum: 10c0/e112a986316d42feeee4167fa9f84c39b1b13b6b6c28d37f428c0af829e00948bb73c8b60b5b747461dea50221f9e36fb3dd78b2d835dd5d77e5774d0db531b4
+ checksum: 10c0/c6e4bc8fc8b32259c2a17c96b50d19a81e5ad9598c7eb7384722958af99dad829c47f4cdcc3410b1a9afe8ba37f27f46baf2204f62f1a94ad59f629b11406cc8
languageName: node
linkType: hard