{"id":15117264,"url":"https://github.com/reliverse/template-browser-extension","last_synced_at":"2026-06-13T14:32:05.611Z","repository":{"id":244580668,"uuid":"815490793","full_name":"reliverse/template-browser-extension","owner":"reliverse","description":"💡 Do you need a cool starter for your next cool browser extension? It's right here! ✅ Bun, TypeScript, ESLint v9, etc. 💻 Mozilla Firefox \u0026 Chromium (Google Chrome, Microsoft Edge, Opera, Vivaldi, etc.)","archived":false,"fork":false,"pushed_at":"2024-06-16T23:16:16.000Z","size":863,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T08:39:25.596Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reliverse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-15T10:11:58.000Z","updated_at":"2024-12-12T17:06:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"9712d348-913c-4413-a938-8c3c5c2a6953","html_url":"https://github.com/reliverse/template-browser-extension","commit_stats":null,"previous_names":["blefnk/template-browser-extension","reliverse/template-browser-extension"],"tags_count":1,"template":true,"template_full_name":null,"purl":"pkg:github/reliverse/template-browser-extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reliverse%2Ftemplate-browser-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reliverse%2Ftemplate-browser-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reliverse%2Ftemplate-browser-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reliverse%2Ftemplate-browser-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reliverse","download_url":"https://codeload.github.com/reliverse/template-browser-extension/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reliverse%2Ftemplate-browser-extension/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34288663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-26T01:45:53.010Z","updated_at":"2026-06-13T14:32:05.587Z","avatar_url":"https://github.com/reliverse.png","language":"JavaScript","funding_links":["https://patreon.com/blefnk","https://buymeacoffee.com/blefnk","https://ko-fi.com/blefnk"],"categories":["JavaScript"],"sub_categories":[],"readme":"# template-browser-extension\n\n💡 Do you need a cool starter for your next browser extension? You can use [template-browser-extension](https://github.com/blefnk/template-browser-extension)! ✅ Bun, TypeScript, ESLint v9, etc. 💻 Compatible with Mozilla Firefox and Chromium-based browsers (Google Chrome, Microsoft Edge, Opera, Vivaldi, etc.)\n\n⭐ This project is part of the ecosystem of the [Relivator](https://github.com/blefnk/relivator) and [Reliverse](https://github.com/blefnk/reliverse) projects. 🙏 Please give a star to our projects to make them even better.\n\n**Template Demo**: [🦊 Firefox Addons](https://addons.mozilla.org/firefox/addon/browser-extension-template) _(visit mozilla.org after installation)_\n\n## Scripts\n\n- To install dependencies: `bun install`\n- To check/lint/format: `bun appts`\n- To build: `bun run build`\n- To lint: `bun lint`\n- To run: `bun dev`\n\n## 🩷 Sponsors\n\nThank you, everyone, for your support and for sharing this project! This project, Relivator, and Reliverse are currently sponsored by the following awesome people/organizations:\n\n### [Patreon](https://patreon.com/blefnk), [Buy Me a Coffee](https://buymeacoffee.com/blefnk), [Ko-fi](https://ko-fi.com/blefnk)\n\nLove using this project? If you're feeling generous, I'd appreciate a cup of coffee. You'll get Reliverse Pro, access to some private repos, pre-release downloads, and the ability to influence my project planning. Thanks!\n\n### [Discord Server Boost](https://discord.gg/C4Z46fHKQ8)\n\n- demir\n\n## Roadmap\n\nTODO: Add `bun web-ext lint` to the `bun lint` script, and `bun web-ext run` to `bun dev`. Currently, an error is thrown: `Error: Cannot find module './url'`.\n\nTODO: Try to remove `bun` and install `pnpm`. Check if `web-ext` works with this package manager, which works natively with `nodejs` (`bun` has its own libs).\n\nTODO: `bun addons-linter ./extension/` doesn't work as well. This command throws an error: `You did not build addons-linter yet`. Maybe because of `bun`.\n\n## Resources\n\n- [web-ext](https://github.com/mozilla/web-ext): A command line tool to help build, run, and test web extensions.\n\n## Additional\n\nThis project was created using `bun init` in bun v1.1.12. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.\n\n## FAQ\n\n_You can find other RQs (Reliverse Questions) in the [relivator-nextjs-template](https://github.com/blefnk/relivator-nextjs-template) repo._\n\n- **RQ21:** How do I switch the package manager from `bun` to pnpm, yarn, or npm?\n  **RA21:** Here's a variant of `scripts` for `pnpm`. Scripts presets for other package managers are coming soon. Just replace it in `package.json` (and make sure nothing is missing).\n\n  ```json\n  \"scripts\": {\n    \"appts\": \"run-s knip lint build format typecheck\",\n    \"build\": \"pnpm build ./src/index.ts --outdir ./extension/\",\n    \"debug:eslint\": \"pnpm cross-env TIMING=12 eslint --fix .\",\n    \"dev\": \"pnpm run src/index.ts\",\n    \"dev:ext\": \"pnpm web-ext run --source-dir ./extension/\",\n    \"dev:firefox\": \"pnpm run dev:ext -- --firefox=nightly\",\n    \"format\": \"pnpm biome format --write .\",\n    \"knip\": \"dotenv knip\",\n    \"latest\": \"pnpm update --latest \u0026\u0026 pnpm add -D typescript@rc typescript-eslint@rc-v8\",\n    \"lint\": \"pnpm eslint --cache --fix . \u0026\u0026 pnpm biome lint --write .\",\n    \"lint:al\": \"pnpm addons-linter ./extension/\",\n    \"lint:we\": \"pnpm web-ext lint\",\n    \"reli:help\": \"pnpm tsx reliverse.ts --help\",\n    \"reli:pm\": \"tsx reliverse.ts --pm\",\n    \"reli:vscode\": \"pnpm tsx .vscode/presets/switcher.ts\",\n    \"system\": \"envinfo --system --binaries --utilities\",\n    \"typecheck\": \"tsc --noEmit\",\n    \"typestat\": \"typestat --config typestat.json\"\n  }\n  ```\n\n## Project Structure\n\n**Only a few of the files are listed here.** This section will be updated in the future versions.\n\n- [.vscode](https://code.visualstudio.com)\n  - presets\n  - [extensions.json](https://code.visualstudio.com/docs/editor/extension-marketplace)\n  - [settings.json](https://code.visualstudio.com/docs/getstarted/settings)\n- [extension](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions)\n  - assets\n  - [index.js](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension)\n  - [manifest.json](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json)\n- src\n  - [env.ts](https://create.t3.gg/en/usage/env-variables)\n  - [index.ts](https://bun.sh/docs/runtime/typescript)\n- [biome.json](https://biomejs.dev/reference/configuration)\n- [bun.lockb](https://bun.sh/docs/install/lockfile)\n- [cspell.json](https://cspell.org/configuration)\n- [eslint.config.js](https://eslint.org/docs/latest/use/configure/configuration-files)\n- [knip.json](https://knip.dev/reference/configuration)\n- [package.json](https://docs.npmjs.com/cli/v10/configuring-npm/package-json)\n- [README.md](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)\n- [reliverse.ts](https://github.com/blefnk/reliverse)\n- [reset.d.ts](https://www.totaltypescript.com/ts-reset)\n- [tsconfig.json](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)\n- [typestat.json](https://github.com/JoshuaKGoldberg/TypeStat#readme)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freliverse%2Ftemplate-browser-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freliverse%2Ftemplate-browser-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freliverse%2Ftemplate-browser-extension/lists"}