UNPKG

unbag

Version:

一个专门用来开发npm工具的包

48 lines (47 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TransformActionTaskEsbuild = void 0; var _esbuild = require("esbuild"); var _fs = require("./../../../../utils/fs.cjs"); var _index = require("../index.cjs"); const TransformActionTaskEsbuild = options => { const { esbuild: esbuildOptions, extMapping } = options; return (0, _index.defineTransformActionTask)(async params => { const { inputDir, filePaths } = params; const matchedExtnames = Object.keys(extMapping); const filePathsFiltered = filePaths.filter(filePath => { if (matchedExtnames.includes(filePath.extname)) { return true; } return false; }); const outputFiles = await Promise.all(filePathsFiltered.map(async filePath => { const absoluteFilePath = filePath.toAbsolutePath({ rel: inputDir }); const fs = (0, _fs.useFs)(); const content = await fs.readFile(absoluteFilePath.content, "utf-8"); const jsFile = await (0, _esbuild.transform)(content, { ...esbuildOptions }); const targetExtName = extMapping[filePath.extname]; return { from: filePath, to: filePath.replaceExtname(targetExtName), type: _index.TransformActionTaskOutFileType.Transformed, content: jsFile.code, sourcemap: jsFile.map }; })); return outputFiles; }); }; exports.TransformActionTaskEsbuild = TransformActionTaskEsbuild;