mirror of
https://github.com/immich-app/immich
synced 2025-11-14 17:36:12 +00:00
chore: use pnpm for builds (#19752)
* Migrate from npm to pnpm across entire project • Update all GitHub workflow files to use pnpm instead of npm • Replace npm commands with pnpm equivalents in devcontainer scripts • Remove package-lock.json files and update to use pnpm-lock.yaml • Consolidate node version references to use server/.nvmrc * Refine pnpm migration based on review feedback • Replace SKIP_SHARP_FILTERING with SHARP_IGNORE_GLOBAL_LIBVIPS environment variable • Improve Sharp package filtering to include specific Linux architectures for Docker builds • Optimize Dockerfile dependency caching with improved layer structure • Clean up workspace configuration and remove redundant settings * Address additional review feedback for pnpm migration • Fix node-version-file paths in GitHub workflow configurations • Refactor .pnpmfile.cjs to use switch statement for better code organization • Correct cache type typo in fix-format workflow • Simplify Vite configuration by merging configs inline • Update package description for consistency * Use 'server/.nvmrc' for fix-format.yml GHA * Delete npm locks * Remove Docker volume isolation for node_modules directories • Remove volume mounts for node_modules and related directories • Allow shared access between host and container filesystem • Update init container to handle file ownership with conditional existence check * Remove unused Docker volumes and volume mounts • Remove node_modules volume mounts from devcontainer configuration • Remove unused named volumes for pnpm-store, node_modules, and cache directories • Clean up Docker Compose configuration after removing volume isolation * Fix typescript-sdk package issues • Remove unknown "build" dependency that was incorrectly added to package.json • Update pnpm-lock.yaml to reflect dependency removal * Add pnpm setup to mobile workflow for translation formatting • Add pnpm action setup step to mobile unit tests workflow • Required for translation file formatting and sorting operations --------- Co-authored-by: Jason Rasmussen <jason@rasm.me>
This commit is contained in:
parent
acb1e513a7
commit
845b0f2073
37 changed files with 25884 additions and 62440 deletions
62
web/vite.config.ts
Normal file
62
web/vite.config.ts
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
import { enhancedImages } from '@sveltejs/enhanced-img';
|
||||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
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, type UserConfig } from 'vite';
|
||||
|
||||
const upstream = {
|
||||
target: process.env.IMMICH_SERVER_URL || 'http://immich-server:2283/',
|
||||
secure: true,
|
||||
changeOrigin: true,
|
||||
logLevel: 'info',
|
||||
ws: true,
|
||||
};
|
||||
|
||||
export default defineConfig({
|
||||
build: {
|
||||
target: 'es2022',
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
'xmlhttprequest-ssl': './node_modules/engine.io-client/lib/xmlhttprequest.js',
|
||||
// eslint-disable-next-line unicorn/prefer-module
|
||||
'@test-data': path.resolve(__dirname, './src/test-data'),
|
||||
// '@immich/ui': path.resolve(__dirname, '../../ui'),
|
||||
},
|
||||
},
|
||||
server: {
|
||||
// connect to a remote backend during web-only development
|
||||
proxy: {
|
||||
'/api': upstream,
|
||||
'/.well-known/immich': upstream,
|
||||
'/custom.css': upstream,
|
||||
},
|
||||
allowedHosts: true,
|
||||
},
|
||||
plugins: [
|
||||
enhancedImages(),
|
||||
tailwindcss(),
|
||||
sveltekit(),
|
||||
process.env.BUILD_STATS === 'true'
|
||||
? visualizer({
|
||||
emitFile: true,
|
||||
filename: 'stats.html',
|
||||
})
|
||||
: undefined,
|
||||
svelteTesting(),
|
||||
],
|
||||
optimizeDeps: {
|
||||
entries: ['src/**/*.{svelte,ts,html}'],
|
||||
},
|
||||
test: {
|
||||
include: ['src/**/*.{test,spec}.{js,ts}'],
|
||||
globals: true,
|
||||
environment: 'happy-dom',
|
||||
setupFiles: ['./src/test-data/setup.ts'],
|
||||
sequence: {
|
||||
hooks: 'list',
|
||||
},
|
||||
},
|
||||
} as UserConfig);
|
||||
Loading…
Add table
Add a link
Reference in a new issue