refactor(projects): 项目依赖信息直接从package.json获取

This commit is contained in:
Soybean
2021-11-05 23:03:53 +08:00
parent ec907f061c
commit 4487f9fbdc
7 changed files with 158 additions and 194 deletions

View File

@ -1,7 +1,9 @@
import type { VersionInfo } from '@/interface';
import packageJson from '../../../package.json';
import packageJSON from '../../../package.json';
interface Version {
interface Package {
name: string;
version: string;
dependencies: {
[key: string]: string;
};
@ -11,12 +13,14 @@ interface Version {
[key: string]: any;
}
interface PackageVersion {
interface PackageJson {
name: string;
version: string;
dependencies: VersionInfo[];
devDependencies: VersionInfo[];
}
const versionWithType = packageJson as Version;
const packageWithType = packageJSON as Package;
function transformVersionData(tuple: [string, string]): VersionInfo {
const [name, version] = tuple;
@ -26,7 +30,9 @@ function transformVersionData(tuple: [string, string]): VersionInfo {
};
}
export const packageVersion: PackageVersion = {
dependencies: Object.entries(versionWithType.dependencies).map(item => transformVersionData(item)),
devDependencies: Object.entries(versionWithType.devDependencies).map(item => transformVersionData(item))
export const packageJson: PackageJson = {
name: packageWithType.name,
version: packageWithType.version,
dependencies: Object.entries(packageWithType.dependencies).map(item => transformVersionData(item)),
devDependencies: Object.entries(packageWithType.devDependencies).map(item => transformVersionData(item))
};