flipcli

the easiest app builder

Showing:

Popularity

Downloads/wk

5

GitHub Stars

29

Maintenance

Last Commit

4yrs ago

Contributors

1

Package

Dependencies

14

Size (min+gzip)

0.3KB

License

Type Definitions

Tree-Shakeable

No?

Categories

Readme

🏗💠 fliphub

Build Status NPM version fliphub flipfam Dependencies MIT License Standard JS Style NSP Status examples-badge PRs Welcome

the builder, of builders.

👾 all you need

see the example

enables configs that would take hundreds or thousands of lines, with just a few properties.

const FlipHub = require('fliphub')
new FlipHub({entry: './src/index.js'}).build()

📦 installation

yarn add fliphub
npm i fliphub --save

🗝️ legend

📅❗ changelog

keep up to date! updated frequently.

all the apps

one app? two apps? 100 apps? fusebox, rollup, and webpack? nodejs server, inferno, and react? existing configs? happy and no happy pack? at the same time? no sweat.

const FlipHub = require('fliphub')

// take an existing config, flip it to fusebox or rollup or webpack
const config = require('./webpack.config.js')
config.flips = {to: 'fusebox'}

const apps = [
  config,

  {
    name: 'infernod',
    entry: './src/index.js',
    presets: ['inferno', 'neutrino-preset-happypack', 'web'],
  },
  {
    name: 'backend',
    entry: './backend/src',
    presets: ['node'],
  },
]

FlipHub.init({apps}).build()

♻️ reusability?

const { FlipHub } = require('fliphub')
const apps = [
  {
    name: 'reacted',
    presets: ['react'],
  },
  {
    name: 'infernod',
    presets: ['inferno'],
  },
]

FlipHub.init({
  presets: {
    reusable: {
      entry: './src/index.js',
      flips: {to: 'fusebox'},
    },
  },
  apps,
}).build()

they are configured for each environment by default and can be customized for any config you want

⚠️ the problem

  • build systems are notorious for their difficulty.
  • finding and setting up the right
    • scripts
    • plugins
    • loaders
    • configs
    • requiring the dependencies
    • bloating your config files
    • making configs for
      • development bundling
      • production bundling
      • production dev bundling
      • test environments
      • development servers
      • production servers
  • tedious, with a high barrier of entry
  • time intensive; switching build systems for 1 app is grueling
  • ... all of the above for every application

✔️ the solution

📘 examples

📚 documentation

💠 hubs (middleware +)

docs hubs

🚩 flags

☕🏳️ filters

white-list flags are used to filter which apps are run for different operations

🏹 aliasing

see the alias docs

🍰 presets

see the preset documentation

const apps = [{
  presets: ['alias-resolve', 'neutrino-preset-web', 'eslint'],
}]

const appsWithArgs = [{
  presets: {
    aliasResolve: __dirname,
    presetWeb: null,
    eslint: require('./.eslintrc.js')
  },
}]

v0

v0 is still available as flipbox but is unmaintained.

[babel-monorepo]: [https://github.com/babel/babel/blob/master/doc/design/monorepo.md][babel-make]: [https://github.com/babel/babel/blob/master/Makefile]

[broccili]: [http://broccolijs.com/][gearjs]: [http://gearjs.org/][yeoman]: [http://yeoman.io/][make]: [https://github.com/mklabs/make][documentationjs]: [http://documentation.js.org/][ninjabuild]: [https://ninja-build.org/manual.html]

[meteor-scripts]: [https://github.com/meteor/meteor/tree/devel/scripts][facebook-gulp]: [https://github.com/facebook/react/blob/master/gulpfile.js][facebook-scripts]: [https://github.com/facebook/react/tree/master/scripts]

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100