HomePhabricator

Use EcmaScript modules instead of common.js modules

Authored by joakin <joaquin@chimeces.com> on Jul 28 2017, 5:32 PM.

Description

Use EcmaScript modules instead of common.js modules

Why: Because they are the approved standard by TC39 and Ecma for
JavaScript modules.

Changes:

  • Wrap mw-node-qunit in run.js to register babel to transpile modules for node v6
  • Change all sources in src/ to use ES modules
    • Change constants.js to be able to run without jQuery.bracketedDevicePixelRatio given ES modules are hoisted to the top by spec so we can't patch globals before importing it
  • Change all tests in tests/node-qunit/ to use ES modules
  • Drop usage of mock-require given ES modules are easy to stub with sinon

Additional changes:

  • Rename tests/node-qunit/renderer.js to renderer.test.js to follow the convention of all the other files
  • Make npm run test:node run only .test.js test files so that it doesn't run the stubs.js or run.js file.

Bug: T171951
Change-Id: I17a0b76041d5e2fd18e2d54950d9d7c0db99a941