All checks were successful
build-and-release / build (push) Successful in 1m48s
mergeSidebar already restricts the sidebar to 'Verification', 'Settings', 'Help Center' (and conditionally 'My Profile') when a verification is pending. But if the admin's runtime config for this role omits 'Verification', the item was silently absent even after registration — leaving users with no way to track their submission. Fix: after filtering to the restricted set, inject 'Verification' when it is missing and the user has a pending status. This is a safety guarantee: admin config governs approved-role layouts; pending-verification state always wins on the Verification item regardless. Also: - .eslintrc.cjs: add varsIgnorePattern/destructuredArrayIgnorePattern '^_', turn off no-explicit-any (complex runtime config shapes), matching admin config - Prefix unused resolveRuntimeSidebarKeys helper with _ to silence lint Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
/* eslint-env node */
|
|
module.exports = {
|
|
root: true,
|
|
parser: "@typescript-eslint/parser",
|
|
plugins: ["solid"],
|
|
extends: [
|
|
"eslint:recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:solid/recommended",
|
|
],
|
|
overrides: [
|
|
{
|
|
files: ["**/*.tsx"],
|
|
parserOptions: {
|
|
ecmaFeatures: {
|
|
jsx: true,
|
|
},
|
|
},
|
|
settings: {
|
|
solid: {
|
|
noImportReact: true,
|
|
},
|
|
},
|
|
rules: {
|
|
// Rules valid in eslint-plugin-solid v0.14.5
|
|
"solid/jsx-no-undef": "error",
|
|
"solid/prefer-classlist": "error",
|
|
"solid/prefer-for": "error", // catches .map() in JSX — use <For> instead
|
|
"solid/reactivity": "warn", // catches signals used outside reactive context
|
|
"solid/event-handlers": "warn", // catches non-standard event handler props
|
|
"solid/no-react-specific-props": "error",
|
|
"solid/no-innerhtml": "warn", // prefer children over innerHTML
|
|
"solid/no-destructure": "warn", // catches destructured props/signals
|
|
"solid/self-closing-comp": "warn",
|
|
},
|
|
},
|
|
],
|
|
rules: {
|
|
"@typescript-eslint/explicit-function-return-type": "off",
|
|
"@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_", varsIgnorePattern: "^_", destructuredArrayIgnorePattern: "^_" }],
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
"arrow-body-style": ["warn", "as-needed"],
|
|
curly: ["error", "multi-line"],
|
|
"no-console": "off",
|
|
"no-debugger": "warn",
|
|
"no-unused-vars": "off",
|
|
"prefer-const": "error",
|
|
},
|
|
env: {
|
|
browser: true,
|
|
},
|
|
ignorePatterns: [
|
|
"dist",
|
|
".output",
|
|
"node_modules",
|
|
"coverage",
|
|
"test-results",
|
|
"playwright-report",
|
|
],
|
|
};
|