mirror of
https://github.com/denoland/deno.git
synced 2024-11-24 15:19:26 -05:00
fix(install): cache json exports of JSR packages (#26552)
Fixes https://github.com/denoland/deno/issues/26509. Ended up being a `deno_graph` bug causing the error to surface. This PR updates `deno_graph` to pick up the fix and reverts the temporary workaround that skipped JSON exports.
This commit is contained in:
parent
a01edb394d
commit
ec968aa5ae
13 changed files with 39 additions and 15 deletions
4
Cargo.lock
generated
4
Cargo.lock
generated
|
@ -1606,9 +1606,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "deno_graph"
|
||||
version = "0.83.3"
|
||||
version = "0.83.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "77163c46755676d8f793fc19e365537ba660a8db173cd1e02d21eb010c0b3cef"
|
||||
checksum = "5bd20bc0780071989c622cbfd5d4fb2e4fd05a247ccd7f791f13c8d2c3792228"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
|
|
|
@ -73,7 +73,7 @@ deno_cache_dir = { workspace = true }
|
|||
deno_config = { version = "=0.37.2", features = ["workspace", "sync"] }
|
||||
deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] }
|
||||
deno_doc = { version = "0.154.0", default-features = false, features = ["rust", "html", "syntect"] }
|
||||
deno_graph = { version = "=0.83.3" }
|
||||
deno_graph = { version = "=0.83.4" }
|
||||
deno_lint = { version = "=0.67.0", features = ["docs"] }
|
||||
deno_lockfile.workspace = true
|
||||
deno_npm.workspace = true
|
||||
|
|
|
@ -90,13 +90,8 @@ pub async fn cache_top_level_deps(
|
|||
while let Some(info_future) = info_futures.next().await {
|
||||
if let Some((specifier, info)) = info_future {
|
||||
let exports = info.exports();
|
||||
for (k, v) in exports {
|
||||
for (k, _) in exports {
|
||||
if let Ok(spec) = specifier.join(k) {
|
||||
if v.ends_with(".json") {
|
||||
// TODO(nathanwhit): this should work, there's a bug with
|
||||
// json roots in deno_graph. skip it for now
|
||||
continue;
|
||||
}
|
||||
roots.push(spec);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
export * from "jsr:@denotest/add@1";
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"a": 1
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
export * from "jsr:@denotest/subtract@1";
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"exports": {
|
||||
"./add": "./add.ts",
|
||||
"./subtract": "./subtract.ts",
|
||||
"./data-json": "./data.json"
|
||||
}
|
||||
}
|
5
tests/registry/jsr/@denotest/multiple-exports/meta.json
Normal file
5
tests/registry/jsr/@denotest/multiple-exports/meta.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"versions": {
|
||||
"1.0.0": {}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"tempDir": true,
|
||||
"steps": [
|
||||
{ "args": "install", "output": "install.out" }
|
||||
{ "args": "install", "output": "install.out" },
|
||||
{ "args": "run --cached-only main.ts", "output": "main.out" }
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"imports": {
|
||||
"@denotest/different-deps-per-export": "jsr:@denotest/different-deps-per-export@^1.0.0"
|
||||
"@denotest/multiple-exports": "jsr:@denotest/multiple-exports@^1.0.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
[UNORDERED_START]
|
||||
Download http://127.0.0.1:4250/@denotest/different-deps-per-export/meta.json
|
||||
Download http://127.0.0.1:4250/@denotest/different-deps-per-export/1.0.0_meta.json
|
||||
Download http://127.0.0.1:4250/@denotest/different-deps-per-export/1.0.0/add.ts
|
||||
Download http://127.0.0.1:4250/@denotest/different-deps-per-export/1.0.0/subtract.ts
|
||||
Download http://127.0.0.1:4250/@denotest/multiple-exports/meta.json
|
||||
Download http://127.0.0.1:4250/@denotest/multiple-exports/1.0.0_meta.json
|
||||
Download http://127.0.0.1:4250/@denotest/multiple-exports/1.0.0/add.ts
|
||||
Download http://127.0.0.1:4250/@denotest/multiple-exports/1.0.0/subtract.ts
|
||||
Download http://127.0.0.1:4250/@denotest/multiple-exports/1.0.0/data.json
|
||||
Download http://127.0.0.1:4250/@denotest/add/meta.json
|
||||
Download http://127.0.0.1:4250/@denotest/subtract/meta.json
|
||||
Download http://127.0.0.1:4250/@denotest/add/1.0.0_meta.json
|
||||
|
|
3
tests/specs/install/jsr_exports/main.out
Normal file
3
tests/specs/install/jsr_exports/main.out
Normal file
|
@ -0,0 +1,3 @@
|
|||
3
|
||||
-1
|
||||
{ a: 1 }
|
7
tests/specs/install/jsr_exports/main.ts
Normal file
7
tests/specs/install/jsr_exports/main.ts
Normal file
|
@ -0,0 +1,7 @@
|
|||
import { add } from "@denotest/multiple-exports/add";
|
||||
import { subtract } from "@denotest/multiple-exports/subtract";
|
||||
import data from "@denotest/multiple-exports/data-json" with { type: "json" };
|
||||
|
||||
console.log(add(1, 2));
|
||||
console.log(subtract(1, 2));
|
||||
console.log(data);
|
Loading…
Reference in a new issue