UNPKG

unbag

Version:

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

89 lines (88 loc) 2.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useTransformTempDir = exports.useTransformTaskTempDir = exports.useTransformFiles = exports.useTransformEntry = exports.defineTransformTask = void 0; var _common = require("./../../utils/common.cjs"); var _uuid = require("uuid"); var _path = require("./../../utils/path.cjs"); var _fs = require("./../../utils/fs.cjs"); const useTransformTempDir = params => { const { finalUserConfig } = params; const { tempDir } = finalUserConfig; const rootPath = (0, _common.useRoot)({ finalUserConfig }); const transformTempDir = rootPath.resolve({ next: tempDir }).resolve({ next: "./transform" }); return transformTempDir; }; exports.useTransformTempDir = useTransformTempDir; const useTransformTaskTempDir = params => { const { finalUserConfig } = params; const transformTempDir = useTransformTempDir({ finalUserConfig }); const transformTaskTempDir = transformTempDir.resolve({ next: `./task_${(0, _uuid.v4)()}` }); return transformTaskTempDir; }; exports.useTransformTaskTempDir = useTransformTaskTempDir; const useTransformEntry = params => { const { finalUserConfig } = params; const { transform } = finalUserConfig; const { entry } = transform; const rootPath = (0, _common.useRoot)({ finalUserConfig }); return rootPath.resolve({ next: entry }); }; exports.useTransformEntry = useTransformEntry; const useTransformFiles = async params => { const { finalUserConfig, inputDir } = params; const fs = (0, _fs.useFs)(); const inputFilePaths = (await fs.listFiles(inputDir.content)).map(e => { return new _path.AbsolutePath({ content: e }); }).map(e => { return e.toRelativePath({ rel: inputDir }); }); const inputFilePathsFiltered = (0, _common.filterNullable)(await Promise.all(inputFilePaths.map(async filePath => { const matched = await finalUserConfig.transform.match({ filePath, inputDir, finalUserConfig }); if (matched) { return filePath; } }))); return [...inputFilePathsFiltered]; }; exports.useTransformFiles = useTransformFiles; const defineTransformTask = task => task; exports.defineTransformTask = defineTransformTask;