逐步完成前后端服务器
This commit is contained in:
115
frontend/node_modules/zrender/build/transformImport.js
generated
vendored
Normal file
115
frontend/node_modules/zrender/build/transformImport.js
generated
vendored
Normal file
@ -0,0 +1,115 @@
|
||||
// adding js extension in the import statement.
|
||||
|
||||
// Reference:
|
||||
// https://regexr.com/47jlq
|
||||
// https://gist.github.com/manekinekko/7e58a17bc62a9be47172
|
||||
const regexp = /((?:(?:import)|(?:export))\s+?(?:(?:(?:[\w*\s{},\/]*)\s+from\s+?)|))(?:(?:"(.*?)")|(?:'(.*?)'))([\s]*?(?:;|$|))/g;
|
||||
|
||||
module.exports.transformImport = function (code, processModuleName) {
|
||||
return code.replace(regexp, (str, prefix, moduleNameA, moduleNameB, postfix) => {
|
||||
let moduleName = (moduleNameA === undefined ? moduleNameB : moduleNameA).trim();
|
||||
const quote = moduleNameA === undefined ? "'" : '"';
|
||||
return prefix + quote + processModuleName(moduleName) + quote + postfix;
|
||||
// Not support other extensions.
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
const testCases = `import videos from './videos/index.js'
|
||||
|
||||
export default (socket, context) => {
|
||||
// dynamically importing all the socket.io handler (it's dynamic import that happen at run time)
|
||||
import {
|
||||
something
|
||||
} from "./test/okbb"
|
||||
|
||||
const f = 2;
|
||||
|
||||
import test from 'obb'
|
||||
|
||||
|
||||
import {
|
||||
Component
|
||||
} from '@angular2/core';
|
||||
|
||||
import defaultMember from "module-0";
|
||||
|
||||
import * as name from "module-1 ";
|
||||
|
||||
import { member } from " module-2";
|
||||
|
||||
import { member as alias } from "module-3";
|
||||
|
||||
import { member1 , member2 } from "module-4";
|
||||
|
||||
import { member1 , member2 as alias2 , member3 as alias3 } from "module-5";
|
||||
|
||||
import defaultMember, { member, member } from "module-6";
|
||||
|
||||
import defaultMember, * as name from "module-7";
|
||||
|
||||
import "module-8";
|
||||
|
||||
import "module-9" // comment no problem
|
||||
|
||||
import {
|
||||
AAAA,
|
||||
// BBB
|
||||
} from 'module-10';
|
||||
|
||||
import "module-b' // doesn't match -> the opening and closing quation mark are different
|
||||
|
||||
importing hya from 'ttt'
|
||||
|
||||
import fbsfrom ''
|
||||
|
||||
|
||||
// Export expressions.
|
||||
export { aaa };
|
||||
|
||||
export * from "module-11";
|
||||
|
||||
export { aaa } from "module-12";
|
||||
|
||||
// Should not be parsed
|
||||
export default aaa;
|
||||
|
||||
export function bbb () {
|
||||
};
|
||||
`
|
||||
|
||||
module.exports.runTest = function () {
|
||||
const expected = [
|
||||
'./videos/index.js',
|
||||
'./test/okbb',
|
||||
'obb',
|
||||
'@angular2/core',
|
||||
'module-0',
|
||||
'module-1',
|
||||
'module-2',
|
||||
'module-3',
|
||||
'module-4',
|
||||
'module-5',
|
||||
'module-6',
|
||||
'module-7',
|
||||
'module-8',
|
||||
'module-9',
|
||||
'module-10',
|
||||
'module-11',
|
||||
'module-12'
|
||||
]
|
||||
let cursor = 0;
|
||||
module.exports.transformImport(testCases, (moduleName) => {
|
||||
if (expected[cursor] !== moduleName) {
|
||||
throw new Error(`Expected ${expected[cursor]}. Actual ${moduleName}`);
|
||||
}
|
||||
cursor++;
|
||||
return moduleName;
|
||||
})
|
||||
if (cursor !== expected.length) {
|
||||
throw new Error('Test failed');
|
||||
}
|
||||
console.log('All test passed!')
|
||||
}
|
||||
|
||||
// module.exports.runTest();
|
Reference in New Issue
Block a user