modular
modular copied to clipboard
A modular front end development framework
Modular
Scaled Web Engineering. Where Libraries, Views & apps coexist together and tooling is a first-class citizen.
modular is a collection of tools and guidance to enable UI development at
scale. It is derived from work at JP Morgan to enable development in a single
repository by many teams.
It provides a modular CLI to scaffold and develop a new application from
scratch, as well as commands to add and manage further modules.
Philosophy
modular believes the burden to learn a "Framework" with proprietary APIs in a
rapidly evolving landscape is an inhibitor to scaled web engineering.
There is already a very strong set of Language Constructs, Frameworks and
Tooling that the front end community is rallying around like TypeScript,
ES6 Modules, React, Parcel, Webpack, GitHub Actions, Jest,
Workspaces etc.
Scaled Engineering requires a few more Frameworks, Libraries and Tools that are not yet first class citizens in the world of Front End Engineering like Universal Data Fetching, Feature Flags, Analytics Capture, Security, Deployment etc.
modular attempts to bring the best Language Constructs, Libraries, Frameworks
and Tooling together to establish a set of patterns and definitions to enable
Monorepo based engineering.
Getting Started
yarn create modular-react-app my-new-modular-project [--verbose] [--prefer-offline] [--repo]
Bootstraps a new project, configured to use Yarn workspaces.
This also creates a workspace named 'app' which is a new modular app written in TypeScript.
It supports three flags:
--verboseenables verboseyarnandmodularlogging.--prefer-offlinewill prefer locally cachednode_modulesversions over those from your remote registry.--repo <value>will toggle whether a newgitrepo is created and the initial files committed.
Commands
More documentation about modular commands is here.
Configuration
Modular is based around the idea of minimal configuration - however documentation for the options available is here.