Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
freem
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Openai/693c70a4-9498-8011-87ee-efb5576cc53d
(section)
Add languages
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== gpt-5-1-thinking == === User: esadmin@vmi2744768:/projects$ ls === esadmin@vmi2744768:~/projects$ ls _wildcard.whitestone.intel-key.pem devops iam-portal nextcloudold stbible _wildcard.whitestone.intel.pem ecom mail npm traefik bible-sword-rest fsapi mcp oauth2-proxy traefik-forward-auth bind9 github1 mcpo open01 wireguard caddy github1.pub mkdocs openwebui wp01 caddy-wsi headscale n8n portainer custom_mcpo iam nextcloud public_ca cesadmin@vmi2744768:~/projects$ cd caddy-wsi cesadmin@vmi2744768:~/projects/caddy-wsi$ sudo find / -name "''Caddyfile''" 2>/dev/null ^C cesadmin@vmi2744768:~/projects/caddy-wsi$ sudo find / -name "''Caddyfile''" 2>/dev/null ^C cesadmin@vmi2744768:~/projects/caddy-wsi$ sudo find / -name "docker-compose.yml" 2>/dev/null /var/lib/docker/volumes/nextcloud_data/_data/apps/suspicious_login/vendor/league/flysystem/docker-compose.yml /var/lib/docker/volumes/nextcloud_nextcloud_root/_data/apps/suspicious_login/vendor/league/flysystem/docker-compose.yml /var/lib/docker/volumes/wp01-wp/_data/wp-content/plugins/daggerhart-openid-connect-generic/docker-compose.yml /var/lib/docker/overlay2/246ef9cc3e1310942be7df6933cd099eee0190d9353c0a444dcdd369d364f894/merged/app/node_modules/knex/scripts/stress-test/docker-compose.yml /var/lib/docker/overlay2/246ef9cc3e1310942be7df6933cd099eee0190d9353c0a444dcdd369d364f894/merged/app/node_modules/knex/scripts/docker-compose.yml /var/lib/docker/overlay2/d6628eb878c89389250a6309ee7ae0ebaab75897e8d44ede3c04b309babc47a9/merged/app/docker-compose.yml === Assistant: Good, this tells us a lot. === Good, this tells us a lot. Right now your VPS is in this state: * ~/projects/caddy-wsi/docker-compose.yml β only <code>mkdocs</code> service, no web server * There is no <code>caddy</code> / <code>wsi-website</code> container running * Your earlier Docker error mentioned: ... mounting "/home/cesadmin/projects/caddy/Caddyfile" ... β so the old website stack lived in <code>~/projects/caddy</code>, not in caddy-wsi. So: : ==== 1. Your original WhiteStoneIntel.com stack was defined under ~/projects/caddy with a docker-compose.yml and a Caddyfile. ==== # At some point you: - created a new repo caddy-wsi with only a mkdocs service, and - did a git pull there and started working from that folder. # Now: - caddy-wsi runs only MkDocs (port 8020). - The old Caddy stack in <code>~/projects/caddy</code> is not running, so there is nothing serving whitestoneintel.com to NPM β Cloudflare sees 502. Your HTML change did not cause this; it just happened while the infra was already drifting. ==== Weβll try to revive the original stack under ~/projects/caddy. ==== ===== <syntaxhighlight lang="bash">cd ~/projects/caddy ===== ls </syntaxhighlight> You should ideally see something like: * docker-compose.yml * Caddyfile * site/ or similar If docker-compose.yml is there, view it: <syntaxhighlight lang="bash">cat docker-compose.yml </syntaxhighlight> If Caddyfile is there, view it: <syntaxhighlight lang="bash">cat Caddyfile </syntaxhighlight> ===== From ~/projects/caddy: ===== <syntaxhighlight lang="bash">docker compose up -d </syntaxhighlight> Then check: <syntaxhighlight lang="bash">docker ps | grep -E "caddy|wsi" </syntaxhighlight> If a caddy or wsi-website container appears and stays Up, test: * In browser: https://whitestoneintel.com/en/ * If still 502, try from server: <syntaxhighlight lang="bash">curl -I http://npm:80 curl -I http://<caddy-container-name>:80 </syntaxhighlight> (If youβre not comfortable with these curls, just tell me the docker ps result.) ==== After you confirm the site is up again, we should: ==== # Decide the official layout: - Option B (recommended): - wsi-website = full source (Tailwind, HTML, etc.) - caddy = infra + Caddy + /site for deployment - caddy-wsi can be kept just for MkDocs, or merged later. # Update your CI/CD so that it: - Builds in <code>wsi-website</code> - Deploys only static files into ~/projects/caddy/site on the VPS - Does not touch ~/projects/caddy/docker-compose.yml or the Caddyfile. # Make sure your docker-compose.yml on the VPS has a clean Caddy service like: ``<code>yaml services: caddy: image: caddy:latest container_name: caddy restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./site:/usr/share/caddy - caddy_data:/data - caddy_config:/config networks: - npm-net networks: npm-net: external: true volumes: caddy_data: caddy_config: <syntaxhighlight> ==== Run these exact commands and paste the output: ==== </syntaxhighlight>bash cd ~/projects/caddy ls cat docker-compose.yml <syntaxhighlight> If there is a Caddyfile: </syntaxhighlight>bash cat Caddyfile <syntaxhighlight> Then: </syntaxhighlight>bash docker compose up -d docker ps | grep -E "caddy|wsi" </code>`` With that, I can tell you: * whether the old stack still works, and * whether we should restore / adjust paths or rebuild the Caddy stack in caddy-wsi. === User: exactly, I don't know your sayings here are different previous one? === exactly, I don't know your sayings here are different previous one? === Assistant: Youβre not crazy π β we did bounce around a bit, but the architecture is actually consistent. === Youβre not crazy π β we did bounce around a bit, but the architecture is actually consistent. Let me line it up clearly and reconcile the βpreviousβ explanation with what is running right now. ==== On the VPS: ==== * Folder: ``<code>bash ~/projects/caddy </code>`<code> Contains: - Caddyfile - docker-compose.yml - site/ (static website files) * Container: - wsi-caddy (image caddy:latest) - Mounted volume: ./site β /usr/share/caddy inside the container You already confirmed inside the container: <syntaxhighlight lang="bash">docker exec -it wsi-caddy sh -c "ls -R /usr/share/caddy" /usr/share/caddy: assets en index.html zh ... </syntaxhighlight> So the live public site at: * https://whitestoneintel.com * https://wsi.whitestoneintel.com is now served by: : No more port 8070. No wsi-website container in production. Just Caddy + static files. ==== On your Dell/WSL you have: ==== <syntaxhighlight lang="bash">~/projects/wsi-website </syntaxhighlight> With: * index.html * en/, zh/ * assets/ * Dockerfile, docker-compose.yml * mkdocs.yml, mkdoc-01.yml, mkdocs-02.yml * postcss.config.js, tailwind.config.js * package.json, package-lock.json * docs/, iam/, nextcloud/, openwebui/ etc. This is the full source repo, the βcodebaseβ for your WSI website and related docs. Thatβs exactly what the PDF summary you saw was describing: your local wsi-website is the single source of truth. LOCAL wsi-website folder is comβ¦ ==== The PDF (previous explanation) said: ==== * Repo 1: wsi-website β full source (local) * Repo 2: caddy-wsi β deployment infra (Caddyfile, docker-compose.yml, site/) * Missing link: no automated sync from wsi-website β caddy-wsi/site β VPS LOCAL wsi-website folder is comβ¦ Then it proposed two options: * Option A β Manual deployment * Option B β CI/CD with GitHub Actions LOCAL wsi-website folder is comβ¦ What we actually did on the VPS today is basically a simplified Option A, but with a slightly different folder name: * Instead of ~/projects/caddy-wsi on the VPS, weβre using ~/projects/caddy. * ~/projects/caddy/site is now your deployment folder. '' You manually copied the built site into it: </code>`<code>bash cp -r ~/projects/caddy-wsi/site/'' ~/projects/caddy/site/ # later simplified to just assets/en/zh/index.html into ~/projects/caddy/site <syntaxhighlight> So conceptually, nothing has changed from the original idea: : The only differences are: # The name of the deployment folder on the VPS is now caddy instead of caddy-wsi. # We chose a pure static Caddy setup instead of running the wsi-website app container on port 8070. ==== Your question: ==== : From a professional DevOps perspective: # Local (Dev) β Safe place to: - edit HTML/Markdown - run npm, Tailwind, MkDocs, etc. - test without breaking production # GitHub (Repo) β Gives you: - version history (who changed what, when) - rollback (if something breaks, go back one commit) - collaboration (others can contribute safely) - security (no editing random files directly on a live server) # VPS (Prod) β Only runs: - Caddy container - static built files in /usr/share/caddy - no npm install or Tailwind builds, no editing in the container This pattern (Dev β Repo β Prod) is standard production practice in industry, especially if you later want: * multiple environments (staging, production) * CI/CD (GitHub Actions auto-deploy when you push) * auditability and compliance ==== Right now the picture is: ==== * LOCAL - ~/projects/wsi-website β Source of truth * VPS - ~/projects/caddy - Caddyfile, docker-compose.yml, site/ (static) - Container: wsi-caddy (serves /usr/share/caddy) We manually synced content by copying the site files onto the VPS. So the previous explanation and the current state are not actually conflicting β we just: * switched to a simpler static deployment on the VPS, and * we havenβt yet wired a formal pipeline from wsi-website β VPS. ==== Until we formalize CI/CD, you can think like this: ==== # Edit content only in LOCAL: - ~/projects/wsi-website/en/... - ~/projects/wsi-website/zh/... - assets, etc. # Commit & push (for safety): </syntaxhighlight>bash cd ~/projects/wsi-website git add . git commit -m "Update homepage text" git push <syntaxhighlight>3. On VPS, sync into Caddy (manual step, which we can standardize later): </syntaxhighlight>bash # Example pattern (you already used similar commands) rsync -av --delete ~/projects/wsi-website/en/ ~/projects/caddy/site/en/ rsync -av --delete ~/projects/wsi-website/zh/ ~/projects/caddy/site/zh/ rsync -av ~/projects/wsi-website/assets/ ~/projects/caddy/site/assets/ cp ~/projects/wsi-website/index.html ~/projects/caddy/site/index.html </code>`` # Caddy doesnβt even need a restart for static files: - Just refresh https://whitestoneintel.com/en/ in your browser. Later, if you want, we can make step 3 automated with GitHub Actions (Option B from the PDF), but itβs not required to keep the site running. ===== - No, we are not contradicting the previous design. ===== * The architecture is the same: Local source β Git β VPS deploy. * What changed is just: - which folder on the VPS is used (caddy instead of caddy-wsi), and - we simplified to static Caddy instead of a full app container on port 8070. If youβd like, next step I can directly write a small, clean βsync scriptβ you run on VPS (e.g. sync-wsi-site.sh) so that your mental model is: > === User: I think you forgot again: esadmin@vmi2744768:/projects/wsi-website-prod$ cat docker-compose.yml === I think you forgot again: esadmin@vmi2744768:~/projects/wsi-website-prod$ cat docker-compose.yml services: caddy: image: caddy:latest container_name: wsi-caddy restart: unless-stopped expose: * "80" volumes: * ./Caddyfile:/etc/caddy/Caddyfile * ./site:/usr/share/caddy * caddy_data:/data * caddy_config:/config networks: * npm-net networks: npm-net: external: true volumes: caddy_data: caddy_config: cesadmin@vmi2744768:~/projects/wsi-website-prod$ === Assistant: Youβre right to call that out β and thank you for pasting the actual docker-compose.yml. === Youβre right to call that out β and thank you for pasting the actual docker-compose.yml. Letβs align on what you currently have and whether itβs correct. ==== <syntaxhighlight lang="yaml">services: ==== caddy: image: caddy:latest container_name: wsi-caddy restart: unless-stopped expose: * "80" volumes: * ./Caddyfile:/etc/caddy/Caddyfile * ./site:/usr/share/caddy * caddy_data:/data * caddy_config:/config networks: * npm-net networks: npm-net: external: true volumes: caddy_data: caddy_config: </syntaxhighlight> π This is perfectly valid for Option B (NPM as the public reverse proxy) if NPM is on the same Docker host and also attached to <code>npm-net</code>. * expose: "80" means: - Caddy listens on port 80 inside the container. - The port is only visible to other containers on the same Docker network. - It is not published to the host (no 0.0.0.0:PORT mapping). * networks: - npm-net means: - Caddy is joined to the same Docker network where Nginx Proxy Manager should be. - NPM can reach Caddy via Docker DNS name wsi-caddy:80. So: * My earlier suggestion with ports: "8088:80" is one valid pattern (host-port based). * What you have now (expose + shared network) is another valid pattern, and actually cleaner when everything is inside Docker. We just need to wire NPM correctly to this. ==== From VPS shell: ==== # Check that npm-net exists: <syntaxhighlight lang="bash">docker network ls | grep npm-net </syntaxhighlight> # Inspect who is on that network: <syntaxhighlight lang="bash">docker network inspect npm-net | grep Name </syntaxhighlight> You should see something like: * wsi-caddy * npm (your Nginx Proxy Manager container) If both are on npm-net, youβre good. ==== In NPM UI β Hosts β Proxy Hosts β Add Proxy Host: ==== ===== - Domain Names: whitestoneintel.com ===== * Scheme: http * Forward Hostname / IP: wsi-caddy * Forward Port: 80 * Websockets support: ON (safe to enable) * SSL tab: - Request a new SSL certificate (Letβs Encrypt) - Force SSL - HTTP/2 support ON ===== Either: ===== * Create a second Proxy Host: - Domain: www.whitestoneintel.com - Forward: http://wsi-caddy:80 - SSL same as above OR * Configure NPM to redirect www.whitestoneintel.com β whitestoneintel.com. ===== - Domain Names: wsi.whitestoneintel.com ===== * Scheme: http * Forward Hostname / IP: wsi-caddy * Forward Port: 80 * SSL configuration similar to A/B. ==== Because NPM terminates HTTPS, Caddy only has to serve HTTP: ==== <syntaxhighlight lang="caddyfile">:80 { root * /usr/share/caddy file_server } </syntaxhighlight> If you want host-based logic later, you can refine, for example: <syntaxhighlight lang="caddyfile">http://whitestoneintel.com { root * /usr/share/caddy file_server } http://wsi.whitestoneintel.com { root * /usr/share/caddy file_server } </syntaxhighlight> But the simple :80 block is enough for now while NPM does the SNI/host routing. ==== From: ==== <syntaxhighlight lang="bash">cd ~/projects/wsi-website-prod docker compose down docker compose up -d docker logs wsi-caddy --tail 20 </syntaxhighlight> If logs show: * config loaded * listening on :80 * no obvious errors then Caddy is fine. ===== - β Your current docker-compose.yml with expose: "80" is correct for the βNPM as front, Caddy behindβ model. ===== * β The key missing piece is just NPMβs Proxy Host pointing to wsi-caddy:80, not to VPS IP + host port. * β No need to change your compose file right now. If you tell me what you currently have set in NPMβs <code>Forward Hostname / IP</code> and Port for whitestoneintel.com, I can adjust it line by line. === User: You forgot we did it: kce2ces@Dell01:/projects/wsi-website$ cat /projects/wsi-website/src/index.html === You forgot we did it: kce2ces@Dell01:~/projects/wsi-website$ cat ~/projects/wsi-website/src/index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>WhiteStone Intelligence (WSI)</title> <!-- Basic styling (remove if Tailwind is injected globally) --> <style> body { font-family: Arial, sans-serif; margin: 40px; line-height: 1.6; } footer { margin-top: 40px; font-size: 0.75rem; color: #666; text-align: center; } </style> </head> <body> <h1>WhiteStone Intelligence (WSI)</h1> <p>WSI Community Cloud website is running successfully.</p> <!-- Build Metadata Footer --> <footer id="build-meta"> Loading build metadata... </footer> <script> fetch('/build-meta.json') .then(res => res.json()) .then(meta => { document.getElementById('build-meta').textContent = Build: ${meta.build_time} β’ Commit: ${meta.commit} β’ Source: ${meta.source}; }) .catch(() => { document.getElementById('build-meta').textContent = "Build metadata unavailable."; }); </script> </body> </html> kce2ces@Dell01:~/projects/wsi-website$ === Assistant: Youβre right β we already did this properly. === Youβre right β we already did this properly. π Let me line it up clearly so we donβt confuse build-meta vs build-info. ==== You already have the correct footer in: ==== <syntaxhighlight lang="bash">~/projects/wsi-website/src/index.html </syntaxhighlight> Content (what you pasted) is perfect: <syntaxhighlight lang="html"><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>WhiteStone Intelligence (WSI)</title> <!-- Basic styling (remove if Tailwind is injected globally) --> <style> body { font-family: Arial, sans-serif; margin: 40px; line-height: 1.6; } footer { margin-top: 40px; font-size: 0.75rem; color: #666; text-align: center; } </style> </head> <body> <h1>WhiteStone Intelligence (WSI)</h1> <p>WSI Community Cloud website is running successfully.</p> <!-- Build Metadata Footer --> <footer id="build-meta"> Loading build metadata... </footer> <script> fetch('/build-meta.json') .then(res => res.json()) .then(meta => { document.getElementById('build-meta').textContent = <code>Build: ${meta.build_time} β’ Commit: ${meta.commit} β’ Source: ${meta.source}</code>; }) .catch(() => { document.getElementById('build-meta').textContent = "Build metadata unavailable."; }); </script> </body> </html> </syntaxhighlight> β Footer is in the right place. β Itβs calling /build-meta.json (not /build-info.json) β thatβs fine. My earlier message that used /build-info.json was inconsistent with what you already implemented. Your current version with /build-meta.json is perfectly OK β letβs lock in on that. ==== For the footer to actually show data (instead of βLoadingβ¦β), two things must be true in the final deployed site root (both Local site/ and VPS /usr/share/caddy): ==== # index.html (with that <footer id="build-meta">) # build-meta.json in the same directory as index.html So on Local, after build + copy, you want: <syntaxhighlight lang="bash">ls ~/projects/wsi-website/site === should show: === === assets/ en/ zh/ index.html build-meta.json === </syntaxhighlight> On VPS, inside the running container: <syntaxhighlight lang="bash">docker exec -it wsi-caddy sh -c "ls -l /usr/share/caddy" === should show: === === assets/ en/ zh/ index.html build-meta.json === </syntaxhighlight> ==== On Local (you already basically did this, but here is the βcanonicalβ sequence using build-meta.json): ==== 1οΈβ£ Build Tailwind + metadata: <syntaxhighlight lang="bash">cd ~/projects/wsi-website npm run build </syntaxhighlight> Your build-meta.sh should be something like this (just to align with /build-meta.json): <syntaxhighlight lang="bash">#!/usr/bin/env bash set -e BUILD_TIME=$(date -u +"%Y-%m-%d %H:%M:%S UTC") COMMIT=$(git rev-parse --short HEAD || echo "N/A") SOURCE="LOCAL" cat > build-meta.json <<EOF { "build_time": "$BUILD_TIME", "commit": "$COMMIT", "source": "$SOURCE" } EOF echo "Build metadata generated:" cat build-meta.json </syntaxhighlight> 2οΈβ£ Copy built files into site/ including build-meta.json: <syntaxhighlight lang="bash">rm -rf site/* cp -r src/* site/ cp build-meta.json site/ </syntaxhighlight> 3οΈβ£ Commit and push: <syntaxhighlight lang="bash">git add -A git commit -m "Update build + metadata footer" git push </syntaxhighlight> ==== Your deployment is now: ==== * LOCAL: ~/projects/wsi-website β npm run build β site/ + build-meta.json β git push * GitHub Actions: (if/when we update it for this project) β checkout repo β either use site/ directly or rebuild β scp to VPS /home/cesadmin/projects/wsi-website-prod/site/ * VPS (wsi-website-prod project): - Caddy volume points /usr/share/caddy β /home/cesadmin/projects/wsi-website-prod/site - Browser requests https://whitestoneintel.com/ - index.html loads - JS calls GET /build-meta.json - Footer displays: Build: 2025-12-12 00:47:41 UTC β’ Commit: e2d3d98 β’ Source: LOCAL ===== On VPS (host): ===== <syntaxhighlight lang="bash">cd ~/projects/wsi-website-prod ls site === expect: assets/ en/ zh/ index.html build-meta.json === </syntaxhighlight> Then inside container: <syntaxhighlight lang="bash">docker exec -it wsi-caddy sh -c "ls -l /usr/share/caddy && cat /usr/share/caddy/build-meta.json" </syntaxhighlight> If both files are there, your footer is wired correctly end-to-end. If youβd like, next step I can: * extend the same footer to /src/en/about.html, /src/en/community-passport/index.html, /src/zh/... * or add a tiny βenvironment labelβ (e.g. ENV: PROD vs ENV: STAGE) based on SOURCE. === User: If you might have a better command than "tree", please Verify: kce2ces@Dell01:/projects/wsi-website$ tree === If you might have a better command than "tree", please Verify: kce2ces@Dell01:~/projects/wsi-website$ tree . βββ CONTENT.en.md βββ CONTENT.zh.md βββ Dockerfile βββ README.md βββ build-meta.sh βββ docker-compose.yml βββ docs β βββ iam β β βββ BACKUP-RESTORE.md β β βββ KEYCLOAK-CONFIG.md β βββ index.md β βββ nextcloud β β βββ CONFIG.md β βββ openwebui β β βββ SETUP.md β βββ test.md β βββ tracts β βββ god-loves-you.md βββ mkdoc-01.yml βββ mkdocs-02.yml βββ mkdocs.yml βββ node_modules β βββ @alloc β β βββ quick-lru β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ @isaacs β β βββ cliui β β βββ LICENSE.txt β β βββ README.md β β βββ build β β β βββ index.cjs β β β βββ index.d.cts β β β βββ lib β β β βββ index.js β β βββ index.mjs β β βββ package.json β βββ @jridgewell β β βββ gen-mapping β β β βββ LICENSE β β β βββ README.md β β β βββ dist β β β β βββ gen-mapping.mjs β β β β βββ gen-mapping.mjs.map β β β β βββ gen-mapping.umd.js β β β β βββ gen-mapping.umd.js.map β β β β βββ types β β β β βββ gen-mapping.d.ts β β β β βββ set-array.d.ts β β β β βββ sourcemap-segment.d.ts β β β β βββ types.d.ts β β β βββ package.json β β β βββ src β β β β βββ gen-mapping.ts β β β β βββ set-array.ts β β β β βββ sourcemap-segment.ts β β β β βββ types.ts β β β βββ types β β β βββ gen-mapping.d.cts β β β βββ gen-mapping.d.cts.map β β β βββ gen-mapping.d.mts β β β βββ gen-mapping.d.mts.map β β β βββ set-array.d.cts β β β βββ set-array.d.cts.map β β β βββ set-array.d.mts β β β βββ set-array.d.mts.map β β β βββ sourcemap-segment.d.cts β β β βββ sourcemap-segment.d.cts.map β β β βββ sourcemap-segment.d.mts β β β βββ sourcemap-segment.d.mts.map β β β βββ types.d.cts β β β βββ types.d.cts.map β β β βββ types.d.mts β β β βββ types.d.mts.map β β βββ resolve-uri β β β βββ LICENSE β β β βββ README.md β β β βββ dist β β β β βββ resolve-uri.mjs β β β β βββ resolve-uri.mjs.map β β β β βββ resolve-uri.umd.js β β β β βββ resolve-uri.umd.js.map β β β β βββ types β β β β βββ resolve-uri.d.ts β β β βββ package.json β β βββ sourcemap-codec β β β βββ LICENSE β β β βββ README.md β β β βββ dist β β β β βββ sourcemap-codec.mjs β β β β βββ sourcemap-codec.mjs.map β β β β βββ sourcemap-codec.umd.js β β β β βββ sourcemap-codec.umd.js.map β β β βββ package.json β β β βββ src β β β β βββ scopes.ts β β β β βββ sourcemap-codec.ts β β β β βββ strings.ts β β β β βββ vlq.ts β β β βββ types β β β βββ scopes.d.cts β β β βββ scopes.d.cts.map β β β βββ scopes.d.mts β β β βββ scopes.d.mts.map β β β βββ sourcemap-codec.d.cts β β β βββ sourcemap-codec.d.cts.map β β β βββ sourcemap-codec.d.mts β β β βββ sourcemap-codec.d.mts.map β β β βββ strings.d.cts β β β βββ strings.d.cts.map β β β βββ strings.d.mts β β β βββ strings.d.mts.map β β β βββ vlq.d.cts β β β βββ vlq.d.cts.map β β β βββ vlq.d.mts β β β βββ vlq.d.mts.map β β βββ trace-mapping β β βββ LICENSE β β βββ README.md β β βββ dist β β β βββ trace-mapping.mjs β β β βββ trace-mapping.mjs.map β β β βββ trace-mapping.umd.js β β β βββ trace-mapping.umd.js.map β β βββ package.json β β βββ src β β β βββ binary-search.ts β β β βββ by-source.ts β β β βββ flatten-map.ts β β β βββ resolve.ts β β β βββ sort.ts β β β βββ sourcemap-segment.ts β β β βββ strip-filename.ts β β β βββ trace-mapping.ts β β β βββ types.ts β β βββ types β β βββ binary-search.d.cts β β βββ binary-search.d.cts.map β β βββ binary-search.d.mts β β βββ binary-search.d.mts.map β β βββ by-source.d.cts β β βββ by-source.d.cts.map β β βββ by-source.d.mts β β βββ by-source.d.mts.map β β βββ flatten-map.d.cts β β βββ flatten-map.d.cts.map β β βββ flatten-map.d.mts β β βββ flatten-map.d.mts.map β β βββ resolve.d.cts β β βββ resolve.d.cts.map β β βββ resolve.d.mts β β βββ resolve.d.mts.map β β βββ sort.d.cts β β βββ sort.d.cts.map β β βββ sort.d.mts β β βββ sort.d.mts.map β β βββ sourcemap-segment.d.cts β β βββ sourcemap-segment.d.cts.map β β βββ sourcemap-segment.d.mts β β βββ sourcemap-segment.d.mts.map β β βββ strip-filename.d.cts β β βββ strip-filename.d.cts.map β β βββ strip-filename.d.mts β β βββ strip-filename.d.mts.map β β βββ trace-mapping.d.cts β β βββ trace-mapping.d.cts.map β β βββ trace-mapping.d.mts β β βββ trace-mapping.d.mts.map β β βββ types.d.cts β β βββ types.d.cts.map β β βββ types.d.mts β β βββ types.d.mts.map β βββ @nodelib β β βββ fs.scandir β β β βββ LICENSE β β β βββ README.md β β β βββ out β β β β βββ adapters β β β β β βββ fs.d.ts β β β β β βββ fs.js β β β β βββ constants.d.ts β β β β βββ constants.js β β β β βββ index.d.ts β β β β βββ index.js β β β β βββ providers β β β β β βββ async.d.ts β β β β β βββ async.js β β β β β βββ common.d.ts β β β β β βββ common.js β β β β β βββ sync.d.ts β β β β β βββ sync.js β β β β βββ settings.d.ts β β β β βββ settings.js β β β β βββ types β β β β β βββ index.d.ts β β β β β βββ index.js β β β β βββ utils β β β β βββ fs.d.ts β β β β βββ fs.js β β β β βββ index.d.ts β β β β βββ index.js β β β βββ package.json β β βββ fs.stat β β β βββ LICENSE β β β βββ README.md β β β βββ out β β β β βββ adapters β β β β β βββ fs.d.ts β β β β β βββ fs.js β β β β βββ index.d.ts β β β β βββ index.js β β β β βββ providers β β β β β βββ async.d.ts β β β β β βββ async.js β β β β β βββ sync.d.ts β β β β β βββ sync.js β β β β βββ settings.d.ts β β β β βββ settings.js β β β β βββ types β β β β βββ index.d.ts β β β β βββ index.js β β β βββ package.json β β βββ fs.walk β β βββ LICENSE β β βββ README.md β β βββ out β β β βββ index.d.ts β β β βββ index.js β β β βββ providers β β β β βββ async.d.ts β β β β βββ async.js β β β β βββ index.d.ts β β β β βββ index.js β β β β βββ stream.d.ts β β β β βββ stream.js β β β β βββ sync.d.ts β β β β βββ sync.js β β β βββ readers β β β β βββ async.d.ts β β β β βββ async.js β β β β βββ common.d.ts β β β β βββ common.js β β β β βββ reader.d.ts β β β β βββ reader.js β β β β βββ sync.d.ts β β β β βββ sync.js β β β βββ settings.d.ts β β β βββ settings.js β β β βββ types β β β βββ index.d.ts β β β βββ index.js β β βββ package.json β βββ @pkgjs β β βββ parseargs β β βββ CHANGELOG.md β β βββ LICENSE β β βββ README.md β β βββ examples β β β βββ is-default-value.js β β β βββ limit-long-syntax.js β β β βββ negate.js β β β βββ no-repeated-options.js β β β βββ ordered-options.mjs β β β βββ simple-hard-coded.js β β βββ index.js β β βββ internal β β β βββ errors.js β β β βββ primordials.js β β β βββ util.js β β β βββ validators.js β β βββ package.json β β βββ utils.js β βββ ansi-regex β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ ansi-styles β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ any-promise β β βββ LICENSE β β βββ README.md β β βββ implementation.d.ts β β βββ implementation.js β β βββ index.d.ts β β βββ index.js β β βββ loader.js β β βββ optional.js β β βββ package.json β β βββ register β β β βββ bluebird.d.ts β β β βββ bluebird.js β β β βββ es6-promise.d.ts β β β βββ es6-promise.js β β β βββ lie.d.ts β β β βββ lie.js β β β βββ native-promise-only.d.ts β β β βββ native-promise-only.js β β β βββ pinkie.d.ts β β β βββ pinkie.js β β β βββ promise.d.ts β β β βββ promise.js β β β βββ q.d.ts β β β βββ q.js β β β βββ rsvp.d.ts β β β βββ rsvp.js β β β βββ vow.d.ts β β β βββ vow.js β β β βββ when.d.ts β β β βββ when.js β β βββ register-shim.js β β βββ register.d.ts β β βββ register.js β βββ anymatch β β βββ LICENSE β β βββ README.md β β βββ index.d.ts β β βββ index.js β β βββ package.json β βββ arg β β βββ LICENSE.md β β βββ README.md β β βββ index.d.ts β β βββ index.js β β βββ package.json β βββ autoprefixer β β βββ LICENSE β β βββ README.md β β βββ bin β β β βββ autoprefixer β β βββ data β β β βββ prefixes.js β β βββ lib β β β βββ at-rule.js β β β βββ autoprefixer.d.ts β β β βββ autoprefixer.js β β β βββ brackets.js β β β βββ browsers.js β β β βββ declaration.js β β β βββ hacks β β β β βββ align-content.js β β β β βββ align-items.js β β β β βββ align-self.js β β β β βββ animation.js β β β β βββ appearance.js β β β β βββ autofill.js β β β β βββ backdrop-filter.js β β β β βββ background-clip.js β β β β βββ background-size.js β β β β βββ block-logical.js β β β β βββ border-image.js β β β β βββ border-radius.js β β β β βββ break-props.js β β β β βββ cross-fade.js β β β β βββ display-flex.js β β β β βββ display-grid.js β β β β βββ file-selector-button.js β β β β βββ filter-value.js β β β β βββ filter.js β β β β βββ flex-basis.js β β β β βββ flex-direction.js β β β β βββ flex-flow.js β β β β βββ flex-grow.js β β β β βββ flex-shrink.js β β β β βββ flex-spec.js β β β β βββ flex-wrap.js β β β β βββ flex.js β β β β βββ fullscreen.js β β β β βββ gradient.js β β β β βββ grid-area.js β β β β βββ grid-column-align.js β β β β βββ grid-end.js β β β β βββ grid-row-align.js β β β β βββ grid-row-column.js β β β β βββ grid-rows-columns.js β β β β βββ grid-start.js β β β β βββ grid-template-areas.js β β β β βββ grid-template.js β β β β βββ grid-utils.js β β β β βββ image-rendering.js β β β β βββ image-set.js β β β β βββ inline-logical.js β β β β βββ intrinsic.js β β β β βββ justify-content.js β β β β βββ mask-border.js β β β β βββ mask-composite.js β β β β βββ order.js β β β β βββ overscroll-behavior.js β β β β βββ pixelated.js β β β β βββ place-self.js β β β β βββ placeholder-shown.js β β β β βββ placeholder.js β β β β βββ print-color-adjust.js β β β β βββ text-decoration-skip-ink.js β β β β βββ text-decoration.js β β β β βββ text-emphasis-position.js β β β β βββ transform-decl.js β β β β βββ user-select.js β β β β βββ writing-mode.js β β β βββ info.js β β β βββ old-selector.js β β β βββ old-value.js β β β βββ prefixer.js β β β βββ prefixes.js β β β βββ processor.js β β β βββ resolution.js β β β βββ selector.js β β β βββ supports.js β β β βββ transition.js β β β βββ utils.js β β β βββ value.js β β β βββ vendor.js β β βββ package.json β βββ balanced-match β β βββ LICENSE.md β β βββ README.md β β βββ index.js β β βββ package.json β βββ baseline-browser-mapping β β βββ LICENSE.txt β β βββ README.md β β βββ dist β β β βββ cli.js β β β βββ index.cjs β β β βββ index.d.ts β β β βββ index.js β β βββ package.json β βββ binary-extensions β β βββ binary-extensions.json β β βββ binary-extensions.json.d.ts β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ brace-expansion β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ braces β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ lib β β β βββ compile.js β β β βββ constants.js β β β βββ expand.js β β β βββ parse.js β β β βββ stringify.js β β β βββ utils.js β β βββ package.json β βββ browserslist β β βββ LICENSE β β βββ README.md β β βββ browser.js β β βββ cli.js β β βββ error.d.ts β β βββ error.js β β βββ index.d.ts β β βββ index.js β β βββ node.js β β βββ package.json β β βββ parse.js β βββ camelcase-css β β βββ README.md β β βββ index-es5.js β β βββ index.js β β βββ license β β βββ package.json β βββ caniuse-lite β β βββ LICENSE β β βββ README.md β β βββ data β β β βββ agents.js β β β βββ browserVersions.js β β β βββ browsers.js β β β βββ features β β β β βββ aac.js β β β β βββ abortcontroller.js β β β β βββ ac3-ec3.js β β β β βββ accelerometer.js β β β β βββ addeventlistener.js β β β β βββ alternate-stylesheet.js β β β β βββ ambient-light.js β β β β βββ apng.js β β β β βββ array-find-index.js β β β β βββ array-find.js β β β β βββ array-flat.js β β β β βββ array-includes.js β β β β βββ arrow-functions.js β β β β βββ asmjs.js β β β β βββ async-clipboard.js β β β β βββ async-functions.js β β β β βββ atob-btoa.js β β β β βββ audio-api.js β β β β βββ audio.js β β β β βββ audiotracks.js β β β β βββ autofocus.js β β β β βββ auxclick.js β β β β βββ av1.js β β β β βββ avif.js β β β β βββ background-attachment.js β β β β βββ background-clip-text.js β β β β βββ background-img-opts.js β β β β βββ background-position-x-y.js β β β β βββ background-repeat-round-space.js β β β β βββ background-sync.js β β β β βββ battery-status.js β β β β βββ beacon.js β β β β βββ beforeafterprint.js β β β β βββ bigint.js β β β β βββ blobbuilder.js β β β β βββ bloburls.js β β β β βββ border-image.js β β β β βββ border-radius.js β β β β βββ broadcastchannel.js β β β β βββ brotli.js β β β β βββ calc.js β β β β βββ canvas-blending.js β β β β βββ canvas-text.js β β β β βββ canvas.js β β β β βββ ch-unit.js β β β β βββ chacha20-poly1305.js β β β β βββ channel-messaging.js β β β β βββ childnode-remove.js β β β β βββ classlist.js β β β β βββ client-hints-dpr-width-viewport.js β β β β βββ clipboard.js β β β β βββ colr-v1.js β β β β βββ colr.js β β β β βββ comparedocumentposition.js β β β β βββ console-basic.js β β β β βββ console-time.js β β β β βββ const.js β β β β βββ constraint-validation.js β β β β βββ contenteditable.js β β β β βββ contentsecuritypolicy.js β β β β βββ contentsecuritypolicy2.js β β β β βββ cookie-store-api.js β β β β βββ cors.js β β β β βββ createimagebitmap.js β β β β βββ credential-management.js β β β β βββ cross-document-view-transitions.js β β β β βββ cryptography.js β β β β βββ css-all.js β β β β βββ css-anchor-positioning.js β β β β βββ css-animation.js β β β β βββ css-any-link.js β β β β βββ css-appearance.js β β β β βββ css-at-counter-style.js β β β β βββ css-autofill.js β β β β βββ css-backdrop-filter.js β β β β βββ css-background-offsets.js β β β β βββ css-backgroundblendmode.js β β β β βββ css-boxdecorationbreak.js β β β β βββ css-boxshadow.js β β β β βββ css-canvas.js β β β β βββ css-caret-color.js β β β β βββ css-cascade-layers.js β β β β βββ css-cascade-scope.js β β β β βββ css-case-insensitive.js β β β β βββ css-clip-path.js β β β β βββ css-color-adjust.js β β β β βββ css-color-function.js β β β β βββ css-conic-gradients.js β β β β βββ css-container-queries-style.js β β β β βββ css-container-queries.js β β β β βββ css-container-query-units.js β β β β βββ css-containment.js β β β β βββ css-content-visibility.js β β β β βββ css-counters.js β β β β βββ css-crisp-edges.js β β β β βββ css-cross-fade.js β β β β βββ css-default-pseudo.js β β β β βββ css-descendant-gtgt.js β β β β βββ css-deviceadaptation.js β β β β βββ css-dir-pseudo.js β β β β βββ css-display-contents.js β β β β βββ css-element-function.js β β β β βββ css-env-function.js β β β β βββ css-exclusions.js β β β β βββ css-featurequeries.js β β β β βββ css-file-selector-button.js β β β β βββ css-filter-function.js β β β β βββ css-filters.js β β β β βββ css-first-letter.js β β β β βββ css-first-line.js β β β β βββ css-fixed.js β β β β βββ css-focus-visible.js β β β β βββ css-focus-within.js β β β β βββ css-font-palette.js β β β β βββ css-font-rendering-controls.js β β β β βββ css-font-stretch.js β β β β βββ css-gencontent.js β β β β βββ css-gradients.js β β β β βββ css-grid-animation.js β β β β βββ css-grid.js β β β β βββ css-hanging-punctuation.js β β β β βββ css-has.js β β β β βββ css-hyphens.js β β β β βββ css-if.js β β β β βββ css-image-orientation.js β β β β βββ css-image-set.js β β β β βββ css-in-out-of-range.js β β β β βββ css-indeterminate-pseudo.js β β β β βββ css-initial-letter.js β β β β βββ css-initial-value.js β β β β βββ css-lch-lab.js β β β β βββ css-letter-spacing.js β β β β βββ css-line-clamp.js β β β β βββ css-logical-props.js β β β β βββ css-marker-pseudo.js β β β β βββ css-masks.js β β β β βββ css-matches-pseudo.js β β β β βββ css-math-functions.js β β β β βββ css-media-interaction.js β β β β βββ css-media-range-syntax.js β β β β βββ css-media-resolution.js β β β β βββ css-media-scripting.js β β β β βββ css-mediaqueries.js β β β β βββ css-mixblendmode.js β β β β βββ css-module-scripts.js β β β β βββ css-motion-paths.js β β β β βββ css-namespaces.js β β β β βββ css-nesting.js β β β β βββ css-not-sel-list.js β β β β βββ css-nth-child-of.js β β β β βββ css-opacity.js β β β β βββ css-optional-pseudo.js β β β β βββ css-overflow-anchor.js β β β β βββ css-overflow-overlay.js β β β β βββ css-overflow.js β β β β βββ css-overscroll-behavior.js β β β β βββ css-page-break.js β β β β βββ css-paged-media.js β β β β βββ css-paint-api.js β β β β βββ css-placeholder-shown.js β β β β βββ css-placeholder.js β β β β βββ css-print-color-adjust.js β β β β βββ css-read-only-write.js β β β β βββ css-rebeccapurple.js β β β β βββ css-reflections.js β β β β βββ css-regions.js β β β β βββ css-relative-colors.js β β β β βββ css-repeating-gradients.js β β β β βββ css-resize.js β β β β βββ css-revert-value.js β β β β βββ css-rrggbbaa.js β β β β βββ css-scroll-behavior.js β β β β βββ css-scrollbar.js β β β β βββ css-sel2.js β β β β βββ css-sel3.js β β β β βββ css-selection.js β β β β βββ css-shapes.js β β β β βββ css-snappoints.js β β β β βββ css-sticky.js β β β β βββ css-subgrid.js β β β β βββ css-supports-api.js β β β β βββ css-table.js β β β β βββ css-text-align-last.js β β β β βββ css-text-box-trim.js β β β β βββ css-text-indent.js β β β β βββ css-text-justify.js β β β β βββ css-text-orientation.js β β β β βββ css-text-spacing.js β β β β βββ css-text-wrap-balance.js β β β β βββ css-textshadow.js β β β β βββ css-touch-action.js β β β β βββ css-transitions.js β β β β βββ css-unicode-bidi.js β β β β βββ css-unset-value.js β β β β βββ css-variables.js β β β β βββ css-when-else.js β β β β βββ css-widows-orphans.js β β β β βββ css-width-stretch.js β β β β βββ css-writing-mode.js β β β β βββ css-zoom.js β β β β βββ css3-attr.js β β β β βββ css3-boxsizing.js β β β β βββ css3-colors.js β β β β βββ css3-cursors-grab.js β β β β βββ css3-cursors-newer.js β β β β βββ css3-cursors.js β β β β βββ css3-tabsize.js β β β β βββ currentcolor.js β β β β βββ custom-elements.js β β β β βββ custom-elementsv1.js β β β β βββ customevent.js β β β β βββ datalist.js β β β β βββ dataset.js β β β β βββ datauri.js β β β β βββ date-tolocaledatestring.js β β β β βββ declarative-shadow-dom.js β β β β βββ decorators.js β β β β βββ details.js β β β β βββ deviceorientation.js β β β β βββ devicepixelratio.js β β β β βββ dialog.js β β β β βββ dispatchevent.js β β β β βββ dnssec.js β β β β βββ do-not-track.js β β β β βββ document-currentscript.js β β β β βββ document-evaluate-xpath.js β β β β βββ document-execcommand.js β β β β βββ document-policy.js β β β β βββ document-scrollingelement.js β β β β βββ documenthead.js β β β β βββ dom-manip-convenience.js β β β β βββ dom-range.js β β β β βββ domcontentloaded.js β β β β βββ dommatrix.js β β β β βββ download.js β β β β βββ dragndrop.js β β β β βββ element-closest.js β β β β βββ element-from-point.js β β β β βββ element-scroll-methods.js β β β β βββ eme.js β β β β βββ eot.js β β β β βββ es5.js β β β β βββ es6-class.js β β β β βββ es6-generators.js β β β β βββ es6-module-dynamic-import.js β β β β βββ es6-module.js β β β β βββ es6-number.js β β β β βββ es6-string-includes.js β β β β βββ es6.js β β β β βββ eventsource.js β β β β βββ extended-system-fonts.js β β β β βββ feature-policy.js β β β β βββ fetch.js β β β β βββ fieldset-disabled.js β β β β βββ fileapi.js β β β β βββ filereader.js β β β β βββ filereadersync.js β β β β βββ filesystem.js β β β β βββ flac.js β β β β βββ flexbox-gap.js β β β β βββ flexbox.js β β β β βββ flow-root.js β β β β βββ focusin-focusout-events.js β β β β βββ font-family-system-ui.js β β β β βββ font-feature.js β β β β βββ font-kerning.js β β β β βββ font-loading.js β β β β βββ font-size-adjust.js β β β β βββ font-smooth.js β β β β βββ font-unicode-range.js β β β β βββ font-variant-alternates.js β β β β βββ font-variant-numeric.js β β β β βββ fontface.js β β β β βββ form-attribute.js β β β β βββ form-submit-attributes.js β β β β βββ form-validation.js β β β β βββ forms.js β β β β βββ fullscreen.js β β β β βββ gamepad.js β β β β βββ geolocation.js β β β β βββ getboundingclientrect.js β β β β βββ getcomputedstyle.js β β β β βββ getelementsbyclassname.js β β β β βββ getrandomvalues.js β β β β βββ gyroscope.js β β β β βββ hardwareconcurrency.js β β β β βββ hashchange.js β β β β βββ heif.js β β β β βββ hevc.js β β β β βββ hidden.js β β β β βββ high-resolution-time.js β β β β βββ history.js β β β β βββ html-media-capture.js β β β β βββ html5semantic.js β β β β βββ http-live-streaming.js β β β β βββ http2.js β β β β βββ http3.js β β β β βββ iframe-sandbox.js β β β β βββ iframe-seamless.js β β β β βββ iframe-srcdoc.js β β β β βββ imagecapture.js β β β β βββ ime.js β β β β βββ img-naturalwidth-naturalheight.js β β β β βββ import-maps.js β β β β βββ imports.js β β β β βββ indeterminate-checkbox.js β β β β βββ indexeddb.js β β β β βββ indexeddb2.js β β β β βββ inline-block.js β β β β βββ innertext.js β β β β βββ input-autocomplete-onoff.js β β β β βββ input-color.js β β β β βββ input-datetime.js β β β β βββ input-email-tel-url.js β β β β βββ input-event.js β β β β βββ input-file-accept.js β β β β βββ input-file-directory.js β β β β βββ input-file-multiple.js β β β β βββ input-inputmode.js β β β β βββ input-minlength.js β β β β βββ input-number.js β β β β βββ input-pattern.js β β β β βββ input-placeholder.js β β β β βββ input-range.js β β β β βββ input-search.js β β β β βββ input-selection.js β β β β βββ insert-adjacent.js β β β β βββ insertadjacenthtml.js β β β β βββ internationalization.js β β β β βββ intersectionobserver-v2.js β β β β βββ intersectionobserver.js β β β β βββ intl-pluralrules.js β β β β βββ intrinsic-width.js β β β β βββ jpeg2000.js β β β β βββ jpegxl.js β β β β βββ jpegxr.js β β β β βββ js-regexp-lookbehind.js β β β β βββ json.js β β β β βββ justify-content-space-evenly.js β β β β βββ kerning-pairs-ligatures.js β β β β βββ keyboardevent-charcode.js β β β β βββ keyboardevent-code.js β β β β βββ keyboardevent-getmodifierstate.js β β β β βββ keyboardevent-key.js β β β β βββ keyboardevent-location.js β β β β βββ keyboardevent-which.js β β β β βββ lazyload.js β β β β βββ let.js β β β β βββ link-icon-png.js β β β β βββ link-icon-svg.js β β β β βββ link-rel-dns-prefetch.js β β β β βββ link-rel-modulepreload.js β β β β βββ link-rel-preconnect.js β β β β βββ link-rel-prefetch.js β β β β βββ link-rel-preload.js β β β β βββ link-rel-prerender.js β β β β βββ loading-lazy-attr.js β β β β βββ localecompare.js β β β β βββ magnetometer.js β β β β βββ matchesselector.js β β β β βββ matchmedia.js β β β β βββ mathml.js β β β β βββ maxlength.js β β β β βββ mdn-css-backdrop-pseudo-element.js β β β β βββ mdn-css-unicode-bidi-isolate-override.js β β β β βββ mdn-css-unicode-bidi-isolate.js β β β β βββ mdn-css-unicode-bidi-plaintext.js β β β β βββ mdn-text-decoration-color.js β β β β βββ mdn-text-decoration-line.js β β β β βββ mdn-text-decoration-shorthand.js β β β β βββ mdn-text-decoration-style.js β β β β βββ media-fragments.js β β β β βββ mediacapture-fromelement.js β β β β βββ mediarecorder.js β β β β βββ mediasource.js β β β β βββ menu.js β β β β βββ meta-theme-color.js β β β β βββ meter.js β β β β βββ midi.js β β β β βββ minmaxwh.js β β β β βββ mp3.js β β β β βββ mpeg-dash.js β β β β βββ mpeg4.js β β β β βββ multibackgrounds.js β β β β βββ multicolumn.js β β β β βββ mutation-events.js β β β β βββ mutationobserver.js β β β β βββ namevalue-storage.js β β β β βββ native-filesystem-api.js β β β β βββ nav-timing.js β β β β βββ netinfo.js β β β β βββ notifications.js β β β β βββ object-entries.js β β β β βββ object-fit.js β β β β βββ object-observe.js β β β β βββ object-values.js β β β β βββ objectrtc.js β β β β βββ offline-apps.js β β β β βββ offscreencanvas.js β β β β βββ ogg-vorbis.js β β β β βββ ogv.js β β β β βββ ol-reversed.js β β β β βββ once-event-listener.js β β β β βββ online-status.js β β β β βββ opus.js β β β β βββ orientation-sensor.js β β β β βββ outline.js β β β β βββ pad-start-end.js β β β β βββ page-transition-events.js β β β β βββ pagevisibility.js β β β β βββ passive-event-listener.js β β β β βββ passkeys.js β β β β βββ passwordrules.js β β β β βββ path2d.js β β β β βββ payment-request.js β β β β βββ pdf-viewer.js β β β β βββ permissions-api.js β β β β βββ permissions-policy.js β β β β βββ picture-in-picture.js β β β β βββ picture.js β β β β βββ ping.js β β β β βββ png-alpha.js β β β β βββ pointer-events.js β β β β βββ pointer.js β β β β βββ pointerlock.js β β β β βββ portals.js β β β β βββ prefers-color-scheme.js β β β β βββ prefers-reduced-motion.js β β β β βββ progress.js β β β β βββ promise-finally.js β β β β βββ promises.js β β β β βββ proximity.js β β β β βββ proxy.js β β β β βββ publickeypinning.js β β β β βββ push-api.js β β β β βββ queryselector.js β β β β βββ readonly-attr.js β β β β βββ referrer-policy.js β β β β βββ registerprotocolhandler.js β β β β βββ rel-noopener.js β β β β βββ rel-noreferrer.js β β β β βββ rellist.js β β β β βββ rem.js β β β β βββ requestanimationframe.js β β β β βββ requestidlecallback.js β β β β βββ resizeobserver.js β β β β βββ resource-timing.js β β β β βββ rest-parameters.js β β β β βββ rtcpeerconnection.js β β β β βββ ruby.js β β β β βββ run-in.js β β β β βββ same-site-cookie-attribute.js β β β β βββ screen-orientation.js β β β β βββ script-async.js β β β β βββ script-defer.js β β β β βββ scrollintoview.js β β β β βββ scrollintoviewifneeded.js β β β β βββ sdch.js β β β β βββ selection-api.js β β β β βββ selectlist.js β β β β βββ server-timing.js β β β β βββ serviceworkers.js β β β β βββ setimmediate.js β β β β βββ shadowdom.js β β β β βββ shadowdomv1.js β β β β βββ sharedarraybuffer.js β β β β βββ sharedworkers.js β β β β βββ sni.js β β β β βββ spdy.js β β β β βββ speech-recognition.js β β β β βββ speech-synthesis.js β β β β βββ spellcheck-attribute.js β β β β βββ sql-storage.js β β β β βββ srcset.js β β β β βββ stream.js β β β β βββ streams.js β β β β βββ stricttransportsecurity.js β β β β βββ style-scoped.js β β β β βββ subresource-bundling.js β β β β βββ subresource-integrity.js β β β β βββ svg-css.js β β β β βββ svg-filters.js β β β β βββ svg-fonts.js β β β β βββ svg-fragment.js β β β β βββ svg-html.js β β β β βββ svg-html5.js β β β β βββ svg-img.js β β β β βββ svg-smil.js β β β β βββ svg.js β β β β βββ sxg.js β β β β βββ tabindex-attr.js β β β β βββ template-literals.js β β β β βββ template.js β β β β βββ temporal.js β β β β βββ testfeat.js β β β β βββ text-decoration.js β β β β βββ text-emphasis.js β β β β βββ text-overflow.js β β β β βββ text-size-adjust.js β β β β βββ text-stroke.js β β β β βββ textcontent.js β β β β βββ textencoder.js β β β β βββ tls1-1.js β β β β βββ tls1-2.js β β β β βββ tls1-3.js β β β β βββ touch.js β β β β βββ transforms2d.js β β β β βββ transforms3d.js β β β β βββ trusted-types.js β β β β βββ ttf.js β β β β βββ typedarrays.js β β β β βββ u2f.js β β β β βββ unhandledrejection.js β β β β βββ upgradeinsecurerequests.js β β β β βββ url-scroll-to-text-fragment.js β β β β βββ url.js β β β β βββ urlsearchparams.js β β β β βββ use-strict.js β β β β βββ user-select-none.js β β β β βββ user-timing.js β β β β βββ variable-fonts.js β β β β βββ vector-effect.js β β β β βββ vibration.js β β β β βββ video.js β β β β βββ videotracks.js β β β β βββ view-transitions.js β β β β βββ viewport-unit-variants.js β β β β βββ viewport-units.js β β β β βββ wai-aria.js β β β β βββ wake-lock.js β β β β βββ wasm-bigint.js β β β β βββ wasm-bulk-memory.js β β β β βββ wasm-extended-const.js β β β β βββ wasm-gc.js β β β β βββ wasm-multi-memory.js β β β β βββ wasm-multi-value.js β β β β βββ wasm-mutable-globals.js β β β β βββ wasm-nontrapping-fptoint.js β β β β βββ wasm-reference-types.js β β β β βββ wasm-relaxed-simd.js β β β β βββ wasm-signext.js β β β β βββ wasm-simd.js β β β β βββ wasm-tail-calls.js β β β β βββ wasm-threads.js β β β β βββ wasm.js β β β β βββ wav.js β β β β βββ wbr-element.js β β β β βββ web-animation.js β β β β βββ web-app-manifest.js β β β β βββ web-bluetooth.js β β β β βββ web-serial.js β β β β βββ web-share.js β β β β βββ webauthn.js β β β β βββ webcodecs.js β β β β βββ webgl.js β β β β βββ webgl2.js β β β β βββ webgpu.js β β β β βββ webhid.js β β β β βββ webkit-user-drag.js β β β β βββ webm.js β β β β βββ webnfc.js β β β β βββ webp.js β β β β βββ websockets.js β β β β βββ webtransport.js β β β β βββ webusb.js β β β β βββ webvr.js β β β β βββ webvtt.js β β β β βββ webworkers.js β β β β βββ webxr.js β β β β βββ will-change.js β β β β βββ woff.js β β β β βββ woff2.js β β β β βββ word-break.js β β β β βββ wordwrap.js β β β β βββ x-doc-messaging.js β β β β βββ x-frame-options.js β β β β βββ xhr2.js β β β β βββ xhtml.js β β β β βββ xhtmlsmil.js β β β β βββ xml-serializer.js β β β β βββ zstd.js β β β βββ features.js β β β βββ regions β β β βββ AD.js β β β βββ AE.js β β β βββ AF.js β β β βββ AG.js β β β βββ AI.js β β β βββ AL.js β β β βββ AM.js β β β βββ AO.js β β β βββ AR.js β β β βββ AS.js β β β βββ AT.js β β β βββ AU.js β β β βββ AW.js β β β βββ AX.js β β β βββ AZ.js β β β βββ BA.js β β β βββ BB.js β β β βββ BD.js β β β βββ BE.js β β β βββ BF.js β β β βββ BG.js β β β βββ BH.js β β β βββ BI.js β β β βββ BJ.js β β β βββ BM.js β β β βββ BN.js β β β βββ BO.js β β β βββ BR.js β β β βββ BS.js β β β βββ BT.js β β β βββ BW.js β β β βββ BY.js β β β βββ BZ.js β β β βββ CA.js β β β βββ CD.js β β β βββ CF.js β β β βββ CG.js β β β βββ CH.js β β β βββ CI.js β β β βββ CK.js β β β βββ CL.js β β β βββ CM.js β β β βββ CN.js β β β βββ CO.js β β β βββ CR.js β β β βββ CU.js β β β βββ CV.js β β β βββ CX.js β β β βββ CY.js β β β βββ CZ.js β β β βββ DE.js β β β βββ DJ.js β β β βββ DK.js β β β βββ DM.js β β β βββ DO.js β β β βββ DZ.js β β β βββ EC.js β β β βββ EE.js β β β βββ EG.js β β β βββ ER.js β β β βββ ES.js β β β βββ ET.js β β β βββ FI.js β β β βββ FJ.js β β β βββ FK.js β β β βββ FM.js β β β βββ FO.js β β β βββ FR.js β β β βββ GA.js β β β βββ GB.js β β β βββ GD.js β β β βββ GE.js β β β βββ GF.js β β β βββ GG.js β β β βββ GH.js β β β βββ GI.js β β β βββ GL.js β β β βββ GM.js β β β βββ GN.js β β β βββ GP.js β β β βββ GQ.js β β β βββ GR.js β β β βββ GT.js β β β βββ GU.js β β β βββ GW.js β β β βββ GY.js β β β βββ HK.js β β β βββ HN.js β β β βββ HR.js β β β βββ HT.js β β β βββ HU.js β β β βββ ID.js β β β βββ IE.js β β β βββ IL.js β β β βββ IM.js β β β βββ IN.js β β β βββ IQ.js β β β βββ IR.js β β β βββ IS.js β β β βββ IT.js β β β βββ JE.js β β β βββ JM.js β β β βββ JO.js β β β βββ JP.js β β β βββ KE.js β β β βββ KG.js β β β βββ KH.js β β β βββ KI.js β β β βββ KM.js β β β βββ KN.js β β β βββ KP.js β β β βββ KR.js β β β βββ KW.js β β β βββ KY.js β β β βββ KZ.js β β β βββ LA.js β β β βββ LB.js β β β βββ LC.js β β β βββ LI.js β β β βββ LK.js β β β βββ LR.js β β β βββ LS.js β β β βββ LT.js β β β βββ LU.js β β β βββ LV.js β β β βββ LY.js β β β βββ MA.js β β β βββ MC.js β β β βββ MD.js β β β βββ ME.js β β β βββ MG.js β β β βββ MH.js β β β βββ MK.js β β β βββ ML.js β β β βββ MM.js β β β βββ MN.js β β β βββ MO.js β β β βββ MP.js β β β βββ MQ.js β β β βββ MR.js β β β βββ MS.js β β β βββ MT.js β β β βββ MU.js β β β βββ MV.js β β β βββ MW.js β β β βββ MX.js β β β βββ MY.js β β β βββ MZ.js β β β βββ NA.js β β β βββ NC.js β β β βββ NE.js β β β βββ NF.js β β β βββ NG.js β β β βββ NI.js β β β βββ NL.js β β β βββ NO.js β β β βββ NP.js β β β βββ NR.js β β β βββ NU.js β β β βββ NZ.js β β β βββ OM.js β β β βββ PA.js β β β βββ PE.js β β β βββ PF.js β β β βββ PG.js β β β βββ PH.js β β β βββ PK.js β β β βββ PL.js β β β βββ PM.js β β β βββ PN.js β β β βββ PR.js β β β βββ PS.js β β β βββ PT.js β β β βββ PW.js β β β βββ PY.js β β β βββ QA.js β β β βββ RE.js β β β βββ RO.js β β β βββ RS.js β β β βββ RU.js β β β βββ RW.js β β β βββ SA.js β β β βββ SB.js β β β βββ SC.js β β β βββ SD.js β β β βββ SE.js β β β βββ SG.js β β β βββ SH.js β β β βββ SI.js β β β βββ SK.js β β β βββ SL.js β β β βββ SM.js β β β βββ SN.js β β β βββ SO.js β β β βββ SR.js β β β βββ ST.js β β β βββ SV.js β β β βββ SY.js β β β βββ SZ.js β β β βββ TC.js β β β βββ TD.js β β β βββ TG.js β β β βββ TH.js β β β βββ TJ.js β β β βββ TL.js β β β βββ TM.js β β β βββ TN.js β β β βββ TO.js β β β βββ TR.js β β β βββ TT.js β β β βββ TV.js β β β βββ TW.js β β β βββ TZ.js β β β βββ UA.js β β β βββ UG.js β β β βββ US.js β β β βββ UY.js β β β βββ UZ.js β β β βββ VA.js β β β βββ VC.js β β β βββ VE.js β β β βββ VG.js β β β βββ VI.js β β β βββ VN.js β β β βββ VU.js β β β βββ WF.js β β β βββ WS.js β β β βββ YE.js β β β βββ YT.js β β β βββ ZA.js β β β βββ ZM.js β β β βββ ZW.js β β β βββ alt-af.js β β β βββ alt-an.js β β β βββ alt-as.js β β β βββ alt-eu.js β β β βββ alt-na.js β β β βββ alt-oc.js β β β βββ alt-sa.js β β β βββ alt-ww.js β β βββ dist β β β βββ lib β β β β βββ statuses.js β β β β βββ supported.js β β β βββ unpacker β β β βββ agents.js β β β βββ browserVersions.js β β β βββ browsers.js β β β βββ feature.js β β β βββ features.js β β β βββ index.js β β β βββ region.js β β βββ package.json β βββ chokidar β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ lib β β β βββ constants.js β β β βββ fsevents-handler.js β β β βββ nodefs-handler.js β β βββ node_modules β β β βββ glob-parent β β β βββ CHANGELOG.md β β β βββ LICENSE β β β βββ README.md β β β βββ index.js β β β βββ package.json β β βββ package.json β β βββ types β β βββ index.d.ts β βββ color-convert β β βββ CHANGELOG.md β β βββ LICENSE β β βββ README.md β β βββ conversions.js β β βββ index.js β β βββ package.json β β βββ route.js β βββ color-name β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ commander β β βββ CHANGELOG.md β β βββ LICENSE β β βββ Readme.md β β βββ index.js β β βββ package.json β β βββ typings β β βββ index.d.ts β βββ cross-spawn β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ lib β β β βββ enoent.js β β β βββ parse.js β β β βββ util β β β βββ escape.js β β β βββ readShebang.js β β β βββ resolveCommand.js β β βββ package.json β βββ cssesc β β βββ LICENSE-MIT.txt β β βββ README.md β β βββ bin β β β βββ cssesc β β βββ cssesc.js β β βββ man β β β βββ cssesc.1 β β βββ package.json β βββ didyoumean β β βββ LICENSE β β βββ README.md β β βββ didYouMean-1.2.1.js β β βββ didYouMean-1.2.1.min.js β β βββ package.json β βββ dlv β β βββ README.md β β βββ dist β β β βββ dlv.es.js β β β βββ dlv.es.js.map β β β βββ dlv.js β β β βββ dlv.js.map β β β βββ dlv.umd.js β β β βββ dlv.umd.js.map β β βββ index.js β β βββ package.json β βββ eastasianwidth β β βββ README.md β β βββ eastasianwidth.js β β βββ package.json β βββ electron-to-chromium β β βββ LICENSE β β βββ README.md β β βββ chromium-versions.js β β βββ chromium-versions.json β β βββ full-chromium-versions.js β β βββ full-chromium-versions.json β β βββ full-versions.js β β βββ full-versions.json β β βββ index.js β β βββ package.json β β βββ versions.js β β βββ versions.json β βββ emoji-regex β β βββ LICENSE-MIT.txt β β βββ README.md β β βββ RGI_Emoji.d.ts β β βββ RGI_Emoji.js β β βββ es2015 β β β βββ RGI_Emoji.d.ts β β β βββ RGI_Emoji.js β β β βββ index.d.ts β β β βββ index.js β β β βββ text.d.ts β β β βββ text.js β β βββ index.d.ts β β βββ index.js β β βββ package.json β β βββ text.d.ts β β βββ text.js β βββ escalade β β βββ dist β β β βββ index.js β β β βββ index.mjs β β βββ index.d.mts β β βββ index.d.ts β β βββ license β β βββ package.json β β βββ readme.md β β βββ sync β β βββ index.d.mts β β βββ index.d.ts β β βββ index.js β β βββ index.mjs β βββ fast-glob β β βββ LICENSE β β βββ README.md β β βββ node_modules β β β βββ glob-parent β β β βββ CHANGELOG.md β β β βββ LICENSE β β β βββ README.md β β β βββ index.js β β β βββ package.json β β βββ out β β β βββ index.d.ts β β β βββ index.js β β β βββ managers β β β β βββ tasks.d.ts β β β β βββ tasks.js β β β βββ providers β β β β βββ async.d.ts β β β β βββ async.js β β β β βββ filters β β β β β βββ deep.d.ts β β β β β βββ deep.js β β β β β βββ entry.d.ts β β β β β βββ entry.js β β β β β βββ error.d.ts β β β β β βββ error.js β β β β βββ matchers β β β β β βββ matcher.d.ts β β β β β βββ matcher.js β β β β β βββ partial.d.ts β β β β β βββ partial.js β β β β βββ provider.d.ts β β β β βββ provider.js β β β β βββ stream.d.ts β β β β βββ stream.js β β β β βββ sync.d.ts β β β β βββ sync.js β β β β βββ transformers β β β β βββ entry.d.ts β β β β βββ entry.js β β β βββ readers β β β β βββ async.d.ts β β β β βββ async.js β β β β βββ reader.d.ts β β β β βββ reader.js β β β β βββ stream.d.ts β β β β βββ stream.js β β β β βββ sync.d.ts β β β β βββ sync.js β β β βββ settings.d.ts β β β βββ settings.js β β β βββ types β β β β βββ index.d.ts β β β β βββ index.js β β β βββ utils β β β βββ array.d.ts β β β βββ array.js β β β βββ errno.d.ts β β β βββ errno.js β β β βββ fs.d.ts β β β βββ fs.js β β β βββ index.d.ts β β β βββ index.js β β β βββ path.d.ts β β β βββ path.js β β β βββ pattern.d.ts β β β βββ pattern.js β β β βββ stream.d.ts β β β βββ stream.js β β β βββ string.d.ts β β β βββ string.js β β βββ package.json β βββ fastq β β βββ LICENSE β β βββ README.md β β βββ SECURITY.md β β βββ bench.js β β βββ example.js β β βββ example.mjs β β βββ index.d.ts β β βββ package.json β β βββ queue.js β β βββ test β β βββ example.ts β β βββ promise.js β β βββ test.js β β βββ tsconfig.json β βββ fill-range β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ foreground-child β β βββ LICENSE β β βββ README.md β β βββ dist β β β βββ commonjs β β β β βββ all-signals.d.ts β β β β βββ all-signals.d.ts.map β β β β βββ all-signals.js β β β β βββ all-signals.js.map β β β β βββ index.d.ts β β β β βββ index.d.ts.map β β β β βββ index.js β β β β βββ index.js.map β β β β βββ package.json β β β β βββ proxy-signals.d.ts β β β β βββ proxy-signals.d.ts.map β β β β βββ proxy-signals.js β β β β βββ proxy-signals.js.map β β β β βββ watchdog.d.ts β β β β βββ watchdog.d.ts.map β β β β βββ watchdog.js β β β β βββ watchdog.js.map β β β βββ esm β β β βββ all-signals.d.ts β β β βββ all-signals.d.ts.map β β β βββ all-signals.js β β β βββ all-signals.js.map β β β βββ index.d.ts β β β βββ index.d.ts.map β β β βββ index.js β β β βββ index.js.map β β β βββ package.json β β β βββ proxy-signals.d.ts β β β βββ proxy-signals.d.ts.map β β β βββ proxy-signals.js β β β βββ proxy-signals.js.map β β β βββ watchdog.d.ts β β β βββ watchdog.d.ts.map β β β βββ watchdog.js β β β βββ watchdog.js.map β β βββ package.json β βββ fraction.js β β βββ CHANGELOG.md β β βββ LICENSE β β βββ README.md β β βββ dist β β β βββ fraction.js β β β βββ fraction.min.js β β β βββ fraction.mjs β β βββ examples β β β βββ angles.js β β β βββ approx.js β β β βββ egyptian.js β β β βββ hesse-convergence.js β β β βββ integrate.js β β β βββ ratio-chain.js β β β βββ rational-pow.js β β β βββ tape-measure.js β β β βββ toFraction.js β β β βββ valueOfPi.js β β βββ fraction.d.mts β β βββ fraction.d.ts β β βββ package.json β β βββ src β β β βββ fraction.js β β βββ tests β β βββ fraction.test.js β βββ function-bind β β βββ CHANGELOG.md β β βββ LICENSE β β βββ README.md β β βββ implementation.js β β βββ index.js β β βββ package.json β β βββ test β β βββ index.js β βββ glob β β βββ LICENSE β β βββ README.md β β βββ dist β β β βββ commonjs β β β β βββ glob.d.ts β β β β βββ glob.d.ts.map β β β β βββ glob.js β β β β βββ glob.js.map β β β β βββ has-magic.d.ts β β β β βββ has-magic.d.ts.map β β β β βββ has-magic.js β β β β βββ has-magic.js.map β β β β βββ ignore.d.ts β β β β βββ ignore.d.ts.map β β β β βββ ignore.js β β β β βββ ignore.js.map β β β β βββ index.d.ts β β β β βββ index.d.ts.map β β β β βββ index.js β β β β βββ index.js.map β β β β βββ package.json β β β β βββ pattern.d.ts β β β β βββ pattern.d.ts.map β β β β βββ pattern.js β β β β βββ pattern.js.map β β β β βββ processor.d.ts β β β β βββ processor.d.ts.map β β β β βββ processor.js β β β β βββ processor.js.map β β β β βββ walker.d.ts β β β β βββ walker.d.ts.map β β β β βββ walker.js β β β β βββ walker.js.map β β β βββ esm β β β βββ bin.d.mts β β β βββ bin.d.mts.map β β β βββ bin.mjs β β β βββ bin.mjs.map β β β βββ glob.d.ts β β β βββ glob.d.ts.map β β β βββ glob.js β β β βββ glob.js.map β β β βββ has-magic.d.ts β β β βββ has-magic.d.ts.map β β β βββ has-magic.js β β β βββ has-magic.js.map β β β βββ ignore.d.ts β β β βββ ignore.d.ts.map β β β βββ ignore.js β β β βββ ignore.js.map β β β βββ index.d.ts β β β βββ index.d.ts.map β β β βββ index.js β β β βββ index.js.map β β β βββ package.json β β β βββ pattern.d.ts β β β βββ pattern.d.ts.map β β β βββ pattern.js β β β βββ pattern.js.map β β β βββ processor.d.ts β β β βββ processor.d.ts.map β β β βββ processor.js β β β βββ processor.js.map β β β βββ walker.d.ts β β β βββ walker.d.ts.map β β β βββ walker.js β β β βββ walker.js.map β β βββ package.json β βββ glob-parent β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ hasown β β βββ CHANGELOG.md β β βββ LICENSE β β βββ README.md β β βββ index.d.ts β β βββ index.js β β βββ package.json β β βββ tsconfig.json β βββ is-binary-path β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ is-core-module β β βββ CHANGELOG.md β β βββ LICENSE β β βββ README.md β β βββ core.json β β βββ index.js β β βββ package.json β β βββ test β β βββ index.js β βββ is-extglob β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ is-fullwidth-code-point β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ is-glob β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ is-number β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ isexe β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ mode.js β β βββ package.json β β βββ test β β β βββ basic.js β β βββ windows.js β βββ jackspeak β β βββ LICENSE.md β β βββ README.md β β βββ dist β β β βββ commonjs β β β β βββ index.d.ts β β β β βββ index.d.ts.map β β β β βββ index.js β β β β βββ index.js.map β β β β βββ package.json β β β β βββ parse-args-cjs.cjs.map β β β β βββ parse-args-cjs.d.cts.map β β β β βββ parse-args.d.ts β β β β βββ parse-args.js β β β βββ esm β β β βββ index.d.ts β β β βββ index.d.ts.map β β β βββ index.js β β β βββ index.js.map β β β βββ package.json β β β βββ parse-args.d.ts β β β βββ parse-args.d.ts.map β β β βββ parse-args.js β β β βββ parse-args.js.map β β βββ package.json β βββ jiti β β βββ LICENSE β β βββ README.md β β βββ bin β β β βββ jiti.js β β βββ dist β β β βββ babel.d.ts β β β βββ babel.js β β β βββ jiti.d.ts β β β βββ jiti.js β β β βββ plugins β β β β βββ babel-plugin-transform-import-meta.d.ts β β β β βββ import-meta-env.d.ts β β β βββ types.d.ts β β β βββ utils.d.ts β β βββ lib β β β βββ index.js β β βββ package.json β β βββ register.js β βββ lilconfig β β βββ LICENSE β β βββ package.json β β βββ readme.md β β βββ src β β βββ index.d.ts β β βββ index.js β βββ lines-and-columns β β βββ LICENSE β β βββ README.md β β βββ build β β β βββ index.d.ts β β β βββ index.js β β βββ package.json β βββ lru-cache β β βββ LICENSE β β βββ README.md β β βββ dist β β β βββ commonjs β β β β βββ index.d.ts β β β β βββ index.d.ts.map β β β β βββ index.js β β β β βββ index.js.map β β β β βββ index.min.js β β β β βββ index.min.js.map β β β β βββ package.json β β β βββ esm β β β βββ index.d.ts β β β βββ index.d.ts.map β β β βββ index.js β β β βββ index.js.map β β β βββ index.min.js β β β βββ index.min.js.map β β β βββ package.json β β βββ package.json β βββ merge2 β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ micromatch β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ minimatch β β βββ LICENSE β β βββ README.md β β βββ dist β β β βββ commonjs β β β β βββ assert-valid-pattern.d.ts β β β β βββ assert-valid-pattern.d.ts.map β β β β βββ assert-valid-pattern.js β β β β βββ assert-valid-pattern.js.map β β β β βββ ast.d.ts β β β β βββ ast.d.ts.map β β β β βββ ast.js β β β β βββ ast.js.map β β β β βββ brace-expressions.d.ts β β β β βββ brace-expressions.d.ts.map β β β β βββ brace-expressions.js β β β β βββ brace-expressions.js.map β β β β βββ escape.d.ts β β β β βββ escape.d.ts.map β β β β βββ escape.js β β β β βββ escape.js.map β β β β βββ index.d.ts β β β β βββ index.d.ts.map β β β β βββ index.js β β β β βββ index.js.map β β β β βββ package.json β β β β βββ unescape.d.ts β β β β βββ unescape.d.ts.map β β β β βββ unescape.js β β β β βββ unescape.js.map β β β βββ esm β β β βββ assert-valid-pattern.d.ts β β β βββ assert-valid-pattern.d.ts.map β β β βββ assert-valid-pattern.js β β β βββ assert-valid-pattern.js.map β β β βββ ast.d.ts β β β βββ ast.d.ts.map β β β βββ ast.js β β β βββ ast.js.map β β β βββ brace-expressions.d.ts β β β βββ brace-expressions.d.ts.map β β β βββ brace-expressions.js β β β βββ brace-expressions.js.map β β β βββ escape.d.ts β β β βββ escape.d.ts.map β β β βββ escape.js β β β βββ escape.js.map β β β βββ index.d.ts β β β βββ index.d.ts.map β β β βββ index.js β β β βββ index.js.map β β β βββ package.json β β β βββ unescape.d.ts β β β βββ unescape.d.ts.map β β β βββ unescape.js β β β βββ unescape.js.map β β βββ package.json β βββ minipass β β βββ LICENSE β β βββ README.md β β βββ dist β β β βββ commonjs β β β β βββ index.d.ts β β β β βββ index.d.ts.map β β β β βββ index.js β β β β βββ index.js.map β β β β βββ package.json β β β βββ esm β β β βββ index.d.ts β β β βββ index.d.ts.map β β β βββ index.js β β β βββ index.js.map β β β βββ package.json β β βββ package.json β βββ mz β β βββ HISTORY.md β β βββ LICENSE β β βββ README.md β β βββ child_process.js β β βββ crypto.js β β βββ dns.js β β βββ fs.js β β βββ index.js β β βββ package.json β β βββ readline.js β β βββ zlib.js β βββ nanoid β β βββ LICENSE β β βββ README.md β β βββ async β β β βββ index.browser.cjs β β β βββ index.browser.js β β β βββ index.cjs β β β βββ index.d.ts β β β βββ index.js β β β βββ index.native.js β β β βββ package.json β β βββ bin β β β βββ nanoid.cjs β β βββ index.browser.cjs β β βββ index.browser.js β β βββ index.cjs β β βββ index.d.cts β β βββ index.d.ts β β βββ index.js β β βββ nanoid.js β β βββ non-secure β β β βββ index.cjs β β β βββ index.d.ts β β β βββ index.js β β β βββ package.json β β βββ package.json β β βββ url-alphabet β β βββ index.cjs β β βββ index.js β β βββ package.json β βββ node-releases β β βββ LICENSE β β βββ README.md β β βββ data β β β βββ processed β β β β βββ envs.json β β β βββ release-schedule β β β βββ release-schedule.json β β βββ package.json β βββ normalize-path β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ normalize-range β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ object-assign β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ object-hash β β βββ LICENSE β β βββ dist β β β βββ object_hash.js β β βββ index.js β β βββ package.json β β βββ readme.markdown β βββ package-json-from-dist β β βββ LICENSE.md β β βββ README.md β β βββ dist β β β βββ commonjs β β β β βββ index.d.ts β β β β βββ index.d.ts.map β β β β βββ index.js β β β β βββ index.js.map β β β β βββ package.json β β β βββ esm β β β βββ index.d.ts β β β βββ index.d.ts.map β β β βββ index.js β β β βββ index.js.map β β β βββ package.json β β βββ package.json β βββ path-key β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ path-parse β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ path-scurry β β βββ LICENSE.md β β βββ README.md β β βββ dist β β β βββ commonjs β β β β βββ index.d.ts β β β β βββ index.d.ts.map β β β β βββ index.js β β β β βββ index.js.map β β β β βββ package.json β β β βββ esm β β β βββ index.d.ts β β β βββ index.d.ts.map β β β βββ index.js β β β βββ index.js.map β β β βββ package.json β β βββ package.json β βββ picocolors β β βββ LICENSE β β βββ README.md β β βββ package.json β β βββ picocolors.browser.js β β βββ picocolors.d.ts β β βββ picocolors.js β β βββ types.d.ts β βββ picomatch β β βββ CHANGELOG.md β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ lib β β β βββ constants.js β β β βββ parse.js β β β βββ picomatch.js β β β βββ scan.js β β β βββ utils.js β β βββ package.json β βββ pify β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ pirates β β βββ LICENSE β β βββ README.md β β βββ index.d.ts β β βββ lib β β β βββ index.js β β βββ package.json β βββ postcss β β βββ LICENSE β β βββ README.md β β βββ lib β β β βββ at-rule.d.ts β β β βββ at-rule.js β β β βββ comment.d.ts β β β βββ comment.js β β β βββ container.d.ts β β β βββ container.js β β β βββ css-syntax-error.d.ts β β β βββ css-syntax-error.js β β β βββ declaration.d.ts β β β βββ declaration.js β β β βββ document.d.ts β β β βββ document.js β β β βββ fromJSON.d.ts β β β βββ fromJSON.js β β β βββ input.d.ts β β β βββ input.js β β β βββ lazy-result.d.ts β β β βββ lazy-result.js β β β βββ list.d.ts β β β βββ list.js β β β βββ map-generator.js β β β βββ no-work-result.d.ts β β β βββ no-work-result.js β β β βββ node.d.ts β β β βββ node.js β β β βββ parse.d.ts β β β βββ parse.js β β β βββ parser.js β β β βββ postcss.d.mts β β β βββ postcss.d.ts β β β βββ postcss.js β β β βββ postcss.mjs β β β βββ previous-map.d.ts β β β βββ previous-map.js β β β βββ processor.d.ts β β β βββ processor.js β β β βββ result.d.ts β β β βββ result.js β β β βββ root.d.ts β β β βββ root.js β β β βββ rule.d.ts β β β βββ rule.js β β β βββ stringifier.d.ts β β β βββ stringifier.js β β β βββ stringify.d.ts β β β βββ stringify.js β β β βββ symbols.js β β β βββ terminal-highlight.js β β β βββ tokenize.js β β β βββ warn-once.js β β β βββ warning.d.ts β β β βββ warning.js β β βββ package.json β βββ postcss-import β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ lib β β β βββ assign-layer-names.js β β β βββ data-url.js β β β βββ join-layer.js β β β βββ join-media.js β β β βββ load-content.js β β β βββ parse-statements.js β β β βββ process-content.js β β β βββ resolve-id.js β β βββ package.json β βββ postcss-js β β βββ LICENSE β β βββ README.md β β βββ async.js β β βββ index.js β β βββ index.mjs β β βββ objectifier.js β β βββ package.json β β βββ parser.js β β βββ process-result.js β β βββ sync.js β βββ postcss-load-config β β βββ LICENSE β β βββ README.md β β βββ package.json β β βββ src β β βββ index.d.ts β β βββ index.js β β βββ options.js β β βββ plugins.js β β βββ req.js β βββ postcss-nested β β βββ LICENSE β β βββ README.md β β βββ index.d.ts β β βββ index.js β β βββ package.json β βββ postcss-selector-parser β β βββ API.md β β βββ CHANGELOG.md β β βββ LICENSE-MIT β β βββ README.md β β βββ dist β β β βββ index.js β β β βββ parser.js β β β βββ processor.js β β β βββ selectors β β β β βββ attribute.js β β β β βββ className.js β β β β βββ combinator.js β β β β βββ comment.js β β β β βββ constructors.js β β β β βββ container.js β β β β βββ guards.js β β β β βββ id.js β β β β βββ index.js β β β β βββ namespace.js β β β β βββ nesting.js β β β β βββ node.js β β β β βββ pseudo.js β β β β βββ root.js β β β β βββ selector.js β β β β βββ string.js β β β β βββ tag.js β β β β βββ types.js β β β β βββ universal.js β β β βββ sortAscending.js β β β βββ tokenTypes.js β β β βββ tokenize.js β β β βββ util β β β βββ ensureObject.js β β β βββ getProp.js β β β βββ index.js β β β βββ stripComments.js β β β βββ unesc.js β β βββ package.json β β βββ postcss-selector-parser.d.ts β βββ postcss-value-parser β β βββ LICENSE β β βββ README.md β β βββ lib β β β βββ index.d.ts β β β βββ index.js β β β βββ parse.js β β β βββ stringify.js β β β βββ unit.js β β β βββ walk.js β β βββ package.json β βββ queue-microtask β β βββ LICENSE β β βββ README.md β β βββ index.d.ts β β βββ index.js β β βββ package.json β βββ read-cache β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ readdirp β β βββ LICENSE β β βββ README.md β β βββ index.d.ts β β βββ index.js β β βββ package.json β βββ resolve β β βββ LICENSE β β βββ SECURITY.md β β βββ async.js β β βββ bin β β β βββ resolve β β βββ example β β β βββ async.js β β β βββ sync.js β β βββ index.js β β βββ lib β β β βββ async.js β β β βββ caller.js β β β βββ core.js β β β βββ core.json β β β βββ homedir.js β β β βββ is-core.js β β β βββ node-modules-paths.js β β β βββ normalize-options.js β β β βββ sync.js β β βββ package.json β β βββ readme.markdown β β βββ sync.js β β βββ test β β βββ core.js β β βββ dotdot β β β βββ abc β β β β βββ index.js β β β βββ index.js β β βββ dotdot.js β β βββ faulty_basedir.js β β βββ filter.js β β βββ filter_sync.js β β βββ home_paths.js β β βββ home_paths_sync.js β β βββ mock.js β β βββ mock_sync.js β β βββ module_dir β β β βββ xmodules β β β β βββ aaa β β β β βββ index.js β β β βββ ymodules β β β β βββ aaa β β β β βββ index.js β β β βββ zmodules β β β βββ bbb β β β βββ main.js β β β βββ package.json β β βββ module_dir.js β β βββ node-modules-paths.js β β βββ node_path β β β βββ x β β β β βββ aaa β β β β β βββ index.js β β β β βββ ccc β β β β βββ index.js β β β βββ y β β β βββ bbb β β β β βββ index.js β β β βββ ccc β β β βββ index.js β β βββ node_path.js β β βββ nonstring.js β β βββ pathfilter β β β βββ deep_ref β β β βββ main.js β β βββ pathfilter.js β β βββ precedence β β β βββ aaa β β β β βββ index.js β β β β βββ main.js β β β βββ aaa.js β β β βββ bbb β β β β βββ main.js β β β βββ bbb.js β β βββ precedence.js β β βββ resolver β β β βββ baz β β β β βββ doom.js β β β β βββ package.json β β β β βββ quux.js β β β βββ browser_field β β β β βββ a.js β β β β βββ b.js β β β β βββ package.json β β β βββ cup.coffee β β β βββ dot_main β β β β βββ index.js β β β β βββ package.json β β β βββ dot_slash_main β β β β βββ index.js β β β β βββ package.json β β β βββ false_main β β β β βββ index.js β β β β βββ package.json β β β βββ foo.js β β β βββ incorrect_main β β β β βββ index.js β β β β βββ package.json β β β βββ invalid_main β β β β βββ package.json β β β βββ mug.coffee β β β βββ mug.js β β β βββ multirepo β β β β βββ lerna.json β β β β βββ package.json β β β β βββ packages β β β β βββ package-a β β β β β βββ index.js β β β β β βββ package.json β β β β βββ package-b β β β β βββ index.js β β β β βββ package.json β β β βββ nested_symlinks β β β β βββ mylib β β β β βββ async.js β β β β βββ package.json β β β β βββ sync.js β β β βββ other_path β β β β βββ lib β β β β β βββ other-lib.js β β β β βββ root.js β β β βββ quux β β β β βββ foo β β β β βββ index.js β β β βββ same_names β β β β βββ foo β β β β β βββ index.js β β β β βββ foo.js β β β βββ symlinked β β β β βββ _ β β β β β βββ node_modules β β β β β β βββ foo.js β β β β β βββ symlink_target β β β β βββ package β β β β βββ bar.js β β β β βββ package.json β β β βββ without_basedir β β β βββ main.js β β βββ resolver.js β β βββ resolver_sync.js β β βββ shadowed_core β β β βββ node_modules β β β βββ util β β β βββ index.js β β βββ shadowed_core.js β β βββ subdirs.js β β βββ symlinks.js β βββ reusify β β βββ LICENSE β β βββ README.md β β βββ SECURITY.md β β βββ benchmarks β β β βββ createNoCodeFunction.js β β β βββ fib.js β β β βββ reuseNoCodeFunction.js β β βββ eslint.config.js β β βββ package.json β β βββ reusify.d.ts β β βββ reusify.js β β βββ test.js β β βββ tsconfig.json β βββ run-parallel β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ shebang-command β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ shebang-regex β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ signal-exit β β βββ LICENSE.txt β β βββ README.md β β βββ dist β β β βββ cjs β β β β βββ browser.d.ts β β β β βββ browser.d.ts.map β β β β βββ browser.js β β β β βββ browser.js.map β β β β βββ index.d.ts β β β β βββ index.d.ts.map β β β β βββ index.js β β β β βββ index.js.map β β β β βββ package.json β β β β βββ signals.d.ts β β β β βββ signals.d.ts.map β β β β βββ signals.js β β β β βββ signals.js.map β β β βββ mjs β β β βββ browser.d.ts β β β βββ browser.d.ts.map β β β βββ browser.js β β β βββ browser.js.map β β β βββ index.d.ts β β β βββ index.d.ts.map β β β βββ index.js β β β βββ index.js.map β β β βββ package.json β β β βββ signals.d.ts β β β βββ signals.d.ts.map β β β βββ signals.js β β β βββ signals.js.map β β βββ package.json β βββ source-map-js β β βββ LICENSE β β βββ README.md β β βββ lib β β β βββ array-set.js β β β βββ base64-vlq.js β β β βββ base64.js β β β βββ binary-search.js β β β βββ mapping-list.js β β β βββ quick-sort.js β β β βββ source-map-consumer.d.ts β β β βββ source-map-consumer.js β β β βββ source-map-generator.d.ts β β β βββ source-map-generator.js β β β βββ source-node.d.ts β β β βββ source-node.js β β β βββ util.js β β βββ package.json β β βββ source-map.d.ts β β βββ source-map.js β βββ string-width β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ string-width-cjs β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ node_modules β β β βββ ansi-regex β β β β βββ index.d.ts β β β β βββ index.js β β β β βββ license β β β β βββ package.json β β β β βββ readme.md β β β βββ emoji-regex β β β β βββ LICENSE-MIT.txt β β β β βββ README.md β β β β βββ es2015 β β β β β βββ index.js β β β β β βββ text.js β β β β βββ index.d.ts β β β β βββ index.js β β β β βββ package.json β β β β βββ text.js β β β βββ strip-ansi β β β βββ index.d.ts β β β βββ index.js β β β βββ license β β β βββ package.json β β β βββ readme.md β β βββ package.json β β βββ readme.md β βββ strip-ansi β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ strip-ansi-cjs β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ node_modules β β β βββ ansi-regex β β β βββ index.d.ts β β β βββ index.js β β β βββ license β β β βββ package.json β β β βββ readme.md β β βββ package.json β β βββ readme.md β βββ sucrase β β βββ LICENSE β β βββ README.md β β βββ bin β β β βββ sucrase β β β βββ sucrase-node β β βββ dist β β β βββ CJSImportProcessor.js β β β βββ HelperManager.js β β β βββ NameManager.js β β β βββ Options-gen-types.js β β β βββ Options.js β β β βββ TokenProcessor.js β β β βββ cli.js β β β βββ computeSourceMap.js β β β βββ esm β β β β βββ CJSImportProcessor.js β β β β βββ HelperManager.js β β β β βββ NameManager.js β β β β βββ Options-gen-types.js β β β β βββ Options.js β β β β βββ TokenProcessor.js β β β β βββ cli.js β β β β βββ computeSourceMap.js β β β β βββ identifyShadowedGlobals.js β β β β βββ index.js β β β β βββ parser β β β β β βββ index.js β β β β β βββ plugins β β β β β β βββ flow.js β β β β β β βββ jsx β β β β β β β βββ index.js β β β β β β β βββ xhtml.js β β β β β β βββ types.js β β β β β β βββ typescript.js β β β β β βββ tokenizer β β β β β β βββ index.js β β β β β β βββ keywords.js β β β β β β βββ readWord.js β β β β β β βββ readWordTree.js β β β β β β βββ state.js β β β β β β βββ types.js β β β β β βββ traverser β β β β β β βββ base.js β β β β β β βββ expression.js β β β β β β βββ index.js β β β β β β βββ lval.js β β β β β β βββ statement.js β β β β β β βββ util.js β β β β β βββ util β β β β β βββ charcodes.js β β β β β βββ identifier.js β β β β β βββ whitespace.js β β β β βββ register.js β β β β βββ transformers β β β β β βββ CJSImportTransformer.js β β β β β βββ ESMImportTransformer.js β β β β β βββ FlowTransformer.js β β β β β βββ JSXTransformer.js β β β β β βββ JestHoistTransformer.js β β β β β βββ NumericSeparatorTransformer.js β β β β β βββ OptionalCatchBindingTransformer.js β β β β β βββ OptionalChainingNullishTransformer.js β β β β β βββ ReactDisplayNameTransformer.js β β β β β βββ ReactHotLoaderTransformer.js β β β β β βββ RootTransformer.js β β β β β βββ Transformer.js β β β β β βββ TypeScriptTransformer.js β β β β βββ util β β β β βββ elideImportEquals.js β β β β βββ formatTokens.js β β β β βββ getClassInfo.js β β β β βββ getDeclarationInfo.js β β β β βββ getIdentifierNames.js β β β β βββ getImportExportSpecifierInfo.js β β β β βββ getJSXPragmaInfo.js β β β β βββ getNonTypeIdentifiers.js β β β β βββ getTSImportedNames.js β β β β βββ isAsyncOperation.js β β β β βββ isExportFrom.js β β β β βββ isIdentifier.js β β β β βββ removeMaybeImportAttributes.js β β β β βββ shouldElideDefaultExport.js β β β βββ identifyShadowedGlobals.js β β β βββ index.js β β β βββ parser β β β β βββ index.js β β β β βββ plugins β β β β β βββ flow.js β β β β β βββ jsx β β β β β β βββ index.js β β β β β β βββ xhtml.js β β β β β βββ types.js β β β β β βββ typescript.js β β β β βββ tokenizer β β β β β βββ index.js β β β β β βββ keywords.js β β β β β βββ readWord.js β β β β β βββ readWordTree.js β β β β β βββ state.js β β β β β βββ types.js β β β β βββ traverser β β β β β βββ base.js β β β β β βββ expression.js β β β β β βββ index.js β β β β β βββ lval.js β β β β β βββ statement.js β β β β β βββ util.js β β β β βββ util β β β β βββ charcodes.js β β β β βββ identifier.js β β β β βββ whitespace.js β β β βββ register.js β β β βββ transformers β β β β βββ CJSImportTransformer.js β β β β βββ ESMImportTransformer.js β β β β βββ FlowTransformer.js β β β β βββ JSXTransformer.js β β β β βββ JestHoistTransformer.js β β β β βββ NumericSeparatorTransformer.js β β β β βββ OptionalCatchBindingTransformer.js β β β β βββ OptionalChainingNullishTransformer.js β β β β βββ ReactDisplayNameTransformer.js β β β β βββ ReactHotLoaderTransformer.js β β β β βββ RootTransformer.js β β β β βββ Transformer.js β β β β βββ TypeScriptTransformer.js β β β βββ types β β β β βββ CJSImportProcessor.d.ts β β β β βββ HelperManager.d.ts β β β β βββ NameManager.d.ts β β β β βββ Options-gen-types.d.ts β β β β βββ Options.d.ts β β β β βββ TokenProcessor.d.ts β β β β βββ cli.d.ts β β β β βββ computeSourceMap.d.ts β β β β βββ identifyShadowedGlobals.d.ts β β β β βββ index.d.ts β β β β βββ parser β β β β β βββ index.d.ts β β β β β βββ plugins β β β β β β βββ flow.d.ts β β β β β β βββ jsx β β β β β β β βββ index.d.ts β β β β β β β βββ xhtml.d.ts β β β β β β βββ types.d.ts β β β β β β βββ typescript.d.ts β β β β β βββ tokenizer β β β β β β βββ index.d.ts β β β β β β βββ keywords.d.ts β β β β β β βββ readWord.d.ts β β β β β β βββ readWordTree.d.ts β β β β β β βββ state.d.ts β β β β β β βββ types.d.ts β β β β β βββ traverser β β β β β β βββ base.d.ts β β β β β β βββ expression.d.ts β β β β β β βββ index.d.ts β β β β β β βββ lval.d.ts β β β β β β βββ statement.d.ts β β β β β β βββ util.d.ts β β β β β βββ util β β β β β βββ charcodes.d.ts β β β β β βββ identifier.d.ts β β β β β βββ whitespace.d.ts β β β β βββ register.d.ts β β β β βββ transformers β β β β β βββ CJSImportTransformer.d.ts β β β β β βββ ESMImportTransformer.d.ts β β β β β βββ FlowTransformer.d.ts β β β β β βββ JSXTransformer.d.ts β β β β β βββ JestHoistTransformer.d.ts β β β β β βββ NumericSeparatorTransformer.d.ts β β β β β βββ OptionalCatchBindingTransformer.d.ts β β β β β βββ OptionalChainingNullishTransformer.d.ts β β β β β βββ ReactDisplayNameTransformer.d.ts β β β β β βββ ReactHotLoaderTransformer.d.ts β β β β β βββ RootTransformer.d.ts β β β β β βββ Transformer.d.ts β β β β β βββ TypeScriptTransformer.d.ts β β β β βββ util β β β β βββ elideImportEquals.d.ts β β β β βββ formatTokens.d.ts β β β β βββ getClassInfo.d.ts β β β β βββ getDeclarationInfo.d.ts β β β β βββ getIdentifierNames.d.ts β β β β βββ getImportExportSpecifierInfo.d.ts β β β β βββ getJSXPragmaInfo.d.ts β β β β βββ getNonTypeIdentifiers.d.ts β β β β βββ getTSImportedNames.d.ts β β β β βββ isAsyncOperation.d.ts β β β β βββ isExportFrom.d.ts β β β β βββ isIdentifier.d.ts β β β β βββ removeMaybeImportAttributes.d.ts β β β β βββ shouldElideDefaultExport.d.ts β β β βββ util β β β βββ elideImportEquals.js β β β βββ formatTokens.js β β β βββ getClassInfo.js β β β βββ getDeclarationInfo.js β β β βββ getIdentifierNames.js β β β βββ getImportExportSpecifierInfo.js β β β βββ getJSXPragmaInfo.js β β β βββ getNonTypeIdentifiers.js β β β βββ getTSImportedNames.js β β β βββ isAsyncOperation.js β β β βββ isExportFrom.js β β β βββ isIdentifier.js β β β βββ removeMaybeImportAttributes.js β β β βββ shouldElideDefaultExport.js β β βββ package.json β β βββ register β β β βββ index.js β β β βββ js.js β β β βββ jsx.js β β β βββ ts-legacy-module-interop.js β β β βββ ts.js β β β βββ tsx-legacy-module-interop.js β β β βββ tsx.js β β βββ ts-node-plugin β β βββ index.js β βββ supports-preserve-symlinks-flag β β βββ CHANGELOG.md β β βββ LICENSE β β βββ README.md β β βββ browser.js β β βββ index.js β β βββ package.json β β βββ test β β βββ index.js β βββ tailwindcss β β βββ CHANGELOG.md β β βββ LICENSE β β βββ README.md β β βββ base.css β β βββ colors.d.ts β β βββ colors.js β β βββ components.css β β βββ defaultConfig.d.ts β β βββ defaultConfig.js β β βββ defaultTheme.d.ts β β βββ defaultTheme.js β β βββ lib β β β βββ cli β β β β βββ build β β β β β βββ deps.js β β β β β βββ index.js β β β β β βββ plugin.js β β β β β βββ utils.js β β β β β βββ watching.js β β β β βββ help β β β β β βββ index.js β β β β βββ index.js β β β β βββ init β β β β βββ index.js β β β βββ cli-peer-dependencies.js β β β βββ cli.js β β β βββ corePluginList.js β β β βββ corePlugins.js β β β βββ css β β β β βββ LICENSE β β β β βββ preflight.css β β β βββ featureFlags.js β β β βββ index.js β β β βββ lib β β β β βββ cacheInvalidation.js β β β β βββ collapseAdjacentRules.js β β β β βββ collapseDuplicateDeclarations.js β β β β βββ content.js β β β β βββ defaultExtractor.js β β β β βββ evaluateTailwindFunctions.js β β β β βββ expandApplyAtRules.js β β β β βββ expandTailwindAtRules.js β β β β βββ findAtConfigPath.js β β β β βββ generateRules.js β β β β βββ getModuleDependencies.js β β β β βββ load-config.js β β β β βββ normalizeTailwindDirectives.js β β β β βββ offsets.js β β β β βββ partitionApplyAtRules.js β β β β βββ regex.js β β β β βββ remap-bitfield.js β β β β βββ resolveDefaultsAtRules.js β β β β βββ setupContextUtils.js β β β β βββ setupTrackingContext.js β β β β βββ sharedState.js β β β β βββ substituteScreenAtRules.js β β β βββ plugin.js β β β βββ postcss-plugins β β β β βββ nesting β β β β βββ README.md β β β β βββ index.js β β β β βββ plugin.js β β β βββ processTailwindFeatures.js β β β βββ public β β β β βββ colors.js β β β β βββ create-plugin.js β β β β βββ default-config.js β β β β βββ default-theme.js β β β β βββ load-config.js β β β β βββ resolve-config.js β β β βββ util β β β β βββ applyImportantSelector.js β β β β βββ bigSign.js β β β β βββ buildMediaQuery.js β β β β βββ cloneDeep.js β β β β βββ cloneNodes.js β β β β βββ color.js β β β β βββ colorNames.js β β β β βββ configurePlugins.js β β β β βββ createPlugin.js β β β β βββ createUtilityPlugin.js β β β β βββ dataTypes.js β β β β βββ defaults.js β β β β βββ escapeClassName.js β β β β βββ escapeCommas.js β β β β βββ flattenColorPalette.js β β β β βββ formatVariantSelector.js β β β β βββ getAllConfigs.js β β β β βββ hashConfig.js β β β β βββ isKeyframeRule.js β β β β βββ isPlainObject.js β β β β βββ isSyntacticallyValidPropertyValue.js β β β β βββ log.js β β β β βββ nameClass.js β β β β βββ negateValue.js β β β β βββ normalizeConfig.js β β β β βββ normalizeScreens.js β β β β βββ parseAnimationValue.js β β β β βββ parseBoxShadowValue.js β β β β βββ parseDependency.js β β β β βββ parseGlob.js β β β β βββ parseObjectStyles.js β β β β βββ pluginUtils.js β β β β βββ prefixSelector.js β β β β βββ pseudoElements.js β β β β βββ removeAlphaVariables.js β β β β βββ resolveConfig.js β β β β βββ resolveConfigPath.js β β β β βββ responsive.js β β β β βββ splitAtTopLevelOnly.js β β β β βββ tap.js β β β β βββ toColorValue.js β β β β βββ toPath.js β β β β βββ transformThemeValue.js β β β β βββ validateConfig.js β β β β βββ validateFormalSyntax.js β β β β βββ withAlphaVariable.js β β β βββ value-parser β β β βββ LICENSE β β β βββ README.md β β β βββ index.d.js β β β βββ index.js β β β βββ parse.js β β β βββ stringify.js β β β βββ unit.js β β β βββ walk.js β β βββ loadConfig.d.ts β β βββ loadConfig.js β β βββ nesting β β β βββ index.d.ts β β β βββ index.js β β βββ package.json β β βββ peers β β β βββ index.js β β βββ plugin.d.ts β β βββ plugin.js β β βββ prettier.config.js β β βββ resolveConfig.d.ts β β βββ resolveConfig.js β β βββ screens.css β β βββ scripts β β β βββ create-plugin-list.js β β β βββ generate-types.js β β β βββ release-channel.js β β β βββ release-notes.js β β β βββ type-utils.js β β βββ src β β β βββ cli β β β β βββ build β β β β β βββ deps.js β β β β β βββ index.js β β β β β βββ plugin.js β β β β β βββ utils.js β β β β β βββ watching.js β β β β βββ help β β β β β βββ index.js β β β β βββ index.js β β β β βββ init β β β β βββ index.js β β β βββ cli-peer-dependencies.js β β β βββ cli.js β β β βββ corePluginList.js β β β βββ corePlugins.js β β β βββ css β β β β βββ LICENSE β β β β βββ preflight.css β β β βββ featureFlags.js β β β βββ index.js β β β βββ lib β β β β βββ cacheInvalidation.js β β β β βββ collapseAdjacentRules.js β β β β βββ collapseDuplicateDeclarations.js β β β β βββ content.js β β β β βββ defaultExtractor.js β β β β βββ evaluateTailwindFunctions.js β β β β βββ expandApplyAtRules.js β β β β βββ expandTailwindAtRules.js β β β β βββ findAtConfigPath.js β β β β βββ generateRules.js β β β β βββ getModuleDependencies.js β β β β βββ load-config.ts β β β β βββ normalizeTailwindDirectives.js β β β β βββ offsets.js β β β β βββ partitionApplyAtRules.js β β β β βββ regex.js β β β β βββ remap-bitfield.js β β β β βββ resolveDefaultsAtRules.js β β β β βββ setupContextUtils.js β β β β βββ setupTrackingContext.js β β β β βββ sharedState.js β β β β βββ substituteScreenAtRules.js β β β βββ plugin.js β β β βββ postcss-plugins β β β β βββ nesting β β β β βββ README.md β β β β βββ index.js β β β β βββ plugin.js β β β βββ processTailwindFeatures.js β β β βββ public β β β β βββ colors.js β β β β βββ create-plugin.js β β β β βββ default-config.js β β β β βββ default-theme.js β β β β βββ load-config.js β β β β βββ resolve-config.js β β β βββ util β β β β βββ applyImportantSelector.js β β β β βββ bigSign.js β β β β βββ buildMediaQuery.js β β β β βββ cloneDeep.js β β β β βββ cloneNodes.js β β β β βββ color.js β β β β βββ colorNames.js β β β β βββ configurePlugins.js β β β β βββ createPlugin.js β β β β βββ createUtilityPlugin.js β β β β βββ dataTypes.js β β β β βββ defaults.js β β β β βββ escapeClassName.js β β β β βββ escapeCommas.js β β β β βββ flattenColorPalette.js β β β β βββ formatVariantSelector.js β β β β βββ getAllConfigs.js β β β β βββ hashConfig.js β β β β βββ isKeyframeRule.js β β β β βββ isPlainObject.js β β β β βββ isSyntacticallyValidPropertyValue.js β β β β βββ log.js β β β β βββ nameClass.js β β β β βββ negateValue.js β β β β βββ normalizeConfig.js β β β β βββ normalizeScreens.js β β β β βββ parseAnimationValue.js β β β β βββ parseBoxShadowValue.js β β β β βββ parseDependency.js β β β β βββ parseGlob.js β β β β βββ parseObjectStyles.js β β β β βββ pluginUtils.js β β β β βββ prefixSelector.js β β β β βββ pseudoElements.js β β β β βββ removeAlphaVariables.js β β β β βββ resolveConfig.js β β β β βββ resolveConfigPath.js β β β β βββ responsive.js β β β β βββ splitAtTopLevelOnly.js β β β β βββ tap.js β β β β βββ toColorValue.js β β β β βββ toPath.js β β β β βββ transformThemeValue.js β β β β βββ validateConfig.js β β β β βββ validateFormalSyntax.js β β β β βββ withAlphaVariable.js β β β βββ value-parser β β β βββ LICENSE β β β βββ README.md β β β βββ index.d.ts β β β βββ index.js β β β βββ parse.js β β β βββ stringify.js β β β βββ unit.js β β β βββ walk.js β β βββ stubs β β β βββ config.full.js β β β βββ config.simple.js β β β βββ postcss.config.cjs β β β βββ postcss.config.js β β β βββ tailwind.config.cjs β β β βββ tailwind.config.js β β β βββ tailwind.config.ts β β βββ tailwind.css β β βββ types β β β βββ config.d.ts β β β βββ generated β β β β βββ colors.d.ts β β β β βββ corePluginList.d.ts β β β β βββ default-theme.d.ts β β β βββ index.d.ts β β βββ utilities.css β β βββ variants.css β βββ thenify β β βββ History.md β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ thenify-all β β βββ History.md β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ to-regex-range β β βββ LICENSE β β βββ README.md β β βββ index.js β β βββ package.json β βββ ts-interface-checker β β βββ LICENSE β β βββ README.md β β βββ dist β β β βββ index.d.ts β β β βββ index.js β β β βββ types.d.ts β β β βββ types.js β β β βββ util.d.ts β β β βββ util.js β β βββ package.json β βββ update-browserslist-db β β βββ LICENSE β β βββ README.md β β βββ check-npm-version.js β β βββ cli.js β β βββ index.d.ts β β βββ index.js β β βββ package.json β β βββ utils.js β βββ util-deprecate β β βββ History.md β β βββ LICENSE β β βββ README.md β β βββ browser.js β β βββ node.js β β βββ package.json β βββ which β β βββ CHANGELOG.md β β βββ LICENSE β β βββ README.md β β βββ bin β β β βββ node-which β β βββ package.json β β βββ which.js β βββ wrap-ansi β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ wrap-ansi-cjs β βββ index.js β βββ license β βββ node_modules β β βββ ansi-regex β β β βββ index.d.ts β β β βββ index.js β β β βββ license β β β βββ package.json β β β βββ readme.md β β βββ ansi-styles β β β βββ index.d.ts β β β βββ index.js β β β βββ license β β β βββ package.json β β β βββ readme.md β β βββ emoji-regex β β β βββ LICENSE-MIT.txt β β β βββ README.md β β β βββ es2015 β β β β βββ index.js β β β β βββ text.js β β β βββ index.d.ts β β β βββ index.js β β β βββ package.json β β β βββ text.js β β βββ string-width β β β βββ index.d.ts β β β βββ index.js β β β βββ license β β β βββ package.json β β β βββ readme.md β β βββ strip-ansi β β βββ index.d.ts β β βββ index.js β β βββ license β β βββ package.json β β βββ readme.md β βββ package.json β βββ readme.md βββ package-lock.json βββ package.json βββ postcss.config.js βββ site β βββ assets β β βββ css β β β βββ output.css β β β βββ tailwind.css β β βββ favicon.ico β β βββ style.css β βββ build-info.json β βββ en β β βββ about.html β β βββ community-passport β β β βββ index.html β β βββ index.html β βββ index.html β βββ zh β βββ about.html β βββ community-passport β β βββ index.html β βββ index.html βββ src β βββ assets β β βββ css β β β βββ output.css β β β βββ tailwind.css β β βββ favicon.ico β β βββ style.css β βββ en β β βββ about.html β β βββ community-passport β β β βββ index.html β β βββ index.html β βββ index.html β βββ zh β βββ about.html β βββ community-passport β β βββ index.html β βββ index.html βββ tailwind.config.js 392 directories, 2764 files === Assistant: Short answer: your project layout looks fine for a standardized wsi-website repo; the problem is just that tree is too β¦ === Short answer: your project layout looks fine for a standardized wsi-website repo; the problem is just that <code>tree</code> is too noisy because of <code>node_modules</code>. Let me split it into two parts: (A) a βbetter than treeβ command and (B) a quick verification of structure. ==== For day-to-day work on this project, Iβd strongly recommend one of these variants instead of plain tree: ==== ===== <syntaxhighlight lang="bash">cd ~/projects/wsi-website ===== === Show only top 2 levels, hide noisy dirs === tree -L 2 -I 'node_modules|.git|.venv|site|dist|build' </syntaxhighlight> * -L 2 = limit depth to 2 levels (root + immediate children) * -I 'β¦' = ignore node_modules, .git, etc. If you want only folder structure (no files): <syntaxhighlight lang="bash">tree -d -L 3 -I 'node_modules|.git|.venv|site|dist|build' </syntaxhighlight> ===== <syntaxhighlight lang="bash">tree \ ===== mkdocs.yml mkdocs-02.yml mkdoc-01.yml Dockerfile docker-compose.yml \ docs \ -L 3 </syntaxhighlight> This avoids walking node_modules entirely and focuses on your MkDocs + infra files. ===== If you install <code>eza</code> (the modern replacement for ls): ===== <syntaxhighlight lang="bash">eza -T -L 3 --git-ignore --ignore-glob 'node_modules' docs </syntaxhighlight> * -T = tree mode * --git-ignore = respects .gitignore * --ignore-glob 'node_modules' = hides that directory ==== From what you pasted, the core structure is: ==== <syntaxhighlight lang="text">wsi-website/ βββ CONTENT.en.md βββ CONTENT.zh.md βββ Dockerfile βββ README.md βββ build-meta.sh βββ docker-compose.yml βββ mkdocs.yml βββ mkdoc-01.yml βββ mkdocs-02.yml βββ docs/ β βββ index.md β βββ iam/ β βββ nextcloud/ β βββ openwebui/ β βββ tracts/ β βββ test.md βββ node_modules/ # local build dependency tree (should be gitignored) </syntaxhighlight> From a standardized project point of view for a MkDocs + Tailwind + Docker site: * β Single project root: ~/projects/wsi-website β good. * β MkDocs configs at root: - mkdocs.yml (primary) - mkdoc-01.yml, mkdocs-02.yml (alt profiles β this is acceptable as long as we document them in README.md). * β Docs under <code>docs/</code> split by domain: iam/, nextcloud/, openwebui/, tracts/ β this matches a clean domain-driven doc structure. * β Containerization present: Dockerfile + docker-compose.yml β aligns well with the βlocal β container β VPSβ pipeline. * β Meta / helper script: build-meta.sh β good practice, just make sure itβs documented in README.md. * β Bilingual content anchors: CONTENT.en.md, CONTENT.zh.md β good as top-level content map or landing copy. The only red flag, structurally: * node_modules/ is present at root (which is normal locally) but: - It must be in .gitignore so it does not go into GitHub. - If not yet added, create/extend: ``<code>bash cat >> .gitignore << 'EOF' node_modules/ site/ dist/ .venv/ __pycache__/ .DS_Store EOF </code>`` From the perspective of βStandardized Project Structure (Local & Repo)β, you are already aligned for: * Local WSL: ~/projects/wsi-website as the working copy * GitHub repo: same root structure (minus node_modules, site, etc.) * VPS deployment: Dockerfile + docker-compose.yml ready to be used in CI/CD later. If you want, next step I can help you: * Define a canonical tree -L 2 -I 'β¦' command to paste into your README.md as the βofficial project layout viewerβ, and * Normalize which MkDocs YAML is βmainβ vs βprofile variantsβ (e.g., mkdocs.yml = production, others suffixed as mkdocs.local.yml, mkdocs.dev.yml). === User: cesadmin@vmi2744768:/projects/wsi-website-prod$ cat /projects/wsi-website-prod/Caddyfile === cesadmin@vmi2744768:~/projects/wsi-website-prod$ cat ~/projects/wsi-website-prod/Caddyfile { auto_https off } :80 { root * /usr/share/caddy file_server } cesadmin@vmi2744768:~/projects/wsi-website-prod$ cat ~/projects/wsi-website-prod/docker-compose.yml services: caddy: image: caddy:latest container_name: wsi-caddy restart: unless-stopped expose: * "80" volumes: * ./Caddyfile:/etc/caddy/Caddyfile * ./site:/usr/share/caddy * caddy_data:/data * caddy_config:/config networks: * npm-net networks: npm-net: external: true volumes: caddy_data: caddy_config: === Assistant: Good, now we have something concrete. === Good, now we have something concrete. Let me lock a CI/CD blueprint to exactly what you have on Dell01 and vmi2744768, with shell commands you can copy-paste and verify. ==== ### ==== Project root: <syntaxhighlight lang="bash">/home/kce2ces/projects/wsi-website </syntaxhighlight> Key points: * Build output lives in: ./site/ * Source lives in: ./src/ * You have build-meta.sh, Tailwind, MkDocs configs, etc. ===== Prod root: ===== <syntaxhighlight lang="bash">/home/cesadmin/projects/wsi-website-prod </syntaxhighlight> Content: <syntaxhighlight lang="bash">. βββ Caddyfile βββ docker-compose.yml βββ site/ βββ assets/ βββ en/ βββ zh/ βββ index.html </syntaxhighlight> Caddy + Compose: <syntaxhighlight lang="bash"># Caddyfile { auto_https off } :80 { root * /usr/share/caddy file_server } </syntaxhighlight> <syntaxhighlight lang="yaml"># docker-compose.yml services: caddy: image: caddy:latest container_name: wsi-caddy restart: unless-stopped expose: * "80" volumes: * ./Caddyfile:/etc/caddy/Caddyfile * ./site:/usr/share/caddy * caddy_data:/data * caddy_config:/config networks: * npm-net networks: npm-net: external: true volumes: caddy_data: caddy_config: </syntaxhighlight> β Conclusion: Blueprint anchor is clear * Local build target: ~/projects/wsi-website/site * Prod web root (inside container): /usr/share/caddy * Prod host mapping: ~/projects/wsi-website-prod/site β /usr/share/caddy So CI/CD only needs to sync <code>site/</code> from Dell01 β <code>site/</code> on vmi2744768. Caddy does NOT need to restart for static file updates. ==== Run everything under: ==== <syntaxhighlight lang="bash">cd ~/projects/wsi-website </syntaxhighlight> ===== <syntaxhighlight lang="bash">rm -rf site/* ===== </syntaxhighlight> ===== You already have build-meta.sh. Run: ===== <syntaxhighlight lang="bash">chmod +x build-meta.sh ./build-meta.sh </syntaxhighlight> After this, verify: <syntaxhighlight lang="bash">cat site/build-info.json </syntaxhighlight> You should see fields like timestamp, git commit, etc (depending on how we scripted it last time). ===== Assuming your package.json has a script like: ===== <syntaxhighlight lang="json">"scripts": { "build": "tailwindcss ... && <copy src -> site>", "dev": "..." } </syntaxhighlight> Use: <syntaxhighlight lang="bash">npm install # first time or when deps change npm run build </syntaxhighlight> Verify that the built files exist: <syntaxhighlight lang="bash">tree -L 3 site </syntaxhighlight> You should see something like: <syntaxhighlight lang="bash">site βββ assets β βββ css β βββ favicon.ico β βββ style.css βββ en β βββ about.html β βββ index.html βββ index.html βββ zh βββ about.html βββ index.html </syntaxhighlight> : ==== Still in ~/projects/wsi-website: ==== ===== <syntaxhighlight lang="bash">git status ===== </syntaxhighlight> ===== If you do want site/ in Git (recommended for simple static hosting): ===== <syntaxhighlight lang="bash">git add src site docs *.md build-meta.sh package.json package-lock.json \ mkdocs*.yml tailwind.config.js postcss.config.js Caddyfile \ docker-compose.yml </syntaxhighlight> If you do NOT want site/ in Git, ensure .gitignore contains: <syntaxhighlight lang="gitignore">node_modules/ site/ </syntaxhighlight> Then add everything else: <syntaxhighlight lang="bash">git add . </syntaxhighlight> ===== <syntaxhighlight lang="bash">git commit -m "WSI website: build $(date +'%Y-%m-%d %H:%M %Z')" ===== </syntaxhighlight> ===== <syntaxhighlight lang="bash">git push origin main ===== </syntaxhighlight> Replace main with your actual default branch if different. ==== From Dell01 / WSL, we deploy only <code>site/</code> via rsync over SSH. ==== ===== SSH into VPS once: ===== <syntaxhighlight lang="bash">ssh cesadmin@vmi2744768 sudo apt update sudo apt install -y rsync exit </syntaxhighlight> ===== From: ===== <syntaxhighlight lang="bash">cd ~/projects/wsi-website </syntaxhighlight> Run: <syntaxhighlight lang="bash">rsync -avz --delete \ ./site/ \ cesadmin@vmi2744768:~/projects/wsi-website-prod/site/ </syntaxhighlight> Explanation: * ./site/ β content of local site directory * ~/projects/wsi-website-prod/site/ β existing prod directory * --delete ensures removed files locally are also removed on the server (no stale HTML/CSS/JS). ===== SSH in: ===== <syntaxhighlight lang="bash">ssh cesadmin@vmi2744768 cd ~/projects/wsi-website-prod tree -L 3 site </syntaxhighlight> You should see: <syntaxhighlight lang="bash">site βββ assets β βββ css β βββ favicon.ico β βββ style.css βββ en β βββ about.html β βββ index.html βββ index.html βββ zh βββ about.html βββ index.html </syntaxhighlight> If yes β files deployed correctly. ==== Caddy is already running via docker-compose.yml and mounts ./site β /usr/share/caddy. ==== From VPS: <syntaxhighlight lang="bash">cd ~/projects/wsi-website-prod docker compose ps </syntaxhighlight> You should see wsi-caddy in Up state. To verify contents inside the container: <syntaxhighlight lang="bash">docker exec -it wsi-caddy ls -R /usr/share/caddy </syntaxhighlight> To verify HTTP from VPS itself: <syntaxhighlight lang="bash">curl -I http://localhost === or, if NPM is proxying by host header: === curl -I http://whitestoneintel.com </syntaxhighlight> In your browser (from anywhere), verify: * https://whitestoneintel.com/ * https://whitestoneintel.com/en/ * https://whitestoneintel.com/zh/ These should now reflect the latest build. : ==== If you want true CI/CD from GitHub to VPS (no manual rsync), you can create: ==== /.github/workflows/deploy.yml in your repo: <syntaxhighlight lang="yaml">name: Deploy WSI website to VPS on: push: branches: * main # adjust if needed paths: * "src/**" * "docs/**" * "tailwind.config.js" * "postcss.config.js" * "build-meta.sh" * "package.json" * "package-lock.json" jobs: build-and-deploy: runs-on: ubuntu-latest steps: * name: Checkout repo uses: actions/checkout@v4 * name: Setup Node uses: actions/setup-node@v4 with: node-version: "22" # or the version you actually use * name: Install dependencies run: npm ci * name: Build metadata run: chmod +x ./build-meta.sh && ./build-meta.sh * name: Build static site run: npm run build * name: Deploy via rsync to VPS uses: burnett01/rsync-deployments@v7.1 with: switches: -avz --delete path: site/ remote_path: /home/cesadmin/projects/wsi-website-prod/site/ remote_host: ${{ secrets.WSI_VPS_HOST }} remote_user: ${{ secrets.WSI_VPS_USER }} remote_key: ${{ secrets.WSI_VPS_SSH_KEY }} </syntaxhighlight> Then in your repo GitHub β Settings β Secrets and variables β Actions, define: * WSI_VPS_HOST β vmi2744768 or actual IP/FQDN * WSI_VPS_USER β cesadmin '' WSI_VPS_SSH_KEY β private key for that user (no passphrase or use a separate ''_PASSPHRASE secret) After that: * Every git push to main β GitHub builds β rsyncs site/ to VPS β Caddy instantly serves updated version. ==== On Dell01 / WSL ==== <syntaxhighlight lang="bash">cd ~/projects/wsi-website npm install ./build-meta.sh npm run build git status git commit -am "WSI website update" # or use git add . then commit git push origin main rsync -avz --delete ./site/ cesadmin@vmi2744768:~/projects/wsi-website-prod/site/ </syntaxhighlight> On VPS <syntaxhighlight lang="bash">ssh cesadmin@vmi2744768 cd ~/projects/wsi-website-prod tree -L 3 site docker compose ps docker exec -it wsi-caddy ls -R /usr/share/caddy curl -I http://localhost </syntaxhighlight> If all of the above pass, your CI/CD blueprint and the real environment are aligned. If you want, next step I can do is write the exact <code>.gitignore</code> and <code>package.json</code> scripts so they match this flow precisely, but the commands above are already consistent with your current folder structures and Caddy/Compose config.
Summary:
Please note that all contributions to freem are considered to be released under the Creative Commons Attribution-ShareAlike 4.0 (see
Freem:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)