UNPKG

dingtalk-docs-cool-app

Version:

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

1 lines 1.99 kB
import _extends from"@babel/runtime/helpers/extends";function _createForOfIteratorHelperLoose(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=_unsupportedIterableToArray(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,r){if(e){if("string"==typeof e)return _arrayLikeToArray(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}import fs from"fs";import path from"path";import{transformSync}from"@babel/core";var BABEL_CONFIG={presets:[[require.resolve("@babel/preset-env"),{modules:"commonjs"}],require.resolve("@babel/preset-typescript")]};function ensureDirExists(e){fs.existsSync(e)||fs.mkdirSync(e,{recursive:!0})}function getFiles(e){for(var r,t=[],n=_createForOfIteratorHelperLoose(fs.readdirSync(e));!(r=n()).done;){var o=r.value,a=path.join(e,o);fs.statSync(a).isDirectory()?t=t.concat(getFiles(a)):(o.endsWith(".ts")||o.endsWith(".js"))&&t.push(a)}return t}function compileFile(e,r,t){var n=path.relative(r,e),o=path.join(t,n.replace(/\.(ts|js)$/,".js"));ensureDirExists(path.dirname(o));var a=fs.readFileSync(e,"utf-8"),i=transformSync(a,_extends({},BABEL_CONFIG,{filename:e}));if(!i||!i.code)throw new Error("Failed to compile "+e);fs.writeFileSync(o,i.code,"utf-8")}export function build(e,r){ensureDirExists(r);var t=getFiles(e);0!==t.length&&t.forEach((function(t){return compileFile(t,e,r)}))}