Upgrade to Babel 7

Also, update to webpack 4 and add support for dynamic import() and
import.meta in ?module mode.

Fixes #108
Fixes #151
This commit is contained in:
Michael Jackson
2018-12-05 22:54:42 -05:00
parent fde375782c
commit 4fd697aec1
8 changed files with 4545 additions and 1454 deletions

View File

@ -3,57 +3,65 @@ const unpkgRewrite = require("../unpkgRewrite");
const testCases = [
{
before: "import React from 'react';",
after: "import React from 'https://unpkg.com/react@15.6.1?module';"
before: 'import React from "react";',
after: 'import React from "https://unpkg.com/react@15.6.1?module";'
},
{
before: "import router from '@angular/router';",
before: 'import router from "@angular/router";',
after:
"import router from 'https://unpkg.com/@angular/router@4.3.5?module';"
'import router from "https://unpkg.com/@angular/router@4.3.5?module";'
},
{
before: "import map from 'lodash.map';",
after: "import map from 'https://unpkg.com/lodash.map@4.6.0?module';"
before: 'import map from "lodash.map";',
after: 'import map from "https://unpkg.com/lodash.map@4.6.0?module";'
},
{
before: "import fs from 'pn/fs';",
after: "import fs from 'https://unpkg.com/pn@1.0.0/fs?module';"
before: 'import fs from "pn/fs";',
after: 'import fs from "https://unpkg.com/pn@1.0.0/fs?module";'
},
{
before: "import cupcakes from './cupcakes';",
after: "import cupcakes from './cupcakes?module';"
before: 'import cupcakes from "./cupcakes";',
after: 'import cupcakes from "./cupcakes?module";'
},
{
before: "import shoelaces from '/shoelaces';",
after: "import shoelaces from '/shoelaces?module';"
before: 'import shoelaces from "/shoelaces";',
after: 'import shoelaces from "/shoelaces?module";'
},
{
before: "import something from '//something.com/whatevs';",
after: "import something from '//something.com/whatevs';"
before: 'import something from "//something.com/whatevs";',
after: 'import something from "//something.com/whatevs";'
},
{
before: "import something from 'http://something.com/whatevs';",
after: "import something from 'http://something.com/whatevs';"
before: 'import something from "http://something.com/whatevs";',
after: 'import something from "http://something.com/whatevs";'
},
{
before: "let ReactDOM = require('react-dom');",
after: "let ReactDOM = require('react-dom');"
before: 'let ReactDOM = require("react-dom");',
after: 'let ReactDOM = require("react-dom");'
},
{
before: "export React from 'react';",
after: "export React from 'https://unpkg.com/react@15.6.1?module';"
before: 'export React from "react";',
after: 'export React from "https://unpkg.com/react@15.6.1?module";'
},
{
before: "export { Component } from 'react';",
after: "export { Component } from 'https://unpkg.com/react@15.6.1?module';"
before: 'export { Component } from "react";',
after: 'export { Component } from "https://unpkg.com/react@15.6.1?module";'
},
{
before: "export * from 'react';",
after: "export * from 'https://unpkg.com/react@15.6.1?module';"
before: 'export * from "react";',
after: 'export * from "https://unpkg.com/react@15.6.1?module";'
},
{
before: "export var message = 'hello';",
after: "export var message = 'hello';"
before: 'export var message = "hello";',
after: 'export var message = "hello";'
},
{
before: 'import("./something.js");',
after: 'import("./something.js?module");'
},
{
before: 'import("react");',
after: 'import("https://unpkg.com/react@15.6.1?module");'
}
];
@ -66,7 +74,7 @@ const dependencies = {
describe("Rewriting imports/exports", () => {
testCases.forEach(testCase => {
it(`successfully rewrites "${testCase.before}"`, () => {
it(`successfully rewrites '${testCase.before}'`, () => {
const result = babel.transform(testCase.before, {
plugins: [unpkgRewrite(dependencies)]
});