UNPKG

dingtalk-docs-cool-app

Version:

钉钉文档酷应用插件扩展 开发者初始化包

1 lines 1.23 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports.build=build;var _fs=_interopRequireDefault(require("fs")),_path=_interopRequireDefault(require("path")),_core=require("@babel/core");const BABEL_CONFIG={presets:[[require.resolve("@babel/preset-env"),{modules:"commonjs"}],require.resolve("@babel/preset-typescript")]};function ensureDirExists(e){_fs.default.existsSync(e)||_fs.default.mkdirSync(e,{recursive:!0})}function getFiles(e){let t=[];const r=_fs.default.readdirSync(e);for(const i of r){const r=_path.default.join(e,i);_fs.default.statSync(r).isDirectory()?t=t.concat(getFiles(r)):(i.endsWith(".ts")||i.endsWith(".js"))&&t.push(r)}return t}function compileFile(e,t,r){const i=_path.default.relative(t,e),s=_path.default.join(r,i.replace(/\.(ts|js)$/,".js"));ensureDirExists(_path.default.dirname(s));const n=_fs.default.readFileSync(e,"utf-8"),u=(0,_core.transformSync)(n,{...BABEL_CONFIG,filename:e});if(!u||!u.code)throw new Error(`Failed to compile ${e}`);_fs.default.writeFileSync(s,u.code,"utf-8")}function build(e,t){ensureDirExists(t);const r=getFiles(e);0!==r.length&&r.forEach((r=>compileFile(r,e,t)))}