39 Commits

Author SHA1 Message Date
Miroslav Jonaš
8424c69320
fix(linter): improve error message on no matching dependency restriction (#7143) 2021-09-27 12:45:20 +00:00
Miroslav Jonaš
c18a40b1f0
feat(linter): show files involved in circular dependency (#7113) 2021-09-24 09:00:15 +00:00
Miroslav Jonaš
3aca62af68
cleanup(repo): remove unused ext from file data and fix ext regex matcher (#6550) 2021-08-04 09:45:07 -04:00
James Henry
f76a33f5bb
chore(core): add readCachedProjectGraph and deprecate previous utility (#6385)
* chore(core): add readCachedProjectGraph and deprecate previous utility

* chore(core): whitespace

* chore(core): explicitly use type ProjectGraphCache

* chore(core): fix typo
2021-07-20 11:44:48 -04:00
Miroslav Jonaš
8ab463e386
cleanup(core): replace deprecated usage of appRootPath (#6241)
* cleanup(core): replace deprecated usage of appRootPath

* cleanup(core): revert migration changes
2021-07-05 15:51:19 -04:00
Miroslav Jonaš
f112b9283a
fix(linter): improve error message for circular reference (#5721)
Improves original error message by providing a hint

Closes #5625
2021-05-19 17:50:58 +00:00
Phillip Barta
053d488801 cleanup(core): removed reexport of devkit types in workspace 2021-05-19 13:42:03 -04:00
Miroslav Jonaš
ff3cc38b0c
feat(linter): optimize lint performance. resolves #5210 (#5576)
* feat(linter): optimize containsFile function

related to #5210

* feat(linter): optimize find project function

related to #5210

* feat(core): cleanup target project locator

* fix(core): fix false positive match on resolvedModule

* chore(core): mark old code for removal

* feat(linter): move npm check before expensive typescript resolution

* feat(linter): improve performance of extension removal

* feat(linter): improve I/O operations

* feat(linter): read ts config only once in project locator

* feat(linter): remove double path normalization from rule

normalization is already part of getSourceFilePath function

* feat(linter): run find source only once

* feat(linter): defer source file path calculation will after whitelist check

* feat(linter): map project graph node files to hash map

* fix(linter): map projectGraph only once per runtime

* feat(linter): introduce mapped project graph type
2021-05-18 16:41:12 +02:00
Miroslav Jonaš
6d22f628b5
fix(linter): add missing self-circular check for tslint (#5613)
* fix(linter): add missing self-circular check for tslint

* feat(linter): add test for tslint self-circular deps
2021-05-11 16:39:12 +00:00
Miroslav Jonaš
f28097e264
fix(linter): disable absolute paths within project (#5555)
* fix(linter): disable absolute paths within project

* fix(linter): add missing colon before the import path

* feat(linter): add flag to disable self circular check
2021-05-06 12:17:28 +01:00
Zachary DeRose
780bb0300a
fix(linter): Apply enforce-module-boundaries rule to exports (#5160)
* fix(linter): Apply enfore-module-boundaries rule to exports

* fixing formatting
2021-04-22 11:58:49 -04:00
vsavkin
e377a41dec fix(linter): fix enforce-module-boundaries rule to return when no project graph is present 2021-04-10 21:17:17 -04:00
vsavkin
b5efa6bfee feat(core): hash only relevant parts of global config files 2021-04-06 20:20:47 -04:00
puku0x
b1d9363bd9 fix(linter): add import source type check for literals
ISSUES CLOSED: #5224
2021-04-04 12:54:54 -04:00
Noriyuki Shinpuku
d582875599
fix(linter): apply enforce-module-boundaries rule to import expressions (#5054)
ISSUES CLOSED: #3857
2021-03-26 08:27:25 -04:00
Victor Savkin
b977f42f67
fix(core): optimize task orderer to handle large graphs (#4992) 2021-03-10 17:36:05 +00:00
Jason Jean
f25776d903
feat(linter): migrate eslint executor to devkit (#4607) 2021-01-25 15:00:53 -05:00
Victor Savkin
a25e081a84 feat(core): remove angular devkit deps 2021-01-25 12:52:30 -05:00
Kevin Brewer
b10e92818f
fix(linter): allow type imports from lazy-loaded libraries (#4431) 2021-01-14 08:45:26 +00:00
Victor Savkin
2824794a92 feat(core): clean up the language to use word executor 2020-11-24 09:49:52 -05:00
Jason Jean
f057978400
fix(core): fix lint failures for npm packages (#3827) 2020-09-28 18:31:29 -04:00
maxkoretskyi
4a942d9eda fix(linter): fix performance issues with boundaries lint checks 2020-09-28 13:20:25 -04:00
Jason Jean
970a60d08c fix(core): combine npm and project locators to scan files only once 2020-09-28 11:52:31 -04:00
Jason Jean
fc61fcb2ab
fix(linter): fix dependencies from projects on themselves when another circular dependency exists (#3163) 2020-06-12 10:07:56 -04:00
Jonathan Cammisuli
3a4a3bea13
fix(core): use typescript module resolution for linting (#3075)
* fix(core): use typescript module resolution only for linting

* fix(core): fix unit tests

* fix(core): pass npm scope to target project locator for fallback

* chore(core): move comment about npmscope
2020-06-05 11:11:17 -04:00
Jason Jean
e06822da7e
chore(repo): update prettier to v2 (#2934)
this is just for the repo, and not the workspace

Co-authored-by: Rares Matei <matei.rar@gmail.com>
2020-04-29 01:09:37 -04:00
Jonathan Cammisuli
1c4078986f
TypeScript module resolution and lint updates (#2309)
* Revert "Revert "fix(core): sort node names for module resolution""

This reverts commit 0b77072fcfe63f8d02fccb73ba138aca99cb7f66.

* fix(core): add target project locator

This will sort nodes by length of the root (high to low) then nodes that have no root.

It also uses TypeScript to first try and resolve a module. If it is not found via TypeScript, it will
fall back to using a string match.
2020-01-31 13:08:12 -05:00
Juri
98a60d118f feat(core): add enforceBuildableLibDependency to make buildable lib rule configurable
This way if the buildable lib dependency rule doesn't work for some people they have an easy way to
opt-out of it
2020-01-21 12:02:13 -05:00
Juri
36463cf2a2 feat(core): add rule to enforce deps buildable-lib to buildable-lib
buildable libraries should only be able to import other buildable libraries
to avoid confusion. Importing non-buildable libs would effectively
mean embedding their src into the buildable libs, even potentially
multiple times.
2020-01-21 12:02:13 -05:00
Victor Savkin
0b77072fcf Revert "fix(core): sort node names for module resolution" 2020-01-11 22:42:33 -05:00
Jonathan Cammisuli
dddc1b1e6c fix(core): sort node names for module resolution 2020-01-09 19:13:53 -05:00
Jonathan Cammisuli
3d05bf08d0 Revert "Revert "fix(misc): resolve projects for linting using TypeScript""
This reverts commit ab25e84b08a938661d5766c5c7f4d501cfaf8b0b.
2020-01-09 19:13:53 -05:00
Victor Savkin
ab25e84b08 Revert "fix(misc): resolve projects for linting using TypeScript"
This reverts commit 6411a29683eff436ad314692aec61ea403155d3a.
2020-01-02 22:19:33 -05:00
Jonathan Cammisuli
6411a29683 fix(misc): resolve projects for linting using TypeScript 2019-12-30 15:39:46 -05:00
Victor Savkin
8749c18f91 cleanup(core): extract "core" folder from "command-line" 2019-12-16 16:04:35 -05:00
Jack Hsu
a82737968b
chore(core): refactor generation of dependency graph (aka project graph) (#2151) 2019-12-12 15:54:31 -05:00
Jason Jean
98fc5e00bb refactor(nx): refactor affected to produce affected metadata 2019-10-03 13:47:47 -04:00
Victor Savkin
17f8a79282 fix(nx): normalize paths in the eslint version of boundaries check 2019-08-14 11:58:19 -04:00
James Henry
49dcacfd1a feat(eslint-plugin-nx): new package, ESLint enforce-module-boundaries rule 2019-08-13 21:13:46 -04:00