Skip to content

cristijora/clipped

 
 

Repository files navigation

Clipped

Configuration hurts. Clipped makes it once only. 💪

npm version GitHub version Build Status Greenkeeper badge Codacy Badge codecov semantic-release standardjs

Requirements

  • NodeJs >= 8.0.0

How to use

  1. npm i -g clipped
  2. Add a clipped.config.js to your project with content:
module.exports = async clipped => {
  // blablabla...
}
  1. To use presets, search 'clipped-preset` on npm website. Install them as devDependencies and use them:
module.exports = async clipped => {
  clipped.config.name = 'magic' // defaults to 'name' property in package.json
  await clipped.use(require('clipped-preset-some-preset'))
}
  1. Run clipped to see available actions, and use them!

How it works

Most often our configurations are disposable items i.e. we cannot share them across projects. For example we use are likely to use similar loaders and plugins across webpack projects, yet we keep having to rewrite them over and over again.

Clipped makes it so configurations are functions of static configurations and dynamic task runners. You can even use existing projects as preset!

You do not have to use Webpack to use Clipped, feel free to contribute to presets like Rollup, Parcel, Fuse-box... 😊

How to contribute

# Clone the repo
git clone git@github.com:IniZio/usthing-clipped.git

# Install dependencies
npm i

# Watch the project
npm run dev

You are free to make your very own presets and put on your own npm account, but if the preset is for new extensions or build tools, we encourage you to contribute to our presets folder so that others can hurt less as well 😄

FAQ

WIP 🚧

Credits

Made with code and ❤️ by USThing team

Heavily inspired by mozilla-neutrino

About

📎 Make JS configuration only hurt once

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%