Comments (7)
Vitreum is mostly a wrapper for Browserify, which is the bundler, with some default settings baked in. It also includes Babel (tranform new JS into backwards-compatible JS), and includes watchify, livereload, and nodemon which are the "auto-restart/rebuild" tools. Then it adds a string to the top of the bundle that launches the React app on the client. That's basically it.
- Browserify is not getting updated much anymore (occasionally hiccups on newer JS), but we could update it to Webpack.
- Babel should be kept. We have overwritten most of the Vitreum defaults in our
buildHomebrewery.js
script anyway. - Watchify tells Browserify to rebuild when a change is detected. Don't think it works with other bundlers but Webpack should have a similar tool
- Nodemon should be kept. Lets us auto-restart the server when rebuild happens, for development
- Livereload no longer works with newer browsers (like Nodemon but for restarting the browser page)
from homebrewery.
#3479 might be related to Vitreum
from homebrewery.
Thanks for clarity on this. Livereload I can live without, but it seems some frameworks still have something similar.
from homebrewery.
Can confirm Webpack has a similar thing, but i think i used a diferent command for it in Axe, not sure.
from homebrewery.
I have done some initial work on migrating Homebrewery to Browserify et al directly, in order to eliminate the technical debt that is Vitreum.
My working theory is that once we can plainly see how Browserify et al are actually being used by Homebrewery, then we can start to investigate and learn how to migrate from them to other tools, using the guides and articles on the internet at large that we would struggle to find if we were still trapped behind the obfuscation layer that is Vitreum.
To be clear, this is VERY much a learning experience for me, I'm figuring it out as I go and hopefully not unintentionally breaking anything. So if you know why something is the way that it is, or you know of a better way to achieve the goal, please don't hesitate to speak up.
from homebrewery.
Breaking it down, to the best of my knowledge, Vitreum has been providing the following functions to Homebrewery:
- headTags.js - provides the
Meta
React component. Not sure if there's a reason that this should live in the bundler rather than the codebase directly. - transforms/asset.js - a wrapper for an async file copy function
- transforms/less.js - a wrapper for
less.render
- transforms/pack.js - a wrapper for
browserify
At this point in time, I have commented out watchFile
and liveReload
as Dev only tools.
from homebrewery.
I had not previously realized that we now have two systems for injecting Meta tags. So there exists the opportunity to standardize to a single Meta tag system. The Vitreum Meta tag is used on the Share and Edit pages to add <Meta name='robots' content='noindex, nofollow' />
, and on the Home page to add <Meta name='google-site-verification' content='[content_redacted]' />
.
In theory, at least, the ogMeta
tag system used in app.js
could be extended to incorporate these additional tags; alternatively, the ogMeta
tags could be shifted to use the existing <Meta>
React components.
from homebrewery.
Related Issues (20)
- Server times out if trying to access `/account` while not logged in HOT 4
- "Helper/Guide" feature for snippets
- Markdown: Functions break if a variable name is a substring of the function names HOT 1
- Theme: Themes can select themselves as Theme Source HOT 4
- Math functions with multiple parameters cannot take variable names HOT 3
- Move GDrive/Database save location toggle to Properties Editor
- Brand New Issue
- ImageKit.io API integration
- Non-used URLs open bugged new page HOT 2
- Using scaleX or scaleY parameters causes skewing in rotated masks HOT 1
- Table of contents doesn't print accents in uppercase letters at the title HOT 5
- Ability to close search / replace bar HOT 10
- Title with shared link of a cloned brew in newpage shows up as error HOT 4
- White shear lines on masked images HOT 2
- images with alt-text with bad spaces get eaten
- Toc generation broken HOT 6
- Button tooltips for navigation, Snippets & Toolbar HOT 1
- New Jump-To hotkeys feature Conflicting with General Windows Select Behaviour HOT 3
- brewrenderer cleanup HOT 2
- Bulk Change Primary Author
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 homebrewery.