1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-24 15:19:26 -05:00

fix: improve deno doc --lint error messages (#21156)

This also updates deno_graph, which has the JSR change to use "exports".
It's not yet useful atm, so I've made this PR a fix about the deno doc
--lint error message improvements. I'll do a follow-up PR that adds
exports to the deno.json
This commit is contained in:
David Sherret 2023-11-10 13:40:39 -05:00 committed by GitHub
parent 882c54d5c4
commit b78c7130e9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 62 additions and 35 deletions

16
Cargo.lock generated
View file

@ -1155,9 +1155,9 @@ dependencies = [
[[package]]
name = "deno_doc"
version = "0.72.2"
version = "0.73.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48c00aff446bb7a0b9ef34418420650ee803e41251c034b9a944538dc80f1b65"
checksum = "588c797bd98677e0174ccc3baba8fc2a177f4f91833d74bfdc1ef5d568053618"
dependencies = [
"anyhow",
"cfg-if",
@ -1178,9 +1178,9 @@ dependencies = [
[[package]]
name = "deno_emit"
version = "0.31.1"
version = "0.31.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bad504e08884056bc559364364db9bc7308bd8cfda3679819656821eb7a5ce8"
checksum = "b74248b5f2f1df9d657896f47baded6b93c904c71532eab1435e9f3f0d7bd4b7"
dependencies = [
"anyhow",
"base64 0.13.1",
@ -1245,9 +1245,9 @@ dependencies = [
[[package]]
name = "deno_graph"
version = "0.59.2"
version = "0.60.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "000084f91f8d5d7de1b8fe3caa9fd098618d60d202237da1e20ee84bd8180f12"
checksum = "64069da5890ef2d9133199a62d712500529f079dc1bd3a3fe488e64e433ac8ea"
dependencies = [
"anyhow",
"async-trait",
@ -2201,9 +2201,9 @@ dependencies = [
[[package]]
name = "eszip"
version = "0.55.2"
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1039ee8563878c6578b7595b6020590e66fecc69c66150535f83dede4ce96d5e"
checksum = "0bb98b2524f3d81760c4c86bca8ac2481a8093ef48578446a178544cdabd161f"
dependencies = [
"anyhow",
"base64 0.21.4",

View file

@ -49,16 +49,16 @@ deno_ast = { workspace = true, features = ["bundler", "cjs", "codegen", "dep_gra
deno_cache_dir = "=0.6.1"
deno_config = "=0.5.0"
deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] }
deno_doc = { version = "=0.72.2", features = ["html"] }
deno_emit = "=0.31.1"
deno_graph = "=0.59.2"
deno_doc = { version = "=0.73.0", features = ["html"] }
deno_emit = "=0.31.2"
deno_graph = "=0.60.0"
deno_lint = { version = "=0.52.2", features = ["docs"] }
deno_lockfile.workspace = true
deno_npm = "0.15.2"
deno_runtime = { workspace = true, features = ["dont_create_runtime_snapshot", "exclude_runtime_main_js", "include_js_files_for_snapshotting"] }
deno_semver = "0.5.1"
deno_task_shell = "=0.14.0"
eszip = "=0.55.2"
eszip = "=0.55.3"
napi_sym.workspace = true
async-trait.workspace = true

View file

@ -36,6 +36,8 @@ fn get_module_graph_error_class(err: &ModuleGraphError) -> &'static str {
| ModuleError::UnsupportedImportAttributeType { .. } => "TypeError",
ModuleError::Missing(_, _)
| ModuleError::MissingDynamic(_, _)
| ModuleError::MissingWorkspaceMemberExports { .. }
| ModuleError::UnknownExport { .. }
| ModuleError::UnknownPackage { .. }
| ModuleError::UnknownPackageReq { .. } => "NotFound",
},

View file

@ -69,7 +69,7 @@ fn specifiers_in_lockfile() {
temp_dir.write(
"main.ts",
r#"import version from "jsr:@denotest/no_module_graph@0.1/mod.ts";
r#"import version from "jsr:@denotest/no_module_graph@0.1";
console.log(version);"#,
);

View file

@ -1,8 +1,8 @@
Type 'MyClass' references type 'MyInterface' which is not exported from a root module.
Missing JS documentation comment.
Missing JSDoc comment.
at file:///[WILDCARD]/referenced_private_types.ts:5:1
Missing JS documentation comment.
Type 'MyClass.prototype.prop' references type 'MyInterface' which is not exported from a root module.
Missing JSDoc comment.
at file:///[WILDCARD]/referenced_private_types.ts:6:3
error: Found 3 documentation diagnostics.
error: Found 3 documentation lint errors.

View file

@ -1,3 +1,3 @@
import value from "jsr:@denotest/deps/mod.ts";
import value from "jsr:@denotest/deps";
console.log(value);

View file

@ -1,3 +1,3 @@
import { Test } from "jsr:@denotest/module_graph/mod.ts";
import { Test } from "jsr:@denotest/module_graph";
console.log(new Test());

View file

@ -1,4 +1,4 @@
import version, { TestClass } from "jsr:@denotest/no_module_graph@0.1.0/mod.ts";
import version, { TestClass } from "jsr:@denotest/no_module_graph@0.1.0";
console.log(version);
console.log(new TestClass());

View file

@ -1,5 +1,5 @@
import version1 from "jsr:@denotest/no_module_graph@0.1.0/mod.ts";
import version2 from "jsr:@denotest/no_module_graph@^0.2/mod.ts";
import version1 from "jsr:@denotest/no_module_graph@0.1.0";
import version2 from "jsr:@denotest/no_module_graph@^0.2";
console.log(version1);
console.log(version2);

View file

@ -1,5 +1,5 @@
import { Other } from "jsr:@denotest/module_graph@1/other.ts";
import version from "jsr:@denotest/no_module_graph@^0.1/mod.ts";
import { Other } from "jsr:@denotest/module_graph@1/other";
import version from "jsr:@denotest/no_module_graph@^0.1";
export default {
version,

View file

@ -1,16 +1,19 @@
{
"exports": {
".": "./mod.ts"
},
"moduleGraph1": {
"/mod.ts": {
"dependencies": [{
"kind": "import",
"range": [[0, 0], [0, 62]],
"specifier": "jsr:@denotest/module_graph@1/other.ts",
"specifierRange": [[0, 22], [0, 61]]
"range": [[0, 0], [0, 59]],
"specifier": "jsr:@denotest/module_graph@1/other",
"specifierRange": [[0, 22], [0, 58]]
}, {
"kind": "import",
"range": [[1, 0], [1, 64]],
"specifier": "jsr:@denotest/no_module_graph@^0.1/mod.ts",
"specifierRange": [[1, 20], [1, 63]]
"range": [[1, 0], [1, 57]],
"specifier": "jsr:@denotest/no_module_graph@^0.1",
"specifierRange": [[1, 20], [1, 56]]
}]
}
}

View file

@ -1,4 +1,8 @@
{
"exports": {
".": "./mod.ts",
"./other": "./other.ts"
},
"moduleGraph1": {
"/mod.ts": {
"dependencies": [{

View file

@ -1 +1,5 @@
{}
{
"exports": {
".": "./mod.ts"
}
}

View file

@ -1 +1,5 @@
{}
{
"exports": {
".": "./mod.ts"
}
}

View file

@ -1 +1,5 @@
{}
{
"exports": {
".": "./mod.ts"
}
}

View file

@ -264,7 +264,7 @@ fn check_diagnostics(diagnostics: &[DocDiagnostic]) -> Result<(), AnyError> {
for (line, diagnostics_by_col) in diagnostics_by_lc {
for (col, diagnostics) in diagnostics_by_col {
for diagnostic in diagnostics {
log::warn!("{}", diagnostic.kind);
log::warn!("{}", diagnostic.message());
}
log::warn!(
" at {}:{}:{}\n",
@ -276,7 +276,7 @@ fn check_diagnostics(diagnostics: &[DocDiagnostic]) -> Result<(), AnyError> {
}
}
bail!(
"Found {} documentation diagnostic{}.",
"Found {} documentation lint error{}.",
colors::bold(diagnostics.len().to_string()),
if diagnostics.len() == 1 { "" } else { "s" }
);

View file

@ -669,6 +669,12 @@ impl<'a> GraphDisplayContext<'a> {
ModuleError::Missing(_, _) | ModuleError::MissingDynamic(_, _) => {
self.build_error_msg(specifier, "(missing)")
}
ModuleError::MissingWorkspaceMemberExports { .. } => {
self.build_error_msg(specifier, "(missing exports)")
}
ModuleError::UnknownExport { .. } => {
self.build_error_msg(specifier, "(unknown export)")
}
ModuleError::UnknownPackage { .. } => {
self.build_error_msg(specifier, "(unknown package)")
}