86 lines
2.3 KiB
JavaScript
86 lines
2.3 KiB
JavaScript
const babel = require("babel-core");
|
|
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 router from "@angular/router";',
|
|
after:
|
|
'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 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 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 "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: '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 * from "react";',
|
|
after: 'export * from "https://unpkg.com/react@15.6.1?module";'
|
|
},
|
|
{
|
|
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");'
|
|
}
|
|
];
|
|
|
|
const dependencies = {
|
|
react: "15.6.1",
|
|
"@angular/router": "4.3.5",
|
|
"lodash.map": "4.6.0",
|
|
pn: "1.0.0"
|
|
};
|
|
|
|
describe("Rewriting imports/exports", () => {
|
|
testCases.forEach(testCase => {
|
|
it(`successfully rewrites '${testCase.before}'`, () => {
|
|
const result = babel.transform(testCase.before, {
|
|
plugins: [unpkgRewrite(dependencies)]
|
|
});
|
|
|
|
expect(result.code).toEqual(testCase.after);
|
|
});
|
|
});
|
|
});
|