@arcgis/eslint-config 4.33.0-next.16 → 4.33.0-next.160

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.
Files changed (81) hide show
  1. package/dist/config/applications.d.ts +5 -0
  2. package/dist/config/applications.js +40 -0
  3. package/dist/config/extra.js +2 -3
  4. package/dist/config/index.d.ts +2 -19
  5. package/dist/config/index.js +52 -123
  6. package/dist/config/lumina.d.ts +1 -5
  7. package/dist/config/lumina.js +17 -20
  8. package/dist/config/storybook.d.ts +1 -1
  9. package/dist/makePlugin-DEVY1iGf.js +38 -0
  10. package/dist/plugins/lumina/index.d.ts +1 -2
  11. package/dist/plugins/lumina/index.js +2242 -5
  12. package/dist/plugins/lumina/plugin.d.ts +8 -0
  13. package/dist/plugins/lumina/rules/add-missing-jsx-import.d.ts +2 -1
  14. package/dist/plugins/lumina/rules/auto-add-type.d.ts +3 -2
  15. package/dist/plugins/lumina/rules/ban-events.d.ts +6 -0
  16. package/dist/plugins/lumina/rules/component-placement-rules.d.ts +2 -1
  17. package/dist/plugins/lumina/rules/consistent-event-naming.d.ts +2 -2
  18. package/dist/plugins/lumina/rules/consistent-nullability.d.ts +2 -0
  19. package/dist/plugins/lumina/rules/decorators-context.d.ts +2 -1
  20. package/dist/plugins/lumina/rules/explicit-setter-type.d.ts +19 -0
  21. package/dist/plugins/lumina/rules/member-ordering/build.d.ts +3 -3
  22. package/dist/plugins/lumina/rules/member-ordering/comments.d.ts +2 -2
  23. package/dist/plugins/lumina/rules/member-ordering/config.d.ts +1 -1
  24. package/dist/plugins/lumina/rules/member-ordering/normalize.d.ts +2 -2
  25. package/dist/plugins/lumina/rules/member-ordering.d.ts +2 -1
  26. package/dist/plugins/lumina/rules/no-create-element-component.d.ts +2 -0
  27. package/dist/plugins/lumina/rules/no-ignore-jsdoc-tag.d.ts +2 -1
  28. package/dist/plugins/lumina/rules/no-incorrect-dynamic-tag-name.d.ts +3 -2
  29. package/dist/plugins/lumina/rules/no-inline-arrow-in-ref.d.ts +2 -1
  30. package/dist/plugins/lumina/rules/no-invalid-directives-prop.d.ts +2 -1
  31. package/dist/plugins/lumina/rules/no-jsx-spread.d.ts +2 -1
  32. package/dist/plugins/lumina/rules/no-listen-in-connected-callback.d.ts +2 -1
  33. package/dist/plugins/lumina/rules/no-non-component-exports.d.ts +2 -1
  34. package/dist/plugins/lumina/rules/no-property-name-start-with-on.d.ts +2 -1
  35. package/dist/plugins/lumina/rules/no-render-false.d.ts +3 -2
  36. package/dist/plugins/lumina/rules/no-unnecessary-assertion-on-event.d.ts +3 -0
  37. package/dist/plugins/lumina/rules/no-unnecessary-attribute-name.d.ts +2 -1
  38. package/dist/plugins/lumina/rules/no-unnecessary-bind-this.d.ts +2 -1
  39. package/dist/plugins/lumina/rules/no-unnecessary-key.d.ts +2 -1
  40. package/dist/plugins/lumina/rules/tag-name-rules.d.ts +2 -2
  41. package/dist/plugins/lumina/utils/checker.d.ts +3 -1
  42. package/dist/plugins/lumina/utils/estree.d.ts +2 -1
  43. package/dist/plugins/lumina/utils/tags.d.ts +14 -0
  44. package/dist/plugins/utils/makePlugin.d.ts +12 -13
  45. package/dist/plugins/webgis/index.d.ts +1 -2
  46. package/dist/plugins/webgis/index.js +180 -5
  47. package/dist/plugins/webgis/plugin.d.ts +8 -0
  48. package/dist/plugins/webgis/rules/no-dts-files.d.ts +2 -0
  49. package/dist/plugins/webgis/rules/no-import-outside-src.d.ts +2 -1
  50. package/dist/plugins/webgis/rules/no-touching-jsdoc.d.ts +2 -1
  51. package/dist/plugins/webgis/rules/require-js-in-imports.d.ts +2 -0
  52. package/package.json +9 -10
  53. package/dist/chunk-2ND3FRSX.js +0 -160
  54. package/dist/chunk-C76ANB4Z.js +0 -26
  55. package/dist/chunk-PVNFCQDL.js +0 -1975
  56. package/dist/plugins/lumina/rules/add-missing-jsx-import.test.d.ts +0 -1
  57. package/dist/plugins/lumina/rules/auto-add-type.test.d.ts +0 -1
  58. package/dist/plugins/lumina/rules/component-placement-rules.test.d.ts +0 -1
  59. package/dist/plugins/lumina/rules/consistent-event-naming.test.d.ts +0 -1
  60. package/dist/plugins/lumina/rules/decorators-context.test.d.ts +0 -1
  61. package/dist/plugins/lumina/rules/member-ordering.test.d.ts +0 -1
  62. package/dist/plugins/lumina/rules/no-ignore-jsdoc-tag.test.d.ts +0 -1
  63. package/dist/plugins/lumina/rules/no-incorrect-dynamic-tag-name.test.d.ts +0 -1
  64. package/dist/plugins/lumina/rules/no-inline-arrow-in-ref.test.d.ts +0 -1
  65. package/dist/plugins/lumina/rules/no-invalid-directives-prop.test.d.ts +0 -1
  66. package/dist/plugins/lumina/rules/no-jsx-spread.test.d.ts +0 -1
  67. package/dist/plugins/lumina/rules/no-listen-in-connected-callback.test.d.ts +0 -1
  68. package/dist/plugins/lumina/rules/no-non-component-exports.test.d.ts +0 -1
  69. package/dist/plugins/lumina/rules/no-property-name-start-with-on.test.d.ts +0 -1
  70. package/dist/plugins/lumina/rules/no-render-false.test.d.ts +0 -1
  71. package/dist/plugins/lumina/rules/no-unnecessary-attribute-name.test.d.ts +0 -1
  72. package/dist/plugins/lumina/rules/no-unnecessary-bind-this.test.d.ts +0 -1
  73. package/dist/plugins/lumina/rules/no-unnecessary-key.test.d.ts +0 -1
  74. package/dist/plugins/lumina/rules/tag-name-rules.spec.d.ts +0 -1
  75. package/dist/plugins/lumina/utils/creator.d.ts +0 -3
  76. package/dist/plugins/utils/tests.d.ts +0 -26
  77. package/dist/plugins/webgis/rules/no-import-outside-src.test.d.ts +0 -1
  78. package/dist/plugins/webgis/rules/no-touching-jsdoc.test.d.ts +0 -1
  79. package/dist/plugins/webgis/rules/require-js-in-core-import.d.ts +0 -1
  80. package/dist/plugins/webgis/rules/require-js-in-core-import.test.d.ts +0 -1
  81. package/dist/plugins/webgis/utils/creator.d.ts +0 -3
