GitHub - dalcib/esbuild-plugin-cache (original) (raw)

esbuild-plugin-cache

Esbuid plugin to cache http/https imports.

The plugin allows to use http/https imports without installing npm packages on node_modules.

It also allows to use import-maps .

It can provide a feature similar to Snowpack 3.0, the new Streaming NPM Imports, which allows to skip the NPM install and node_modules.

//index.js import React from 'https://cdn.skypack.dev/react@17.0.1' console.log(React.version)

Build script:

//build.js import esbuild from 'esbuild' import { cache } from 'esbuild-plugin-cache'

esbuild .build({ entryPoints: ['index.js'], bundle: true, outfile: 'bundle.js', plugins: [cache()], }) .catch(() => process.exit(1))

Config:

config: {importmap: {imports:{[key: string]: string}}, directory: string}

Using with importmap

//index.js import React from 'react' console.log(React.version)

//build.js import esbuild from 'esbuild' import { cache } from 'esbuild-plugin-cache'

const importmap = { imports: { react: 'https://cdn.skypack.dev/react@17.0.1', }, }

esbuild .build({ entryPoints: ['index.js'], bundle: true, outfile: 'bundle.js', plugins: [cache({ importmap, directory: './cache' })], }) .catch(() => process.exit(1))