fregante

Elite
@fregante

And right now you can save 50 bytes per package! That's 200 petabytes off for a single node_modules folder.

GhostText. πŸ‘» Use your text editor to write in your browser. Everything you type in the editor will be instantly updated in the browser (and vice versa).

3.6k

iphone-inline-video. πŸ“± Make videos playable inline on the iPhone (prevents automatic fullscreen)

2k

object-fit-images. πŸ—» Polyfill object-fit/object-position on <img>: IE9, IE10, IE11, Edge, Safari, ...

2k

Awesome-WebExtensions. A curated list of awesome resources for WebExtensions development.

1.5k

browser-extension-template. πŸ“• Barebones boilerplate with Parcel 2, options handler and auto-publishing

846

chrome-webstore-upload-cli. CLI tool to upload Chrome Extensions to the Chrome Web Store

498

chrome-webstore-upload. Upload Chrome Extensions to the Chrome Web Store

408

github-issue-link-status. Colorize issue and PR links to see their status (open, closed, merged)

309

ghat. πŸ›• Reuse GitHub Actions workflows across repositories

262

delegate-it. DOM event delegation, in <1KB

203

abort-utils. Utility functions to use and combine `AbortSignal` and `AbortController` with Promises

163

indent-textarea. Add editor-like tab-to-indent functionality to <textarea>, in a few bytes

160

webext-options-sync. Helps you manage and autosave your extension's options.

157

notifications-preview-github. Browser Extension: preview GitHub notifications with same page pop-overs

150

image-promise. πŸŽ‘πŸ€ž Load one or more images, return a promise. Tiny, browser-only, no dependencies.

147

webext-fun. WebExtension packages for every need

138

select-dom. Lightweight querySelector/All/closest wrapper that returns an array and optionally throws if elements are not found

133

many-keys-map. A Map subclass with support for multiple keys for one entry.

114

supports-webp. Detect support for WEBP images in the browser in 0.3KB

111

setup-git-user. GitHub Action that sets the git user and email to enable commiting

103

doma. Parse an HTML string into `DocumentFragment` or one `Element`, in a few bytes (in browser)

99

code-tag. noop functions to help formatters and syntax highlighters recognize embedded code

96

webext-dynamic-content-scripts. WebExtension module: Automatically registers your content_scripts on domains added via permission.request

93

webext-base-css. Extremely minimal stylesheet/setup for Web Extensions’ options pages (also dark mode)

86

chrome-webstore-upload-keys. Guide and OAuth helper to generate keys for Chrome Extensions upload

85

text-field-edit. Insert text in a <textarea> and <input> (supports Firefox and Undo)

82

fit-textarea. Automatically expand a <textarea> to fit its content, in a few bytes

82

webext-storage-cache. Cache values in your Web Extension and clear them on expiration. Also includes a memoize-like API to cache any function results automatically

82

intrinsic-scale. Replicate `background-size: cover/contain` for canvas/CSS/Node/… on any type of media.

78

webext-permission-toggle. Browser-action context menu to request permission for the current tab.

77

webext-storage. A more usable typed storage API for Web Extensions

77

scroll-restoration-polyfill. Polyfill for the "History API: Scroll Restoration"

70

video-canvas. Paint video on canvas. Extra light.

50

fregante.

34

gsap-then. πŸ™ Make every GSAP Tween a promise. tl.then(doSomething) (GSAP 1 and 2)

29

webext-tools. Utility functions for WebExtensions

26

ghatemplates. GitHub Actions workflow templates for `$ ghat`

25

webext-inject-on-install. Automatically add content scripts to existing tabs when your extension is installed

22

push-form. Zero-effort nanomodule to submit a `<form>` element via `fetch` and receive the response

20
39
Apply