Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: CI

# Controls when the workflow will run
# For branch protection rules, you can also use the "push" event but with the "branches"
# or "tags" filters to specify which branches or tags should trigger the workflow.
# For example, only trigger on push to the "main" branch.
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel.
# For more information, see: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions

jobs:
# This job builds the extension and runs linters/tests.
build-and-test:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository into the current runner environment
- name: Checkout Code
uses: actions/checkout@v4

# Set up Node.js environment. This uses the Node.js 20.x version.
# Consider updating to the latest LTS or the version specified in your project's .nvmrc or package.json.
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'

# Install dependencies using npm
- name: Install Dependencies
run: npm ci

# Run linters and formatters. Assuming Biome is configured and the run command is `biome check --apply` for apply, or `biome ci` for checking.
# If you use Ruff for JS/TS, adjust accordingly. The prompt implies a JS project, so npm/Biome is most likely.
- name: Lint and Format Check
run: npm run lint # Assuming 'lint' script runs Biome check

# Run tests using Vitest. Assuming 'test' script runs Vitest.
- name: Run Unit Tests
run: npm test # Assuming 'test' script runs Vitest

# Optional: If Playwright is used for E2E tests, add a step for it.
# - name: Run E2E Tests
# run: npm run test:e2e # Assuming 'test:e2e' script runs Playwright

# Optional: Build the extension artifact.
# This assumes a build script exists, e.g., `npm run build` which outputs to a 'dist' or 'build' folder.
# The exact command might depend on your Vite configuration for Chrome Extensions.
- name: Build Extension
run: npm run build # Assuming 'build' script creates extension files

# Optional: Upload build artifacts for later use (e.g., release or deployment).
# Adjust 'path' to your build output directory.
- name: Upload Build Artifact
uses: actions/upload-artifact@v4
with:
name: chrome-extension-build
path: dist # Or 'build', or wherever your build output is located
26 changes: 23 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
dist/
.project
.vscode
# Node/NPM
npm-debug.log*
yarn-debug.log*
yarn-error.log*
node_modules/
package-lock.json
yarn.lock

# Build output
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# Editor directories and files
.vscode/
.idea/
*.swp
*.swo

# Misc
.DS_Store
5 changes: 5 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Copyright © 2025 chirag127

This work is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

---
151 changes: 92 additions & 59 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ for lightning fast enabling and disabling all your extensions for Google Chrome.
Just enable the extension when you want to use it, and disable when you want to
get rid of it for a little while. You can also launch Chrome Apps right from the list.

* Keep your browser lean and fast - disable extensions that you won't use right away.
* Keep your toolbar clean.
* Turn all extensions off (and back on) with a single click.
* Quick switch between several extensions groups using the Profiles feature.
* Allow your most important extensions to be always enabled.
* Keep computers in sync with Chrome Cloud Storage support.
* Ideal companion for extensions collectors.
- Keep your browser lean and fast - disable extensions that you won't use right away.
- Keep your toolbar clean.
- Turn all extensions off (and back on) with a single click.
- Quick switch between several extensions groups using the Profiles feature.
- Allow your most important extensions to be always enabled.
- Keep computers in sync with Chrome Cloud Storage support.
- Ideal companion for extensions collectors.

Extensity is open source software. Full source code at GitHub https://github.com/sergiokas/Extensity

