idraw/scripts/util/project.ts
2023-10-15 11:33:48 +08:00

44 lines
1.1 KiB
TypeScript

import fs from 'fs';
import path from 'path';
import { globSync } from 'glob';
import { projectRootPath } from './file';
export function joinPackagePath(...args: string[]) {
const pathList = Array.from(args);
const baseDir = path.join(joinProjectPath(), 'packages');
return path.join(baseDir, ...pathList);
}
export function joinProjectPath(...args: string[]) {
return projectRootPath(...args);
}
export function getTsConfig() {
const configPath = joinProjectPath('tsconfig.web.json');
const configStr = fs.readFileSync(configPath, { encoding: 'utf8' });
const config = JSON.parse(configStr);
return config;
}
export function getRootPackageJSON() {
const configPath = joinProjectPath('package.json');
const configStr = fs.readFileSync(configPath, { encoding: 'utf8' });
const config = JSON.parse(configStr);
return config;
}
export function getAllSubPackageDirs() {
const pkgDirs = globSync('*', {
cwd: joinProjectPath('packages'),
absolute: false
});
return pkgDirs;
}
module.exports = {
joinProjectPath,
joinPackagePath,
getTsConfig,
getRootPackageJSON,
getAllSubPackageDirs
};