Skip to content

streamich/standard-pkg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

standard-pkg • Build strict, ES2018 distributions from your project.

  • 🗓 Updates yearly with the latest ECMAScript spec.
  • ⚡️ Powered by Babel; Uses your existing 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.

Why?

Lint Your Package to Strict ES2018 Spec

$ 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.

Publish Modern JavaScript With Your Package

{
  "scripts": {"build": "standard-pkg --src src/ --lib lib/"},
  "esnext": "lib/index.js"
}

Use Existing Tools with Experimental Language Features

Builds to a standard language target for other tooling to consume (or to publish directly with your package). Especially useful if you're using TypeScript or experimental language features that your tooling may not support.

Exceptions

While we try to match the ES2018 spec as strictly as possible, the following exceptions are required to support some common usecases where no other workaround exists:

  1. Supports bare module specifiers: This is the npm standard, and modern tooling like bundlers support it.
  2. Supports dynamic import(): This is a stage 3 proposal which allows dynamically importing modules.
  3. Supports import.meta.url: This is a stage 3 proposal which allows modules to read their location (filepath or URL).

About

Standard NPM Package Format

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%