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

848

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

410

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

310

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.

158

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

140

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)

87

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

86

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

83

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-permission-toggle. Browser-action context menu to request permission for the current tab.

79

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

78

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

78

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

28

ghatemplates. GitHub Actions workflow templates for `$ ghat`

25

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

23

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

20
39
Apply