• Stars
    star
    223
  • Rank 175,515 (Top 4 %)
  • Language
    JavaScript
  • Created almost 5 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A demo app showcasing the use of real JavaScript modules in production—complete with cross-browser fallbacks for legacy browsers.

Rollup Native Modules Boilerplate

A demo app showcasing the use of real JavaScript modules in production—complete with cross-browser fallbacks for legacy browsers.

The techniques used in this demo are described in the article Using Native JavaScript Modules in Production Today.

🚀  View the demo on Glitch  👉

Features

To show that this technique can work for most types of applications, this demo is a React app and includes advanced features like:

  • Babel transforms (including JSX)
  • CommonJS dependencies (e.g. react, react-dom)
  • CSS dependencies
  • Asset hashing
  • Code splitting
  • Dynamic import (w/ polyfill fallback)
  • module/nomodule fallback

To see how all these features are configured, view the Rollup config file (rollup.config.js). To see the generated output, view the public directory after building the app (see below).

Building and running the app locally

To run the app locally, clone this repo and npm install all dependencies, then run the following command:

npm start

This will start a local server at http://localhost:3000, where you can view the app.

If you want to run the app and have Rollup monitor the code for changes (and rebundle), you can run:

npm run watch

To build the app without starting the development server, run:

npm run build

development vs production mode

By default the app is started in development mode, which means the bundle output is unminified, and a nomodule bundle is not generated. You can change this by prefixing any of the above commands with NODE_ENV=production, for example:

NODE_ENV=production npm start

More Repositories

1

flexbugs

A community-curated list of flexbox issues and cross-browser workarounds for them.
13,650
star
2

solved-by-flexbox

A showcase of problems once hard or impossible to solve with CSS alone, now made trivially easy with Flexbox.
CSS
13,017
star
3

html-inspector

HTML Inspector is a code quality tool to help you and your team write better markup. It's written in JavaScript and runs in the browser, so testing your HTML has never been easier.
JavaScript
2,321
star
4

analyticsjs-boilerplate

Examples and best practices for using analytics.js
JavaScript
1,128
star
5

responsive-components

A modern approach to styling elements based on the size of their container
JavaScript
585
star
6

webpack-esnext-boilerplate

JavaScript
514
star
7

polyfill

A library to make creating CSS polyfills much easier.
JavaScript
296
star
8

blog

The source code for https://philipwalton.com
JavaScript
183
star
9

private-parts

A simple and intuitive way to shim private methods and properties in JavaScript.
JavaScript
107
star
10

mozart

A full-featured, classical inheritance library for Node.js and the browser.
JavaScript
84
star
11

easy-sauce

Easily run JavaScript unit tests on the Sauce Labs cloud.
JavaScript
74
star
12

talks

HTML
46
star
13

dom-utils

A small, modular DOM utility library
JavaScript
38
star
14

import-maps-caching-demos

Demos showing how to use Import Maps to prevent cascading cache invalidations
JavaScript
21
star
15

selectable

Easily get and set the text selection with an HTML element.
JavaScript
16
star
16

router

A simple router that binds URLs paths and patterns to functions.
JavaScript
8
star
17

rollup-built-in-modules

A demo of using rollup with built-in modules
JavaScript
8
star
18

shimr

A proof-of-concept for building CSS polyfills
JavaScript
7
star
19

google-analytics-browser-stats

JavaScript
6
star
20

dotfiles

OS X dotfiles, config, bash, git, etc.
Vim Script
6
star
21

ingen

JavaScript
6
star
22

dev

HTML
5
star
23

deep-watch

Exactly like fs.watch, but with sub-directory support.
JavaScript
5
star
24

slide-deck

HTML
4
star
25

handbrake

JavaScript
4
star
26

deeplinker

JavaScript
4
star
27

navigation-event-proposal

3
star
28

usage-trends

JavaScript
3
star
29

solarized-dark-minimalist-syntax

CSS
3
star
30

rollup-3245-repro

JavaScript
2
star
31

yore

Async and error handling sugar on top of the HTML5 History api.
JavaScript
2
star
32

github-stars

JavaScript
1
star
33

photo-validator

JavaScript
1
star
34

philipwalton.github.io

GitHub pages root
HTML
1
star