Giter Site home page Giter Site logo

flipchain's Introduction

๐Ÿ—๐Ÿ’  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

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.

flipchain's People

Contributors

aretecode avatar

Stargazers

 avatar

Watchers

 avatar

flipchain's Issues

upgrade .clear

with .clear, it clears properties that are chains, but if those chains happen to be other chains that include this particular chain, it will infinitely .clear

needs thought for best way to handle (could use temp property for .clearing), or pass in property true to force .clear recursively

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.