diff --git a/CHANGELOG.md b/CHANGELOG.md index b64f1d8240..b446063474 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,8 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel ## [Unreleased] ### Fixed - [`no-unused-modules`]: fix usage of `import/extensions` settings ([#1560], thanks [@stekycz]) - -### Fixed - [`import/extensions`]: ignore non-main modules ([#1563], thanks [@saschanaz]) +- TypeScript config: lookup for external modules in @types folder ([#1526], thanks [@joaovieira]) ## [2.19.1] - 2019-12-08 ### Fixed @@ -629,6 +628,7 @@ for info on changes for earlier releases. [#1560]: https://github.com/benmosher/eslint-plugin-import/pull/1560 [#1551]: https://github.com/benmosher/eslint-plugin-import/pull/1551 [#1542]: https://github.com/benmosher/eslint-plugin-import/pull/1542 +[#1526]: https://github.com/benmosher/eslint-plugin-import/pull/1526 [#1521]: https://github.com/benmosher/eslint-plugin-import/pull/1521 [#1519]: https://github.com/benmosher/eslint-plugin-import/pull/1519 [#1507]: https://github.com/benmosher/eslint-plugin-import/pull/1507 @@ -1046,3 +1046,4 @@ for info on changes for earlier releases. [@randallreedjr]: https://github.com/randallreedjr [@Pessimistress]: https://github.com/Pessimistress [@stekycz]: https://github.com/stekycz +[@joaovieira]: https://github.com/joaovieira diff --git a/config/typescript.js b/config/typescript.js index fdd1d5910b..262e3c7999 100644 --- a/config/typescript.js +++ b/config/typescript.js @@ -8,6 +8,7 @@ module.exports = { settings: { 'import/extensions': allExtensions, + 'import/external-module-folders': ['node_modules', 'node_modules/@types'], 'import/parsers': { '@typescript-eslint/parser': ['.ts', '.tsx', '.d.ts'], }, diff --git a/package.json b/package.json index e196159744..f315c48c7e 100644 --- a/package.json +++ b/package.json @@ -17,11 +17,11 @@ "scripts": { "build": "babel --quiet --out-dir lib src", "prebuild": "rimraf lib", - "watch": "npm run mocha -- --watch tests/src", + "watch": "npm run mocha -- --watch tests/{src,config}", "pretest": "linklocal", "posttest": "eslint .", "mocha": "cross-env BABEL_ENV=test NODE_PATH=./src nyc -s mocha -R dot --recursive -t 5s", - "test": "npm run mocha tests/src", + "test": "npm run mocha tests/{src,config}", "test-compiled": "npm run prepublish && NODE_PATH=./lib mocha --compilers js:babel-register --recursive tests/src", "test-all": "npm test && for resolver in ./resolvers/*; do cd $resolver && npm test && cd ../..; done", "prepublish": "npm run build", diff --git a/tests/config/typescript.js b/tests/config/typescript.js new file mode 100644 index 0000000000..ea94b92798 --- /dev/null +++ b/tests/config/typescript.js @@ -0,0 +1,14 @@ +import path from 'path' +import { expect } from 'chai' + +const config = require(path.join(__dirname, '..', '..', 'config', 'typescript')) + +describe('config typescript', () => { + // https://github.com/benmosher/eslint-plugin-import/issues/1525 + it('should mark @types paths as external', () => { + const externalModuleFolders = config.settings['import/external-module-folders'] + expect(externalModuleFolders).to.exist + expect(externalModuleFolders).to.contain('node_modules') + expect(externalModuleFolders).to.contain('node_modules/@types') + }) +})