fix where paths are relative from

main
Brian Hicks 2020-11-21 06:08:08 -06:00
parent f8f3c3bd58
commit 0bd4b3cb36
6 changed files with 135 additions and 112 deletions

View File

@ -192,6 +192,9 @@ impl Store {
.absolute_config_parent_path()
.context("could not get parent path to check for new usages")?;
let current_dir =
std::env::current_dir().context("could not get the current working directory")?;
let mut out = Vec::new();
for (import, existing) in self.forbidden.iter() {
@ -210,8 +213,18 @@ impl Store {
}
for file in new_usages.difference(&existing.usages) {
let nice_path = pathdiff::diff_paths(
&self
.absolute_from_config_path(file.to_path_buf())
.with_context(|| {
format!("could not get an absolute path to {}", file.display())
})?,
&current_dir,
)
.unwrap_or_else(|| file.to_owned());
out.push(CheckResult {
path: file.to_path_buf(),
path: nice_path,
position: to_positions.get(file).copied(),
import: import.to_string(),
error_location: ErrorLocation::InElmSource {
@ -221,8 +234,18 @@ impl Store {
}
for file in existing.usages.difference(&new_usages) {
let nice_path = pathdiff::diff_paths(
&self
.absolute_from_config_path(file.to_path_buf())
.with_context(|| {
format!("could not get an absolute path to {}", file.display())
})?,
&current_dir,
)
.unwrap_or_else(|| file.to_owned());
out.push(CheckResult {
path: file.to_path_buf(),
path: nice_path,
position: None,
import: import.to_string(),
error_location: ErrorLocation::InConfig,

View File

@ -1,22 +1,22 @@
../vendor/elm-spa-example/src/Article/Body.elm:3:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Article/Feed.elm:9:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Article.elm:20:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Asset.elm:10:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Author.elm:36:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Avatar.elm:4:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Loading.elm:7:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Main.elm:8:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Article/Editor.elm:9:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Article.elm:16:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Blank.elm:3:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Home.elm:12:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Login.elm:8:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/NotFound.elm:4:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Profile.elm:12:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Register.elm:5:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Settings.elm:8:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page.elm:6:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/PaginatedList.elm:3:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Route.elm:5:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Timestamp.elm:3:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Username.elm:3:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Article/Body.elm:3:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Article/Feed.elm:9:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Article.elm:20:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Asset.elm:10:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Author.elm:36:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Avatar.elm:4:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Loading.elm:7:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Main.elm:8:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Article/Editor.elm:9:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Article.elm:16:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Blank.elm:3:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Home.elm:12:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Login.elm:8:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/NotFound.elm:4:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Profile.elm:12:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Register.elm:5:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Settings.elm:8:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page.elm:6:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/PaginatedList.elm:3:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Route.elm:5:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Timestamp.elm:3:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Username.elm:3:7:forbidden import Html (use Html.Styled)

View File

@ -1,25 +1,25 @@
../vendor/elm-spa-example/src/Article/Body.elm:3:7:forbidden import Html
../vendor/elm-spa-example/src/Article/Feed.elm:9:7:forbidden import Html
../vendor/elm-spa-example/src/Article.elm:20:7:forbidden import Html
../vendor/elm-spa-example/src/Asset.elm:10:7:forbidden import Html
../vendor/elm-spa-example/src/Author.elm:36:7:forbidden import Html
../vendor/elm-spa-example/src/Avatar.elm:4:7:forbidden import Html
../vendor/elm-spa-example/src/Loading.elm:7:7:forbidden import Html
../vendor/elm-spa-example/src/Main.elm:8:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Article/Editor.elm:9:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Article.elm:16:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Blank.elm:3:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Home.elm:12:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Login.elm:8:7:forbidden import Html
../vendor/elm-spa-example/src/Page/NotFound.elm:4:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Profile.elm:12:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Register.elm:5:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Settings.elm:8:7:forbidden import Html
../vendor/elm-spa-example/src/Page.elm:6:7:forbidden import Html
../vendor/elm-spa-example/src/PaginatedList.elm:3:7:forbidden import Html
../vendor/elm-spa-example/src/Route.elm:5:7:forbidden import Html
../vendor/elm-spa-example/src/Timestamp.elm:3:7:forbidden import Html
../vendor/elm-spa-example/src/Username.elm:3:7:forbidden import Html
vendor/elm-spa-example/src/Article/Body.elm:3:7:forbidden import Html
vendor/elm-spa-example/src/Article/Feed.elm:9:7:forbidden import Html
vendor/elm-spa-example/src/Article.elm:20:7:forbidden import Html
vendor/elm-spa-example/src/Asset.elm:10:7:forbidden import Html
vendor/elm-spa-example/src/Author.elm:36:7:forbidden import Html
vendor/elm-spa-example/src/Avatar.elm:4:7:forbidden import Html
vendor/elm-spa-example/src/Loading.elm:7:7:forbidden import Html
vendor/elm-spa-example/src/Main.elm:8:7:forbidden import Html
vendor/elm-spa-example/src/Page/Article/Editor.elm:9:7:forbidden import Html
vendor/elm-spa-example/src/Page/Article.elm:16:7:forbidden import Html
vendor/elm-spa-example/src/Page/Blank.elm:3:7:forbidden import Html
vendor/elm-spa-example/src/Page/Home.elm:12:7:forbidden import Html
vendor/elm-spa-example/src/Page/Login.elm:8:7:forbidden import Html
vendor/elm-spa-example/src/Page/NotFound.elm:4:7:forbidden import Html
vendor/elm-spa-example/src/Page/Profile.elm:12:7:forbidden import Html
vendor/elm-spa-example/src/Page/Register.elm:5:7:forbidden import Html
vendor/elm-spa-example/src/Page/Settings.elm:8:7:forbidden import Html
vendor/elm-spa-example/src/Page.elm:6:7:forbidden import Html
vendor/elm-spa-example/src/PaginatedList.elm:3:7:forbidden import Html
vendor/elm-spa-example/src/Route.elm:5:7:forbidden import Html
vendor/elm-spa-example/src/Timestamp.elm:3:7:forbidden import Html
vendor/elm-spa-example/src/Username.elm:3:7:forbidden import Html
If these are too much to handle right now (or you intended to import a forbidden
module), please run me with the `update` command!

View File

@ -1,25 +1,25 @@
../vendor/elm-spa-example/src/Article/Body.elm:3:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Article/Feed.elm:9:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Article.elm:20:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Asset.elm:10:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Author.elm:36:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Avatar.elm:4:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Loading.elm:7:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Main.elm:8:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Article/Editor.elm:9:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Article.elm:16:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Blank.elm:3:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Home.elm:12:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Login.elm:8:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/NotFound.elm:4:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Profile.elm:12:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Register.elm:5:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page/Settings.elm:8:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Page.elm:6:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/PaginatedList.elm:3:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Route.elm:5:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Timestamp.elm:3:7:forbidden import Html (use Html.Styled)
../vendor/elm-spa-example/src/Username.elm:3:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Article/Body.elm:3:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Article/Feed.elm:9:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Article.elm:20:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Asset.elm:10:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Author.elm:36:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Avatar.elm:4:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Loading.elm:7:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Main.elm:8:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Article/Editor.elm:9:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Article.elm:16:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Blank.elm:3:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Home.elm:12:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Login.elm:8:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/NotFound.elm:4:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Profile.elm:12:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Register.elm:5:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page/Settings.elm:8:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Page.elm:6:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/PaginatedList.elm:3:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Route.elm:5:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Timestamp.elm:3:7:forbidden import Html (use Html.Styled)
vendor/elm-spa-example/src/Username.elm:3:7:forbidden import Html (use Html.Styled)
If these are too much to handle right now (or you intended to import a forbidden
module), please run me with the `update` command!

View File

@ -1,6 +1,6 @@
[
{
"path": "../vendor/elm-spa-example/src/Article/Body.elm",
"path": "vendor/elm-spa-example/src/Article/Body.elm",
"position": {
"row": 3,
"column": 7
@ -13,7 +13,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Article/Feed.elm",
"path": "vendor/elm-spa-example/src/Article/Feed.elm",
"position": {
"row": 9,
"column": 7
@ -26,7 +26,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Article.elm",
"path": "vendor/elm-spa-example/src/Article.elm",
"position": {
"row": 20,
"column": 7
@ -39,7 +39,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Asset.elm",
"path": "vendor/elm-spa-example/src/Asset.elm",
"position": {
"row": 10,
"column": 7
@ -52,7 +52,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Author.elm",
"path": "vendor/elm-spa-example/src/Author.elm",
"position": {
"row": 36,
"column": 7
@ -65,7 +65,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Avatar.elm",
"path": "vendor/elm-spa-example/src/Avatar.elm",
"position": {
"row": 4,
"column": 7
@ -78,7 +78,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Loading.elm",
"path": "vendor/elm-spa-example/src/Loading.elm",
"position": {
"row": 7,
"column": 7
@ -91,7 +91,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Main.elm",
"path": "vendor/elm-spa-example/src/Main.elm",
"position": {
"row": 8,
"column": 7
@ -104,7 +104,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Page/Article/Editor.elm",
"path": "vendor/elm-spa-example/src/Page/Article/Editor.elm",
"position": {
"row": 9,
"column": 7
@ -117,7 +117,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Page/Article.elm",
"path": "vendor/elm-spa-example/src/Page/Article.elm",
"position": {
"row": 16,
"column": 7
@ -130,7 +130,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Page/Blank.elm",
"path": "vendor/elm-spa-example/src/Page/Blank.elm",
"position": {
"row": 3,
"column": 7
@ -143,7 +143,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Page/Home.elm",
"path": "vendor/elm-spa-example/src/Page/Home.elm",
"position": {
"row": 12,
"column": 7
@ -156,7 +156,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Page/Login.elm",
"path": "vendor/elm-spa-example/src/Page/Login.elm",
"position": {
"row": 8,
"column": 7
@ -169,7 +169,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Page/NotFound.elm",
"path": "vendor/elm-spa-example/src/Page/NotFound.elm",
"position": {
"row": 4,
"column": 7
@ -182,7 +182,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Page/Profile.elm",
"path": "vendor/elm-spa-example/src/Page/Profile.elm",
"position": {
"row": 12,
"column": 7
@ -195,7 +195,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Page/Register.elm",
"path": "vendor/elm-spa-example/src/Page/Register.elm",
"position": {
"row": 5,
"column": 7
@ -208,7 +208,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Page/Settings.elm",
"path": "vendor/elm-spa-example/src/Page/Settings.elm",
"position": {
"row": 8,
"column": 7
@ -221,7 +221,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Page.elm",
"path": "vendor/elm-spa-example/src/Page.elm",
"position": {
"row": 6,
"column": 7
@ -234,7 +234,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/PaginatedList.elm",
"path": "vendor/elm-spa-example/src/PaginatedList.elm",
"position": {
"row": 3,
"column": 7
@ -247,7 +247,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Route.elm",
"path": "vendor/elm-spa-example/src/Route.elm",
"position": {
"row": 5,
"column": 7
@ -260,7 +260,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Timestamp.elm",
"path": "vendor/elm-spa-example/src/Timestamp.elm",
"position": {
"row": 3,
"column": 7
@ -273,7 +273,7 @@
}
},
{
"path": "../vendor/elm-spa-example/src/Username.elm",
"path": "vendor/elm-spa-example/src/Username.elm",
"position": {
"row": 3,
"column": 7

View File

@ -1,25 +1,25 @@
../vendor/elm-spa-example/src/Article/Body.elm:3:7:forbidden import Html
../vendor/elm-spa-example/src/Article/Feed.elm:9:7:forbidden import Html
../vendor/elm-spa-example/src/Article.elm:20:7:forbidden import Html
../vendor/elm-spa-example/src/Asset.elm:10:7:forbidden import Html
../vendor/elm-spa-example/src/Author.elm:36:7:forbidden import Html
../vendor/elm-spa-example/src/Avatar.elm:4:7:forbidden import Html
../vendor/elm-spa-example/src/Loading.elm:7:7:forbidden import Html
../vendor/elm-spa-example/src/Main.elm:8:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Article/Editor.elm:9:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Article.elm:16:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Blank.elm:3:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Home.elm:12:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Login.elm:8:7:forbidden import Html
../vendor/elm-spa-example/src/Page/NotFound.elm:4:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Profile.elm:12:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Register.elm:5:7:forbidden import Html
../vendor/elm-spa-example/src/Page/Settings.elm:8:7:forbidden import Html
../vendor/elm-spa-example/src/Page.elm:6:7:forbidden import Html
../vendor/elm-spa-example/src/PaginatedList.elm:3:7:forbidden import Html
../vendor/elm-spa-example/src/Route.elm:5:7:forbidden import Html
../vendor/elm-spa-example/src/Timestamp.elm:3:7:forbidden import Html
../vendor/elm-spa-example/src/Username.elm:3:7:forbidden import Html
src/Article/Body.elm:3:7:forbidden import Html
src/Article/Feed.elm:9:7:forbidden import Html
src/Article.elm:20:7:forbidden import Html
src/Asset.elm:10:7:forbidden import Html
src/Author.elm:36:7:forbidden import Html
src/Avatar.elm:4:7:forbidden import Html
src/Loading.elm:7:7:forbidden import Html
src/Main.elm:8:7:forbidden import Html
src/Page/Article/Editor.elm:9:7:forbidden import Html
src/Page/Article.elm:16:7:forbidden import Html
src/Page/Blank.elm:3:7:forbidden import Html
src/Page/Home.elm:12:7:forbidden import Html
src/Page/Login.elm:8:7:forbidden import Html
src/Page/NotFound.elm:4:7:forbidden import Html
src/Page/Profile.elm:12:7:forbidden import Html
src/Page/Register.elm:5:7:forbidden import Html
src/Page/Settings.elm:8:7:forbidden import Html
src/Page.elm:6:7:forbidden import Html
src/PaginatedList.elm:3:7:forbidden import Html
src/Route.elm:5:7:forbidden import Html
src/Timestamp.elm:3:7:forbidden import Html
src/Username.elm:3:7:forbidden import Html
If these are too much to handle right now (or you intended to import a forbidden
module), please run me with the `update` command!