mirror of
https://github.com/denoland/deno.git
synced 2024-11-21 15:04:11 -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]]
|
[[package]]
|
||||||
name = "deno_graph"
|
name = "deno_graph"
|
||||||
version = "0.83.3"
|
version = "0.83.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "77163c46755676d8f793fc19e365537ba660a8db173cd1e02d21eb010c0b3cef"
|
checksum = "5bd20bc0780071989c622cbfd5d4fb2e4fd05a247ccd7f791f13c8d2c3792228"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
|
|
@ -73,7 +73,7 @@ deno_cache_dir = { workspace = true }
|
||||||
deno_config = { version = "=0.37.2", features = ["workspace", "sync"] }
|
deno_config = { version = "=0.37.2", features = ["workspace", "sync"] }
|
||||||
deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] }
|
deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] }
|
||||||
deno_doc = { version = "0.154.0", default-features = false, features = ["rust", "html", "syntect"] }
|
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_lint = { version = "=0.67.0", features = ["docs"] }
|
||||||
deno_lockfile.workspace = true
|
deno_lockfile.workspace = true
|
||||||
deno_npm.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 {
|
while let Some(info_future) = info_futures.next().await {
|
||||||
if let Some((specifier, info)) = info_future {
|
if let Some((specifier, info)) = info_future {
|
||||||
let exports = info.exports();
|
let exports = info.exports();
|
||||||
for (k, v) in exports {
|
for (k, _) in exports {
|
||||||
if let Ok(spec) = specifier.join(k) {
|
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);
|
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,
|
"tempDir": true,
|
||||||
"steps": [
|
"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": {
|
"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]
|
[UNORDERED_START]
|
||||||
Download http://127.0.0.1:4250/@denotest/different-deps-per-export/meta.json
|
Download http://127.0.0.1:4250/@denotest/multiple-exports/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/multiple-exports/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/multiple-exports/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/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/add/meta.json
|
||||||
Download http://127.0.0.1:4250/@denotest/subtract/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
|
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