xo 0.46.3 → 0.46.4

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 (43) hide show
  1. package/index.js +5 -10
  2. package/lib/options-manager.js +108 -86
  3. package/node_modules/@typescript-eslint/eslint-plugin/CHANGELOG.md +17 -0
  4. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js +4 -2
  5. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js.map +1 -1
  6. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js +24 -1
  7. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map +1 -1
  8. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js +2 -1
  9. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js.map +1 -1
  10. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.md +1 -1
  11. package/node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore/index.js +13 -16
  12. package/node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore/legacy.js +12 -15
  13. package/node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore/package.json +6 -5
  14. package/node_modules/@typescript-eslint/eslint-plugin/package.json +4 -4
  15. package/node_modules/@typescript-eslint/experimental-utils/CHANGELOG.md +16 -0
  16. package/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/helpers.d.ts +6 -1
  17. package/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/helpers.d.ts.map +1 -1
  18. package/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/helpers.js +7 -1
  19. package/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/helpers.js.map +1 -1
  20. package/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.d.ts +13 -7
  21. package/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.d.ts.map +1 -1
  22. package/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.js +5 -9
  23. package/node_modules/@typescript-eslint/experimental-utils/dist/ast-utils/predicates.js.map +1 -1
  24. package/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.d.ts +4 -0
  25. package/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.d.ts.map +1 -1
  26. package/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/RuleTester.js.map +1 -1
  27. package/node_modules/@typescript-eslint/experimental-utils/package.json +5 -5
  28. package/node_modules/@typescript-eslint/parser/CHANGELOG.md +8 -0
  29. package/node_modules/@typescript-eslint/parser/package.json +6 -6
  30. package/node_modules/@typescript-eslint/scope-manager/CHANGELOG.md +8 -0
  31. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  32. package/node_modules/@typescript-eslint/types/CHANGELOG.md +8 -0
  33. package/node_modules/@typescript-eslint/types/package.json +2 -2
  34. package/node_modules/@typescript-eslint/typescript-estree/CHANGELOG.md +8 -0
  35. package/node_modules/@typescript-eslint/typescript-estree/node_modules/ignore/index.js +13 -16
  36. package/node_modules/@typescript-eslint/typescript-estree/node_modules/ignore/legacy.js +12 -15
  37. package/node_modules/@typescript-eslint/typescript-estree/node_modules/ignore/package.json +6 -5
  38. package/node_modules/@typescript-eslint/typescript-estree/package.json +6 -6
  39. package/node_modules/@typescript-eslint/visitor-keys/CHANGELOG.md +8 -0
  40. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  41. package/package.json +1 -1
  42. package/node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore/CHANGELOG.md +0 -32
  43. package/node_modules/@typescript-eslint/typescript-estree/node_modules/ignore/CHANGELOG.md +0 -32
package/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import {ESLint} from 'eslint';
3
3
  import {globby, isGitIgnoredSync} from 'globby';
4
- import {isEqual, groupBy} from 'lodash-es';
4
+ import {isEqual} from 'lodash-es';
5
5
  import micromatch from 'micromatch';
6
6
  import arrify from 'arrify';
7
7
  import slash from 'slash';
@@ -9,6 +9,7 @@ import {
9
9
  parseOptions,
10
10
  getIgnores,
11
11
  mergeWithFileConfig,
12
+ getOptionGroups,
12
13
  } from './lib/options-manager.js';
13
14
  import {mergeReports, processReport, getIgnoredReport} from './lib/report.js';
14
15
 
@@ -34,8 +35,8 @@ const getConfig = async options => {
34
35
  };
35
36
 
