UNPKG

dragonbones-runtime

Version:

the tools to build dragonbones file for diffrent framework

49 lines (39 loc) 1.48 kB
import utils = require('../lib/utils'); import FileUtil = require('../lib/FileUtil'); import * as EgretProject from '../project'; class CreateLib implements egret.Command { async execute() { const option = egret.args; if (FileUtil.exists(option.projectDir)) { console.log(utils.tr(1002)); return 0; } const moduleName = FileUtil.basename(option.projectDir); const project = EgretProject.data; const libraryTemplate = FileUtil.joinPath(egret.root, "tools/templates/library"); FileUtil.copy(libraryTemplate, project.getProjectRoot()); type Package_JSON = { name: string }; type TSCONFIG_JSON = { compilerOptions: { outFile: string; } }; await convert<Package_JSON>(project.getFilePath("package.json"), (data) => { data.name = moduleName; return data }); await convert<TSCONFIG_JSON>(project.getFilePath("tsconfig.json"), (data) => { data.compilerOptions.outFile = `bin/${moduleName}.js`; return data; }); } } async function convert<T>(filePath: string, processor: (from: T) => T) { const data: T = await FileUtil.readJSONAsync(filePath); const result = processor(data); const content = JSON.stringify(result, null, "\t"); FileUtil.save(filePath, content); } export = CreateLib;