Когда я обновляю теги проекта в nx. json, TSLint, кажется, не знает, что теги изменились, и создает и строит проект, даже если зависимости нарушены.
Пример
В настоящее время мой файл nx. json выглядит как
{
"npmScope": "patient-engagement",
"implicitDependencies": {
"package.json": "*",
"tsconfig.json": "*",
"nx.json": "*"
},
"projects": {
"hep": {
"tags": ["scope:hep", "compatibility:ie10"],
"implicitDependencies": []
},
"mb-ui": {
"tags": ["scope:shared", "compatibility:ie10"],
"implicitDependencies": []
},
"utils": {
"tags": ["scope:shared", "compatibility:ie10"],
"implicitDependencies": []
}
}
}
И мой root tslint. json включает в себя:
"nx-enforce-module-boundaries": [
true,
{
"enforceBuildableLibDependency": true,
"allow": [],
"depConstraints": [
{
"sourceTag": "scope:hep",
"onlyDependOnLibsWithTags": [
"scope:hep",
"scope:shared"
]
},
{
"sourceTag": "compatibility:ie10",
"onlyDependOnLibsWithTags": [
"compatibility:ie10"
]
},
{
"sourceTag": "scope:shared",
"onlyDependOnLibsWithTags": [
"scope:shared"
]
}
]
}
],
Это проходит linting как ожидается при запуске ng lint hep
.
Однако, если я отредактирую теги в nx. json, линтер не покажет никаких ошибок. Например, если я изменю nx. json, чтобы он выглядел следующим образом (удаляя теги из библиотек), он все равно будет компоноваться и компоноваться без ошибок.
{
"npmScope": "patient-engagement",
"implicitDependencies": {
"package.json": "*",
"tsconfig.json": "*",
"nx.json": "*"
},
"projects": {
"hep": {
"tags": ["scope:hep", "compatibility:ie10"],
"implicitDependencies": []
},
"mb-ui": {
"tags": [],
"implicitDependencies": []
},
"utils": {
"tags": [],
"implicitDependencies": []
}
}
}
Если это полезно, когда я обновляю правила в tslint. json, линтер выдает ошибки, но я хотел бы, чтобы он также подтверждал изменения в nx. json.
Есть ли способ заставить линтер отображать ошибки, когда теги в nx. json обновлены?