@varlet/cli 1.27.20 → 2.0.0-alpha.1663499244572
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENCE +21 -21
- package/README.en-US.md +401 -401
- package/README.md +396 -396
- package/lib/commands/build.d.ts +1 -1
- package/lib/commands/build.js +18 -67
- package/lib/commands/changelog.d.ts +6 -6
- package/lib/commands/changelog.js +26 -27
- package/lib/commands/commitLint.d.ts +1 -1
- package/lib/commands/commitLint.js +50 -21
- package/lib/commands/compile.d.ts +7 -5
- package/lib/commands/compile.js +43 -119
- package/lib/commands/create.d.ts +8 -3
- package/lib/commands/create.js +90 -132
- package/lib/commands/dev.d.ts +5 -3
- package/lib/commands/dev.js +44 -123
- package/lib/commands/gen.d.ts +8 -1
- package/lib/commands/gen.js +85 -112
- package/lib/commands/lint.d.ts +1 -1
- package/lib/commands/lint.js +48 -123
- package/lib/commands/preview.d.ts +1 -1
- package/lib/commands/preview.js +23 -74
- package/lib/commands/release.d.ts +5 -3
- package/lib/commands/release.js +132 -270
- package/lib/commands/test.d.ts +7 -0
- package/lib/commands/test.js +26 -0
- package/lib/commands/vite.d.ts +3 -0
- package/lib/commands/vite.js +20 -0
- package/lib/compiler/compileModule.d.ts +5 -5
- package/lib/compiler/compileModule.js +79 -186
- package/lib/compiler/compileSFC.d.ts +2 -2
- package/lib/compiler/compileSFC.js +86 -132
- package/lib/compiler/compileScript.d.ts +17 -17
- package/lib/compiler/compileScript.js +152 -202
- package/lib/compiler/compileSiteEntry.d.ts +13 -13
- package/lib/compiler/compileSiteEntry.js +140 -237
- package/lib/compiler/compileStyle.d.ts +11 -11
- package/lib/compiler/compileStyle.js +43 -101
- package/lib/compiler/compileTemplateHighlight.d.ts +10 -10
- package/lib/compiler/compileTemplateHighlight.js +145 -193
- package/lib/compiler/compileTypes.d.ts +2 -2
- package/lib/compiler/compileTypes.js +49 -88
- package/lib/config/babel.config.d.ts +2 -2
- package/lib/config/babel.config.js +30 -31
- package/lib/config/babel.sfc.transform.d.ts +1 -1
- package/lib/config/babel.sfc.transform.js +18 -18
- package/lib/config/varlet.config.d.ts +1 -1
- package/lib/config/varlet.config.js +23 -24
- package/lib/config/vite.config.d.ts +5 -5
- package/lib/config/vite.config.js +157 -162
- package/lib/config/vitest.config.d.ts +2 -0
- package/lib/config/vitest.config.js +28 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.js +84 -83
- package/lib/shared/constant.d.ts +44 -43
- package/lib/shared/constant.js +51 -50
- package/lib/shared/fsUtils.d.ts +12 -12
- package/lib/shared/fsUtils.js +61 -108
- package/lib/shared/logger.d.ts +8 -7
- package/lib/shared/logger.js +23 -20
- package/package.json +20 -17
- package/preset.js +3 -3
- package/site/components/button/Button.vue +106 -84
- package/site/components/button/button.less +183 -183
- package/site/components/button/index.ts +10 -10
- package/site/components/button/props.ts +78 -70
- package/site/components/cell/Cell.vue +54 -42
- package/site/components/cell/cell.less +78 -74
- package/site/components/cell/index.ts +10 -10
- package/site/components/cell/props.ts +27 -27
- package/site/components/code-example/CodeExample.vue +137 -143
- package/site/components/code-example/codeExample.less +41 -41
- package/site/components/code-example/index.ts +10 -10
- package/site/components/context/index.ts +21 -17
- package/site/components/context/lock.ts +92 -103
- package/site/components/context/zIndex.ts +20 -20
- package/site/components/icon/Icon.vue +75 -68
- package/site/components/icon/icon.less +26 -26
- package/site/components/icon/index.ts +10 -10
- package/site/components/icon/props.ts +24 -24
- package/site/components/loading/Loading.vue +84 -55
- package/site/components/loading/index.ts +10 -10
- package/site/components/loading/loading.less +505 -420
- package/site/components/loading/props.ts +42 -37
- package/site/components/popup/Popup.tsx +102 -0
- package/site/components/popup/index.ts +10 -0
- package/site/components/popup/popup.less +125 -0
- package/site/components/popup/props.ts +63 -0
- package/site/components/progress/Progress.vue +112 -108
- package/site/components/progress/index.ts +10 -10
- package/site/components/progress/progress.less +101 -98
- package/site/components/progress/props.ts +55 -55
- package/site/components/ripple/index.ts +188 -167
- package/site/components/ripple/ripple.less +20 -17
- package/site/components/snackbar/Snackbar.vue +41 -38
- package/site/components/snackbar/core.vue +132 -117
- package/site/components/snackbar/index.tsx +270 -270
- package/site/components/snackbar/props.ts +97 -94
- package/site/components/snackbar/snackbar.less +135 -135
- package/site/components/styles/common.less +64 -64
- package/site/components/styles/elevation.less +126 -126
- package/site/components/styles/var.less +27 -27
- package/site/components/utils/components.ts +117 -69
- package/site/components/utils/elements.ts +102 -85
- package/site/index.html +49 -49
- package/site/mobile/App.vue +291 -291
- package/site/mobile/components/AppHome.vue +134 -134
- package/site/mobile/components/AppType.vue +22 -22
- package/site/mobile/components/app-bar/AppBar.vue +65 -69
- package/site/mobile/components/app-bar/appBar.less +57 -56
- package/site/mobile/components/app-bar/index.ts +10 -10
- package/site/mobile/components/app-bar/props.ts +25 -25
- package/site/mobile/main.ts +78 -74
- package/site/mobile.html +41 -41
- package/site/module.d.ts +5 -5
- package/site/pc/App.vue +43 -43
- package/site/pc/Layout.vue +423 -397
- package/site/pc/components/AnimationBox.vue +33 -45
- package/site/pc/components/AppHeader.vue +368 -355
- package/site/pc/components/AppMobile.vue +60 -54
- package/site/pc/components/AppSidebar.vue +143 -134
- package/site/pc/components/LogoAnimation.vue +117 -119
- package/site/pc/floating.ts +9 -9
- package/site/pc/main.ts +100 -94
- package/site/pc/pages/index/index.less +176 -231
- package/site/pc/pages/index/index.vue +130 -145
- package/site/pc/pages/index/locale/en-US.ts +1 -5
- package/site/pc/pages/index/locale/zh-CN.ts +1 -5
- package/site/tsconfig.json +11 -11
- package/site/useProgress.ts +72 -75
- package/site/utils.ts +167 -153
- package/template/create/__tests__/index.spec.ejs +8 -0
- package/{lib/config/jest.media.mock.d.ts → template/create/docs/en-US.md} +0 -0
- package/{lib/config/jest.style.mock.d.ts → template/create/docs/zh-CN.md} +0 -0
- package/template/create/example/index.ejs +15 -0
- package/template/create/example/locale/en-US.ts +3 -0
- package/{generators/config/i18n/tsx/src/button → template/create}/example/locale/index.ts +23 -23
- package/template/create/example/locale/zh-CN.ts +3 -0
- package/template/create/index.ejs +12 -0
- package/template/create/less.ejs +3 -0
- package/template/create/props.ts +1 -0
- package/template/create/tsx.ejs +13 -0
- package/template/create/vue.ejs +17 -0
- package/{generators → template/generators}/base/.prettierignore +9 -9
- package/{generators → template/generators}/base/.prettierrc +5 -5
- package/{generators → template/generators}/base/README.md +82 -82
- package/{generators → template/generators}/base/babel.config.js +10 -10
- package/{generators → template/generators}/base/public/highlight.css +1 -1
- package/{generators → template/generators}/base/public/logo.svg +1 -1
- package/{generators → template/generators}/base/shims/shims-md.d.ts +4 -4
- package/{generators → template/generators}/base/shims/shims-vue.d.ts +6 -6
- package/{generators → template/generators}/base/tsconfig.json +13 -13
- package/{generators → template/generators}/config/default/base/docs/home.zh-CN.md +10 -10
- package/{generators → template/generators}/config/default/base/package.json +105 -105
- package/{generators/config/i18n → template/generators/config/default}/base/types/basicComponent.d.ts +7 -7
- package/{generators/config/i18n → template/generators/config/default}/base/types/button.d.ts +12 -12
- package/{generators → template/generators}/config/default/base/types/index.d.ts +6 -6
- package/{generators → template/generators}/config/default/base/varlet.config.js +110 -110
- package/{generators → template/generators}/config/default/sfc/src/button/Button.vue +30 -30
- package/{generators/config/default/tsx → template/generators/config/default/sfc}/src/button/__tests__/index.spec.js +7 -7
- package/{generators/config/default/tsx → template/generators/config/default/sfc}/src/button/button.less +14 -14
- package/{generators/config/default/tsx → template/generators/config/default/sfc}/src/button/docs/zh-CN.md +47 -47
- package/{generators → template/generators}/config/default/sfc/src/button/example/BasicUse.vue +7 -7
- package/{generators → template/generators}/config/default/sfc/src/button/example/ModifyColor.vue +7 -7
- package/{generators/config/default/tsx → template/generators/config/default/sfc}/src/button/example/index.vue +13 -13
- package/{generators → template/generators}/config/default/sfc/src/button/index.ts +10 -10
- package/{generators → template/generators}/config/default/tsx/src/button/Button.tsx +29 -31
- package/{generators/config/default/sfc → template/generators/config/default/tsx}/src/button/__tests__/index.spec.js +7 -7
- package/{generators/config/i18n → template/generators/config/default}/tsx/src/button/button.less +14 -14
- package/{generators/config/default/sfc → template/generators/config/default/tsx}/src/button/docs/zh-CN.md +47 -47
- package/{generators → template/generators}/config/default/tsx/src/button/example/BasicUse.vue +7 -7
- package/{generators → template/generators}/config/default/tsx/src/button/example/ModifyColor.vue +7 -7
- package/{generators/config/default/sfc → template/generators/config/default/tsx}/src/button/example/index.vue +13 -13
- package/{generators → template/generators}/config/default/tsx/src/button/index.ts +10 -10
- package/{generators → template/generators}/config/i18n/base/docs/home.en-US.md +11 -11
- package/{generators → template/generators}/config/i18n/base/docs/home.zh-CN.md +10 -10
- package/{generators → template/generators}/config/i18n/base/package.json +105 -105
- package/{generators/config/default → template/generators/config/i18n}/base/types/basicComponent.d.ts +7 -7
- package/{generators/config/default → template/generators/config/i18n}/base/types/button.d.ts +12 -12
- package/{generators → template/generators}/config/i18n/base/types/index.d.ts +7 -7
- package/{generators → template/generators}/config/i18n/base/types/locale.d.ts +24 -24
- package/{generators → template/generators}/config/i18n/base/varlet.config.js +122 -122
- package/{generators → template/generators}/config/i18n/sfc/src/button/Button.vue +36 -36
- package/{generators → template/generators}/config/i18n/sfc/src/button/__tests__/index.spec.js +7 -7
- package/{generators → template/generators}/config/i18n/sfc/src/button/button.less +14 -14
- package/{generators → template/generators}/config/i18n/sfc/src/button/docs/en-US.md +34 -34
- package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/button/docs/zh-CN.md +34 -34
- package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/button/example/BasicUse.vue +11 -11
- package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/button/example/ModifyColor.vue +11 -11
- package/{generators → template/generators}/config/i18n/sfc/src/button/example/index.vue +13 -13
- package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/button/example/locale/en-US.ts +5 -5
- package/{generators → template/generators}/config/i18n/sfc/src/button/example/locale/index.ts +23 -23
- package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/button/example/locale/zh-CN.ts +5 -5
- package/{generators → template/generators}/config/i18n/sfc/src/button/index.ts +10 -10
- package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/locale/__tests__/index.spec.js +51 -51
- package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/locale/docs/en-US.md +26 -26
- package/{generators → template/generators}/config/i18n/sfc/src/locale/docs/zh-CN.md +25 -25
- package/{generators → template/generators}/config/i18n/sfc/src/locale/en-US.d.ts +5 -5
- package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/locale/en-US.ts +7 -7
- package/{generators → template/generators}/config/i18n/sfc/src/locale/index.ts +67 -67
- package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/locale/zh-CN.d.ts +5 -5
- package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/locale/zh-CN.ts +7 -7
- package/{generators → template/generators}/config/i18n/tsx/src/button/Button.tsx +33 -35
- package/{generators → template/generators}/config/i18n/tsx/src/button/__tests__/index.spec.js +7 -7
- package/{generators/config/default/sfc → template/generators/config/i18n/tsx}/src/button/button.less +14 -14
- package/{generators → template/generators}/config/i18n/tsx/src/button/docs/en-US.md +34 -34
- package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/button/docs/zh-CN.md +34 -34
- package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/button/example/BasicUse.vue +11 -11
- package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/button/example/ModifyColor.vue +11 -11
- package/{generators → template/generators}/config/i18n/tsx/src/button/example/index.vue +13 -13
- package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/button/example/locale/en-US.ts +5 -5
- package/template/generators/config/i18n/tsx/src/button/example/locale/index.ts +23 -0
- package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/button/example/locale/zh-CN.ts +5 -5
- package/{generators → template/generators}/config/i18n/tsx/src/button/index.ts +10 -10
- package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/locale/__tests__/index.spec.js +51 -51
- package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/locale/docs/en-US.md +26 -26
- package/{generators → template/generators}/config/i18n/tsx/src/locale/docs/zh-CN.md +25 -25
- package/{generators → template/generators}/config/i18n/tsx/src/locale/en-US.d.ts +5 -5
- package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/locale/en-US.ts +7 -7
- package/{generators → template/generators}/config/i18n/tsx/src/locale/index.ts +67 -67
- package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/locale/zh-CN.d.ts +5 -5
- package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/locale/zh-CN.ts +7 -7
- package/tsconfig.json +15 -14
- package/varlet.default.config.js +137 -15
- package/lib/commands/jest.d.ts +0 -8
- package/lib/commands/jest.js +0 -81
- package/lib/config/jest.config.d.ts +0 -1
- package/lib/config/jest.config.js +0 -36
- package/lib/config/jest.media.mock.js +0 -2
- package/lib/config/jest.style.mock.js +0 -2
- package/site/mobile/components/styles/common.less +0 -64
- package/site/mobile/components/styles/elevation.less +0 -126
- package/site/mobile/components/styles/var.less +0 -27
package/README.en-US.md
CHANGED
|
@@ -1,402 +1,402 @@
|
|
|
1
|
-
# @varlet/cli
|
|
2
|
-
|
|
3
|
-
The out-of-the-box `Vue3 component library` rapid prototyping tool provides a series of commands and tools to solve the problem of component library development
|
|
4
|
-
|
|
5
|
-
### Feature
|
|
6
|
-
|
|
7
|
-
- 1.Out-of-the-box component library development environment
|
|
8
|
-
- 2.Out-of-the-box component library compilation tool, support exporting `esm` and `umd` two module codes
|
|
9
|
-
- 3.Component library document site based on configuration files, support Baidu statistics and theme customization
|
|
10
|
-
- 4.Supports `single file component (sfc)` and `tsx, jsx` two styles of component library writing styles
|
|
11
|
-
- 5.Code inspection tool out of the box
|
|
12
|
-
- 6.Unit testing tools out of the box
|
|
13
|
-
- 7.Out-of-the-box code publishing tool, publish to npm and github, and automatically generate a change log
|
|
14
|
-
- 8.Support `Typescript`
|
|
15
|
-
- 9.Support `Dark Mode`
|
|
16
|
-
- 10.Based on `pnpm`
|
|
17
|
-
|
|
18
|
-
### Quickstart
|
|
19
|
-
|
|
20
|
-
`@varlet/cli` has built-in `single file component (sfc)` and `tsx, jsx` two styles of component library project templates, which can be directly generated by the `gen` command.
|
|
21
|
-
To help users directly enter the development of the component itself, it is recommended to use `pnpm` as a package management tool.
|
|
22
|
-
|
|
23
|
-
```shell
|
|
24
|
-
# Install command line tools
|
|
25
|
-
pnpm add @varlet/cli -g
|
|
26
|
-
# Use the gen command to generate the project
|
|
27
|
-
varlet-cli gen projectName
|
|
28
|
-
cd projectName
|
|
29
|
-
pnpm install
|
|
30
|
-
pnpm dev
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Then by simply modifying some basic information of the component library template,
|
|
34
|
-
you can start the development of the component library
|
|
35
|
-
|
|
36
|
-
## Advanced customization
|
|
37
|
-
|
|
38
|
-
### Configuration file
|
|
39
|
-
|
|
40
|
-
The `varlet.config.js` in the project root directory is used to manage the specific details of the entire component library project
|
|
41
|
-
|
|
42
|
-
| Parameter | Description | Type | Default |
|
|
43
|
-
| ----- | -------------- | -------- | ---------- |
|
|
44
|
-
| `host` | Development server host | _number_ | `localhost` |
|
|
45
|
-
| `port` | Development server port | _number_ | `8080` |
|
|
46
|
-
| `name` | Full name of the component library | _string_ | `Varlet` |
|
|
47
|
-
| `namespace` | Component library namespace, Will be used as a component prefix | _string_ | `var` |
|
|
48
|
-
| `title` | The title of the component library in the document | _string_ | `VARLET` |
|
|
49
|
-
| `logo` | The logo of the component library in the document | _string_ | `-` |
|
|
50
|
-
| `defaultLanguage` | Document default language | _string_ | `zh-CN` |
|
|
51
|
-
| `useMobile` | Whether to display the right mobile phone preview | _boolean_ | `false` |
|
|
52
|
-
| `themes` | Document themes | _SiteThemes_ | `-` |
|
|
53
|
-
| `darkThemes` | Document dark mode themes | _SiteThemes_ | `-` |
|
|
54
|
-
| `highlight` | Document code snippet style related | _SiteHighlight_ | `-` |
|
|
55
|
-
| `analysis` | Document statistics related | _SiteAnalysis_ | `-` |
|
|
56
|
-
| `pc` | PC-side document structure configuration | _SitePC_ | `-` |
|
|
57
|
-
| `mobile` | Mobile document structure configuration | _SiteMobile_ | `-` |
|
|
58
|
-
| `moduleCompatible` | Module compatible config | _Record<string, string>_ | `-` |
|
|
59
|
-
|
|
60
|
-
#### Module Compatible
|
|
61
|
-
|
|
62
|
-
Some external dependencies may need to be compatible with module syntax to achieve the purpose of compiling correctly to `commonjs` and `esmodule`. For example, the wording of `esmodule` of `dayjs` is
|
|
63
|
-
|
|
64
|
-
```js
|
|
65
|
-
import dayjs from 'dayjs/esm'
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
In order to build `commonjs`, the writing method is
|
|
69
|
-
|
|
70
|
-
```js
|
|
71
|
-
import * as dayjs from 'dayjs'
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
In the project, we embrace the first way of writing the `esmodule` module, and make the following configuration for adaptation
|
|
75
|
-
|
|
76
|
-
```js
|
|
77
|
-
// varlet.config.js
|
|
78
|
-
module.exports = {
|
|
79
|
-
moduleCompatible: {
|
|
80
|
-
"import dayjs from 'dayjs/esm'\n": "import * as dayjs from 'dayjs'\n"
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
#### SiteThemes
|
|
86
|
-
|
|
87
|
-
Theme variables are related,
|
|
88
|
-
because the default theme variables may be modified from time to time,
|
|
89
|
-
subject to the theme of the `varlet` official document
|
|
90
|
-
|
|
91
|
-
| Variable |
|
|
92
|
-
| ----- |
|
|
93
|
-
| `color-body` |
|
|
94
|
-
| `color-bar` |
|
|
95
|
-
| `color-sub-bar` |
|
|
96
|
-
| `color-text` |
|
|
97
|
-
| `color-sub-text` |
|
|
98
|
-
| `color-border` |
|
|
99
|
-
| `color-shadow` |
|
|
100
|
-
| `color-introduce-border` |
|
|
101
|
-
| `color-primary` |
|
|
102
|
-
| `color-link` |
|
|
103
|
-
| `color-type` |
|
|
104
|
-
| `color-progress` |
|
|
105
|
-
| `color-progress-track` |
|
|
106
|
-
| `color-side-bar` |
|
|
107
|
-
| `color-side-bar-active-background` |
|
|
108
|
-
| `color-app-bar` |
|
|
109
|
-
| `color-nav-button-hover-background` |
|
|
110
|
-
| `color-mobile-cell-hover` |
|
|
111
|
-
| `color-pc-language-active` |
|
|
112
|
-
| `color-pc-language-active-background` |
|
|
113
|
-
| `color-mobile-language-active` |
|
|
114
|
-
| `color-mobile-language-active-background` |
|
|
115
|
-
| `color-hl-background` |
|
|
116
|
-
| `color-hl-code` |
|
|
117
|
-
| `color-hl-border` |
|
|
118
|
-
| `color-hl-group-a` |
|
|
119
|
-
| `color-hl-group-b` |
|
|
120
|
-
| `color-hl-group-c` |
|
|
121
|
-
| `color-hl-group-d` |
|
|
122
|
-
| `color-hl-group-e` |
|
|
123
|
-
| `color-hl-group-f` |
|
|
124
|
-
| `color-hl-group-g` |
|
|
125
|
-
| `color-hl-group-h` |
|
|
126
|
-
| `color-hl-group-i` |
|
|
127
|
-
|
|
128
|
-
#### SiteHighlight
|
|
129
|
-
|
|
130
|
-
Code snippets are highlighted, based on [highlight.js](https://highlightjs.org/)
|
|
131
|
-
|
|
132
|
-
| Parameter | Description | Type | Default |
|
|
133
|
-
| ----- | -------------- | -------- | ---------- |
|
|
134
|
-
| `style` | highlight css link | _string_ | `-` |
|
|
135
|
-
|
|
136
|
-
#### SiteAnalysis
|
|
137
|
-
|
|
138
|
-
Statistics related to buried points
|
|
139
|
-
|
|
140
|
-
| Parameter | Description | Type | Default |
|
|
141
|
-
| ----- | -------------- | -------- | ---------- |
|
|
142
|
-
| `baidu` | Baidu statistics script address | _string_ | `-` |
|
|
143
|
-
|
|
144
|
-
#### SitePC, SiteMobile
|
|
145
|
-
|
|
146
|
-
The document structure is partly related, and the example configuration is as follows
|
|
147
|
-
|
|
148
|
-
```js
|
|
149
|
-
module.exports = {
|
|
150
|
-
defaultLanguage: 'en-US',
|
|
151
|
-
pc: {
|
|
152
|
-
redirect: '/home',
|
|
153
|
-
title: {
|
|
154
|
-
'en-US': 'A components library',
|
|
155
|
-
},
|
|
156
|
-
header: {
|
|
157
|
-
darkMode: null,
|
|
158
|
-
i18n: null,
|
|
159
|
-
github: 'https://github.com/varletjs/varlet',
|
|
160
|
-
},
|
|
161
|
-
menu: [
|
|
162
|
-
{
|
|
163
|
-
text: {
|
|
164
|
-
'en-US': 'Develop Guide',
|
|
165
|
-
},
|
|
166
|
-
// Sidebar menu directory
|
|
167
|
-
type: 1,
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
text: {
|
|
171
|
-
'en-US': 'Basic Intro',
|
|
172
|
-
},
|
|
173
|
-
doc: 'home',
|
|
174
|
-
// Index the md document in the root directory of the project
|
|
175
|
-
type: 3,
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
text: {
|
|
179
|
-
'en-US': 'Basic Component',
|
|
180
|
-
},
|
|
181
|
-
type: 1,
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
text: {
|
|
185
|
-
'en-US': 'Button',
|
|
186
|
-
},
|
|
187
|
-
doc: 'button',
|
|
188
|
-
// Md document in the root directory of the index component
|
|
189
|
-
type: 2,
|
|
190
|
-
},
|
|
191
|
-
],
|
|
192
|
-
},
|
|
193
|
-
mobile: {
|
|
194
|
-
redirect: '/home',
|
|
195
|
-
title: {
|
|
196
|
-
'en-US': 'A components library',
|
|
197
|
-
},
|
|
198
|
-
header: {
|
|
199
|
-
darkMode: null,
|
|
200
|
-
i18n: null,
|
|
201
|
-
playground: null,
|
|
202
|
-
github: 'https://github.com/varletjs/varlet',
|
|
203
|
-
},
|
|
204
|
-
},
|
|
205
|
-
}
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### Commands Intro
|
|
209
|
-
|
|
210
|
-
#### Start the development server
|
|
211
|
-
|
|
212
|
-
```shell
|
|
213
|
-
varlet-cli dev
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
#### Build documentation site
|
|
217
|
-
|
|
218
|
-
```shell
|
|
219
|
-
varlet-cli build
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
#### Preview documentation site
|
|
223
|
-
|
|
224
|
-
```shell
|
|
225
|
-
varlet-cli preview
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
#### Build component library code
|
|
229
|
-
|
|
230
|
-
```shell
|
|
231
|
-
varlet-cli compile
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
#### Perform all unit tests
|
|
235
|
-
|
|
236
|
-
```shell
|
|
237
|
-
varlet-cli test
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
#### Execute unit tests in watch mode
|
|
241
|
-
|
|
242
|
-
```shell
|
|
243
|
-
varlet-cli test -w
|
|
244
|
-
or
|
|
245
|
-
varlet-cli test -wa
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
#### Lint code
|
|
249
|
-
|
|
250
|
-
```shell
|
|
251
|
-
varlet-cli lint
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
#### Lint commit message
|
|
255
|
-
|
|
256
|
-
```shell
|
|
257
|
-
varlet-cli commit-lint
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
#### Generate changelog
|
|
261
|
-
|
|
262
|
-
```shell
|
|
263
|
-
varlet-cli changelog
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
#### Release component library
|
|
267
|
-
|
|
268
|
-
```shell
|
|
269
|
-
varlet-cli release
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
#### Generate a project template
|
|
273
|
-
```shell
|
|
274
|
-
varlet-cli gen <projectName>
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
### babel
|
|
278
|
-
|
|
279
|
-
To configure `babel`, first specify the target browser in `package.json`
|
|
280
|
-
|
|
281
|
-
```json
|
|
282
|
-
{
|
|
283
|
-
"browserslist": [
|
|
284
|
-
"Chrome >= 51",
|
|
285
|
-
"iOS >= 10"
|
|
286
|
-
]
|
|
287
|
-
}
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
create `babel.config,js`
|
|
291
|
-
|
|
292
|
-
```js
|
|
293
|
-
// babel.config.js
|
|
294
|
-
module.exports = {
|
|
295
|
-
presets: [
|
|
296
|
-
[
|
|
297
|
-
'@varlet/cli/preset',
|
|
298
|
-
{
|
|
299
|
-
loose: process.env.NODE_ENV === 'compile',
|
|
300
|
-
},
|
|
301
|
-
],
|
|
302
|
-
],
|
|
303
|
-
}
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
### git and npm
|
|
307
|
-
|
|
308
|
-
#### git-hook
|
|
309
|
-
|
|
310
|
-
`simple-git-hooks`, `lint-staged` cooperate with `eslint`, `stylelint`, `varlet-cli commit-lint` to check before commit,
|
|
311
|
-
`package.json` configuration is as follows
|
|
312
|
-
|
|
313
|
-
```json
|
|
314
|
-
{
|
|
315
|
-
"simple-git-hooks": {
|
|
316
|
-
"pre-commit": "pnpm exec lint-staged --allow-empty --concurrent false",
|
|
317
|
-
"commit-msg": "npx --no-install varlet-cli commit-lint $1"
|
|
318
|
-
},
|
|
319
|
-
"lint-staged": {
|
|
320
|
-
"*.{ts,tsx,js,vue,less}": "prettier --write",
|
|
321
|
-
"*.{ts,tsx,js,vue}": "eslint --fix",
|
|
322
|
-
"*.{vue,css,less}": "stylelint --fix"
|
|
323
|
-
},
|
|
324
|
-
"eslintConfig": {
|
|
325
|
-
"root": true,
|
|
326
|
-
"ignorePatterns": [
|
|
327
|
-
"es/**",
|
|
328
|
-
"umd/**",
|
|
329
|
-
"site/**",
|
|
330
|
-
"public/**",
|
|
331
|
-
"src/*/__tests__/**",
|
|
332
|
-
".varlet/**"
|
|
333
|
-
],
|
|
334
|
-
"extends": [
|
|
335
|
-
"@varlet"
|
|
336
|
-
]
|
|
337
|
-
},
|
|
338
|
-
"stylelint": {
|
|
339
|
-
"extends": [
|
|
340
|
-
"@varlet/stylelint-config"
|
|
341
|
-
],
|
|
342
|
-
"ignoreFiles": [
|
|
343
|
-
"es/**",
|
|
344
|
-
"umd/**",
|
|
345
|
-
"site/**",
|
|
346
|
-
"coverage/**",
|
|
347
|
-
"public/**",
|
|
348
|
-
"highlight/**"
|
|
349
|
-
]
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
Mount Git Hooks
|
|
355
|
-
|
|
356
|
-
```shell
|
|
357
|
-
npx simple-git-hooks
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
create `.prettierignore`
|
|
361
|
-
|
|
362
|
-
```text
|
|
363
|
-
// .prettierignore
|
|
364
|
-
coverage/**
|
|
365
|
-
es/**
|
|
366
|
-
umd/**
|
|
367
|
-
site/**
|
|
368
|
-
public/**
|
|
369
|
-
src/*/__tests__/**
|
|
370
|
-
*.md
|
|
371
|
-
```
|
|
372
|
-
|
|
373
|
-
### typescript
|
|
374
|
-
|
|
375
|
-
create `tsconfig.json`
|
|
376
|
-
|
|
377
|
-
```json
|
|
378
|
-
{
|
|
379
|
-
"compilerOptions": {
|
|
380
|
-
"strict": true,
|
|
381
|
-
"downlevelIteration": true,
|
|
382
|
-
"declaration": true,
|
|
383
|
-
"skipLibCheck": true,
|
|
384
|
-
"esModuleInterop": true,
|
|
385
|
-
"allowJs": true,
|
|
386
|
-
"lib": ["esnext", "dom"],
|
|
387
|
-
"allowSyntheticDefaultImports": true,
|
|
388
|
-
"jsx": "preserve"
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
```
|
|
392
|
-
|
|
393
|
-
#### Note before release
|
|
394
|
-
|
|
395
|
-
- 1.The registry of npm must set to the official npm mirror
|
|
396
|
-
- 2.The npm must execute the login command for user login
|
|
397
|
-
|
|
398
|
-
### Contributors
|
|
399
|
-
|
|
400
|
-
<a href="https://github.com/varletjs/varlet/graphs/contributors">
|
|
401
|
-
<img src="https://contrib.rocks/image?repo=haoziqaq/varlet" />
|
|
1
|
+
# @varlet/cli
|
|
2
|
+
|
|
3
|
+
The out-of-the-box `Vue3 component library` rapid prototyping tool provides a series of commands and tools to solve the problem of component library development
|
|
4
|
+
|
|
5
|
+
### Feature
|
|
6
|
+
|
|
7
|
+
- 1.Out-of-the-box component library development environment
|
|
8
|
+
- 2.Out-of-the-box component library compilation tool, support exporting `esm` and `umd` two module codes
|
|
9
|
+
- 3.Component library document site based on configuration files, support Baidu statistics and theme customization
|
|
10
|
+
- 4.Supports `single file component (sfc)` and `tsx, jsx` two styles of component library writing styles
|
|
11
|
+
- 5.Code inspection tool out of the box
|
|
12
|
+
- 6.Unit testing tools out of the box
|
|
13
|
+
- 7.Out-of-the-box code publishing tool, publish to npm and github, and automatically generate a change log
|
|
14
|
+
- 8.Support `Typescript`
|
|
15
|
+
- 9.Support `Dark Mode`
|
|
16
|
+
- 10.Based on `pnpm`
|
|
17
|
+
|
|
18
|
+
### Quickstart
|
|
19
|
+
|
|
20
|
+
`@varlet/cli` has built-in `single file component (sfc)` and `tsx, jsx` two styles of component library project templates, which can be directly generated by the `gen` command.
|
|
21
|
+
To help users directly enter the development of the component itself, it is recommended to use `pnpm` as a package management tool.
|
|
22
|
+
|
|
23
|
+
```shell
|
|
24
|
+
# Install command line tools
|
|
25
|
+
pnpm add @varlet/cli -g
|
|
26
|
+
# Use the gen command to generate the project
|
|
27
|
+
varlet-cli gen projectName
|
|
28
|
+
cd projectName
|
|
29
|
+
pnpm install
|
|
30
|
+
pnpm dev
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Then by simply modifying some basic information of the component library template,
|
|
34
|
+
you can start the development of the component library
|
|
35
|
+
|
|
36
|
+
## Advanced customization
|
|
37
|
+
|
|
38
|
+
### Configuration file
|
|
39
|
+
|
|
40
|
+
The `varlet.config.js` in the project root directory is used to manage the specific details of the entire component library project
|
|
41
|
+
|
|
42
|
+
| Parameter | Description | Type | Default |
|
|
43
|
+
| ----- | -------------- | -------- | ---------- |
|
|
44
|
+
| `host` | Development server host | _number_ | `localhost` |
|
|
45
|
+
| `port` | Development server port | _number_ | `8080` |
|
|
46
|
+
| `name` | Full name of the component library | _string_ | `Varlet` |
|
|
47
|
+
| `namespace` | Component library namespace, Will be used as a component prefix | _string_ | `var` |
|
|
48
|
+
| `title` | The title of the component library in the document | _string_ | `VARLET` |
|
|
49
|
+
| `logo` | The logo of the component library in the document | _string_ | `-` |
|
|
50
|
+
| `defaultLanguage` | Document default language | _string_ | `zh-CN` |
|
|
51
|
+
| `useMobile` | Whether to display the right mobile phone preview | _boolean_ | `false` |
|
|
52
|
+
| `themes` | Document themes | _SiteThemes_ | `-` |
|
|
53
|
+
| `darkThemes` | Document dark mode themes | _SiteThemes_ | `-` |
|
|
54
|
+
| `highlight` | Document code snippet style related | _SiteHighlight_ | `-` |
|
|
55
|
+
| `analysis` | Document statistics related | _SiteAnalysis_ | `-` |
|
|
56
|
+
| `pc` | PC-side document structure configuration | _SitePC_ | `-` |
|
|
57
|
+
| `mobile` | Mobile document structure configuration | _SiteMobile_ | `-` |
|
|
58
|
+
| `moduleCompatible` | Module compatible config | _Record<string, string>_ | `-` |
|
|
59
|
+
|
|
60
|
+
#### Module Compatible
|
|
61
|
+
|
|
62
|
+
Some external dependencies may need to be compatible with module syntax to achieve the purpose of compiling correctly to `commonjs` and `esmodule`. For example, the wording of `esmodule` of `dayjs` is
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
import dayjs from 'dayjs/esm'
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
In order to build `commonjs`, the writing method is
|
|
69
|
+
|
|
70
|
+
```js
|
|
71
|
+
import * as dayjs from 'dayjs'
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
In the project, we embrace the first way of writing the `esmodule` module, and make the following configuration for adaptation
|
|
75
|
+
|
|
76
|
+
```js
|
|
77
|
+
// varlet.config.js
|
|
78
|
+
module.exports = {
|
|
79
|
+
moduleCompatible: {
|
|
80
|
+
"import dayjs from 'dayjs/esm'\n": "import * as dayjs from 'dayjs'\n"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
#### SiteThemes
|
|
86
|
+
|
|
87
|
+
Theme variables are related,
|
|
88
|
+
because the default theme variables may be modified from time to time,
|
|
89
|
+
subject to the theme of the `varlet` official document
|
|
90
|
+
|
|
91
|
+
| Variable |
|
|
92
|
+
| ----- |
|
|
93
|
+
| `color-body` |
|
|
94
|
+
| `color-bar` |
|
|
95
|
+
| `color-sub-bar` |
|
|
96
|
+
| `color-text` |
|
|
97
|
+
| `color-sub-text` |
|
|
98
|
+
| `color-border` |
|
|
99
|
+
| `color-shadow` |
|
|
100
|
+
| `color-introduce-border` |
|
|
101
|
+
| `color-primary` |
|
|
102
|
+
| `color-link` |
|
|
103
|
+
| `color-type` |
|
|
104
|
+
| `color-progress` |
|
|
105
|
+
| `color-progress-track` |
|
|
106
|
+
| `color-side-bar` |
|
|
107
|
+
| `color-side-bar-active-background` |
|
|
108
|
+
| `color-app-bar` |
|
|
109
|
+
| `color-nav-button-hover-background` |
|
|
110
|
+
| `color-mobile-cell-hover` |
|
|
111
|
+
| `color-pc-language-active` |
|
|
112
|
+
| `color-pc-language-active-background` |
|
|
113
|
+
| `color-mobile-language-active` |
|
|
114
|
+
| `color-mobile-language-active-background` |
|
|
115
|
+
| `color-hl-background` |
|
|
116
|
+
| `color-hl-code` |
|
|
117
|
+
| `color-hl-border` |
|
|
118
|
+
| `color-hl-group-a` |
|
|
119
|
+
| `color-hl-group-b` |
|
|
120
|
+
| `color-hl-group-c` |
|
|
121
|
+
| `color-hl-group-d` |
|
|
122
|
+
| `color-hl-group-e` |
|
|
123
|
+
| `color-hl-group-f` |
|
|
124
|
+
| `color-hl-group-g` |
|
|
125
|
+
| `color-hl-group-h` |
|
|
126
|
+
| `color-hl-group-i` |
|
|
127
|
+
|
|
128
|
+
#### SiteHighlight
|
|
129
|
+
|
|
130
|
+
Code snippets are highlighted, based on [highlight.js](https://highlightjs.org/)
|
|
131
|
+
|
|
132
|
+
| Parameter | Description | Type | Default |
|
|
133
|
+
| ----- | -------------- | -------- | ---------- |
|
|
134
|
+
| `style` | highlight css link | _string_ | `-` |
|
|
135
|
+
|
|
136
|
+
#### SiteAnalysis
|
|
137
|
+
|
|
138
|
+
Statistics related to buried points
|
|
139
|
+
|
|
140
|
+
| Parameter | Description | Type | Default |
|
|
141
|
+
| ----- | -------------- | -------- | ---------- |
|
|
142
|
+
| `baidu` | Baidu statistics script address | _string_ | `-` |
|
|
143
|
+
|
|
144
|
+
#### SitePC, SiteMobile
|
|
145
|
+
|
|
146
|
+
The document structure is partly related, and the example configuration is as follows
|
|
147
|
+
|
|
148
|
+
```js
|
|
149
|
+
module.exports = {
|
|
150
|
+
defaultLanguage: 'en-US',
|
|
151
|
+
pc: {
|
|
152
|
+
redirect: '/home',
|
|
153
|
+
title: {
|
|
154
|
+
'en-US': 'A components library',
|
|
155
|
+
},
|
|
156
|
+
header: {
|
|
157
|
+
darkMode: null,
|
|
158
|
+
i18n: null,
|
|
159
|
+
github: 'https://github.com/varletjs/varlet',
|
|
160
|
+
},
|
|
161
|
+
menu: [
|
|
162
|
+
{
|
|
163
|
+
text: {
|
|
164
|
+
'en-US': 'Develop Guide',
|
|
165
|
+
},
|
|
166
|
+
// Sidebar menu directory
|
|
167
|
+
type: 1,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
text: {
|
|
171
|
+
'en-US': 'Basic Intro',
|
|
172
|
+
},
|
|
173
|
+
doc: 'home',
|
|
174
|
+
// Index the md document in the root directory of the project
|
|
175
|
+
type: 3,
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
text: {
|
|
179
|
+
'en-US': 'Basic Component',
|
|
180
|
+
},
|
|
181
|
+
type: 1,
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
text: {
|
|
185
|
+
'en-US': 'Button',
|
|
186
|
+
},
|
|
187
|
+
doc: 'button',
|
|
188
|
+
// Md document in the root directory of the index component
|
|
189
|
+
type: 2,
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
},
|
|
193
|
+
mobile: {
|
|
194
|
+
redirect: '/home',
|
|
195
|
+
title: {
|
|
196
|
+
'en-US': 'A components library',
|
|
197
|
+
},
|
|
198
|
+
header: {
|
|
199
|
+
darkMode: null,
|
|
200
|
+
i18n: null,
|
|
201
|
+
playground: null,
|
|
202
|
+
github: 'https://github.com/varletjs/varlet',
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Commands Intro
|
|
209
|
+
|
|
210
|
+
#### Start the development server
|
|
211
|
+
|
|
212
|
+
```shell
|
|
213
|
+
varlet-cli dev
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
#### Build documentation site
|
|
217
|
+
|
|
218
|
+
```shell
|
|
219
|
+
varlet-cli build
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
#### Preview documentation site
|
|
223
|
+
|
|
224
|
+
```shell
|
|
225
|
+
varlet-cli preview
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
#### Build component library code
|
|
229
|
+
|
|
230
|
+
```shell
|
|
231
|
+
varlet-cli compile
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
#### Perform all unit tests
|
|
235
|
+
|
|
236
|
+
```shell
|
|
237
|
+
varlet-cli test
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
#### Execute unit tests in watch mode
|
|
241
|
+
|
|
242
|
+
```shell
|
|
243
|
+
varlet-cli test -w
|
|
244
|
+
or
|
|
245
|
+
varlet-cli test -wa
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
#### Lint code
|
|
249
|
+
|
|
250
|
+
```shell
|
|
251
|
+
varlet-cli lint
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
#### Lint commit message
|
|
255
|
+
|
|
256
|
+
```shell
|
|
257
|
+
varlet-cli commit-lint
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
#### Generate changelog
|
|
261
|
+
|
|
262
|
+
```shell
|
|
263
|
+
varlet-cli changelog
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
#### Release component library
|
|
267
|
+
|
|
268
|
+
```shell
|
|
269
|
+
varlet-cli release
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
#### Generate a project template
|
|
273
|
+
```shell
|
|
274
|
+
varlet-cli gen <projectName>
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### babel
|
|
278
|
+
|
|
279
|
+
To configure `babel`, first specify the target browser in `package.json`
|
|
280
|
+
|
|
281
|
+
```json
|
|
282
|
+
{
|
|
283
|
+
"browserslist": [
|
|
284
|
+
"Chrome >= 51",
|
|
285
|
+
"iOS >= 10"
|
|
286
|
+
]
|
|
287
|
+
}
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
create `babel.config,js`
|
|
291
|
+
|
|
292
|
+
```js
|
|
293
|
+
// babel.config.js
|
|
294
|
+
module.exports = {
|
|
295
|
+
presets: [
|
|
296
|
+
[
|
|
297
|
+
'@varlet/cli/preset',
|
|
298
|
+
{
|
|
299
|
+
loose: process.env.NODE_ENV === 'compile',
|
|
300
|
+
},
|
|
301
|
+
],
|
|
302
|
+
],
|
|
303
|
+
}
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### git and npm
|
|
307
|
+
|
|
308
|
+
#### git-hook
|
|
309
|
+
|
|
310
|
+
`simple-git-hooks`, `lint-staged` cooperate with `eslint`, `stylelint`, `varlet-cli commit-lint` to check before commit,
|
|
311
|
+
`package.json` configuration is as follows
|
|
312
|
+
|
|
313
|
+
```json
|
|
314
|
+
{
|
|
315
|
+
"simple-git-hooks": {
|
|
316
|
+
"pre-commit": "pnpm exec lint-staged --allow-empty --concurrent false",
|
|
317
|
+
"commit-msg": "npx --no-install varlet-cli commit-lint $1"
|
|
318
|
+
},
|
|
319
|
+
"lint-staged": {
|
|
320
|
+
"*.{ts,tsx,js,vue,less}": "prettier --write",
|
|
321
|
+
"*.{ts,tsx,js,vue}": "eslint --fix",
|
|
322
|
+
"*.{vue,css,less}": "stylelint --fix"
|
|
323
|
+
},
|
|
324
|
+
"eslintConfig": {
|
|
325
|
+
"root": true,
|
|
326
|
+
"ignorePatterns": [
|
|
327
|
+
"es/**",
|
|
328
|
+
"umd/**",
|
|
329
|
+
"site/**",
|
|
330
|
+
"public/**",
|
|
331
|
+
"src/*/__tests__/**",
|
|
332
|
+
".varlet/**"
|
|
333
|
+
],
|
|
334
|
+
"extends": [
|
|
335
|
+
"@varlet"
|
|
336
|
+
]
|
|
337
|
+
},
|
|
338
|
+
"stylelint": {
|
|
339
|
+
"extends": [
|
|
340
|
+
"@varlet/stylelint-config"
|
|
341
|
+
],
|
|
342
|
+
"ignoreFiles": [
|
|
343
|
+
"es/**",
|
|
344
|
+
"umd/**",
|
|
345
|
+
"site/**",
|
|
346
|
+
"coverage/**",
|
|
347
|
+
"public/**",
|
|
348
|
+
"highlight/**"
|
|
349
|
+
]
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
Mount Git Hooks
|
|
355
|
+
|
|
356
|
+
```shell
|
|
357
|
+
npx simple-git-hooks
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
create `.prettierignore`
|
|
361
|
+
|
|
362
|
+
```text
|
|
363
|
+
// .prettierignore
|
|
364
|
+
coverage/**
|
|
365
|
+
es/**
|
|
366
|
+
umd/**
|
|
367
|
+
site/**
|
|
368
|
+
public/**
|
|
369
|
+
src/*/__tests__/**
|
|
370
|
+
*.md
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
### typescript
|
|
374
|
+
|
|
375
|
+
create `tsconfig.json`
|
|
376
|
+
|
|
377
|
+
```json
|
|
378
|
+
{
|
|
379
|
+
"compilerOptions": {
|
|
380
|
+
"strict": true,
|
|
381
|
+
"downlevelIteration": true,
|
|
382
|
+
"declaration": true,
|
|
383
|
+
"skipLibCheck": true,
|
|
384
|
+
"esModuleInterop": true,
|
|
385
|
+
"allowJs": true,
|
|
386
|
+
"lib": ["esnext", "dom"],
|
|
387
|
+
"allowSyntheticDefaultImports": true,
|
|
388
|
+
"jsx": "preserve"
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
#### Note before release
|
|
394
|
+
|
|
395
|
+
- 1.The registry of npm must set to the official npm mirror
|
|
396
|
+
- 2.The npm must execute the login command for user login
|
|
397
|
+
|
|
398
|
+
### Contributors
|
|
399
|
+
|
|
400
|
+
<a href="https://github.com/varletjs/varlet/graphs/contributors">
|
|
401
|
+
<img src="https://contrib.rocks/image?repo=haoziqaq/varlet" />
|
|
402
402
|
</a>
|