should use ChainedSet for presets...



update the slack thing
add auto-finder for entry-output defaults
example links
flipfam links on readme2



[![NPM version][npm-image]][npm-url]
[![MIT License][license-image]][license-url]
[![fliphub][gitter-badge]][gitter-url]
[npm-image]: https://img.shields.io/npm/v/fliplog.svg
[npm-url]: https://npmjs.org/package/fliplog
[license-image]: http://img.shields.io/badge/license-MIT-blue.svg?style=flat
[license-url]: https://spdx.org/licenses/MIT
[gitter-badge]: https://img.shields.io/gitter/room/fliphub/pink.svg
[gitter-url]: https://gitter.im/fliphub/Lobby
[travis-image]: https://travis-ci.org/fliphub/fliphub.svg?branch=master
[travis-url]: https://travis-ci.org/fliphub/fliphub




====================================================
------------------------ p0 ------------------------
====================================================

https://www.bithound.io/github/jantimon/ in docs (live david deps)

- [ ] need to make flipfam module with all fliphub modules

- [ ] fix memory leak in event listeners

- [ ] interactive babel config generator could be super cool
- [ ] simply expose the `.on` for events? alongside flags :o?

- [ ] finish examples
  - [xxx] empty
    - [x] part 1
    - [x] part 2
    - [x] part 3
  - [ ] minify + sourcemaps
  - [ ] ts
    - [x] part 1
    - [ ] part 2
  - [ ] compat
  - [ ] lint
    - [x] part 1
    - [x] part 2
    - [ ] part 3
  - [ ] babel happypack
  - [ ] es6 -ts config
  - [ ] flags
  - [ ] alias
  - [ ] mediator~
  - [ ] monorepo
    - [ ] verbose
    - [ ] fake it
      - [x] part 1
      - [x] part 2
      - [ ] part 3
  - [ ] node
    - [x] part 1
    - [x] part 2
    - [ ] part 3
  - [ ] react
    - [x] part 1
    - [x] part 2
    - [ ] part 3
    - [ ] inferno
  - [ ] canadas
    - [x] part 1
    - [x] part 2
    - [ ] part 3
  - [ ] custom hubs & presets (from tests)
  - [ ] webworker
    - [x] part 1
    - [ ] part 2
  - [ ] splitting and chunking
  - [ ] ops

- [ ] finish docs ***

- [x] build an array of bundlers
  - [ ] alter output paths for each to ensure they all build...
        some hashing cb works... or a method on the chain.
- [ ] flags
  - [ ] .on
  - [ ]

- [ ] clean
- [ ] tests on travis to ensure deps are setup correctly

- [ ] could split out the flipflags
      so it could be used as a webpack plugin,
      internally doing webpack merge o.o
- [ ] split out each module to a package
  - [ ] add readmes and docs and examples
  - [ ] cli (from inferno, improve on commander)


- [ ] finish html preset
- [x] test all 3 bundlers pt 1
- [ ] make tests satisfactory
- [x] test preset inheritence
- [x] multiple apps
- [x] set tests to run on travis
- [ ] setup defaults with resolving and add `defaults`...
- [ ] add `toFlipConfig` to allow caching the setup!
- [x] adding docs/resources/testing.md
- [ ] find issue with mutating config and then values getting merged from elsewhere, such as with rollup and target...

- [ ] add back flag cbs (flag hub decorate core)
- [x] finish webpack-chain pr
- [ ] see config defaulter todos
// https://github.com/facebookincubator/create-react-app/pull/1742

====================================================

- [ ] set trace call when asserting in fosho



- [x] start tests
- [x] add reset

- [x] should extend `t` assertion on the fly for the best asserting
- [x] add `silenceAll` to flipLog alongside
      `silence` to toggle it easier than capturing,
      capture auto if in this mode but do not capture stdout


- [x] move ops to another class
  - [x] should fix toConfig part
- [x] add workflow
- [x] remove `debugFor` and use the log filter (pt1)

- [ ] have an easy cli as easy as using babel and browserify
- [ ] fork eventemitter add travis is someone doesnt



- [ ] add real proper help to all presets and all methods

- [x] fix needing to call `toConfig` before building
- [x] flags needs to be added earlier than calling whicg fglip..


