unbag
Version:
一个专门用来开发npm工具的包
89 lines (88 loc) • 2.31 kB
JavaScript
;
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;