js-development
JavaScript/TypeScript development guidelines for PhotoClove. IMPORTANT - This project uses pnpm (not npm or yarn). Use this skill when installing packages, running scripts, or managing dependencies.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
JavaScript Development
PhotoClove uses pnpm as its package manager. Never use npm or yarn.
Package Manager: pnpm
CRITICAL: This project uses pnpm, not npm or yarn.
Common Commands
| Task | Command |
|---|---|
| Install all dependencies | pnpm install |
| Add a package | pnpm add <package> |
| Add a dev dependency | pnpm add -D <package> |
| Remove a package | pnpm remove <package> |
| Run a script | pnpm run <script> or pnpm <script> |
| Update packages | pnpm update |
| Check outdated | pnpm outdated |
Build & Development
# Development server (frontend only)
pnpm dev
# Build for production
pnpm build
# Run Tauri development (full app)
pnpm tauri dev
# Build Tauri app
pnpm tauri build
Vite Commands
# Build with vite directly
pnpm vite build
# Development build (for debugging)
pnpm vite build --mode development
# Preview production build
pnpm vite preview
Project Structure
/
├── src/ # Frontend (React/Vite)
│ ├── App/ # Main application components
│ ├── components/ # Reusable components
│ ├── context/ # React contexts
│ ├── domain/ # Domain models
│ ├── hooks/ # Custom hooks
│ ├── services/ # Service layer
│ └── styles/ # CSS files
├── src-tauri/ # Backend (Rust/Tauri)
├── public/ # Static assets
├── package.json # pnpm package config
└── pnpm-lock.yaml # pnpm lockfile
Frontend Tech Stack
- Framework: React 18
- Build Tool: Vite 4.x
- Desktop: Tauri 2.x
- State: React Context + custom hooks
- Styling: CSS Modules + CSS Variables
Common Development Tasks
Adding a New Component
- Create component file:
src/components/ComponentName.jsx - Create CSS Module:
src/components/ComponentName.module.css - Use CSS variables from
src/styles/base.css - Import and use in parent component
Running Tests
# Run tests (if configured)
pnpm test
# Run specific test file
pnpm test src/test/ViewMode.test.js
Type Checking (if using TypeScript)
pnpm tsc --noEmit
Troubleshooting
"Module not found" errors
# Clear node_modules and reinstall
rm -rf node_modules
pnpm install
Lock file conflicts
# Regenerate lock file
rm pnpm-lock.yaml
pnpm install
Cache issues
# Clear pnpm cache
pnpm store prune
Important Reminders
-
Always use pnpm - Never use
npmoryarncommands - Check package.json - Before adding new dependencies
- Use CSS variables - Never hardcode colors/sizes
- Use CSS Modules - For component-specific styles
-
Follow logging standards - Use
loggerservice, notconsole.log
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-01-26
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!