-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
284 lines (221 loc) · 8.26 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
should use ChainedSet for presets...
- need to have the tests write the fixture content in `before`
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