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))
};

View File

@ -1,65 +0,0 @@
{
"dependencies": {
"@antv/g2plot": "^2.3.39",
"@better-scroll/core": "^2.4.2",
"@vueuse/core": "^6.7.4",
"axios": "^0.24.0",
"chroma-js": "^2.1.2",
"clipboard": "^2.0.8",
"dayjs": "^1.10.7",
"form-data": "^4.0.0",
"naive-ui": "^2.20.1",
"pinia": "^2.0.0",
"qs": "^6.10.1",
"vue": "^3.2.20",
"vue-router": "^4.0.11"
},
"devDependencies": {
"@commitlint/cli": "^14.1.0",
"@commitlint/config-conventional": "^14.1.0",
"@iconify/json": "^1.1.417",
"@iconify/vue": "^3.0.0",
"@types/chroma-js": "^2.1.3",
"@types/qs": "^6.9.7",
"@typescript-eslint/eslint-plugin": "^5.3.0",
"@typescript-eslint/parser": "^5.3.0",
"@vicons/antd": "^0.11.0",
"@vicons/carbon": "^0.11.0",
"@vicons/fa": "^0.11.0",
"@vicons/fluent": "^0.11.0",
"@vicons/ionicons4": "^0.11.0",
"@vicons/ionicons5": "^0.11.0",
"@vicons/material": "^0.11.0",
"@vicons/tabler": "^0.11.0",
"@vitejs/plugin-vue": "^1.9.4",
"@vue/compiler-sfc": "^3.2.21",
"@vue/eslint-config-prettier": "^6.0.0",
"@vue/eslint-config-typescript": "^9.0.0",
"commitizen": "^4.2.4",
"cz-conventional-changelog": "^3.3.0",
"cz-customizable": "^6.3.0",
"dotenv": "^10.0.0",
"eslint": "^8.1.0",
"eslint-config-airbnb-base": "^14.2.1",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.25.2",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-vue": "^8.0.3",
"husky": "^7.0.4",
"lint-staged": "^11.2.6",
"patch-package": "^6.4.7",
"postinstall-postinstall": "^2.1.0",
"prettier": "^2.4.1",
"rollup-plugin-visualizer": "^5.5.2",
"sass": "^1.43.4",
"typescript": "^4.4.4",
"unplugin-icons": "^0.12.17",
"unplugin-vue-components": "^0.17.0",
"vite": "2.5.10",
"vite-plugin-html": "^2.1.1",
"vite-plugin-windicss": "^1.4.12",
"vue-tsc": "^0.28.10",
"vueuc": "^0.4.15",
"windicss": "^3.2.0"
}
}

View File

@ -11,8 +11,8 @@
<script setup lang="ts">
import { NDescriptions, NDescriptionsItem } from 'naive-ui';
import { packageVersion } from '@/utils';
import { packageJson } from '@/utils';
const dependencies = packageVersion.devDependencies;
const dependencies = packageJson.devDependencies;
</script>
<style scoped></style>

View File

@ -11,8 +11,8 @@
<script setup lang="ts">
import { NDescriptions, NDescriptionsItem } from 'naive-ui';
import { packageVersion } from '@/utils';
import { packageJson } from '@/utils';
const { dependencies } = packageVersion;
const { dependencies } = packageJson;
</script>
<style scoped></style>

View File

@ -3,7 +3,7 @@
<h3 class="pb-18px text-16px font-semibold">项目信息</h3>
<n-descriptions label-placement="left" bordered size="small" :column="2">
<n-descriptions-item label="版本">
<n-tag type="primary">1.0.0</n-tag>
<n-tag type="primary">{{ version }}</n-tag>
</n-descriptions-item>
<n-descriptions-item label="最后编译时间">
<n-tag type="primary">{{ lastestBuildTime }}</n-tag>
@ -20,7 +20,9 @@
<script setup lang="ts">
import { NDescriptions, NDescriptionsItem, NTag } from 'naive-ui';
import { packageJson } from '@/utils';
const { version } = packageJson;
const lastestBuildTime = PROJECT_BUILD_TIME;
</script>
<style scoped></style>