Skip to content

NodeJS stack

JM Marcastel edited this page Sep 1, 2020 · 9 revisions
Table of contents
Babel Backward Javascript compatibility for ES.Next
Babel and related
bcli Babel command line
bcore Babel compiler core
bpenv A Babel preset for each environment
bpors Compile object rest and spread to ES5
bwatch Checks file sizes, ensuring bundled browser assets don't jump in file size
Front-end build tool
atpfix PostCSS plugin to parse CSS and add vendor prefixes to CSS rules
ccss Fast and efficient CSS optimizer for any modern browser
ccsscli Command-line interface to clean-css - fast and efficient CSS optimizer
eslcorn Various awesome ESLint rules
eslimp Support linting of ES2015+ (ES6+) import/export syntax
eslint Identify and report on patterns found in ECMAScript/JavaScript code
eslxo Opinionated but configurable ESLint wrapper with lots of goodies included
fusv A simple tool to check for unused Sass variables in a directory
glob Match files using the patterns the shell uses, like stars and stuff
hamsim Simulate gestures
hugobin Binary wrapper for Hugo(4)
ip IP address utilities
istbul JavaScript test coverage made simple
jasmin Behaviour driven testing framework for JavaScript
jquery Fast, small, and feature-rich JavaScript library(4)
karbst Use any browser on BrowserStack!
karchr Launcher for Google Chrome, Google Chrome Canary and Google Chromium
karfir Launcher for Mozilla Firefox.
karjas Adapter for the Jasmine testing framework
karjpt Reporter that dynamically shows tests results at debug.html page
karma Make your test-driven development easy, fast, and fun
karrup Karma preprocessor to bundle ES modules using Rollup
karsaf Launcher for Safari
lcklint A CLI to lint a lockfile for security policies
lnktor A super simple site crawler and broken link checker
nodmon Automatically restart applications when source file changes are detected
nsass LibSass library wrapper and command line utility
pcsscli PostCSS CLI
popper Tooltip & popover positioning engine
postcss Tool for transforming styles with JS plugins
rollup Rollup is a module bundler for JavaScript(2)
runall A CLI tool to run multiple npm-scripts in parallel or sequential.
rupba Rollup plugin for seamless integration between Rollup and Babel
rupcjs Convert CommonJS modules to ES6, so they can be used with Rollup
rupist Seamless integration between Rollup and Istanbul.
rupnode Node resolution algorithm plugin to detect third party modules
sirv Lightweight CLI program to serve static sites~!
slint Mighty, modern linter
slintbs Default stylelint config used by Bootstrap
terser A JavaScript parser and mangler/compressor toolkit for ES6+
vnujar Helps you catch unintended mistakes in your HTML, CSS, and SVG.
Bootstrap-only tools(3)
shjs Unix shell commands for Node.js
xenv Run scripts that set and use environment variables across platforms

Notes:

(1) The jQuery library will progressively be phased out in 2020 and will essentially remain for legacy projects.

(2) We currently standardise on rollup for the bundling of Javacsript modules; essentially because this is the tool used by the Bootstrap project in their build toolchain. However, esbuild appears to be an excellent contender, written in Go, and self-described as an extremely fast Javascript/Typescript bundler and minifier. This should be futher investigated.

(3) The tools enumerated in this section are used in the Bootstrap build workflow but are useless with the make-bootstrap make(1)-based workflow. They will most probably be removed from this stack in a near future.

(4) The Bootstrap project now makes use of Hugo instead of Jekyll. We favour neither and have yet to find a generator that matches our requirements, or build it form scratch.

Clone this wiki locally