Skip to content
forked from kadirahq/npm-base

A base package for creating NPM packages with ES2015

License

Notifications You must be signed in to change notification settings

jpiulac/npm-base

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npm-base

A base package for creating NPM packages with ES2015.


Writing in ES2015 is an amazing experience. Setting up babel and the development environment in a kind of a pain.

If you want to write a NPM module in ES2015 and publish to NPM with backward compatibility, this is the easiest way.

Basic Usage

  • Simply clone this project.
  • Change the package.json as you want.
  • lib/index.js in your entry point.
  • Then publish to npm via npm publish.

Linting

  • ESLINT support is added to the project.
  • It's configured for ES2015 and inherited configurations from graphql/graphql-js.
  • Use npm run lint to lint your code and npm run lintfix to fix common issues.

Testing

  • You can write test under __test__ directory anywhere inside lib including sub-directories.
  • Then run npm test to test your code. (It'll lint your code as well).
  • You can also run npm run testonly to run tests without linting.

ES2015 Setup

  • ES2015 support is added with babel6.
  • After you publish your project to NPM, it can be run on older node versions and browsers without the support of Babel.
  • This project uses ES2015 and some of the upcoming features like async await.
  • You can change them with adding and removing presets.
  • All the polyfills you use are taken from the local babel-runtime package. So, this package won't add any global polyfills and pollute the global namespace.

Kudos

  • Babel6 and the team behind it.
  • Facebook's graphql-js authors for ESLint configurations and for the directory structure.

About

A base package for creating NPM packages with ES2015

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 76.2%
  • Shell 23.8%