@@ -1,160 +0,0 @@
1
- import {
2
- makeEslintPlugin
3
- } from "./chunk-C76ANB4Z.js";
4
-
5
- // src/plugins/utils/helpers.ts
6
- var isTestFile = (filePath) => filePath.includes("/test") || filePath.includes(".test") || filePath.includes(".spec") || filePath.includes("e2e") || filePath.includes("__") || filePath.includes("/.");
7
-
8
- // src/plugins/webgis/utils/creator.ts
9
- import { ESLintUtils } from "@typescript-eslint/utils";
10
- var createRule = ESLintUtils.RuleCreator(
11
- (rule) => `https://devtopia.esri.com/WebGIS/arcgis-web-components/tree/main/packages/support-packages/eslint-config/src/plugins/webgis/rules/${rule}.ts`
12
- );
13
-
14
- // src/plugins/webgis/rules/no-import-outside-src.ts
15
- import { resolve } from "path/posix";
16
- var description = `Imports of files outside the src/ folder are not-portable and likely to break for consumers of this package.`;
17
- var noImportOutsideSrc = createRule({
18
- name: "no-import-outside-src",
19
- meta: {
20
- docs: {
21
- description,
22
- defaultLevel: "error"
23
- },
24
- messages: {
25
- noImportOutsideSrc: description
26
- },
27
- type: "problem",
28
- schema: []
29
- },
30
- defaultOptions: [],
31
- create(context) {
32
- const fileName = context.filename;
33
- const srcIndex = fileName.indexOf("/src/");
34
- if (srcIndex === -1) {
35
- return {};
36
- }
37
- const basePath = fileName.slice(0, srcIndex + "/src/".length);
38
- if (isTestFile(fileName)) {
39
- return {};
40
- }
41
- return {
42
- ImportDeclaration(node) {
43
- const specifier = node.source.value;
44
- const isRelativeAncestor = specifier.startsWith("../");
45
- if (!isRelativeAncestor) {
46
- return;
47
- }
48
- const relativePath = resolve(fileName, "..", specifier);
49
- if (!relativePath.startsWith(basePath) && !relativePath.endsWith(".json")) {
50
- context.report({
51
- messageId: "noImportOutsideSrc",
52
- node: node.source
53
- });
54
- }
55
- }
56
- };
57
- }
58
- });
59
-
60
- // src/plugins/webgis/rules/no-touching-jsdoc.ts
61
- var description2 = `Having two JSDoc comments next to each other is most likely a mistake - consider combining them into one, or separating them for clarity.`;
62
- var noTouchingJsDoc = createRule({
63
- name: "no-touching-jsdoc",
64
- meta: {
65
- docs: {
66
- description: description2,
67
- defaultLevel: "warn"
68
- },
69
- messages: {
70
- noTouchingJsDoc: description2
71
- },
72
- type: "problem",
73
- schema: []
74
- },
75
- defaultOptions: [],
76
- create(context) {
77
- return {
78
- Program() {
79
- Array.from(context.sourceCode.text.matchAll(reTouchingJsDoc), (match) => {
80
- const previousJsDocStart = context.sourceCode.text.slice(0, match.index).lastIndexOf("/**");
81
- if (previousJsDocStart === -1) {
82
- return void 0;
83
- }
84
- const previousJsDocContent = context.sourceCode.text.slice(
85
- previousJsDocStart + "/**".length,
86
- match.index - "*/".length
87
- );
88
- const containsOtherComments = previousJsDocContent.includes("*/");
89
- if (containsOtherComments) {
90
- return void 0;
91
- }
92
- context.report({
93
- messageId: "noTouchingJsDoc",
94
- loc: {
95
- start: context.sourceCode.getLocFromIndex(match.index),
96
- end: context.sourceCode.getLocFromIndex(match.index + match[0].length)
97
- }
98
- });
99
- return void 0;
100
- });
101
- }
102
- };
103
- }
104
- });
105
- var reTouchingJsDoc = /\*\/\s+\/\*\*/gu;
106
-
107
- // src/plugins/webgis/rules/require-js-in-core-import.ts
108
- import { AST_NODE_TYPES } from "@typescript-eslint/utils";
109
- var description3 = `@arcgis/core imports need to end with .js for better compatibility with @arcgis/core ESM CDN builds.`;
110
- var requireJsInCoreImport = createRule({
111
- name: "require-js-in-core-import",
112
- meta: {
113
- docs: {
114
- description: description3,
115
- defaultLevel: "warn"
116
- },
117
- messages: {
118
- requireJsInCoreImport: description3
119
- },
120
- type: "problem",
121
- fixable: "code",
122
- schema: []
123
- },
124
- defaultOptions: [],
125
- create(context) {
126
- if (isTestFile(context.filename)) {
127
- return {};
128
- }
129
- function updateSpecifier(node) {
130
- if (node.source.type !== AST_NODE_TYPES.Literal || node.importKind === "type") {
131
- return;
132
- }
133
- const specifier = node.source.value;
134
- if (typeof specifier !== "string" || !specifier.startsWith("@arcgis/core/") || // Already ends with .js or .json
135
- specifier.includes(".")) {
136
- return;
137
- }
138
- context.report({
139
- node: node.source,
140
- messageId: "requireJsInCoreImport",
141
- fix: (fixer) => fixer.replaceText(node.source, `"${specifier}.js"`)
142
- });
143
- }
144
- return {
145
- ImportDeclaration: updateSpecifier,
146
- ImportExpression: updateSpecifier
147
- };
148
- }
149
- });
150
-
151
- // src/plugins/webgis/index.ts
152
- var webgis_default = makeEslintPlugin("webgis", {
153
- "no-import-outside-src": noImportOutsideSrc,
154
- "no-touching-jsdoc": noTouchingJsDoc,
155
- "require-js-in-core-import": requireJsInCoreImport
156
- });
157
-
158
- export {
159
- webgis_default
160
- };
@@ -1,26 +0,0 @@
1
- // package.json
2
- var version = "4.33.0-next.16";
3
-
4
- // src/plugins/utils/makePlugin.ts
5
- function makeEslintPlugin(pluginName, rules) {
6
- const config = {
7
- rules: Object.fromEntries(
8
- Object.entries(rules).map(([name, rule]) => [`${pluginName}/${name}`, rule.meta.docs.defaultLevel])
9
- )
10
- };
11
- const plugin = {
12
- meta: { name: "@arcgis/eslint-plugin-webgis", version },
13
- configs: {
14
- recommended: config
15
- },
16
- rules
17
- };
18
- config.plugins = {
19
- [pluginName]: plugin
20
- };
21
- return plugin;
22
- }
23
-
24
- export {
25
- makeEslintPlugin
26
- };