From 6fdcbbd734f4fac7915d0addb7992348fef6d76e Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 17 Sep 2025 13:15:02 -0400 Subject: [PATCH 1/8] chore: fix lint and type checking errors --- deno.json | 10 ++- deno.lock | 102 ++++++++++++++++++++++++++++--- dprint.json | 15 +++++ frontend/routes/package/og.ts | 2 +- tools/generate_global_symbols.ts | 4 +- tools/generate_web_symbols.ts | 4 +- tools/migrate_package_meta.ts | 7 +-- tools/orama_package_reindex.ts | 2 +- tools/orama_symbols_reindex.ts | 2 +- 9 files changed, 128 insertions(+), 20 deletions(-) create mode 100644 dprint.json diff --git a/deno.json b/deno.json index fc784d351..49b1ea1b4 100644 --- a/deno.json +++ b/deno.json @@ -39,10 +39,18 @@ "e2e/vendor" ], "imports": { + "@deno/doc": "jsr:@deno/doc@^0.183.0", "@deno/gfm": "jsr:@deno/gfm@^0.10.0", + "@mdn/browser-compat-data": "npm:@mdn/browser-compat-data@^7.1.6", "@std/async": "jsr:@std/async@^1.0.8", + "@std/bytes": "jsr:@std/bytes@^1.0.6", + "@std/collections": "jsr:@std/collections@^1.1.3", + "@std/crypto": "jsr:@std/crypto@^1.0.5", + "@std/encoding": "jsr:@std/encoding@^1.0.10", + "@std/fmt": "jsr:@std/fmt@^1.0.8", "@std/front-matter": "jsr:@std/front-matter@^1.0.5", "@std/path": "jsr:@std/path@^1.0.8", - "github-slugger": "npm:github-slugger@^2.0.0" + "github-slugger": "npm:github-slugger@^2.0.0", + "postgres": "https://deno.land/x/postgres@v0.19.5/mod.ts" } } diff --git a/deno.lock b/deno.lock index df42e60f3..e34fc271c 100644 --- a/deno.lock +++ b/deno.lock @@ -1,14 +1,26 @@ { - "version": "4", + "version": "5", "specifiers": { + "jsr:@deno/cache-dir@0.14": "0.14.0", + "jsr:@deno/doc@0.183": "0.183.0", "jsr:@deno/gfm@0.10": "0.10.0", "jsr:@denosaurs/emoji@0.3": "0.3.1", "jsr:@std/async@^1.0.8": "1.0.9", - "jsr:@std/collections@^1.0.9": "1.0.9", + "jsr:@std/bytes@^1.0.5": "1.0.6", + "jsr:@std/bytes@^1.0.6": "1.0.6", + "jsr:@std/collections@^1.0.9": "1.1.3", + "jsr:@std/collections@^1.1.3": "1.1.3", + "jsr:@std/crypto@^1.0.5": "1.0.5", + "jsr:@std/encoding@^1.0.10": "1.0.10", + "jsr:@std/fmt@^1.0.3": "1.0.8", + "jsr:@std/fmt@^1.0.8": "1.0.8", "jsr:@std/front-matter@^1.0.5": "1.0.5", + "jsr:@std/fs@^1.0.6": "1.0.19", + "jsr:@std/io@0.225": "0.225.2", "jsr:@std/path@^1.0.8": "1.0.8", "jsr:@std/toml@^1.0.1": "1.0.2", "jsr:@std/yaml@^1.0.5": "1.0.5", + "npm:@mdn/browser-compat-data@^7.1.6": "7.1.6", "npm:github-slugger@2": "2.0.0", "npm:he@^1.2.0": "1.2.0", "npm:katex@0.16": "0.16.11", @@ -20,6 +32,21 @@ "npm:sanitize-html@^2.13.0": "2.13.1" }, "jsr": { + "@deno/cache-dir@0.14.0": { + "integrity": "729f0b68e7fc96443c09c2c544b830ca70897bdd5168598446d752f7a4c731ad", + "dependencies": [ + "jsr:@std/fmt@^1.0.3", + "jsr:@std/fs", + "jsr:@std/io", + "jsr:@std/path" + ] + }, + "@deno/doc@0.183.0": { + "integrity": "19a30e7e3083245c4a232bdc19481e813032f49f7a6bb292b3993066c9137692", + "dependencies": [ + "jsr:@deno/cache-dir" + ] + }, "@deno/gfm@0.10.0": { "integrity": "51708205e3559a4aeb6afb29d07c5bfafe7941f91bb360351ef6621de9a39527", "dependencies": [ @@ -41,9 +68,24 @@ "@std/async@1.0.9": { "integrity": "c6472fd0623b3f3daae023cdf7ca5535e1b721dfbf376562c0c12b3fb4867f91" }, + "@std/bytes@1.0.6": { + "integrity": "f6ac6adbd8ccd99314045f5703e23af0a68d7f7e58364b47d2c7f408aeb5820a" + }, "@std/collections@1.0.9": { "integrity": "4f58104ead08a04a2199374247f07befe50ba01d9cca8cbb23ab9a0419921e71" }, + "@std/collections@1.1.3": { + "integrity": "bf8b0818886df6a32b64c7d3b037a425111f28278d69fd0995aeb62777c986b0" + }, + "@std/crypto@1.0.5": { + "integrity": "0dcfbb319fe0bba1bd3af904ceb4f948cde1b92979ec1614528380ed308a3b40" + }, + "@std/encoding@1.0.10": { + "integrity": "8783c6384a2d13abd5e9e87a7ae0520a30e9f56aeeaa3bdf910a3eaaf5c811a1" + }, + "@std/fmt@1.0.8": { + "integrity": "71e1fc498787e4434d213647a6e43e794af4fd393ef8f52062246e06f7e372b7" + }, "@std/front-matter@1.0.5": { "integrity": "abddc64030a33eb5bc524b8c73e7c417cea09177aaeb4abf75a56b540c4b6e60", "dependencies": [ @@ -51,13 +93,22 @@ "jsr:@std/yaml" ] }, + "@std/fs@1.0.19": { + "integrity": "051968c2b1eae4d2ea9f79a08a3845740ef6af10356aff43d3e2ef11ed09fb06" + }, + "@std/io@0.225.2": { + "integrity": "3c740cd4ee4c082e6cfc86458f47e2ab7cb353dc6234d5e9b1f91a2de5f4d6c7", + "dependencies": [ + "jsr:@std/bytes@^1.0.5" + ] + }, "@std/path@1.0.8": { "integrity": "548fa456bb6a04d3c1a1e7477986b6cffbce95102d0bb447c67c4ee70e0364be" }, "@std/toml@1.0.2": { "integrity": "5892ba489c5b512265a384238a8fe8dddbbb9498b4b210ef1b9f0336a423a39b", "dependencies": [ - "jsr:@std/collections" + "jsr:@std/collections@^1.0.9" ] }, "@std/yaml@1.0.5": { @@ -65,6 +116,9 @@ } }, "npm": { + "@mdn/browser-compat-data@7.1.6": { + "integrity": "sha512-//xJOI7gGx1OAHAMQq1V4by5gWOZNPSoZdYdUZRKtXuxLnBY5DwY0nZVe7tw4PJQeAeeUH9ZZeAlm1wpdod1Uw==" + }, "commander@8.3.0": { "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" }, @@ -106,7 +160,8 @@ "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" }, "he@1.2.0": { - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": true }, "htmlparser2@8.0.2": { "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", @@ -124,7 +179,8 @@ "integrity": "sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ==", "dependencies": [ "commander" - ] + ], + "bin": true }, "marked-alert@2.1.2_marked@12.0.2": { "integrity": "sha512-EFNRZ08d8L/iEIPLTlQMDjvwIsj03gxWCczYTht6DCiHJIZhMk4NK5gtPY9UqAYb09eV5VGT+jD4lp396E0I+w==", @@ -146,10 +202,12 @@ ] }, "marked@12.0.2": { - "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==" + "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", + "bin": true }, "nanoid@3.3.7": { - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "bin": true }, "parse-srcset@1.0.2": { "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==" @@ -183,12 +241,42 @@ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" } }, + "remote": { + "https://deno.land/x/postgres@v0.19.5/client.ts": "f8395fb22363ff012841dd4e35ee14404ecd649f9e90041c615a3251b94ebab2", + "https://deno.land/x/postgres@v0.19.5/client/error.ts": "03e959971d421acd8064574f29550f4b6911634c984e58860306e9802e5fc991", + "https://deno.land/x/postgres@v0.19.5/connection/auth.ts": "96a8ce1798ad5ef615dc3b4c03d1ae9bb4b9f9e9f85f6430e4ac2b362725bb66", + "https://deno.land/x/postgres@v0.19.5/connection/connection.ts": "16d24bfc0649e5c0a178f4a3ba7044d5549226821093060a172734e211df33de", + "https://deno.land/x/postgres@v0.19.5/connection/connection_params.ts": "a7a55ce22e7f45b12d94191291a03b089f1133828098dbbc614fc6d9a5f5e154", + "https://deno.land/x/postgres@v0.19.5/connection/message.ts": "20da5d80fc4d7ddb7b850083e0b3fa8734eb26642221dad89c62e27d78e57a4d", + "https://deno.land/x/postgres@v0.19.5/connection/message_code.ts": "cfbc0f2a557a91637755e8cbed41d1f8536ffb47fdd5a8957e08625a830bbc12", + "https://deno.land/x/postgres@v0.19.5/connection/packet.ts": "17eb42ca261b4d58b4fae945b960c333ca76fa9b0bad5803b7636909e09897fc", + "https://deno.land/x/postgres@v0.19.5/connection/scram.ts": "4c138a1d9d866a8bb1c4386837a6a1ee9481b57380561a722439dbb0ecc215d6", + "https://deno.land/x/postgres@v0.19.5/debug.ts": "8add17699191f11e6830b8c95d9de25857d221bb2cf6c4ae22254d395895c1f9", + "https://deno.land/x/postgres@v0.19.5/mod.ts": "fd97a0e3e8db9318e327b0bca583114718653b61a131099af82a6afb9dbe3a69", + "https://deno.land/x/postgres@v0.19.5/pool.ts": "7b468e6e05044a0a68402379863c221d90aea701be70db482cc2fdab5ff3ca2f", + "https://deno.land/x/postgres@v0.19.5/query/array_parser.ts": "a044d6ee1a4dc685deac37116e025abe7fdc5bf7d18f3b3db36c3e9023468710", + "https://deno.land/x/postgres@v0.19.5/query/decode.ts": "7479fd7aea65c871a6bf0a38032d1091933b3d7ecb81ed5224cd7309fe5e68f6", + "https://deno.land/x/postgres@v0.19.5/query/decoders.ts": "ff58328637128ce6ca26964063e6a491566ab2defc7bd0d07a8c6fa57c422dfb", + "https://deno.land/x/postgres@v0.19.5/query/encode.ts": "2e9fc0c54f241ddec70d5f62a6ab7c060039101a8c8df7111f42f7996ab8453d", + "https://deno.land/x/postgres@v0.19.5/query/oid.ts": "21fc714ac212350ba7df496f88ea9e01a4ee0458911d0f2b6a81498e12e7af4c", + "https://deno.land/x/postgres@v0.19.5/query/query.ts": "a94abb12d5365eb64cfe5b6a84bb0a8a5aa6c9d92f588861825974765d4af803", + "https://deno.land/x/postgres@v0.19.5/query/transaction.ts": "d6989379be861d4673a72189ef245670dc884f93d2f723993052eae20cbfc545", + "https://deno.land/x/postgres@v0.19.5/utils/deferred.ts": "45651f19a1524f88414bbc9326ae1534854afe03f5b7537f713a3655ed2d7b9a", + "https://deno.land/x/postgres@v0.19.5/utils/utils.ts": "ff3abca25712fc0a1543103f8ebed057ae9d2bc251e286c883ac65e86fcdc6c9" + }, "workspace": { "dependencies": [ + "jsr:@deno/doc@0.183", "jsr:@deno/gfm@0.10", "jsr:@std/async@^1.0.8", + "jsr:@std/bytes@^1.0.6", + "jsr:@std/collections@^1.1.3", + "jsr:@std/crypto@^1.0.5", + "jsr:@std/encoding@^1.0.10", + "jsr:@std/fmt@^1.0.8", "jsr:@std/front-matter@^1.0.5", "jsr:@std/path@^1.0.8", + "npm:@mdn/browser-compat-data@^7.1.6", "npm:github-slugger@2" ] } diff --git a/dprint.json b/dprint.json new file mode 100644 index 000000000..604ae151b --- /dev/null +++ b/dprint.json @@ -0,0 +1,15 @@ +{ + "excludes": [ + "**/node_modules", + "**/*-lock.json" + ], + "plugins": [ + "https://plugins.dprint.dev/typescript-0.91.6.wasm", + "https://plugins.dprint.dev/json-0.19.3.wasm", + "https://plugins.dprint.dev/markdown-0.17.2.wasm", + "https://plugins.dprint.dev/toml-0.6.2.wasm", + "https://plugins.dprint.dev/g-plane/malva-v0.7.1.wasm", + "https://plugins.dprint.dev/g-plane/markup_fmt-v0.11.0.wasm", + "https://plugins.dprint.dev/g-plane/pretty_yaml-v0.4.0.wasm" + ] +} diff --git a/frontend/routes/package/og.ts b/frontend/routes/package/og.ts index ce84177f0..72f1d81a4 100644 --- a/frontend/routes/package/og.ts +++ b/frontend/routes/package/og.ts @@ -393,7 +393,7 @@ export const handler = define.handlers({ HEIGHT - JSR_LOGO_HEIGHT - PADDING, ); - return new Response(await ogpImage.encode(), { + return new Response((await ogpImage.encode()) as BufferSource, { headers: { "access-control-allow-origin": "*", "Content-Type": "image/png", diff --git a/tools/generate_global_symbols.ts b/tools/generate_global_symbols.ts index 47791b8f1..b3f3efe8d 100644 --- a/tools/generate_global_symbols.ts +++ b/tools/generate_global_symbols.ts @@ -1,6 +1,6 @@ // Copyright 2024 the JSR authors. All rights reserved. MIT license. -import { doc } from "https://deno.land/x/deno_doc@0.100.0/mod.ts"; -import type { DocNode } from "https://deno.land/x/deno_doc@0.100.0/types.d.ts"; +import { doc } from "@deno/doc"; +import type { DocNode } from "@deno/doc"; const symbols: Set = new Set(); diff --git a/tools/generate_web_symbols.ts b/tools/generate_web_symbols.ts index 9495ff114..7850ca3bb 100644 --- a/tools/generate_web_symbols.ts +++ b/tools/generate_web_symbols.ts @@ -1,6 +1,6 @@ // Copyright 2024 the JSR authors. All rights reserved. MIT license. -import { Identifier } from "npm:@mdn/browser-compat-data"; -import data from "npm:@mdn/browser-compat-data" with { type: "json" }; +import { Identifier } from "@mdn/browser-compat-data"; +import data from "@mdn/browser-compat-data" with { type: "json" }; const webBuiltins: { id: string[]; docs: string }[] = []; diff --git a/tools/migrate_package_meta.ts b/tools/migrate_package_meta.ts index 5359d3bbe..a0ef27b12 100644 --- a/tools/migrate_package_meta.ts +++ b/tools/migrate_package_meta.ts @@ -1,9 +1,6 @@ // Copyright 2024 the JSR authors. All rights reserved. MIT license. -import { Client } from "https://deno.land/x/postgres/mod.ts"; -import type { - DocNode, - JsDocTagDoc, -} from "https://deno.land/x/deno_doc@0.115.0/types.d.ts"; +import { Client } from "postgres"; +import type { DocNode, JsDocTagDoc } from "@deno/doc"; const client = new Client( "postgres://postgres:postgres@127.0.0.1:5432/registry3", diff --git a/tools/orama_package_reindex.ts b/tools/orama_package_reindex.ts index eb7ca774f..184f58ff0 100644 --- a/tools/orama_package_reindex.ts +++ b/tools/orama_package_reindex.ts @@ -4,7 +4,7 @@ import type { Package, RuntimeCompat, } from "../frontend/utils/api_types.ts"; -import { chunk } from "jsr:@std/collections"; +import { chunk } from "std/collections"; const index = Deno.env.get("ORAMA_PACKAGE_INDEX_ID"); const auth = Deno.env.get("ORAMA_PACKAGE_PRIVATE_API_KEY"); diff --git a/tools/orama_symbols_reindex.ts b/tools/orama_symbols_reindex.ts index 3cfbabeb4..e332f04de 100644 --- a/tools/orama_symbols_reindex.ts +++ b/tools/orama_symbols_reindex.ts @@ -1,6 +1,6 @@ // Copyright 2024 the JSR authors. All rights reserved. MIT license. import type { List, Package } from "../frontend/utils/api_types.ts"; -import { chunk } from "jsr:@std/collections"; +import { chunk } from "@std/collections"; const index = Deno.env.get("ORAMA_SYMBOLS_INDEX_ID"); const auth = Deno.env.get("ORAMA_PACKAGE_PRIVATE_API_KEY"); From a81e6d8b1cfadcfb182b03c11358cffb1a6465f4 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 17 Sep 2025 13:16:14 -0400 Subject: [PATCH 2/8] remove --- dprint.json | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 dprint.json diff --git a/dprint.json b/dprint.json deleted file mode 100644 index 604ae151b..000000000 --- a/dprint.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "excludes": [ - "**/node_modules", - "**/*-lock.json" - ], - "plugins": [ - "https://plugins.dprint.dev/typescript-0.91.6.wasm", - "https://plugins.dprint.dev/json-0.19.3.wasm", - "https://plugins.dprint.dev/markdown-0.17.2.wasm", - "https://plugins.dprint.dev/toml-0.6.2.wasm", - "https://plugins.dprint.dev/g-plane/malva-v0.7.1.wasm", - "https://plugins.dprint.dev/g-plane/markup_fmt-v0.11.0.wasm", - "https://plugins.dprint.dev/g-plane/pretty_yaml-v0.4.0.wasm" - ] -} From 537a95dfb10336e18581525b064675163c6bf933 Mon Sep 17 00:00:00 2001 From: Leo Kettmeir Date: Wed, 17 Sep 2025 20:29:23 +0200 Subject: [PATCH 3/8] bump serde and rust --- Cargo.lock | 23 +++++++++++++++++------ rust-toolchain.toml | 2 +- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7c6123f21..58086a84b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,10 +3588,11 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.219" +version = "1.0.225" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "fd6c24dee235d0da097043389623fb913daddf92c76e9f5a1db88607a0bcbd1d" dependencies = [ + "serde_core", "serde_derive", ] @@ -3615,11 +3616,20 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_core" +version = "1.0.225" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "659356f9a0cb1e529b24c01e43ad2bdf520ec4ceaf83047b83ddcc2251f96383" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.225" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "0ea936adf78b1f766949a4977b91d2f5595825bd6ec079aa9543ad2685fc4516" dependencies = [ "proc-macro2", "quote", @@ -3628,15 +3638,16 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "indexmap 2.5.0", "itoa", "memchr", "ryu", "serde", + "serde_core", ] [[package]] diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 5675074ab..908d2ecba 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.87.0" +channel = "1.89.0" components = ["rustfmt", "clippy"] From 507fc99050663e560549bfe62fa85bf4cbeaec20 Mon Sep 17 00:00:00 2001 From: Leo Kettmeir Date: Wed, 17 Sep 2025 20:39:34 +0200 Subject: [PATCH 4/8] bump rust crates --- Cargo.lock | 383 ++++++++++++++++++++------------------------ api/Cargo.toml | 10 +- api/src/iam.rs | 4 +- api/src/npm/emit.rs | 5 +- api/src/util.rs | 4 +- 5 files changed, 184 insertions(+), 222 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 58086a84b..83014260a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7,10 +7,6 @@ name = "Inflector" version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] [[package]] name = "addr2line" @@ -163,13 +159,12 @@ dependencies = [ [[package]] name = "ast_node" -version = "3.0.0" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fb5864e2f5bf9fd9797b94b2dfd1554d4c3092b535008b27d7e15c86675a2f" +checksum = "0a184645bcc6f52d69d8e7639720699c6a99efb711f886e251ed1d16db8dd90e" dependencies = [ - "proc-macro2", "quote", - "swc_macros_common 1.0.0", + "swc_macros_common", "syn 2.0.90", ] @@ -464,9 +459,9 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "better_scoped_tls" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50fd297a11c709be8348aec039c8b91de16075d2b2bdaee1bd562c0875993664" +checksum = "7cd228125315b132eed175bf47619ac79b945b26e56b848ba203ae4ea8603609" dependencies = [ "scoped-tls", ] @@ -553,9 +548,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" dependencies = [ "allocator-api2", ] @@ -568,9 +563,19 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.1" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" + +[[package]] +name = "bytes-str" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c60b5ce37e0b883c37eb89f79a1e26fbe9c1081945d024eee93e8d91a7e18b3" +dependencies = [ + "bytes", + "serde", +] [[package]] name = "capacity_builder" @@ -910,19 +915,18 @@ dependencies = [ [[package]] name = "deno_ast" -version = "0.48.2" +version = "0.50.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a4fa191c178c9354d751d2309becde2697d6bde880c8508aae352e0a5ff4fb4" +checksum = "f2e510f96dd268de7ef55264ca3bafe456b95ea63a67b7d9a186b4196eb2e484" dependencies = [ "base64 0.22.1", "capacity_builder", - "deno_error", + "deno_error 0.7.0", "deno_media_type", "deno_terminal", "dprint-swc-ext", "percent-encoding", "serde", - "sourcemap", "swc_atoms", "swc_common", "swc_config", @@ -930,6 +934,7 @@ dependencies = [ "swc_ecma_ast", "swc_ecma_codegen", "swc_ecma_codegen_macros", + "swc_ecma_lexer", "swc_ecma_loader", "swc_ecma_parser", "swc_ecma_transforms_base", @@ -941,9 +946,9 @@ dependencies = [ "swc_ecma_utils", "swc_ecma_visit", "swc_eq_ignore_macros", - "swc_macros_common 1.0.0", + "swc_macros_common", + "swc_sourcemap", "swc_visit", - "swc_visit_macros", "text_lines", "thiserror 2.0.12", "unicode-width 0.2.0", @@ -952,9 +957,9 @@ dependencies = [ [[package]] name = "deno_doc" -version = "0.180.0" +version = "0.183.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea005c349842626affe06bca10f6acd9dbc894e7f4d612198f61add73600a8d" +checksum = "02837b4ab5233d1ef04f2c6e328006999a368f2d0398c8ecad4f2a39c0cff918" dependencies = [ "anyhow", "cfg-if", @@ -986,7 +991,17 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "612ec3fc481fea759141b0c57810889b0a4fb6fee8f10748677bfe492fd30486" dependencies = [ - "deno_error_macro", + "deno_error_macro 0.6.1", + "libc", +] + +[[package]] +name = "deno_error" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde60bd153886964234c5012d3d9caf788287f28d81fb24a884436904101ef10" +dependencies = [ + "deno_error_macro 0.7.0", "libc", "serde", "serde_json", @@ -1004,21 +1019,32 @@ dependencies = [ "syn 2.0.90", ] +[[package]] +name = "deno_error_macro" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409f265785bd946d3006756955aaf40b0e4deb25752eae6a990afe54a31cfd83" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "deno_graph" -version = "0.97.0" +version = "0.100.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b88a268f9359a3e35446bde86e77e4264faaffa33a27cbab39c0279d7579b314" +checksum = "158e28e9dea84cf648762e4a6892f15124bae85ef4e7934058587ec85bcc0e70" dependencies = [ "async-trait", "boxed_error", "capacity_builder", "data-url", "deno_ast", - "deno_error", + "deno_error 0.7.0", "deno_media_type", "deno_path_util", - "deno_semver", + "deno_semver 0.9.0", "deno_unsync", "futures", "import_map", @@ -1052,11 +1078,11 @@ dependencies = [ [[package]] name = "deno_path_util" -version = "0.4.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "516f813389095889776b81cc9108ff6f336fd9409b4b12fc0138aea23d2708e1" +checksum = "bfe02936964b2910719bd488841f6e884349360113c7abf6f4c6b28ca9cd7a19" dependencies = [ - "deno_error", + "deno_error 0.7.0", "percent-encoding", "sys_traits", "thiserror 2.0.12", @@ -1070,7 +1096,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2d807160e754edb1989b4a19cac1ac5299065a7a89ff98682a2366cbaa25795" dependencies = [ "capacity_builder", - "deno_error", + "deno_error 0.6.1", + "ecow", + "hipstr", + "monch", + "once_cell", + "serde", + "thiserror 2.0.12", + "url", +] + +[[package]] +name = "deno_semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2625b7107cc3f61a462886d5fa77c23e063c1fd15b90e3d5ee2646e9f6178d55" +dependencies = [ + "capacity_builder", + "deno_error 0.7.0", "ecow", "hipstr", "monch", @@ -1209,9 +1252,9 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dprint-swc-ext" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a09827d6db1a3af25e105553d674ee9019be58fa3d6745c2a2803f8ce8e3eb8" +checksum = "48928f46665a21bca006dc9a02d1329143ef161f7347f2b9430b55519275db8a" dependencies = [ "allocator-api2", "bumpalo", @@ -1220,6 +1263,7 @@ dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", + "swc_ecma_lexer", "swc_ecma_parser", "text_lines", ] @@ -1367,12 +1411,11 @@ dependencies = [ [[package]] name = "from_variant" -version = "2.0.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d7ccf961415e7aa17ef93dcb6c2441faaa8e768abe09e659b908089546f74c5" +checksum = "308530a56b099da144ebc5d8e179f343ad928fa2b3558d1eb3db9af18d6eff43" dependencies = [ - "proc-macro2", - "swc_macros_common 1.0.0", + "swc_macros_common", "syn 2.0.90", ] @@ -1735,14 +1778,13 @@ dependencies = [ [[package]] name = "hstr" -version = "1.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71399f53a92ef72ee336a4b30201c6e944827e14e0af23204c291aad9c24cc85" +checksum = "ced1416104790052518d199e753d49a7d8130d476c664bc9e53f40cfecb8e615" dependencies = [ "hashbrown 0.14.5", "new_debug_unreachable", "once_cell", - "phf", "rustc-hash", "triomphe", ] @@ -2030,12 +2072,12 @@ checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" [[package]] name = "import_map" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f315e535cb94a0e80704278d630990bb48834c8c8d976acf0a2f6bc8fede7c38" +checksum = "ce93e07f4819f0db4d2948fffce3ef4760a9940c4ff4f9369dfaf5e357a0d415" dependencies = [ "boxed_error", - "deno_error", + "deno_error 0.7.0", "indexmap 2.5.0", "log", "percent-encoding", @@ -2638,23 +2680,13 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "par-core" -version = "1.0.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b506ab63a8bd3cd38858c7bfc2d078a189dc3210c7f8c9be1bbaf50c082a0ae" +checksum = "e96cbd21255b7fb29a5d51ef38a779b517a91abd59e2756c039583f43ef4c90f" dependencies = [ "once_cell", ] -[[package]] -name = "par-iter" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a5b20f31e9ba82bfcbbb54a67aa40be6cebec9f668ba5753be138f9523c531a" -dependencies = [ - "either", - "par-core", -] - [[package]] name = "parking" version = "2.2.1" @@ -3071,26 +3103,6 @@ dependencies = [ "cc", ] -[[package]] -name = "ptr_meta" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9e76f66d3f9606f44e45598d155cb13ecf09f4a28199e48daf8c8fc937ea90" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca414edb151b4c8d125c12566ab0d74dc9cdba36fb80eb7b848c15f495fd32d1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.90", -] - [[package]] name = "quote" version = "1.0.37" @@ -3215,9 +3227,10 @@ dependencies = [ "crc32fast", "deno_ast", "deno_doc", - "deno_error", + "deno_error 0.7.0", "deno_graph", - "deno_semver", + "deno_semver 0.8.0", + "deno_semver 0.9.0", "dotenvy", "flate2", "futures", @@ -3586,6 +3599,12 @@ dependencies = [ "libc", ] +[[package]] +name = "seq-macro" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc" + [[package]] name = "serde" version = "1.0.225" @@ -3796,24 +3815,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "sourcemap" -version = "9.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22afbcb92ce02d23815b9795523c005cb9d3c214f8b7a66318541c240ea7935" -dependencies = [ - "base64-simd", - "bitvec", - "data-encoding", - "debugid", - "if_chain", - "rustc-hash", - "serde", - "serde_json", - "unicode-id-start", - "url", -] - [[package]] name = "spin" version = "0.5.2" @@ -4115,13 +4116,12 @@ dependencies = [ [[package]] name = "string_enum" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9fe66b8ee349846ce2f9557a26b8f1e74843c4a13fb381f9a3d73617a5f956a" +checksum = "ae36a4951ca7bd1cfd991c241584a9824a70f6aff1e7d4f693fb3f2465e4030e" dependencies = [ - "proc-macro2", "quote", - "swc_macros_common 1.0.0", + "swc_macros_common", "syn 2.0.90", ] @@ -4150,40 +4150,37 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "swc_allocator" -version = "4.0.0" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6b926f0d94bbb34031fe5449428cfa1268cdc0b31158d6ad9c97e0fc1e79dd" +checksum = "9d7eefd2c8b228a8c73056482b2ae4b3a1071fbe07638e3b55ceca8570cc48bb" dependencies = [ "allocator-api2", "bumpalo", "hashbrown 0.14.5", - "ptr_meta", "rustc-hash", - "triomphe", ] [[package]] name = "swc_atoms" -version = "5.0.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d7077ba879f95406459bc0c81f3141c529b34580bc64d7ab7bd15e7118a0391" +checksum = "3500dcf04c84606b38464561edc5e46f5132201cb3e23cf9613ed4033d6b1bb2" dependencies = [ "hstr", "once_cell", - "rustc-hash", "serde", ] [[package]] name = "swc_common" -version = "9.2.0" +version = "14.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56b6f5a8e5affa271b56757a93badee6f44defcd28f3ba106bb2603afe40d3d" +checksum = "c2bb772b3a26b8b71d4e8c112ced5b5867be2266364b58517407a270328a2696" dependencies = [ "anyhow", "ast_node", "better_scoped_tls", - "cfg-if", + "bytes-str", "either", "from_variant", "new_debug_unreachable", @@ -4192,10 +4189,9 @@ dependencies = [ "rustc-hash", "serde", "siphasher", - "sourcemap", - "swc_allocator", "swc_atoms", "swc_eq_ignore_macros", + "swc_sourcemap", "swc_visit", "tracing", "unicode-width 0.1.13", @@ -4204,11 +4200,12 @@ dependencies = [ [[package]] name = "swc_config" -version = "3.0.0" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01bfcbbdea182bdda93713aeecd997749ae324686bf7944f54d128e56be4ea9" +checksum = "72e90b52ee734ded867104612218101722ad87ff4cf74fe30383bd244a533f97" dependencies = [ "anyhow", + "bytes-str", "indexmap 2.5.0", "serde", "serde_json", @@ -4217,21 +4214,21 @@ dependencies = [ [[package]] name = "swc_config_macro" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2ebd37ef52a8555c8c9be78b694d64adcb5e3bc16c928f030d82f1d65fac57" +checksum = "7b416e8ce6de17dc5ea496e10c7012b35bbc0e3fef38d2e065eed936490db0b3" dependencies = [ "proc-macro2", "quote", - "swc_macros_common 1.0.0", + "swc_macros_common", "syn 2.0.90", ] [[package]] name = "swc_ecma_ast" -version = "9.0.0" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0613d84468a6bb6d45d13c5a3368b37bd21f3067a089f69adac630dcb462a018" +checksum = "65c25af97d53cf8aab66a6c68f3418663313fc969ad267fc2a4d19402c329be1" dependencies = [ "bitflags 2.6.0", "is-macro", @@ -4239,7 +4236,6 @@ dependencies = [ "once_cell", "phf", "rustc-hash", - "scoped-tls", "serde", "string_enum", "swc_atoms", @@ -4250,9 +4246,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "11.0.0" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01b3de365a86b8f982cc162f257c82f84bda31d61084174a3be37e8ab15c0f4" +checksum = "b91da8222bd2e868a6977ef402b3ca5c29a41d18cd84772441d9e06ec95ded1f" dependencies = [ "ascii", "compact_str", @@ -4261,42 +4257,41 @@ dependencies = [ "once_cell", "regex", "rustc-hash", + "ryu-js", "serde", - "sourcemap", "swc_allocator", "swc_atoms", "swc_common", "swc_ecma_ast", "swc_ecma_codegen_macros", + "swc_sourcemap", "tracing", ] [[package]] name = "swc_ecma_codegen_macros" -version = "2.0.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e99e1931669a67c83e2c2b4375674f6901d1480994a76aa75b23f1389e6c5076" +checksum = "e276dc62c0a2625a560397827989c82a93fd545fcf6f7faec0935a82cc4ddbb8" dependencies = [ "proc-macro2", - "quote", - "swc_macros_common 1.0.0", + "swc_macros_common", "syn 2.0.90", ] [[package]] name = "swc_ecma_lexer" -version = "12.0.0" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d11c8e71901401b9aae2ece4946eeb7674b14b8301a53768afbbeeb0e48b599" +checksum = "67c3bd958a5a67e2cc3f74abdd41fda688e54e7a25b866569260ef7018b67972" dependencies = [ "arrayvec", "bitflags 2.6.0", "either", - "new_debug_unreachable", "num-bigint", - "num-traits", "phf", "rustc-hash", + "seq-macro", "serde", "smallvec", "smartstring", @@ -4305,14 +4300,13 @@ dependencies = [ "swc_common", "swc_ecma_ast", "tracing", - "typed-arena", ] [[package]] name = "swc_ecma_loader" -version = "9.0.0" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eb574d660c05f3483c984107452b386e45b95531bdb1253794077edc986f413" +checksum = "c675d14700c92f12585049b22b02356f1e142f4b0c32a4d0eb4b7a968a4c0c1e" dependencies = [ "anyhow", "pathdiff", @@ -4325,45 +4319,33 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "12.0.0" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "250786944fbc05f6484eda9213df129ccfe17226ae9ad51b62fce2f72135dbee" +checksum = "9166873bb660bed50b5f422233537d3e946336398570a4a13e57d8c63d6a01c5" dependencies = [ - "arrayvec", - "bitflags 2.6.0", "either", - "new_debug_unreachable", "num-bigint", - "num-traits", - "phf", - "rustc-hash", "serde", - "smallvec", - "smartstring", - "stacker", "swc_atoms", "swc_common", "swc_ecma_ast", "swc_ecma_lexer", "tracing", - "typed-arena", ] [[package]] name = "swc_ecma_transforms_base" -version = "13.0.0" +version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6856da3da598f4da001b7e4ce225ee8970bc9d5cbaafcaf580190cf0a6031ec5" +checksum = "9cc6454e1cf587b1d50509116350b503e7d647dbcc41bb5be9bf9a40fd792037" dependencies = [ "better_scoped_tls", - "bitflags 2.6.0", "indexmap 2.5.0", "once_cell", "par-core", "phf", "rustc-hash", "serde", - "smallvec", "swc_atoms", "swc_common", "swc_ecma_ast", @@ -4375,11 +4357,10 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "13.0.0" +version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f84248f82bad599d250bbcd52cb4db6ff6409f48267fd6f001302a2e9716f80" +checksum = "c48790332195e4163f1f49713a14f91a5614048ca6638c664050fe577c3fad5a" dependencies = [ - "swc_atoms", "swc_common", "swc_ecma_ast", "swc_ecma_transforms_base", @@ -4389,71 +4370,66 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_macros" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6845dfb88569f3e8cd05901505916a8ebe98be3922f94769ca49f84e8ccec8f7" +checksum = "bc777288799bf6786e5200325a56e4fbabba590264a4a48a0c70b16ad0cf5cd8" dependencies = [ "proc-macro2", "quote", - "swc_macros_common 1.0.0", + "swc_macros_common", "syn 2.0.90", ] [[package]] name = "swc_ecma_transforms_proposal" -version = "13.0.0" +version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193237e318421ef621c2b3958b4db174770c5280ef999f1878f2df93a2837ca6" +checksum = "3a1d5b2190c134d9b5c9b4d8c0d4b23b4fb5c433a7ae470f1c2103b8ff99160c" dependencies = [ "either", "rustc-hash", "serde", - "smallvec", "swc_atoms", "swc_common", "swc_ecma_ast", "swc_ecma_transforms_base", "swc_ecma_transforms_classes", - "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", ] [[package]] name = "swc_ecma_transforms_react" -version = "15.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baae39c70229103a72090119887922fc5e32f934f5ca45c0423a5e65dac7e549" +checksum = "fc9a3fe915e9b4e289edc78f060b8edda8633bc44234c5cf167e359befa18267" dependencies = [ "base64 0.22.1", - "dashmap", + "bytes-str", "indexmap 2.5.0", "once_cell", "rustc-hash", "serde", "sha1", "string_enum", - "swc_allocator", "swc_atoms", "swc_common", "swc_config", "swc_ecma_ast", "swc_ecma_parser", "swc_ecma_transforms_base", - "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", ] [[package]] name = "swc_ecma_transforms_typescript" -version = "15.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3c65e0b49f7e2a2bd92f1d89c9a404de27232ce00f6a4053f04bda446d50e5c" +checksum = "2e62c7ec4f9667b9a85270125443fee6a7c2f357272d3d9eafc75a2f6fb0bca9" dependencies = [ - "once_cell", + "bytes-str", "rustc-hash", - "ryu-js", "serde", "swc_atoms", "swc_common", @@ -4466,15 +4442,14 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "13.1.0" +version = "21.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ed837406d5dbbfbf5792b1dc90964245a0cf659753d4745fe177ffebe8598b9" +checksum = "83259addd99ed4022aa9fc4d39428c008d3d42533769e1a005529da18cde4568" dependencies = [ "indexmap 2.5.0", "num_cpus", "once_cell", "par-core", - "par-iter", "rustc-hash", "ryu-js", "swc_atoms", @@ -4482,14 +4457,13 @@ dependencies = [ "swc_ecma_ast", "swc_ecma_visit", "tracing", - "unicode-id", ] [[package]] name = "swc_ecma_visit" -version = "9.0.0" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "249dc9eede1a4ad59a038f9cfd61ce67845bd2c1392ade3586d714e7181f3c1a" +checksum = "75a579aa8f9e212af521588df720ccead079c09fe5c8f61007cf724324aed3a0" dependencies = [ "new_debug_unreachable", "num-bigint", @@ -4502,9 +4476,9 @@ dependencies = [ [[package]] name = "swc_eq_ignore_macros" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96e15288bf385ab85eb83cff7f9e2d834348da58d0a31b33bdb572e66ee413e" +checksum = "c16ce73424a6316e95e09065ba6a207eba7765496fed113702278b7711d4b632" dependencies = [ "proc-macro2", "quote", @@ -4513,9 +4487,9 @@ dependencies = [ [[package]] name = "swc_macros_common" -version = "0.3.13" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f486687bfb7b5c560868f69ed2d458b880cebc9babebcb67e49f31b55c5bf847" +checksum = "aae1efbaa74943dc5ad2a2fb16cbd78b77d7e4d63188f3c5b4df2b4dcd2faaae" dependencies = [ "proc-macro2", "quote", @@ -4523,39 +4497,34 @@ dependencies = [ ] [[package]] -name = "swc_macros_common" -version = "1.0.0" +name = "swc_sourcemap" +version = "9.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a509f56fca05b39ba6c15f3e58636c3924c78347d63853632ed2ffcb6f5a0ac7" +checksum = "de08ef00f816acdd1a58ee8a81c0e1a59eefef2093aefe5611f256fa6b64c4d7" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.90", + "base64-simd", + "bitvec", + "bytes-str", + "data-encoding", + "debugid", + "if_chain", + "rustc-hash", + "serde", + "serde_json", + "unicode-id-start", + "url", ] [[package]] name = "swc_visit" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9138b6a36bbe76dd6753c4c0794f7e26480ea757bee499738bedbbb3ae3ec5f3" +checksum = "62fb71484b486c185e34d2172f0eabe7f4722742aad700f426a494bb2de232a2" dependencies = [ "either", "new_debug_unreachable", ] -[[package]] -name = "swc_visit_macros" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92807d840959f39c60ce8a774a3f83e8193c658068e6d270dbe0a05e40e90b41" -dependencies = [ - "Inflector", - "proc-macro2", - "quote", - "swc_macros_common 0.3.13", - "syn 2.0.90", -] - [[package]] name = "syn" version = "1.0.109" @@ -4609,9 +4578,9 @@ dependencies = [ [[package]] name = "sys_traits" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4707edf3196e8037ee45018d1bb1bfb233b0e4fc440fa3d3f25bc69bfdaf26" +checksum = "4f74a2c95f72e36fa6bd04a40d15623a9904bab1cc2fa6c6135b09d774a65088" dependencies = [ "sys_traits_macros", ] @@ -5306,12 +5275,6 @@ version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" -[[package]] -name = "unicode-id" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1b6def86329695390197b82c1e244a54a131ceb66c996f2088a3876e2ae083f" - [[package]] name = "unicode-id-start" version = "1.2.0" @@ -5566,11 +5529,11 @@ dependencies = [ [[package]] name = "wasm_dep_analyzer" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51cf5f08b357e64cd7642ab4bbeb11aecab9e15520692129624fb9908b8df2c" +checksum = "a10e6b67c951a84de7029487e0e0a496860dae49f6699edd279d5ff35b8fbf54" dependencies = [ - "deno_error", + "deno_error 0.7.0", "thiserror 2.0.12", ] diff --git a/api/Cargo.toml b/api/Cargo.toml index 48bb856ab..a83282c94 100644 --- a/api/Cargo.toml +++ b/api/Cargo.toml @@ -74,14 +74,14 @@ opentelemetry = { version = "0.19", features = [ ] } opentelemetry-otlp = "0.12" opentelemetry-gcloud-trace = "0.5.0" -deno_semver = "0.8.0" +deno_semver = "0.9.0" flate2 = "1" thiserror = "2" async-tar = "0.4.2" -deno_graph = "0.97.0" -deno_ast = { version = "0.48.0", features = ["view"] } -deno_doc = { version = "=0.180.0", features = ["comrak"] } -deno_error = "0.6.1" +deno_graph = "0.100.0" +deno_ast = { version = "0.50.2", features = ["view"] } +deno_doc = { version = "0.183.0", features = ["comrak"] } +deno_error = "0.7.0" comrak = { version = "0.29.0", default-features = false } ammonia = "4.0.0" async-trait = "0.1.73" diff --git a/api/src/iam.rs b/api/src/iam.rs index 61d711459..da1079a2a 100644 --- a/api/src/iam.rs +++ b/api/src/iam.rs @@ -320,11 +320,11 @@ impl From<(i64, GithubOidcTokenAud, Option)> for IamInfo { } pub trait ReqIamExt { - fn iam(&self) -> IamHandler; + fn iam(&'_ self) -> IamHandler<'_>; } impl ReqIamExt for Request { - fn iam(&self) -> IamHandler { + fn iam(&'_ self) -> IamHandler<'_> { let db = self.data().unwrap(); let IamInfo { principal, diff --git a/api/src/npm/emit.rs b/api/src/npm/emit.rs index 1ef100527..01a2e7913 100644 --- a/api/src/npm/emit.rs +++ b/api/src/npm/emit.rs @@ -1,6 +1,5 @@ // Copyright 2024 the JSR authors. All rights reserved. MIT license. -use deno_ast::EmittedSourceText; use deno_ast::ParsedSource; use deno_ast::SourceMap; use deno_ast::SourceMapOption; @@ -8,6 +7,7 @@ use deno_ast::TranspileOptions; use deno_ast::emit; use deno_ast::fold_program; use deno_ast::swc::ecma_visit::VisitMutWith; +use deno_ast::{DecoratorsTranspileOption, EmittedSourceText}; use deno_graph::FastCheckTypeModule; use url::Url; @@ -49,8 +49,7 @@ pub fn transpile_to_js( program.visit_mut_with(&mut import_rewrite_transformer); let transpile_options = TranspileOptions { - use_decorators_proposal: true, - use_ts_decorators: false, + decorators: DecoratorsTranspileOption::Ecma, // TODO: JSX ..Default::default() diff --git a/api/src/util.rs b/api/src/util.rs index 227488088..0c55d2039 100644 --- a/api/src/util.rs +++ b/api/src/util.rs @@ -213,8 +213,8 @@ enum AuthorizationToken<'s> { static X_JSR_SUDO: HeaderName = header::HeaderName::from_static("x-jsr-sudo"); fn extract_token_and_sudo( - req: &Request, -) -> Option<(AuthorizationToken, bool)> { + req: &'_ Request, +) -> Option<(AuthorizationToken<'_>, bool)> { let headers = req.headers(); let mut sudo = headers From b1fc1fdafe4917c5b273ab8641e51b0678701c66 Mon Sep 17 00:00:00 2001 From: Leo Kettmeir Date: Wed, 17 Sep 2025 20:47:14 +0200 Subject: [PATCH 5/8] fix --- api/src/publish.rs | 2 +- api/src/util.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api/src/publish.rs b/api/src/publish.rs index ec165e788..c6561a5f1 100644 --- a/api/src/publish.rs +++ b/api/src/publish.rs @@ -1278,7 +1278,7 @@ pub mod tests { assert_eq!(error.code, "graphError"); assert_eq!( error.message, - "failed to build module graph: The module's source code could not be parsed: Expression expected at file:///mod.ts:1:1\n\n +\n ~" + "failed to build module graph: The module's source code could not be parsed: Expression expected at file:///mod.ts:1:2\n\n +\n ~" ); } diff --git a/api/src/util.rs b/api/src/util.rs index 0c55d2039..2318929c6 100644 --- a/api/src/util.rs +++ b/api/src/util.rs @@ -659,14 +659,14 @@ pub mod test { Url::parse("http://npm.jsr-tests.test").unwrap() } - pub fn http(&mut self) -> TestHttpClient { + pub fn http(&'_ mut self) -> TestHttpClient<'_, '_> { TestHttpClient { service: &mut self.service, auth: Some(&self.user1.token), } } - pub fn unauthed_http(&mut self) -> TestHttpClient { + pub fn unauthed_http(&'_ mut self) -> TestHttpClient<'_, '_> { TestHttpClient { service: &mut self.service, auth: None, From 5dfff5c3186988365c18d13c60eb471397a2c161 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 17 Sep 2025 15:05:22 -0400 Subject: [PATCH 6/8] clippy --- api/src/analysis.rs | 5 ++--- api/src/api/errors.rs | 5 ++--- api/src/api/package.rs | 30 ++++++++++++------------------ api/src/api/self_user.rs | 5 ++--- api/src/api/tickets.rs | 5 ++--- api/src/db/database.rs | 25 ++++++++++--------------- api/src/docs.rs | 20 ++++++++------------ api/src/npm/emit.rs | 10 ++++------ api/src/npm/import_transform.rs | 13 +++++-------- api/src/npm/tarball.rs | 18 ++++++------------ api/src/tarball.rs | 5 ++--- api/src/util.rs | 10 ++++------ 12 files changed, 59 insertions(+), 92 deletions(-) diff --git a/api/src/analysis.rs b/api/src/analysis.rs index 9d7676d98..d5abb2f5f 100644 --- a/api/src/analysis.rs +++ b/api/src/analysis.rs @@ -427,8 +427,8 @@ impl deno_graph::source::Resolver for JsrResolver { referrer_range: &deno_graph::Range, _kind: deno_graph::source::ResolutionKind, ) -> Result { - if let Ok(package_ref) = JsrPackageReqReference::from_str(specifier_text) { - if self.member.name == package_ref.req().name + if let Ok(package_ref) = JsrPackageReqReference::from_str(specifier_text) + && self.member.name == package_ref.req().name && self .member .version @@ -447,7 +447,6 @@ impl deno_graph::source::Resolver for JsrResolver { }; return Ok(self.member.base.join(export).unwrap()); } - } Ok(deno_graph::resolve_import( specifier_text, diff --git a/api/src/api/errors.rs b/api/src/api/errors.rs index 42ffe452f..62e4d558b 100644 --- a/api/src/api/errors.rs +++ b/api/src/api/errors.rs @@ -256,15 +256,14 @@ errors!( ); pub fn map_unique_violation(err: sqlx::Error, new_err: ApiError) -> ApiError { - if let Some(db_err) = err.as_database_error() { - if let Some(code) = db_err.code() { + if let Some(db_err) = err.as_database_error() + && let Some(code) = db_err.code() { // Code 23505 is unique_violation. // See https://www.postgresql.org/docs/13/errcodes-appendix.html if code == "23505" { return new_err; } } - } err.into() } diff --git a/api/src/api/package.rs b/api/src/api/package.rs index c64a2b2ce..1c0a63a2f 100644 --- a/api/src/api/package.rs +++ b/api/src/api/package.rs @@ -775,14 +775,13 @@ pub async fn version_publish_handler( // If there is a content-length header, check it isn't too big. // We don't rely on this, we will also check MAX_PAYLOAD_SIZE later. - if let Some(size) = req.body().size_hint().upper() { - if size > MAX_PUBLISH_TARBALL_SIZE { + if let Some(size) = req.body().size_hint().upper() + && size > MAX_PUBLISH_TARBALL_SIZE { return Err(ApiError::TarballSizeLimitExceeded { size, max_size: MAX_PUBLISH_TARBALL_SIZE, }); } - } // Ensure the upload is gzip encoded. match req.headers().get(hyper::header::CONTENT_ENCODING) { @@ -869,15 +868,14 @@ pub async fn version_publish_handler( let hash = hash.lock().unwrap().take().unwrap().finalize(); let hash = format!("sha256-{:02x}", hash); - if let Some(tarball_hash) = access_restriction.tarball_hash { - if tarball_hash != hash { + if let Some(tarball_hash) = access_restriction.tarball_hash + && tarball_hash != hash { error!( "Tarball hash mismatch: expected {}, got {}", tarball_hash, hash ); return Err(ApiError::MissingPermission); } - } // If the upload failed due to the size limit, we can cancel the task. let total_size = total_size.load(Ordering::SeqCst); @@ -1830,8 +1828,8 @@ impl DepTreeLoader { return Ok(None); }; - if version.is_none() { - if let Some(captures) = JSR_DEP_META_RE.captures(path.as_str()) { + if version.is_none() + && let Some(captures) = JSR_DEP_META_RE.captures(path.as_str()) { let version = captures.name("version").unwrap(); let meta = serde_json::from_slice::(&bytes).unwrap(); @@ -1847,7 +1845,6 @@ impl DepTreeLoader { meta.exports, ); } - } Ok(Some(deno_graph::source::LoadResponse::Module { content: bytes.to_vec().into(), @@ -2158,23 +2155,20 @@ impl<'a> GraphDependencyCollector<'a> { let mut children = IndexSet::new(); match module { Module::Js(module) => { - if let Some(types_dep) = &module.maybe_types_dependency { - if let Some(child) = self.build_resolved_info(&types_dep.dependency) + if let Some(types_dep) = &module.maybe_types_dependency + && let Some(child) = self.build_resolved_info(&types_dep.dependency) { children.insert(child); } - } for dep in module.dependencies.values() { - if !dep.maybe_code.is_none() { - if let Some(child) = self.build_resolved_info(&dep.maybe_code) { + if !dep.maybe_code.is_none() + && let Some(child) = self.build_resolved_info(&dep.maybe_code) { children.insert(child); } - } - if !dep.maybe_type.is_none() { - if let Some(child) = self.build_resolved_info(&dep.maybe_type) { + if !dep.maybe_type.is_none() + && let Some(child) = self.build_resolved_info(&dep.maybe_type) { children.insert(child); } - } } } Module::Json(_) diff --git a/api/src/api/self_user.rs b/api/src/api/self_user.rs index 4e6f4d361..23b4dc8a0 100644 --- a/api/src/api/self_user.rs +++ b/api/src/api/self_user.rs @@ -209,13 +209,12 @@ async fn create_token( }); } - if let Some(permissions) = permissions.as_ref() { - if permissions.0.len() != 1 { + if let Some(permissions) = permissions.as_ref() + && permissions.0.len() != 1 { return Err(ApiError::MalformedRequest { msg: "permissions must contain exactly one element".into(), }); } - } let iam = req.iam(); let user = iam.check_authorization_approve_access()?; diff --git a/api/src/api/tickets.rs b/api/src/api/tickets.rs index b2af70a10..7ecf4be89 100644 --- a/api/src/api/tickets.rs +++ b/api/src/api/tickets.rs @@ -126,8 +126,8 @@ pub async fn post_message_handler( .await?; // only send email to ticket creator if the message was not sent by ticket creator - if creator.id != message_author.id { - if let Some(email) = &creator.email { + if creator.id != message_author.id + && let Some(email) = &creator.email { let email_sender = req.data::>().unwrap(); let registry_url = req.data::().unwrap(); if let Some(email_sender) = email_sender { @@ -148,7 +148,6 @@ pub async fn post_message_handler( })?; } } - } Ok((message, message_author).into()) } diff --git a/api/src/db/database.rs b/api/src/db/database.rs index 24fde5ee7..bcd2fc9f9 100644 --- a/api/src/db/database.rs +++ b/api/src/db/database.rs @@ -556,11 +556,10 @@ impl Database { let package = match res { Ok(package) => package, Err(err) => { - if let Some(dberr) = err.as_database_error() { - if dberr.is_unique_violation() { + if let Some(dberr) = err.as_database_error() + && dberr.is_unique_violation() { return Ok(CreatePackageResult::AlreadyExists); } - } return Err(err); } }; @@ -2722,11 +2721,10 @@ impl Database { Ok(success) } Err(err) => { - if let Some(dberr) = err.as_database_error() { - if dberr.is_foreign_key_violation() { + if let Some(dberr) = err.as_database_error() + && dberr.is_foreign_key_violation() { return Ok(false); } - } Err(err) } } @@ -2773,11 +2771,10 @@ impl Database { Ok(success) } Err(err) => { - if let Some(dberr) = err.as_database_error() { - if dberr.is_foreign_key_violation() { + if let Some(dberr) = err.as_database_error() + && dberr.is_foreign_key_violation() { return Ok(false); } - } Err(err) } } @@ -2887,13 +2884,12 @@ impl Database { return Ok(ScopeMemberUpdateResult::TargetNotMember); }; - if !scope_member.is_admin { - if let Some(result) = + if !scope_member.is_admin + && let Some(result) = self.transfer_scope(scope, is_creator, &mut tx).await? { return Ok(result); } - } tx.commit().await?; @@ -3592,11 +3588,10 @@ impl Database { .fetch_optional(&mut *tx) .await?; - if let Some(authorization) = &maybe_authorization { - if authorization.user_id.is_some() { + if let Some(authorization) = &maybe_authorization + && authorization.user_id.is_some() { tx.commit().await?; } - } Ok(maybe_authorization) } diff --git a/api/src/docs.rs b/api/src/docs.rs index d6749f132..14867fbc6 100644 --- a/api/src/docs.rs +++ b/api/src/docs.rs @@ -138,8 +138,8 @@ fn match_node_value<'a>( ) { match &node.data.borrow().value { NodeValue::BlockQuote => { - if let Some(paragraph_child) = node.first_child() { - if paragraph_child.data.borrow().value == NodeValue::Paragraph { + if let Some(paragraph_child) = node.first_child() + && paragraph_child.data.borrow().value == NodeValue::Paragraph { let alert = paragraph_child.first_child().and_then(|text_child| { if let NodeValue::Text(text) = &text_child.data.borrow().value { match text @@ -235,7 +235,6 @@ fn match_node_value<'a>( node.detach(); } } - } } NodeValue::Link(link) => { if link.url.ends_with(".mov") || link.url.ends_with(".mp4") { @@ -341,11 +340,10 @@ pub fn get_docs_info( } else { name.strip_prefix('.').unwrap_or(name) }; - if let Some(entrypoint) = entrypoint { - if key.strip_prefix('/').unwrap_or(key) == entrypoint { + if let Some(entrypoint) = entrypoint + && key.strip_prefix('/').unwrap_or(key) == entrypoint { entrypoint_url = Some(specifier.clone()); } - } rewrite_map.insert(specifier, key.into()); } @@ -397,8 +395,8 @@ fn get_url_rewriter( base.clone() }; - if !is_readme { - if let Some(current_file) = current_file { + if !is_readme + && let Some(current_file) = current_file { let (path, _file) = current_file .specifier .path() @@ -406,7 +404,6 @@ fn get_url_rewriter( .unwrap_or((current_file.specifier.path(), "")); return format!("{base}{path}/{url}"); } - } format!("{base}/{url}") }) @@ -1135,12 +1132,11 @@ impl HrefResolver for DocResolver { let req = jsr_package_req.req(); let mut version_path = Cow::Borrowed(""); - if let Some(range) = req.version_req.range() { - if let Ok(version) = Version::new(&range.to_string()) { + if let Some(range) = req.version_req.range() + && let Ok(version) = Version::new(&range.to_string()) { // If using a specific version, link to it (e.g. prerelease) version_path = Cow::Owned(format!("@{}", version)); } - } let mut internal_path = Cow::Borrowed(""); if let Some(path) = jsr_package_req.sub_path() { diff --git a/api/src/npm/emit.rs b/api/src/npm/emit.rs index 01a2e7913..044ade76d 100644 --- a/api/src/npm/emit.rs +++ b/api/src/npm/emit.rs @@ -68,11 +68,10 @@ pub fn transpile_to_js( emit((&program).into(), &comments, &source_map, &emit_options)?; let mut source = text.into_bytes(); - if let Some(last) = source.last() { - if *last != b'\n' { + if let Some(last) = source.last() + && *last != b'\n' { source.push(b'\n'); } - } source .extend(format!("//# sourceMappingURL={}.map", basename).into_bytes()); @@ -116,11 +115,10 @@ pub fn transpile_to_dts( emit((&program).into(), &comments, &source_map, &emit_options)?; let mut source = text.into_bytes(); - if let Some(last) = source.last() { - if *last != b'\n' { + if let Some(last) = source.last() + && *last != b'\n' { source.push(b'\n'); } - } source.extend(format!("//# sourceMappingURL={}.map", basename).into_bytes()); diff --git a/api/src/npm/import_transform.rs b/api/src/npm/import_transform.rs index 0328b9d19..720dcae99 100644 --- a/api/src/npm/import_transform.rs +++ b/api/src/npm/import_transform.rs @@ -35,14 +35,13 @@ impl VisitMut for ImportRewriteTransformer<'_> { fn visit_mut_named_export(&mut self, node: &mut NamedExport) { node.visit_mut_children_with(self); - if let Some(src) = &node.src { - if let Some(remapped) = self + if let Some(src) = &node.src + && let Some(remapped) = self .specifier_rewriter .rewrite(src.value.as_str(), self.kind) { node.src = Some(Box::new(remapped.into())); } - } } fn visit_mut_export_all(&mut self, node: &mut ExportAll) { @@ -70,9 +69,9 @@ impl VisitMut for ImportRewriteTransformer<'_> { fn visit_mut_call_expr(&mut self, node: &mut CallExpr) { node.visit_mut_children_with(self); - if let Callee::Import(_) = node.callee { - if let Some(arg) = node.args.first() { - if let Expr::Lit(Lit::Str(lit_str)) = *arg.expr.clone() { + if let Callee::Import(_) = node.callee + && let Some(arg) = node.args.first() + && let Expr::Lit(Lit::Str(lit_str)) = *arg.expr.clone() { let maybe_rewritten = self.specifier_rewriter.rewrite(&lit_str.value, self.kind); if let Some(rewritten) = maybe_rewritten { @@ -87,7 +86,5 @@ impl VisitMut for ImportRewriteTransformer<'_> { }; } } - } - } } } diff --git a/api/src/npm/tarball.rs b/api/src/npm/tarball.rs index 3cc16055b..cdf772f26 100644 --- a/api/src/npm/tarball.rs +++ b/api/src/npm/tarball.rs @@ -127,12 +127,11 @@ pub async fn create_npm_tarball<'a>( match js.media_type { deno_ast::MediaType::JavaScript | deno_ast::MediaType::Mjs => { - if let Some(types_dep) = &js.maybe_types_dependency { - if let Resolution::Ok(resolved) = &types_dep.dependency { + if let Some(types_dep) = &js.maybe_types_dependency + && let Resolution::Ok(resolved) = &types_dep.dependency { declaration_rewrites .insert(module.specifier(), resolved.specifier.clone()); } - } } deno_ast::MediaType::Jsx => { let source_specifier = @@ -141,12 +140,11 @@ pub async fn create_npm_tarball<'a>( source_rewrites.insert(module.specifier(), source_specifier); } - if let Some(types_dep) = &js.maybe_types_dependency { - if let Resolution::Ok(resolved) = &types_dep.dependency { + if let Some(types_dep) = &js.maybe_types_dependency + && let Resolution::Ok(resolved) = &types_dep.dependency { declaration_rewrites .insert(module.specifier(), resolved.specifier.clone()); } - } } deno_ast::MediaType::Dts | deno_ast::MediaType::Dmts => { // no extra work needed for these, as they can not have type dependencies @@ -582,20 +580,17 @@ pub fn create_npm_exports( if let Some(source_specifier) = follow_specifier(&specifier, source_rewrites) - { - if source_specifier.scheme() == "file" + && source_specifier.scheme() == "file" && package_files.contains_key(source_specifier.path()) { let new_specifier = relative_import_specifier(&package_json_specifier, source_specifier); conditions.default = Some(new_specifier); } - } if let Some(types_specifier) = follow_specifier(&specifier, declaration_rewrites) - { - if types_specifier.scheme() == "file" + && types_specifier.scheme() == "file" && package_files.contains_key(types_specifier.path()) { let new_specifier = @@ -604,7 +599,6 @@ pub fn create_npm_exports( conditions.types = Some(new_specifier); } } - } npm_exports.insert(key.clone(), conditions); } diff --git a/api/src/tarball.rs b/api/src/tarball.rs index 63cb59c95..b4f736207 100644 --- a/api/src/tarball.rs +++ b/api/src/tarball.rs @@ -247,15 +247,14 @@ pub async fn process_tarball( publish_task_name: publishing_task_scoped_package_name, }); } - if let Some(config_file_version) = config_file.version { - if config_file_version != publishing_task.package_version { + if let Some(config_file_version) = config_file.version + && config_file_version != publishing_task.package_version { return Err(PublishError::ConfigFileVersionMismatch { path: Box::new(publishing_task.config_file.clone()), deno_json_version: Box::new(config_file_version), publish_task_version: Box::new(publishing_task.package_version.clone()), }); } - } let exports = exports_map_from_json(config_file.exports).map_err(|invalid_exports| { diff --git a/api/src/util.rs b/api/src/util.rs index 2318929c6..456ac0b93 100644 --- a/api/src/util.rs +++ b/api/src/util.rs @@ -161,11 +161,10 @@ pub async fn auth_middleware(req: Request) -> ApiResult> { if let Some(token) = db.get_token_by_hash(&crate::token::hash(token)).await? { - if let Some(expires_at) = token.expires_at { - if expires_at < chrono::Utc::now() { + if let Some(expires_at) = token.expires_at + && expires_at < chrono::Utc::now() { return Err(ApiError::InvalidBearerToken); } - } let user = db.get_user(token.user_id).await?.unwrap(); span.record("user.id", field::display(user.id)); @@ -239,8 +238,8 @@ fn extract_token_and_sudo( } } - if let Some(auth) = headers.get(header::AUTHORIZATION) { - if let Ok(auth) = auth.to_str() { + if let Some(auth) = headers.get(header::AUTHORIZATION) + && let Ok(auth) = auth.to_str() { if let Some(token) = auth.strip_prefix("Bearer ") { return Some((AuthorizationToken::Bearer(token), sudo)); } @@ -248,7 +247,6 @@ fn extract_token_and_sudo( return Some((AuthorizationToken::GithubOIDC(token), sudo)); } } - } None } From da3bcf95bab103502c866e101648ca95579eff02 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 17 Sep 2025 15:17:15 -0400 Subject: [PATCH 7/8] clippy again --- api/src/analysis.rs | 36 +++--- api/src/api/errors.rs | 13 +- api/src/api/package.rs | 79 ++++++------ api/src/api/self_user.rs | 11 +- api/src/api/tickets.rs | 41 +++---- api/src/db/database.rs | 34 +++--- api/src/docs.rs | 205 ++++++++++++++++---------------- api/src/gcp.rs | 8 +- api/src/npm/emit.rs | 14 ++- api/src/npm/import_transform.rs | 37 +++--- api/src/npm/tarball.rs | 44 +++---- api/src/tarball.rs | 15 +-- api/src/tasks.rs | 4 +- api/src/util.rs | 22 ++-- 14 files changed, 292 insertions(+), 271 deletions(-) diff --git a/api/src/analysis.rs b/api/src/analysis.rs index d5abb2f5f..5ffe5cb2a 100644 --- a/api/src/analysis.rs +++ b/api/src/analysis.rs @@ -429,24 +429,24 @@ impl deno_graph::source::Resolver for JsrResolver { ) -> Result { if let Ok(package_ref) = JsrPackageReqReference::from_str(specifier_text) && self.member.name == package_ref.req().name - && self - .member - .version - .as_ref() - .map(|v| package_ref.req().version_req.matches(v)) - .unwrap_or(true) - { - let export_name = package_ref.sub_path().unwrap_or("."); - let Some(export) = self.member.exports.get(export_name) else { - return Err(deno_graph::source::ResolveError::Other( - JsErrorBox::generic(format!( - "export '{}' not found in jsr:{}", - export_name, self.member.name - )), - )); - }; - return Ok(self.member.base.join(export).unwrap()); - } + && self + .member + .version + .as_ref() + .map(|v| package_ref.req().version_req.matches(v)) + .unwrap_or(true) + { + let export_name = package_ref.sub_path().unwrap_or("."); + let Some(export) = self.member.exports.get(export_name) else { + return Err(deno_graph::source::ResolveError::Other( + JsErrorBox::generic(format!( + "export '{}' not found in jsr:{}", + export_name, self.member.name + )), + )); + }; + return Ok(self.member.base.join(export).unwrap()); + } Ok(deno_graph::resolve_import( specifier_text, diff --git a/api/src/api/errors.rs b/api/src/api/errors.rs index 62e4d558b..52affa89b 100644 --- a/api/src/api/errors.rs +++ b/api/src/api/errors.rs @@ -257,13 +257,14 @@ errors!( pub fn map_unique_violation(err: sqlx::Error, new_err: ApiError) -> ApiError { if let Some(db_err) = err.as_database_error() - && let Some(code) = db_err.code() { - // Code 23505 is unique_violation. - // See https://www.postgresql.org/docs/13/errcodes-appendix.html - if code == "23505" { - return new_err; - } + && let Some(code) = db_err.code() + { + // Code 23505 is unique_violation. + // See https://www.postgresql.org/docs/13/errcodes-appendix.html + if code == "23505" { + return new_err; } + } err.into() } diff --git a/api/src/api/package.rs b/api/src/api/package.rs index 1c0a63a2f..e05d0e67f 100644 --- a/api/src/api/package.rs +++ b/api/src/api/package.rs @@ -776,12 +776,13 @@ pub async fn version_publish_handler( // If there is a content-length header, check it isn't too big. // We don't rely on this, we will also check MAX_PAYLOAD_SIZE later. if let Some(size) = req.body().size_hint().upper() - && size > MAX_PUBLISH_TARBALL_SIZE { - return Err(ApiError::TarballSizeLimitExceeded { - size, - max_size: MAX_PUBLISH_TARBALL_SIZE, - }); - } + && size > MAX_PUBLISH_TARBALL_SIZE + { + return Err(ApiError::TarballSizeLimitExceeded { + size, + max_size: MAX_PUBLISH_TARBALL_SIZE, + }); + } // Ensure the upload is gzip encoded. match req.headers().get(hyper::header::CONTENT_ENCODING) { @@ -869,13 +870,14 @@ pub async fn version_publish_handler( let hash = hash.lock().unwrap().take().unwrap().finalize(); let hash = format!("sha256-{:02x}", hash); if let Some(tarball_hash) = access_restriction.tarball_hash - && tarball_hash != hash { - error!( - "Tarball hash mismatch: expected {}, got {}", - tarball_hash, hash - ); - return Err(ApiError::MissingPermission); - } + && tarball_hash != hash + { + error!( + "Tarball hash mismatch: expected {}, got {}", + tarball_hash, hash + ); + return Err(ApiError::MissingPermission); + } // If the upload failed due to the size limit, we can cancel the task. let total_size = total_size.load(Ordering::SeqCst); @@ -1829,22 +1831,23 @@ impl DepTreeLoader { }; if version.is_none() - && let Some(captures) = JSR_DEP_META_RE.captures(path.as_str()) { - let version = captures.name("version").unwrap(); - let meta = - serde_json::from_slice::(&bytes).unwrap(); - - let mut lock = exports.lock().await; - lock.insert( - format!( - "@{}/{}@{}", - scope.as_str(), - package.as_str(), - version.as_str() - ), - meta.exports, - ); - } + && let Some(captures) = JSR_DEP_META_RE.captures(path.as_str()) + { + let version = captures.name("version").unwrap(); + let meta = + serde_json::from_slice::(&bytes).unwrap(); + + let mut lock = exports.lock().await; + lock.insert( + format!( + "@{}/{}@{}", + scope.as_str(), + package.as_str(), + version.as_str() + ), + meta.exports, + ); + } Ok(Some(deno_graph::source::LoadResponse::Module { content: bytes.to_vec().into(), @@ -2157,18 +2160,20 @@ impl<'a> GraphDependencyCollector<'a> { Module::Js(module) => { if let Some(types_dep) = &module.maybe_types_dependency && let Some(child) = self.build_resolved_info(&types_dep.dependency) + { + children.insert(child); + } + for dep in module.dependencies.values() { + if !dep.maybe_code.is_none() + && let Some(child) = self.build_resolved_info(&dep.maybe_code) { children.insert(child); } - for dep in module.dependencies.values() { - if !dep.maybe_code.is_none() - && let Some(child) = self.build_resolved_info(&dep.maybe_code) { - children.insert(child); - } if !dep.maybe_type.is_none() - && let Some(child) = self.build_resolved_info(&dep.maybe_type) { - children.insert(child); - } + && let Some(child) = self.build_resolved_info(&dep.maybe_type) + { + children.insert(child); + } } } Module::Json(_) diff --git a/api/src/api/self_user.rs b/api/src/api/self_user.rs index 23b4dc8a0..b7244fc39 100644 --- a/api/src/api/self_user.rs +++ b/api/src/api/self_user.rs @@ -210,11 +210,12 @@ async fn create_token( } if let Some(permissions) = permissions.as_ref() - && permissions.0.len() != 1 { - return Err(ApiError::MalformedRequest { - msg: "permissions must contain exactly one element".into(), - }); - } + && permissions.0.len() != 1 + { + return Err(ApiError::MalformedRequest { + msg: "permissions must contain exactly one element".into(), + }); + } let iam = req.iam(); let user = iam.check_authorization_approve_access()?; diff --git a/api/src/api/tickets.rs b/api/src/api/tickets.rs index 7ecf4be89..bb3ed86b4 100644 --- a/api/src/api/tickets.rs +++ b/api/src/api/tickets.rs @@ -127,27 +127,28 @@ pub async fn post_message_handler( // only send email to ticket creator if the message was not sent by ticket creator if creator.id != message_author.id - && let Some(email) = &creator.email { - let email_sender = req.data::>().unwrap(); - let registry_url = req.data::().unwrap(); - if let Some(email_sender) = email_sender { - let email_args = EmailArgs::SupportTicketMessage { - ticket_id: Cow::Owned(ticket.id.to_string()), - name: Cow::Owned(creator.name), - content: Cow::Borrowed(&message.message), - registry_url: Cow::Borrowed(registry_url.0.as_str()), - registry_name: Cow::Borrowed(&email_sender.from_name), - support_email: Cow::Borrowed(&email_sender.from), - }; - email_sender - .send(email.clone(), email_args) - .await - .map_err(|e| { - tracing::error!("failed to send email: {:?}", e); - ApiError::InternalServerError - })?; - } + && let Some(email) = &creator.email + { + let email_sender = req.data::>().unwrap(); + let registry_url = req.data::().unwrap(); + if let Some(email_sender) = email_sender { + let email_args = EmailArgs::SupportTicketMessage { + ticket_id: Cow::Owned(ticket.id.to_string()), + name: Cow::Owned(creator.name), + content: Cow::Borrowed(&message.message), + registry_url: Cow::Borrowed(registry_url.0.as_str()), + registry_name: Cow::Borrowed(&email_sender.from_name), + support_email: Cow::Borrowed(&email_sender.from), + }; + email_sender + .send(email.clone(), email_args) + .await + .map_err(|e| { + tracing::error!("failed to send email: {:?}", e); + ApiError::InternalServerError + })?; } + } Ok((message, message_author).into()) } diff --git a/api/src/db/database.rs b/api/src/db/database.rs index bcd2fc9f9..4e1ec0baa 100644 --- a/api/src/db/database.rs +++ b/api/src/db/database.rs @@ -557,9 +557,10 @@ impl Database { Ok(package) => package, Err(err) => { if let Some(dberr) = err.as_database_error() - && dberr.is_unique_violation() { - return Ok(CreatePackageResult::AlreadyExists); - } + && dberr.is_unique_violation() + { + return Ok(CreatePackageResult::AlreadyExists); + } return Err(err); } }; @@ -2722,9 +2723,10 @@ impl Database { } Err(err) => { if let Some(dberr) = err.as_database_error() - && dberr.is_foreign_key_violation() { - return Ok(false); - } + && dberr.is_foreign_key_violation() + { + return Ok(false); + } Err(err) } } @@ -2772,9 +2774,10 @@ impl Database { } Err(err) => { if let Some(dberr) = err.as_database_error() - && dberr.is_foreign_key_violation() { - return Ok(false); - } + && dberr.is_foreign_key_violation() + { + return Ok(false); + } Err(err) } } @@ -2887,9 +2890,9 @@ impl Database { if !scope_member.is_admin && let Some(result) = self.transfer_scope(scope, is_creator, &mut tx).await? - { - return Ok(result); - } + { + return Ok(result); + } tx.commit().await?; @@ -3589,9 +3592,10 @@ impl Database { .await?; if let Some(authorization) = &maybe_authorization - && authorization.user_id.is_some() { - tx.commit().await?; - } + && authorization.user_id.is_some() + { + tx.commit().await?; + } Ok(maybe_authorization) } diff --git a/api/src/docs.rs b/api/src/docs.rs index 14867fbc6..a1b0fdcac 100644 --- a/api/src/docs.rs +++ b/api/src/docs.rs @@ -139,102 +139,102 @@ fn match_node_value<'a>( match &node.data.borrow().value { NodeValue::BlockQuote => { if let Some(paragraph_child) = node.first_child() - && paragraph_child.data.borrow().value == NodeValue::Paragraph { - let alert = paragraph_child.first_child().and_then(|text_child| { - if let NodeValue::Text(text) = &text_child.data.borrow().value { - match text - .split_once(' ') - .map_or((text.as_str(), None), |(kind, title)| { - (kind, Some(title)) - }) { - ("[!NOTE]", title) => { - Some((Alert::Note, title.unwrap_or("Note").to_string())) - } - ("[!TIP]", title) => { - Some((Alert::Tip, title.unwrap_or("Tip").to_string())) - } - ("[!IMPORTANT]", title) => Some(( - Alert::Important, - title.unwrap_or("Important").to_string(), - )), - ("[!WARNING]", title) => { - Some((Alert::Warning, title.unwrap_or("Warning").to_string())) - } - ("[!CAUTION]", title) => { - Some((Alert::Caution, title.unwrap_or("Caution").to_string())) - } - _ => None, + && paragraph_child.data.borrow().value == NodeValue::Paragraph + { + let alert = paragraph_child.first_child().and_then(|text_child| { + if let NodeValue::Text(text) = &text_child.data.borrow().value { + match text + .split_once(' ') + .map_or((text.as_str(), None), |(kind, title)| { + (kind, Some(title)) + }) { + ("[!NOTE]", title) => { + Some((Alert::Note, title.unwrap_or("Note").to_string())) } - } else { - None + ("[!TIP]", title) => { + Some((Alert::Tip, title.unwrap_or("Tip").to_string())) + } + ("[!IMPORTANT]", title) => Some(( + Alert::Important, + title.unwrap_or("Important").to_string(), + )), + ("[!WARNING]", title) => { + Some((Alert::Warning, title.unwrap_or("Warning").to_string())) + } + ("[!CAUTION]", title) => { + Some((Alert::Caution, title.unwrap_or("Caution").to_string())) + } + _ => None, } - }); + } else { + None + } + }); - if let Some((alert, title)) = alert { - let start_col = node.data.borrow().sourcepos.start; + if let Some((alert, title)) = alert { + let start_col = node.data.borrow().sourcepos.start; - let document = arena.alloc(AstNode::new(RefCell::new(Ast::new( - NodeValue::Document, - start_col, - )))); + let document = arena.alloc(AstNode::new(RefCell::new(Ast::new( + NodeValue::Document, + start_col, + )))); - let node_without_alert = arena.alloc(AstNode::new(RefCell::new( - Ast::new(NodeValue::Paragraph, start_col), - ))); + let node_without_alert = arena.alloc(AstNode::new(RefCell::new( + Ast::new(NodeValue::Paragraph, start_col), + ))); - for child_node in paragraph_child.children().skip(1) { - node_without_alert.append(child_node); - } - for child_node in node.children().skip(1) { - node_without_alert.append(child_node); - } + for child_node in paragraph_child.children().skip(1) { + node_without_alert.append(child_node); + } + for child_node in node.children().skip(1) { + node_without_alert.append(child_node); + } - document.append(node_without_alert); + document.append(node_without_alert); - let html = - deno_doc::html::comrak::render_node(document, options, plugins); + let html = + deno_doc::html::comrak::render_node(document, options, plugins); - let alert_title = match alert { - Alert::Note => { - format!("{}{title}", include_str!("./docs/info-circle.svg")) - } - Alert::Tip => { - format!("{}{title}", include_str!("./docs/bulb.svg")) - } - Alert::Important => { - format!("{}{title}", include_str!("./docs/warning-message.svg")) - } - Alert::Warning => format!( - "{}{title}", - include_str!("./docs/warning-triangle.svg") - ), - Alert::Caution => { - format!("{}{title}", include_str!("./docs/warning-octagon.svg")) - } - }; - - let html = format!( - r#"
{alert_title}
{html}
"#, - match alert { - Alert::Note => "note", - Alert::Tip => "tip", - Alert::Important => "important", - Alert::Warning => "warning", - Alert::Caution => "caution", - } - ); - - let alert_node = arena.alloc(AstNode::new(RefCell::new(Ast::new( - NodeValue::HtmlBlock(comrak::nodes::NodeHtmlBlock { - block_type: 6, - literal: html, - }), - start_col, - )))); - node.insert_before(alert_node); - node.detach(); - } + let alert_title = match alert { + Alert::Note => { + format!("{}{title}", include_str!("./docs/info-circle.svg")) + } + Alert::Tip => { + format!("{}{title}", include_str!("./docs/bulb.svg")) + } + Alert::Important => { + format!("{}{title}", include_str!("./docs/warning-message.svg")) + } + Alert::Warning => { + format!("{}{title}", include_str!("./docs/warning-triangle.svg")) + } + Alert::Caution => { + format!("{}{title}", include_str!("./docs/warning-octagon.svg")) + } + }; + + let html = format!( + r#"
{alert_title}
{html}
"#, + match alert { + Alert::Note => "note", + Alert::Tip => "tip", + Alert::Important => "important", + Alert::Warning => "warning", + Alert::Caution => "caution", + } + ); + + let alert_node = arena.alloc(AstNode::new(RefCell::new(Ast::new( + NodeValue::HtmlBlock(comrak::nodes::NodeHtmlBlock { + block_type: 6, + literal: html, + }), + start_col, + )))); + node.insert_before(alert_node); + node.detach(); } + } } NodeValue::Link(link) => { if link.url.ends_with(".mov") || link.url.ends_with(".mp4") { @@ -341,9 +341,10 @@ pub fn get_docs_info( name.strip_prefix('.').unwrap_or(name) }; if let Some(entrypoint) = entrypoint - && key.strip_prefix('/').unwrap_or(key) == entrypoint { - entrypoint_url = Some(specifier.clone()); - } + && key.strip_prefix('/').unwrap_or(key) == entrypoint + { + entrypoint_url = Some(specifier.clone()); + } rewrite_map.insert(specifier, key.into()); } @@ -395,15 +396,14 @@ fn get_url_rewriter( base.clone() }; - if !is_readme - && let Some(current_file) = current_file { - let (path, _file) = current_file - .specifier - .path() - .rsplit_once('/') - .unwrap_or((current_file.specifier.path(), "")); - return format!("{base}{path}/{url}"); - } + if !is_readme && let Some(current_file) = current_file { + let (path, _file) = current_file + .specifier + .path() + .rsplit_once('/') + .unwrap_or((current_file.specifier.path(), "")); + return format!("{base}{path}/{url}"); + } format!("{base}/{url}") }) @@ -1133,10 +1133,11 @@ impl HrefResolver for DocResolver { let mut version_path = Cow::Borrowed(""); if let Some(range) = req.version_req.range() - && let Ok(version) = Version::new(&range.to_string()) { - // If using a specific version, link to it (e.g. prerelease) - version_path = Cow::Owned(format!("@{}", version)); - } + && let Ok(version) = Version::new(&range.to_string()) + { + // If using a specific version, link to it (e.g. prerelease) + version_path = Cow::Owned(format!("@{}", version)); + } let mut internal_path = Cow::Borrowed(""); if let Some(path) = jsr_package_req.sub_path() { diff --git a/api/src/gcp.rs b/api/src/gcp.rs index 91d83320d..6efd2fef3 100644 --- a/api/src/gcp.rs +++ b/api/src/gcp.rs @@ -707,10 +707,10 @@ impl FakeGcsTester { #[cfg(test)] impl Drop for FakeGcsTester { fn drop(&mut self) { - if let Some(proc) = self.proc.as_mut() { - if let Err(err) = proc.kill() { - eprintln!("failed to kill FakeGcsTester on drop: {err}"); - } + if let Some(proc) = self.proc.as_mut() + && let Err(err) = proc.kill() + { + eprintln!("failed to kill FakeGcsTester on drop: {err}"); } } } diff --git a/api/src/npm/emit.rs b/api/src/npm/emit.rs index 044ade76d..eec6a853a 100644 --- a/api/src/npm/emit.rs +++ b/api/src/npm/emit.rs @@ -69,9 +69,10 @@ pub fn transpile_to_js( let mut source = text.into_bytes(); if let Some(last) = source.last() - && *last != b'\n' { - source.push(b'\n'); - } + && *last != b'\n' + { + source.push(b'\n'); + } source .extend(format!("//# sourceMappingURL={}.map", basename).into_bytes()); @@ -116,9 +117,10 @@ pub fn transpile_to_dts( let mut source = text.into_bytes(); if let Some(last) = source.last() - && *last != b'\n' { - source.push(b'\n'); - } + && *last != b'\n' + { + source.push(b'\n'); + } source.extend(format!("//# sourceMappingURL={}.map", basename).into_bytes()); diff --git a/api/src/npm/import_transform.rs b/api/src/npm/import_transform.rs index 720dcae99..1d0d804b6 100644 --- a/api/src/npm/import_transform.rs +++ b/api/src/npm/import_transform.rs @@ -39,9 +39,9 @@ impl VisitMut for ImportRewriteTransformer<'_> { && let Some(remapped) = self .specifier_rewriter .rewrite(src.value.as_str(), self.kind) - { - node.src = Some(Box::new(remapped.into())); - } + { + node.src = Some(Box::new(remapped.into())); + } } fn visit_mut_export_all(&mut self, node: &mut ExportAll) { @@ -71,20 +71,21 @@ impl VisitMut for ImportRewriteTransformer<'_> { if let Callee::Import(_) = node.callee && let Some(arg) = node.args.first() - && let Expr::Lit(Lit::Str(lit_str)) = *arg.expr.clone() { - let maybe_rewritten = - self.specifier_rewriter.rewrite(&lit_str.value, self.kind); - if let Some(rewritten) = maybe_rewritten { - let replacer = Expr::Lit(Lit::Str(Str { - span: lit_str.span, - value: rewritten.into(), - raw: None, - })); - node.args[0] = ExprOrSpread { - spread: None, - expr: Box::new(replacer), - }; - } - } + && let Expr::Lit(Lit::Str(lit_str)) = *arg.expr.clone() + { + let maybe_rewritten = + self.specifier_rewriter.rewrite(&lit_str.value, self.kind); + if let Some(rewritten) = maybe_rewritten { + let replacer = Expr::Lit(Lit::Str(Str { + span: lit_str.span, + value: rewritten.into(), + raw: None, + })); + node.args[0] = ExprOrSpread { + spread: None, + expr: Box::new(replacer), + }; + } + } } } diff --git a/api/src/npm/tarball.rs b/api/src/npm/tarball.rs index cdf772f26..9a3096a76 100644 --- a/api/src/npm/tarball.rs +++ b/api/src/npm/tarball.rs @@ -128,10 +128,11 @@ pub async fn create_npm_tarball<'a>( match js.media_type { deno_ast::MediaType::JavaScript | deno_ast::MediaType::Mjs => { if let Some(types_dep) = &js.maybe_types_dependency - && let Resolution::Ok(resolved) = &types_dep.dependency { - declaration_rewrites - .insert(module.specifier(), resolved.specifier.clone()); - } + && let Resolution::Ok(resolved) = &types_dep.dependency + { + declaration_rewrites + .insert(module.specifier(), resolved.specifier.clone()); + } } deno_ast::MediaType::Jsx => { let source_specifier = @@ -141,10 +142,11 @@ pub async fn create_npm_tarball<'a>( } if let Some(types_dep) = &js.maybe_types_dependency - && let Resolution::Ok(resolved) = &types_dep.dependency { - declaration_rewrites - .insert(module.specifier(), resolved.specifier.clone()); - } + && let Resolution::Ok(resolved) = &types_dep.dependency + { + declaration_rewrites + .insert(module.specifier(), resolved.specifier.clone()); + } } deno_ast::MediaType::Dts | deno_ast::MediaType::Dmts => { // no extra work needed for these, as they can not have type dependencies @@ -581,24 +583,24 @@ pub fn create_npm_exports( if let Some(source_specifier) = follow_specifier(&specifier, source_rewrites) && source_specifier.scheme() == "file" - && package_files.contains_key(source_specifier.path()) - { - let new_specifier = - relative_import_specifier(&package_json_specifier, source_specifier); - conditions.default = Some(new_specifier); - } + && package_files.contains_key(source_specifier.path()) + { + let new_specifier = + relative_import_specifier(&package_json_specifier, source_specifier); + conditions.default = Some(new_specifier); + } if let Some(types_specifier) = follow_specifier(&specifier, declaration_rewrites) && types_specifier.scheme() == "file" - && package_files.contains_key(types_specifier.path()) - { - let new_specifier = - relative_import_specifier(&package_json_specifier, types_specifier); - if conditions.default.as_ref() != Some(&new_specifier) { - conditions.types = Some(new_specifier); - } + && package_files.contains_key(types_specifier.path()) + { + let new_specifier = + relative_import_specifier(&package_json_specifier, types_specifier); + if conditions.default.as_ref() != Some(&new_specifier) { + conditions.types = Some(new_specifier); } + } npm_exports.insert(key.clone(), conditions); } diff --git a/api/src/tarball.rs b/api/src/tarball.rs index b4f736207..136264565 100644 --- a/api/src/tarball.rs +++ b/api/src/tarball.rs @@ -248,13 +248,14 @@ pub async fn process_tarball( }); } if let Some(config_file_version) = config_file.version - && config_file_version != publishing_task.package_version { - return Err(PublishError::ConfigFileVersionMismatch { - path: Box::new(publishing_task.config_file.clone()), - deno_json_version: Box::new(config_file_version), - publish_task_version: Box::new(publishing_task.package_version.clone()), - }); - } + && config_file_version != publishing_task.package_version + { + return Err(PublishError::ConfigFileVersionMismatch { + path: Box::new(publishing_task.config_file.clone()), + deno_json_version: Box::new(config_file_version), + publish_task_version: Box::new(publishing_task.package_version.clone()), + }); + } let exports = exports_map_from_json(config_file.exports).map_err(|invalid_exports| { diff --git a/api/src/tasks.rs b/api/src/tasks.rs index 4132ce3f7..4c54aa9d9 100644 --- a/api/src/tasks.rs +++ b/api/src/tasks.rs @@ -669,7 +669,7 @@ mod tests { .get_package_versions_downloads_24h( &std, &fs, - &[v0_215_0.clone()], + std::slice::from_ref(&v0_215_0), "2024-06-01T00:00:00Z".parse().unwrap(), "2024-07-31T00:00:00Z".parse().unwrap(), ) @@ -687,7 +687,7 @@ mod tests { .get_package_versions_downloads_24h( &luca, &flag, - &[v1_0_0.clone()], + std::slice::from_ref(&v1_0_0), "2024-06-01T00:00:00Z".parse().unwrap(), "2024-07-31T00:00:00Z".parse().unwrap(), ) diff --git a/api/src/util.rs b/api/src/util.rs index 456ac0b93..b68e61700 100644 --- a/api/src/util.rs +++ b/api/src/util.rs @@ -162,9 +162,10 @@ pub async fn auth_middleware(req: Request) -> ApiResult> { db.get_token_by_hash(&crate::token::hash(token)).await? { if let Some(expires_at) = token.expires_at - && expires_at < chrono::Utc::now() { - return Err(ApiError::InvalidBearerToken); - } + && expires_at < chrono::Utc::now() + { + return Err(ApiError::InvalidBearerToken); + } let user = db.get_user(token.user_id).await?.unwrap(); span.record("user.id", field::display(user.id)); @@ -239,14 +240,15 @@ fn extract_token_and_sudo( } if let Some(auth) = headers.get(header::AUTHORIZATION) - && let Ok(auth) = auth.to_str() { - if let Some(token) = auth.strip_prefix("Bearer ") { - return Some((AuthorizationToken::Bearer(token), sudo)); - } - if let Some(token) = auth.strip_prefix("githuboidc ") { - return Some((AuthorizationToken::GithubOIDC(token), sudo)); - } + && let Ok(auth) = auth.to_str() + { + if let Some(token) = auth.strip_prefix("Bearer ") { + return Some((AuthorizationToken::Bearer(token), sudo)); } + if let Some(token) = auth.strip_prefix("githuboidc ") { + return Some((AuthorizationToken::GithubOIDC(token), sudo)); + } + } None } From 93e45bb5417f9d5c875a9e60231b0ab0455f07d3 Mon Sep 17 00:00:00 2001 From: Leo Kettmeir Date: Wed, 17 Sep 2025 21:39:13 +0200 Subject: [PATCH 8/8] fix --- Cargo.lock | 4 ++-- api/Cargo.toml | 4 ++-- api/src/analysis.rs | 2 ++ api/src/api/package.rs | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 83014260a..401c23d1d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1032,9 +1032,9 @@ dependencies = [ [[package]] name = "deno_graph" -version = "0.100.0" +version = "0.100.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158e28e9dea84cf648762e4a6892f15124bae85ef4e7934058587ec85bcc0e70" +checksum = "0acfb48cc2e5a63b1c3501f2243e6898fb1b4518e1d0674b3344b11631c9d0ba" dependencies = [ "async-trait", "boxed_error", diff --git a/api/Cargo.toml b/api/Cargo.toml index a83282c94..fc50f086e 100644 --- a/api/Cargo.toml +++ b/api/Cargo.toml @@ -78,9 +78,9 @@ deno_semver = "0.9.0" flate2 = "1" thiserror = "2" async-tar = "0.4.2" -deno_graph = "0.100.0" +deno_graph = "=0.100.1" deno_ast = { version = "0.50.2", features = ["view"] } -deno_doc = { version = "0.183.0", features = ["comrak"] } +deno_doc = { version = "=0.183.0", features = ["comrak"] } deno_error = "0.7.0" comrak = { version = "0.29.0", default-features = false } ammonia = "4.0.0" diff --git a/api/src/analysis.rs b/api/src/analysis.rs index 5ffe5cb2a..92149b977 100644 --- a/api/src/analysis.rs +++ b/api/src/analysis.rs @@ -165,6 +165,7 @@ async fn analyze_package_inner( module_info_cacher: Default::default(), unstable_bytes_imports: false, unstable_text_imports: false, + jsr_metadata_store: None, }, ) .await; @@ -597,6 +598,7 @@ async fn rebuild_npm_tarball_inner( module_info_cacher: Default::default(), unstable_bytes_imports: false, unstable_text_imports: false, + jsr_metadata_store: None, }, ) .await; diff --git a/api/src/api/package.rs b/api/src/api/package.rs index e05d0e67f..99938750c 100644 --- a/api/src/api/package.rs +++ b/api/src/api/package.rs @@ -2005,6 +2005,7 @@ async fn analyze_deps_tree( module_info_cacher: Default::default(), unstable_bytes_imports: false, unstable_text_imports: false, + jsr_metadata_store: None, }, ) .await;