Skip to content

Commit

Permalink
Merge branch 'main' into issue2385
Browse files Browse the repository at this point in the history
  • Loading branch information
pri1311 committed Mar 15, 2022
2 parents 126d094 + 21304bd commit 308b60e
Show file tree
Hide file tree
Showing 11 changed files with 41 additions and 7 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Expand Up @@ -15,12 +15,14 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange
- [`default`]: `typescript-eslint-parser`: avoid a crash on exporting as namespace (thanks [@ljharb])
- [`export`]/TypeScript: false positive for typescript namespace merging ([#1964], thanks [@magarcia])
- [`no-duplicates`]: ignore duplicate modules in different TypeScript module declarations ([#2378], thanks [@remcohaszing])
- [`no-unused-modules`]: avoid a crash when processing re-exports ([#2388], thanks [@ljharb])

### Changed
- [Tests] `no-nodejs-modules`: add tests for node protocol URL ([#2367], thanks [@sosukesuzuki])
- [Tests] `default`, `no-anonymous-default-export`, `no-mutable-exports`, `no-named-as-default-member`, `no-named-as-default`: add tests for arbitrary module namespace names ([#2358], thanks [@sosukesuzuki])
- [Docs] [`no-unresolved`]: Fix RegExp escaping in readme ([#2332], thanks [@stephtr])
- [Refactor] `namespace`: try to improve performance ([#2340], thanks [@ljharb])
- [Docs] make rule doc titles consistent ([#2393], thanks [@TheJaredWilcurt])

## [2.25.4] - 2022-01-02

Expand Down Expand Up @@ -971,6 +973,8 @@ for info on changes for earlier releases.

[`memo-parser`]: ./memo-parser/README.md

[#2393]: https://github.com/import-js/eslint-plugin-import/pull/2393
[#2388]: https://github.com/import-js/eslint-plugin-import/pull/2388
[#2381]: https://github.com/import-js/eslint-plugin-import/pull/2381
[#2378]: https://github.com/import-js/eslint-plugin-import/pull/2378
[#2371]: https://github.com/import-js/eslint-plugin-import/pull/2371
Expand Down Expand Up @@ -1659,6 +1663,7 @@ for info on changes for earlier releases.
[@Taranys]: https://github.com/Taranys
[@taye]: https://github.com/taye
[@TheCrueltySage]: https://github.com/TheCrueltySage
[@TheJaredWilcurt]: https://github.com/TheJaredWilcurt
[@tihonove]: https://github.com/tihonove
[@timkraut]: https://github.com/timkraut
[@tizmagik]: https://github.com/tizmagik
Expand Down
2 changes: 1 addition & 1 deletion docs/rules/dynamic-import-chunkname.md
@@ -1,4 +1,4 @@
# dynamic imports require a leading comment with a webpackChunkName (dynamic-import-chunkname)
# import/dynamic-import-chunkname

This rule reports any dynamic imports without a webpackChunkName specified in a leading block comment in the proper format.

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/imports-first.md
@@ -1,3 +1,3 @@
# imports-first
# import/imports-first

This rule was **deprecated** in eslint-plugin-import v2.0.0. Please use the corresponding rule [`first`](https://github.com/import-js/eslint-plugin-import/blob/HEAD/docs/rules/first.md).
2 changes: 1 addition & 1 deletion docs/rules/no-import-module-exports.md
@@ -1,4 +1,4 @@
# no-import-module-exports
# import/no-import-module-exports

Reports the use of import declarations with CommonJS exports in any module
except for the [main module](https://docs.npmjs.com/files/package.json#main).
Expand Down
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -111,6 +111,6 @@
"minimatch": "^3.1.2",
"object.values": "^1.1.5",
"resolve": "^1.22.0",
"tsconfig-paths": "^3.12.0"
"tsconfig-paths": "^3.13.0"
}
}
6 changes: 4 additions & 2 deletions src/rules/no-unused-modules.js
Expand Up @@ -273,8 +273,10 @@ const prepareImportsAndExports = (srcFiles, context) => {
exportAll.forEach((value, key) => {
value.forEach(val => {
const currentExports = exportList.get(val);
const currentExport = currentExports.get(EXPORT_ALL_DECLARATION);
currentExport.whereUsed.add(key);
if (currentExports) {
const currentExport = currentExports.get(EXPORT_ALL_DECLARATION);
currentExport.whereUsed.add(key);
}
});
});
};
Expand Down
5 changes: 5 additions & 0 deletions tests/files/unused-modules-reexport-crash/src/App.tsx
@@ -0,0 +1,5 @@
import { hello } from './magic/test'

hello();

export default function App() {};
3 changes: 3 additions & 0 deletions tests/files/unused-modules-reexport-crash/src/index.tsx
@@ -0,0 +1,3 @@
import App from './App';

export const x = App
@@ -0,0 +1 @@
export * from './test'
7 changes: 7 additions & 0 deletions tests/files/unused-modules-reexport-crash/src/magic/test.js
@@ -0,0 +1,7 @@
export function hello() {
console.log('hello!!');
}

export function unused() {
console.log('im unused!!');
}
13 changes: 12 additions & 1 deletion tests/src/rules/no-unused-modules.js
Expand Up @@ -105,7 +105,7 @@ ruleTester.run('no-unused-modules', rule, {
});


// tests for exports
// tests for exports
ruleTester.run('no-unused-modules', rule, {
valid: [
test({
Expand Down Expand Up @@ -301,6 +301,17 @@ describe('dynamic imports', () => {
parser: parsers.TS_NEW,
filename: testFilePath('./no-unused-modules/typescript/exports-for-dynamic-ts.ts'),
}),
test({
code: `
import App from './App';
`,
filename: testFilePath('./unused-modules-reexport-crash/src/index.tsx'),
parser: parsers.TS_NEW,
options: [{
unusedExports: true,
ignoreExports: ['**/magic/**'],
}],
}),
],
invalid: [
],
Expand Down

0 comments on commit 308b60e

Please sign in to comment.