ng-chrome-extension
ng-chrome-extension copied to clipboard
CLI tool to generate angular chrome extensions
@larscom/ng-chrome-extension
Easily create Angular Chrome Extensions (manifest v3)
The following scenarios/options are supported:
- Popup ✓
- New Tab ✓
- Options ✓
- Service Worker ✓
- Content Page ✓
How to install
npm install -g @larscom/ng-chrome-extension
Start creating a new project
ng-chrome

How to use/develop
- change directory to your newly created project
- run
npm run start - goto:
chrome://extensionsin the browser and enable'developer mode' - press
Load unpackedand target the folderangular/dist
The project is automatically being watched, any changes to the files will recompile the project.
NOTE: changes to the content page and service worker scripts requires you to reload the extension in chrome://extensions

Build/package for production
- update version number inside
./angular/src/manifest.json - run
npm run build:production - upload
extension-build.zipto the chrome webstore.
This will run a production build and will automatically zip it as a extension package in the root folder named: extension-build.zip
Debugging
Run: npm start
Go to: Developer tools (inspect popup) => Sources => webpack
You can find your source files (TypeScript) over there.
Upgrade Angular
After you have created a new project with ng-chrome and you want to update angular.
Just follow the regular upgrade guide of angular. See: https://update.angular.io/
Angular folder
This folder contains the angular source code. Each feature (popup,options,tab) lives inside its own module and gets lazily loaded.
see: ./angular/src/app/modules
Chrome folder
This folder contains the content page/service worker scripts.