standard-pkg • Build strict, ES2019 distributions from your project.
- 🗓 Updates yearly with the latest ECMAScript spec.
- ⚡️ Powered by Babel; Automatically includes any custom/experimental plugins found in your babel config.
- 📦 Used internally by most @pika/pack build pipelines.
$ npm install -g standard-pkg
$ standard-pkg --src src/ --dist lib/
» Building src/ → lib/...
» Linting lib/...
✓ 0 issues found.
$ standard-pkg --dist lib/
» Linting lib/...
⚠️ [lib/index.js 2:0] Imported file does not exist.
Missing file extension for import "./some/import".
✘ 1 issues found.
{
"scripts": {"build": "standard-pkg --src src/ --lib lib/"},
"esnext": "lib/index.js"
}
Standard-pkg builds to a standard language target for other tooling to consume (or to publish directly with your package). This is especially useful if you're using TypeScript or experimental language features that your tooling may not support.
While we try to match the ES2019 spec as strictly as possible, the following exceptions are required to support some common use-cases where no other workaround exists:
- Supports bare module specifiers: This is the npm standard, and modern tooling like bundlers support it.
- Supports dynamic
import()
: This is a stage 4 proposal which allows dynamically importing modules. - Supports
import.meta.url
: This is a stage 3 proposal which allows modules to read their location (filepath or URL).