Don't wanna be here? Send us removal request.
sdfs34343dfdsfdsf-blog · 5 years ago
Text
All code is built. Build what you can before you ship.
Ahead-of-time build steps are usually what people think of when they refer to “building code.” Most build problems that remain to be solved in Wikimedia only fit in the ahead-of-time space. As you might expect, we’re using these enhancements all over the place already and can’t live without them. Some examples include:
OOUI: Portions of this library are built with Grunt and a suite of packages from NPM for minification, uglification, and additional processing. The results are dozens of build products that are file-copied into Core manually.
Page Previews: This gem of a codebase is fully compiled from the latest JavaScript with Webpack. It serves about two billion virtual pageviews a month.
Wikibase : Ahead-of-time build tools are used by Wikibase including Webpack, TypeScript, and a plethora of other standards to serve the Wikidata communities.
MultimediaViewer: Commits to MultimediaViewer use ahead-of-time build steps to replace any human readable source SVGs with optimized, machine-readable outputs.
MediaWiki: Core uses a build step on every deployment. The process is called “a full scap.” When the process fails, it’s called “a full scapadapadoo.”
MobileFrontend: All JavaScript in MobileFrontend, the heart of the mobile site, is built by Webpack. That’s over 50% of all pageviews benefiting from an ahead-of-time build step using industry standard tooling. If you build it, they will come.
Wikipedia for KaiOS: This Webpack-powered project uses a build step to serve a highly performant web app.
ContentTranslation: The glittering new ContentTranslation app uses the Vue CLI and standard tooling to generate the next-generation interfaces essential to serving contributors around the world. Put plainly, this is the kind of modern experience that would be impossible to build without modern tooling that leverages ahead-of-time build steps.
Wikipedia.org: Portals uses a build step to synchronize sister project statistics. I know someone who has a recurring task each week reminding him “it’s build time.” Although triggering the build step is person-powered, the outputs are what you would expect of an ahead-of-time build step: practical and project specific.
VisualEditor: VE is a sophisticated application that requires a build step. I don’t know what this does exactly but I would guess it’s solving the same kinds of problems everyone else has ahead-of-time.
And many more.
0 notes