One limitation of the module pattern so far is that the entire module must be in one file. CommonJS is not available for browser JavaScript. Two years ago I wrote about a technique—now commonly referred to as the module/nomodule pattern—that allows you to write ES2015+ JavaScript and then use bundlers and transpilers to generate two versions of your codebase, one with modern syntax (loaded via