dependabot/npm_and_yarn/npm_and_yarn-1770a3e772
Bumps the npm_and_yarn group with 2 updates in the / directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). Bumps the npm_and_yarn group with 2 updates in the /job-application-demo directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). Updates `vite` from 7.1.10 to 7.3.2 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v7.3.2/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v7.3.2/packages/vite) Updates `vitest` from 3.2.4 to 4.1.0 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/vitest) Updates `picomatch` from 2.3.1 to 2.3.2 - [Release notes](https://github.com/micromatch/picomatch/releases) - [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2) Updates `rollup` from 4.52.5 to 4.61.0 - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v4.52.5...v4.61.0) Updates `vite` from 7.1.10 to 7.3.2 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v7.3.2/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v7.3.2/packages/vite) Updates `vitest` from 3.2.4 to 4.1.0 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/vitest) --- updated-dependencies: - dependency-name: vite dependency-version: 7.3.2 dependency-type: direct:development dependency-group: npm_and_yarn - dependency-name: vitest dependency-version: 4.1.0 dependency-type: direct:development dependency-group: npm_and_yarn - dependency-name: picomatch dependency-version: 2.3.2 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: rollup dependency-version: 4.61.0 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: vite dependency-version: 7.3.2 dependency-type: direct:development dependency-group: npm_and_yarn - dependency-name: vitest dependency-version: 4.1.0 dependency-type: direct:development dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com>
JobSpeed - Job Application Auto-fill Extension
A Firefox browser extension that helps you auto-fill job applications using your resume data.
Features
- 📄 Resume Storage: Upload and store your resume securely in the extension
- 🔍 Smart Form Detection: Automatically detect form fields on job application pages
- 👀 Preview Mode: See what content will be filled before applying changes
- ⚡ One-Click Auto-fill: Apply your resume data to forms with a single click
- 🎯 Intelligent Matching: Smart field matching based on labels and field names
Tech Stack
- TypeScript (Strict mode)
- Vite - Fast build tool
- Vitest - Unit testing
- ESLint + Prettier - Code quality and formatting
- Native Browser API - Firefox WebExtensions API
Getting Started
Prerequisites
- Node.js 20+
- pnpm (recommended) or npm
Installation
- Install dependencies:
pnpm install
- Start development mode:
pnpm dev
- Load the extension in Firefox:
- Open Firefox
- Navigate to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on"
- Select the
manifest.jsonfile from thedistfolder
Build for Production
pnpm build
The production-ready extension will be in the dist folder.
Development
Available Scripts
pnpm dev- Build and watch for changespnpm build- Production buildpnpm test- Run testspnpm test:ui- Run tests with UIpnpm lint- Lint codepnpm lint:fix- Fix linting issuespnpm format- Format code with Prettierpnpm format:check- Check code formatting
Project Structure
src/
├── manifest.json # Extension manifest
├── background.ts # Background service worker
├── content.ts # Content script for page interaction
├── popup.ts # Popup UI logic
├── popup.html # Popup HTML
├── popup.css # Popup styles
├── types/
│ ├── index.ts # Type definitions
│ └── browser.d.ts # Browser API types
└── services/
├── formDetector.ts # Form field detection logic
└── fieldMatcher.ts # Resume-to-field matching logic
job-application-demo/ # Sample job application form (separate app)
Demo Application
The job-application-demo folder contains a standalone sample job application form built with Vite, React, Material UI, and TypeScript. This demo app:
- Showcases the structure and fields used by the JobSpeed extension
- Uses the same
ResumeDatainterface as the extension - Saves submitted applications as incremental JSON files
- Is excluded from the main extension build
- Has its own
package.jsonand can be run independently
To run the demo:
cd job-application-demo
pnpm install
pnpm dev
See job-application-demo/README.md for more details.
Usage
-
Upload Your Resume:
- Click the JobSpeed extension icon
- Click "Upload Resume"
- Select your resume file (PDF, TXT, DOC, DOCX)
-
Auto-fill a Job Application:
- Navigate to a job application page
- Click the JobSpeed extension icon
- Click "Scan Current Page"
- Review the suggested values in the preview panel
- Click "Apply Auto-fill" to fill the form
Features in Detail
Resume Parsing
The extension extracts key information from your resume:
- Personal information (name, email, phone, address)
- Work experience
- Education
- Skills
- Professional summary
Smart Field Matching
The field matcher uses intelligent algorithms to match resume data with form fields:
- Label-based matching
- Name/ID attribute matching
- Placeholder text matching
- Contextual matching (e.g., "current company", "most recent position")
Privacy & Security
- All data is stored locally in your browser
- No data is sent to external servers
- You have full control over your resume data
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
ISC
Author
Your name here
Languages
TypeScript
95.9%
CSS
3.4%
HTML
0.7%