- [x] should have some kind of flat mono config
```
  workflow
    - app
      - context
      - config
    - box
      - context
      - config
    - bundler
      - api
      - config
```

- [x] defaults preset to reuse config at root to children unless not inheriting
- [ ] make bundlers more dynamic again, add support for chaining bundlers, like gulpConfig, babel, webpack...
- [ ] should finish other ops, clean up todos

# built in presets
!!!
- [x] flags preset
- [x] make presets work per app
- [ ] ensure presets do not conflict or merge or bleed across apps
  - [x] with buildFast they never do...
- [ ] + arithmetics for presets
- [x] see about using `fusebox` task runner to run them sync-or-async?
  - [x] too slow, not as good as buildFast

- [ ] example with eslint loader
- [ ] es5/6 configs
- [ ] a good temporary file module
  - [ ] write a file to a location (example, tmp file backup, babelrc)
  - [ ] restore the file, or delete it

- [ ] try seeing what happens with more advanced configs - say taking a large config in webpack porting to fusebox or rollup
  - [ ] in configExtractor, should just take some props out, put them as preset args :-)

- [x] add the yuge example in without adding thousands of lines of code - just generate out the json

- [ ] instead of rollup loader with ts, consider adding running tsc first...
- [ ] run npm scripts, with the flags, and as config option, would solve the tsc part

- [x] build fliphub to include the dependencies...
- [ ] let `to` support an array of bundlers to bundle with all 3

!!!


- [x] built in presets get registered by config defaulter
  - [ ]  IF THERE IS NO DEFAULTS: FALSE
         https://github.com/fliphub/fliphub/issues/17
  -> this should actually be only for *using* the presets,
     not registering them

# debugging
- [x] add back debugging options
- [x] add arithmetic debugging options with tags
- [ ] fix debugging silence persisting or false positives that prevent `building...` orange log from echoing
  -> might not be calling `echo` somewhere

# presets
- [x] plugin indexes
- [ ] require.resolve the presets, only require when they are used
- [ ] aliasing for preset names
- [x] `cars` breaks rollup
  - [x] so ensure commonjs and node resolve are setup correctly

- [x] fix args
  - [x] should names be in https://lodash.com/docs/4.17.4#camelCase or https://lodash.com/docs/4.17.4#kebabCase https://lodash.com/docs/4.17.4#snakeCase?

- [x] plugin presets for fusebox such as babel

- [ ] try with packages/ts

- [x] `env` should properly use env
  - [x] which means detect current env
  - [ ] also means using flag preset to set the env first

====================================================
------------------------ p1 ------------------------
====================================================

# flags
- [ ] do a cleanup on flags,
- [ ] split into a class,
- [ ] make it safer,
- [ ] find-and-remove option
- [ ] better options,
- [ ] chainable
- [ ] support for ` -- ` handling (see how libs handle this)
- [ ] manage resetting argv so it is ignored if conflicting arguments...
// log.data(process.argv).text('argv').verbose().exit()

# presets
- [ ] https://github.com/fliphub/fliphub/issues/35 shim preset
- [ ] finish the rest of the required presets (in order)
  - []

# examples
- [ ] update all examples, ensure all of them work for all cases
- [ ] example running a monorepo
  - [ ] which asserts inheriting and resolver functionality
  - [ ] flush out autoalias
  - [ ] improve pkg tool

# tests
- [x] add tests - assert based on the `.toConfig`

# docs & external
- [ ] pr neutrino-preset-happypack
- [ ] update readme

====================================================
------------------------ p3 ------------------------
====================================================

- [ ] shorten `PresetAliasRequire` + PresetAliasRequire -> PresetAlias
- [ ] think more about the presets-as-collections-of-plugins, adding a third type, decorators/middleware/core to do the more application logic
- [ ] could have another option when merging to `mergeReplace` if using conflicting settings
- [ ] could use observables to allow listening to changes so plugin order is less important...

# simplification
- use module alias?

# flatten & clean
- [x] move index files to play folders
- [x] flatten `hubs` and `core` more nicely with
  - [x] `core`
  - [x] bundlers
  - [x] config
  - [ ] builtin ?
- [x] clean presets/todo & presets/next pt 2
