Registry / devops / esbuild-plugin-bookmarklet

esbuild-plugin-bookmarklet

JSON →
library1.1.0jsnpmunverified

An ESM-only, Deno-first esbuild plugin that generates bookmarklet code from JavaScript entry points. Current stable version 1.1.0 (2024) is covered by semver. It wraps esbuild output into a URL-encoded bookmarklet, requiring `iife` format and `write: false`. Differentiators: Deno-first (supports Node), simple setup, supports multiple entry points since v1.1.0.

npm install esbuild-plugin-bookmarklet
INSTALL
IMPORT
SIG · ESBUILD-PLUGIN-BOO
E
esbuild-plugin-bookmarklet
devopsjavascriptv1.1.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
import bookmarkletPlugin from 'esbuild-plugin-bookmarklet'
const bookmarkletPlugin = require('esbuild-plugin-bookmarklet')
ESM-only; CommonJS require will fail. Use import statement.
default
import bookmarkletPlugin from 'https://deno.land/x/esbuild_plugin_bookmarklet@1.1.0/mod.js'
import bookmarkletPlugin from 'https://deno.land/x/esbuild_plugin_bookmarklet/mod.js'
Deno import should pin a version (e.g., @1.1.0) to avoid breaking changes.
default
import bookmarkletPlugin from 'esbuild-plugin-bookmarklet' // in Node ESM
Ensure package.json has 'type': 'module' or use .mjs extension.

Minimal Node ESM build script that outputs a bookmarklet from index.js.

import * as esbuild from 'esbuild'; import bookmarkletPlugin from 'esbuild-plugin-bookmarklet'; await esbuild.build({ entryPoints: ['index.js'], bundle: true, minify: true, outfile: 'bookmarklet.js', write: false, format: 'iife', plugins: [bookmarkletPlugin], target: ['chrome58', 'firefox57', 'safari11', 'edge16'] }); console.log('Bookmarklet generated as bookmarklet.js');
Debug
Known issues
breakingRequires esbuild's `write: false` option; output is handled by plugin, not filesystem.
fix
Set write: false in esbuild options.
affects: >=1.0.0
gotchaPlugin only works with `format: 'iife'`; other formats may produce invalid bookmarklets.
fix
Specify format: 'iife' in esbuild config.
affects: >=1.0.0
deprecatedDeno import without version pin may break with future releases.
fix
Use import with version tag: https://deno.land/x/esbuild_plugin_bookmarklet@1.1.0/mod.js
affects: all
gotchaESM-only package; using require() results in error: require() of ES Module not supported.
fix
Use import syntax. If in Node, ensure 'type': 'module' in package.json or rename file to .mjs.
affects: all
gotchaMultiple entry points are supported since v1.1.0; earlier versions only handle single entry.
fix
Upgrade to v1.1.0 or later for multiple entry points.
affects: 1.0.0
Errors
Common errors & fixes
Error: Cannot find module 'esbuild-plugin-bookmarklet'
Package not installed or import path incorrect in Node.
fix
Run 'npm install esbuild-plugin-bookmarklet' and use correct import: import bookmarkletPlugin from 'esbuild-plugin-bookmarklet'
TypeError: bookmarkletPlugin is not a function
Used default import incorrectly (e.g., destructured non-default export).
fix
Use default import: import bookmarkletPlugin from 'esbuild-plugin-bookmarklet' (no braces).
Error: The plugin "esbuild-plugin-bookmarklet" rejected the build because the format is not 'iife'
Build format missing or not set to 'iife'.
fix
Add format: 'iife' to esbuild options.
Error: "write" must be false when using this plugin
The write option in esbuild is true (default) or not set.
fix
Add write: false to esbuild options.
Upgrade
Version history
1.1.0latest on npm
Audit
Dependencies
esbuildrequiredpeer dependency; plugin hooks into esbuild's build process
Agent activity
2 hits · last 30 days
node
2
Resources
esbuild-plugin-bookmarklet — npm install esbuild-plugin-bookmarklet · libregistry