joshwooding / modular

A modular front end development framework

Home Page:https://jpmorganchase.github.io/modular/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

  Modular

Scaled Web Engineering. Where Libraries, Views & apps coexist together and tooling is a first-class citizen.


PRs Welcome NPM version Static Tests Coverage

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:

  • --verbose enables verbose yarn and modular logging.
  • --prefer-offline will prefer locally cached node_modules versions over those from your remote registry.
  • --repo <value> will toggle whether a new git repo 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.

About

A modular front end development framework

https://jpmorganchase.github.io/modular/

License:Apache License 2.0


Languages

Language:TypeScript 91.3%Language:JavaScript 5.9%Language:HTML 1.2%Language:AppleScript 0.9%Language:CSS 0.6%Language:Shell 0.0%