From 462959486be1c6d3d2f5340e05ca9209ca1224c7 Mon Sep 17 00:00:00 2001 From: Baymax <62382059+baymaxsjj@users.noreply.github.com> Date: Tue, 28 Nov 2023 11:05:24 +0800 Subject: [PATCH 1/2] Add files via upload --- lib/arco-design-plugin/less.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/arco-design-plugin/less.js b/lib/arco-design-plugin/less.js index 044754b..7ebe2a9 100644 --- a/lib/arco-design-plugin/less.js +++ b/lib/arco-design-plugin/less.js @@ -47,8 +47,9 @@ function modifyCssConfig(pkgName, config, theme, modifyVars, varsInjectScope) { // arco component style const componentName = (0, utils_1.pathMatch)(filename, config_1.componentLessMatchers); if (componentName) { - if ((0, utils_1.getThemeComponentList)(theme).includes(componentName)) { - src += `; @import '${theme}/components/${componentName}/index.less';`; + const name = (0, utils_1.getThemeComponentList)(theme).find(item => item.toLowerCase() === componentName.toLowerCase()); + if (name) { + src += `; @import '${theme}/components/${name}/index.less';`; } } } -- Gitee From 5c12db86e32d1085107b43b4f2e6a0211dcacfb1 Mon Sep 17 00:00:00 2001 From: Baymax <62382059+baymaxsjj@users.noreply.github.com> Date: Tue, 28 Nov 2023 11:14:47 +0800 Subject: [PATCH 2/2] Add files via upload --- types/arco-design-plugin/config.d.ts | 12 +++++++++++ types/arco-design-plugin/icon.d.ts | 3 +++ types/arco-design-plugin/index.d.ts | 14 +++++++++++++ types/arco-design-plugin/less.d.ts | 4 ++++ types/arco-design-plugin/transform.d.ts | 21 +++++++++++++++++++ types/arco-design-plugin/utils.d.ts | 27 +++++++++++++++++++++++++ types/index.d.ts | 3 +++ 7 files changed, 84 insertions(+) create mode 100644 types/arco-design-plugin/config.d.ts create mode 100644 types/arco-design-plugin/icon.d.ts create mode 100644 types/arco-design-plugin/index.d.ts create mode 100644 types/arco-design-plugin/less.d.ts create mode 100644 types/arco-design-plugin/transform.d.ts create mode 100644 types/arco-design-plugin/utils.d.ts create mode 100644 types/index.d.ts diff --git a/types/arco-design-plugin/config.d.ts b/types/arco-design-plugin/config.d.ts new file mode 100644 index 0000000..b2c2fde --- /dev/null +++ b/types/arco-design-plugin/config.d.ts @@ -0,0 +1,12 @@ +declare type Matchers = [string, number?]; +export declare const libraryName = "@arco-design/web-vue"; +export declare const iconCjsListMatchers: Matchers; +export declare const iconComponentMatchers: Matchers; +export declare const lessMatchers: Matchers; +export declare const fullLessMatchers: Matchers; +export declare const globalLessMatchers: Matchers; +export declare const componentLessMatchers: Matchers; +export declare const fullCssMatchers: Matchers; +export declare const globalCssMatchers: Matchers; +export declare const componentCssMatchers: Matchers; +export {}; diff --git a/types/arco-design-plugin/icon.d.ts b/types/arco-design-plugin/icon.d.ts new file mode 100644 index 0000000..c5d79bd --- /dev/null +++ b/types/arco-design-plugin/icon.d.ts @@ -0,0 +1,3 @@ +import type { UserConfig } from 'vite'; +export declare function loadIcon(id: string, iconBox: string, iconBoxLib: any): string; +export declare function modifyIconConfig(config: UserConfig, iconBox: string, iconBoxLib: any): void; diff --git a/types/arco-design-plugin/index.d.ts b/types/arco-design-plugin/index.d.ts new file mode 100644 index 0000000..15a51fb --- /dev/null +++ b/types/arco-design-plugin/index.d.ts @@ -0,0 +1,14 @@ +import type { Plugin } from 'vite'; +declare type Vars = Record; +declare type Style = boolean | 'css'; +interface PluginOption { + theme?: string; + iconBox?: string; + modifyVars?: Vars; + style?: Style; + varsInjectScope?: (string | RegExp)[]; + componentPrefix?: string; + iconPrefix?: string; +} +export default function vitePluginArcoImport(options?: PluginOption): Plugin; +export {}; diff --git a/types/arco-design-plugin/less.d.ts b/types/arco-design-plugin/less.d.ts new file mode 100644 index 0000000..d9d9f72 --- /dev/null +++ b/types/arco-design-plugin/less.d.ts @@ -0,0 +1,4 @@ +import type { UserConfig } from 'vite'; +declare type Vars = Record; +export declare function modifyCssConfig(pkgName: string, config: UserConfig, theme: string, modifyVars: Vars, varsInjectScope: (string | RegExp)[]): void; +export {}; diff --git a/types/arco-design-plugin/transform.d.ts b/types/arco-design-plugin/transform.d.ts new file mode 100644 index 0000000..d07ea4f --- /dev/null +++ b/types/arco-design-plugin/transform.d.ts @@ -0,0 +1,21 @@ +declare type TransformedResult = undefined | { + code: string; + map: any; +}; +declare type Style = boolean | 'css'; +export declare function transformCssFile({ id, theme, }: { + code: string; + id: string; + theme: string; +}): TransformedResult; +export declare function transformJsFiles({ code, id, theme, style, styleOptimization, sourceMaps, componentPrefix, iconPrefix, }: { + code: string; + id: string; + theme?: string; + style: Style; + styleOptimization: boolean; + sourceMaps: boolean; + componentPrefix: string; + iconPrefix: string; +}): TransformedResult; +export {}; diff --git a/types/arco-design-plugin/utils.d.ts b/types/arco-design-plugin/utils.d.ts new file mode 100644 index 0000000..7887f60 --- /dev/null +++ b/types/arco-design-plugin/utils.d.ts @@ -0,0 +1,27 @@ +import { NodePath } from '@babel/traverse'; +declare type Style = boolean | 'css'; +export declare function readFileStrSync(path: string): false | string; +export declare function getThemeComponentList(theme: string): string[]; +export declare const parse2PosixPath: (path: string) => string; +export declare function pathMatch(path: string, conf: [string | RegExp, number?]): false | string; +export declare function parseInclude2RegExp(include?: (string | RegExp)[], context?: string): false | RegExp; +export declare function isPascalCase(name: string): boolean; +export declare function kebabCaseToPascalCase(name: string): string; +export declare function getComponentConfig(libraryName: string, componentName: string): { + dir: string; + styleDir?: string; +}; +export declare function importComponent({ path, componentDir, componentName, }: { + path: NodePath; + componentDir: string; + componentName: string; +}): void; +export declare function importStyle({ componentDirs, styleOptimization, path, style, theme, libraryName, }: { + componentDirs: string[]; + styleOptimization: boolean; + path: NodePath; + style: Style; + theme: string; + libraryName: string; +}): void; +export {}; diff --git a/types/index.d.ts b/types/index.d.ts new file mode 100644 index 0000000..f687a16 --- /dev/null +++ b/types/index.d.ts @@ -0,0 +1,3 @@ +import vitePluginForArco from './arco-design-plugin'; +export default vitePluginForArco; +export { vitePluginForArco }; -- Gitee