@arcgis/eslint-config 5.1.0-next.67 → 5.1.0-next.69

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.
@@ -458,7 +458,13 @@ const defaultConfig = [
458
458
  "@typescript-eslint/no-duplicate-type-constituents": ["warn"],
459
459
  "@typescript-eslint/no-unnecessary-boolean-literal-compare": ["warn"],
460
460
  "@typescript-eslint/no-extra-non-null-assertion": ["warn"],
461
- "@typescript-eslint/no-unnecessary-type-arguments": ["warn"],
461
+ // False positive for the following:
462
+ // this.listen<CustomEvent>("arcgisChartsJSDataProcessComplete", this.handleDataProcessComplete);
463
+ "@typescript-eslint/no-unnecessary-type-arguments": "off",
464
+ // The autofix creates TS errors in makeT9nController(). This is a new
465
+ // rule - give it more time to catch the bug cases. Also, this rule
466
+ // changes runtime behavior, and may lead to breaking changes.
467
+ "@typescript-eslint/no-useless-default-assignment": "off",
462
468
  "@typescript-eslint/no-unnecessary-type-assertion": ["warn"],
463
469
  "@typescript-eslint/prefer-includes": ["warn"],
464
470
  "@typescript-eslint/prefer-reduce-type-parameter": ["warn"],
@@ -599,6 +605,18 @@ const defaultConfig = [
599
605
  // Allow empty "files" field to explicitly indicate that no files
600
606
  // should be included in the package
601
607
  "package-json/no-empty-fields": ["error", { ignoreProperties: ["files"] }],
608
+ // We use license instead
609
+ "package-json/require-attribution": "off",
610
+ // We are not open source
611
+ "package-json/require-repository": "off",
612
+ // This option is tricky to set right, especially for web component
613
+ // libraries that have many side effect entrypoints. It can also get out
614
+ // of date easily. If we don't explicitly indicate sideEffects, bundlers
615
+ // have good default AST-based heuristics.
616
+ "package-json/require-sideEffects": "off",
617
+ // Can't address these till 6.0 without breaking changes.
618
+ // Most errors are in react wrappers which will be dropped in 6.0.
619
+ "package-json/require-exports": "off",
602
620
  // Enforce a specific property order for better readability and consistency
603
621
  "package-json/order-properties": [
604
622
  "warn",
@@ -29,6 +29,8 @@ const storybookConfig = [
29
29
  "storybook/no-title-property-in-meta": "off",
30
30
  // Not applicable as we have a central Storybook config (@arcgis/storybook-utils)
31
31
  "storybook/no-uninstalled-addons": "off",
32
+ // Not that helpful as we have a central Storybook config (@arcgis/storybook-utils)
33
+ "storybook/no-renderer-packages": "off",
32
34
  // We never used storiesOf, and it's no longer included in Storybook
33
35
  "storybook/no-stories-of": "off",
34
36
  // Redundant with TypeScript
@@ -1,5 +1,5 @@
1
1
  import { ESLintUtils, AST_NODE_TYPES } from "@typescript-eslint/utils";
2
- const version = "5.1.0-next.67";
2
+ const version = "5.1.0-next.69";
3
3
  const packageJson = {
4
4
  version
5
5
  };
@@ -1,4 +1,4 @@
1
- import { m as makeEslintPlugin, l as luminaJsxExportName, a as luminaEntrypointName, b as luminaTestEntrypointName, s as sourceCodeDeclaresComponent, p as parsePropertyDecorator, c as getProperty, i as isGetterWithoutSetter, e as extractDeclareElementsInterface, d as isCreateEvent, h as hasDecorator, f as getName, j as checkForLuminaJsx, k as isBindThisCallee, g as getComponentDeclaration, u as unwrapExpression } from "../../estree-Or2bG8yJ.js";
1
+ import { m as makeEslintPlugin, l as luminaJsxExportName, a as luminaEntrypointName, b as luminaTestEntrypointName, s as sourceCodeDeclaresComponent, p as parsePropertyDecorator, c as getProperty, i as isGetterWithoutSetter, e as extractDeclareElementsInterface, d as isCreateEvent, h as hasDecorator, f as getName, j as checkForLuminaJsx, k as isBindThisCallee, g as getComponentDeclaration, u as unwrapExpression } from "../../estree-C7gwzhFc.js";
2
2
  import { AST_NODE_TYPES, ESLintUtils, AST_TOKEN_TYPES } from "@typescript-eslint/utils";
3
3
  import ts from "typescript";
4
4
  import { camelToKebab } from "@arcgis/toolkit/string";
@@ -1354,20 +1354,26 @@ plugin.createRule({
1354
1354
  return {
1355
1355
  "Program:exit"() {
1356
1356
  const source = context.sourceCode.text;
1357
- for (const match of source.matchAll(/@(?:internal|private)\b/gu)) {
1358
- const idx = match.index;
1359
- const lineStart = source.lastIndexOf("\n", idx - 1) + 1;
1360
- const before = source.slice(lineStart, idx).trim();
1361
- if (before === "*" || before === "/**") {
1357
+ for (const comment of context.sourceCode.getAllComments()) {
1358
+ const commentText = source.slice(comment.range[0], comment.range[1]);
1359
+ if (!commentText.startsWith("/**")) {
1362
1360
  continue;
1363
1361
  }
1364
- context.report({
1365
- messageId: "inlineExposure",
1366
- loc: {
1367
- start: context.sourceCode.getLocFromIndex(idx - 1),
1368
- end: context.sourceCode.getLocFromIndex(idx + match[0].length)
1362
+ for (const match of comment.value.matchAll(/@(?:internal|private)\b/gu)) {
1363
+ const idx = comment.range[0] + 2 + match.index;
1364
+ const lineStart = source.lastIndexOf("\n", idx - 1) + 1;
1365
+ const before = source.slice(lineStart, idx).trim();
1366
+ if (before === "*" || before === "/**") {
1367
+ continue;
1369
1368
  }
1370
- });
1369
+ context.report({
1370
+ messageId: "inlineExposure",
1371
+ loc: {
1372
+ start: context.sourceCode.getLocFromIndex(idx - 1),
1373
+ end: context.sourceCode.getLocFromIndex(idx + match[0].length)
1374
+ }
1375
+ });
1376
+ }
1371
1377
  }
1372
1378
  }
1373
1379
  };
@@ -1,4 +1,4 @@
1
- import { m as makeEslintPlugin, e as extractDeclareElementsInterface, g as getComponentDeclaration } from "../../estree-Or2bG8yJ.js";
1
+ import { m as makeEslintPlugin, e as extractDeclareElementsInterface, g as getComponentDeclaration } from "../../estree-C7gwzhFc.js";
2
2
  import { resolve } from "path/posix";
3
3
  import { AST_NODE_TYPES } from "@typescript-eslint/utils";
4
4
  const plugin = makeEslintPlugin(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/eslint-config",
3
- "version": "5.1.0-next.67",
3
+ "version": "5.1.0-next.69",
4
4
  "description": "ESLint configuration for WebGIS SDK",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -23,21 +23,21 @@
23
23
  ],
24
24
  "license": "SEE LICENSE IN LICENSE.md",
25
25
  "dependencies": {
26
- "@eslint/js": "^9.39.1",
27
- "@eslint/markdown": "^7.5.1",
26
+ "@eslint/js": "^10.0.1",
27
+ "@eslint/markdown": "^8.0.1",
28
28
  "@types/confusing-browser-globals": "^1.0.3",
29
- "@typescript-eslint/utils": "^8.46.4",
29
+ "@typescript-eslint/utils": "^8.58.0",
30
30
  "confusing-browser-globals": "^1.0.11",
31
- "eslint-plugin-package-json": "^0.88.1",
32
- "eslint-plugin-storybook": "^0.12.0",
31
+ "eslint-plugin-package-json": "~0.91.1",
32
+ "eslint-plugin-storybook": "^10.3.4",
33
33
  "globals": "^16.5.0",
34
- "jsonc-eslint-parser": "^2.0.0",
34
+ "jsonc-eslint-parser": "^3.1.0",
35
35
  "tslib": "^2.8.1",
36
- "typescript": "~5.9.3",
37
- "typescript-eslint": "^8.46.3",
38
- "@arcgis/toolkit": "5.1.0-next.67"
36
+ "typescript": "~6.0.2",
37
+ "typescript-eslint": "^8.58.0",
38
+ "@arcgis/toolkit": "5.1.0-next.69"
39
39
  },
40
40
  "peerDependencies": {
41
- "eslint": "^9.39.1"
41
+ "eslint": "^10.2.0"
42
42
  }
43
43
  }