Comments (8)
to summarize from irc: i'm not sure bankai needs a plugin system. Sometimes bloat on a developer tool is OK since it takes away the paralysis of choice (eg: standard, tap). Install size is partially irrelevant (or you wouldn't use it, or you can install it globally), and if you aren't using something that comes with it, you're not increasing my cognitive load for using the product (again, tap comes with a TON of shit I couldn't care less about but I don't really care...)
from bankai.
Another cool plugin idea: https://github.com/mafintosh/browser-sync-stream - goes esp. well with offline apps I think
from bankai.
And more codesplitting stuff https://github.com/GoogleChrome/preload-webpack-plugin
from bankai.
I'm sensing https://github.com/yoshuawuyts/nanostack might be a good option to add - but yeah unsure
from bankai.
Can't help but have the feeling we're recreating gulp
; but this my best guess at doing a plugin system ghmmm
// single input with transform
var bankai = require('bankai')
var assets = bankai('index.js')
assets.transform(purifyCss()) // optimizes CSS based on HTML, JS
var b = assets.bundle()
b.js().pipe(process.stdout)
b.css().pipe(process.stdout)
b.html().pipe(process.stdout)
// multi JS input
//
// if there's multiple files of the same type, you need to specify which stream
// you're creating
var bankai = require('bankai')
var assets = bankai(['index.js', 'outdex.js'])
assets.transform()
var b = assets.bundle()
b.js('index').pipe(process.stdout)
b.js('outdex').pipe(process.stdout)
b.js('common').pipe(process.stdout)
b.css().pipe(process.stdout)
b.html().pipe(process.stdout)
// render JS to HTML
// is a plugin b/c it needs to change single HTML file to multiple HTML files.
// We wanna copy the labeled-stream-splicer approach browserify has (TBI, lots
// of details here)
var bankai = require('bankai')
var assets = bankai('index.js')
assets.plugin(renderHTMLOnServerSomehow())
var b = assets.bundle()
b.js().pipe(process.stdout)
b.css().pipe(process.stdout)
b.html('/').pipe(process.stdout)
b.html('/mainView').pipe(process.stdout)
b.html('/:otherView').pipe(process.stdout)
b.html('/:and/:another/:one').pipe(process.stdout)
from bankai.
What is the purpose behind b.html('/mainView').pipe(process.stdout)
? This is a router?
from bankai.
@Karissa it's to select one of many files - in this case renderHTMLOnServerSomehow()
creates a file for each route passed, which is then added to html
.
from bankai.
very good point - closing for now!
from bankai.
Related Issues (20)
- Bankai's forced TLS makes developing for Beaker Browser difficult HOT 3
- Question: Deployment On AWS HOT 4
- Feature request: generate csp headers for inlined scripts and style
- Using a proxy in front of Bankai fails due to too many 301 redirects
- Production build served from a subfolder HOT 1
- Server Side Rendering Skipped due to error: window is not defined HOT 4
- bundle.js & bundle.css are in hashed folders
- bankai.documents doesn't actually take an options parameter HOT 1
- 🔦 Static exports? HOT 1
- Seamless HTTPS without certificate warnings: integrate nodecert/https-server HOT 3
- Test #163 failing (on Ubuntu 18.10, Node v10.14.2) HOT 3
- 🙋Use Custom HTML Body for Server Side Rendering for non-Choo apps
- problem bundling hypercore: 'require is not defined' HOT 4
- Babel 7 support HOT 2
- Error: choo.mount: could not query selector HOT 1
- 🐛 `.documents`: Documented API missing HOT 1
- experimental prefetch help
- SSL key too small, project doesn't start HOT 6
- nanohtml transform is not applied to code transpiled from Typescript with esModuleInterop
- import scss files
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bankai.