You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
WebCAD/utils/copy_type.ts

104 lines
3.3 KiB

import { readFile, writeFile } from 'fs';
import * as path from 'path';
import { downLoadFile } from './utils';
//修正d.ts中类型定义出现错误的问题,临时修复,因为d.ts并不能完全快速的合并我们的类型修复PR.
// copyFolderRecursiveSync("./@types/", "./node_modules/");
function downloadTypes(downFiles: { moduleName: string; urlPath: string; files: string[]; })
{
let filePath = path.resolve("./node_modules/" + downFiles.moduleName) + "\\";
for (let file of downFiles.files)
{
try
{
downLoadFile(downFiles.urlPath + file, filePath + file);
console.log("成功", file);
}
catch (error)
{
console.log(file, error);
}
}
}
readFile("node_modules\\dxf-parser\\dist\\ParseHelpers.js", "utf-8", (err, str) =>
{
if (!str)
{
console.error("出错了,读不到文件:node_modules\\dxf-parser\\dist\\ParseHelpers.js");
return;
}
if (str.includes("case 210:")) return;
str = str.replace("case 330:", `
case 210:
entity.extrusionDirectionX = curr.value;
break;
case 220:
entity.extrusionDirectionY = curr.value;
break;
case 230:
entity.extrusionDirectionZ = curr.value;
break;
case 330:
`);
writeFile("node_modules\\dxf-parser\\dist\\ParseHelpers.js", str, err =>
{
if (err)
console.error("dxf parse写入失败");
else
console.log("dxf parse hack 成功");
});
});
readFile("node_modules\\@jscad\\modeling\\src\\maths\\constants.js", "utf-8", (err, str) =>
{
str = str.replaceAll("5", "3");
writeFile("node_modules\\@jscad\\modeling\\src\\maths\\constants.js", str, err =>
{
if (err)
console.error("csg写入失败");
else
console.log("csg hack 成功");
});
});
readFile("node_modules\\rollup-plugin-typescript\\dist\\rollup-plugin-typescript.cjs.js", "utf-8", (err, str) =>
{
if (str.includes("readFile: () => { }")) return;
str = str.replaceAll("var resolveHost = {", "var resolveHost = {\r\nreadFile: () => { },\r\n");
writeFile("node_modules\\rollup-plugin-typescript\\dist\\rollup-plugin-typescript.cjs.js", str, err =>
{
if (err)
console.error("hack rollup-plugin-typescript error");
else
console.log("hack rollup-plugin-typescript ok");
});
});
readFile("node_modules\\rollup-plugin-typescript\\dist\\rollup-plugin-typescript.es.js", "utf-8", (err, str) =>
{
if (str.includes("readFile: () => { }")) return;
str = str.replaceAll("var resolveHost = {", "var resolveHost = {\r\nreadFile: () => { },\r\n");
writeFile("node_modules\\rollup-plugin-typescript\\dist\\rollup-plugin-typescript.es.js", str, err =>
{
if (err)
console.error("hack rollup-plugin-typescript error");
else
console.log("hack rollup-plugin-typescript ok");
});
});
writeFile("node_modules\\@jscad\\modeling\\src\\operations\\modifiers\\retessellate.d.ts",
"import { Geom3 } from '../../geometries/types';\r\n\r\nexport default function retessellate(geometry: Geom3): Geom3;\r\n",
err =>
{
if (err)
console.error("retessellate.d.ts error");
else
console.log("retessellate.d.ts ok");
}
);