修正type脚本错误的问题

pull/93/MERGE
ChenX 6 years ago
parent 0c4825bb11
commit 545a4c1867

@ -12,7 +12,7 @@
"test": "jest", "test": "jest",
"testu": "jest -u", "testu": "jest -u",
"ser": "node ./utils/server.js", "ser": "node ./utils/server.js",
"type": "node ./utils/copy_type.js" "type": "ts-node ./utils/copy_type.ts"
}, },
"private": true, "private": true,
"author": "", "author": "",

@ -1,104 +0,0 @@
//拯救type错误的问题
let http = require('https');
let fs = require('fs');
let path = require('path');
function downLoadFile(url, path)
{
if (fs.existsSync(path)) {
fs.unlinkSync(path);
}
let file = fs.createWriteStream(path);
let request = http.get(url, function (response)
{
response.pipe(file);
});
}
function copyFileSync(source, target)
{
let targetFile = target;
//if target is a directory a new file with the same name will be created
if (fs.existsSync(target)) {
if (fs.lstatSync(target).isDirectory()) {
targetFile = path.join(target, path.basename(source));
}
}
fs.writeFileSync(targetFile, fs.readFileSync(source));
console.log('targetFile: ', targetFile);
}
function copyFolderRecursiveSync(source, target)
{
let files = [];
//check if folder needs to be created or integrated
let targetFolder = path.join(target, path.basename(source));
if (!fs.existsSync(targetFolder)) {
fs.mkdirSync(targetFolder);
}
//copy
if (fs.lstatSync(source).isDirectory()) {
files = fs.readdirSync(source);
files.forEach(function (file)
{
let curSource = path.join(source, file);
if (fs.lstatSync(curSource).isDirectory()) {
copyFolderRecursiveSync(curSource, targetFolder);
} else {
copyFileSync(curSource, targetFolder);
}
});
}
}
// let filePath = "./@types/";
// let modules_path = "./node_modules/";
// copyFolderRecursiveSync(filePath, modules_path);
function downloadTypes(downFiles)
{
filePath = path.resolve("./node_modules/@types/" + downFiles.name) + "\\";
console.log('filePath: ', filePath);
for (let file of downFiles.files) {
console.log(downFiles.urlPath + file);
try {
downLoadFile(downFiles.urlPath + file, filePath + file);
} catch (error) {
console.log('error: ', error);
}
}
}
downloadTypes(
{
name: "three",
urlPath: "https://gitee.com/BearCAD/DefinitelyType2/raw/master/three/",
files: [
// "index.d.ts",
"three-core.d.ts",
// "three-outlinepass.d.ts",
// "three-smaapass.d.ts"
]
}
);
downloadTypes(
{
name: "jquery",
urlPath: "https://gitee.com/BearCAD/DefinitelyType2/raw/master/jquery/",
files: [
"index.d.ts"
]
}
);

@ -0,0 +1,112 @@
import * as path from 'path';
import * as http from 'https';
import * as fs from "fs";
//修正d.ts中类型定义出现错误的问题,临时修复,因为d.ts并不能完全快速的合并我们的类型修复PR.
/**
*
*
* @param {string} url
* @param {string} filePath
*/
function downLoadFile(url: string, filePath: string)
{
if (fs.existsSync(filePath))
fs.unlinkSync(filePath);
else
fs.mkdirSync(path.dirname(filePath));
let file = fs.createWriteStream(filePath);
http.get(url, function (response)
{
response.pipe(file);
});
}
/**
* .
*
* @param {*} source
* @param {*} targetFile
*/
function copyFileSync(source: string, targetFile: string)
{
//if target is a directory a new file with the same name will be created
if (fs.existsSync(targetFile))
{
if (fs.lstatSync(targetFile).isDirectory())
{
targetFile = path.join(targetFile, path.basename(source));
}
}
fs.writeFileSync(targetFile, fs.readFileSync(source));
console.log('targetFile: ', targetFile);
}
function copyFolderRecursiveSync(source, target)
{
let files = [];
//check if folder needs to be created or integrated
let targetFolder = path.join(target, path.basename(source));
if (!fs.existsSync(targetFolder))
{
fs.mkdirSync(targetFolder);
}
//copy
if (fs.lstatSync(source).isDirectory())
{
files = fs.readdirSync(source);
files.forEach(function (file)
{
let curSource = path.join(source, file);
if (fs.lstatSync(curSource).isDirectory())
{
copyFolderRecursiveSync(curSource, targetFolder);
} else
{
copyFileSync(curSource, targetFolder);
}
});
}
}
// copyFolderRecursiveSync("./@types/", "./node_modules/");
function downloadTypes(downFiles)
{
let filePath = path.resolve("./node_modules/@types/" + downFiles.name) + "\\";
console.log('filePath: ', filePath);
for (let file of downFiles.files)
{
console.log(downFiles.urlPath + file);
try
{
downLoadFile(downFiles.urlPath + file, filePath + file);
}
catch (error)
{
console.log('error: ', error);
}
}
}
downloadTypes({
name: "three",
urlPath: "https://gitee.com/BearCAD/DefinitelyType2/raw/master/three/",
files: [
// "index.d.ts",
"three-core.d.ts",
// "three-outlinepass.d.ts",
// "three-smaapass.d.ts"
]
});
downloadTypes({
name: "jquery",
urlPath: "https://gitee.com/BearCAD/DefinitelyType2/raw/master/jquery/",
files: [
"index.d.ts"
]
});
Loading…
Cancel
Save