Skip to content

Commit f48d776

Browse files
committed
Update to Svelte Tailwind plugin, Svelte Font Awesome Icons
1 parent 7b2435e commit f48d776

17 files changed

+308
-9739
lines changed

.github/copilot-instructions.md

Lines changed: 9 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,25 @@ Always reference these instructions first and fallback to search or bash command
88

99
### Prerequisites
1010

11-
- Node.js v20+ (current project uses v20.19.5)
12-
- npm v10+ (current project uses v10.8.2)
11+
- Bun (use bun, bunx with --bun instead of node or npm)
1312

1413
### Bootstrap and Build
1514

16-
- Install dependencies: `npm install` -- takes 5 seconds
17-
- Format code: `npm run format` -- fixes all prettier formatting issues
18-
- Build the application: `npm run build` -- takes 10 seconds from clean state. NEVER CANCEL.
19-
- Run type checking: `npm run check` -- validates TypeScript and Svelte components (currently fails due to QPDF WASM types)
15+
- Install dependencies: `bun install` -- takes 5 seconds
16+
- Format code: `bun run format` -- fixes all prettier formatting issues
17+
- Build the application: `bun run build` -- takes 10 seconds from clean state. NEVER CANCEL.
18+
- Run type checking: `bun run check` -- validates TypeScript and Svelte components (currently fails due to QPDF WASM types)
2019

2120
### Development Workflow
2221

23-
- Start development server: `npm run dev` -- serves on http://localhost:5173/
24-
- Start production preview: `npm run preview` -- serves built app on http://localhost:4173/
22+
- Start development server: `bun run dev` -- serves on http://localhost:5173/
23+
- Start production preview: `bun run build && bun run preview` -- serves built app on http://localhost:4173/
2524
- The dev server supports hot reload and the app initializes QPDF WASM module successfully
2625

2726
### Linting and Code Quality
2827

29-
- Format code: `npm run format` -- uses Prettier to format all files
30-
- **IMPORTANT**: `npm run lint` currently fails due to ESLint circular dependency issue in the configuration. This is a known issue that does not affect the build process.
31-
- Always run `npm run format` before committing changes
32-
- Use prettier for code formatting, not ESLint for this project
28+
- Format code: `bun run format`
29+
- Lint code: `bun run lint`
3330

3431
## Application Architecture
3532

@@ -68,90 +65,6 @@ Always reference these instructions first and fallback to search or bash command
6865
- QPDF WASM integration: Client-side PDF processing and encryption
6966
- Progressive Web App features: Service worker, offline support, installability
7067

71-
## Validation and Testing
72-
73-
### Manual Testing Scenarios
74-
75-
After making changes, ALWAYS test these scenarios:
76-
77-
1. **Basic file encryption**:
78-
- Start dev server: `npm run dev`
79-
- Navigate to http://localhost:5173/
80-
- Verify the "Choose File" button appears
81-
- Enter a user password
82-
- Confirm encryption button becomes enabled
83-
84-
2. **Advanced permissions**:
85-
- Toggle "Advanced Permissions" checkbox
86-
- Verify owner password field appears
87-
- Test all permission checkboxes and the printing dropdown
88-
- Confirm owner password requirement message appears
89-
90-
3. **Navigation**:
91-
- Test navigation to /install page
92-
- Test navigation to /privacy page
93-
- Verify all navigation links work
94-
95-
4. **Production build**:
96-
- Build application: `npm run build`
97-
- Start preview: `npm run preview`
98-
- Test on http://localhost:4173/
99-
- Verify application works identically to dev mode
100-
101-
### Build Validation
102-
103-
- Clean build from scratch: `rm -rf build .svelte-kit && npm run build`
104-
- Build output size: Client bundle ~2.5MB (includes 1.3MB QPDF WASM file)
105-
- Build warnings about large chunks are expected due to QPDF WASM
106-
- PWA service worker and workbox files are generated automatically
107-
108-
## Common Tasks and Commands
109-
110-
### Development Commands
111-
112-
```bash
113-
# Start fresh development
114-
npm install && npm run dev
115-
116-
# Clean rebuild
117-
rm -rf build .svelte-kit && npm run build
118-
119-
# Format and prepare for commit
120-
npm run format
121-
122-
# Full development workflow
123-
npm install && npm run format && npm run build && npm run dev
124-
```
125-
126-
### Key Files to Watch
127-
128-
- `src/routes/+page.svelte`: Main application logic and UI
129-
- `vite.config.ts`: Build configuration and PWA settings
130-
- `svelte.config.js`: SvelteKit configuration
131-
- `package.json`: Dependencies and scripts
132-
- `static/manifest.webmanifest`: PWA manifest
133-
134-
### Build Artifacts
135-
136-
- `/build`: Final static site output for deployment
137-
- `/.svelte-kit`: SvelteKit build cache and temporary files
138-
- Service worker files: `sw.js` and `workbox-*.js`
139-
140-
## Known Issues and Limitations
141-
142-
### ESLint Configuration
143-
144-
- `npm run lint` fails with circular dependency error in ESLint configuration
145-
- This does not affect the build process or application functionality
146-
- Use `npm run format` for code formatting instead
147-
- The issue is related to ESLint v9 compatibility with the current plugin configuration
148-
149-
### TypeScript Checking
150-
151-
- `npm run check` shows one error related to QPDF WASM module types
152-
- This is a known limitation with the @neslinesli93/qpdf-wasm package types
153-
- The error does not prevent the application from working correctly
154-
15568
### Build Warnings
15669

15770
- Large chunk size warnings are expected due to the QPDF WASM file (1.3MB)
@@ -164,13 +77,3 @@ npm install && npm run format && npm run build && npm run dev
16477
- All routes are prerendered for optimal performance
16578
- Service worker enables offline functionality
16679
- Supports installation as PWA on various platforms
167-
168-
## Performance Expectations
169-
170-
- `npm install`: 5 seconds
171-
- `npm run build`: 10 seconds from clean state
172-
- `npm run format`: Near-instant
173-
- Development server startup: 1-2 seconds
174-
- QPDF WASM module initialization: < 1 second in browser
175-
176-
NEVER CANCEL build commands - they complete quickly for this project.

0 commit comments

Comments
 (0)