From 73baa1a9fe31926c56d5f4904dc035ebeacc05b4 Mon Sep 17 00:00:00 2001 From: Dhara Pandya Date: Sat, 6 Jun 2026 23:33:25 +0530 Subject: [PATCH 1/4] feat(infra): add Docker, Compose and Dev Container support for Tauri --- .devcontainer/Dockerfile | 0 .devcontainer/devcontainer.json | 19 ++++++++ docker/.dockerignore | 17 +++++++ docker/Dockerfile | 81 +++++++++++++++++++++++++++++++++ docker/docker-compose.yml | 43 +++++++++++++++++ docker/scripts/build.sh | 0 docker/scripts/dev.sh | 0 package-lock.json | 29 +----------- package.json | 2 +- 9 files changed, 162 insertions(+), 29 deletions(-) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100644 docker/.dockerignore create mode 100644 docker/Dockerfile create mode 100644 docker/docker-compose.yml create mode 100644 docker/scripts/build.sh create mode 100644 docker/scripts/dev.sh diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..e69de29 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..38d41bf --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,19 @@ +{ + "name": "Tauri Dev Environment", + "dockerComposeFile": "../docker/docker-compose.yml", + "service": "tauri-app", + "workspaceFolder": "/app", + + "customizations": { + "vscode": { + "extensions": [ + "rust-lang.rust-analyzer", + "vadimcn.vscode-lldb", + "tauri-apps.tauri-vscode", + "esbenp.prettier-vscode", + "dbaeumer.vscode-eslint" + ] + } + }, + "remoteUser": "developer" +} \ No newline at end of file diff --git a/docker/.dockerignore b/docker/.dockerignore new file mode 100644 index 0000000..ca7a5fb --- /dev/null +++ b/docker/.dockerignore @@ -0,0 +1,17 @@ +node_modules +target +dist +build +.cache +.git +.github +.vscode +.idea + +*.log +.env +.env.* +.DS_Store + +src-tauri/target +coverage \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..cf378e9 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,81 @@ +#Base Builder Image +FROM rust:1.88-slim AS base + +ENV DEBIAN_FRONTEND=noninteractive + +# Install Node.js LTS +RUN apt-get update && apt-get install -y \ + curl \ + git \ + wget \ + pkg-config \ + build-essential \ + libssl-dev \ + libgtk-3-dev \ + libwebkit2gtk-4.1-dev \ + libappindicator3-dev \ + librsvg2-dev \ + patchelf \ + openssl \ + ca-certificates \ + xdg-utils \ + file \ + libxdo-dev \ + && rm -rf /var/lib/apt/lists/* + +# Install Node.js +RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ + apt-get update && apt-get install -y nodejs + +# Install package managers +RUN npm install -g \ + pnpm \ + yarn \ + @tauri-apps/cli + +# Create non-root user +RUN useradd -ms /bin/bash developer + +WORKDIR /app + + +# Dependency Cache Stage +FROM base AS dependencies + +COPY package.json ./ +COPY package-lock.json* ./ +COPY pnpm-lock.yaml* ./ +COPY yarn.lock* ./ + +RUN \ + if [ -f package-lock.json ]; then npm install; fi && \ + if [ -f pnpm-lock.yaml ]; then pnpm install; fi && \ + if [ -f yarn.lock ]; then yarn install; fi + +COPY src-tauri/Cargo.toml ./src-tauri/Cargo.toml +COPY src-tauri/Cargo.lock ./src-tauri/Cargo.lock + +RUN mkdir -p src-tauri/src && \ + echo "fn main() {}" > src-tauri/src/main.rs && \ + touch src-tauri/src/lib.rs + +RUN cd src-tauri && cargo fetch + +# Development Stage +FROM base AS development + +COPY --from=dependencies /usr/local/cargo /usr/local/cargo +COPY --from=dependencies /app /app + +WORKDIR /app + +#USER developer + +USER root +RUN mkdir -p /tmp/cargo-target && chmod -R 777 /tmp/cargo-target + +EXPOSE 1420 +EXPOSE 1421 +EXPOSE 5173 + +CMD ["npm", "run", "tauri", "dev"] \ No newline at end of file diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..21624ac --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,43 @@ +services: + tauri-app: + build: + context: .. + dockerfile: docker/Dockerfile + target: development + + container_name: tauri-dev + + working_dir: /app + + environment: + - DISPLAY=${DISPLAY} + - WAYLAND_DISPLAY=${WAYLAND_DISPLAY} + - XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR} + - RUST_BACKTRACE=1 + - NODE_ENV=development + - CHOKIDAR_USEPOLLING=true + - CARGO_TARGET_DIR=/tmp/cargo-target + + volumes: + - ..:/app + - cargo-cache:/usr/local/cargo/registry + - /tmp/cargo-target/ + - /app/node_modules/ + - /tmp/.X11-unix:/tmp/.X11-unix + + ports: + - "1420:1420" + - "1421:1421" + - "5173:5173" + + stdin_open: true + tty: true + + networks: + - tauri-network +networks: + tauri-network: + +volumes: + cargo-cache: + \ No newline at end of file diff --git a/docker/scripts/build.sh b/docker/scripts/build.sh new file mode 100644 index 0000000..e69de29 diff --git a/docker/scripts/dev.sh b/docker/scripts/dev.sh new file mode 100644 index 0000000..e69de29 diff --git a/package-lock.json b/package-lock.json index d05dfa7..852e444 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,7 +39,7 @@ "@playwright/test": "^1.60.0", "@tailwindcss/typography": "^0.5.19", "@tailwindcss/vite": "^4.3.0", - "@tauri-apps/cli": "2.10.1", + "@tauri-apps/cli": "^2.10.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", @@ -4118,9 +4118,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -4138,9 +4135,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -4158,9 +4152,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -4178,9 +4169,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -4407,9 +4395,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "Apache-2.0 OR MIT", "optional": true, "os": [ @@ -4427,9 +4412,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "Apache-2.0 OR MIT", "optional": true, "os": [ @@ -4447,9 +4429,6 @@ "riscv64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "Apache-2.0 OR MIT", "optional": true, "os": [ @@ -4467,9 +4446,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "Apache-2.0 OR MIT", "optional": true, "os": [ @@ -4487,9 +4463,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "Apache-2.0 OR MIT", "optional": true, "os": [ diff --git a/package.json b/package.json index 0b00702..8bb2bc9 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@playwright/test": "^1.60.0", "@tailwindcss/typography": "^0.5.19", "@tailwindcss/vite": "^4.3.0", - "@tauri-apps/cli": "2.10.1", + "@tauri-apps/cli": "^2.10.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", From 83c62ae45f7337274311ff3800ac2a247e85ea68 Mon Sep 17 00:00:00 2001 From: Dhara Pandya Date: Thu, 11 Jun 2026 23:43:00 +0530 Subject: [PATCH 2/4] fix(docker): improve dev container setup --- docker/Dockerfile | 20 ++++++++++++-------- docker/docker-compose.yml | 7 +++++-- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index cf378e9..8c3d96b 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -25,16 +25,18 @@ RUN apt-get update && apt-get install -y \ # Install Node.js RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ - apt-get update && apt-get install -y nodejs + apt-get update && apt-get install -y nodejs && \ + rm -rf /var/lib/apt/lists/* # Install package managers RUN npm install -g \ pnpm \ - yarn \ - @tauri-apps/cli + yarn # Create non-root user -RUN useradd -ms /bin/bash developer +RUN useradd -ms /bin/bash developer && \ + mkdir -p /app && \ + chown -R developer:developer /app /usr/local/cargo WORKDIR /app @@ -64,18 +66,20 @@ RUN cd src-tauri && cargo fetch # Development Stage FROM base AS development -COPY --from=dependencies /usr/local/cargo /usr/local/cargo -COPY --from=dependencies /app /app +COPY --from=dependencies --chown=developer:developer /usr/local/cargo /usr/local/cargo +COPY --from=dependencies --chown=developer:developer /app /app WORKDIR /app #USER developer USER root -RUN mkdir -p /tmp/cargo-target && chmod -R 777 /tmp/cargo-target +RUN mkdir -p /tmp/cargo-target && chown -R developer:developer /tmp/cargo-target + +USER developer EXPOSE 1420 EXPOSE 1421 EXPOSE 5173 -CMD ["npm", "run", "tauri", "dev"] \ No newline at end of file +CMD ["pnpm", "tauri", "dev"] \ No newline at end of file diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 21624ac..2f5f783 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -16,13 +16,14 @@ services: - RUST_BACKTRACE=1 - NODE_ENV=development - CHOKIDAR_USEPOLLING=true + - WEBKIT_DISABLE_COMPOSITING_MODE=1 - CARGO_TARGET_DIR=/tmp/cargo-target volumes: - ..:/app + - node_modules:/app/node_modules/ - cargo-cache:/usr/local/cargo/registry - - /tmp/cargo-target/ - - /app/node_modules/ + - cargo-target:/tmp/cargo-target - /tmp/.X11-unix:/tmp/.X11-unix ports: @@ -40,4 +41,6 @@ networks: volumes: cargo-cache: + cargo-target: + node_modules: \ No newline at end of file From c5b2cc8325eab722fc8732ae885732bf1f0c3cd8 Mon Sep 17 00:00:00 2001 From: Dhara Pandya Date: Fri, 19 Jun 2026 23:13:23 +0530 Subject: [PATCH 3/4] chore: move Dockerfile, docker-compose.yml and .dockerignore to project root --- .devcontainer/devcontainer.json | 12 +++-- .dockerignore | 21 +++++++++ Dockerfile | 83 +++++++++++++++++++++++++++++++++ docker-compose.yml | 40 ++++++++++++++++ pnpm-lock.yaml | 66 +++++++++++++++----------- 5 files changed, 192 insertions(+), 30 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 38d41bf..767dfa9 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ { - "name": "Tauri Dev Environment", - "dockerComposeFile": "../docker/docker-compose.yml", + "name": "CommDesk Tauri Dev ", + "dockerComposeFile": "../docker-compose.yml", "service": "tauri-app", "workspaceFolder": "/app", @@ -12,7 +12,13 @@ "tauri-apps.tauri-vscode", "esbenp.prettier-vscode", "dbaeumer.vscode-eslint" - ] + ], + "settings": { + "editor.formatOnSave": true, + "[rust]": { + "editor.defaultFormatter": "rust-lang.rust-analyzer" + } + } } }, "remoteUser": "developer" diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..b57edbd --- /dev/null +++ b/.dockerignore @@ -0,0 +1,21 @@ +node_modules +**/node_modules +src-tauri/target +target +dist +build +.cache +.git +.github +.vscode +.idea + +*.log +.env +.env.* +!.env.example +.DS_Store + +coverage +test-results +docs \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..89c509f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,83 @@ +#Base Builder Image +FROM rust:1.88-slim AS base + +ENV DEBIAN_FRONTEND=noninteractive \ + CARGO_HOME=/usr/local/cargo \ + PNPM_HOME=/usr/local/share/pnpm \ + PATH=/usr/local/share/pnpm:/usr/local/cargo/bin:$PATH + +# Install Node.js LTS +RUN apt-get update && apt-get install -y --no-install-recommends \ + curl git wget pkg-config build-essential libssl-dev \ + libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev \ + librsvg2-dev patchelf openssl ca-certificates xdg-utils \ + file libxdo-dev \ + && rm -rf /var/lib/apt/lists/* + +# Install Node.js +RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ + apt-get update && apt-get install -y --no-install-recommends nodejs && \ + rm -rf /var/lib/apt/lists/* + +# Install package managers +RUN npm install -g \ + pnpm \ + yarn + +# Create non-root user +RUN useradd -ms /bin/bash developer && \ + mkdir -p /app "$PNPM_HOME" && \ + chown -R developer:developer /app "$CARGO_HOME" "$PNPM_HOME" + +WORKDIR /app + + +# Dependency Cache Stage +FROM base AS dependencies + +COPY --chown=developer:devloper \ + package.json \ + package-lock.json* \ + pnpm-lock.yaml* \ + yarn.lock* \ + ./ + +RUN \ + if [ -f pnpm-lock.yaml ]; then pnpm install --frozen-lockfile; \ + elif [ -f yarn.lock ]; then yarn install --frozen-lockfile; \ + elif [ -f package-lock.json ]; then npm ci; \ + else echo "No lockfile found" && exit 1; fi + +COPY --chown=developer:developer src-tauri/Cargo.toml src-tauri/Cargo.lock ./src-tauri/ +RUN mkdir -p /app/src-tauri/src && touch /app/src-tauri/src/lib.rs +RUN cd src-tauri && cargo fetch + +# Development Stage +FROM base AS development + +COPY --from=dependencies --chown=developer:developer /usr/local/cargo /usr/local/cargo +COPY --from=dependencies --chown=developer:developer /usr/local/share/pnpm /usr/local/share/pnpm +COPY --from=dependencies --chown=developer:developer /app /app + +#USER developer + +USER root +RUN mkdir -p /app/src-tauri/target && \ + chown -R developer:developer /app/src-tauri/target && \ + chmod -R 777 /app/src-tauri/target + +USER developer + +EXPOSE 1420 +EXPOSE 1421 +EXPOSE 5173 + +CMD ["pnpm", "tauri", "dev"] + +FROM dependencies AS builder + +COPY --chown=developer:developer . . + +RUN if [ -f pnpm-lock.yaml ]; then pnpm tauri build; \ + elif [ -f yarn.lock ]; then yarn tauri build; \ + else npm run tauri build; fi \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..3149793 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,40 @@ +services: + tauri: + build: + context: . + dockerfile: Dockerfile + target: development + + container_name: commdesk-dev + working_dir: /app + command: pnpm run dev + + volumes: + - type: bind + source: ${PWD} + target: /app + + - node_modules:/app/node_modules + - cargo_registry:/usr/local/cargo/registry + - cargo_git:/usr/local/share/pnpm/store + - pnpm_store:/usr/local/share/pnpm/store + - rust_target:/app/src-tauri/target + + ports: + - "1420:1420" + - "1421:1421" + - "5173:5173" + + environment: + - TAURI_SKIP_DEVSERVER_CHECK=true + + stdin_open: true + tty: true + +volumes: + node_modules: + cargo_registry: + cargo-git: + pnpm_store: + rust_target: + \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e25753c..123b3fe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -87,6 +87,9 @@ importers: '@eslint/js': specifier: ^9.39.4 version: 9.39.4 + '@playwright/test': + specifier: ^1.60.0 + version: 1.61.0 '@tailwindcss/typography': specifier: ^0.5.19 version: 0.5.19(tailwindcss@4.3.0) @@ -94,7 +97,7 @@ importers: specifier: ^4.3.0 version: 4.3.0(vite@7.3.3(@types/node@25.6.2)(jiti@2.7.0)(lightningcss@1.32.0)) '@tauri-apps/cli': - specifier: 2.10.1 + specifier: ^2.10.1 version: 2.10.1 '@testing-library/jest-dom': specifier: ^6.9.1 @@ -732,6 +735,11 @@ packages: '@open-draft/until@2.1.0': resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} + '@playwright/test@1.61.0': + resolution: {integrity: sha512-cKA5B6lpFEMyMGjxF54QihfYpB4FkEGH+qZhtArDEG+wezQAJY8Pq6C7T1SjWz+FFzt3TbyoXBQYk/0292TdJA==} + engines: {node: '>=18'} + hasBin: true + '@radix-ui/number@1.1.1': resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==} @@ -1470,79 +1478,66 @@ packages: resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} cpu: [arm] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.60.3': resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} cpu: [arm] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.60.3': resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} cpu: [arm64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.60.3': resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} cpu: [arm64] os: [linux] - libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.60.3': resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} cpu: [loong64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-loong64-musl@4.60.3': resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} cpu: [loong64] os: [linux] - libc: [musl] '@rollup/rollup-linux-ppc64-gnu@4.60.3': resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} cpu: [ppc64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.60.3': resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} cpu: [ppc64] os: [linux] - libc: [musl] '@rollup/rollup-linux-riscv64-gnu@4.60.3': resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} cpu: [riscv64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.60.3': resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} cpu: [riscv64] os: [linux] - libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.60.3': resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} cpu: [s390x] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.60.3': resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} cpu: [x64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-musl@4.60.3': resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} cpu: [x64] os: [linux] - libc: [musl] '@rollup/rollup-openbsd-x64@4.60.3': resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} @@ -1629,28 +1624,24 @@ packages: engines: {node: '>= 20'} cpu: [arm64] os: [linux] - libc: [glibc] '@tailwindcss/oxide-linux-arm64-musl@4.3.0': resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==} engines: {node: '>= 20'} cpu: [arm64] os: [linux] - libc: [musl] '@tailwindcss/oxide-linux-x64-gnu@4.3.0': resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==} engines: {node: '>= 20'} cpu: [x64] os: [linux] - libc: [glibc] '@tailwindcss/oxide-linux-x64-musl@4.3.0': resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==} engines: {node: '>= 20'} cpu: [x64] os: [linux] - libc: [musl] '@tailwindcss/oxide-wasm32-wasi@4.3.0': resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==} @@ -1727,35 +1718,30 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [glibc] '@tauri-apps/cli-linux-arm64-musl@2.10.1': resolution: {integrity: sha512-MIj78PDDGjkg3NqGptDOGgfXks7SYJwhiMh8SBoZS+vfdz7yP5jN18bNaLnDhsVIPARcAhE1TlsZe/8Yxo2zqg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [musl] '@tauri-apps/cli-linux-riscv64-gnu@2.10.1': resolution: {integrity: sha512-X0lvOVUg8PCVaoEtEAnpxmnkwlE1gcMDTqfhbefICKDnOTJ5Est3qL0SrWxizDackIOKBcvtpejrSiVpuJI1kw==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] - libc: [glibc] '@tauri-apps/cli-linux-x64-gnu@2.10.1': resolution: {integrity: sha512-2/12bEzsJS9fAKybxgicCDFxYD1WEI9kO+tlDwX5znWG2GwMBaiWcmhGlZ8fi+DMe9CXlcVarMTYc0L3REIRxw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [glibc] '@tauri-apps/cli-linux-x64-musl@2.10.1': resolution: {integrity: sha512-Y8J0ZzswPz50UcGOFuXGEMrxbjwKSPgXftx5qnkuMs2rmwQB5ssvLb6tn54wDSYxe7S6vlLob9vt0VKuNOaCIQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [musl] '@tauri-apps/cli-win32-arm64-msvc@2.10.1': resolution: {integrity: sha512-iSt5B86jHYAPJa/IlYw++SXtFPGnWtFJriHn7X0NFBVunF6zu9+/zOn8OgqIWSl8RgzhLGXQEEtGBdR4wzpVgg==} @@ -2671,6 +2657,11 @@ packages: resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==} engines: {node: '>=14.14'} + fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -3035,28 +3026,24 @@ packages: engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - libc: [glibc] lightningcss-linux-arm64-musl@1.32.0: resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - libc: [musl] lightningcss-linux-x64-gnu@1.32.0: resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [glibc] lightningcss-linux-x64-musl@1.32.0: resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [musl] lightningcss-win32-arm64-msvc@1.32.0: resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} @@ -3358,6 +3345,16 @@ packages: resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==} engines: {node: '>=16.20.0'} + playwright-core@1.61.0: + resolution: {integrity: sha512-caX7TrY3Ml6egyDX0WUcTHDxodl/b51y5wJOdCEA36QviK/s2g081hvmGs8eaE3DWb6NYZQ6BjO/QkNRPenoPA==} + engines: {node: '>=18'} + hasBin: true + + playwright@1.61.0: + resolution: {integrity: sha512-Z+7BeeqQPRRzklHsVFP4KTGIyMxKUmfeRA4WisM6G3/XW6nwGeX6fX9qYaDa+CiUqpOkb2f6X3nar05R3kSuJQ==} + engines: {node: '>=18'} + hasBin: true + postcss-selector-parser@6.0.10: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} @@ -4667,6 +4664,10 @@ snapshots: '@open-draft/until@2.1.0': {} + '@playwright/test@1.61.0': + dependencies: + playwright: 1.61.0 + '@radix-ui/number@1.1.1': {} '@radix-ui/primitive@1.1.3': {} @@ -6618,6 +6619,9 @@ snapshots: jsonfile: 6.2.1 universalify: 2.0.1 + fsevents@2.3.2: + optional: true + fsevents@2.3.3: optional: true @@ -7180,6 +7184,14 @@ snapshots: pkce-challenge@5.0.1: {} + playwright-core@1.61.0: {} + + playwright@1.61.0: + dependencies: + playwright-core: 1.61.0 + optionalDependencies: + fsevents: 2.3.2 + postcss-selector-parser@6.0.10: dependencies: cssesc: 3.0.0 From 2398467fd4a66344eb390fe2f1dc957b775a0375 Mon Sep 17 00:00:00 2001 From: Dhara Pandya Date: Fri, 19 Jun 2026 23:20:19 +0530 Subject: [PATCH 4/4] resolve conflict --- pnpm-lock.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 123b3fe..e35d6d2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -89,7 +89,7 @@ importers: version: 9.39.4 '@playwright/test': specifier: ^1.60.0 - version: 1.61.0 + version: 1.60.0 '@tailwindcss/typography': specifier: ^0.5.19 version: 0.5.19(tailwindcss@4.3.0)