@arcgis/eslint-config 4.32.0-next.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +13 -0
- package/README.md +21 -0
- package/dist/chunk-25YPAQ6A.js +64 -0
- package/dist/chunk-C2D6KHIP.js +24 -0
- package/dist/chunk-D7HD47IC.js +974 -0
- package/dist/chunk-WAWBOPY7.js +19 -0
- package/dist/config/extra.d.ts +24 -0
- package/dist/config/extra.js +36 -0
- package/dist/config/index.d.ts +22 -0
- package/dist/config/index.js +588 -0
- package/dist/config/lumina.d.ts +7 -0
- package/dist/config/lumina.js +220 -0
- package/dist/config/restrictedImports.d.ts +6 -0
- package/dist/config/restrictedImports.js +6 -0
- package/dist/config/storybook.d.ts +2 -0
- package/dist/plugins/lumina/index.d.ts +6 -0
- package/dist/plugins/lumina/index.js +7 -0
- package/dist/plugins/lumina/rules/add-missing-jsx-import.d.ts +3 -0
- package/dist/plugins/lumina/rules/add-missing-jsx-import.test.d.ts +1 -0
- package/dist/plugins/lumina/rules/auto-add-type.d.ts +4 -0
- package/dist/plugins/lumina/rules/auto-add-type.test.d.ts +1 -0
- package/dist/plugins/lumina/rules/component-placement-rules.d.ts +3 -0
- package/dist/plugins/lumina/rules/component-placement-rules.test.d.ts +1 -0
- package/dist/plugins/lumina/rules/consistent-event-naming.d.ts +17 -0
- package/dist/plugins/lumina/rules/consistent-event-naming.test.d.ts +1 -0
- package/dist/plugins/lumina/rules/decorators-context.d.ts +3 -0
- package/dist/plugins/lumina/rules/decorators-context.test.d.ts +1 -0
- package/dist/plugins/lumina/rules/no-ignore-jsdoc-tag.d.ts +3 -0
- package/dist/plugins/lumina/rules/no-ignore-jsdoc-tag.test.d.ts +1 -0
- package/dist/plugins/lumina/rules/no-incorrect-dynamic-tag-name.d.ts +4 -0
- package/dist/plugins/lumina/rules/no-incorrect-dynamic-tag-name.test.d.ts +1 -0
- package/dist/plugins/lumina/rules/no-inline-arrow-in-ref.d.ts +3 -0
- package/dist/plugins/lumina/rules/no-inline-arrow-in-ref.test.d.ts +1 -0
- package/dist/plugins/lumina/rules/no-listen-in-connected-callback.d.ts +3 -0
- package/dist/plugins/lumina/rules/no-listen-in-connected-callback.test.d.ts +1 -0
- package/dist/plugins/lumina/rules/no-needless-bind-this.d.ts +3 -0
- package/dist/plugins/lumina/rules/no-needless-bind-this.test.d.ts +1 -0
- package/dist/plugins/lumina/rules/no-property-name-start-with-on.d.ts +3 -0
- package/dist/plugins/lumina/rules/no-property-name-start-with-on.test.d.ts +1 -0
- package/dist/plugins/lumina/rules/no-render-false.d.ts +4 -0
- package/dist/plugins/lumina/rules/no-render-false.test.d.ts +1 -0
- package/dist/plugins/lumina/rules/tag-name-rules.d.ts +10 -0
- package/dist/plugins/lumina/rules/tag-name-rules.spec.d.ts +1 -0
- package/dist/plugins/lumina/utils/checker.d.ts +2 -0
- package/dist/plugins/lumina/utils/creator.d.ts +6 -0
- package/dist/plugins/lumina/utils/estree.d.ts +14 -0
- package/dist/plugins/utils/makePlugin.d.ts +14 -0
- package/dist/plugins/utils/tests.d.ts +26 -0
- package/dist/plugins/webgis/index.d.ts +6 -0
- package/dist/plugins/webgis/index.js +7 -0
- package/dist/plugins/webgis/rules/no-import-outside-src.d.ts +3 -0
- package/dist/plugins/webgis/rules/no-import-outside-src.test.d.ts +1 -0
- package/dist/plugins/webgis/utils/creator.d.ts +6 -0
- package/package.json +37 -0
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import {
|
|
2
|
+
restrictedImports
|
|
3
|
+
} from "../chunk-WAWBOPY7.js";
|
|
4
|
+
import {
|
|
5
|
+
lumina_default
|
|
6
|
+
} from "../chunk-D7HD47IC.js";
|
|
7
|
+
import "../chunk-C2D6KHIP.js";
|
|
8
|
+
|
|
9
|
+
// src/config/storybook.ts
|
|
10
|
+
import eslintPluginStorybook from "eslint-plugin-storybook";
|
|
11
|
+
var storybookConfig = [
|
|
12
|
+
{
|
|
13
|
+
ignores: ["**/storybook-static*"]
|
|
14
|
+
},
|
|
15
|
+
...eslintPluginStorybook.configs["flat/recommended"],
|
|
16
|
+
...eslintPluginStorybook.configs["flat/addon-interactions"],
|
|
17
|
+
...eslintPluginStorybook.configs["flat/csf-strict"],
|
|
18
|
+
{
|
|
19
|
+
files: ["**/*.stories.@(ts|tsx)"],
|
|
20
|
+
rules: {
|
|
21
|
+
// Redundant with https://typescript-eslint.io/rules/no-floating-promises/
|
|
22
|
+
"storybook/await-interactions": "off",
|
|
23
|
+
// Not applicable in our web-component setup
|
|
24
|
+
"storybook/csf-component": "off",
|
|
25
|
+
// We don't have deprecated usages
|
|
26
|
+
"storybook/hierarchy-separator": "off",
|
|
27
|
+
// Not applicable in our web-component setup
|
|
28
|
+
"storybook/no-title-property-in-meta": "off",
|
|
29
|
+
// Not applicable as we have a central Storybook config (@arcgis/storybook-utils)
|
|
30
|
+
"storybook/no-uninstalled-addons": "off",
|
|
31
|
+
// We never used storiesOf, and it's no longer included in Storybook
|
|
32
|
+
"storybook/no-stories-of": "off"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
// src/config/lumina.ts
|
|
38
|
+
var lumina_default2 = [
|
|
39
|
+
...storybookConfig,
|
|
40
|
+
{
|
|
41
|
+
...lumina_default.configs.recommended,
|
|
42
|
+
files: ["**/*.tsx"]
|
|
43
|
+
},
|
|
44
|
+
// Enable this rule in both .ts and .tsx files
|
|
45
|
+
{
|
|
46
|
+
files: ["**/*.ts", "**/*.tsx"],
|
|
47
|
+
plugins: { lumina: lumina_default },
|
|
48
|
+
rules: {
|
|
49
|
+
"lumina/component-placement-rules": "error"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
files: ["**/*.tsx"],
|
|
54
|
+
rules: {
|
|
55
|
+
// It's a good practice for @method() in components to be async even if
|
|
56
|
+
// they don't have await
|
|
57
|
+
"@typescript-eslint/require-await": "off",
|
|
58
|
+
/*
|
|
59
|
+
* This rule emits false warnings when using Controllers due to
|
|
60
|
+
* limitations of TypeScript when it comes to expressing the type of a
|
|
61
|
+
* property that changes during lifecycle (from non-null to eventual null)
|
|
62
|
+
*/
|
|
63
|
+
"@typescript-eslint/no-confusing-void-expression": "off",
|
|
64
|
+
"@typescript-eslint/no-restricted-imports": [
|
|
65
|
+
"error",
|
|
66
|
+
{
|
|
67
|
+
patterns: [
|
|
68
|
+
...restrictedImports,
|
|
69
|
+
{
|
|
70
|
+
group: ["/lit"],
|
|
71
|
+
importNames: ["LitElement"],
|
|
72
|
+
message: "Import LitElement from `@arcgis/lumina` instead",
|
|
73
|
+
caseSensitive: true
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
group: [
|
|
77
|
+
"/lit/decorators.js",
|
|
78
|
+
"/lit/decorators/property.js",
|
|
79
|
+
"/@lit/reactive-element/decorators.js",
|
|
80
|
+
"/@lit/reactive-element/decorators/property.js"
|
|
81
|
+
],
|
|
82
|
+
importNames: ["property"],
|
|
83
|
+
message: "Import @property() from `@arcgis/lumina` instead",
|
|
84
|
+
caseSensitive: true
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
group: [
|
|
88
|
+
"/lit/decorators.js",
|
|
89
|
+
"/lit/decorators/state.js",
|
|
90
|
+
"/@lit/reactive-element/decorators.js",
|
|
91
|
+
"/@lit/reactive-element/decorators/state.js"
|
|
92
|
+
],
|
|
93
|
+
importNames: ["state"],
|
|
94
|
+
message: "Import @state() from `@arcgis/lumina` instead",
|
|
95
|
+
caseSensitive: true
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
group: [
|
|
99
|
+
"/lit/decorators.js",
|
|
100
|
+
"/lit/decorators/custom-element.js",
|
|
101
|
+
"/@lit/reactive-element/decorators.js",
|
|
102
|
+
"/@lit/reactive-element/decorators/custom-element.js",
|
|
103
|
+
// This does not start with "/" so matches ../../runtime and etc
|
|
104
|
+
"runtime"
|
|
105
|
+
],
|
|
106
|
+
importNames: ["customElement"],
|
|
107
|
+
message: `Do no import customElement - it will be added at build time. Instead, make sure your component file has the following:
|
|
108
|
+
declare global {
|
|
109
|
+
interface DeclareElements {
|
|
110
|
+
"arcgis-your-component": ArcgisYourComponent;
|
|
111
|
+
}
|
|
112
|
+
}`,
|
|
113
|
+
caseSensitive: true
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
group: [
|
|
117
|
+
"/lit/directives/class-map.js",
|
|
118
|
+
"/lit-html/directives/class-map.js",
|
|
119
|
+
"/lit/directives/style-map.js",
|
|
120
|
+
"/lit-html/directives/style-map.js",
|
|
121
|
+
"/lit/directives/keyed.js",
|
|
122
|
+
"/lit-html/directives/keyed.js",
|
|
123
|
+
"/lit/directives/ref.js",
|
|
124
|
+
"/lit-html/directives/ref.js"
|
|
125
|
+
],
|
|
126
|
+
importNames: ["classMap", "styleMap", "ref", "keyed"],
|
|
127
|
+
message: `You do not need to use classMap(), styleMap(), keyed() or ref() Lit directives - they will be auto-added at build time as necessary.`,
|
|
128
|
+
caseSensitive: true
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
group: ["/@lit/context"],
|
|
132
|
+
importNames: ["ContextProvider", "ContextConsumer", "provide", "consume"],
|
|
133
|
+
message: `For lazy-loading compatibility, import the useContextProvider() and the useContextConsumer() controllers from @arcgis/lumina rather than directly calling the Lit's controllers/decorators.`,
|
|
134
|
+
caseSensitive: true
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
]
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/*{
|
|
142
|
+
...eslintPluginLit.configs["flat/recommended"],
|
|
143
|
+
files: ["**\/*.tsx"],
|
|
144
|
+
rules: {
|
|
145
|
+
// While some rules provided by the eslint-plugin-lit are helpful, most of
|
|
146
|
+
// them only apply to html`` tagged template literals - since we are using
|
|
147
|
+
// JSX, those rules don't work out of the box (or are not even needed
|
|
148
|
+
// because TypeScript would report the issues those rules try to catch).
|
|
149
|
+
//
|
|
150
|
+
// The only vaguely useful is lit/no-this-assign-in-render, however, we have
|
|
151
|
+
// TypeScript config that forces us to add "override" to any property
|
|
152
|
+
// that shadows prototype - that should catch accidental usages.
|
|
153
|
+
// Otherwise, having a `@property() override title=""` is a good way to
|
|
154
|
+
// document that your component reads this native property, and to get
|
|
155
|
+
// notified when it changes.
|
|
156
|
+
//
|
|
157
|
+
// Thus, as of 1.15.0, none of the rules in that plugin are useful for us.
|
|
158
|
+
},
|
|
159
|
+
},*/
|
|
160
|
+
/*{
|
|
161
|
+
...eslintPluginWc.configs["flat/recommended"],
|
|
162
|
+
settings: {
|
|
163
|
+
wc: {
|
|
164
|
+
elementBaseClasses: ["LitElement"],
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
// For all tsx files
|
|
168
|
+
files: ["**\/*.tsx"],
|
|
169
|
+
// eslint-plugin-wc was written for no-TypeScript codebases that don't use
|
|
170
|
+
// any frameworks. None of it's rules as of v2.2.0 apply or are really
|
|
171
|
+
// useful to us.
|
|
172
|
+
//
|
|
173
|
+
// What follows is explanation of why the following rules are off:
|
|
174
|
+
rules: {
|
|
175
|
+
// This rule wrongly gets triggered for all classes, not just web
|
|
176
|
+
// components
|
|
177
|
+
"wc/no-constructor-params": "off",
|
|
178
|
+
// We are not defining custom elements using customElement.define()
|
|
179
|
+
"wc/no-invalid-element-name": "off",
|
|
180
|
+
// All shadow roots should be created by LitElement
|
|
181
|
+
"wc/attach-shadow-constructor": "off",
|
|
182
|
+
// Since we have lazy loading, all imperative dom interactions will go
|
|
183
|
+
// through this.el.*, which this rule doesn't detect
|
|
184
|
+
"wc/no-self-class": "off",
|
|
185
|
+
// Since we have lazy loading, all imperative dom interactions will go
|
|
186
|
+
// through this.el.*, which this rule doesn't detect
|
|
187
|
+
"wc/no-constructor-attributes": "off",
|
|
188
|
+
// Not needed with TypeScript and Lit
|
|
189
|
+
"wc/guard-super-call": "off",
|
|
190
|
+
// Implementing attributeChangedCallback is not needed with Lit
|
|
191
|
+
"wc/no-child-traversal-in-attributechangedcallback": "off",
|
|
192
|
+
// This rule might be ok, but it will never report anything for us since
|
|
193
|
+
// our DOM interactions go though this.el.*, rather than this.*
|
|
194
|
+
"wc/no-child-traversal-in-connectedcallback": "off",
|
|
195
|
+
// All shadow roots should be created by LitElement
|
|
196
|
+
"wc/no-closed-shadow-root": "off",
|
|
197
|
+
// We don't use customElement.define so this rule will never report
|
|
198
|
+
"wc/no-invalid-extends": "off",
|
|
199
|
+
// Good rule, but most of the time listeners will be setup using
|
|
200
|
+
// this.listen(), so this rule is useless. When addEventListener is
|
|
201
|
+
// used, it might be inside this.manager.onLifecycle(), followed by
|
|
202
|
+
// removeEventListener - this rule won't detect such usages and will
|
|
203
|
+
// falsely report
|
|
204
|
+
"wc/require-listener-teardown": "off",
|
|
205
|
+
// Lumina allows defining multiple components in a file
|
|
206
|
+
"wc/file-name-matches-element": "off",
|
|
207
|
+
// Off because
|
|
208
|
+
// - we have TypeScript that will force us to add "override" to any
|
|
209
|
+
// property that shadows prototype, thus this rule becomes somewhat
|
|
210
|
+
// redundant
|
|
211
|
+
// - the rule is too broad - names like "onClicked" should be allowed
|
|
212
|
+
"wc/no-method-prefixed-with-on": "off",
|
|
213
|
+
// `@arcgis/lumina-compiler` includes a better check for this
|
|
214
|
+
"wc/tag-name-matches-class": "off",
|
|
215
|
+
},
|
|
216
|
+
},*/
|
|
217
|
+
];
|
|
218
|
+
export {
|
|
219
|
+
lumina_default2 as default
|
|
220
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const componentPlacementRules: import("@typescript-eslint/utils/ts-eslint").RuleModule<"fileFolderNameMismatch" | "extensionNotTsx" | "noComponentOutsideSrcComponents", [], {
|
|
2
|
+
description: string;
|
|
3
|
+
}, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type Options = [
|
|
2
|
+
{
|
|
3
|
+
/**
|
|
4
|
+
* Enforce that events start with a given prefix
|
|
5
|
+
*/
|
|
6
|
+
eventNamespaces?: readonly string[];
|
|
7
|
+
/**
|
|
8
|
+
* Enforce or forbid events to include the component name in the event name
|
|
9
|
+
*/
|
|
10
|
+
includeComponentNameInEventName?: boolean;
|
|
11
|
+
}
|
|
12
|
+
];
|
|
13
|
+
type Messages = "componentNameInEventError" | "eventNamespaceError" | "missingPrivateJsDocTag" | "noComponentNameInEventError";
|
|
14
|
+
export declare const consistentEventNaming: import("@typescript-eslint/utils/ts-eslint").RuleModule<Messages, Options, {
|
|
15
|
+
description: string;
|
|
16
|
+
}, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type Options = [
|
|
2
|
+
{
|
|
3
|
+
namespaces?: readonly string[];
|
|
4
|
+
}
|
|
5
|
+
];
|
|
6
|
+
type Messages = "noComputedTagName" | "noNonStringTagName" | "noTagNameIdentifier" | "requireNamespace" | "unexpectedDeclareElementsEntry";
|
|
7
|
+
export declare const tagNameRules: import("@typescript-eslint/utils/ts-eslint").RuleModule<Messages, Options, {
|
|
8
|
+
description: string;
|
|
9
|
+
}, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
2
|
+
type CommonDocs = {
|
|
3
|
+
description: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const createRule: <Options extends readonly unknown[], MessageIds extends string>({ meta, name, ...rule }: Readonly<ESLintUtils.RuleWithMetaAndName<Options, MessageIds, CommonDocs>>) => ESLintUtils.RuleModule<MessageIds, Options, CommonDocs, ESLintUtils.RuleListener>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TSESTree } from "@typescript-eslint/utils";
|
|
2
|
+
export declare const unwrapExpression: <T extends TSESTree.Node>(expression: T) => T | TSESTree.Expression;
|
|
3
|
+
export declare const luminaEntrypointName = "@arcgis/lumina";
|
|
4
|
+
export declare const luminaJsxExportName = "h";
|
|
5
|
+
type LuminaJsxCheck = (node: TSESTree.ImportDeclaration) => void;
|
|
6
|
+
export declare function checkForLuminaJsx(): LuminaJsxCheck & {
|
|
7
|
+
isLuminaJsx: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare function hasDecorator(node: Pick<TSESTree.PropertyDefinitionNonComputedName, "decorators">, decoratorName: string): boolean;
|
|
10
|
+
export declare function extractDeclareElementsInterface(node: TSESTree.TSModuleDeclaration): TSESTree.TSInterfaceDeclaration | undefined;
|
|
11
|
+
export declare function isCreateEvent(node: TSESTree.PropertyDefinition): boolean;
|
|
12
|
+
export declare const getProperty: (properties: TSESTree.ObjectLiteralElement[] | undefined, name: string) => TSESTree.Property["value"] | undefined;
|
|
13
|
+
export declare function isGetterWithoutSetter(node: TSESTree.MethodDefinition | TSESTree.PropertyDefinition): boolean;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @remarks
|
|
3
|
+
* Not using eslint-plugin-eslint-plugin as most rules there are not applicable
|
|
4
|
+
* when using TypeScript. Sad that ESLint ecosystem doesn't have a strong
|
|
5
|
+
* TypeScript culture. Some other rules are not applicable since we are using
|
|
6
|
+
* typescript-eslint.
|
|
7
|
+
*/
|
|
8
|
+
import type { AnyRuleModule } from "@typescript-eslint/utils/ts-eslint";
|
|
9
|
+
import type { TSESLint } from "@typescript-eslint/utils";
|
|
10
|
+
export declare function makeEslintPlugin(pluginName: string, rules: Record<string, AnyRuleModule>): TSESLint.FlatConfig.Plugin & {
|
|
11
|
+
configs: {
|
|
12
|
+
recommended: TSESLint.FlatConfig.Config;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { RuleTester } from "@typescript-eslint/rule-tester";
|
|
2
|
+
export declare const untypedRuleTester: RuleTester;
|
|
3
|
+
export declare const typedRuleTester: RuleTester;
|
|
4
|
+
/**
|
|
5
|
+
* A helper for authoring before/after autofix diff in a way that makes it easy
|
|
6
|
+
* to see what part of the code changed, and avoids duplication.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* {
|
|
11
|
+
* ...diff`console.${["warn", "error"]}("test");`;
|
|
12
|
+
* errors: [{ messageId: "messageId" }],
|
|
13
|
+
* },
|
|
14
|
+
* // equivalent to:
|
|
15
|
+
* {
|
|
16
|
+
* code: "console.warn(\"test\");",
|
|
17
|
+
* output: "console.error(\"test\");",
|
|
18
|
+
* errors: [{ messageId: "messageId" }],
|
|
19
|
+
* },
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
export declare function diff(parts: readonly string[], ...parameters: readonly (readonly [before: string, after: string])[]): {
|
|
24
|
+
code: string;
|
|
25
|
+
output: string;
|
|
26
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
2
|
+
type CommonDocs = {
|
|
3
|
+
description: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const createRule: <Options extends readonly unknown[], MessageIds extends string>({ meta, name, ...rule }: Readonly<ESLintUtils.RuleWithMetaAndName<Options, MessageIds, CommonDocs>>) => ESLintUtils.RuleModule<MessageIds, Options, CommonDocs, ESLintUtils.RuleListener>;
|
|
6
|
+
export {};
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@arcgis/eslint-config",
|
|
3
|
+
"version": "4.32.0-next.67",
|
|
4
|
+
"description": "ESLint configuration for arcgis-web-components",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "index.js",
|
|
7
|
+
"module": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": "./dist/config/index.js",
|
|
11
|
+
"./extra": "./dist/config/extra.js",
|
|
12
|
+
"./lumina": "./dist/config/lumina.js",
|
|
13
|
+
"./restrictedImports": "./dist/config/restrictedImports.js",
|
|
14
|
+
"./plugins/webgis": "./dist/plugins/webgis/index.js",
|
|
15
|
+
"./plugins/lumina": "./dist/plugins/lumina/index.js",
|
|
16
|
+
"./package.json": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist/"
|
|
20
|
+
],
|
|
21
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@eslint/js": "^9.17.0",
|
|
24
|
+
"@types/confusing-browser-globals": "^1.0.3",
|
|
25
|
+
"confusing-browser-globals": "^1.0.11",
|
|
26
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
27
|
+
"eslint-plugin-storybook": "^0.11.1",
|
|
28
|
+
"globals": "^15.12.0",
|
|
29
|
+
"prettier": "^3.3.3",
|
|
30
|
+
"tslib": "^2.7.0",
|
|
31
|
+
"typescript": "~5.6.3",
|
|
32
|
+
"typescript-eslint": "^8.18.1"
|
|
33
|
+
},
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"eslint": "^9.17.0"
|
|
36
|
+
}
|
|
37
|
+
}
|