{"id":25410,"library":"esbuild-plugin-substrate","title":"esbuild-plugin-substrate","description":"An esbuild plugin that converts explorable.md documents into plain JavaScript modules during the build process. Current stable version is 0.3.0. It is a niche plugin targeting literate programming workflows where markdown content is integrated into JavaScript bundles. Compared to general markdown loaders, this plugin specifically handles the explorable.md format and outputs ES modules. It has moderate release cadence with occasional updates.","status":"active","version":"0.3.0","language":"javascript","source_language":"en","source_url":"https://github.com/mreinstein/esbuild-plugin-substrate","tags":["javascript","esbuild","substrate","plugin"],"install":[{"cmd":"npm install esbuild-plugin-substrate","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-substrate","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-substrate","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required to function as an esbuild plugin","package":"esbuild","optional":false}],"imports":[{"note":"Package is ESM-only; CommonJS require will fail.","wrong":"const substratePlugin = require('esbuild-plugin-substrate')","symbol":"default","correct":"import substratePlugin from 'esbuild-plugin-substrate'"},{"note":"This package has only a default export; named destructured import yields undefined.","wrong":"import { substratePlugin } from 'esbuild-plugin-substrate'","symbol":"substratePlugin (default import)","correct":"import substratePlugin from 'esbuild-plugin-substrate'"}],"quickstart":{"code":"// esbuild.js\nimport esbuild from 'esbuild';\nimport substratePlugin from 'esbuild-plugin-substrate';\n\nawait esbuild.build({\n    entryPoints: ['input.js'],\n    bundle: true,\n    outfile: 'out.js',\n    plugins: [substratePlugin()]\n});","lang":"javascript","description":"Shows basic usage: import esbuild and the plugin, call build with plugin enabled."},"warnings":[{"fix":"Use import syntax. If using CommonJS, switch to dynamic import() or use a CJS wrapper.","message":"Package is ESM-only and requires Node >=12.17 and esbuild as a peer dependency.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Use esbuild as the bundler; consider alternative plugins if using another bundler.","message":"Plugin is specifically designed for esbuild and will not work with other bundlers (Webpack, Rollup, etc.).","severity":"breaking","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use default import: import substratePlugin from 'esbuild-plugin-substrate'","cause":"Importing with named import instead of default import.","error":"TypeError: substratePlugin is not a function"},{"fix":"Run npm install esbuild-plugin-substrate and ensure Node.js >=12.17.","cause":"Package not installed or Node.js too old (<12.17) to support ESM.","error":"Error: Cannot find module 'esbuild-plugin-substrate'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}