|
@@ -102,68 +102,27 @@ export = ts;
|
|
|
|
|
|
function importLibs() {
|
|
|
function getFileName(name) {
|
|
|
- return (name === '' ? 'lib.d.ts' : `lib.${name}.d.ts`);
|
|
|
+ return name
|
|
|
}
|
|
|
function getVariableName(name) {
|
|
|
- return (name === '' ? 'lib_dts' : `lib_${name.replace(/\./g, '_')}_dts`);
|
|
|
+ return name.replace(/\./g, '_') + "_dts"
|
|
|
}
|
|
|
function readLibFile(name) {
|
|
|
- var srcPath = path.join(TYPESCRIPT_LIB_SOURCE, getFileName(name));
|
|
|
+ var srcPath = path.join(TYPESCRIPT_LIB_SOURCE, name);
|
|
|
return fs.readFileSync(srcPath).toString();
|
|
|
}
|
|
|
|
|
|
- var queue = [];
|
|
|
- var in_queue = {};
|
|
|
-
|
|
|
- var enqueue = function (name) {
|
|
|
- if (in_queue[name]) {
|
|
|
- return;
|
|
|
- }
|
|
|
- in_queue[name] = true;
|
|
|
- queue.push(name);
|
|
|
- };
|
|
|
-
|
|
|
- enqueue('');
|
|
|
- enqueue('es6');
|
|
|
- enqueue('es2015');
|
|
|
+ var dtsFiles = fs.readdirSync(TYPESCRIPT_LIB_SOURCE).filter(f => f.includes("lib."))
|
|
|
|
|
|
var result = [];
|
|
|
- while (queue.length > 0) {
|
|
|
- var name = queue.shift();
|
|
|
- var contents = readLibFile(name);
|
|
|
- var lines = contents.split(/\r\n|\r|\n/);
|
|
|
-
|
|
|
- var output = '';
|
|
|
- var writeOutput = function (text) {
|
|
|
- if (output.length === 0) {
|
|
|
- output = text;
|
|
|
- } else {
|
|
|
- output += ` + ${text}`;
|
|
|
- }
|
|
|
- };
|
|
|
- var outputLines = [];
|
|
|
- var flushOutputLines = function () {
|
|
|
- writeOutput(`"${escapeText(outputLines.join('\n'))}"`);
|
|
|
- outputLines = [];
|
|
|
- };
|
|
|
- var deps = [];
|
|
|
- for (let i = 0; i < lines.length; i++) {
|
|
|
- let m = lines[i].match(/\/\/\/\s*<reference\s*lib="([^"]+)"/);
|
|
|
- if (m) {
|
|
|
- deps.push(getVariableName(m[1]));
|
|
|
- enqueue(m[1]);
|
|
|
- outputLines.push(lines[i]);
|
|
|
- continue;
|
|
|
- }
|
|
|
- outputLines.push(lines[i]);
|
|
|
- }
|
|
|
- flushOutputLines();
|
|
|
-
|
|
|
+ while (dtsFiles.length > 0) {
|
|
|
+ var name = dtsFiles.shift();
|
|
|
+ var output = readLibFile(name);
|
|
|
result.push({
|
|
|
name: getVariableName(name),
|
|
|
- filepath: getFileName(name),
|
|
|
- deps: deps,
|
|
|
- output: output
|
|
|
+ filepath: name,
|
|
|
+ deps: [],
|
|
|
+ output: '"' + escapeText(output) + '"'
|
|
|
});
|
|
|
}
|
|
|
|