mirror of https://gitee.com/cf-fz/WebCAD.git
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.
104 lines
3.3 KiB
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");
|
|
}
|
|
);
|