diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml
index dcb4db443..eea2f59a2 100644
--- a/.github/workflows/pre-commit.yml
+++ b/.github/workflows/pre-commit.yml
@@ -21,6 +21,7 @@ jobs:
# CI validates the repo scripts directly so formatting and spelling
# always use the repo-root toolchain and config.
- run: npm ci
+ - run: npm run lint
- run: npm run format:check
- run: npm run cspell
- run: npm run test:reference-links
diff --git a/.oxlintrc.json b/.oxlintrc.json
new file mode 100644
index 000000000..7f03e6d97
--- /dev/null
+++ b/.oxlintrc.json
@@ -0,0 +1,12 @@
+{
+ "$schema": "./node_modules/oxlint/configuration_schema.json",
+ "categories": {
+ "correctness": "error"
+ },
+ "env": {
+ "builtin": true
+ },
+ "ignorePatterns": ["plugins/"],
+ "plugins": ["typescript", "unicorn", "oxc"],
+ "rules": {}
+}
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index c7582c042..84cda3725 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -6,7 +6,6 @@ import {Config} from '@docusaurus/types';
import type {Options as OpenApiPluginOptions} from 'docusaurus-plugin-openapi-docs';
const dotenv = require('dotenv');
-const webpack = require('webpack');
dotenv.config();
diff --git a/package-lock.json b/package-lock.json
index 9692430b3..dea4d7583 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -52,6 +52,7 @@
"image-size": "^2.0.2",
"js-yaml": "^5.2.3",
"oxfmt": "^0.62.0",
+ "oxlint": "^1.76.0",
"typescript": "^6.0.3"
},
"engines": {
@@ -6273,9 +6274,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -6293,9 +6291,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -6313,9 +6308,6 @@
"ppc64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -6333,9 +6325,6 @@
"riscv64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -6353,9 +6342,6 @@
"riscv64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -6373,9 +6359,6 @@
"s390x"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -6393,9 +6376,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -6413,9 +6393,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -6493,6 +6470,23 @@
"node": "^20.19.0 || >=22.12.0"
}
},
+ "node_modules/@oxlint/binding-linux-x64-gnu": {
+ "version": "1.76.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.76.0.tgz",
+ "integrity": "sha512-JLiy5WuvEBFTT6ErIFV35SLzi0R7Iri6MKU6dZbTxfIx8pndbbPs3Mj780nMipBFcPkti+okAPOJ9POKkHFEgg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ }
+ },
"node_modules/@parcel/watcher": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.6.0.tgz",
@@ -6528,166 +6522,6 @@
"@parcel/watcher-win32-x64": "2.6.0"
}
},
- "node_modules/@parcel/watcher-android-arm64": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.6.0.tgz",
- "integrity": "sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-darwin-arm64": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.6.0.tgz",
- "integrity": "sha512-Y3QV0gl7Q1zbfueunkWIERICbEojQFCgpyG7YqOGNFLsckXyI1xu9mAIUpKY9QBYzBtSkN8dBPwd3yiAO9ovMw==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-darwin-x64": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.6.0.tgz",
- "integrity": "sha512-Ohv6OpzhUfKYD7Beb8kDvG0jbIxORCYY1JRdZnaBtnjjkJxgD7ZVL0nw2sCYd0yTMKTvz3nnTnOF3cDifK+kvw==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-freebsd-x64": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.6.0.tgz",
- "integrity": "sha512-5HmXvDgs8VK+74jF9y9/2FE3/OnlcKmc56tjmSrEuZjpSZOGL+fvAu+HKJBdPs9uwoP2hE6TlSUpXZ/C5jUFmQ==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-linux-arm-glibc": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.6.0.tgz",
- "integrity": "sha512-Ps/hui3A+vMbjdqlqAowK2ZL8+BO8dBjxeWXj6npTBs3jx4wWmbPpaLuqwrQrSqIVMCnpWo238bJ1U37GhQOYg==",
- "cpu": [
- "arm"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-linux-arm-musl": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.6.0.tgz",
- "integrity": "sha512-9c6AUHgHoG+IY88MRIHupztQiQnrbqHYQjkM2btA+Bf/wQnQMuiD0Wfk1EVv3TlNT3x41uU71rn6E4xh/+zvkw==",
- "cpu": [
- "arm"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-linux-arm64-glibc": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.6.0.tgz",
- "integrity": "sha512-yHRqS2owEXe6Hic9z6Mh1ECsCd+ODVOGvZDyciqRd21+v+o+DnXMOrw50DSpIG2sb8GPEaPPmfeCAWKPJdq46g==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-linux-arm64-musl": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.6.0.tgz",
- "integrity": "sha512-WhB2e/V7rqdHHWZusBSPuy5Ei8S6lSz6FE5TKKQz5h3a0O+C+mhY7vxU9b/stqvMb8beLnPY82ZrFTLKs+SrKA==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
"node_modules/@parcel/watcher-linux-x64-glibc": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.6.0.tgz",
@@ -6728,46 +6562,6 @@
"url": "https://opencollective.com/parcel"
}
},
- "node_modules/@parcel/watcher-win32-arm64": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.6.0.tgz",
- "integrity": "sha512-gIZAP23jaHjGWasY/TY6yL7NHFClf0Ga7FN+iINvk+KN94rhm94lYZhFsbYFNcA04/onvGD9kKmiJLJB2HbNwQ==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-win32-x64": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.6.0.tgz",
- "integrity": "sha512-cA+/pXV2YkfxlIcXOQ5fSWqAzzPyD78/x5qbK/I0vUkrlYHA8TIz+MXjAbGouguKVSI4bOmkTSJ1/poVSsgt+A==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
"node_modules/@peculiar/asn1-cms": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.8.0.tgz",
@@ -13255,20 +13049,6 @@
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"license": "ISC"
},
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
@@ -14594,6 +14374,37 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/hast-util-to-estree/node_modules/unist-util-visit": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
+ "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0",
+ "unist-util-visit-parents": "^5.1.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-to-estree/node_modules/unist-util-visit-parents": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
+ "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/hast-util-to-jsx-runtime": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz",
@@ -20446,6 +20257,55 @@
"node": "^20.0.0 || >=22.0.0"
}
},
+ "node_modules/oxlint": {
+ "version": "1.76.0",
+ "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.76.0.tgz",
+ "integrity": "sha512-6QoFioEU4fNdiUx/2Eo6TRd6NG7H7njnRCz8rhB66cZmMHDTqcm1Rjvl8Wry+ZTQMBAmyb4Mlf62Mk5X+eHSOw==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "oxlint": "bin/oxlint"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/Boshen"
+ },
+ "optionalDependencies": {
+ "@oxlint/binding-android-arm-eabi": "1.76.0",
+ "@oxlint/binding-android-arm64": "1.76.0",
+ "@oxlint/binding-darwin-arm64": "1.76.0",
+ "@oxlint/binding-darwin-x64": "1.76.0",
+ "@oxlint/binding-freebsd-x64": "1.76.0",
+ "@oxlint/binding-linux-arm-gnueabihf": "1.76.0",
+ "@oxlint/binding-linux-arm-musleabihf": "1.76.0",
+ "@oxlint/binding-linux-arm64-gnu": "1.76.0",
+ "@oxlint/binding-linux-arm64-musl": "1.76.0",
+ "@oxlint/binding-linux-ppc64-gnu": "1.76.0",
+ "@oxlint/binding-linux-riscv64-gnu": "1.76.0",
+ "@oxlint/binding-linux-riscv64-musl": "1.76.0",
+ "@oxlint/binding-linux-s390x-gnu": "1.76.0",
+ "@oxlint/binding-linux-x64-gnu": "1.76.0",
+ "@oxlint/binding-linux-x64-musl": "1.76.0",
+ "@oxlint/binding-openharmony-arm64": "1.76.0",
+ "@oxlint/binding-win32-arm64-msvc": "1.76.0",
+ "@oxlint/binding-win32-ia32-msvc": "1.76.0",
+ "@oxlint/binding-win32-x64-msvc": "1.76.0"
+ },
+ "peerDependencies": {
+ "oxlint-tsgolint": ">=7.0.2001",
+ "vite-plus": "*"
+ },
+ "peerDependenciesMeta": {
+ "oxlint-tsgolint": {
+ "optional": true
+ },
+ "vite-plus": {
+ "optional": true
+ }
+ }
+ },
"node_modules/p-cancelable": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz",
diff --git a/package.json b/package.json
index d6c41bc7f..90a657f15 100644
--- a/package.json
+++ b/package.json
@@ -8,6 +8,7 @@
},
"scripts": {
"docusaurus": "docusaurus",
+ "lint": "oxlint .",
"start": "docusaurus start --no-open --port 3001",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
@@ -83,6 +84,7 @@
"image-size": "^2.0.2",
"js-yaml": "^5.2.3",
"oxfmt": "^0.62.0",
+ "oxlint": "^1.76.0",
"typescript": "^6.0.3"
},
"overrides": {
diff --git a/src/components/CoreConfiguration.tsx b/src/components/CoreConfiguration.tsx
index 25c3476ba..2617d9910 100644
--- a/src/components/CoreConfiguration.tsx
+++ b/src/components/CoreConfiguration.tsx
@@ -1,6 +1,6 @@
import React, {PropsWithChildren, ReactNode} from 'react';
-import {ConfigType, Resource, getTypeName} from '../types';
+import {ConfigType, Resource} from '../types';
import CoreConfigureTable from './CoreConfigureTable';
type CoreConfigurationProps = PropsWithChildren<{
diff --git a/src/components/ReferenceTable.js b/src/components/ReferenceTable.js
index f9cdba81f..a0739939b 100644
--- a/src/components/ReferenceTable.js
+++ b/src/components/ReferenceTable.js
@@ -1,70 +1,10 @@
import {useColorMode} from '@docusaurus/theme-common';
-import {FormControl, InputLabel, NativeSelect} from '@mui/material';
import {DataGrid, GridToolbar} from '@mui/x-data-grid';
import React, {useState} from 'react';
import data from '../../content/docs/reference/reference.json';
import {renderCellExpand} from './RenderCellExpand';
-function ServiceSelector(props) {
- const {item, applyValue} = props;
-
- return (
-
-
- Service
-
- {
- applyValue({...item, value: evt.target.value});
- }}>
-
-
-
-
-
-
-
-
- );
-}
-
-const serviceOperator = [
- {
- label: 'is',
- value: 'is',
- getApplyFilterFn: (filterItem) => {
- if (
- !filterItem.columnField ||
- !filterItem.value ||
- !filterItem.operatorValue ||
- filterItem.value === 'none'
- ) {
- return null;
- }
-
- return (params) => {
- return params.value.indexOf(filterItem.value) > -1;
- };
- },
- InputComponent: ServiceSelector,
- },
-];
-
function filterHidden(item) {
return !item.enterpriseOnly;
}
diff --git a/src/theme/Footer/Layout/index.js b/src/theme/Footer/Layout/index.js
index c1e7385e9..cb749611a 100644
--- a/src/theme/Footer/Layout/index.js
+++ b/src/theme/Footer/Layout/index.js
@@ -7,7 +7,7 @@
import clsx from 'clsx';
import React from 'react';
-export default function FooterLayout({style, links, logo, copyright}) {
+export default function FooterLayout({style, links, copyright}) {
return (