Registry / aws / esbuild-plugin-object-store-asset

esbuild-plugin-object-store-asset

JSON →
library0.0.4jsnpmunverified

An esbuild plugin (v0.0.4) that uploads assets to S3/R2/object storage during builds and rewrites asset URLs to content-hashed CDN paths. Designed for Cloudflare R2 and AWS S3, it integrates into esbuild's output pipeline to automatically manage remote asset hosting. Peer dependency on esbuild ^0.27.3. Ships TypeScript types. Differentiators: lightweight, focuses on object storage backends, supports content-hashed URLs for caching. Release cadence: early development, infrequent updates.

npm install esbuild-plugin-object-store-asset
INSTALL
IMPORT
SIG · ESBUILD-PLUGIN-OBJ
E
esbuild-plugin-object-store-asset
awsjavascriptv0.0.4
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 plugin from 'esbuild-plugin-object-store-asset'
import { plugin } from 'esbuild-plugin-object-store-asset'
Package exports a default function.
PluginOptions
import type { PluginOptions } from 'esbuild-plugin-object-store-asset'
import { PluginOptions } from 'esbuild-plugin-object-store-asset'
PluginOptions is a TypeScript type; use 'import type' for isolated type imports.
require
const plugin = require('esbuild-plugin-object-store-asset')
const { default: plugin } = require('esbuild-plugin-object-store-asset')
CJS users can directly require the module; it exports the function as module.exports.

Shows basic setup integrating the plugin with esbuild build, uploading PNG/JPG/GIF/SVG assets to S3 and rewriting URLs to CDN.

import esbuild from 'esbuild'; import assetPlugin from 'esbuild-plugin-object-store-asset'; await esbuild.build({ entryPoints: ['src/index.js'], bundle: true, outdir: 'dist', plugins: [ assetPlugin({ bucket: process.env.S3_BUCKET ?? 'my-bucket', region: process.env.S3_REGION ?? 'us-east-1', accessKeyId: process.env.AWS_ACCESS_KEY_ID ?? '', secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY ?? '', endpoint: process.env.R2_ENDPOINT ?? '', // for R2 publicUrl: process.env.CDN_URL ?? 'https://cdn.example.com', outputDir: 'assets', // inside S3 bucket hashLength: 8, filter: /.*\.(png|jpg|gif|svg)$/, }), ], });
Debug
Known issues
breakingRequires esbuild ^0.27.3. Older versions of esbuild may be incompatible.
fix
Upgrade esbuild to ^0.27.3.
affects: <0.27.0 || >=0.28.0?
gotchaPlugin is early stage (v0.0.4). API may change without major version bump.
fix
Pin to exact version and test upgrades carefully.
affects: <=0.0.4
gotchaSensitive credentials (AWS keys) must be provided via environment variables or secure config. Hard-coding in plugin options is insecure.
fix
Use environment variables or a secrets manager. Avoid hard-coding accessKeyId/secretAccessKey in source code.
affects: >=0.0.0
Errors
Common errors & fixes
Error: Cannot find module 'esbuild-plugin-object-store-asset'
Package not installed or missing from node_modules.
fix
Run npm install esbuild-plugin-object-store-asset --save-dev
TypeError: plugin is not a function
Incorrect import style: used named import instead of default.
fix
Use default import: import plugin from 'esbuild-plugin-object-store-asset'
Error: esbuild version must be >=0.27.3
Installed esbuild version is too old.
fix
Upgrade esbuild to ^0.27.3: npm install esbuild@^0.27.3 --save-dev
Upgrade
Version history
0.0.4latest on npm
Audit
Dependencies
esbuildoptionalpeer dependency required for plugin functionality
Agent activity
17 hits · last 30 days
node
14
OpenAI (training)
2
Resources