36
37
  const lintText = async (string, options) => {
37
- options = await parseOptions(options);
38
- const {filePath, warnIgnored, eslintOptions, isQuiet} = options;
38
+ const [[options_]] = Object.values(await getOptionGroups([options && options.filePath], options));
39
+ const {filePath, warnIgnored, eslintOptions, isQuiet} = options_;
39
40
  const {cwd, baseConfig: {ignorePatterns}} = eslintOptions;
40
41
 
41
42
  if (typeof filePath !== 'string' && !isEqual(getIgnores({}), ignorePatterns)) {
@@ -65,13 +66,7 @@ const lintText = async (string, options) => {
65
66
  const lintFiles = async (patterns, options) => {
66
67
  const files = await globFiles(patterns, options);
67
68
 
68
- const allOptions = await Promise.all(
69
- files.map(filePath => parseOptions({...options, filePath})),
70
- );
71
-
72
- // Files with same `xoConfigPath` can lint together
73
- // https://github.com/xojs/xo/issues/599
74
- const groups = groupBy(allOptions, 'eslintConfigId');
69
+ const groups = await getOptionGroups(files, options);
75
70
 
76
71
  const reports = await Promise.all(
77
72
  Object.values(groups)
@@ -11,11 +11,10 @@ import semver from 'semver';
11
11
  import {cosmiconfig, defaultLoaders} from 'cosmiconfig';
12
12
  import micromatch from 'micromatch';
13
13
  import JSON5 from 'json5';
14
- import toAbsoluteGlob from 'to-absolute-glob';
15
14
  import stringify from 'json-stable-stringify-without-jsonify';
16
- import murmur from 'imurmurhash';
17
15
  import {Legacy} from '@eslint/eslintrc';
18
16
  import createEsmUtils from 'esm-utils';
17
+ import MurmurHash3 from 'imurmurhash';
19
18
  import {
20
19
  DEFAULT_IGNORES,
21
20
  DEFAULT_EXTENSION,
@@ -42,7 +41,6 @@ resolveFrom.silent = (moduleId, fromDirectory) => {
42
41
 
43
42
  const resolveLocalConfig = name => resolveModule(normalizePackageName(name, 'eslint-config'), import.meta.url);
44
43
 
45
- const nodeVersion = process && process.version;
46
44
  const cacheLocation = cwd => findCacheDir({name: CACHE_DIR_NAME, cwd}) || path.join(os.homedir() || os.tmpdir(), '.xo-cache/');
47
45
 
48
46
  const DEFAULT_CONFIG = {
@@ -109,93 +107,92 @@ const mergeWithFileConfig = async options => {
109
107
  }
110
108
 
111
109
  const searchPath = options.filePath || options.cwd;
112
-
113
110
  const {config: xoOptions, filepath: xoConfigPath} = (await configExplorer.search(searchPath)) || {};
114
111
  const {config: enginesOptions} = (await pkgConfigExplorer.search(searchPath)) || {};
115
112
 
116
- options = mergeOptions(options, xoOptions, enginesOptions);
113
+ options = normalizeOptions({
114
+ ...xoOptions,
115
+ ...(enginesOptions && enginesOptions.node && semver.validRange(enginesOptions.node) ? {nodeVersion: enginesOptions.node} : {}),
116
+ ...options,
117
+ });
118
+ options.extensions = [...DEFAULT_EXTENSION, ...(options.extensions || [])];
119
+ options.ignores = getIgnores(options);
117
120
  options.cwd = xoConfigPath && path.dirname(xoConfigPath) !== options.cwd ? path.resolve(options.cwd, path.dirname(xoConfigPath)) : options.cwd;
118
121
 
119
- // Very simple way to ensure eslint is ran minimal times across
120
- // all linted files, once for each unique configuration - xo config path + override hash + tsconfig path
121
- let eslintConfigId = xoConfigPath;
122
+ // Ensure eslint is ran minimal times across all linted files, once for each unique configuration
123
+ // incremental hash of: xo config path + override hash + tsconfig path
124
+ // ensures unique configurations
125
+ options.eslintConfigId = new MurmurHash3(xoConfigPath);
122
126
  if (options.filePath) {
123
127
  const overrides = applyOverrides(options.filePath, options);
124
128
  options = overrides.options;
125
129
 
126
130
  if (overrides.hash) {
127
- eslintConfigId += overrides.hash;
131
+ options.eslintConfigId = options.eslintConfigId.hash(`${overrides.hash}`);
128
132
  }
129
133
  }
130
134
 
131
135
  const prettierOptions = options.prettier ? await prettier.resolveConfig(searchPath, {editorconfig: true}) || {} : {};
132
136
 
133
137
  if (options.filePath && isTypescript(options.filePath)) {
134
- // We can skip looking up the tsconfig if we have it defined
135
- // in our parser options already. Otherwise we can look it up and create it as normal
136
- const {project: tsConfigProjectPath, tsconfigRootDir} = options.parserOptions || {};
137
-
138
- let tsConfig;
139
- let tsConfigPath;
140
- if (tsConfigProjectPath) {
141
- tsConfigPath = path.resolve(options.cwd, tsConfigProjectPath);
142
- tsConfig = await json.load(tsConfigPath);
143
- } else {
144
- const tsConfigExplorer = cosmiconfig([], {
145
- searchPlaces: ['tsconfig.json'],
146
- loaders: {'.json': (_, content) => JSON5.parse(content)},
147
- stopDir: tsconfigRootDir,
148
- });
149
- const searchResults = (await tsConfigExplorer.search(options.filePath)) || {};
150
- tsConfigPath = searchResults.filepath;
151
- tsConfig = searchResults.config;
152
- }
153
-
154
- if (tsConfigPath) {
155
- options.tsConfigPath = tsConfigPath;
156
- eslintConfigId += tsConfigPath;
157
- } else {
158
- const {path: tsConfigCachePath, hash: tsConfigHash} = await getTsConfigCachePath([eslintConfigId], tsConfigPath, options.cwd);
159
- eslintConfigId += tsConfigHash;
160
- options.tsConfigPath = tsConfigCachePath;
161
- const config = makeTSConfig(tsConfig, tsConfigPath, [options.filePath]);
162
- await fs.mkdir(path.dirname(options.tsConfigPath), {recursive: true});
163
- await fs.writeFile(options.tsConfigPath, JSON.stringify(config));
164
- }
165
-
166
- options.ts = true;
138
+ options = await handleTSConfig(options);
167
139
  }
168
140
 
169
- return {options, prettierOptions, eslintConfigId};
170
- };
141
+ // Ensure this field ends up as a string
142
+ options.eslintConfigId = options.eslintConfigId.result();
171
143
 
172
- /**
173
- Generate a unique and consistent path for the temporary `tsconfig.json`.
174
- Hashing based on https://github.com/eslint/eslint/blob/cf38d0d939b62f3670cdd59f0143fd896fccd771/lib/cli-engine/lint-result-cache.js#L30
175
- */
176
- const getTsConfigCachePath = async (files, tsConfigPath, cwd) => {
177
- const {version} = await json.load('../package.json');
178
- const tsConfigHash = murmur(`${version}_${nodeVersion}_${stringify({files: files.sort(), tsConfigPath})}`).result().toString(36);
179
- return {
180
- path: path.join(
181
- cacheLocation(cwd),
182
- `tsconfig.${tsConfigHash}.json`,
183
- ),
184
- hash: tsConfigHash,
185
- };
144
+ return {options, prettierOptions};
186
145
  };
187
146
 
188
- const makeTSConfig = (tsConfig, tsConfigPath, files) => {
189
- const config = {files: files.filter(file => isTypescript(file))};
190
-
191
- if (tsConfig) {
192
- config.extends = tsConfigPath;
193
- config.include = arrify(tsConfig.include).map(pattern => toAbsoluteGlob(pattern, {cwd: path.dirname(tsConfigPath)}));
147
+ /**
148
+ * Find the tsconfig or create a default config
149
+ * If a config is found but it doesn't cover the file as needed by parserOptions.project
150
+ * we create a temp config for that file that extends the found config. If no config is found
151
+ * for a file we apply a default config.
152
+ */
153
+ const handleTSConfig = async options => {
154
+ // We can skip looking up the tsconfig if we have it defined
155
+ // in our parser options already. Otherwise we can look it up and create it as normal
156
+ options.ts = true;
157
+ options.tsConfig = {};
158
+ options.tsConfigPath = '';
159
+
160
+ const {project: tsConfigProjectPath, tsconfigRootDir} = options.parserOptions || {};
161
+
162
+ if (tsConfigProjectPath) {
163
+ options.tsConfigPath = path.resolve(options.cwd, tsConfigProjectPath);
164
+ options.tsConfig = await json.load(options.tsConfigPath);
194
165
  } else {
195
- Object.assign(config, TSCONFIG_DEFAULTS);
166
+ const tsConfigExplorer = cosmiconfig([], {
167
+ searchPlaces: ['tsconfig.json'],
168
+ loaders: {'.json': (_, content) => JSON5.parse(content)},
169
+ stopDir: tsconfigRootDir,
170
+ });
171
+ const searchResults = (await tsConfigExplorer.search(options.filePath)) || {};
172
+ options.tsConfigPath = searchResults.filepath;
173
+ options.tsConfig = searchResults.config;
196
174
  }
197
175
 
198
- return config;
176
+ // If there is no files of include property - ts uses **/* as default so all TS files are matched
177
+ // TODO: Improve this matching - however, even if we get it wrong, it should still lint correctly as it will just extend the nearest tsconfig
178
+ const hasMatch = options.tsConfig && !options.tsConfig.include && !options.tsConfig.files ? true : micromatch.contains(options.filePath, [
179
+ ...(options.tsConfig && Array.isArray(options.tsConfig.include) ? options.tsConfig.include : []),
180
+ ...(options.tsConfig && Array.isArray(options.tsConfig.files) ? options.tsConfig.files : []),
181
+ ]);
182
+
183
+ if (!hasMatch) {
184
+ // Only use our default tsconfig if no other tsconfig is found - otherwise extend the found config for linting
185
+ options.tsConfig = options.tsConfigPath ? {extends: options.tsConfigPath} : TSCONFIG_DEFAULTS;
186
+ options.tsConfigHash = new MurmurHash3(stringify(options.tsConfig)).result();
187
+ options.tsConfigPath = path.join(
188
+ cacheLocation(options.cwd),
189
+ `tsconfig.${options.tsConfigHash}.json`,
190
+ );
191
+ }
192
+
193
+ options.eslintConfigId = options.eslintConfigId.hash(options.tsConfigPath);
194
+
195
+ return options;
199
196
  };
200
197
 
201
198
  const normalizeOptions = options => {
@@ -235,22 +232,6 @@ const normalizeOptions = options => {
235
232
 
236
233
  const normalizeSpaces = options => typeof options.space === 'number' ? options.space : 2;
237
234
 
238
- /**
239
- Merge option passed via CLI/API via options found in config files.
240
- */
241
- const mergeOptions = (options, xoOptions = {}, enginesOptions = {}) => {
242
- const mergedOptions = normalizeOptions({
243
- ...xoOptions,
244
- ...(enginesOptions && enginesOptions.node && semver.validRange(enginesOptions.node) ? {nodeVersion: enginesOptions.node} : {}),
245
- ...options,
246
- });
247
-
248
- mergedOptions.extensions = [...DEFAULT_EXTENSION, ...(mergedOptions.extensions || [])];
249
- mergedOptions.ignores = getIgnores(mergedOptions);
250
-
251
- return mergedOptions;
252
- };
253
-
254
235
  /**
255
236
  Transform an XO options into ESLint compatible options:
256
237
  - Apply rules based on XO options (e.g `spaces` => `indent` rules or `semicolon` => `semi` rule).
@@ -487,9 +468,6 @@ const buildTSConfig = options => config => {
487
468
  ? options.parserOptions.projectFolderIgnoreList
488
469
  : [new RegExp(`/node_modules/(?!.*\\.cache/${CACHE_DIR_NAME})`)],
489
470
  };
490
-
491
- delete config.tsConfigPath;
492
- delete config.ts;
493
471
  }
494
472
 
495
473
  return config;
@@ -576,7 +554,8 @@ const gatherImportResolvers = options => {
576
554
 
577
555
  const parseOptions = async options => {
578
556
  options = normalizeOptions(options);
579
- const {options: foundOptions, prettierOptions, eslintConfigId} = await mergeWithFileConfig(options);
557
+ const {options: foundOptions, prettierOptions} = await mergeWithFileConfig(options);
558
+ const {eslintConfigId, tsConfigHash, tsConfig, tsConfigPath} = foundOptions;
580
559
  const {filePath, warnIgnored, ...eslintOptions} = buildConfig(foundOptions, prettierOptions);
581
560
  return {
582
561
  filePath,
@@ -584,9 +563,50 @@ const parseOptions = async options => {
584
563
  isQuiet: options.quiet,
585
564
  eslintOptions,
586
565
  eslintConfigId,
566
+ tsConfigHash,
567
+ tsConfigPath,
568
+ tsConfig,
587
569
  };
588
570
  };
589
571
 
572
+ const getOptionGroups = async (files, options) => {
573
+ const allOptions = await Promise.all(
574
+ arrify(files).map(filePath => parseOptions({...options, filePath})),
575
+ );
576
+
577
+ const tsGroups = {};
578
+ const optionGroups = {};
579
+ for (const options of allOptions) {
580
+ if (Array.isArray(optionGroups[options.eslintConfigId])) {
581
+ optionGroups[options.eslintConfigId].push(options);
582
+ } else {
583
+ optionGroups[options.eslintConfigId] = [options];
584
+ }
585
+
586
+ if (options.tsConfigHash) {
587
+ if (Array.isArray(tsGroups[options.tsConfigHash])) {
588
+ tsGroups[options.tsConfigHash].push(options);
589
+ } else {
590
+ tsGroups[options.tsConfigHash] = [options];
591
+ }
592
+ }
593
+ }
594
+
595
+ await Promise.all(Object.values(tsGroups).map(async tsGroup => {
596
+ await fs.mkdir(path.dirname(tsGroup[0].tsConfigPath), {recursive: true});
597
+ await fs.writeFile(tsGroup[0].tsConfigPath, JSON.stringify({
598
+ ...tsGroup[0].tsConfig,
599
+ files: tsGroup.map(o => o.filePath),
600
+ include: [],
601
+ exclude: [],
602
+ }));
603
+ }));
604
+
605
+ // Files with same `xoConfigPath` can lint together
606
+ // https://github.com/xojs/xo/issues/599
607
+ return optionGroups;
608
+ };
609
+
590
610
  export {
591
611
  parseOptions,
592
612
  getIgnores,
@@ -598,4 +618,6 @@ export {
598
618
  mergeWithPrettierConfig,
599
619
  normalizeOptions,
600
620
  buildConfig,
621
+ getOptionGroups,
622
+ handleTSConfig,
601
623
  };
@@ -3,6 +3,23 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [5.3.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.2.0...v5.3.0) (2021-11-01)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **eslint-plugin:** ignore private identifiers in explicit-module-boundary-types ([#4046](https://github.com/typescript-eslint/typescript-eslint/issues/4046)) ([80b853d](https://github.com/typescript-eslint/typescript-eslint/commit/80b853db90ae3d4e32c4b7ec9d45a5c41dc459c9))
12
+ * **eslint-plugin:** skip seenTypes for unions in isTypeReadonly ([#4043](https://github.com/typescript-eslint/typescript-eslint/issues/4043)) ([6af7ca7](https://github.com/typescript-eslint/typescript-eslint/commit/6af7ca7d9fde230342d27ad5a75a09a58c022974))
13
+
14
+
15
+ ### Features
16
+
17
+ * **eslint-plugin:** [no-shadow] exclude external type declaration merging ([#3959](https://github.com/typescript-eslint/typescript-eslint/issues/3959)) ([a93cebf](https://github.com/typescript-eslint/typescript-eslint/commit/a93cebfc0f2026c50972bcb110bcd3295ba9a44d))
18
+
19
+
20
+
21
+
22
+
6
23
  # [5.2.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.1.0...v5.2.0) (2021-10-25)
7
24
 
8
25
 
@@ -284,7 +284,8 @@ exports.default = util.createRule({
284
284
  }
285
285
  return;
286
286
  case experimental_utils_1.AST_NODE_TYPES.PropertyDefinition:
287
- if (node.accessibility === 'private') {
287
+ if (node.accessibility === 'private' ||
288
+ node.key.type === experimental_utils_1.AST_NODE_TYPES.PrivateIdentifier) {
288
289
  return;
289
290
  }
290
291
  return checkNode(node.value);
@@ -298,7 +299,8 @@ exports.default = util.createRule({
298
299
  return checkFunction(node);
299
300
  case experimental_utils_1.AST_NODE_TYPES.MethodDefinition:
300
301
  case experimental_utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition:
301
- if (node.accessibility === 'private') {
302
+ if (node.accessibility === 'private' ||
303
+ node.key.type === experimental_utils_1.AST_NODE_TYPES.PrivateIdentifier) {
302
304
  return;
303
305
  }
304
306
  return checkNode(node.value);
@@ -1 +1 @@
1
- {"version":3,"file":"explicit-module-boundary-types.js","sourceRoot":"","sources":["../../src/rules/explicit-module-boundary-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explicit-module-boundary-types.js","sourceRoot":"","sources":["../../src/rules/explicit-module-boundary-types.ts"],"names":[],"mappings":"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"}
@@ -86,7 +86,7 @@ exports.default = util.createRule({
86
86
  variable.name === 'this');
87
87
  }
88
88
  function isTypeImport(definition) {
89
- return (definition.type === scope_manager_1.DefinitionType.ImportBinding &&
89
+ return ((definition === null || definition === void 0 ? void 0 : definition.type) === scope_manager_1.DefinitionType.ImportBinding &&
90
90
  definition.parent.importKind === 'type');
91
91
  }
92
92
  function isTypeValueShadow(variable, shadowed) {
@@ -174,6 +174,26 @@ exports.default = util.createRule({
174
174
  function isGenericOfAStaticMethodShadow(variable, shadowed) {
175
175
  return (isGenericOfStaticMethod(variable) && isGenericOfClassDecl(shadowed));
176
176
  }
177
+ function isImportDeclaration(definition) {
178
+ return definition.type === experimental_utils_1.AST_NODE_TYPES.ImportDeclaration;
179
+ }
180
+ function isExternalModuleDeclarationWithName(scope, name) {
181
+ return (scope.type === scope_manager_1.ScopeType.tsModule &&
182
+ scope.block.type === experimental_utils_1.AST_NODE_TYPES.TSModuleDeclaration &&
183
+ scope.block.id.type === experimental_utils_1.AST_NODE_TYPES.Literal &&
184
+ scope.block.id.value === name);
185
+ }
186
+ function isExternalDeclarationMerging(scope, variable, shadowed) {
187
+ var _a;
188
+ const [firstDefinition] = shadowed.defs;
189
+ const [secondDefinition] = variable.defs;
190
+ return (isTypeImport(firstDefinition) &&
191
+ isImportDeclaration(firstDefinition.parent) &&
192
+ isExternalModuleDeclarationWithName(scope, firstDefinition.parent.source.value) &&
193
+ secondDefinition.node.type === experimental_utils_1.AST_NODE_TYPES.TSInterfaceDeclaration &&
194
+ ((_a = secondDefinition.node.parent) === null || _a === void 0 ? void 0 : _a.type) ===
195
+ experimental_utils_1.AST_NODE_TYPES.ExportNamedDeclaration);
196
+ }
177
197
  /**
178
198
  * Check if variable name is allowed.
179
199
  * @param variable The variable to check.
@@ -313,6 +333,9 @@ exports.default = util.createRule({
313
333
  if (isGenericOfAStaticMethodShadow(variable, shadowed)) {
314
334
  continue;
315
335
  }
336
+ if (isExternalDeclarationMerging(scope, variable, shadowed)) {
337
+ continue;
338
+ }
316
339
  const isESLintGlobal = 'writeable' in shadowed;
317
340
  if ((shadowed.identifiers.length > 0 ||
318
341
  (options.builtinGlobals && isESLintGlobal)) &&
@@ -1 +1 @@
1
- {"version":3,"file":"no-shadow.js","sourceRoot":"","sources":["../../src/rules/no-shadow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-shadow.js","sourceRoot":"","sources":["../../src/rules/no-shadow.ts"],"names":[],"mappings":"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"}
@@ -130,7 +130,8 @@ function isTypeReadonlyRecurser(checker, type, options, seenTypes) {
130
130
  seenTypes.add(type);
131
131
  if ((0, tsutils_1.isUnionType)(type)) {
132
132
  // all types in the union must be readonly
133
- const result = (0, tsutils_1.unionTypeParts)(type).every(t => isTypeReadonlyRecurser(checker, t, options, seenTypes));
133
+ const result = (0, tsutils_1.unionTypeParts)(type).every(t => seenTypes.has(t) ||
134
+ isTypeReadonlyRecurser(checker, t, options, seenTypes));
134
135
  const readonlyness = result ? 3 /* Readonly */ : 2 /* Mutable */;
135
136
  return readonlyness;
136
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"isTypeReadonly.js","sourceRoot":"","sources":["../../src/util/isTypeReadonly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isTypeReadonly.js","sourceRoot":"","sources":["../../src/util/isTypeReadonly.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,7 @@ interface T {
59
59
  }
60
60
  ```
61
61
 
62
- Examples of **correct** code with `interface` option.
62
+ Examples of **correct** code with `type` option.
63
63
 
64
64
  ```ts
65
65
  type T = { x: number };
@@ -288,22 +288,18 @@ const REPLACERS = [
288
288
  const regexCache = Object.create(null)
289
289
 
290
290
  // @param {pattern}
291
- const makeRegex = (pattern, negative, ignorecase) => {
292
- const r = regexCache[pattern]
293
- if (r) {
294
- return r
295
- }
296
-
297
- // const replacers = negative
298
- // ? NEGATIVE_REPLACERS
299
- // : POSITIVE_REPLACERS
291
+ const makeRegex = (pattern, ignorecase) => {
292
+ let source = regexCache[pattern]
300
293
 
301
- const source = REPLACERS.reduce(
302
- (prev, current) => prev.replace(current[0], current[1].bind(pattern)),
303
- pattern
304
- )
294
+ if (!source) {
295
+ source = REPLACERS.reduce(
296
+ (prev, current) => prev.replace(current[0], current[1].bind(pattern)),
297
+ pattern
298
+ )
299
+ regexCache[pattern] = source
300
+ }
305
301
 
306
- return regexCache[pattern] = ignorecase
302
+ return ignorecase
307
303
  ? new RegExp(source, 'i')
308
304
  : new RegExp(source)
309
305
  }
@@ -352,7 +348,7 @@ const createRule = (pattern, ignorecase) => {
352
348
  // > begin with a hash.
353
349
  .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#')
354
350
 
355
- const regex = makeRegex(pattern, negative, ignorecase)
351
+ const regex = makeRegex(pattern, ignorecase)
356
352
 
357
353
  return new IgnoreRule(
358
354
  origin,
@@ -400,9 +396,10 @@ class Ignore {
400
396
  constructor ({
401
397
  ignorecase = true
402
398
  } = {}) {
399
+ define(this, KEY_IGNORE, true)
400
+
403
401
  this._rules = []
404
402
  this._ignorecase = ignorecase
405
- define(this, KEY_IGNORE, true)
406
403
  this._initCache()
407
404
  }
408
405
 
@@ -205,20 +205,17 @@ function (match) {
205
205
 
206
206
  var regexCache = Object.create(null); // @param {pattern}
207
207
 
208
- var makeRegex = function makeRegex(pattern, negative, ignorecase) {
209
- var r = regexCache[pattern];
210
-
211
- if (r) {
212
- return r;
213
- } // const replacers = negative
214
- // ? NEGATIVE_REPLACERS
215
- // : POSITIVE_REPLACERS
216
-
208
+ var makeRegex = function makeRegex(pattern, ignorecase) {
209
+ var source = regexCache[pattern];
210
+
211
+ if (!source) {
212
+ source = REPLACERS.reduce(function (prev, current) {
213
+ return prev.replace(current[0], current[1].bind(pattern));
214
+ }, pattern);
215
+ regexCache[pattern] = source;
216
+ }
217
217
 
218
- var source = REPLACERS.reduce(function (prev, current) {
219
- return prev.replace(current[0], current[1].bind(pattern));
220
- }, pattern);
221
- return regexCache[pattern] = ignorecase ? new RegExp(source, 'i') : new RegExp(source);
218
+ return ignorecase ? new RegExp(source, 'i') : new RegExp(source);
222
219
  };
223
220
 
224
221
  var isString = function isString(subject) {
@@ -258,7 +255,7 @@ var createRule = function createRule(pattern, ignorecase) {
258
255
  .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!') // > Put a backslash ("\") in front of the first hash for patterns that
259
256
  // > begin with a hash.
260
257
  .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#');
261
- var regex = makeRegex(pattern, negative, ignorecase);
258
+ var regex = makeRegex(pattern, ignorecase);
262
259
  return new IgnoreRule(origin, pattern, negative, regex);
263
260
  };
264
261
 
@@ -303,9 +300,9 @@ var Ignore = /*#__PURE__*/function () {
303
300
 
304
301
  _classCallCheck(this, Ignore);
305
302
 
303
+ define(this, KEY_IGNORE, true);
306
304
  this._rules = [];
307
305
  this._ignorecase = ignorecase;
308
- define(this, KEY_IGNORE, true);
309
306
 
310
307
  this._initCache();
311
308
  }