configs: {
daemon: { extends: string[] };
imports: {
plugins: string[];
rules: {
"import/export": "error";
"import/extensions": ["error", string, { ignorePackages: boolean }];
"import/first": "error";
"import/named": "error";
"import/newline-after-import": "error";
"import/no-absolute-path": "error";
"import/no-amd": "error";
"import/no-cycle": ["error", { maxDepth: string }];
"import/no-duplicates": "error";
"import/no-dynamic-require": "error";
"import/no-extraneous-dependencies": [
"error",
{ devDependencies: string[] },
];
"import/no-import-module-exports": ["error", { exceptions: never[] }];
"import/no-mutable-exports": "error";
"import/no-named-as-default": "error";
"import/no-named-as-default-member": "error";
"import/no-named-default": "error";
"import/no-relative-packages": "error";
"import/no-self-import": "error";
"import/no-unresolved": [
"error",
{ caseSensitive: boolean; commonjs: boolean },
];
"import/no-useless-path-segments": ["error", { commonjs: boolean }];
"import/no-webpack-loader-syntax": "error";
"import/prefer-default-export": "off";
};
settings: {
"import-x/extensions": string[];
"import-x/ignore": string[];
"import-x/resolver": { node: { extensions: string[] } };
"import/extensions": string[];
"import/ignore": string[];
"import/resolver": { node: { extensions: string[] } };
};
};
internal: {
extends: string[];
ignorePatterns: string[];
overrides: (
| {
excludedFiles?: undefined;
extends?: undefined;
files: string[];
parserOptions?: undefined;
rules: {
"import/no-unresolved": "off";
"jsdoc/no-types": "error";
"jsdoc/require-param": "off";
"no-unused-vars": "off";
};
}
| {
excludedFiles: string[];
extends: string[];
files: string[];
parserOptions: {
projectService: {
allowDefaultProject: string[];
defaultProject: string;
};
sourceType: string;
tsconfigRootDir: string;
useProjectService: boolean;
};
rules: { "@typescript-eslint/restrict-plus-operands": "error" };
}
| {
excludedFiles?: undefined;
extends?: undefined;
files: string[];
parserOptions?: undefined;
rules: { "@typescript-eslint/restrict-plus-operands": "warn" };
}
)[];
parser: string;
plugins: string[];
rules: {
"@typescript-eslint/naming-convention": [
"error",
{
custom: { match: boolean; regex: string };
format: string[];
selector: string;
},
];
"import/no-unresolved": ["error", { ignore: string[] }];
"unicorn/numeric-separators-style": [
"error",
{
binary: { groupLength: number; minimumDigits: number };
hexadecimal: { groupLength: number; minimumDigits: number };
number: { groupLength: number; minimumDigits: number };
octal: { groupLength: number; minimumDigits: number };
onlyIfContainsSeparator: boolean;
},
];
};
};
recommended: {
env: { commonjs: boolean; es6: boolean; node: boolean };
globals: {
AggregateError: "readonly";
Array: "readonly";
ArrayBuffer: "readonly";
assert: "readonly";
BigInt: "readonly";
BigInt64Array: "readonly";
BigUint64Array: "readonly";
Boolean: "readonly";
Compartment: "readonly";
console: "readonly";
DataView: "readonly";
escape: "readonly";
EvalError: "readonly";
Float16Array: "readonly";
Float32Array: "readonly";
Float64Array: "readonly";
HandledPromise: "readonly";
harden: "readonly";
Int16Array: "readonly";
Int32Array: "readonly";
Int8Array: "readonly";
JSON: "readonly";
lockdown: "readonly";
Map: "readonly";
ModuleSource: "readonly";
Number: "readonly";
Object: "readonly";
Promise: "readonly";
Proxy: "readonly";
RangeError: "readonly";
ReferenceError: "readonly";
Reflect: "readonly";
Set: "readonly";
String: "readonly";
Symbol: "readonly";
SyntaxError: "readonly";
TextDecoder: "readonly";
TextEncoder: "readonly";
TypeError: "readonly";
Uint16Array: "readonly";
Uint32Array: "readonly";
Uint8Array: "readonly";
Uint8ClampedArray: "readonly";
unescape: "readonly";
URIError: "readonly";
URL: "readonly";
URLSearchParams: "readonly";
WeakMap: "readonly";
WeakSet: "readonly";
};
plugins: string[];
rules: {
"@endo/assert-fail-as-throw": "error";
"@endo/no-assign-to-exported-let-var-or-function": "error";
"@endo/no-harden-pattern-maker": "warn";
"@endo/no-multi-name-local-export": "error";
"array-callback-return": ["error", { allowImplicit: boolean }];
"block-scoped-var": "error";
camelcase: [
"error",
{ ignoreDestructuring: boolean; properties: string },
];
"class-methods-use-this": ["error", { exceptMethods: never[] }];
curly: ["error", string];
"default-case": ["error", { commentPattern: string }];
"default-case-last": "error";
"default-param-last": "error";
"dot-notation": ["error", { allowKeywords: boolean }];
eqeqeq: ["error", string, { null: string }];
"func-names": "warn";
"getter-return": ["error", { allowImplicit: boolean }];
"global-require": "error";
"grouped-accessor-pairs": "error";
"guard-for-in": "error";
"max-classes-per-file": ["error", number];
"new-cap": [
"error",
{
capIsNew: boolean;
capIsNewExceptions: string[];
newIsCap: boolean;
newIsCapExceptions: never[];
},
];
"no-alert": "warn";
"no-array-constructor": "error";
"no-await-in-loop": "error";
"no-bitwise": "error";
"no-buffer-constructor": "error";
"no-caller": "error";
"no-cond-assign": ["error", string];
"no-constant-condition": "warn";
"no-constructor-return": "error";
"no-continue": "error";
"no-empty": ["error", { allowEmptyCatch: boolean }];
"no-empty-function": ["error", { allow: string[] }];
"no-eval": "error";
"no-extend-native": "error";
"no-extra-bind": "error";
"no-extra-label": "error";
"no-implied-eval": "error";
"no-iterator": "error";
"no-label-var": "error";
"no-labels": ["error", { allowLoop: boolean; allowSwitch: boolean }];
"no-lone-blocks": "error";
"no-lonely-if": "error";
"no-multi-assign": ["error"];
"no-multi-str": "error";
"no-nested-ternary": "error";
"no-new": "error";
"no-new-func": "error";
"no-new-object": "error";
"no-new-require": "error";
"no-new-wrappers": "error";
"no-octal-escape": "error";
"no-path-concat": "error";
"no-plusplus": "error";
"no-proto": "error";
"no-restricted-exports": ["error", { restrictedNamedExports: string[] }];
"no-restricted-properties": [
"error",
{ message: string; object: string; property: string },
{ message: string; object: string; property: string },
{ message: string; object: string; property: string },
{ message: string; object: string; property: string },
{ message: string; object: string; property: string },
{ message: string; object: string; property: string },
];
"no-return-await": "error";
"no-script-url": "error";
"no-self-compare": "error";
"no-sequences": "error";
"no-shadow": "error";
"no-template-curly-in-string": "error";
"no-throw-literal": "error";
"no-undef-init": "error";
"no-underscore-dangle": [
"error",
{
allow: string[];
allowAfterSuper: boolean;
allowAfterThis: boolean;
enforceInMethodNames: boolean;
},
];
"no-unneeded-ternary": ["error", { defaultAssignment: boolean }];
"no-unreachable-loop": ["error", { ignore: never[] }];
"no-unsafe-optional-chaining": [
"error",
{ disallowArithmeticOperators: boolean },
];
"no-unused-private-class-members": "off";
"no-use-before-define": [
"error",
{ classes: boolean; functions: boolean; variables: boolean },
];
"no-useless-assignment": "off";
"no-useless-computed-key": "error";
"no-useless-concat": "error";
"no-useless-constructor": "error";
"no-useless-rename": [
"error",
{
ignoreDestructuring: boolean;
ignoreExport: boolean;
ignoreImport: boolean;
},
];
"no-useless-return": "error";
"no-var": "error";
"no-void": "error";
"object-shorthand": [
"error",
string,
{ avoidQuotes: boolean; ignoreConstructors: boolean },
];
"one-var": ["error", string];
"operator-assignment": ["error", string];
"prefer-const": [
"error",
{ destructuring: string; ignoreReadBeforeAssign: boolean },
];
"prefer-exponentiation-operator": "error";
"prefer-numeric-literals": "error";
"prefer-object-spread": "error";
"prefer-promise-reject-errors": ["error", { allowEmptyReject: boolean }];
"prefer-rest-params": "error";
"prefer-spread": "error";
"prefer-template": "error";
"preserve-caught-error": "warn";
radix: "error";
"symbol-description": "error";
"valid-typeof": ["error", { requireStringLiterals: boolean }];
"vars-on-top": "error";
yoda: "error";
};
};
"recommended-requiring-type-checking": {
extends: string[];
rules: { "@endo/restrict-comparison-operands": string };
};
ses: {
extends: string[];
overrides: {
files: string[];
rules: {
"@endo/no-polymorphic-call": "off";
"no-restricted-globals": "off";
"no-shadow-restricted-names": ["error", { reportGlobalThis: boolean }];
};
}[];
rules: {
"@endo/no-polymorphic-call": "error";
"no-restricted-globals": [
"error",
"AggregateError",
"Array",
"ArrayBuffer",
"Atomics",
"BigInt",
"BigInt64Array",
"BigUint64Array",
"Boolean",
"Compartment",
"DataView",
"Date",
"Error",
"EvalError",
"Float16Array",
];
"no-shadow-restricted-names": ["error", { reportGlobalThis: boolean }];
};
};
strict: { extends: string[] };
style: {
extends: string[];
overrides: {
files: string[];
rules: {
"import/no-unresolved": "off";
"jsdoc/require-param": "off";
"jsdoc/require-param-type": "off";
"no-unused-vars": "off";
};
}[];
rules: {
"arrow-body-style": 0;
"consistent-return": "warn";
"jsdoc/check-tag-names": ["error", { definedTags: string[] }];
"jsdoc/no-multi-asterisks": ["warn", { allowWhitespace: boolean }];
"jsdoc/no-undefined-types": "off";
"jsdoc/reject-any-type": "off";
"jsdoc/require-jsdoc": "off";
"jsdoc/require-param-description": "off";
"jsdoc/require-property-description": "off";
"jsdoc/require-returns": "off";
"jsdoc/require-returns-description": "off";
"jsdoc/require-yields": "off";
"jsdoc/tag-lines": "off";
"jsdoc/ts-no-empty-object-type": "off";
"jsdoc/valid-types": "off";
"no-console": "off";
"no-else-return": "off";
"no-fallthrough": "warn";
"no-inner-declarations": "off";
"no-loop-func": "off";
"no-param-reassign": "off";
"no-promise-executor-return": "off";
"no-restricted-syntax": ["off"];
"no-return-assign": "off";
"no-unused-expressions": "off";
"no-unused-vars": [
"error",
{
args: string;
argsIgnorePattern: string;
caughtErrorsIgnorePattern: string;
varsIgnorePattern: string;
},
];
"prefer-arrow-callback": 0;
"prefer-destructuring": "off";
"prefer-regex-literals": "off";
strict: "off";
};
settings: { jsdoc: { mode: string } };
};
get "flat/daemon"(): ConfigWithExtends[];
get "flat/imports"(): ConfigWithExtends[];
get "flat/internal"(): ConfigWithExtends[];
get "flat/recommended"(): ConfigWithExtends[];
get "flat/recommended-requiring-type-checking"(): ConfigWithExtends[];
get "flat/ses"(): ConfigWithExtends[];
get "flat/strict"(): ConfigWithExtends[];
get "flat/style"(): ConfigWithExtends[];
}
Type Declaration
daemon: { extends: string[] }
imports: {
plugins: string[];
rules: {
"import/export": "error";
"import/extensions": ["error", string, { ignorePackages: boolean }];
"import/first": "error";
"import/named": "error";
"import/newline-after-import": "error";
"import/no-absolute-path": "error";
"import/no-amd": "error";
"import/no-cycle": ["error", { maxDepth: string }];
"import/no-duplicates": "error";
"import/no-dynamic-require": "error";
"import/no-extraneous-dependencies": [
"error",
{ devDependencies: string[] },
];
"import/no-import-module-exports": ["error", { exceptions: never[] }];
"import/no-mutable-exports": "error";
"import/no-named-as-default": "error";
"import/no-named-as-default-member": "error";
"import/no-named-default": "error";
"import/no-relative-packages": "error";
"import/no-self-import": "error";
"import/no-unresolved": [
"error",
{ caseSensitive: boolean; commonjs: boolean },
];
"import/no-useless-path-segments": ["error", { commonjs: boolean }];
"import/no-webpack-loader-syntax": "error";
"import/prefer-default-export": "off";
};
settings: {
"import-x/extensions": string[];
"import-x/ignore": string[];
"import-x/resolver": { node: { extensions: string[] } };
"import/extensions": string[];
"import/ignore": string[];
"import/resolver": { node: { extensions: string[] } };
};
}
internal: {
extends: string[];
ignorePatterns: string[];
overrides: (
| {
excludedFiles?: undefined;
extends?: undefined;
files: string[];
parserOptions?: undefined;
rules: {
"import/no-unresolved": "off";
"jsdoc/no-types": "error";
"jsdoc/require-param": "off";
"no-unused-vars": "off";
};
}
| {
excludedFiles: string[];
extends: string[];
files: string[];
parserOptions: {
projectService: {
allowDefaultProject: string[];
defaultProject: string;
};
sourceType: string;
tsconfigRootDir: string;
useProjectService: boolean;
};
rules: { "@typescript-eslint/restrict-plus-operands": "error" };
}
| {
excludedFiles?: undefined;
extends?: undefined;
files: string[];
parserOptions?: undefined;
rules: { "@typescript-eslint/restrict-plus-operands": "warn" };
}
)[];
parser: string;
plugins: string[];
rules: {
"@typescript-eslint/naming-convention": [
"error",
{
custom: { match: boolean; regex: string };
format: string[];
selector: string;
},
];
"import/no-unresolved": ["error", { ignore: string[] }];
"unicorn/numeric-separators-style": [
"error",
{
binary: { groupLength: number; minimumDigits: number };
hexadecimal: { groupLength: number; minimumDigits: number };
number: { groupLength: number; minimumDigits: number };
octal: { groupLength: number; minimumDigits: number };
onlyIfContainsSeparator: boolean;
},
];
};
}
extends: string[]
ignorePatterns: string[]
overrides: (
| {
excludedFiles?: undefined;
extends?: undefined;
files: string[];
parserOptions?: undefined;
rules: {
"import/no-unresolved": "off";
"jsdoc/no-types": "error";
"jsdoc/require-param": "off";
"no-unused-vars": "off";
};
}
| {
excludedFiles: string[];
extends: string[];
files: string[];
parserOptions: {
projectService: {
allowDefaultProject: string[];
defaultProject: string;
};
sourceType: string;
tsconfigRootDir: string;
useProjectService: boolean;
};
rules: { "@typescript-eslint/restrict-plus-operands": "error" };
}
| {
excludedFiles?: undefined;
extends?: undefined;
files: string[];
parserOptions?: undefined;
rules: { "@typescript-eslint/restrict-plus-operands": "warn" };
}
)[]
parser: string
plugins: string[]
rules: {
"@typescript-eslint/naming-convention": [
"error",
{
custom: { match: boolean; regex: string };
format: string[];
selector: string;
},
];
"import/no-unresolved": ["error", { ignore: string[] }];
"unicorn/numeric-separators-style": [
"error",
{
binary: { groupLength: number; minimumDigits: number };
hexadecimal: { groupLength: number; minimumDigits: number };
number: { groupLength: number; minimumDigits: number };
octal: { groupLength: number; minimumDigits: number };
onlyIfContainsSeparator: boolean;
},
];
}
recommended: {
env: { commonjs: boolean; es6: boolean; node: boolean };
globals: {
AggregateError: "readonly";
Array: "readonly";
ArrayBuffer: "readonly";
assert: "readonly";
BigInt: "readonly";
BigInt64Array: "readonly";
BigUint64Array: "readonly";
Boolean: "readonly";
Compartment: "readonly";
console: "readonly";
DataView: "readonly";
escape: "readonly";
EvalError: "readonly";
Float16Array: "readonly";
Float32Array: "readonly";
Float64Array: "readonly";
HandledPromise: "readonly";
harden: "readonly";
Int16Array: "readonly";
Int32Array: "readonly";
Int8Array: "readonly";
JSON: "readonly";
lockdown: "readonly";
Map: "readonly";
ModuleSource: "readonly";
Number: "readonly";
Object: "readonly";
Promise: "readonly";
Proxy: "readonly";
RangeError: "readonly";
ReferenceError: "readonly";
Reflect: "readonly";
Set: "readonly";
String: "readonly";
Symbol: "readonly";
SyntaxError: "readonly";
TextDecoder: "readonly";
TextEncoder: "readonly";
TypeError: "readonly";
Uint16Array: "readonly";
Uint32Array: "readonly";
Uint8Array: "readonly";
Uint8ClampedArray: "readonly";
unescape: "readonly";
URIError: "readonly";
URL: "readonly";
URLSearchParams: "readonly";
WeakMap: "readonly";
WeakSet: "readonly";
};
plugins: string[];
rules: {
"@endo/assert-fail-as-throw": "error";
"@endo/no-assign-to-exported-let-var-or-function": "error";
"@endo/no-harden-pattern-maker": "warn";
"@endo/no-multi-name-local-export": "error";
"array-callback-return": ["error", { allowImplicit: boolean }];
"block-scoped-var": "error";
camelcase: ["error", { ignoreDestructuring: boolean; properties: string }];
"class-methods-use-this": ["error", { exceptMethods: never[] }];
curly: ["error", string];
"default-case": ["error", { commentPattern: string }];
"default-case-last": "error";
"default-param-last": "error";
"dot-notation": ["error", { allowKeywords: boolean }];
eqeqeq: ["error", string, { null: string }];
"func-names": "warn";
"getter-return": ["error", { allowImplicit: boolean }];
"global-require": "error";
"grouped-accessor-pairs": "error";
"guard-for-in": "error";
"max-classes-per-file": ["error", number];
"new-cap": [
"error",
{
capIsNew: boolean;
capIsNewExceptions: string[];
newIsCap: boolean;
newIsCapExceptions: never[];
},
];
"no-alert": "warn";
"no-array-constructor": "error";
"no-await-in-loop": "error";
"no-bitwise": "error";
"no-buffer-constructor": "error";
"no-caller": "error";
"no-cond-assign": ["error", string];
"no-constant-condition": "warn";
"no-constructor-return": "error";
"no-continue": "error";
"no-empty": ["error", { allowEmptyCatch: boolean }];
"no-empty-function": ["error", { allow: string[] }];
"no-eval": "error";
"no-extend-native": "error";
"no-extra-bind": "error";
"no-extra-label": "error";
"no-implied-eval": "error";
"no-iterator": "error";
"no-label-var": "error";
"no-labels": ["error", { allowLoop: boolean; allowSwitch: boolean }];
"no-lone-blocks": "error";
"no-lonely-if": "error";
"no-multi-assign": ["error"];
"no-multi-str": "error";
"no-nested-ternary": "error";
"no-new": "error";
"no-new-func": "error";
"no-new-object": "error";
"no-new-require": "error";
"no-new-wrappers": "error";
"no-octal-escape": "error";
"no-path-concat": "error";
"no-plusplus": "error";
"no-proto": "error";
"no-restricted-exports": ["error", { restrictedNamedExports: string[] }];
"no-restricted-properties": [
"error",
{ message: string; object: string; property: string },
{ message: string; object: string; property: string },
{ message: string; object: string; property: string },
{ message: string; object: string; property: string },
{ message: string; object: string; property: string },
{ message: string; object: string; property: string },
];
"no-return-await": "error";
"no-script-url": "error";
"no-self-compare": "error";
"no-sequences": "error";
"no-shadow": "error";
"no-template-curly-in-string": "error";
"no-throw-literal": "error";
"no-undef-init": "error";
"no-underscore-dangle": [
"error",
{
allow: string[];
allowAfterSuper: boolean;
allowAfterThis: boolean;
enforceInMethodNames: boolean;
},
];
"no-unneeded-ternary": ["error", { defaultAssignment: boolean }];
"no-unreachable-loop": ["error", { ignore: never[] }];
"no-unsafe-optional-chaining": [
"error",
{ disallowArithmeticOperators: boolean },
];
"no-unused-private-class-members": "off";
"no-use-before-define": [
"error",
{ classes: boolean; functions: boolean; variables: boolean },
];
"no-useless-assignment": "off";
"no-useless-computed-key": "error";
"no-useless-concat": "error";
"no-useless-constructor": "error";
"no-useless-rename": [
"error",
{
ignoreDestructuring: boolean;
ignoreExport: boolean;
ignoreImport: boolean;
},
];
"no-useless-return": "error";
"no-var": "error";
"no-void": "error";
"object-shorthand": [
"error",
string,
{ avoidQuotes: boolean; ignoreConstructors: boolean },
];
"one-var": ["error", string];
"operator-assignment": ["error", string];
"prefer-const": [
"error",
{ destructuring: string; ignoreReadBeforeAssign: boolean },
];
"prefer-exponentiation-operator": "error";
"prefer-numeric-literals": "error";
"prefer-object-spread": "error";
"prefer-promise-reject-errors": ["error", { allowEmptyReject: boolean }];
"prefer-rest-params": "error";
"prefer-spread": "error";
"prefer-template": "error";
"preserve-caught-error": "warn";
radix: "error";
"symbol-description": "error";
"valid-typeof": ["error", { requireStringLiterals: boolean }];
"vars-on-top": "error";
yoda: "error";
};
}
recommended-requiring-type-checking: { extends: string[]; rules: { "@endo/restrict-comparison-operands": string } }
ses: {
extends: string[];
overrides: {
files: string[];
rules: {
"@endo/no-polymorphic-call": "off";
"no-restricted-globals": "off";
"no-shadow-restricted-names": ["error", { reportGlobalThis: boolean }];
};
}[];
rules: {
"@endo/no-polymorphic-call": "error";
"no-restricted-globals": [
"error",
"AggregateError",
"Array",
"ArrayBuffer",
"Atomics",
"BigInt",
"BigInt64Array",
"BigUint64Array",
"Boolean",
"Compartment",
"DataView",
"Date",
"Error",
"EvalError",
"Float16Array",
];
"no-shadow-restricted-names": ["error", { reportGlobalThis: boolean }];
};
}
strict: { extends: string[] }
style: {
extends: string[];
overrides: {
files: string[];
rules: {
"import/no-unresolved": "off";
"jsdoc/require-param": "off";
"jsdoc/require-param-type": "off";
"no-unused-vars": "off";
};
}[];
rules: {
"arrow-body-style": 0;
"consistent-return": "warn";
"jsdoc/check-tag-names": ["error", { definedTags: string[] }];
"jsdoc/no-multi-asterisks": ["warn", { allowWhitespace: boolean }];
"jsdoc/no-undefined-types": "off";
"jsdoc/reject-any-type": "off";
"jsdoc/require-jsdoc": "off";
"jsdoc/require-param-description": "off";
"jsdoc/require-property-description": "off";
"jsdoc/require-returns": "off";
"jsdoc/require-returns-description": "off";
"jsdoc/require-yields": "off";
"jsdoc/tag-lines": "off";
"jsdoc/ts-no-empty-object-type": "off";
"jsdoc/valid-types": "off";
"no-console": "off";
"no-else-return": "off";
"no-fallthrough": "warn";
"no-inner-declarations": "off";
"no-loop-func": "off";
"no-param-reassign": "off";
"no-promise-executor-return": "off";
"no-restricted-syntax": ["off"];
"no-return-assign": "off";
"no-unused-expressions": "off";
"no-unused-vars": [
"error",
{
args: string;
argsIgnorePattern: string;
caughtErrorsIgnorePattern: string;
varsIgnorePattern: string;
},
];
"prefer-arrow-callback": 0;
"prefer-destructuring": "off";
"prefer-regex-literals": "off";
strict: "off";
};
settings: { jsdoc: { mode: string } };
}
get flat/daemon(): ConfigWithExtends[]
get flat/imports(): ConfigWithExtends[]
get flat/internal(): ConfigWithExtends[]
get flat/recommended(): ConfigWithExtends[]
get flat/recommended-requiring-type-checking(): ConfigWithExtends[]
get flat/ses(): ConfigWithExtends[]
get flat/strict(): ConfigWithExtends[]
get flat/style(): ConfigWithExtends[]
File patterns to ignore across all configs.
The trailing
*on declaration-file globs (e.g.**/*.d.ts*) is valid in both eslintrcignorePatternsand flatignores, and additionally ignores.d.ts.mapsource-map files.