diff --git a/.github/workflows/label-issue.yaml b/.github/workflows/label-issue.yaml index 16a6c5783..d8eac39e7 100644 --- a/.github/workflows/label-issue.yaml +++ b/.github/workflows/label-issue.yaml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Label documentation issues - uses: github/issue-labeler@50f02baa9587156323c3ca2c1ed396d220796ba6 + uses: github/issue-labeler@411dd122ee7386163194b2a61132422e54ec0d99 with: repo-token: ${{ secrets.GITHUB_TOKEN }} configuration-path: .github/issue-labeler.yaml diff --git a/.github/workflows/lunaria.yml b/.github/workflows/lunaria.yml index e10de0d47..1cd6151e2 100644 --- a/.github/workflows/lunaria.yml +++ b/.github/workflows/lunaria.yml @@ -19,7 +19,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: # Necessary for Lunaria to work properly # Makes the action clone the entire git history @@ -41,4 +41,4 @@ jobs: - run: pnpm install - name: Generate Lunaria Overview - uses: yanthomasdev/lunaria-action@v0.1.0 \ No newline at end of file + uses: yanthomasdev/lunaria-action@06ad5ab2704d030708baf3b279ca0446b418e853 # v0.1.0 \ No newline at end of file diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 23230b6fb..d8349debb 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -1,33 +1,37 @@ name: Playwright Tests on: push: - branches: main + branches: + - main pull_request: - branches: main + branches: + - main +env: + E2E: true jobs: test: timeout-minutes: 60 runs-on: ubuntu-latest steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 - with: - node-version: lts/* - - name: Install dependencies - run: npm install -g pnpm && pnpm install - - name: Build - run: pnpm build - - name: Install Playwright Browsers - run: pnpm exec playwright install --with-deps + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: lts/* + - name: Install dependencies + run: npm install -g pnpm && pnpm install + - name: Build + run: pnpm build + - name: Install Playwright Browsers + run: pnpm exec playwright install --with-deps - - name: Start server - run: pnpm preview & + - name: Start server + run: pnpm preview & - - name: Run Playwright tests - run: pnpm exec playwright test - - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 - if: ${{ !cancelled() }} - with: - name: playwright-report - path: playwright-report/ - retention-days: 30 + - name: Run Playwright tests + run: pnpm exec playwright test + - uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0 + if: ${{ !cancelled() }} + with: + name: playwright-report + path: playwright-report/ + retention-days: 30 diff --git a/Cargo.lock b/Cargo.lock index 842ae4b7f..a8ed3fcb3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -28,9 +28,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "async-trait" @@ -40,7 +40,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -51,7 +51,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "biome_analyze" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_deserialize", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "biome_aria" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_aria_metadata", ] @@ -103,7 +103,7 @@ dependencies = [ [[package]] name = "biome_aria_metadata" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_deserialize", "biome_deserialize_macros", @@ -113,13 +113,13 @@ dependencies = [ "quote", "serde", "serde_json", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "biome_cli" version = "0.0.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "anyhow", "biome_analyze", @@ -167,7 +167,7 @@ dependencies = [ [[package]] name = "biome_configuration" version = "0.0.1" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_analyze", "biome_console", @@ -202,7 +202,7 @@ dependencies = [ [[package]] name = "biome_console" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_markup", "biome_text_size", @@ -216,7 +216,7 @@ dependencies = [ [[package]] name = "biome_control_flow" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_rowan", "rustc-hash", @@ -225,7 +225,7 @@ dependencies = [ [[package]] name = "biome_css_analyze" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_analyze", "biome_console", @@ -246,7 +246,7 @@ dependencies = [ [[package]] name = "biome_css_factory" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_css_syntax", "biome_rowan", @@ -255,7 +255,7 @@ dependencies = [ [[package]] name = "biome_css_formatter" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_css_syntax", "biome_diagnostics", @@ -268,7 +268,7 @@ dependencies = [ [[package]] name = "biome_css_parser" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_css_factory", @@ -283,7 +283,7 @@ dependencies = [ [[package]] name = "biome_css_semantic" version = "0.0.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_css_syntax", "biome_rowan", @@ -293,7 +293,7 @@ dependencies = [ [[package]] name = "biome_css_syntax" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_rowan", "biome_string_case", @@ -304,7 +304,7 @@ dependencies = [ [[package]] name = "biome_deserialize" version = "0.6.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_deserialize_macros", @@ -322,7 +322,7 @@ dependencies = [ [[package]] name = "biome_deserialize_macros" version = "0.6.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_string_case", "proc-macro-error", @@ -334,7 +334,7 @@ dependencies = [ [[package]] name = "biome_diagnostics" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "backtrace", "biome_console", @@ -357,7 +357,7 @@ dependencies = [ [[package]] name = "biome_diagnostics_categories" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "quote", "schemars", @@ -367,7 +367,7 @@ dependencies = [ [[package]] name = "biome_diagnostics_macros" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "proc-macro-error", "proc-macro2", @@ -378,7 +378,7 @@ dependencies = [ [[package]] name = "biome_flags" version = "0.0.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", ] @@ -386,7 +386,7 @@ dependencies = [ [[package]] name = "biome_formatter" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_deserialize", @@ -408,7 +408,7 @@ dependencies = [ [[package]] name = "biome_fs" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_diagnostics", "crossbeam", @@ -428,7 +428,7 @@ dependencies = [ [[package]] name = "biome_glob" version = "0.1.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_deserialize", "biome_text_size", @@ -440,7 +440,7 @@ dependencies = [ [[package]] name = "biome_graphql_analyze" version = "0.0.1" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_analyze", "biome_console", @@ -458,7 +458,7 @@ dependencies = [ [[package]] name = "biome_graphql_factory" version = "0.1.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_graphql_syntax", "biome_rowan", @@ -467,7 +467,7 @@ dependencies = [ [[package]] name = "biome_graphql_formatter" version = "0.1.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_diagnostics", "biome_formatter", @@ -479,7 +479,7 @@ dependencies = [ [[package]] name = "biome_graphql_parser" version = "0.1.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_diagnostics", @@ -495,7 +495,7 @@ dependencies = [ [[package]] name = "biome_graphql_syntax" version = "0.1.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_rowan", "biome_string_case", @@ -506,7 +506,7 @@ dependencies = [ [[package]] name = "biome_grit_factory" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_grit_syntax", "biome_rowan", @@ -515,7 +515,7 @@ dependencies = [ [[package]] name = "biome_grit_formatter" version = "0.0.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_formatter", "biome_grit_syntax", @@ -525,7 +525,7 @@ dependencies = [ [[package]] name = "biome_grit_parser" version = "0.1.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_diagnostics", @@ -543,7 +543,7 @@ dependencies = [ [[package]] name = "biome_grit_patterns" version = "0.0.1" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_diagnostics", @@ -566,7 +566,7 @@ dependencies = [ [[package]] name = "biome_grit_syntax" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_rowan", "biome_string_case", @@ -576,7 +576,7 @@ dependencies = [ [[package]] name = "biome_html_factory" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_html_syntax", "biome_rowan", @@ -585,7 +585,7 @@ dependencies = [ [[package]] name = "biome_html_formatter" version = "0.0.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_diagnostics_categories", "biome_formatter", @@ -597,7 +597,7 @@ dependencies = [ [[package]] name = "biome_html_parser" version = "0.0.1" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_diagnostics", @@ -612,7 +612,7 @@ dependencies = [ [[package]] name = "biome_html_syntax" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_rowan", "biome_string_case", @@ -623,7 +623,7 @@ dependencies = [ [[package]] name = "biome_js_analyze" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_analyze", "biome_aria", @@ -657,7 +657,7 @@ dependencies = [ [[package]] name = "biome_js_factory" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_js_syntax", "biome_rowan", @@ -666,7 +666,7 @@ dependencies = [ [[package]] name = "biome_js_formatter" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_deserialize", "biome_deserialize_macros", @@ -688,7 +688,7 @@ dependencies = [ [[package]] name = "biome_js_parser" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_diagnostics", @@ -710,7 +710,7 @@ dependencies = [ [[package]] name = "biome_js_semantic" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_js_syntax", "biome_rowan", @@ -722,7 +722,7 @@ dependencies = [ [[package]] name = "biome_js_syntax" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_aria", "biome_rowan", @@ -735,7 +735,7 @@ dependencies = [ [[package]] name = "biome_json_analyze" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_analyze", "biome_console", @@ -750,7 +750,7 @@ dependencies = [ [[package]] name = "biome_json_factory" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_json_syntax", "biome_rowan", @@ -759,7 +759,7 @@ dependencies = [ [[package]] name = "biome_json_formatter" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_deserialize", "biome_deserialize_macros", @@ -775,7 +775,7 @@ dependencies = [ [[package]] name = "biome_json_parser" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_diagnostics", @@ -791,7 +791,7 @@ dependencies = [ [[package]] name = "biome_json_syntax" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_rowan", "biome_string_case", @@ -802,7 +802,7 @@ dependencies = [ [[package]] name = "biome_lsp" version = "0.0.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "anyhow", "biome_analyze", @@ -827,7 +827,7 @@ dependencies = [ [[package]] name = "biome_lsp_converters" version = "0.1.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "anyhow", "biome_rowan", @@ -838,7 +838,7 @@ dependencies = [ [[package]] name = "biome_markup" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "proc-macro-error", "proc-macro2", @@ -848,7 +848,7 @@ dependencies = [ [[package]] name = "biome_migrate" version = "0.0.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_analyze", "biome_console", @@ -863,7 +863,7 @@ dependencies = [ [[package]] name = "biome_parser" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_diagnostics", @@ -877,7 +877,7 @@ dependencies = [ [[package]] name = "biome_project" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_deserialize", @@ -895,7 +895,7 @@ dependencies = [ [[package]] name = "biome_rowan" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_text_edit", "biome_text_size", @@ -909,7 +909,7 @@ dependencies = [ [[package]] name = "biome_service" version = "0.0.0" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_analyze", "biome_configuration", @@ -968,12 +968,12 @@ dependencies = [ [[package]] name = "biome_string_case" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" [[package]] name = "biome_suppression" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_console", "biome_diagnostics", @@ -983,7 +983,7 @@ dependencies = [ [[package]] name = "biome_text_edit" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "biome_text_size", "schemars", @@ -994,7 +994,7 @@ dependencies = [ [[package]] name = "biome_text_size" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" dependencies = [ "schemars", "serde", @@ -1003,7 +1003,7 @@ dependencies = [ [[package]] name = "biome_unicode_table" version = "0.5.7" -source = "git+https://github.com/biomejs/biome.git?rev=09a04af727b3cdba33ac35837d112adb55726add#09a04af727b3cdba33ac35837d112adb55726add" +source = "git+https://github.com/biomejs/biome.git?rev=6ea885f0cec47a6db48d662cbd828f4f335209ba#6ea885f0cec47a6db48d662cbd828f4f335209ba" [[package]] name = "bitflags" @@ -1048,7 +1048,7 @@ checksum = "cf95d9c7e6aba67f8fc07761091e93254677f4db9e27197adecebc7039a58722" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -1076,9 +1076,9 @@ checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" [[package]] name = "bytemuck" -version = "1.20.0" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" +checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" [[package]] name = "byteorder" @@ -1094,9 +1094,9 @@ checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" [[package]] name = "cc" -version = "1.2.5" +version = "1.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31a0499c1dc64f458ad13872de75c0eb7e3fdb0e67964610c914b034fc5956e" +checksum = "8d6dbb628b8f8555f86d0323c2eb39e3ec81901f4b83e091db8a6a76d316a333" dependencies = [ "shlex", ] @@ -1348,7 +1348,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -1357,12 +1357,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1" -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - [[package]] name = "dyn-clone" version = "1.0.17" @@ -1402,7 +1396,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -1488,7 +1482,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -1737,7 +1731,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -1947,7 +1941,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -2059,9 +2053,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.5" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] @@ -2092,13 +2086,12 @@ checksum = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" [[package]] name = "oxc_resolver" -version = "1.12.0" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c20bb345f290c46058ba650fef7ca2b579612cf2786b927ebad7b8bec0845a7" +checksum = "bed381b6ab4bbfebfc7a011ad43b110ace8d201d02a39c0e09855f16b8f3f741" dependencies = [ "cfg-if", "dashmap 6.1.0", - "dunce", "indexmap 2.7.0", "json-strip-comments", "once_cell", @@ -2174,7 +2167,7 @@ checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -2211,7 +2204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -2276,24 +2269,24 @@ dependencies = [ "newtype-uuid", "quick-xml", "strip-ansi-escapes", - "thiserror 2.0.8", + "thiserror 2.0.9", "uuid", ] [[package]] name = "quick-xml" -version = "0.37.1" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f22f29bdff3987b4d8632ef95fd6424ec7e4e0a57e2f4fc63e489e75357f6a03" +checksum = "165859e9e55f79d67b96c5d96f4e88b6f2695a1972849c15a6a3f5c59fc2c003" dependencies = [ "memchr", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] @@ -2494,7 +2487,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -2505,22 +2498,22 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" -version = "1.0.216" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.216" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -2531,7 +2524,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -2547,9 +2540,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.134" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d" dependencies = [ "indexmap 2.7.0", "itoa", @@ -2566,7 +2559,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -2690,9 +2683,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.90" +version = "2.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "9c786062daee0d6db1132800e623df74274a0a87322d8e183338e01b3d98d058" dependencies = [ "proc-macro2", "quote", @@ -2707,7 +2700,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -2736,11 +2729,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.8" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f5383f3e0071702bf93ab5ee99b52d26936be9dedd9413067cbdcddcb6141a" +checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc" dependencies = [ - "thiserror-impl 2.0.8", + "thiserror-impl 2.0.9", ] [[package]] @@ -2751,18 +2744,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "thiserror-impl" -version = "2.0.8" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f357fcec90b3caef6623a099691be676d033b40a058ac95d2a6ade6fa0c943" +checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -2861,7 +2854,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -2928,7 +2921,7 @@ checksum = "84fd902d4e0b9a4b27f2f440108dc034e1758628a9b702f8ec61ad66355422fa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -2969,7 +2962,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -3038,9 +3031,9 @@ dependencies = [ [[package]] name = "unicase" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-bom" @@ -3177,7 +3170,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", "wasm-bindgen-shared", ] @@ -3199,7 +3192,7 @@ checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3430,7 +3423,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", "synstructure", ] @@ -3452,7 +3445,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -3472,7 +3465,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", "synstructure", ] @@ -3495,5 +3488,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] diff --git a/Cargo.toml b/Cargo.toml index 9981bd4bf..5816da33c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,37 +15,37 @@ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] - anyhow = "1.0.94" - biome_analyze = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_cli = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_configuration = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_console = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_css_analyze = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_css_parser = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_css_syntax = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_deserialize = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_diagnostics = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_fs = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_flags = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_graphql_analyze = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_graphql_parser = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_graphql_syntax = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_js_analyze = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_js_formatter = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_js_parser = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_js_syntax = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_json_analyze = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_json_factory = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_json_formatter = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_json_parser = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_json_syntax = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_rowan = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_service = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_string_case = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } - biome_text_edit = { git = "https://github.com/biomejs/biome.git", rev = "09a04af727b3cdba33ac35837d112adb55726add" } + anyhow = "1.0.95" + biome_analyze = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_cli = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_configuration = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_console = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_css_analyze = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_css_parser = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_css_syntax = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_deserialize = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_diagnostics = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_fs = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_flags = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_graphql_analyze = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_graphql_parser = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_graphql_syntax = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_js_analyze = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_js_formatter = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_js_parser = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_js_syntax = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_json_analyze = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_json_factory = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_json_formatter = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_json_parser = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_json_syntax = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_rowan = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_service = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_string_case = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } + biome_text_edit = { git = "https://github.com/biomejs/biome.git", rev = "6ea885f0cec47a6db48d662cbd828f4f335209ba" } bpaf = { version = "0.9.15", features = ["docgen"] } # If you update this library, be aware of the breaking changes pulldown-cmark = "0.10.3" schemars = "0.8.21" - serde = "1.0.216" - serde_json = "1.0.133" + serde = "1.0.217" + serde_json = "1.0.134" diff --git a/astro.config.ts b/astro.config.ts index 2cac52da7..5453b874d 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -10,52 +10,56 @@ import { version as biomeVersion } from "./node_modules/@biomejs/wasm-web/packag import { version as prettierVersion } from "./node_modules/prettier/package.json"; import { rehypeAutolink } from "./plugins/rehype-autolink"; -const site = "https://biomejs.dev"; +const plugins = [ + starlightBlog({ + title: { + en: "Blog", + ja: "ブログ", + "zh-CN": "博客", + }, + authors: { + conaclos: { + name: "Victorien Elvinger", + picture: "https://avatars.githubusercontent.com/u/2358560?s=96&v=4", + url: "https://twitter.com/Conaclos", + }, + ema: { + name: "Emanuele Stoppa", + picture: "https://avatars.githubusercontent.com/u/602478?v=4", + url: "https://twitter.com/ematipico", + }, + team: { + name: "Biome Core Team, Biome Maintainers", + picture: "/img/logo-avatar.png", + }, + core: { + name: "Biome Core Team", + picture: "/img/logo-avatar.png", + }, + }, + }), +]; + +if (process.env?.E2E !== "true") { + plugins.push( + lunaria({ + route: "i18n-dashboard", + sync: true, + }), + ); +} + // https://astro.build/config export default defineConfig({ - site, + site: "https://biomejs.dev", output: "static", - compressHTML: true, - integrations: [ react(), starlight({ title: "Biome", defaultLocale: "root", - plugins: [ - starlightBlog({ - title: { - en: "Blog", - ja: "ブログ", - "zh-CN": "博客", - }, - authors: { - conaclos: { - name: "Victorien Elvinger", - picture: - "https://avatars.githubusercontent.com/u/2358560?s=96&v=4", - url: "https://twitter.com/Conaclos", - }, - ema: { - name: "Emanuele Stoppa", - picture: "https://avatars.githubusercontent.com/u/602478?v=4", - url: "https://twitter.com/ematipico", - }, - team: { - name: "Biome Core Team, Biome Maintainers", - picture: "/img/logo-avatar.png", - }, - core: { - name: "Biome Core Team", - picture: "/img/logo-avatar.png", - }, - }, - }), - lunaria({ - route: "i18n-dashboard", - }), - ], + plugins, locales: { root: { label: "English", diff --git a/lunaria.config.json b/lunaria.config.json index 21aa82e18..fbcb3e6f7 100644 --- a/lunaria.config.json +++ b/lunaria.config.json @@ -3,7 +3,8 @@ "repository": { "name": "biomejs/website", "branch": "main", - "rootDir": "." + "rootDir": "src/content/docs", + "hosting": "github" }, "dashboard": { "title": "Biome i18n dashboard", @@ -22,6 +23,8 @@ "pattern": "src/content/docs/@lang/@path", "type": "universal", "ignore": [ + "node_modules", + "dist", "src/content/docs/linter/rules/*.{mdx,md}", "src/content/docs/assist/actions/*.{mdx,md}", "src/content/docs/blog/*.{md,mdx}", diff --git a/package.json b/package.json index 28d0c13b7..a5c300f8e 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "check": "pnpm biome check --write", "tsc": "tsc --skipLibCheck", "build": "astro build", + "build:no-og": "SKIP_OG=true astro build", "preview": "astro preview", "textlint": "textlint './src/content/docs/ja/**/*.{md,mdx}'", "textlint:fix": "textlint --fix './src/content/docs/ja/**/*.{md,mdx}'", @@ -21,13 +22,13 @@ "lunaria:preview": "lunaria preview" }, "devDependencies": { - "@astrojs/netlify": "6.0.0", + "@astrojs/netlify": "6.0.1", "@astrojs/prism": "3.2.0", - "@astrojs/react": "4.1.0", + "@astrojs/react": "4.1.2", "@astrojs/rss": "4.0.10", "@astrojs/starlight": "0.30.3", "@biomejs/biome": "1.9.4", - "@biomejs/wasm-web": "https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@09a04af", + "@biomejs/wasm-web": "https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@6ea885f", "@codemirror/lang-css": "6.3.1", "@codemirror/lang-html": "6.4.9", "@codemirror/lang-javascript": "6.2.2", @@ -45,7 +46,7 @@ "@types/react-dom": "18.3.3", "@uiw/react-codemirror": "4.23.7", "@vitejs/plugin-react": "4.3.4", - "astro": "5.0.8", + "astro": "5.1.1", "astro-og-canvas": "0.5.5", "autoprefixer": "10.4.20", "canvaskit-wasm": "0.39.1", @@ -69,13 +70,16 @@ "rehype-slug": "6.0.0", "remark-toc": "9.0.0", "sharp": "0.33.5", - "starlight-blog": "^0.16.0", + "starlight-blog": "0.16.1", "textlint": "14.4.0", "textlint-rule-preset-jtf-style": "2.3.14", "textlint-rule-prh": "6.0.0", "typescript": "5.5.4", - "vite": "5.4.11", - "vite-plugin-svgr": "4.2.0" + "vite": "6.0.5", + "vite-plugin-svgr": "4.3.0" }, - "packageManager": "pnpm@9.6.0" + "packageManager": "pnpm@9.15.2", + "dependencies": { + "@astrojs/node": "^9.0.0" + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 92199c864..4369333dd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,28 +7,32 @@ settings: importers: .: + dependencies: + '@astrojs/node': + specifier: ^9.0.0 + version: 9.0.0(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) devDependencies: '@astrojs/netlify': - specifier: 6.0.0 - version: 6.0.0(@opentelemetry/api@1.9.0)(@types/node@20.17.9)(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + specifier: 6.0.1 + version: 6.0.1(@opentelemetry/api@1.9.0)(@types/node@20.17.9)(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) '@astrojs/prism': specifier: 3.2.0 version: 3.2.0 '@astrojs/react': - specifier: 4.1.0 - version: 4.1.0(@types/node@20.17.9)(@types/react-dom@18.3.3(@types/react@18.3.14))(@types/react@18.3.14)(jiti@1.21.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + specifier: 4.1.2 + version: 4.1.2(@types/node@20.17.9)(@types/react-dom@18.3.3(@types/react@18.3.14))(@types/react@18.3.14)(jiti@1.21.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) '@astrojs/rss': specifier: 4.0.10 version: 4.0.10 '@astrojs/starlight': specifier: 0.30.3 - version: 0.30.3(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + version: 0.30.3(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) '@biomejs/biome': specifier: 1.9.4 version: 1.9.4 '@biomejs/wasm-web': - specifier: https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@09a04af - version: https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@09a04af + specifier: https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@6ea885f + version: https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@6ea885f '@codemirror/lang-css': specifier: 6.3.1 version: 6.3.1(@codemirror/view@6.35.3) @@ -58,7 +62,7 @@ importers: version: 0.1.1 '@lunariajs/starlight': specifier: 0.1.1 - version: 0.1.1(@astrojs/starlight@0.30.3(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)))(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + version: 0.1.1(@astrojs/starlight@0.30.3(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)))(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) '@playwright/test': specifier: 1.49.1 version: 1.49.1 @@ -79,13 +83,13 @@ importers: version: 4.23.7(@babel/runtime@7.24.4)(@codemirror/autocomplete@6.15.0(@codemirror/language@6.10.1)(@codemirror/state@6.5.0)(@codemirror/view@6.35.3)(@lezer/common@1.2.1))(@codemirror/language@6.10.1)(@codemirror/lint@6.8.4)(@codemirror/search@6.5.6)(@codemirror/state@6.5.0)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.35.3)(codemirror@6.0.1(@lezer/common@1.2.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@vitejs/plugin-react': specifier: 4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@20.17.9)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) + version: 4.3.4(vite@6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) astro: - specifier: 5.0.8 - version: 5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + specifier: 5.1.1 + version: 5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) astro-og-canvas: specifier: 0.5.5 - version: 0.5.5(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + version: 0.5.5(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) autoprefixer: specifier: 10.4.20 version: 10.4.20(postcss@8.4.49) @@ -153,8 +157,8 @@ importers: specifier: 0.33.5 version: 0.33.5 starlight-blog: - specifier: ^0.16.0 - version: 0.16.0(@astrojs/starlight@0.30.3(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)))(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + specifier: 0.16.1 + version: 0.16.1(@astrojs/starlight@0.30.3(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)))(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) textlint: specifier: 14.4.0 version: 14.4.0 @@ -168,11 +172,11 @@ importers: specifier: 5.5.4 version: 5.5.4 vite: - specifier: 5.4.11 - version: 5.4.11(@types/node@20.17.9)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + specifier: 6.0.5 + version: 6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) vite-plugin-svgr: - specifier: 4.2.0 - version: 4.2.0(rollup@4.28.1)(typescript@5.5.4)(vite@5.4.11(@types/node@20.17.9)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) + specifier: 4.3.0 + version: 4.3.0(rollup@4.28.1)(typescript@5.5.4)(vite@6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) packages: @@ -202,8 +206,13 @@ packages: peerDependencies: astro: ^5.0.0 - '@astrojs/netlify@6.0.0': - resolution: {integrity: sha512-r0Z8A0Sg8g2QsM6veoJ7/UkibXuLJviLZ9TblaEKrvfcyx2O+D5ejHthaAK7kkRb6/Guw7bPxoxfbt6gvM4g/A==} + '@astrojs/netlify@6.0.1': + resolution: {integrity: sha512-Y8rsMVClPp6cJuAClL0BAr4p8FtNtvaOhODy8YHUfe8QsaNSrnUTJ6Np+RbTBKBTQ9JkRKGe5F0f0LaAD21euw==} + peerDependencies: + astro: ^5.0.0 + + '@astrojs/node@9.0.0': + resolution: {integrity: sha512-3h/5kFZvpuo+chYAjj75YhtRUxfquxEJrpZRRC7TdiMGp2WhLp2us4VXm2mjezJp/zHKotW2L3qgp0P2ujQ0xw==} peerDependencies: astro: ^5.0.0 @@ -211,8 +220,8 @@ packages: resolution: {integrity: sha512-GilTHKGCW6HMq7y3BUv9Ac7GMe/MO9gi9GW62GzKtth0SwukCu/qp2wLiGpEujhY+VVhaG9v7kv/5vFzvf4NYw==} engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0} - '@astrojs/react@4.1.0': - resolution: {integrity: sha512-8F0ncvcCexVeQZMwPouLSFuzCK1KXUIYQ57lW3ZG2p7B5DGAajXGanb/CGF7MMSpX8Z0t9sELQqLHOCV/+78Ig==} + '@astrojs/react@4.1.2': + resolution: {integrity: sha512-Slw8Bho50w1+rYnSnDl5PDAUikSOEItx5DEJU5OgmarTirBr1audIb2DgC8faAGcGkq5WhuUVsSiq/TmSORlwA==} engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0} peerDependencies: '@types/react': ^17.0.50 || ^18.0.21 || ^19.0.0 @@ -390,9 +399,9 @@ packages: cpu: [x64] os: [win32] - '@biomejs/wasm-web@https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@09a04af': - resolution: {tarball: https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@09a04af} - version: 0.0.0-rev.09a04af727b3cdba33ac35837d112adb55726add + '@biomejs/wasm-web@https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@6ea885f': + resolution: {tarball: https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@6ea885f} + version: 0.0.0-rev.6ea885f0cec47a6db48d662cbd828f4f335209ba '@braintree/sanitize-url@6.0.4': resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} @@ -1167,15 +1176,6 @@ packages: '@lezer/javascript': ^1.2.0 '@lezer/lr': ^1.0.0 - '@rollup/pluginutils@5.1.0': - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - '@rollup/pluginutils@5.1.3': resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} engines: {node: '>=14.0.0'} @@ -1185,41 +1185,21 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.21.2': - resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm-eabi@4.28.1': resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.21.2': - resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} - cpu: [arm64] - os: [android] - '@rollup/rollup-android-arm64@4.28.1': resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.21.2': - resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-arm64@4.28.1': resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.21.2': - resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.28.1': resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==} cpu: [x64] @@ -1235,41 +1215,21 @@ packages: cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': - resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.28.1': resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.21.2': - resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.28.1': resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.2': - resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.28.1': resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.21.2': - resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-musl@4.28.1': resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==} cpu: [arm64] @@ -1280,81 +1240,41 @@ packages: cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': - resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} - cpu: [ppc64] - os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.2': - resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} - cpu: [riscv64] - os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.28.1': resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.2': - resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} - cpu: [s390x] - os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.28.1': resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.2': - resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-gnu@4.28.1': resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.21.2': - resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-musl@4.28.1': resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.21.2': - resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.28.1': resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.2': - resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.28.1': resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.2': - resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.28.1': resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==} cpu: [x64] @@ -1530,9 +1450,6 @@ packages: '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -1722,8 +1639,8 @@ packages: resolution: {integrity: sha512-ufS/aOBXQKAe6hZ5NbiHUsC01o0ZcEwS+nNhd/mr1avLV+NbgYJEbwY8VRorzLs/GH5COOTaxl2795DkGIUTcw==} engines: {node: '>=18.14.1'} - astro@5.0.8: - resolution: {integrity: sha512-nW4TmRCeG3t2iDmm91KPvYpYNljNfjeaneN4BX463DKAZ3MPmUn92aKefOXC0bjMHQ2Gamc8MIZ6sORS2EhyAQ==} + astro@5.1.1: + resolution: {integrity: sha512-prpWC2PRs4P3FKQg6gZaU+VNMqbZi5pDvORGB2nrjfRjkrvF6/l4BqhvkJ6YQ0Ohm5rIMVz8ljgaRI77mLHbwg==} engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} hasBin: true @@ -1954,6 +1871,9 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cookie-es@1.2.2: + resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} + cookie@0.7.2: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} @@ -1977,6 +1897,9 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + crossws@0.3.1: + resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==} + crypt@0.0.2: resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} @@ -2175,13 +2098,27 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + delaunator@5.0.1: resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} @@ -2224,6 +2161,9 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + electron-to-chromium@1.5.37: resolution: {integrity: sha512-u7000ZB/X0K78TaQqXZ5ktoR7J79B9US7IkE4zyvcILYwOGY2Tx9GRPYstn7HmuPcMxZ+BDGqIsyLpZQi9ufPw==} @@ -2245,6 +2185,10 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -2283,6 +2227,9 @@ packages: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -2320,6 +2267,10 @@ packages: estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} @@ -2411,6 +2362,10 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -2489,6 +2444,9 @@ packages: resolution: {integrity: sha512-cvVIBILwuoSyD54U4cF/UXDh5yAobhNV/tPygI4lZhgOIJQE/WLWC4waBRb4I6bDVYb3OVx3lfHbaQOEoUD5sg==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + h3@1.13.0: + resolution: {integrity: sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg==} + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -2586,6 +2544,10 @@ packages: http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + https-proxy-agent@7.0.6: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} @@ -2630,6 +2592,9 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} + iron-webcrypto@1.2.1: + resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} + is-alphabetical@1.0.4: resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} @@ -3204,6 +3169,19 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -3263,6 +3241,9 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -3315,6 +3296,16 @@ packages: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} + ofetch@1.4.1: + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} + + ohash@1.1.4: + resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -3437,6 +3428,9 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} @@ -3571,6 +3565,13 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + radix3@1.1.2: + resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + rc-config-loader@4.1.3: resolution: {integrity: sha512-kD7FqML7l800i6pS6pvLyIE2ncbk9Du8Q0gp/4hMPhJU6ZxApkoLcGD8ZeqgiAlfwZ6BlETq6qqe+12DUL207w==} @@ -3757,11 +3758,6 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rollup@4.21.2: - resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - rollup@4.28.1: resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -3804,6 +3800,13 @@ packages: engines: {node: '>=10'} hasBin: true + send@1.1.0: + resolution: {integrity: sha512-v67WcEouB5GxbTWL/4NeToqcZiAWEq90N888fczVArY8A79J0L4FD7vj5hm3eUMua5EpoQ59wa/oovY6TLvRUA==} + engines: {node: '>= 18'} + + server-destroy@1.0.1: + resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==} + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -3812,6 +3815,9 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + sharp@0.33.5: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -3885,12 +3891,16 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - starlight-blog@0.16.0: - resolution: {integrity: sha512-gskN6cs12Rycya49DXnqK0q9FefNjbojA3QO5w+XugcRZDCcQ7fev8Zs0QDtLoHjibqRhFTrvhurlNe/0T2x+Q==} + starlight-blog@0.16.1: + resolution: {integrity: sha512-9WMpRZHhfgWjf2oQ1oUqGCJOUB3z+JohHrrQxVtzwm9GPAxNeu7/DAx6eQJf3moLbkdzCNP2VyrT2Molo62vRw==} engines: {node: '>=18.17.1'} peerDependencies: '@astrojs/starlight': '>=0.30.0' + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + stream-replace-string@2.0.0: resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==} @@ -4005,6 +4015,10 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -4047,15 +4061,24 @@ packages: engines: {node: '>=14.17'} hasBin: true + ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + ultrahtml@1.5.3: resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} ultramatter@0.0.4: resolution: {integrity: sha512-1f/hO3mR+/Hgue4eInOF/Qm/wzDqwhYha4DxM0hre9YIUyso3fE2XtrAU6B4njLqTC8CM49EZaYgsVSa+dXHGw==} + uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + undici-types@6.19.6: resolution: {integrity: sha512-e/vggGopEfTKSvj4ihnOLTsqhrKRN3LeO6qSN/GxohhuRv8qH9bNQ4B8W7e/vFL+0XTnmHPB4/kegunZGA4Org==} + unenv@1.10.0: + resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} + unified@11.0.4: resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} @@ -4113,6 +4136,65 @@ packages: unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + unstorage@1.14.3: + resolution: {integrity: sha512-nj1rtc2XWCck2fDB39sboAajqooj9LmxZ9/eBM1XR+iUQAFctKvLl0FcPP5f4vzRgU1dmJ03SZhqZMLc9RDXIA==} + peerDependencies: + '@azure/app-configuration': ^1.8.0 + '@azure/cosmos': ^4.2.0 + '@azure/data-tables': ^13.3.0 + '@azure/identity': ^4.5.0 + '@azure/keyvault-secrets': ^4.9.0 + '@azure/storage-blob': ^12.26.0 + '@capacitor/preferences': ^6.0.3 + '@deno/kv': '>=0.8.4' + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 + '@planetscale/database': ^1.19.0 + '@upstash/redis': ^1.34.3 + '@vercel/blob': '>=0.27.0' + '@vercel/kv': ^1.0.1 + aws4fetch: ^1.0.20 + db0: '>=0.2.1' + idb-keyval: ^6.2.1 + ioredis: ^5.4.2 + uploadthing: ^7.4.1 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@deno/kv': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/blob': + optional: true + '@vercel/kv': + optional: true + aws4fetch: + optional: true + db0: + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + uploadthing: + optional: true + untildify@3.0.3: resolution: {integrity: sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==} engines: {node: '>=4'} @@ -4162,84 +4244,13 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-plugin-svgr@4.2.0: - resolution: {integrity: sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==} + vite-plugin-svgr@4.3.0: + resolution: {integrity: sha512-Jy9qLB2/PyWklpYy0xk0UU3TlU0t2UMpJXZvf+hWII1lAmRHrOUKi11Uw8N3rxoNk7atZNYO3pR3vI1f7oi+6w==} peerDependencies: - vite: ^2.6.0 || 3 || 4 || 5 + vite: '>=2.6.0' - vite@5.4.11: - resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - - vite@6.0.1: - resolution: {integrity: sha512-Ldn6gorLGr4mCdFnmeAOLweJxZ34HjKnDm4HGo6P66IEqTxQb36VEdFJQENKxWjupNfoIjvRUnswjn1hpYEpjQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: '>=1.21.0' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - '@types/node': - optional: true - jiti: - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - - vite@6.0.3: - resolution: {integrity: sha512-Cmuo5P0ENTN6HxLSo6IHsjCLn/81Vgrp81oaiFFMRa8gGDj5xEjIcEpf2ZymZtZR8oU0P2JX5WuUp/rlXcHkAw==} + vite@6.0.5: + resolution: {integrity: sha512-akD5IAH/ID5imgue2DYhzsEwCi0/4VKY31uhMLEYJwPP4TiUp8pL5PIK+Wo7H8qT8JY9i+pVfPydcFPYD1EL7g==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -4433,12 +4444,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/mdx@4.0.2(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))': + '@astrojs/mdx@4.0.2(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))': dependencies: '@astrojs/markdown-remark': 6.0.1 '@mdx-js/mdx': 3.1.0(acorn@8.14.0) acorn: 8.14.0 - astro: 5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + astro: 5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) es-module-lexer: 1.5.4 estree-util-visit: 2.0.0 hast-util-to-html: 9.0.4 @@ -4452,15 +4463,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/netlify@6.0.0(@opentelemetry/api@1.9.0)(@types/node@20.17.9)(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))': + '@astrojs/netlify@6.0.1(@opentelemetry/api@1.9.0)(@types/node@20.17.9)(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))': dependencies: '@astrojs/internal-helpers': 0.4.1 '@astrojs/underscore-redirects': 0.4.0 '@netlify/functions': 2.8.0(@opentelemetry/api@1.9.0) '@vercel/nft': 0.27.9(rollup@4.28.1) - astro: 5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + astro: 5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) esbuild: 0.24.0 - vite: 6.0.1(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + vite: 6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) transitivePeerDependencies: - '@opentelemetry/api' - '@types/node' @@ -4478,19 +4489,27 @@ snapshots: - tsx - yaml + '@astrojs/node@9.0.0(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))': + dependencies: + astro: 5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + send: 1.1.0 + server-destroy: 1.0.1 + transitivePeerDependencies: + - supports-color + '@astrojs/prism@3.2.0': dependencies: prismjs: 1.29.0 - '@astrojs/react@4.1.0(@types/node@20.17.9)(@types/react-dom@18.3.3(@types/react@18.3.14))(@types/react@18.3.14)(jiti@1.21.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))': + '@astrojs/react@4.1.2(@types/node@20.17.9)(@types/react-dom@18.3.3(@types/react@18.3.14))(@types/react@18.3.14)(jiti@1.21.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))': dependencies: '@types/react': 18.3.14 '@types/react-dom': 18.3.3(@types/react@18.3.14) - '@vitejs/plugin-react': 4.3.4(vite@6.0.3(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) + '@vitejs/plugin-react': 4.3.4(vite@6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) ultrahtml: 1.5.3 - vite: 6.0.3(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + vite: 6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) transitivePeerDependencies: - '@types/node' - jiti @@ -4516,16 +4535,16 @@ snapshots: stream-replace-string: 2.0.0 zod: 3.23.8 - '@astrojs/starlight@0.30.3(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))': + '@astrojs/starlight@0.30.3(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))': dependencies: - '@astrojs/mdx': 4.0.2(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + '@astrojs/mdx': 4.0.2(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) '@astrojs/sitemap': 3.1.6 '@pagefind/default-ui': 1.1.0 '@types/hast': 3.0.4 '@types/js-yaml': 4.0.9 '@types/mdast': 4.0.4 - astro: 5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) - astro-expressive-code: 0.38.3(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + astro: 5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + astro-expressive-code: 0.38.3(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) bcp-47: 2.1.0 hast-util-from-html: 2.0.3 hast-util-select: 6.0.2 @@ -4723,7 +4742,7 @@ snapshots: '@biomejs/cli-win32-x64@1.9.4': optional: true - '@biomejs/wasm-web@https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@09a04af': {} + '@biomejs/wasm-web@https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@6ea885f': {} '@braintree/sanitize-url@6.0.4': {} @@ -5179,11 +5198,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@lunariajs/starlight@0.1.1(@astrojs/starlight@0.30.3(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)))(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))': + '@lunariajs/starlight@0.1.1(@astrojs/starlight@0.30.3(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)))(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))': dependencies: - '@astrojs/starlight': 0.30.3(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + '@astrojs/starlight': 0.30.3(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) '@lunariajs/core': 0.1.1 - astro: 5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + astro: 5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) transitivePeerDependencies: - supports-color @@ -5204,7 +5223,7 @@ snapshots: '@mdx-js/mdx@3.1.0(acorn@8.14.0)': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdx': 2.0.12 @@ -5485,43 +5504,23 @@ snapshots: '@lezer/javascript': 1.4.14 '@lezer/lr': 1.4.0 - '@rollup/pluginutils@5.1.0(rollup@4.28.1)': - dependencies: - '@types/estree': 1.0.5 - estree-walker: 2.0.2 - picomatch: 2.3.1 - optionalDependencies: - rollup: 4.28.1 - '@rollup/pluginutils@5.1.3(rollup@4.28.1)': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: rollup: 4.28.1 - '@rollup/rollup-android-arm-eabi@4.21.2': - optional: true - '@rollup/rollup-android-arm-eabi@4.28.1': optional: true - '@rollup/rollup-android-arm64@4.21.2': - optional: true - '@rollup/rollup-android-arm64@4.28.1': optional: true - '@rollup/rollup-darwin-arm64@4.21.2': - optional: true - '@rollup/rollup-darwin-arm64@4.28.1': optional: true - '@rollup/rollup-darwin-x64@4.21.2': - optional: true - '@rollup/rollup-darwin-x64@4.28.1': optional: true @@ -5531,78 +5530,42 @@ snapshots: '@rollup/rollup-freebsd-x64@4.28.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.28.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.21.2': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.28.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.2': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.21.2': - optional: true - '@rollup/rollup-linux-arm64-musl@4.28.1': optional: true '@rollup/rollup-linux-loongarch64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': - optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.21.2': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.21.2': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.28.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.21.2': - optional: true - '@rollup/rollup-linux-x64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-x64-musl@4.21.2': - optional: true - '@rollup/rollup-linux-x64-musl@4.28.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.21.2': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.28.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.21.2': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.28.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.21.2': - optional: true - '@rollup/rollup-win32-x64-msvc@4.28.1': optional: true @@ -5866,9 +5829,7 @@ snapshots: '@types/estree-jsx@1.0.5': dependencies: - '@types/estree': 1.0.5 - - '@types/estree@1.0.5': {} + '@types/estree': 1.0.6 '@types/estree@1.0.6': {} @@ -5975,25 +5936,14 @@ snapshots: - rollup - supports-color - '@vitejs/plugin-react@4.3.4(vite@5.4.11(@types/node@20.17.9)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)))': - dependencies: - '@babel/core': 7.26.0 - '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) - '@types/babel__core': 7.20.5 - react-refresh: 0.14.2 - vite: 5.4.11(@types/node@20.17.9)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) - transitivePeerDependencies: - - supports-color - - '@vitejs/plugin-react@4.3.4(vite@6.0.3(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)))': + '@vitejs/plugin-react@4.3.4(vite@6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.0.3(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + vite: 6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) transitivePeerDependencies: - supports-color @@ -6040,7 +5990,6 @@ snapshots: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - optional: true arg@5.0.2: {} @@ -6058,14 +6007,14 @@ snapshots: astring@1.8.6: {} - astro-expressive-code@0.38.3(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)): + astro-expressive-code@0.38.3(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)): dependencies: - astro: 5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + astro: 5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) rehype-expressive-code: 0.38.3 - astro-og-canvas@0.5.5(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)): + astro-og-canvas@0.5.5(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)): dependencies: - astro: 5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + astro: 5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) canvaskit-wasm: 0.39.1 deterministic-object-hash: 2.0.2 entities: 4.5.0 @@ -6078,7 +6027,7 @@ snapshots: marked-smartypants: 1.1.9(marked@12.0.2) ultrahtml: 1.5.3 - astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4): + astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4): dependencies: '@astrojs/compiler': 2.10.3 '@astrojs/internal-helpers': 0.4.2 @@ -6128,9 +6077,10 @@ snapshots: tsconfck: 3.1.4(typescript@5.5.4) ultrahtml: 1.5.3 unist-util-visit: 5.0.0 + unstorage: 1.14.3 vfile: 6.0.3 - vite: 6.0.3(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) - vitefu: 1.0.4(vite@6.0.3(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) + vite: 6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + vitefu: 1.0.4(vite@6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) which-pm: 3.0.0 xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 @@ -6141,7 +6091,24 @@ snapshots: optionalDependencies: sharp: 0.33.5 transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' - '@types/node' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - db0 + - idb-keyval + - ioredis - jiti - less - lightningcss @@ -6154,6 +6121,7 @@ snapshots: - terser - tsx - typescript + - uploadthing - yaml async-sema@3.1.1: {} @@ -6186,8 +6154,7 @@ snapshots: is-alphanumerical: 2.0.1 is-decimal: 2.0.1 - binary-extensions@2.3.0: - optional: true + binary-extensions@2.3.0: {} bindings@1.5.0: dependencies: @@ -6297,7 +6264,6 @@ snapshots: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 - optional: true chownr@3.0.0: {} @@ -6390,6 +6356,8 @@ snapshots: convert-source-map@2.0.0: {} + cookie-es@1.2.2: {} + cookie@0.7.2: {} cose-base@1.0.3: @@ -6413,6 +6381,10 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + crossws@0.3.1: + dependencies: + uncrypto: 0.1.3 + crypt@0.0.2: {} css-selector-parser@3.0.5: {} @@ -6634,12 +6606,20 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 + defu@6.1.4: {} + delaunator@5.0.1: dependencies: robust-predicates: 3.0.2 + depd@2.0.0: {} + dequal@2.0.3: {} + destr@2.0.3: {} + + destroy@1.2.0: {} + detect-libc@2.0.3: {} deterministic-object-hash@2.0.2: @@ -6671,6 +6651,8 @@ snapshots: eastasianwidth@0.2.0: {} + ee-first@1.1.1: {} + electron-to-chromium@1.5.37: {} electron-to-chromium@1.5.4: {} @@ -6685,6 +6667,8 @@ snapshots: emoji-regex@9.2.2: {} + encodeurl@2.0.0: {} + entities@4.5.0: {} error-ex@1.3.2: @@ -6768,6 +6752,8 @@ snapshots: escalade@3.1.2: {} + escape-html@1.0.3: {} + escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} @@ -6809,6 +6795,8 @@ snapshots: dependencies: '@types/estree': 1.0.6 + etag@1.8.1: {} + eventemitter3@5.0.1: {} expressive-code@0.38.3: @@ -6897,6 +6885,8 @@ snapshots: fraction.js@4.3.7: {} + fresh@0.5.2: {} + fs.realpath@1.0.0: {} fsevents@2.3.2: @@ -6968,6 +6958,19 @@ snapshots: graphql@16.8.2: {} + h3@1.13.0: + dependencies: + cookie-es: 1.2.2 + crossws: 0.3.1 + defu: 6.1.4 + destr: 2.0.3 + iron-webcrypto: 1.2.1 + ohash: 1.1.4 + radix3: 1.1.2 + ufo: 1.5.4 + uncrypto: 0.1.3 + unenv: 1.10.0 + has-flag@4.0.0: {} has-property-descriptors@1.0.2: @@ -7178,6 +7181,14 @@ snapshots: http-cache-semantics@4.1.1: {} + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.3 @@ -7225,6 +7236,8 @@ snapshots: internmap@2.0.3: {} + iron-webcrypto@1.2.1: {} + is-alphabetical@1.0.4: {} is-alphabetical@2.0.1: {} @@ -7246,7 +7259,6 @@ snapshots: is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - optional: true is-buffer@1.1.6: {} @@ -8241,6 +8253,14 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@3.0.0: {} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -8289,6 +8309,8 @@ snapshots: lower-case: 2.0.2 tslib: 2.6.2 + node-fetch-native@1.6.4: {} + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 @@ -8310,8 +8332,7 @@ snapshots: semver: 5.7.2 validate-npm-package-license: 3.0.4 - normalize-path@3.0.0: - optional: true + normalize-path@3.0.0: {} normalize-range@0.1.2: {} @@ -8327,6 +8348,18 @@ snapshots: object-keys@1.1.1: {} + ofetch@1.4.1: + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.4 + ufo: 1.5.4 + + ohash@1.1.4: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -8471,6 +8504,8 @@ snapshots: path-type@4.0.0: {} + pathe@1.1.2: {} + periscopic@3.1.0: dependencies: '@types/estree': 1.0.6 @@ -8595,6 +8630,10 @@ snapshots: queue-microtask@1.2.3: {} + radix3@1.1.2: {} + + range-parser@1.2.1: {} + rc-config-loader@4.1.3: dependencies: debug: 4.3.7 @@ -8636,7 +8675,6 @@ snapshots: readdirp@3.6.0: dependencies: picomatch: 2.3.1 - optional: true recma-build-jsx@1.0.0: dependencies: @@ -8910,28 +8948,6 @@ snapshots: robust-predicates@3.0.2: {} - rollup@4.21.2: - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.2 - '@rollup/rollup-android-arm64': 4.21.2 - '@rollup/rollup-darwin-arm64': 4.21.2 - '@rollup/rollup-darwin-x64': 4.21.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 - '@rollup/rollup-linux-arm-musleabihf': 4.21.2 - '@rollup/rollup-linux-arm64-gnu': 4.21.2 - '@rollup/rollup-linux-arm64-musl': 4.21.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 - '@rollup/rollup-linux-riscv64-gnu': 4.21.2 - '@rollup/rollup-linux-s390x-gnu': 4.21.2 - '@rollup/rollup-linux-x64-gnu': 4.21.2 - '@rollup/rollup-linux-x64-musl': 4.21.2 - '@rollup/rollup-win32-arm64-msvc': 4.21.2 - '@rollup/rollup-win32-ia32-msvc': 4.21.2 - '@rollup/rollup-win32-x64-msvc': 4.21.2 - fsevents: 2.3.3 - rollup@4.28.1: dependencies: '@types/estree': 1.0.6 @@ -8988,6 +9004,25 @@ snapshots: semver@7.6.3: {} + send@1.1.0: + dependencies: + debug: 4.3.7 + destroy: 1.2.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime-types: 2.1.35 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + server-destroy@1.0.1: {} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -9004,6 +9039,8 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 + setprototypeof@1.2.0: {} + sharp@0.33.5: dependencies: color: 4.2.3 @@ -9105,11 +9142,11 @@ snapshots: sprintf-js@1.0.3: {} - starlight-blog@0.16.0(@astrojs/starlight@0.30.3(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)))(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)): + starlight-blog@0.16.1(@astrojs/starlight@0.30.3(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)))(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)): dependencies: - '@astrojs/mdx': 4.0.2(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + '@astrojs/mdx': 4.0.2(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) '@astrojs/rss': 4.0.10 - '@astrojs/starlight': 0.30.3(astro@5.0.8(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + '@astrojs/starlight': 0.30.3(astro@5.1.1(@types/node@20.17.9)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) astro-remote: 0.3.3 github-slugger: 2.0.0 marked: 15.0.4 @@ -9119,6 +9156,8 @@ snapshots: - astro - supports-color + statuses@2.0.1: {} + stream-replace-string@2.0.0: {} string-width@4.2.3: @@ -9297,6 +9336,8 @@ snapshots: dependencies: is-number: 7.0.0 + toidentifier@1.0.1: {} + tr46@0.0.3: {} trim-lines@3.0.1: {} @@ -9321,12 +9362,24 @@ snapshots: typescript@5.5.4: {} + ufo@1.5.4: {} + ultrahtml@1.5.3: {} ultramatter@0.0.4: {} + uncrypto@0.1.3: {} + undici-types@6.19.6: {} + unenv@1.10.0: + dependencies: + consola: 3.2.3 + defu: 6.1.4 + mime: 3.0.0 + node-fetch-native: 1.6.4 + pathe: 1.1.2 + unified@11.0.4: dependencies: '@types/unist': 3.0.2 @@ -9426,6 +9479,17 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 + unstorage@1.14.3: + dependencies: + anymatch: 3.1.3 + chokidar: 3.6.0 + destr: 2.0.3 + h3: 1.13.0 + lru-cache: 10.4.3 + node-fetch-native: 1.6.4 + ofetch: 1.4.1 + ufo: 1.5.4 + untildify@3.0.3: {} update-browserslist-db@1.1.0(browserslist@4.23.3): @@ -9495,41 +9559,18 @@ snapshots: '@types/unist': 3.0.2 vfile-message: 4.0.2 - vite-plugin-svgr@4.2.0(rollup@4.28.1)(typescript@5.5.4)(vite@5.4.11(@types/node@20.17.9)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))): + vite-plugin-svgr@4.3.0(rollup@4.28.1)(typescript@5.5.4)(vite@6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.28.1) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) '@svgr/core': 8.1.0(typescript@5.5.4) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4)) - vite: 5.4.11(@types/node@20.17.9)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + vite: 6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) transitivePeerDependencies: - rollup - supports-color - typescript - vite@5.4.11(@types/node@20.17.9)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)): - dependencies: - esbuild: 0.21.5 - postcss: 8.4.49 - rollup: 4.21.2 - optionalDependencies: - '@types/node': 20.17.9 - fsevents: 2.3.3 - sass: 1.77.8 - sugarss: 4.0.1(postcss@8.4.49) - - vite@6.0.1(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)): - dependencies: - esbuild: 0.24.0 - postcss: 8.4.49 - rollup: 4.28.1 - optionalDependencies: - '@types/node': 20.17.9 - fsevents: 2.3.3 - jiti: 1.21.7 - sass: 1.77.8 - sugarss: 4.0.1(postcss@8.4.49) - - vite@6.0.3(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)): + vite@6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)): dependencies: esbuild: 0.24.0 postcss: 8.4.49 @@ -9541,9 +9582,9 @@ snapshots: sass: 1.77.8 sugarss: 4.0.1(postcss@8.4.49) - vitefu@1.0.4(vite@6.0.3(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))): + vitefu@1.0.4(vite@6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))): optionalDependencies: - vite: 6.0.3(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + vite: 6.0.5(@types/node@20.17.9)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) vscode-languageserver-types@3.17.5: {} diff --git a/src/assets/svg/rss.svg b/src/assets/svg/rss.svg deleted file mode 100644 index e48c54fd6..000000000 --- a/src/assets/svg/rss.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - RSS feed icon - - - - - - - - - \ No newline at end of file diff --git a/src/components/generated/Contributors.astro b/src/components/generated/Contributors.astro index d7025d277..fda1f0205 100644 --- a/src/components/generated/Contributors.astro +++ b/src/components/generated/Contributors.astro @@ -2062,6 +2062,17 @@ import { Image } from "astro:assets"; GiveMe-A-Name +
  • + + User MaxtuneLee + MaxtuneLee + +
  • ChristopherBiscardi
  • -
  • - - User halfnelson - halfnelson - -
  • b4s36t4
  • +
  • + + User janie314 + janie314 + +
  • StationSoen
  • +
  • + + User kevinmingtarja + kevinmingtarja + +
  • defnot001
  • -
  • - - User fadiinho - fadiinho - -
  • TechVest
  • -
  • - - User hardlydearly - hardlydearly - -
  • diff --git a/src/content/docs/fr/guides/configure-biome.mdx b/src/content/docs/fr/guides/configure-biome.mdx new file mode 100644 index 000000000..6919fec1f --- /dev/null +++ b/src/content/docs/fr/guides/configure-biome.mdx @@ -0,0 +1,385 @@ +--- +title: Configurer Biome +description: Apprenez comment la configuration de Biome fonctionne. +--- + +import {FileTree} from '@astrojs/starlight/components'; + +Ce guide vous aidera à comprendre comment configurer Biome. +Il explique la structure d’un fichier de configuration de Biome et la manière dont Biome résoud sa configuration. +Si vous êtes déjà familiarisé avec la configuration de Biome, il se peut que vous vouliez jeter un coup d’œil à la [référence de la configuration](/fr/reference/configuration/), qui détaille toutes les options disponibles. + +Biome vous permet de personnaliser son comportement en utilisant des options en ligne de commande ou un fichier de configuration nommé `biome.json` ou `biome.jsonc`. +Nous vous recommandons de créer un fichier de configuration pour chaque projet, +ce qui assure que chaque membre de votre équipe a la même configuration à la fois en ligne de commande et dans tout éditeur doté de l’extension de Biome. +La plupart des options disponibles dans le fichier de configuration sont également disponibles en ligne de commande. + +## Structure du fichier de configuration + +Le fichier de configuration de Biome est nommé `biome.json` ou `biome.jsonc`. +Il est habituellement placé dans le répertoire racine de votre projet, où se trouve généralement `package.json`. + +Parce que Biome est un ensemble d’outils, sa configuration est organisée autour des outils qu’il fournit. +Biome fournit actuellement trois outils : l‘outil de formatage, l’outil de linting et le trieur d’imports (aussi appelé l’organisateur d’imports). +Tous ces outils sont activés par défaut. +Vous pouvez désactiver un ou plusieurs d’entre eux en utilisant la propriété `.enabled` : + +```json title="biome.json" +{ + "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "formatter": { + "enabled": false + }, + "linter": { + "enabled": false + }, + "organizeImports": { + "enabled": false + } +} +``` + +Les options qui s’appliquent à plus d’un langage sont placées dans le champ de l’outil correspondant. +Les options propres à un langage sont placées sous un champ `.`, +ce qui permet également d’écraser des options générales pour un langage donné. +Vous pouvez également activer ou désactiver un outil basé sur le langage. +Dans l’exemple suivant, nous configurons les options générales `formatter.indentStyle` et `formatter.lineWidth` pour tous les langages. +En outre, nous définissons l’option `quoteStyle` propre à JavaScript dans `javascript.formatter` et nous écrasons `formatter.lineWidth`. +Nous avons désactivé l’outil de formatage pour les fichiers JSON. + +```json5 title="biome.jsonc" +{ + "formatter": { + "indentStyle": "space", // `tab` par défaut + "lineWidth": 100 // `80` par défaut + }, + "javascript": { + "formatter": { + "quoteStyle": "single", // `double` par défaut + "lineWidth": 120 // écrase `formatter.lineWidth` + } + }, + "json": { + "formatter": { + "enabled": false + } + } +} +``` + +:::note +Biome fait référence sous le nom de `javascript` à toutes les variantes du langage JavaScript, +ce qui inclut TypeScript, JSX et TSX. +::: + + +## Résolution du fichier de configuration + +Biome prend en compte le fichier de configuration le plus proche, en débutant sa recherche dans le répertoire de travail courant et en remontant la hiérarchie des répertoires jusqu’à trouver un fichier `biome.json` ou `biome.jsonc`. +Si aucune configuration n’est trouvée, alors il applique les réglages par défaut de Biome. +Si `biome.json` et `biome.jsonc` sont présents en même temps dans le même dossier, la priorité sera donnée à `biome.json`. + +Voici un exemple : + + +- app + - backend + - biome.json + - package.json + - frontend + - biome.json + - legacy + - package.json + - new + - package.json + + + +- Les commandes de Biome qui s’exécutent dans `app/backend/package.json` utiliseront le fichier de configuration `app/backend/biome.json` ; +- les commandes de Biome qui s’exécutent dans `app/frontend/legacy/package.json` et `app/frontend/new/package.json` +utiliseront le fichier de configuration `app/frontend/biome.json` ; + +:::caution +Biome ne prend pas en charge les fichiers `biome.json` imbriqués, ni en ligne de commande ni en LSP. [Suivre et aider à la prise en charge dans le ticket correspondant](https://github.com/biomejs/biome/issues/2228) +::: + +:::note +Les commandes de Biome prennent en charge l’utilisation de l’option `--config-path` et de la variable d’environnement `BIOME_CONFIG_PATH`, +ce qui vous permet de spécifier un fichier de configuration personnalisé ou un répertoire où Biome peut trouver un fichier `biome.json` ou `biome.jsonc`. +Quand vous utilisez `--config-path` ou `BIOME_CONFIG_PATH`, le processus standard de résolution du fichier de configuration est **désactivé.** + +Si `--config-path` ou `BIOME_CONFIG_PATH` pointent directement sur un fichier, vous pouvez utiliser des noms autres que `biome.json` ou `biome.jsonc`. +Biome lira un fichier `.json` en utilisant un analyseur JSON standard. +Pour les fichiers avec d’autres extensions, Biome les traitera comme des fichiers `.jsonc`, en utilisant un analyseur JSON plus flexible qui autorise les commentaires et les virgules de fin. +::: + + +## Partager un fichier de configuration + +Le champ `extends` vous permet de séparer votre configuration en plusieurs fichiers. +Ainsi, vous pouvez partager des réglages communs avec différents projets ou dossiers. + +Voici un exemple de la manière dont vous pourriez mettre en place votre configuration pour étendre un fichier de configuration `common.json` : + +```json title="biome.json" +{ + "extends": ["./common.json"] +} +``` + +Les entrées définies dans `extends` sont résolues à partir du chemin où le fichier `biome.json` est défini. +Elles sont traitées dans leur ordre d’apparition, les réglages d’une entrée écrasant ceux des entrées précédentes. + +Biome est capable de résoudre des fichiers de configuration à partir du répertoire `node_modules/`. +Donc, vous pouvez exporter votre fichier de configuration depuis un paquet et l’importer dans plusieurs projets. + +Supposons que vous voulez partager une configuration d’un paquet appelé `@org/shared-configs`, en utilisant le spécificateur `@org/shared-configs/biome`. +Vous devez créer une entrée `exports` dans le `package.json` de ce paquet : + +```json title="package.json" ins={5,3} +{ + "name": "@org/shared-configs", + "type": "module", + "exports": { + "./biome": "./biome.json" + } +} +``` + +Assurez-vous que `@org/shared-configs` est correctement installé dans votre projet et mettez à jour le fichier `biome.json` pour qu’il ressemble à l’extrait suivant : + +```json title="biome.json" +{ + "extends": ["@org/shared-configs/biome"] +} +``` + +Biome tentera de **résoudre** votre paquet `@org/shared-configs/` depuis votre répertoire de travail. +Le répertoire de travail est : + +- en utilisant l’interface en ligne de commande, le répertoire depuis lequel vous exécutez vos scripts. + Cela correspond habituellement à la localisation de votre fichier `package.json` ; +- en utilisant le LSP, le répertoire racine de votre projet. + +:::caution +Les chemins commençant avec un point `.` ou finissant en `.json` ou `.jsonc` **ne seront pas** résolus depuis `node_modules/`. +::: + +Pour plus d’informations sur l’algorithme de résolution, consulter la [documentation de Node.js](https://nodejs.org/api/esm.html#resolution-and-loading-algorithm). + + +## Ignorer des fichiers + +La première façon de contrôler quels fichiers et répertoires sont traités par Biome est de les lister en ligne de commande. +Avec la commande suivante, nous ne formatons que `file1.js` et tous les fichiers du répertoire `src`. +Les répertoires sont parcourus de manière récursive. + +```shell +biome format file1.js src/ +``` + +:::caution +Les globs utilisés en ligne de commande ne sont pas interprétés par Biome. +Ils sont évalués par votre shell. +Certains shells ne prennent pas en charge le glob récursif `**`. +::: + +Le fichier de configuration de Biome peut être utilisé pour affiner les fichiers à traiter. +Vous pouvez lister explicitement les fichiers à traiter en utilisant `include` et ceux à ne pas traiter en utilisant `ignore`. +`include` et `ignore` acceptent des motifs glob comme `src/**/*.js`. +Référez-vous à la [section correspondante](#la-syntaxe-glob-expliquée) pour connaître les glob pris en charge. +`include` s’applique toujours avant `ignore`, +ce qui vous permet d’inclure certains fichiers et d’en ignorer certains parmi ceux que vous avez inclus. + +:::note +`include` et `ignore` ont une sémantique légèrement différente. +`include` n’empêche pas Biome de parcourir un dossier. +Si vous voulez empêcher Biome de parcourir un dossier, vous devez ajouter le dossier à `ignore`. +::: + +Biome fournit les champs globaux `files.include` et `files.ignore`, qui s’appliquent à tous les outils. +Vous pouvez également inclure et ignorer des fichiers au niveau d’un outil, en utilisant `.include` et `.ignore`. +Notez qu’ils n’écrasent pas les `files.include` et `files.ignore` globaux. +`files.include` et `files.ignore` s’appliquent en premier avant les `include` et `ignore` d’un outil. + +Prenons la configuration suivante : + +```json title="biome.json" +{ + "files": { + "include": ["src/**/*.js", "test/**/*.js"], + "ignore": ["**/*.min.js"], + }, + "linter": { + "ignore": ["test"] + } +} +``` + +Et exécutons la commande suivante : + +```shell +biome format test/ +``` + +La commande formatera les fichiers du répertoire `test` qui se terminent par l’extension `.js` et pas par l’extension `.min.js`. +Les fichiers de `src` ne sont pas formatés parce que le répertoire n’est pas listé en ligne de commande. + +Si nous exécutons la commande suivante, aucun fichier n’est analysé parce que le répertoire `test` est explicitement ignoré par l’outil de linting. + +```shell +biome lint test/ +``` + +Biome résoud les globs par rapport au répertoire de travail. +Le répertoire de travail est le répertoire où vous exécutez habituellement une commande en ligne de commande, +ce qui veut dire que vous devez faire **particulièrement attention** quand le fichier de configuration est placé dans un répertoire différent de celui où vous exécutez votre commande. +Dans le cas d’un éditeur (LSP), le répertoire de travail est le répertoire racine de votre projet. + +Prenons un projet qui contient deux répertoires `backend/` et `frontend/`, ainsi que le fichier de configuration de Biome que nous avons présenté auparavant. +Dans le réperoire `frontend/`, un `package.json` spécifie un script `format` qui exécute l’outil de formatage de Biome. + + +- backend + - ... +- biome.json +- frontend + - package.json + - src + - ... + - test + - ... + + +```json title="frontend/package.json" +{ + "name": "frontend-project", + "scripts": { + "format": "biome format --write ./" + } +} +``` + +Quand vous exécutez le script `format` de `frontend/package.json`, +le répertoire de travail résolu par ce script sera `frontend/`. +Les globs `src/**/*.js` et `test/**/*.js` auront pour répertoire de « base » `frontend/`. +Ainsi, seuls les fichiers dans `frontend/src/` et `frontend/test/` seront formatés. + +```json title="biome.json" +{ + "files": { + "include": ["src/**/*.js", "src/**/*.ts"], + "ignore": ["test"] + }, + "formatter": { + "indentStyle": "space" + } +} +``` + +:::caution +`ignore` et `include` dans `overrides` ont une sémantique **différente :** +- pour `ignore` : si un fichier correspond aux globs, **ne pas faire appliquer** la configuration dans cet écrasement et continuer à faire appliquer les écrasements suivants ; +- pour `include` : si un fichier correspond aux globs, **faire appliquer** la configuration dans cet écrasement et continuer à faire appliquer les écrasements suivants. +::: + +:::note +Par défaut, Biome ignore toujours certains fichiers réputés être des **fichiers protégés,** +ce qui veut dire que jamais aucun diagnostic ne sera émis par Biome pour ces fichiers. +En ce moment, les fichiers suivants sont protégés : + +- `composer.lock` +- `npm-shrinkwrap.json` +- `package-lock.json` +- `yarn.lock` +::: + +:::note +Vous pouvez également [ignorer les fichiers ignorés par votre VCS](/fr/guides/integrate-in-vcs#use-the-ignore-file). +::: + + +## Fichiers bien connus + +Voici quelques fichiers bien connus que nous traitons spécifiquement, en nous basant sur leur nom plutôt que sur leur extension. +Actuellement, les fichiers bien connus ne sont que des fichiers semblables à du JSON, mais nous pourrons élargir la liste pour y inclure d’autres types quand nous prendrons en charge de nouveaux analyseurs. + +Les fichiers suivants sont analysés comme des fichiers `JSON` avec les deux options `json.parser.allowComments` et `json.parser.allowTrailingCommas` définies à `false`. + +- `.all-contributorsrc` +- `.arcconfig` +- `.auto-changelog` +- `.bowerrc` +- `.c8rc` +- `.htmlhintrc` +- `.imgbotconfig` +- `.jslintrc` +- `.nycrc` +- `.tern-config` +- `.tern-project` +- `.vuerc` +- `.watchmanconfig` +- `mcmod.info` + +Les fichiers suivants sont analysés comme des fichiers `JSON` avec l’option `json.parser.allowComments` définie à `true`, mais avec l’option `json.parser.allowTrailingCommas` définie à `false`. C’est parce que les outils traitant ces fichiers ne peuvent qu’enlever les commentaires. + +- `.ember-cli` +- `.eslintrc.json` +- `.jscsrc` +- `.jshintrc` +- `tslint.json` +- `turbo.json` + +Les fichiers suivants sont analysés comme des fichiers `JSON` avec les options `json.parser.allowComments` et `json.parser.allowTrailingCommas` définies à `true`. C’est parce que les outils traitant ces fichiers sont conçus pour tenir compte de tels réglages. + +- `.babelrc` +- `.babelrc.json` +- `.devcontainer.json` +- `.hintrc` +- `.hintrc.json` +- `.swcrc` +- `api-documenter.json` +- `api-extractor.json` +- `babel.config.json` +- `deno.json` +- `devcontainer.json` +- `dprint.json` +- `jsconfig.json` +- `jsr.json` +- `language-configuration.json` +- `tsconfig.json` +- `typedoc.json` +- `typescript.json` + + +## La syntaxe glob expliquée + +Un motif glob spécifie un ensemble de noms de fichier. +Biome prend en charge les globs suivants : + +- `*` correspond à zéro ou plusieurs caractères. Il ne peut pas correspondre au séparateur de chemin `/`. +- `**` correspond à des répertoires et à des fichiers de manière récursive. + Cette séquence **doit** former un seul composant de chemin, + donc `**a` et `b**` sont tous les deux invalides et provoqueront une erreur. + Une séquence de plus de deux caractères `*` consécutifs est également invalide. +- `[...]` correspond à n’importe quel caractère se trouvant entre les crochets. + Des plages de caractères peuvent également être spécifiées, selon leur ordre dans Unicode, donc + `[0-9]`, par exemple, spécifie tout caractère compris entre 0 et 9. +- `[!...]` est la négation de `[...]`, c’est-à-dire qu’il correspond à tout caractère ne se trouvant **pas** entre les crochets. + +Quelques exemples : + +- `dist/**` correspond au réperoire `dist` et à tous les fichiers dans ce réperoire. +- `**/test/**` correspond à tous les fichiers de tout répertoire appelé `test`, indépendamment de son emplacement. Par exemple, `dist/test`, `src/test`. +- `**/*.js` correspond à tous les fichiers se terminant par l’extension `.js` dans tous les répertoires. + +Biome utilise une librairie glob qui traite tous les globs comme s’ils avaient un préfixe `**/`. +Ce qui veut dire que `src/**/*.js` et `**/src/**/*.js` sont traités de manière identique. +Ils correspondent à la fois à `src/file.js` et à `test/src/file.js`. + +:::caution +Ces motifs peuvent être utilisés dans un fichier de configuration de Biome. +Les motifs glob utilisés en ligne de commande ne sont pas interprétés par Biome. +Ils sont développés par votre shell. +Certains shells ne prennent pas en charge le glob récursif `**`. +::: diff --git a/src/content/docs/linter/rules/index.mdx b/src/content/docs/linter/rules/index.mdx index 26e41cd2e..aceadb247 100644 --- a/src/content/docs/linter/rules/index.mdx +++ b/src/content/docs/linter/rules/index.mdx @@ -176,8 +176,8 @@ New rules that are still under development.

    Nursery rules require exp | [noHeadElement](/linter/rules/no-head-element) | Prevent usage of `` element in a Next.js project. | | | [noHeadImportInDocument](/linter/rules/no-head-import-in-document) | Prevent using the `next/head` module in `pages/_document.js` on Next.js projects. | | | [noImgElement](/linter/rules/no-img-element) | Prevent usage of `` element in a Next.js project. | | -| [noIrregularWhitespace](/linter/rules/no-irregular-whitespace) | Disallows the use of irregular whitespace characters. | | | [noIrregularWhitespace](/linter/rules/no-irregular-whitespace) | Disallows the use of irregular whitespace characters. | | +| [noIrregularWhitespace](/linter/rules/no-irregular-whitespace) | Disallows the use of irregular whitespace characters. | | | [noMissingVarFunction](/linter/rules/no-missing-var-function) | Disallow missing var function for css variables. | | | [noNestedTernary](/linter/rules/no-nested-ternary) | Disallow nested ternary expressions. | | | [noOctalEscape](/linter/rules/no-octal-escape) | Disallow octal escape sequences in string literals | | diff --git a/src/content/docs/linter/rules/no-unused-variables.mdx b/src/content/docs/linter/rules/no-unused-variables.mdx index 5fc445719..e0fae6d92 100644 --- a/src/content/docs/linter/rules/no-unused-variables.mdx +++ b/src/content/docs/linter/rules/no-unused-variables.mdx @@ -33,9 +33,11 @@ This rule won't report unused imports. If you want to report unused imports, enable [noUnusedImports](https://biomejs.dev/linter/rules/no-unused-imports/). -From `v1.9.0`, the rule won't check unused function parameters any more. +:::caution +From `v2.0.0`, the rule won't check unused function parameters any more. If you want to report unused function parameters, enable [noUnusedFunctionParameters](https://biomejs.dev/linter/rules/no-unused-function-parameters/). +::: ## Examples diff --git a/src/content/docs/linter/rules/use-explicit-type.mdx b/src/content/docs/linter/rules/use-explicit-type.mdx index df04c2ff8..57d5788a2 100644 --- a/src/content/docs/linter/rules/use-explicit-type.mdx +++ b/src/content/docs/linter/rules/use-explicit-type.mdx @@ -41,7 +41,7 @@ function test() { } ``` -
    code-block.ts:1:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    > 1 │ // Should indicate that no value is returned (void)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    > 2 │ function test() {
    ^^^^^^^^^^^^^
    3 │ return;
    4 │ }

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:1:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    > 1 │ // Should indicate that no value is returned (void)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    > 2 │ function test() {
    ^^^^^^^^^^^^^
    3 │ return;
    4 │ }

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    ```ts // Should indicate that a number is returned @@ -50,14 +50,14 @@ var fn = function () { }; ``` -
    code-block.ts:2:10 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ // Should indicate that a number is returned
    > 2 │ var fn = function () {
    ^^^^^^^^^^^^^
    > 3 │ return 1;
    > 4 │ };
    ^
    5 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:2:10 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ // Should indicate that a number is returned
    > 2 │ var fn = function () {
    ^^^^^^^^^^^^^
    > 3 │ return 1;
    > 4 │ };
    ^
    5 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    ```ts // Should indicate that a string is returned var arrowFn = () => 'test'; ``` -
    code-block.ts:2:15 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ // Should indicate that a string is returned
    > 2 │ var arrowFn = () => 'test';
    ^^^^^^^^^^^^
    3 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:2:15 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ // Should indicate that a string is returned
    > 2 │ var arrowFn = () => 'test';
    ^^^^^^^^^^^^
    3 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    ```ts class Test { @@ -68,7 +68,7 @@ class Test { } ``` -
    code-block.ts:3:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ class Test {
    2 │ // Should indicate that no value is returned (void)
    > 3 │ method() {
    ^^^^^^^^^^
    > 4 │ return;
    > 5 │ }
    ^
    6 │ }
    7 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:3:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ class Test {
    2 │ // Should indicate that no value is returned (void)
    > 3 │ method() {
    ^^^^^^^^^^
    > 4 │ return;
    > 5 │ }
    ^
    6 │ }
    7 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    ```ts // Should indicate that no value is returned (void) @@ -77,14 +77,14 @@ function test(a: number) { } ``` -
    code-block.ts:1:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    > 1 │ // Should indicate that no value is returned (void)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    > 2 │ function test(a: number) {
    ^^^^^^^^^^^^^
    3 │ a += 1;
    4 │ }

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:1:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    > 1 │ // Should indicate that no value is returned (void)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    > 2 │ function test(a: number) {
    ^^^^^^^^^^^^^
    3 │ a += 1;
    4 │ }

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    ```ts // Should use const assertions const func = (value: number) => ({ type: 'X', value }) as any; ``` -
    code-block.ts:2:14 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ // Should use const assertions
    > 2 │ const func = (value: number) => ({ type: 'X', value }) as any;
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    3 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:2:14 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ // Should use const assertions
    > 2 │ const func = (value: number) => ({ type: 'X', value }) as any;
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    3 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    The following pattern is considered incorrect code for a higher-order function, as the returned function does not specify a return type: @@ -92,7 +92,7 @@ The following pattern is considered incorrect code for a higher-order function, const arrowFn = () => () => {}; ``` -
    code-block.ts:1:23 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    > 1 │ const arrowFn = () => () => {};
    ^^^^^^^^
    2 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:1:23 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    > 1 │ const arrowFn = () => () => {};
    ^^^^^^^^
    2 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    ```ts const arrowFn = () => { @@ -100,7 +100,7 @@ const arrowFn = () => { } ``` -
    code-block.ts:2:10 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ const arrowFn = () => {
    > 2 │ return () => { };
    ^^^^^^^^^
    3 │ }
    4 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:2:10 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ const arrowFn = () => {
    > 2 │ return () => { };
    ^^^^^^^^^
    3 │ }
    4 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    The following pattern is considered incorrect code for a higher-order function because the function body contains multiple statements. We only check whether the first statement is a function return. @@ -114,7 +114,7 @@ function f() { } ``` -
    code-block.ts:1:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    > 1 │ // A function has multiple statements in the body
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    > 2 │ function f() {
    ^^^^^^^^^^
    3 │ if (x) {
    4 │ return 0;

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:1:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    > 1 │ // A function has multiple statements in the body
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    > 2 │ function f() {
    ^^^^^^^^^^
    3 │ if (x) {
    4 │ return 0;

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    ```ts // A function has multiple statements in the body @@ -126,7 +126,7 @@ function f() { } ``` -
    code-block.ts:1:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    > 1 │ // A function has multiple statements in the body
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    > 2 │ function f() {
    ^^^^^^^^^^
    3 │ let str = "test";
    4 │ return (): string => {

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:1:1 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    > 1 │ // A function has multiple statements in the body
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    > 2 │ function f() {
    ^^^^^^^^^^
    3 │ let str = "test";
    4 │ return (): string => {

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    The following pattern is considered incorrect code for an interface method without a return type: @@ -136,7 +136,7 @@ interface Array { } ``` -
    code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ interface Array<Type> {
    > 2 │ method();
    ^^^^^^^^^
    3 │ }
    4 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ interface Array<Type> {
    > 2 │ method();
    ^^^^^^^^^
    3 │ }
    4 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    The following pattern is considered incorrect code for a type declaration of a function without a return type: @@ -147,7 +147,7 @@ type MyObject = { }; ``` -
    code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ type MyObject = {
    > 2 │ (input: string);
    ^^^^^^^^^^^^^^^^
    3 │ propertyName: string;
    4 │ };

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ type MyObject = {
    > 2 │ (input: string);
    ^^^^^^^^^^^^^^^^
    3 │ propertyName: string;
    4 │ };

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    The following pattern is considered incorrect code for an abstract class method without a return type: @@ -157,7 +157,7 @@ abstract class MyClass { } ``` -
    code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ abstract class MyClass {
    > 2 │ public abstract method();
    ^^^^^^^^^^^^^^^^^^^^^^^^^
    3 │ }
    4 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ abstract class MyClass {
    > 2 │ public abstract method();
    ^^^^^^^^^^^^^^^^^^^^^^^^^
    3 │ }
    4 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    The following pattern is considered incorrect code for an abstract class getter without a return type: @@ -167,7 +167,7 @@ abstract class P { } ``` -
    code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ abstract class P<T> {
    > 2 │ abstract get poke();
    ^^^^^^^^^^^^^^^^^^^^
    3 │ }
    4 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ abstract class P<T> {
    > 2 │ abstract get poke();
    ^^^^^^^^^^^^^^^^^^^^
    3 │ }
    4 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    The following pattern is considered incorrect code for a function declaration in a namespace without a return type: @@ -177,7 +177,7 @@ declare namespace myLib { } ``` -
    code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ declare namespace myLib {
    > 2 │ function makeGreeting(s: string);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    3 │ }
    4 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:2:3 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ declare namespace myLib {
    > 2 │ function makeGreeting(s: string);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    3 │ }
    4 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    The following pattern is considered incorrect code for a module function export without a return type: @@ -187,7 +187,7 @@ declare module "foo" { } ``` -
    code-block.ts:2:18 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ declare module "foo" {
    > 2 │ export default function bar();
    ^^^^^^^^^^^^^^^
    3 │ }
    4 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    +
    code-block.ts:2:18 lint/nursery/useExplicitType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Missing return type on function.

    1 │ declare module "foo" {
    > 2 │ export default function bar();
    ^^^^^^^^^^^^^^^
    3 │ }
    4 │

    Declaring the return type makes the code self-documenting and can speed up TypeScript type checking.

    Add a return type annotation.

    ### Valid diff --git a/src/pages/metadata/rules.json.js b/src/pages/metadata/rules.json.js index d82245cee..49d941b9b 100644 --- a/src/pages/metadata/rules.json.js +++ b/src/pages/metadata/rules.json.js @@ -1213,7 +1213,7 @@ export function GET() { "eslintUnusedImports": "no-unused-vars" } ], - "docs": " Disallow unused variables.\n\n There is an exception to this rule:\n variables that starts with underscore, e.g. `let _something;`.\n\n The pattern of having an underscore as prefix of a name of variable is a very diffuse\n pattern among programmers, and Biome decided to follow it.\n\n This rule won't report unused imports.\n If you want to report unused imports,\n enable [noUnusedImports](https://biomejs.dev/linter/rules/no-unused-imports/).\n\n From `v1.9.0`, the rule won't check unused function parameters any more.\n If you want to report unused function parameters,\n enable [noUnusedFunctionParameters](https://biomejs.dev/linter/rules/no-unused-function-parameters/).\n\n ## Examples\n\n ### Invalid\n\n ```js,expect_diagnostic\n let a = 4;\n a++;\n ```\n\n ```js,expect_diagnostic\n function foo() {}\n ```\n\n ```js,expect_diagnostic\n export function foo(myVar) {\n console.log('foo');\n }\n ```\n\n ```js,expect_diagnostic\n function foo() {\n foo();\n }\n ```\n\n ```js,expect_diagnostic\n const foo = () => {\n foo();\n };\n ```\n\n ```ts,expect_diagnostic\n export function f() {}\n ```\n\n ### Valid\n\n ```js\n function foo(b) {\n console.log(b)\n };\n foo();\n ```\n\n ```js\n export function foo(_unused) {}\n ```\n\n ```ts\n function used_overloaded(): number;\n function used_overloaded(s: string): string;\n function used_overloaded(s?: string) {\n return s;\n }\n used_overloaded();\n ```\n" + "docs": " Disallow unused variables.\n\n There is an exception to this rule:\n variables that starts with underscore, e.g. `let _something;`.\n\n The pattern of having an underscore as prefix of a name of variable is a very diffuse\n pattern among programmers, and Biome decided to follow it.\n\n This rule won't report unused imports.\n If you want to report unused imports,\n enable [noUnusedImports](https://biomejs.dev/linter/rules/no-unused-imports/).\n\n :::caution\n From `v2.0.0`, the rule won't check unused function parameters any more.\n If you want to report unused function parameters,\n enable [noUnusedFunctionParameters](https://biomejs.dev/linter/rules/no-unused-function-parameters/).\n :::\n\n ## Examples\n\n ### Invalid\n\n ```js,expect_diagnostic\n let a = 4;\n a++;\n ```\n\n ```js,expect_diagnostic\n function foo() {}\n ```\n\n ```js,expect_diagnostic\n export function foo(myVar) {\n console.log('foo');\n }\n ```\n\n ```js,expect_diagnostic\n function foo() {\n foo();\n }\n ```\n\n ```js,expect_diagnostic\n const foo = () => {\n foo();\n };\n ```\n\n ```ts,expect_diagnostic\n export function f() {}\n ```\n\n ### Valid\n\n ```js\n function foo(b) {\n console.log(b)\n };\n foo();\n ```\n\n ```js\n export function foo(_unused) {}\n ```\n\n ```ts\n function used_overloaded(): number;\n function used_overloaded(s: string): string;\n function used_overloaded(s?: string) {\n return s;\n }\n used_overloaded();\n ```\n" }, "useArrayLiterals": { "deprecated": false, @@ -1449,7 +1449,7 @@ export function GET() { "eslintTypeScript": "no-restricted-imports" } ], - "docs": " Disallow specified modules when loaded by import or require.\n\n ## Examples\n \n ```json\n {\n \"noRestrictedImports\": {\n \"options\": {\n \"paths\": {\n \"lodash\": \"Using lodash is not encouraged\",\n \"underscore\": \"Using underscore is not encouraged\"\n }\n }\n }\n }\n ```\n\n **Since**: `v2`\n \n ```json,options\n {\n \"options\": {\n \"paths\": {\n \"lodash\": \"Using lodash is not encouraged.\",\n \"underscore\": \"\",\n \"import-foo\": { \"importNames\": [\"Bar\"] },\n \"import-bar\": { \"allowImportNames\": [\"Bar\"] }\n }\n }\n }\n ```\n\n ### Invalid\n\n ```js,expect_diagnostic,use_options\n import \"lodash\";\n import \"allowed-import\";\n ```\n\n ```js,expect_diagnostic,use_options\n const underscore = await import(\"underscore\");\n ```\n\n ```js,expect_diagnostic,use_options\n const lodash = require(\"lodash\");\n ```\n\n ### Valid\n\n ```js,use_options\n import \"allowed-import\";\n const myImport = await import(\"allowed-import\");\n const myImport = require(\"allowed-import\");\n ```\n\n ## Supported Import Syntaxes\n\n The rule tries to parse the context of the import to see if only one or more\n of the allowed import names have been imported from a given module.\n\n All of the following import syntaxes are supported:\n\n ### Static `import` (and re-`export`) declarations\n\n Normal static [ESM `import` declarations](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) are supported:\n\n ```js\n // Static `import` declaration:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import\n\n import \"sideeffect-import\";\n import * as alias1 from \"namespace-import\";\n import { export1, export2 as alias2, \"string-name\" as alias3, default as defaultExport /* … */ } from \"named-import\";\n import defaultExport from \"default-import\";\n import defaultExport, * as alias5 from \"default+namespace-import\";\n import defaultExport, { export1 /* … */ } from \"default+named-import\";\n\n export * from \"namespace-import\";\n export { export1, export2 as alias2, \"string-name\" as alias3, default as defaultExport /* … */ } from \"named-import\";\n ```\n\n The TypeScript-specific [type-only imports](https://www.typescriptlang.org/docs/handbook/modules/reference.html#type-only-imports-and-exports) are also supported:\n\n ```ts\n // TypeScript-specific type-only `import` declaration:\n // https://www.typescriptlang.org/docs/handbook/modules/reference.html#type-only-imports-and-exports\n\n import { type export1, type export2 as alias2, type \"string-name\" as alias3, type default as defaultExport /* … */ } from \"named-import\";\n import type { export1, export2 as alias2, \"string-name\" as alias3, default as defaultExport /* … */ } from \"named-import\";\n import type defaultExport from \"default-import\";\n ```\n\n ### Dynamic `import()` calls\n\n Dynamic [ESM `import()` calls](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import) are also supported.\n Because the import is performed at runtime, it is not always possible to determine which import names are being used.\n Nevertheless, the rule tries to detect the following common usage patterns where the set of imported names is determined statically:\n\n ```js\n // Dynamic `import()` calls:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import\n\n import('sideeffect-import');\n await import('sideeffect-import');\n\n // ...using await + destructuring-assignment:\n const alias1 = await import('namespace-import');\n const { default: defaultExport } = await import('default-import')\n const { export1, export2: alias2, \"string-name\": alias3, default: defaultExport /* … */ } = await import(\"named-import\");\n\n // ...using then() with arrow-function + destructuring parameters:\n import('namespace-import').then(alias1 => { /* … */ });\n import('namespace-import').then((alias1) => { /* … */ });\n import('default-import').then(({ default: defaultExport }) => { /* … */ });\n import('named-import').then(({ export1, export2: alias2, \"string-name\": alias3, default: defaultExport /* … */ }) => { /* … */ });\n\n // ...using then() with function + destructuring parameters:\n import('namespace-import').then(function(alias1) { /* … */ });\n import('default-import').then(function({ default: defaultExport }) { /* … */ });\n import('named-import').then(function({ export1, export2: alias2, \"string-name\": alias3, default: defaultExport /* … */ }) { /* … */ });\n\n // Standalone `import('...')` calls that appear in some other\n // unrecognized context will be treated as a namespace import,\n // because the return value of `import('...')` is a namespace object:\n\n myFunction(...args, import(\"namespace-import\"), ...args)\n ```\n\n ### Dynamic `require()` calls\n\n NodeJS-style `require()` calls are also supported.\n Due to the way `require()` works, these are always treated as default imports.\n\n ```js\n // Dynamic `require()` call\n const defaultExport = require('default-import');\n ```\n\n ## Options\n \n ```json\n {\n \"noRestrictedImports\": {\n \"options\": {\n \"paths\": {\n \"lodash\": \"Using lodash is not encouraged\",\n \"underscore\": \"Using underscore is not encouraged\"\n }\n }\n }\n }\n ```\n \n **Since**: `v2`\n\n Use the options to specify the import paths and/or specific import names within them that you want to restrict in your source code.\n\n ```json,options\n {\n \"options\": {\n \"paths\": {\n \"lodash\": \"Using lodash is not encouraged\",\n \"underscore\": \"Using underscore is not encouraged\",\n \"import-foo\": {\n \"importNames\": [\"Bar\"],\n \"message\": \"Please use Bar from /import-bar/baz/ instead.\"\n },\n \"import-bar\": {\n \"allowImportNames\": [\"Bar\"],\n \"message\": \"Please use only Bar from import-bar.\"\n }\n }\n }\n }\n ```\n\n ### `paths`\n\n An object that lists the import paths that are either wholly or partially restricted.\n\n The keys of the object are the import paths to restrict, and the values can be:\n - A string with a custom message to show in the diagnostic when any\n - An object with additional options, as explained [below](#pathsimportimportnames).\n\n In the example below, we restrict the two paths `services-deprecated` and `constants`, with two particular messages.\n Importing `services-deprecated` will emit the message `Use services instead.`.\n Importing `constants` will emit the message `This file will be deleted soon.`:\n\n ```json,options\n {\n \"options\": {\n \"paths\": {\n \"services-deprecated\": {\n \"message\": \"Use services instead.\"\n },\n\t \"constants\": \"This file will be deleted soon.\"\n }\n }\n }\n ```\n\n ```js,expect_diagnostic,use_options\n import * as namespaceAlias from 'services-deprecated';\n ```\n\n ```js,expect_diagnostic,use_options\n import { export1 } from 'constants';\n ```\n\n ### `paths..message`\n\n Specifies the message to be shown when the restricted import is used.\n\n A default message will be generated if `message` is empty or not specified:\n\n ```json,options\n {\n \"options\": {\n \"paths\": {\n \"import-foo\": { }\n }\n }\n }\n ```\n\n ```js,expect_diagnostic,use_options\n import { export1 } 'import-foo';\n ```\n\n ### `paths..importNames`\n\n Specifies the array of import names that should be explicitly forbidden.\n The following import name specifiers are supported:\n\n - **Named import:** `\"someIdentifier\"` (`import { someIdentifier } from 'named-import'`)\n - **Default import:** `\"default\"` (`import defaultExport from 'default-import'`)\n - **Namespace import:** `\"*\"` (`import * as alias1 from 'namespace-import'`)\n - **Side effect/Bare import:** `\"\"` (`import \"sideeffect-import\"`)\n\n **Only one of `importNames` and `allowImportNames` must be specified.**\n\n ```json,options\n {\n \"options\": {\n \"paths\": {\n \"import-foo\": {\n \"importNames\": [\"Bar\"],\n \"message\": \"Please use Bar from /import-bar/baz/ instead.\"\n }\n }\n }\n }\n ```\n\n #### Invalid\n\n ```js,expect_diagnostic,use_options\n import { Bar } from 'import-foo';\n ```\n\n #### Valid\n\n ```js,use_options\n import { Foo } from 'import-foo';\n ```\n\n ### `paths..allowImportNames`\n\n Specifies the set of import names that should be explicitly allowed.\n See `importNames` for the set of supported import name specifiers.\n\n **Only one of `importNames` and `allowImportNames` must be specified.**\n\n ```json,options\n {\n \"options\": {\n \"paths\": {\n \"import-bar\": {\n \"allowImportNames\": [\"Bar\"]\n }\n }\n }\n }\n ```\n\n #### Invalid\n\n ```js,expect_diagnostic,use_options\n import { Baz } from 'import-bar';\n ```\n\n #### Valid\n\n ```js,use_options\n import { Bar } from 'import-bar';\n ```\n" + "docs": " Disallow specified modules when loaded by import or require.\n\n ## Examples\n\n ```json\n {\n \"noRestrictedImports\": {\n \"options\": {\n \"paths\": {\n \"lodash\": \"Using lodash is not encouraged\",\n \"underscore\": \"Using underscore is not encouraged\"\n }\n }\n }\n }\n ```\n\n **Since**: `v2`\n\n ```json,options\n {\n \"options\": {\n \"paths\": {\n \"lodash\": \"Using lodash is not encouraged.\",\n \"underscore\": \"\",\n \"import-foo\": { \"importNames\": [\"Bar\"] },\n \"import-bar\": { \"allowImportNames\": [\"Bar\"] }\n }\n }\n }\n ```\n\n ### Invalid\n\n ```js,expect_diagnostic,use_options\n import \"lodash\";\n import \"allowed-import\";\n ```\n\n ```js,expect_diagnostic,use_options\n const underscore = await import(\"underscore\");\n ```\n\n ```js,expect_diagnostic,use_options\n const lodash = require(\"lodash\");\n ```\n\n ### Valid\n\n ```js,use_options\n import \"allowed-import\";\n const myImport = await import(\"allowed-import\");\n const myImport = require(\"allowed-import\");\n ```\n\n ## Supported Import Syntaxes\n\n The rule tries to parse the context of the import to see if only one or more\n of the allowed import names have been imported from a given module.\n\n All of the following import syntaxes are supported:\n\n ### Static `import` (and re-`export`) declarations\n\n Normal static [ESM `import` declarations](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) are supported:\n\n ```js\n // Static `import` declaration:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import\n\n import \"sideeffect-import\";\n import * as alias1 from \"namespace-import\";\n import { export1, export2 as alias2, \"string-name\" as alias3, default as defaultExport /* … */ } from \"named-import\";\n import defaultExport from \"default-import\";\n import defaultExport, * as alias5 from \"default+namespace-import\";\n import defaultExport, { export1 /* … */ } from \"default+named-import\";\n\n export * from \"namespace-import\";\n export { export1, export2 as alias2, \"string-name\" as alias3, default as defaultExport /* … */ } from \"named-import\";\n ```\n\n The TypeScript-specific [type-only imports](https://www.typescriptlang.org/docs/handbook/modules/reference.html#type-only-imports-and-exports) are also supported:\n\n ```ts\n // TypeScript-specific type-only `import` declaration:\n // https://www.typescriptlang.org/docs/handbook/modules/reference.html#type-only-imports-and-exports\n\n import { type export1, type export2 as alias2, type \"string-name\" as alias3, type default as defaultExport /* … */ } from \"named-import\";\n import type { export1, export2 as alias2, \"string-name\" as alias3, default as defaultExport /* … */ } from \"named-import\";\n import type defaultExport from \"default-import\";\n ```\n\n ### Dynamic `import()` calls\n\n Dynamic [ESM `import()` calls](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import) are also supported.\n Because the import is performed at runtime, it is not always possible to determine which import names are being used.\n Nevertheless, the rule tries to detect the following common usage patterns where the set of imported names is determined statically:\n\n ```js\n // Dynamic `import()` calls:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import\n\n import('sideeffect-import');\n await import('sideeffect-import');\n\n // ...using await + destructuring-assignment:\n const alias1 = await import('namespace-import');\n const { default: defaultExport } = await import('default-import')\n const { export1, export2: alias2, \"string-name\": alias3, default: defaultExport /* … */ } = await import(\"named-import\");\n\n // ...using then() with arrow-function + destructuring parameters:\n import('namespace-import').then(alias1 => { /* … */ });\n import('namespace-import').then((alias1) => { /* … */ });\n import('default-import').then(({ default: defaultExport }) => { /* … */ });\n import('named-import').then(({ export1, export2: alias2, \"string-name\": alias3, default: defaultExport /* … */ }) => { /* … */ });\n\n // ...using then() with function + destructuring parameters:\n import('namespace-import').then(function(alias1) { /* … */ });\n import('default-import').then(function({ default: defaultExport }) { /* … */ });\n import('named-import').then(function({ export1, export2: alias2, \"string-name\": alias3, default: defaultExport /* … */ }) { /* … */ });\n\n // Standalone `import('...')` calls that appear in some other\n // unrecognized context will be treated as a namespace import,\n // because the return value of `import('...')` is a namespace object:\n\n myFunction(...args, import(\"namespace-import\"), ...args)\n ```\n\n ### Dynamic `require()` calls\n\n NodeJS-style `require()` calls are also supported.\n Due to the way `require()` works, these are always treated as default imports.\n\n ```js\n // Dynamic `require()` call\n const defaultExport = require('default-import');\n ```\n\n ## Options\n\n ```json\n {\n \"noRestrictedImports\": {\n \"options\": {\n \"paths\": {\n \"lodash\": \"Using lodash is not encouraged\",\n \"underscore\": \"Using underscore is not encouraged\"\n }\n }\n }\n }\n ```\n\n **Since**: `v2`\n\n Use the options to specify the import paths and/or specific import names within them that you want to restrict in your source code.\n\n ```json,options\n {\n \"options\": {\n \"paths\": {\n \"lodash\": \"Using lodash is not encouraged\",\n \"underscore\": \"Using underscore is not encouraged\",\n \"import-foo\": {\n \"importNames\": [\"Bar\"],\n \"message\": \"Please use Bar from /import-bar/baz/ instead.\"\n },\n \"import-bar\": {\n \"allowImportNames\": [\"Bar\"],\n \"message\": \"Please use only Bar from import-bar.\"\n }\n }\n }\n }\n ```\n\n ### `paths`\n\n An object that lists the import paths that are either wholly or partially restricted.\n\n The keys of the object are the import paths to restrict, and the values can be:\n - A string with a custom message to show in the diagnostic when any\n - An object with additional options, as explained [below](#pathsimportimportnames).\n\n In the example below, we restrict the two paths `services-deprecated` and `constants`, with two particular messages.\n Importing `services-deprecated` will emit the message `Use services instead.`.\n Importing `constants` will emit the message `This file will be deleted soon.`:\n\n ```json,options\n {\n \"options\": {\n \"paths\": {\n \"services-deprecated\": {\n \"message\": \"Use services instead.\"\n },\n\t \"constants\": \"This file will be deleted soon.\"\n }\n }\n }\n ```\n\n ```js,expect_diagnostic,use_options\n import * as namespaceAlias from 'services-deprecated';\n ```\n\n ```js,expect_diagnostic,use_options\n import { export1 } from 'constants';\n ```\n\n ### `paths..message`\n\n Specifies the message to be shown when the restricted import is used.\n\n A default message will be generated if `message` is empty or not specified:\n\n ```json,options\n {\n \"options\": {\n \"paths\": {\n \"import-foo\": { }\n }\n }\n }\n ```\n\n ```js,expect_diagnostic,use_options\n import { export1 } 'import-foo';\n ```\n\n ### `paths..importNames`\n\n Specifies the array of import names that should be explicitly forbidden.\n The following import name specifiers are supported:\n\n - **Named import:** `\"someIdentifier\"` (`import { someIdentifier } from 'named-import'`)\n - **Default import:** `\"default\"` (`import defaultExport from 'default-import'`)\n - **Namespace import:** `\"*\"` (`import * as alias1 from 'namespace-import'`)\n - **Side effect/Bare import:** `\"\"` (`import \"sideeffect-import\"`)\n\n **Only one of `importNames` and `allowImportNames` must be specified.**\n\n ```json,options\n {\n \"options\": {\n \"paths\": {\n \"import-foo\": {\n \"importNames\": [\"Bar\"],\n \"message\": \"Please use Bar from /import-bar/baz/ instead.\"\n }\n }\n }\n }\n ```\n\n #### Invalid\n\n ```js,expect_diagnostic,use_options\n import { Bar } from 'import-foo';\n ```\n\n #### Valid\n\n ```js,use_options\n import { Foo } from 'import-foo';\n ```\n\n ### `paths..allowImportNames`\n\n Specifies the set of import names that should be explicitly allowed.\n See `importNames` for the set of supported import name specifiers.\n\n **Only one of `importNames` and `allowImportNames` must be specified.**\n\n ```json,options\n {\n \"options\": {\n \"paths\": {\n \"import-bar\": {\n \"allowImportNames\": [\"Bar\"]\n }\n }\n }\n }\n ```\n\n #### Invalid\n\n ```js,expect_diagnostic,use_options\n import { Baz } from 'import-bar';\n ```\n\n #### Valid\n\n ```js,use_options\n import { Bar } from 'import-bar';\n ```\n" }, "noSecrets": { "deprecated": false,