Expand All @@ -25,112 +25,145 @@ Follow us in Twitter: [@ExtensityChrome](https://twitter.com/ExtensityChrome)

### What's new:

v1.15.0 (Oct 2024)

- **New Feature**: Manual profile import/export for syncing between browsers

v1.14.0 (Sep 2024)
- **New Feature**: Dark Mode (based on system settings)
- Migrated from CSSO to SASS

- **New Feature**: Dark Mode (based on system settings)
- Migrated from CSSO to SASS

v1.13.0 (Aug 2024)
- **New Feature**: Added "Favorite Extensions" list.

- **New Feature**: Added "Favorite Extensions" list.

v1.12.0 (July 2024)
- Migrated to Chrome Manifest v3

- Migrated to Chrome Manifest v3

v1.11.0 (Sep 2020)
- **New Feature**: Added "Always On" profile

- **New Feature**: Added "Always On" profile

v1.10.0 (Jan 2019)
- Save Profiles locally when the amount of data exceeds Google's quota.

- Save Profiles locally when the amount of data exceeds Google's quota.

v1.9.0 (Sep 2018)
- Removed `chrome.tabs` API dependency

- Removed `chrome.tabs` API dependency

v1.8.0 (Ago 2018)
- Removed jQuery dependency
- Updated build system

- Removed jQuery dependency
- Updated build system

v1.7.0 (Ago 2018)
- Added icon for developer extensions

- Added icon for developer extensions

v1.6.0 (Jul 2018)
- **New Feature**: Added extension/app icon to access the options page

- **New Feature**: Added extension/app icon to access the options page

v1.5.0 (Jun 2018)
- Added visual indication of the currently active profile

- Added visual indication of the currently active profile

v1.4.0 (Jan 2018)
- **New Feature**: Sync between computers through Chrome Storage

- **New Feature**: Sync between computers through Chrome Storage

v1.3.1 (Nov 2017)
- Changed profiles icon, minor visual changes

- Changed profiles icon, minor visual changes

v1.3.0 (Feb 2017)
- **New Feature**: Search box for extensions and apps
- Temporary workaround for [Chromium bug](https://bugs.chromium.org/p/chromium/issues/detail?id=307912)

- **New Feature**: Search box for extensions and apps
- Temporary workaround for [Chromium bug](https://bugs.chromium.org/p/chromium/issues/detail?id=307912)

v1.2.4 (Sept 2016)
- Added option to show enabled Extensions first

- Added option to show enabled Extensions first

v1.2.3 (May 2016)
- Updated compatibility for ChromeOS

- Updated compatibility for ChromeOS

v1.2.2 (Apr 2016)
- Updated toggle switch style

- Updated toggle switch style

v1.2.1 (Apr 2016)
- Backwards compatibility for toggle switch
- Small text fixes

- Backwards compatibility for toggle switch
- Small text fixes

v1.2.0 (Apr 2016)
- **New Feature**: Profiles! Our top-most requested feature is here. Quick switch between groups of extensions with a single click.
- Major overhaul of the engine
- New retina icons
- Minor style changes

- **New Feature**: Profiles! Our top-most requested feature is here. Quick switch between groups of extensions with a single click.
- Major overhaul of the engine
- New retina icons
- Minor style changes

v1.1.11 (Jun 2015)
- **New Feature**: turn all enabled extensions off, then turn them back on
- Style changes
- New icons

- **New Feature**: turn all enabled extensions off, then turn them back on
- Style changes
- New icons

v1.1.10 (Feb 2015)
- More performance improvements
- Fixed Chrome's extensions page link

- More performance improvements
- Fixed Chrome's extensions page link

v0.1.9 (Jan 2015)
- Added option to show apps first

- Added option to show apps first

v0.1.8 (Dec 2014)
- Updated to flat icons
- Updated library versions
- Code cleanup
- Cosmetic fixes (e.g. extensions with very long names)
- Updated license

- Updated to flat icons
- Updated library versions
- Code cleanup
- Cosmetic fixes (e.g. extensions with very long names)
- Updated license

v0.1.7 (Jul 2013)
- Excluding Chrome themes from the list

- Excluding Chrome themes from the list

v0.1.6 (Jul 2012)
- Added separate page initializer files
- Added underscore.js and underscore.string
- Removed deprecated jQuery templates dependency
- Added some performance improvements
- Added support for Chrome Extensions v2 manifest

- Added separate page initializer files
- Added underscore.js and underscore.string
- Removed deprecated jQuery templates dependency
- Added some performance improvements
- Added support for Chrome Extensions v2 manifest

v0.1.5 (Mar 2012)
- Updated font styles

- Updated font styles

v0.1.4 (Mar 2012)
- Updated styles
- Added makefile for extension distribution
- Fixed Twitter share link

- Updated styles
- Added makefile for extension distribution
- Fixed Twitter share link

v0.1.3 (Jun 2011)
- Added share and rate icons

- Added share and rate icons

v0.1.2 (Jun 2011)
- Added header with link to chrome://extensions/ and Extensity options
- Added section headers for grouping Apps and Extensions
- Added ability to launch apps (as disabling them didn't make any real sense)
- Added options page to configure grouping and header display

- Added header with link to chrome://extensions/ and Extensity options
- Added section headers for grouping Apps and Extensions
- Added ability to launch apps (as disabling them didn't make any real sense)
- Added options page to configure grouping and header display

v0.1.1 (May 2011)
- Fixed scrollbar for really long extension lists

- Fixed scrollbar for really long extension lists
4 changes: 2 additions & 2 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Extensity TO-DOs

- Allow import and export of profiles configuration
- Dark mode
- ~~Allow import and export of profiles configuration~~ (Implemented in v1.15.0)
- ~~Dark mode~~ (Implemented in v1.14.0)
18 changes: 18 additions & 0 deletions badges.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
build_status:
- url: 'https://github.com/chirag127/Chrome-Extension-Manager-Utility/actions/workflows/ci.yml'
img: 'https://img.shields.io/github/actions/workflow/status/chirag127/Chrome-Extension-Manager-Utility/ci.yml?style=flat-square'
code_coverage:
- url: 'https://app.codecov.io/github/chirag127/Chrome-Extension-Manager-Utility'
img: 'https://img.shields.io/codecov/c/github/chirag127/Chrome-Extension-Manager-Utility?style=flat-square'
tech_stack:
- img: 'https://img.shields.io/badge/language-javascript-323330?style=flat-square&logo=javascript'
- img: 'https://img.shields.io/badge/framework-vite-646CFF?style=flat-square&logo=vite'
- img: 'https://img.shields.io/badge/css-tailwind-38B2AC?style=flat-square&logo=tailwindcss'
lint_format:
- img: 'https://img.shields.io/badge/linter-biome-6F7E88?style=flat-square&logo=biome'
license:
- url: 'https://github.com/chirag127/Chrome-Extension-Manager-Utility/blob/main/LICENSE'
img: 'https://img.shields.io/badge/license-CC%20BY--NC%204.0-blue?style=flat-square'
stars:
- url: 'https://github.com/chirag127/Chrome-Extension-Manager-Utility/stargazers'
img: 'https://img.shields.io/github/stars/chirag127/Chrome-Extension-Manager-Utility?style=flat-square'
Loading