From 3e0577c3526088fed1bfab1419b8cff2b1d814c1 Mon Sep 17 00:00:00 2001 From: haoziqaq <357229046@qq.com> Date: Tue, 14 May 2024 01:35:43 +0800 Subject: [PATCH] feat: support unplugin-icon-builder --- .gitignore | 3 +- env.d.ts | 2 + package.json | 6 +-- pnpm-lock.yaml | 50 ++++++++++++++---- .../icons}/border-radius.svg | 0 src/assets/icons/css/i-icons.css | 14 ----- src/assets/icons/css/i-icons.less | 14 ----- src/assets/icons/fonts/i-icons-webfont.ttf | Bin 1932 -> 0 bytes src/assets/icons/index.js | 5 -- src/main.ts | 1 + src/pages/layout.vue | 5 +- vi.config.mjs | 9 ---- vite.config.ts | 3 ++ 13 files changed, 54 insertions(+), 58 deletions(-) rename src/{svg-icons => assets/icons}/border-radius.svg (100%) delete mode 100644 src/assets/icons/css/i-icons.css delete mode 100644 src/assets/icons/css/i-icons.less delete mode 100644 src/assets/icons/fonts/i-icons-webfont.ttf delete mode 100644 src/assets/icons/index.js delete mode 100644 vi.config.mjs diff --git a/.gitignore b/.gitignore index f82af93..3bc1801 100644 --- a/.gitignore +++ b/.gitignore @@ -30,4 +30,5 @@ coverage/ components.d.ts auto-imports.d.ts typed-router.d.ts -.eslintrc-auto-import.json \ No newline at end of file +.eslintrc-auto-import.json +virtual.icons.css \ No newline at end of file diff --git a/env.d.ts b/env.d.ts index dcafc76..f45ca28 100644 --- a/env.d.ts +++ b/env.d.ts @@ -10,6 +10,8 @@ interface ImportMeta { readonly env: ImportMetaEnv } +declare module 'virtual-icons' {} + declare module 'vue' { interface ComponentCustomProperties { $dayjs: typeof dayjs diff --git a/package.json b/package.json index 4a87c84..a0966e2 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,9 @@ "vue-router": "^4.3.2" }, "devDependencies": { + "@varlet/unplugin-icon-builder": "^0.2.1", + "@varlet/import-resolver": "^3.2.9", + "@varlet/preset-unocss": "3.1.3", "@commitlint/cli": "^17.6.5", "@commitlint/config-conventional": "^17.6.5", "@iconify-json/mdi": "^1.1.54", @@ -43,9 +46,6 @@ "@typescript-eslint/eslint-plugin": "^5.59.8", "@typescript-eslint/parser": "^5.59.8", "@unocss/preset-rem-to-px": "^0.58.2", - "@varlet/icon-builder": "^0.0.3", - "@varlet/import-resolver": "^3.2.9", - "@varlet/preset-unocss": "3.1.3", "@vitejs/plugin-vue": "^5.0.0", "@vitejs/plugin-vue-jsx": "^3.1.0", "eslint": "^8.41.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 23f50bb..6c9070f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -52,15 +52,15 @@ devDependencies: '@unocss/preset-rem-to-px': specifier: ^0.58.2 version: 0.58.2 - '@varlet/icon-builder': - specifier: ^0.0.3 - version: 0.0.3 '@varlet/import-resolver': specifier: ^3.2.9 version: 3.2.9 '@varlet/preset-unocss': specifier: 3.1.3 version: 3.1.3(unocss@0.58.2) + '@varlet/unplugin-icon-builder': + specifier: ^0.2.1 + version: 0.2.1(vite@5.0.10) '@vitejs/plugin-vue': specifier: ^5.0.0 version: 5.0.0(vite@5.0.10)(vue@3.4.21) @@ -1641,8 +1641,8 @@ packages: - debug dev: false - /@varlet/icon-builder@0.0.3: - resolution: {integrity: sha512-3Y7WN9mPDMQoBPSLBv+lGL+ZwsB7iuVOGIdP087X23jBy5Bgs+AXoeU5rHnXOhZxHBCSxZ0ehktvWEnFvpPlPw==} + /@varlet/icon-builder@0.2.1: + resolution: {integrity: sha512-95RWZJwuJOiUjxgVZ9rlg7IkfS4YK52LmIPA3M0Xwe0PNqgWk5ubaa1E4HvDJsVP6R8n0SnhpHAUOcGsW6jGiA==} engines: {node: '>=16.0.0', pnpm: '>=8.0'} hasBin: true dependencies: @@ -1650,7 +1650,7 @@ packages: commander: 11.1.0 fs-extra: 11.2.0 picocolors: 1.0.0 - slash: 5.1.0 + unconfig: 0.3.13 webfont: 11.2.26(chokidar@3.6.0) dev: true @@ -1697,6 +1697,27 @@ packages: vue: 3.4.21(typescript@5.0.2) dev: false + /@varlet/unplugin-icon-builder@0.2.1(vite@5.0.10): + resolution: {integrity: sha512-uoCV7rfg6MzayXA2ck1i1MDWqQnvZhNSgxzE0shUPhtYQ8bKBiGVOx2PEquApmECEEMCDRCFp6LVTn4k/AbANw==} + peerDependencies: + rollup: ^3 + vite: '>=3' + webpack: ^4 || ^5 + peerDependenciesMeta: + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + dependencies: + '@varlet/icon-builder': 0.2.1 + chokidar: 3.6.0 + fs-extra: 11.2.0 + unplugin: 1.10.1 + vite: 5.0.10(@types/node@20.2.5)(less@4.1.3) + dev: true + /@varlet/use@3.2.9(vue@3.4.21): resolution: {integrity: sha512-3SBYqrFfMMYGG9AsF3BwS5O5S0rupFG/+aRPafjqM6Ti237ADro4YX+eznRt7CQyHyqYZiVjHLupf+tVTG4nRg==} peerDependencies: @@ -2631,6 +2652,10 @@ packages: resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} dev: true + /defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + dev: true + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -4994,11 +5019,6 @@ packages: engines: {node: '>=8'} dev: true - /slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - dev: true - /slice-ansi@3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} engines: {node: '>=8'} @@ -5436,6 +5456,14 @@ packages: mlly: 1.4.2 dev: true + /unconfig@0.3.13: + resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==} + dependencies: + '@antfu/utils': 0.7.7 + defu: 6.1.4 + jiti: 1.21.0 + dev: true + /unimport@3.7.1: resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: diff --git a/src/svg-icons/border-radius.svg b/src/assets/icons/border-radius.svg similarity index 100% rename from src/svg-icons/border-radius.svg rename to src/assets/icons/border-radius.svg diff --git a/src/assets/icons/css/i-icons.css b/src/assets/icons/css/i-icons.css deleted file mode 100644 index c7fb468..0000000 --- a/src/assets/icons/css/i-icons.css +++ /dev/null @@ -1,14 +0,0 @@ -@font-face { - font-family: "i-icons"; - src: url("data:font/truetype;charset=utf-8;base64,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") format("truetype"); - font-weight: normal; - font-style: normal; -} - -.i--set { - font-family: "i-icons"; -} - -.i-border-radius::before { - content: "\ea01"; -} diff --git a/src/assets/icons/css/i-icons.less b/src/assets/icons/css/i-icons.less deleted file mode 100644 index c7fb468..0000000 --- a/src/assets/icons/css/i-icons.less +++ /dev/null @@ -1,14 +0,0 @@ -@font-face { - font-family: "i-icons"; - src: url("data:font/truetype;charset=utf-8;base64,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") format("truetype"); - font-weight: normal; - font-style: normal; -} - -.i--set { - font-family: "i-icons"; -} - -.i-border-radius::before { - content: "\ea01"; -} diff --git a/src/assets/icons/fonts/i-icons-webfont.ttf b/src/assets/icons/fonts/i-icons-webfont.ttf deleted file mode 100644 index 24bd7923b272b021818ee217b38888db52a355ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1932 zcmd5+&u<%55dOwq+wqU2zmlp%##*ImsN%+PoU}y+stARoLP%6CMB?PGy}P#C^{%yE zR|y9cP$f9#fH-i01AjnH91w>{NQes({{V<{Dsd^ja7n+neu2cw6{&AEJKub7=DoKw z^A-Xij~ygY-MIhZ+vc+?-vIJD*{%2QFV^l(u6<8?kM@IR*XsSg_Vgzpu}WEKdE4&0 zH}Cug7`vR`Z9A6z;E&Z$i2tPAXp=~OCchH@NSSSSqpbu1W6$zc^@64)d(vinM0>hx zZS`attK9DrZPT~9&fhZ^{sB@ZV{*NqAMNdyJ_j<_I9~_PF8hc3oTI6*Vor=g%#c0z zBvY)PdGk5)L*El#G-O{sr5e*qk)Tz;3XIrO1?Bhvhp|1J&!LLjNUW{D_W>q6EAla| z{fG0z*dZ3L)3Ug}w&=#rU}d)hU^{ zZYpP4u52(@IkmH-kH!5zkUKNuYM*Sp0rOy}-Cv$jh>!B6K2V;zt|dclX;FRI(4xw3 zYf-gzw5YG_Xi;AqXi>EfwXpuI=1|mL11-$R0V|?JcgG!^_QV}T7j+v8?C3cx12-p2 z@`hZ$JTv!}T)whWk+MuJ*Dk&)%bD73AvZOdCY79-5OUX7ZqRwPxKx^-FV2=_=LkJ2 zEfveN#rYkrNA0Iaj{k-5v|zXXtj{d$w4?JUh%=f`5>05VZtaxDDRyE}<23o#G|r)n zipF_dz(?w)7+EqC@H9>kf2?tm_zR5<;;%GL@eX{aahm)O8t1TyUo_5RPD-7HPBZZP z_ng+ivqEiYwdsWYPT-qMm8xbo9N!78$g$1Fw%LE&szs4&x?#{Y*8@LtJTEYNVerst zMwNCH^=>ULx|**vgD!hyfzo7u`0Ryy?4K6
- Toggle Theme + + Toggle Theme + +
diff --git a/vi.config.mjs b/vi.config.mjs deleted file mode 100644 index ac1b659..0000000 --- a/vi.config.mjs +++ /dev/null @@ -1,9 +0,0 @@ -import { defineConfig } from '@varlet/icon-builder' - -export default defineConfig({ - name: 'i-icons', - namespace: 'i', - fontFamilyClassName: 'i--set', - entry: './src/svg-icons', - output: './src/assets/icons' -}) diff --git a/vite.config.ts b/vite.config.ts index d640689..1fec467 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -3,6 +3,7 @@ import jsx from '@vitejs/plugin-vue-jsx' import autoImport from 'unplugin-auto-import/vite' import components from 'unplugin-vue-components/vite' import vueRouter from 'unplugin-vue-router/vite' +import icon from '@varlet/unplugin-icon-builder/vite' import unoCSS from 'unocss/vite' import { fileURLToPath, URL } from 'node:url' import { VarletImportResolver } from '@varlet/import-resolver' @@ -47,6 +48,8 @@ export default defineConfig({ jsx(), + icon({ dir: 'src/assets/icons' }), + components({ resolvers: [VarletImportResolver()] }),