42 lines
1.7 KiB
JavaScript
Executable File
42 lines
1.7 KiB
JavaScript
Executable File
const readFileSync = require("fs")["readFileSync"],
|
||
join = require("path")["join"],
|
||
spawnSync = require("child_process")["spawnSync"],
|
||
PATH = { packageJSON: join(__dirname, "../package.json") };
|
||
function checkCreatorTypesVersion(e) {
|
||
var o = "win32" === process.platform ? "npm.cmd" : "npm";
|
||
let n = spawnSync(o, [
|
||
"view",
|
||
"@cocos/creator-types",
|
||
"versions",
|
||
]).stdout.toString();
|
||
try {
|
||
n = JSON.parse(listString);
|
||
} catch (e) {}
|
||
return !!n.includes(e);
|
||
}
|
||
try {
|
||
const e = readFileSync(PATH.packageJSON, "utf8"),
|
||
f = JSON.parse(e),
|
||
g = f.devDependencies["@cocos/creator-types"].replace(/^[^\d]+/, "");
|
||
checkCreatorTypesVersion(g) ||
|
||
(console.log("[33mWarning:[0m"),
|
||
console.log(" @en"),
|
||
console.log(" Version check of @cocos/creator-types failed."),
|
||
console.log(
|
||
` The definition of ${g} has not been released yet. Please export the definition to the ./node_modules directory by selecting "Developer -> Export Interface Definition" in the menu of the Creator editor.`
|
||
),
|
||
console.log(
|
||
" The definition of the corresponding version will be released on npm after the editor is officially released."
|
||
),
|
||
console.log(" @zh"),
|
||
console.log(" @cocos/creator-types 版本检查失败。"),
|
||
console.log(
|
||
` ${g} 定义还未发布,请先通过 Creator 编辑器菜单 "开发者 -> 导出接口定义",导出定义到 ./node_modules 目录。`
|
||
),
|
||
console.log(
|
||
" 对应版本的定义会在编辑器正式发布后同步发布到 npm 上。"
|
||
));
|
||
} catch (e) {
|
||
console.error(e);
|
||
}
|