From 0b696c238017d30e05b7815555231d155b5ca665 Mon Sep 17 00:00:00 2001 From: ElsaOOo Date: Tue, 30 Nov 2021 21:14:06 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E8=84=9A=E6=89=8B=E6=9E=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E7=94=9F=E6=88=90=E7=9A=84=E7=BB=84=E4=BB=B6=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8B=E7=9A=84index.ts=20status=20=E5=90=8E?= =?UTF-8?q?=E9=9D=A2=E7=9A=84=E6=B3=A8=E9=87=8A=E5=B7=B2=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E6=94=B9=E4=B8=BA100%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/devui-vue/.ls-lint.yml | 1 + .../devui-cli/templates/component.js | 49 ++++++++++--------- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/packages/devui-vue/.ls-lint.yml b/packages/devui-vue/.ls-lint.yml index b367ef20..08f51be1 100644 --- a/packages/devui-vue/.ls-lint.yml +++ b/packages/devui-vue/.ls-lint.yml @@ -7,6 +7,7 @@ ls: .ts: kebab-case .tsx: kebab-case .spec.ts: kebab-case + .spec.tsx: kebab-case .route.ts: kebab-case .type.ts: kebab-case diff --git a/packages/devui-vue/devui-cli/templates/component.js b/packages/devui-vue/devui-cli/templates/component.js index 8e0909c4..20710974 100644 --- a/packages/devui-vue/devui-cli/templates/component.js +++ b/packages/devui-vue/devui-cli/templates/component.js @@ -5,7 +5,9 @@ const { bigCamelCase } = require('../shared/utils') // 创建组件模板 exports.createComponentTemplate = ({ styleName, componentName, typesName }) => `\ import { defineComponent } from 'vue' -import { ${camelCase(componentName)}Props, ${bigCamelCase(componentName)}Props } from './${typesName}' +import { ${camelCase(componentName)}Props, ${bigCamelCase( + componentName +)}Props } from './${typesName}' import './${styleName}.scss' export default defineComponent({ @@ -30,7 +32,9 @@ export const ${camelCase(componentName)}Props = { } \*\/ } as const -export type ${bigCamelCase(componentName)}Props = ExtractPropTypes +export type ${bigCamelCase(componentName)}Props = ExtractPropTypes ` // 创建指令模板 @@ -80,20 +84,24 @@ exports.createIndexTemplate = ({ const importServiceStr = `\nimport ${bigCamelCase(serviceName)} from './src/${serviceName}'` const installComponentStr = ` app.use(${bigCamelCase(componentName)} as any)` - const installDirectiveStr = `\n app.directive('${bigCamelCase(componentName)}', ${bigCamelCase(directiveName)})` - const installServiceStr = `\n app.config.globalProperties.$${camelCase(serviceName)} = ${bigCamelCase( + const installDirectiveStr = `\n app.directive('${bigCamelCase(componentName)}', ${bigCamelCase( + directiveName + )})` + const installServiceStr = `\n app.config.globalProperties.$${camelCase( serviceName - )}` + )} = ${bigCamelCase(serviceName)}` const getPartStr = (state, str) => (state ? str : '') - const importStr = getPartStr(hasComponent, importComponentStr) + - getPartStr(hasDirective, importDirectiveStr) + - getPartStr(hasService, importServiceStr) + const importStr = + getPartStr(hasComponent, importComponentStr) + + getPartStr(hasDirective, importDirectiveStr) + + getPartStr(hasService, importServiceStr) - const installStr = getPartStr(hasComponent, installComponentStr) + - getPartStr(hasDirective, installDirectiveStr) + - getPartStr(hasService, installServiceStr) + const installStr = + getPartStr(hasComponent, installComponentStr) + + getPartStr(hasDirective, installDirectiveStr) + + getPartStr(hasService, installServiceStr) return `\ import type { App } from 'vue'\ @@ -116,7 +124,7 @@ export { ${[ export default { title: '${bigCamelCase(componentName)} ${title}', category: '${category}', - status: undefined, \/\/ TODO: 组件若开发完成则填入"已完成",并删除该注释 + status: undefined, \/\/ TODO: 组件若开发完成则填入"100%",并删除该注释 install(app: App): void { ${installStr} } @@ -135,12 +143,12 @@ exports.createTestsTemplate = ({ }) => `\ import { mount } from '@vue/test-utils'; import { ${[ - hasComponent ? bigCamelCase(componentName) : null, - hasDirective ? bigCamelCase(directiveName) : null, - hasService ? bigCamelCase(serviceName) : null - ] - .filter((p) => p !== null) - .join(', ')} } from '../index'; + hasComponent ? bigCamelCase(componentName) : null, + hasDirective ? bigCamelCase(directiveName) : null, + hasService ? bigCamelCase(serviceName) : null +] + .filter((p) => p !== null) + .join(', ')} } from '../index'; describe('${componentName} test', () => { it('${componentName} init render', async () => { @@ -150,10 +158,7 @@ describe('${componentName} test', () => { ` // 创建文档模板 -exports.createDocumentTemplate = ({ - componentName, - title -}) => `\ +exports.createDocumentTemplate = ({ componentName, title }) => `\ # ${bigCamelCase(componentName)} ${title} // todo 组件描述 -- Gitee From fc503659e199497d7f8b112a79e274aeaf62addb Mon Sep 17 00:00:00 2001 From: ElsaOOo Date: Wed, 1 Dec 2021 08:56:06 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E7=BC=BA=E9=99=B7?= =?UTF-8?q?=E6=89=AB=E6=8F=8F=E7=9A=84=E5=9C=B0=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/devui-vue/devui-cli/templates/component.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/devui-vue/devui-cli/templates/component.js b/packages/devui-vue/devui-cli/templates/component.js index 20710974..e9bf2a9e 100644 --- a/packages/devui-vue/devui-cli/templates/component.js +++ b/packages/devui-vue/devui-cli/templates/component.js @@ -27,9 +27,9 @@ exports.createTypesTemplate = ({ componentName }) => `\ import type { PropType, ExtractPropTypes } from 'vue' export const ${camelCase(componentName)}Props = { - \/\* test: { + /* test: { type: Object as PropType<{ xxx: xxx }> - } \*\/ + } */ } as const export type ${bigCamelCase(componentName)}Props = ExtractPropTypes