{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 1,
      "id": "1",
      "metadata": {},
      "outputs": [],
      "source": [
        ". ./nbs_header.ps1\n",
        ". ./core.ps1"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "id": "2",
      "metadata": {},
      "outputs": [],
      "source": [
        "# rustup component add clippy rust-src rustfmt"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "id": "3",
      "metadata": {},
      "outputs": [],
      "source": [
        "# rustup target add wasm32-unknown-unknown"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "id": "4",
      "metadata": {},
      "outputs": [],
      "source": [
        "# rustup update"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "id": "5",
      "metadata": {},
      "outputs": [],
      "source": [
        "if (!(Search-Command \"cargo-binstall\")) {\n",
        "    # { cargo +nightly-2025-11-01 install --timings cargo-binstall --locked } | Invoke-Block -OnError Continue\n",
        "    if ($IsWindows) {\n",
        "        Set-ExecutionPolicy Unrestricted -Scope Process; iex (iwr \"https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.ps1\").Content\n",
        "    } else {\n",
        "        curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash\n",
        "    }\n",
        "}"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "id": "6",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "polyglot/scripts/init.livemd / url: https://github.com/i574n/polyglot / owner: i574n / domain: github.com\n",
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/scripts / $ScriptBlock:\n",
            "'cargo binstall -y --git https://$domain/$owner/cargo-outdated.git --locked cargo-outdated'\n",
            "\n",
            " INFO resolve: Resolving package: 'cargo-outdated'\n",
            " INFO Cloning with worktree::receiving pack: Enumerating objects → 34.0 objects\n",
            " INFO ℹCloning with worktree::receiving pack::create index file::indexing → done 34.0 objects in 0.00s (11.7K objects/s)\n",
            " INFO ℹCloning with worktree::receiving pack::create index file::decompressing → done 210.1KB in 0.00s (71.7MB/s)\n",
            " INFO ℹCloning with worktree::receiving pack::create index file::Resolving → done 34.0 objects in 0.05s (672.0 objects/s)\n",
            " INFO ℹCloning with worktree::receiving pack::create index file::Decoding → done 210.1KB in 0.05s (4.2MB/s)\n",
            " INFO ✓Cloning with worktree::receiving pack::create index file::writing index file → done 2.0KB in 0.00s (35.2MB/s)\n",
            " INFO ✓Cloning with worktree::receiving pack::create index file → done 34.0 objects in 0.05s (633.0 objects/s)\n",
            " INFO ℹCloning with worktree::receiving pack::read pack → done 56.8KB in 0.06s (989.3KB/s)\n",
            " INFO ℹCloning with worktree::receiving pack::checkout → done 27.0 files in 0.00s (19.9K files/s)\n",
            " INFO ℹCloning with worktree::receiving pack::writing → done 208.7KB in 0.00s (151.7MB/s)\n",
            " WARN Failed to send quickinstall report for package cargo-outdated-0.15.0-x86_64-unknown-linux-gnu: Failed to download from remote: could not HEAD https://warehouse-clerk-tmp.vercel.app/api/crate/cargo-outdated-0.15.0-x86_64-unknown-linux-gnu.tar.gz: HTTP status client error (402 Payment Required) for url (https://warehouse-clerk-tmp.vercel.app/api/crate/cargo-outdated-0.15.0-x86_64-unknown-linux-gnu.tar.gz)\n",
            " WARN Failed to send quickinstall report for package cargo-outdated-0.15.0-x86_64-unknown-linux-musl: Failed to download from remote: could not HEAD https://warehouse-clerk-tmp.vercel.app/api/crate/cargo-outdated-0.15.0-x86_64-unknown-linux-musl.tar.gz: HTTP status client error (402 Payment Required) for url (https://warehouse-clerk-tmp.vercel.app/api/crate/cargo-outdated-0.15.0-x86_64-unknown-linux-musl.tar.gz)\n",
            " WARN The package cargo-outdated v0.15.0 (x86_64-unknown-linux-musl) has been downloaded from github.com\n",
            " INFO This will install the following binaries:\n",
            " INFO   - cargo-outdated (cargo-outdated -> /home/runner/.cargo/bin/cargo-outdated)\n",
            " INFO Installing binaries...\n",
            " INFO Done in 907.924757ms\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   64G   81G  45% /\n"
          ]
        }
      ],
      "source": [
        "if (!(Search-Command \"cargo-outdated\")) {\n",
        "    $url = git ls-remote --get-url\n",
        "    $owner = ($url -split '/' | Select-Object -Last 2 | Select-Object -First 1) -replace '\\.git$', '' ?? $env:GITHUB_REPOSITORY_OWNER\n",
        "    $domain = ($url -split '/' | Select-Object -Last 3 | Select-Object -First 1) ?? $env:GITHUB_SERVER_URL -replace 'https?://', ''\n",
        "    Write-Output \"polyglot/scripts/init.livemd / url: $url / owner: $owner / domain: $domain\"\n",
        "\n",
        "    { cargo binstall -y --git https://$domain/$owner/cargo-outdated.git --locked cargo-outdated } | Invoke-Block -OnError Continue\n",
        "}"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "id": "7",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/scripts / $ScriptBlock:\n",
            "'cargo binstall -y sccache'\n",
            "\n",
            " INFO resolve: Resolving package: 'sccache'\n",
            " WARN Failed to send quickinstall report for package sccache-0.18.0-x86_64-unknown-linux-musl: Failed to download from remote: could not HEAD https://warehouse-clerk-tmp.vercel.app/api/crate/sccache-0.18.0-x86_64-unknown-linux-musl.tar.gz: HTTP status client error (402 Payment Required) for url (https://warehouse-clerk-tmp.vercel.app/api/crate/sccache-0.18.0-x86_64-unknown-linux-musl.tar.gz)\n",
            " WARN Failed to send quickinstall report for package sccache-0.18.0-x86_64-unknown-linux-gnu: Failed to download from remote: could not HEAD https://warehouse-clerk-tmp.vercel.app/api/crate/sccache-0.18.0-x86_64-unknown-linux-gnu.tar.gz: HTTP status client error (402 Payment Required) for url (https://warehouse-clerk-tmp.vercel.app/api/crate/sccache-0.18.0-x86_64-unknown-linux-gnu.tar.gz)\n",
            " WARN resolve: When resolving sccache bin sccache-dist is not found. But since it requires features dist-server, this bin is ignored.\n",
            " WARN The package sccache v0.18.0 (x86_64-unknown-linux-musl) has been downloaded from github.com\n",
            " INFO This will install the following binaries:\n",
            " INFO   - sccache (sccache -> /home/runner/.cargo/bin/sccache)\n",
            " INFO Installing binaries...\n",
            " INFO Done in 980.78009ms\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   64G   81G  45% /\n"
          ]
        }
      ],
      "source": [
        "if (!(Search-Command \"sccache\")) {\n",
        "    # { cargo install --timings sccache --locked } | Invoke-Block -OnError Continue\n",
        "    { cargo binstall -y sccache } | Invoke-Block -OnError Continue\n",
        "}"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "id": "8",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/scripts / $ScriptBlock:\n",
            "'cargo binstall -y wasm-pack'\n",
            "\n",
            " INFO resolve: Resolving package: 'wasm-pack'\n",
            " WARN Failed to send quickinstall report for package wasm-pack-0.15.0-x86_64-unknown-linux-musl: Failed to download from remote: could not HEAD https://warehouse-clerk-tmp.vercel.app/api/crate/wasm-pack-0.15.0-x86_64-unknown-linux-musl.tar.gz: HTTP status client error (402 Payment Required) for url (https://warehouse-clerk-tmp.vercel.app/api/crate/wasm-pack-0.15.0-x86_64-unknown-linux-musl.tar.gz)\n",
            " WARN Failed to send quickinstall report for package wasm-pack-0.15.0-x86_64-unknown-linux-gnu: Failed to download from remote: could not HEAD https://warehouse-clerk-tmp.vercel.app/api/crate/wasm-pack-0.15.0-x86_64-unknown-linux-gnu.tar.gz: HTTP status client error (402 Payment Required) for url (https://warehouse-clerk-tmp.vercel.app/api/crate/wasm-pack-0.15.0-x86_64-unknown-linux-gnu.tar.gz)\n",
            " WARN The package wasm-pack v0.15.0 (x86_64-unknown-linux-musl) has been downloaded from github.com\n",
            " INFO This will install the following binaries:\n",
            " INFO   - wasm-pack (wasm-pack -> /home/runner/.cargo/bin/wasm-pack)\n",
            " INFO Installing binaries...\n",
            " INFO Done in 716.68923ms\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   64G   81G  45% /\n"
          ]
        }
      ],
      "source": [
        "if (!(Search-Command \"wasm-pack\")) {\n",
        "    # { cargo install --timings wasm-pack --locked } | Invoke-Block -OnError Continue\n",
        "    { cargo binstall -y wasm-pack } | Invoke-Block -OnError Continue\n",
        "}"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "id": "9",
      "metadata": {},
      "outputs": [],
      "source": [
        "if (!(Search-Command \"trunk\")) {\n",
        "    # { cargo install --timings trunk --version 0.21.14 } | Invoke-Block -OnError Continue\n",
        "    { cargo binstall -y trunk --version 0.21.14 } | Invoke-Block -OnError Continue\n",
        "}"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "id": "10",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/scripts / $ScriptBlock:\n",
            "'. $(Search-Command bunx) --bun playwright@1.44.0 install'\n",
            "\n",
            "Downloading Chromium 125.0.6422.26 (playwright build v1117) from https://playwright.azureedge.net/builds/chromium/1117/chromium-linux.zip\n",
            "|                                                                                |   0% of 156.8 MiB\n",
            "|■■■■■■■■                                                                        |  10% of 156.8 MiB\n",
            "|■■■■■■■■■■■■■■■■                                                                |  20% of 156.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■                                                        |  30% of 156.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                                |  40% of 156.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                        |  50% of 156.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                |  60% of 156.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                        |  70% of 156.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                |  80% of 156.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■        |  90% of 156.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■| 100% of 156.8 MiB\n",
            "Chromium 125.0.6422.26 (playwright build v1117) downloaded to /home/runner/.cache/ms-playwright/chromium-1117\n",
            "Downloading FFMPEG playwright build v1009 from https://playwright.azureedge.net/builds/ffmpeg/1009/ffmpeg-linux.zip\n",
            "|                                                                                |   0% of 2.6 MiB\n",
            "|■■■■■■■■                                                                        |  10% of 2.6 MiB\n",
            "|■■■■■■■■■■■■■■■■                                                                |  21% of 2.6 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■                                                        |  30% of 2.6 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                                |  41% of 2.6 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                |  60% of 2.6 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                        |  74% of 2.6 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                |  80% of 2.6 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■        |  92% of 2.6 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■| 100% of 2.6 MiB\n",
            "FFMPEG playwright build v1009 downloaded to /home/runner/.cache/ms-playwright/ffmpeg-1009\n",
            "Downloading Firefox 125.0.1 (playwright build v1449) from https://playwright.azureedge.net/builds/firefox/1449/firefox-ubuntu-22.04.zip\n",
            "|                                                                                |   0% of 85.7 MiB\n",
            "|■■■■■■■■                                                                        |  10% of 85.7 MiB\n",
            "|■■■■■■■■■■■■■■■■                                                                |  20% of 85.7 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■                                                        |  30% of 85.7 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                                |  40% of 85.7 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                        |  50% of 85.7 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                |  60% of 85.7 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                        |  70% of 85.7 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                |  80% of 85.7 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■        |  90% of 85.7 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■| 100% of 85.7 MiB\n",
            "Firefox 125.0.1 (playwright build v1449) downloaded to /home/runner/.cache/ms-playwright/firefox-1449\n",
            "Downloading Webkit 17.4 (playwright build v2003) from https://playwright.azureedge.net/builds/webkit/2003/webkit-ubuntu-22.04.zip\n",
            "|                                                                                |   0% of 84.8 MiB\n",
            "|■■■■■■■■                                                                        |  10% of 84.8 MiB\n",
            "|■■■■■■■■■■■■■■■■                                                                |  20% of 84.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■                                                        |  30% of 84.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                                |  40% of 84.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                        |  50% of 84.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                |  60% of 84.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                        |  70% of 84.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                |  80% of 84.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■        |  90% of 84.8 MiB\n",
            "|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■| 100% of 84.8 MiB\n",
            "Webkit 17.4 (playwright build v2003) downloaded to /home/runner/.cache/ms-playwright/webkit-2003\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   65G   80G  46% /\n"
          ]
        }
      ],
      "source": [
        "if (!(Search-Command \"nix\")) {\n",
        "    { . $(Search-Command bunx) --bun playwright@1.44.0 install } | Invoke-Block -OnError Continue\n",
        "}"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "id": "11",
      "metadata": {},
      "outputs": [],
      "source": [
        "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "id": "12",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/scripts / $ScriptBlock:\n",
            "'Install-Module -Name PowerShellGet -Force -AllowClobber -Scope CurrentUser'\n",
            "\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   65G   80G  46% /\n"
          ]
        }
      ],
      "source": [
        "{ Install-Module -Name PowerShellGet -Force -AllowClobber -Scope CurrentUser } | Invoke-Block -OnError Continue"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 13,
      "id": "13",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/scripts / $ScriptBlock:\n",
            "'if ((Get-PSRepository -Name PSGallery).InstallationPolicy -ne 'Trusted') { Set-PSRepository -Name PSGallery -InstallationPolicy Trusted }'\n",
            "\n",
            "\n",
            "# Invoke-Block / $retry: 1/1 / $Location:  / Get-Location: /home/runner/work/polyglot/polyglot/scripts / $OnError: Continue / $exitcode: 0 / $Error: 'Cannot find a variable with the name 'PackageManagementProvider'. Cannot find a variable with the name 'SourceLocation'.' / $ScriptBlock:\n",
            "'if ((Get-PSRepository -Name PSGallery).InstallationPolicy -ne 'Trusted') { Set-PSRepository -Name PSGallery -InstallationPolicy Trusted }'\n",
            " / $result:\n",
            "''\n",
            " / $output:\n",
            "''\n",
            "\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   65G   80G  46% /\n"
          ]
        }
      ],
      "source": [
        "{ if ((Get-PSRepository -Name PSGallery).InstallationPolicy -ne 'Trusted') { Set-PSRepository -Name PSGallery -InstallationPolicy Trusted } } | Invoke-Block -OnError Continue"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 14,
      "id": "14",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/scripts / $ScriptBlock:\n",
            "'. $(Search-Command bun) install --cwd .. --frozen-lockfile'\n",
            "\n",
            "bun install v1.4.2 (744846f84)\n",
            "\n",
            "+ @types/node@22.10.10\n",
            "+ npm-check-updates@17.1.14\n",
            "+ typescript@5.5.0-dev.20240404\n",
            "\n",
            "4 packages installed [94.00ms]\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   66G   80G  46% /\n"
          ]
        }
      ],
      "source": [
        "{ . $(Search-Command bun) install --cwd .. --frozen-lockfile } | Invoke-Block"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 15,
      "id": "15",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/scripts / $ScriptBlock:\n",
            "'. \"$ScriptDir/dep_spiral.ps1\"'\n",
            "\n",
            "dep_spiral.ps1 / url: https://github.com/i574n/polyglot / owner: i574n / domain: github.com\n",
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language / $ScriptBlock:\n",
            "'git pull'\n",
            "\n",
            "Already up to date.\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   66G   80G  46% /\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   66G   80G  46% /\n"
          ]
        }
      ],
      "source": [
        "{ . \"$ScriptDir/dep_spiral.ps1\" } | Invoke-Block"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 16,
      "id": "16",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/scripts / $ScriptBlock:\n",
            "'. \"$ScriptDir/dep_spiral_extension.ps1\"'\n",
            "\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   66G   80G  46% /\n"
          ]
        }
      ],
      "source": [
        "{ . \"$ScriptDir/dep_spiral_extension.ps1\" } | Invoke-Block -OnError Continue"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 17,
      "id": "17",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/scripts / $ScriptBlock:\n",
            "'. \"$ScriptDir/dep_hyperui.ps1\"'\n",
            "\n",
            "dep_hyperui.ps1 / url: https://github.com/i574n/polyglot / owner: i574n / domain: github.com\n",
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/deps/hyperui / $ScriptBlock:\n",
            "'git pull'\n",
            "\n",
            "Already up to date.\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   66G   80G  46% /\n",
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/deps/hyperui / $ScriptBlock:\n",
            "'. $(Search-Command bun) install --frozen-lockfile'\n",
            "\n",
            "bun install v1.4.2 (744846f84)\n",
            "\n",
            "+ @eslint/eslintrc@3.3.1\n",
            "+ @formkit/auto-animate@0.9.0\n",
            "+ @next/eslint-plugin-next@15.5.2\n",
            "+ @radix-ui/react-tooltip@1.2.8\n",
            "+ @tailwindcss/cli@4.1.16\n",
            "+ @tailwindcss/forms@0.5.10\n",
            "+ @tailwindcss/postcss@4.1.16\n",
            "+ @tailwindcss/typography@0.5.19\n",
            "+ @typescript-eslint/parser@8.46.2\n",
            "+ eslint@9.35.0\n",
            "+ eslint-config-next@15.5.2\n",
            "+ eslint-plugin-react@7.37.5\n",
            "+ eslint-plugin-unicorn@61.0.2\n",
            "+ fast-glob@3.3.3\n",
            "+ gray-matter@4.0.3\n",
            "+ next-mdx-remote@5.0.0\n",
            "+ postcss@8.5.6\n",
            "+ prettier@3.6.2\n",
            "+ prettier-plugin-tailwindcss@0.6.14\n",
            "+ prismjs@1.30.0\n",
            "+ react-intersection-observer@9.16.0\n",
            "+ rehype-external-links@3.0.0\n",
            "+ remark@15.0.1\n",
            "+ remark-html@16.0.1\n",
            "+ tailwindcss@4.1.16\n",
            "+ typescript@5.9.3\n",
            "+ next@15.5.2\n",
            "+ react@19.1.1\n",
            "+ react-dom@19.1.1\n",
            "\n",
            "655 packages installed [1.98s]\n",
            "\n",
            "Blocked 1 postinstall. Run `bun pm untrusted` for details.\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   66G   79G  46% /\n",
            "\n",
            "────────────────────────────────────────────────────────────────────────────────\n",
            "core.Invoke-Block / Get-Location: /home/runner/work/polyglot/polyglot/deps/hyperui / $ScriptBlock:\n",
            "'. $(Search-Command bun) --bun run build'\n",
            "\n",
            "⚠ No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache\n",
            "Attention: Next.js now collects completely anonymous telemetry regarding usage.\n",
            "This information is used to shape Next.js' roadmap and prioritize features.\n",
            "You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:\n",
            "https://nextjs.org/telemetry\n",
            "\n",
            "   ▲ Next.js 15.5.2\n",
            "\n",
            "   Creating an optimized production build ...\n",
            " ✓ Compiled successfully in 9.9s\n",
            "   Linting and checking validity of types ...\n",
            "   Collecting page data ...\n",
            "   Generating static pages (0/21) ...\n",
            "   Generating static pages (5/21) \n",
            "   Generating static pages (10/21) \n",
            "   Generating static pages (15/21) \n",
            " ✓ Generating static pages (21/21)\n",
            "   Finalizing page optimization ...\n",
            "   Collecting build traces ...\n",
            "\n",
            "Route (app)                                                   Size  First Load JS\n",
            "┌ ○ /                                                        622 B         106 kB\n",
            "├ ○ /_not-found                                              135 B         102 kB\n",
            "├ ● /[components]/[category]                                 625 B         106 kB\n",
            "├ ● /[components]/[category]/[collection]                  1.77 kB         140 kB\n",
            "├ ● /about/[slug]                                            966 B         136 kB\n",
            "├   ├ /about/acknowledgements\n",
            "├   └ /about/faqs\n",
            "├ ƒ /api/search                                              135 B         102 kB\n",
            "├ ○ /blog                                                    625 B         106 kB\n",
            "├ ● /blog/[slug]                                             966 B         136 kB\n",
            "├   ├ /blog/how-to-write-better-containers-in-tailwindcss\n",
            "├   ├ /blog/remove-number-input-spinners-with-tailwindcss\n",
            "├   ├ /blog/animated-border-gradient-with-tailwindcss\n",
            "├   └ [+6 more paths]\n",
            "├ ○ /favourites                                              876 B         136 kB\n",
            "├ ○ /robots.txt                                              135 B         102 kB\n",
            "└ ○ /sitemap.xml                                             135 B         102 kB\n",
            "+ First Load JS shared by all                               102 kB\n",
            "  ├ chunks/255-e3bf15caf1f1e0f9.js                         45.9 kB\n",
            "  ├ chunks/4bd1b696-c023c6e3521b1417.js                    54.4 kB\n",
            "  └ other shared chunks (total)                            1.92 kB\n",
            "\n",
            "\n",
            "○  (Static)   prerendered as static content\n",
            "●  (SSG)      prerendered as static HTML (uses generateStaticParams)\n",
            "ƒ  (Dynamic)  server-rendered on demand\n",
            "\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   66G   79G  46% /\n",
            "core.Invoke-Block / df - /dev/root\n",
            "Filesystem      Size  Used Avail Use% Mounted on\n",
            "/dev/root       145G   66G   79G  46% /\n"
          ]
        }
      ],
      "source": [
        "if (!(Test-Path ../deps/hyperui/.next/package.json)) {\n",
        "    { . \"$ScriptDir/dep_hyperui.ps1\" } | Invoke-Block\n",
        "}"
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "PowerShell",
      "language": "pwsh",
      "name": "pwsh"
    },
    "language_info": {
      "name": "pwsh"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 5
}
