Skip to content

Commit

Permalink
fix where paths are relative from
Browse files Browse the repository at this point in the history
  • Loading branch information
BrianHicks committed Nov 21, 2020
1 parent f8f3c3b commit 0bd4b3c
Show file tree
Hide file tree
Showing 6 changed files with 135 additions and 112 deletions.
27 changes: 25 additions & 2 deletions src/store.rs
Expand Up @@ -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() {
Expand All @@ -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 {
Expand All @@ -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,
Expand Down
44 changes: 22 additions & 22 deletions tests/golden-results/editor-output.sh.txt
@@ -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)
44 changes: 22 additions & 22 deletions tests/golden-results/forbid-html-no-hint.sh.txt
@@ -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!
44 changes: 22 additions & 22 deletions tests/golden-results/forbid-html-with-hint.sh.txt
@@ -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!
44 changes: 22 additions & 22 deletions tests/golden-results/json-output.sh.txt
@@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down

0 comments on commit 0bd4b3c

Please sign in to comment.