A package of linting rules used in TypeScript ESLint.
$ npm i --save-dev @livechat/eslint-plugin
{
"plugins": ["@livechat"],
"rules": {
"@livechat/no-declare": "error"
}
}
Name | Description |
---|---|
@livechat/no-declare |
Forbids using 'declare' keyword |
Using 'declare' keyword may be forbidden for all or selected identifiers. You can use it for example to force another methods of declaring global variables, e.g. using 'import' forms.
type Options = {
onlyIdentifiers?: string[];
excludeIdentifiers?: string[];
};
const defaultOptions: Options = {
onlyIdentifiers: [];
excludeIdentifiers: [];
};
The rule accepts options with the following properties:
-
onlyIdentifiers
(optional) - If used, only the provided identifiers will be reported. All other identifiers declared withdeclare
keyword will be ignored. -
excludeIdentifiers
(optional) - If used, all identifiers will be reported except those provided in the array. IfonlyIdentifiers
is used, this option is ignored.
Don't use 'declare' keyword.
declare const someConst: any;
declare const window: { location };
declare const x, y, z: number;
import someConst from 'some-lib';
import { window } from 'utils/global-declarations';
const { x, y, z } = window;
Don't use 'declare' keyword for the provided identifiers.
{
"@livechat/no-declare": [ "error", { "onlyIdentifiers": [ "window" ] } ]
}
declare const window: any;
declare const window: { location };
import { window } from 'utils/global-declarations';
declare const someConst: any;
declare const x, y, z: number;
Don't use 'declare' keyword except for the provided identifiers. If onlyIdentifiers
is used, this option is ignored.
{
"@livechat/no-declare": [ "error", { "excludeIdentifiers": [ "someConst" ] } ]
}
declare const window: any;
declare const x, y, z: number;
import { window } from 'utils/global-declarations';
declare const someConst: any;