From c1306bb5e7fbbaa125b1cc0bf75cf652e7630d9d Mon Sep 17 00:00:00 2001 From: midzelis Date: Sun, 10 Aug 2025 03:02:44 +0000 Subject: [PATCH] Another round of review comments --- .github/workflows/cli.yml | 2 +- .github/workflows/docs-build.yml | 2 +- .github/workflows/fix-format.yml | 4 +-- .github/workflows/test.yml | 18 +++++------ .pnpmfile.cjs | 53 +++++++++++++++++--------------- package.json | 2 +- pnpm-lock.yaml | 2 +- web/vite.config.ts | 13 ++------ 8 files changed, 47 insertions(+), 49 deletions(-) diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index d5ffe98ca9..3ebadc9f2b 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -39,7 +39,7 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version-file: './server/.nvmrc' + node-version-file: './cli/.nvmrc' registry-url: 'https://registry.npmjs.org' cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' diff --git a/.github/workflows/docs-build.yml b/.github/workflows/docs-build.yml index 123077eb57..be31140133 100644 --- a/.github/workflows/docs-build.yml +++ b/.github/workflows/docs-build.yml @@ -61,7 +61,7 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version-file: './cli/.nvmrc' + node-version-file: './docs/.nvmrc' cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' diff --git a/.github/workflows/fix-format.yml b/.github/workflows/fix-format.yml index 0cff5575aa..914defe823 100644 --- a/.github/workflows/fix-format.yml +++ b/.github/workflows/fix-format.yml @@ -31,8 +31,8 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version-file: './server/.nvmrc' - cache: 'npm' + node-version-file: './.github/.nvmrc' + cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - name: Fix formatting diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 476176e24a..ad2aeb9cfa 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -114,7 +114,7 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version-file: './server/.nvmrc' + node-version-file: './cli/.nvmrc' cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - name: Setup typescript-sdk @@ -154,7 +154,7 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version-file: './server/.nvmrc' + node-version-file: './cli/.nvmrc' cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - name: Setup typescript-sdk @@ -189,7 +189,7 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version-file: './server/.nvmrc' + node-version-file: './web/.nvmrc' cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - name: Run setup typescript-sdk @@ -226,7 +226,7 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version-file: './server/.nvmrc' + node-version-file: './web/.nvmrc' cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - name: Run setup typescript-sdk @@ -257,7 +257,7 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version-file: './server/.nvmrc' + node-version-file: './web/.nvmrc' cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - name: Install dependencies @@ -298,7 +298,7 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version-file: './server/.nvmrc' + node-version-file: './e2e/.nvmrc' cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - name: Run setup typescript-sdk @@ -369,7 +369,7 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version-file: './server/.nvmrc' + node-version-file: './e2e/.nvmrc' cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - name: Run setup typescript-sdk @@ -417,7 +417,7 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version-file: './server/.nvmrc' + node-version-file: './e2e/.nvmrc' cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - name: Run setup typescript-sdk @@ -524,7 +524,7 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version-file: './server/.nvmrc' + node-version-file: './.github/.nvmrc' cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - name: Run pnpm install diff --git a/.pnpmfile.cjs b/.pnpmfile.cjs index a712c469bd..ee4cf1e5e2 100644 --- a/.pnpmfile.cjs +++ b/.pnpmfile.cjs @@ -1,32 +1,37 @@ module.exports = { hooks: { readPackage: (pkg) => { - if (pkg.name && pkg.name === "exiftool-vendored") { - if (pkg.optionalDependencies["exiftool-vendored.pl"]) { - // make exiftool-vendored.pl a regular dependency - pkg.dependencies["exiftool-vendored.pl"] = - pkg.optionalDependencies["exiftool-vendored.pl"]; - delete pkg.optionalDependencies["exiftool-vendored.pl"]; - } + if (!pkg.name) { + return pkg; } - if (pkg.name && pkg.name === "sharp") { - const optionalDeps = Object.keys(pkg.optionalDependencies).filter( - (dep) => dep.startsWith("@img") - ); - for (const dep of optionalDeps) { - // remove all optionalDepdencies from sharp (they will be compiled from source), except: - // include the precompiled musl version of sharp, for web/Dockerfile - // include precompiled linux-x64 version of sharp, for server/Dockerfile, stage: web-prod - // include precompiled linux-arm64 version of sharp, for server/Dockerfile, stage: web-prod - if ( - dep.includes("musl") || - dep.includes("linux-x64") || - dep.includes("linux-arm64") - ) { - continue; + switch (pkg.name) { + case "exiftool-vendored": + if (pkg.optionalDependencies["exiftool-vendored.pl"]) { + // make exiftool-vendored.pl a regular dependency + pkg.dependencies["exiftool-vendored.pl"] = + pkg.optionalDependencies["exiftool-vendored.pl"]; + delete pkg.optionalDependencies["exiftool-vendored.pl"]; } - delete pkg.optionalDependencies[dep]; - } + break; + case "sharp": + const optionalDeps = Object.keys(pkg.optionalDependencies).filter( + (dep) => dep.startsWith("@img") + ); + for (const dep of optionalDeps) { + // remove all optionalDepdencies from sharp (they will be compiled from source), except: + // include the precompiled musl version of sharp, for web/Dockerfile + // include precompiled linux-x64 version of sharp, for server/Dockerfile, stage: web-prod + // include precompiled linux-arm64 version of sharp, for server/Dockerfile, stage: web-prod + if ( + dep.includes("musl") || + dep.includes("linux-x64") || + dep.includes("linux-arm64") + ) { + continue; + } + delete pkg.optionalDependencies[dep]; + } + break; } return pkg; }, diff --git a/package.json b/package.json index 1b426bc856..a718d7ccd0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "immich-monorepo", "version": "0.0.1", - "description": "monorepo for immich and friends", + "description": "Monorepo for Immich", "private": true, "packageManager": "pnpm@10.14.0+sha512.ad27a79641b49c3e481a16a805baa71817a04bbe06a38d17e60e2eaee83f6a146c6a688125f5792e48dd5ba30e7da52a5cda4c3992b9ccf333f9ce223af84748", "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4a567777d6..e637497a9d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,7 +11,7 @@ overrides: packageExtensionsChecksum: sha256-DAYr0FTkvKYnvBH4muAER9UE1FVGKhqfRU4/QwA2xPQ= -pnpmfileChecksum: sha256-JydSCGE/nZCNX4UmkEmagfKMgYdl7X4YUSzm835vw9I= +pnpmfileChecksum: sha256-DckzDbpcgpDw/iRFcD5RWuuYjmFiIKMI3NLoa3HZjSk= importers: diff --git a/web/vite.config.ts b/web/vite.config.ts index a9bd0ba9f0..b44d1c0078 100644 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -4,9 +4,7 @@ import tailwindcss from '@tailwindcss/vite'; import { svelteTesting } from '@testing-library/svelte/vite'; import path from 'node:path'; import { visualizer } from 'rollup-plugin-visualizer'; - -import { defineConfig as defineViteConfig, mergeConfig } from 'vite'; -import { defineConfig as defineVitestConfig } from 'vitest/config'; +import { defineConfig, type UserConfig } from 'vite'; const upstream = { target: process.env.IMMICH_SERVER_URL || 'http://immich-server:2283/', @@ -16,7 +14,7 @@ const upstream = { ws: true, }; -const viteConfig = defineViteConfig({ +export default defineConfig({ build: { target: 'es2022', }, @@ -52,9 +50,6 @@ const viteConfig = defineViteConfig({ optimizeDeps: { entries: ['src/**/*.{svelte,ts,html}'], }, -}); - -const vitestConfig = defineVitestConfig({ test: { include: ['src/**/*.{test,spec}.{js,ts}'], globals: true, @@ -64,6 +59,4 @@ const vitestConfig = defineVitestConfig({ hooks: 'list', }, }, -}); - -export default mergeConfig(viteConfig, vitestConfig); +} as UserConfig);