@varlet/cli 2.0.0-alpha.1663742071515 → 2.0.0-alpha.1664032365126

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.
Files changed (55) hide show
  1. package/README.en-US.md +1 -1
  2. package/README.md +1 -1
  3. package/lib/commands/create.js +58 -73
  4. package/lib/commands/gen.js +5 -10
  5. package/package.json +6 -7
  6. package/template/create/{tsx.ejs → [ComponentName].tsx.ejs} +2 -2
  7. package/template/create/{vue.ejs → [ComponentName].vue.ejs} +2 -2
  8. package/template/create/{less.ejs → [componentName].less.ejs} +0 -0
  9. package/template/create/__tests__/{index.spec.ejs → index.spec.js.ejs} +6 -1
  10. package/template/create/example/{index.ejs → index.vue.ejs} +0 -0
  11. package/template/create/{index.ejs → index.ts.ejs} +0 -1
  12. package/template/generators/base/.prettierignore +6 -1
  13. package/template/generators/base/README.md +1 -1
  14. package/template/generators/base/public/logo.svg +30 -1
  15. package/template/generators/config/default/base/docs/home.zh-CN.md +0 -8
  16. package/template/generators/config/default/base/package.json +12 -5
  17. package/template/generators/config/default/base/varlet.config.js +0 -65
  18. package/template/generators/config/default/sfc/src/button/Button.vue +3 -2
  19. package/template/generators/config/default/sfc/src/button/button.less +2 -2
  20. package/template/generators/config/default/sfc/src/button/docs/zh-CN.md +2 -11
  21. package/template/generators/config/default/sfc/src/button/example/BasicUse.vue +2 -2
  22. package/template/generators/config/default/sfc/src/button/example/ModifyColor.vue +2 -2
  23. package/template/generators/config/default/sfc/src/button/example/index.vue +3 -4
  24. package/template/generators/config/default/tsx/src/button/Button.tsx +2 -2
  25. package/template/generators/config/default/tsx/src/button/button.less +2 -2
  26. package/template/generators/config/default/tsx/src/button/docs/zh-CN.md +2 -11
  27. package/template/generators/config/default/tsx/src/button/example/BasicUse.vue +2 -2
  28. package/template/generators/config/default/tsx/src/button/example/ModifyColor.vue +2 -2
  29. package/template/generators/config/default/tsx/src/button/example/index.vue +3 -4
  30. package/template/generators/config/i18n/base/docs/home.en-US.md +0 -8
  31. package/template/generators/config/i18n/base/docs/home.zh-CN.md +0 -8
  32. package/template/generators/config/i18n/base/package.json +11 -4
  33. package/template/generators/config/i18n/base/varlet.config.js +0 -75
  34. package/template/generators/config/i18n/sfc/src/button/Button.vue +6 -5
  35. package/template/generators/config/i18n/sfc/src/button/button.less +2 -2
  36. package/template/generators/config/i18n/sfc/src/button/docs/en-US.md +7 -3
  37. package/template/generators/config/i18n/sfc/src/button/docs/zh-CN.md +6 -2
  38. package/template/generators/config/i18n/sfc/src/button/example/BasicUse.vue +2 -2
  39. package/template/generators/config/i18n/sfc/src/button/example/ModifyColor.vue +2 -2
  40. package/template/generators/config/i18n/sfc/src/button/example/index.vue +5 -2
  41. package/template/generators/config/i18n/tsx/src/button/Button.tsx +6 -8
  42. package/template/generators/config/i18n/tsx/src/button/button.less +2 -2
  43. package/template/generators/config/i18n/tsx/src/button/docs/en-US.md +7 -3
  44. package/template/generators/config/i18n/tsx/src/button/docs/zh-CN.md +6 -2
  45. package/template/generators/config/i18n/tsx/src/button/example/BasicUse.vue +3 -3
  46. package/template/generators/config/i18n/tsx/src/button/example/ModifyColor.vue +2 -2
  47. package/template/generators/config/i18n/tsx/src/button/example/index.vue +5 -2
  48. package/template/generators/config/i18n/tsx/src/button/index.ts +1 -1
  49. package/lib/commands/test.d.ts +0 -7
  50. package/lib/commands/test.js +0 -26
  51. package/lib/commands/useVite.d.ts +0 -1
  52. package/lib/commands/useVite.js +0 -70
  53. package/lib/config/vitest.config.d.ts +0 -2
  54. package/lib/config/vitest.config.js +0 -28
  55. package/template/generators/base/public/highlight.css +0 -1
package/README.en-US.md CHANGED
@@ -281,7 +281,7 @@ To configure `babel`, first specify the target browser in `package.json`
281
281
  ```json
282
282
  {
283
283
  "browserslist": [
284
- "Chrome >= 51",
284
+ "Chrome >= 54",
285
285
  "iOS >= 10"
286
286
  ]
287
287
  }
package/README.md CHANGED
@@ -277,7 +277,7 @@ varlet-cli gen <projectName>
277
277
  ```json
278
278
  {
279
279
  "browserslist": [
280
- "Chrome >= 51",
280
+ "Chrome >= 54",
281
281
  "iOS >= 10"
282
282
  ]
283
283
  }
@@ -35,102 +35,80 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
- var __read = (this && this.__read) || function (o, n) {
39
- var m = typeof Symbol === "function" && o[Symbol.iterator];
40
- if (!m) return o;
41
- var i = m.call(o), r, ar = [], e;
42
- try {
43
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
- }
45
- catch (error) { e = { error: error }; }
46
- finally {
47
- try {
48
- if (r && !r.done && (m = i["return"])) m.call(i);
49
- }
50
- finally { if (e) throw e.error; }
51
- }
52
- return ar;
53
- };
54
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
56
- if (ar || !(i in from)) {
57
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
58
- ar[i] = from[i];
59
- }
60
- }
61
- return to.concat(ar || Array.prototype.slice.call(from));
62
- };
63
38
  var __importDefault = (this && this.__importDefault) || function (mod) {
64
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
65
40
  };
66
41
  Object.defineProperty(exports, "__esModule", { value: true });
67
42
  exports.create = void 0;
43
+ var ejs_1 = __importDefault(require("ejs"));
44
+ var logger_1 = __importDefault(require("../shared/logger"));
68
45
  var shared_1 = require("@varlet/shared");
69
46
  var inquirer_1 = require("inquirer");
70
- var ejs_1 = __importDefault(require("ejs"));
71
47
  var fs_extra_1 = require("fs-extra");
72
48
  var lodash_1 = require("lodash");
73
49
  var path_1 = require("path");
74
- var logger_1 = __importDefault(require("../shared/logger"));
75
50
  var fsUtils_1 = require("../shared/fsUtils");
76
51
  var varlet_config_1 = require("../config/varlet.config");
77
52
  var constant_1 = require("../shared/constant");
78
- var templateFiles = ['__tests__/index.spec.js', 'example/index.vue', "less.less", 'index.ts'];
79
- var namespace = (0, lodash_1.get)((0, varlet_config_1.getVarletConfig)(), 'namespace');
80
- var createOptions = {
81
- kebabCaseName: 'component-name',
82
- bigCamelizeName: 'componentName',
83
- style: 'vue',
84
- namespace: namespace,
85
- bigCamelizeNamespace: (0, shared_1.bigCamelize)(namespace),
86
- };
87
- var ejsRender = function (filePath, options) {
88
- var _a = (0, path_1.parse)(filePath), dir = _a.dir, name = _a.name, ext = _a.ext;
89
- var componentPath = (0, path_1.resolve)(constant_1.SRC_DIR, options.kebabCaseName);
90
- var templatePath = (0, path_1.resolve)(componentPath, dir, "".concat(name, ".ejs"));
91
- var templateCode = (0, fs_extra_1.readFileSync)(templatePath, { encoding: 'utf-8' });
92
- var code = ejs_1.default.render(templateCode, options);
93
- if (ext.endsWith(name)) {
94
- filePath = "".concat(name === 'less' ? createOptions.kebabCaseName : createOptions.bigCamelizeName).concat(ext);
95
- }
96
- (0, fs_extra_1.outputFileSync)((0, path_1.resolve)(componentPath, filePath), code);
97
- };
98
- var removeFiles = function (path) { return __awaiter(void 0, void 0, void 0, function () {
99
- return __generator(this, function (_a) {
100
- switch (_a.label) {
101
- case 0:
102
- !createOptions.locale && (0, fs_extra_1.removeSync)("".concat(path, "/example/locale"));
103
- return [4 /*yield*/, (0, fsUtils_1.glob)("".concat(path, "/**/*.ejs"))];
104
- case 1:
105
- (_a.sent()).forEach(function (file) { return (0, fs_extra_1.removeSync)(file); });
106
- return [2 /*return*/];
107
- }
53
+ function renderTemplates(componentFolder, componentFolderName, renderData) {
54
+ return __awaiter(this, void 0, void 0, function () {
55
+ var templates;
56
+ return __generator(this, function (_a) {
57
+ switch (_a.label) {
58
+ case 0: return [4 /*yield*/, (0, fsUtils_1.glob)("".concat(componentFolder, "/**/*.ejs"))];
59
+ case 1:
60
+ templates = _a.sent();
61
+ templates.forEach(function (template) {
62
+ var templateCode = (0, fs_extra_1.readFileSync)(template, { encoding: 'utf-8' });
63
+ var code = ejs_1.default.render(templateCode, renderData);
64
+ var file = template
65
+ .replace('[componentName]', (0, shared_1.camelize)(componentFolderName))
66
+ .replace('[ComponentName]', (0, shared_1.bigCamelize)(componentFolderName))
67
+ .replace('.ejs', '');
68
+ (0, fs_extra_1.writeFileSync)(file, code);
69
+ (0, fs_extra_1.removeSync)(template);
70
+ });
71
+ return [2 /*return*/];
72
+ }
73
+ });
108
74
  });
109
- }); };
75
+ }
110
76
  function create(options) {
111
77
  return __awaiter(this, void 0, void 0, function () {
112
- var name, _a, locale, _b, style, componentPath;
78
+ var namespace, renderData, name, _a, componentFolder, componentFolderName, locale, _b, style;
113
79
  return __generator(this, function (_c) {
114
80
  switch (_c.label) {
115
81
  case 0:
116
- logger_1.default.title('\n📦📦 Create a Component ! \n');
82
+ logger_1.default.title('\n📦📦 Create a component ! \n');
83
+ namespace = (0, lodash_1.get)((0, varlet_config_1.getVarletConfig)(), 'namespace');
84
+ renderData = {
85
+ namespace: namespace,
86
+ bigCamelizeNamespace: (0, shared_1.bigCamelize)(namespace),
87
+ kebabCaseName: 'component-name',
88
+ bigCamelizeName: 'ComponentName',
89
+ camelizeName: 'componentName',
90
+ style: 'vue',
91
+ };
117
92
  if (!options.name) return [3 /*break*/, 1];
118
93
  _a = options;
119
94
  return [3 /*break*/, 3];
120
95
  case 1: return [4 /*yield*/, (0, inquirer_1.prompt)({
121
96
  name: 'name',
122
97
  message: 'Name of the component created: ',
123
- default: createOptions.kebabCaseName,
98
+ default: renderData.kebabCaseName,
124
99
  })];
125
100
  case 2:
126
101
  _a = _c.sent();
127
102
  _c.label = 3;
128
103
  case 3:
129
104
  name = (_a).name;
130
- createOptions.kebabCaseName = (0, shared_1.kebabCase)(name);
131
- createOptions.bigCamelizeName = (0, shared_1.bigCamelize)(name);
132
- if ((0, fs_extra_1.pathExistsSync)((0, path_1.resolve)(constant_1.SRC_DIR, createOptions.kebabCaseName))) {
133
- logger_1.default.error("".concat(createOptions.kebabCaseName, " already exist and cannot be recreated..."));
105
+ renderData.kebabCaseName = (0, shared_1.kebabCase)(name);
106
+ renderData.camelizeName = (0, shared_1.camelize)(name);
107
+ renderData.bigCamelizeName = (0, shared_1.bigCamelize)(name);
108
+ componentFolder = (0, path_1.resolve)(constant_1.SRC_DIR, renderData.kebabCaseName);
109
+ componentFolderName = renderData.kebabCaseName;
110
+ if ((0, fs_extra_1.pathExistsSync)(componentFolder)) {
111
+ logger_1.default.warning("".concat(componentFolderName, " already exist and cannot be recreated..."));
134
112
  return [2 /*return*/];
135
113
  }
136
114
  if (!options.locale) return [3 /*break*/, 4];
@@ -147,9 +125,9 @@ function create(options) {
147
125
  _c.label = 6;
148
126
  case 6:
149
127
  locale = (_b).locale;
150
- createOptions.locale = locale;
128
+ renderData.locale = locale;
151
129
  if (!(options.sfc || options.tsx)) return [3 /*break*/, 7];
152
- createOptions.style = options.sfc ? 'vue' : 'tsx';
130
+ renderData.style = options.sfc ? 'vue' : 'tsx';
153
131
  return [3 /*break*/, 9];
154
132
  case 7: return [4 /*yield*/, (0, inquirer_1.prompt)({
155
133
  name: 'style',
@@ -163,16 +141,23 @@ function create(options) {
163
141
  })];
164
142
  case 8:
165
143
  style = (_c.sent()).style;
166
- createOptions.style = style;
144
+ renderData.style = style;
167
145
  _c.label = 9;
168
146
  case 9:
169
- componentPath = (0, path_1.resolve)(constant_1.SRC_DIR, createOptions.kebabCaseName);
170
- (0, fs_extra_1.copySync)((0, path_1.resolve)(__dirname, '../../template/create'), componentPath);
171
- __spreadArray(__spreadArray([], __read(templateFiles), false), ["".concat(createOptions.style, ".").concat(createOptions.style)], false).forEach(function (file) { return ejsRender(file, createOptions); });
172
- return [4 /*yield*/, removeFiles(componentPath)];
147
+ (0, fs_extra_1.copySync)((0, path_1.resolve)(__dirname, '../../template/create'), componentFolder);
148
+ return [4 /*yield*/, renderTemplates(componentFolder, componentFolderName, renderData)];
173
149
  case 10:
174
150
  _c.sent();
175
- logger_1.default.success("Create ".concat(createOptions.kebabCaseName, " component success!"));
151
+ if (!renderData.locale) {
152
+ (0, fs_extra_1.removeSync)((0, path_1.resolve)(componentFolder, '/example/locale'));
153
+ }
154
+ if (renderData.style !== 'vue') {
155
+ (0, fs_extra_1.removeSync)((0, path_1.resolve)(componentFolder, "".concat(renderData.bigCamelizeName, ".vue")));
156
+ }
157
+ if (renderData.style !== 'tsx') {
158
+ (0, fs_extra_1.removeSync)((0, path_1.resolve)(componentFolder, "".concat(renderData.bigCamelizeName, ".tsx")));
159
+ }
160
+ logger_1.default.success("Create ".concat(componentFolderName, " component success!"));
176
161
  return [2 /*return*/];
177
162
  }
178
163
  });
@@ -45,11 +45,6 @@ var inquirer_1 = require("inquirer");
45
45
  var path_1 = require("path");
46
46
  var fs_extra_1 = require("fs-extra");
47
47
  var constant_1 = require("../shared/constant");
48
- var genOptions = {
49
- name: 'varlet-app',
50
- locale: false,
51
- style: 'sfc',
52
- };
53
48
  function syncVersion(name) {
54
49
  var file = (0, path_1.resolve)(constant_1.CWD, name, 'package.json');
55
50
  var pkg = JSON.parse((0, fs_extra_1.readFileSync)(file, 'utf-8'));
@@ -64,7 +59,7 @@ function syncVersion(name) {
64
59
  }
65
60
  function gen(options) {
66
61
  return __awaiter(this, void 0, void 0, function () {
67
- var name, _a, dest, style, i18n, _b, dirName, base, configBase, code;
62
+ var name, _a, dest, codeStyle, style, i18n, _b, dirName, base, configBase, code;
68
63
  return __generator(this, function (_c) {
69
64
  switch (_c.label) {
70
65
  case 0:
@@ -75,7 +70,7 @@ function gen(options) {
75
70
  case 1: return [4 /*yield*/, (0, inquirer_1.prompt)({
76
71
  name: 'name',
77
72
  message: 'Name of the generate application: ',
78
- default: genOptions.name,
73
+ default: 'varlet-cli-app',
79
74
  })];
80
75
  case 2:
81
76
  _a = _c.sent();
@@ -88,7 +83,7 @@ function gen(options) {
88
83
  return [2 /*return*/];
89
84
  }
90
85
  if (!(options.sfc || options.tsx)) return [3 /*break*/, 4];
91
- genOptions.style = options.sfc ? 'sfc' : 'tsx';
86
+ codeStyle = options.sfc ? 'sfc' : 'tsx';
92
87
  return [3 /*break*/, 6];
93
88
  case 4: return [4 /*yield*/, (0, inquirer_1.prompt)({
94
89
  name: 'style',
@@ -98,7 +93,7 @@ function gen(options) {
98
93
  })];
99
94
  case 5:
100
95
  style = (_c.sent()).style;
101
- genOptions.style = style;
96
+ codeStyle = style;
102
97
  _c.label = 6;
103
98
  case 6:
104
99
  if (!options.i18n) return [3 /*break*/, 7];
@@ -118,7 +113,7 @@ function gen(options) {
118
113
  dirName = i18n ? 'i18n' : 'default';
119
114
  base = (0, path_1.resolve)(constant_1.GENERATORS_DIR, 'base');
120
115
  configBase = (0, path_1.resolve)(constant_1.GENERATORS_DIR, 'config', dirName, 'base');
121
- code = (0, path_1.resolve)(constant_1.GENERATORS_DIR, 'config', dirName, genOptions.style);
116
+ code = (0, path_1.resolve)(constant_1.GENERATORS_DIR, 'config', dirName, codeStyle);
122
117
  return [4 /*yield*/, (0, fs_extra_1.copy)(base, dest)];
123
118
  case 10:
124
119
  _c.sent();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@varlet/cli",
3
- "version": "2.0.0-alpha.1663742071515",
3
+ "version": "2.0.0-alpha.1664032365126",
4
4
  "description": "cli of varlet",
5
5
  "bin": {
6
6
  "varlet-cli": "./lib/index.js"
@@ -32,10 +32,10 @@
32
32
  "@babel/helper-plugin-utils": "^7.14.5",
33
33
  "@babel/preset-env": "^7.14.8",
34
34
  "@babel/preset-typescript": "^7.14.5",
35
- "@varlet/icons": "2.0.0-alpha.1663742071515",
36
- "@varlet/markdown-vite-plugin": "2.0.0-alpha.1663742071515",
37
- "@varlet/shared": "2.0.0-alpha.1663742071515",
38
- "@varlet/touch-emulator": "2.0.0-alpha.1663742071515",
35
+ "@varlet/icons": "2.0.0-alpha.1664032365126",
36
+ "@varlet/markdown-vite-plugin": "2.0.0-alpha.1664032365126",
37
+ "@varlet/shared": "2.0.0-alpha.1664032365126",
38
+ "@varlet/touch-emulator": "2.0.0-alpha.1664032365126",
39
39
  "@vitejs/plugin-vue": "3.0.1",
40
40
  "@vitejs/plugin-vue-jsx": "2.0.0",
41
41
  "@vue/babel-plugin-jsx": "1.1.1",
@@ -79,10 +79,9 @@
79
79
  "@types/semver": "^7.3.9"
80
80
  },
81
81
  "peerDependencies": {
82
- "@varlet/touch-emulator": "2.0.0-alpha.1663742071515",
82
+ "@varlet/touch-emulator": "2.0.0-alpha.1664032365126",
83
83
  "@vue/runtime-core": "3.2.16",
84
84
  "@vue/test-utils": "^2.0.2",
85
- "jsdom": "^20.0.0",
86
85
  "clipboard": "^2.0.6",
87
86
  "live-server": "^1.2.1",
88
87
  "lodash-es": "^4.17.21",
@@ -1,13 +1,13 @@
1
1
  import { defineComponent } from 'vue'
2
2
  import { props } from './props'
3
- import './<%- kebabCaseName %>.less'
3
+ import './<%- camelizeName %>.less'
4
4
 
5
5
  export default defineComponent({
6
6
  name: '<%- bigCamelizeNamespace + bigCamelizeName %>',
7
7
  props,
8
8
  setup(props, { slots }) {
9
9
  return () => {
10
- return <div>{ slots.default?.() }</div>
10
+ return <div class="<%- namespace %>-<%- kebabCaseName %>">{ slots.default?.() }</div>
11
11
  }
12
12
  },
13
13
  })
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="var-<%- kebabCaseName %>"></div>
2
+ <div class="<%- namespace %>-<%- kebabCaseName %>"></div>
3
3
  </template>
4
4
 
5
5
  <script lang="ts">
@@ -13,5 +13,5 @@ export default defineComponent({
13
13
  </script>
14
14
 
15
15
  <style lang="less">
16
- @import './<%- kebabCaseName %>.less';
16
+ @import './<%- camelizeName %>.less';
17
17
  </style>
@@ -2,7 +2,12 @@ import <%- bigCamelizeName %> from '..'
2
2
  import { createApp } from 'vue'
3
3
  import { mount } from '@vue/test-utils'
4
4
 
5
- test('test <%- kebabCaseName %> use', () => {
5
+ test('test <%- kebabCaseName %> plugin', () => {
6
6
  const app = createApp({}).use(<%- bigCamelizeName %>)
7
7
  expect(app.component(<%- bigCamelizeName %>.name)).toBeTruthy()
8
8
  })
9
+
10
+ test('test <%- kebabCaseName %> snapshot', () => {
11
+ const wrapper = mount(<%- bigCamelizeName %>)
12
+ expect(wrapper.html()).toMatchSnapshot()
13
+ })
@@ -1,5 +1,4 @@
1
1
  // Component entry, the folder where the file exists will be exposed to the user
2
-
3
2
  import <%- bigCamelizeName %> from './<%- bigCamelizeName %>.vue'
4
3
  import type { App } from 'vue'
5
4
 
@@ -1,9 +1,14 @@
1
1
  coverage/**
2
+ highlight/**
2
3
  es/**
3
4
  umd/**
5
+ lib/**
4
6
  site/**
5
7
  public/**
6
- types/global.d.ts
8
+ .varlet/**
9
+ types/index.d.ts
7
10
  *.md
8
11
  package.json
9
12
 
13
+ pnpm-lock.yaml
14
+ pnpm-workspace.yaml
@@ -77,6 +77,6 @@ pnpm release
77
77
  #### Create component template files
78
78
 
79
79
  ```shell
80
- pnpm create <componentName>
80
+ pnpm run create
81
81
  ```
82
82
 
@@ -1 +1,30 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 261.76 226.69"><path d="M161.096.001l-30.225 52.351L100.647.001H-.005l130.877 226.688L261.749.001z" fill="#41b883"/><path d="M161.096.001l-30.225 52.351L100.647.001H52.346l78.526 136.01L209.398.001z" fill="#34495e"/></svg>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="138px" height="146px" viewBox="0 0 138 146" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>编组 2备份 4</title>
4
+ <defs>
5
+ <linearGradient x1="42.6722626%" y1="13.5075845%" x2="58.7114688%" y2="100%" id="linearGradient-1">
6
+ <stop stop-color="#3999FF" offset="0%"></stop>
7
+ <stop stop-color="#8F28FB" offset="100%"></stop>
8
+ </linearGradient>
9
+ <linearGradient x1="50%" y1="15.5408894%" x2="50%" y2="100%" id="linearGradient-2">
10
+ <stop stop-color="#722DFA" offset="0%"></stop>
11
+ <stop stop-color="#21D4FD" offset="100%"></stop>
12
+ </linearGradient>
13
+ <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-3">
14
+ <stop stop-color="#0DBBFA" offset="0%"></stop>
15
+ <stop stop-color="#2EF4D0" offset="100%"></stop>
16
+ </linearGradient>
17
+ <linearGradient x1="40.4455375%" y1="0%" x2="61.1107186%" y2="100%" id="linearGradient-4">
18
+ <stop stop-color="#54E7FA" offset="0%"></stop>
19
+ <stop stop-color="#3478FF" offset="100%"></stop>
20
+ </linearGradient>
21
+ </defs>
22
+ <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
23
+ <g id="编组-2备份-4">
24
+ <path d="M61.1454478,0 L80.8081453,0 C83.2200978,-4.36166956e-15 85.3680539,1.52588995 86.1620863,3.80339469 L133.110133,138.463395 C134.14103,141.420295 132.579697,144.653043 129.622797,145.683941 C129.022705,145.893158 128.391709,146 127.756192,146 L104.065574,146 L104.065574,146 L55.7915068,7.53660531 C54.7606091,4.57970533 56.3219425,1.34695661 59.2788425,0.316058965 C59.8789348,0.106841966 60.5099303,8.99852687e-15 61.1454478,0 Z" id="矩形备份-19" fill="url(#linearGradient-1)" transform="translate(94.450820, 73.000000) scale(-1, 1) translate(-94.450820, -73.000000) "></path>
25
+ <path d="M10.7758114,0.143137255 L28.2717621,0.143137255 C31.4003503,0.143137255 33.937707,2.67721101 33.9417574,5.8057966 L34.0758197,109.356863 L34.0758197,109.356863 L2.40368852,141.419608 L2.27081564,8.65664929 C2.26611457,3.95946985 6.0701199,0.147842583 10.7672993,0.143141514 C10.7701367,0.143138675 10.772974,0.143137255 10.7758114,0.143137255 Z" id="矩形备份-20" fill="url(#linearGradient-2)" transform="translate(18.169057, 70.781373) scale(-1, 1) translate(-18.169057, -70.781373) "></path>
26
+ <path d="M59.4954713,57.5193828 L80.5061701,57.5193828 C83.6322889,57.5193828 86.1686187,60.0496067 86.1761536,63.1757164 L86.440508,172.851892 C86.4456008,174.964841 85.2753699,176.905341 83.4041828,177.886788 L54.099775,193.257088 L54.099775,193.257088 L53.8254839,63.201341 C53.8188796,60.0698934 56.3520656,57.5259998 59.4835131,57.5193954 C59.4874992,57.519387 59.4914852,57.5193828 59.4954713,57.5193828 Z" id="矩形备份-21" fill="url(#linearGradient-3)" transform="translate(70.131148, 125.388235) rotate(-270.000000) translate(-70.131148, -125.388235) "></path>
27
+ <path d="M8.0988647,0 L27.7025748,0 C30.0859285,1.09876935e-16 32.2148633,1.49046324 33.0303471,3.72996343 L83.9352009,143.526025 L83.9352009,143.526025 L84.8360656,146 L57.1334908,146 C54.7501371,146 52.6212023,144.509537 51.8057185,142.270037 L2.77109236,7.61003657 C1.69963975,4.66758916 3.21638072,1.41368027 6.15882813,0.34222766 C6.78058382,0.115823698 7.43717075,1.89790805e-15 8.0988647,0 Z" id="矩形备份-22" fill="url(#linearGradient-4)"></path>
28
+ </g>
29
+ </g>
30
+ </svg>
@@ -1,11 +1,3 @@
1
- <div class="varlet-introduce">
2
- <div class="varlet-introduce__row">
3
- <img class="varlet-introduce__image" src="../public/logo.svg" />
4
- <div class="varlet-introduce__name">Basic UI</div>
5
- </div>
6
- <div class="varlet-introduce__des">一个组件库</div>
7
- </div>
8
-
9
1
  ### 介绍
10
2
 
11
3
  这里可以介绍一下组件库, 想写什么就写什么...
@@ -1,7 +1,7 @@
1
1
  {
2
- "name": "basic-ui",
2
+ "name": "@varlet/ui",
3
3
  "version": "0.0.0",
4
- "description": "A basic components library",
4
+ "description": "A components library example",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
7
7
  "typings": "types/index.d.ts",
@@ -18,6 +18,10 @@
18
18
  "sideEffects": [
19
19
  "es/**/style/*",
20
20
  "lib/**/style/*",
21
+ "es/style.js",
22
+ "es/less.js",
23
+ "lib/style.js",
24
+ "lib/less.js",
21
25
  "*.css",
22
26
  "*.less"
23
27
  ],
@@ -33,7 +37,7 @@
33
37
  "test": "varlet-cli jest",
34
38
  "test:watch": "varlet-cli jest -w",
35
39
  "test:watchAll": "varlet-cli jest -wa",
36
- "create": "varlet-cli create -d"
40
+ "create": "varlet-cli create"
37
41
  },
38
42
  "peerDependencies": {
39
43
  "vue": "^3.2.0"
@@ -45,7 +49,7 @@
45
49
  "@varlet/stylelint-config": "workspace:*",
46
50
  "@varlet/touch-emulator": "workspace:*",
47
51
  "@varlet/shared": "workspace:*",
48
- "@vue/test-utils": "2.0.0-rc.6",
52
+ "@vue/test-utils": "^2.0.2",
49
53
  "clipboard": "^2.0.6",
50
54
  "eslint": "^7.30.0",
51
55
  "lint-staged": "^10.5.0",
@@ -76,6 +80,9 @@
76
80
  "site/**",
77
81
  "public/**",
78
82
  "src/*/__tests__/**",
83
+ "coverage/**",
84
+ "highlight/**",
85
+ "types/index.d.ts",
79
86
  ".varlet/**"
80
87
  ],
81
88
  "extends": [
@@ -98,7 +105,7 @@
98
105
  ]
99
106
  },
100
107
  "browserslist": [
101
- "Chrome >= 51",
108
+ "Chrome >= 54",
102
109
  "iOS >= 10"
103
110
  ],
104
111
  "packageManager": "pnpm@7.9.0"
@@ -1,71 +1,11 @@
1
1
  module.exports = {
2
- name: 'Basic',
3
- namespace: 'b',
4
- title: 'Basic UI',
5
2
  logo: './logo.svg',
6
3
  useMobile: true,
7
- themes: {
8
- 'color-body': '#fff',
9
- 'color-bar': '#fff',
10
- 'color-sub-bar': '#f5f5f5',
11
- 'color-text': '#555',
12
- 'color-sub-text': '#888',
13
- 'color-border': 'rgba(0, 0, 0, 0.12)',
14
- 'color-shadow': '#eee',
15
- 'color-introduce-border': '#009688',
16
- 'color-primary': '#009688',
17
- 'color-link': '#009688',
18
- 'color-type': '#009688',
19
- 'color-progress': '#009688',
20
- 'color-progress-track': '#fff',
21
- 'color-side-bar': '#009688',
22
- 'color-side-bar-active-background': '#00968821',
23
- 'color-app-bar': '#009688',
24
- 'color-nav-button-hover-background': 'rgba(0, 0, 0, 0.08)',
25
- 'color-pc-language-active': '#009688',
26
- 'color-pc-language-active-background': '#00968821',
27
- 'color-mobile-language-active': '#009688',
28
- 'color-mobile-language-active-background': '#00968821',
29
- 'color-mobile-cell-hover': '#009688',
30
- },
31
- darkThemes: {
32
- 'color-body': '#121212',
33
- 'color-bar': '#1e1e1e',
34
- 'color-sub-bar': '#272727',
35
- 'color-text': '#fff',
36
- 'color-sub-text': '#aaa',
37
- 'color-border': '#333',
38
- 'color-shadow': '#121212',
39
- 'color-introduce-border': '#555',
40
- 'color-primary': '#009688',
41
- 'color-link': '#009688',
42
- 'color-type': '#009688',
43
- 'color-progress': '#009688',
44
- 'color-progress-track': '#202020',
45
- 'color-side-bar': '#009688',
46
- 'color-side-bar-active-background': '#00968821',
47
- 'color-app-bar': '#009688',
48
- 'color-nav-button-hover-background': 'rgba(255, 255, 255, 0.08)',
49
- 'color-pc-language-active': '#009688',
50
- 'color-pc-language-active-background': '#00968821',
51
- 'color-mobile-language-active': '#009688',
52
- 'color-mobile-language-active-background': '#00968821',
53
- 'color-mobile-cell-hover': '#009688',
54
- },
55
- highlight: {
56
- style: './highlight.css',
57
- },
58
4
  pc: {
59
- redirect: '/home',
60
- title: {
61
- 'zh-CN': '一个组件库',
62
- },
63
5
  header: {
64
6
  darkMode: null,
65
- versions: null,
66
7
  i18n: null,
67
8
  playground: null,
68
- github: 'https://github.com/varletjs/varlet',
69
9
  },
70
10
  menu: [
71
11
  {
@@ -97,14 +37,9 @@ module.exports = {
97
37
  ],
98
38
  },
99
39
  mobile: {
100
- redirect: '/home',
101
- title: {
102
- 'zh-CN': '一个组件库',
103
- },
104
40
  header: {
105
41
  i18n: null,
106
42
  darkMode: null,
107
- github: 'https://github.com/varletjs/varlet',
108
43
  },
109
44
  },
110
45
  }
@@ -1,13 +1,14 @@
1
1
  <template>
2
- <button class="basic-button" :style="{ background: color }">
2
+ <button class="var-button" :style="{ background: color }">
3
3
  <slot />
4
4
  </button>
5
5
  </template>
6
6
 
7
7
  <script lang="ts">
8
8
  import { defineComponent, PropType } from 'vue'
9
+
9
10
  export default defineComponent({
10
- name: 'BButton',
11
+ name: 'VarButton',
11
12
  props: {
12
13
  color: {
13
14
  type: String,
@@ -1,7 +1,7 @@
1
- .basic-button {
1
+ .var-button {
2
2
  display: flex;
3
3
  padding: 10px;
4
- background: #009688;
4
+ background: #3a7afe;
5
5
  color: #fff;
6
6
  outline: none;
7
7
  border: none;
@@ -1,17 +1,8 @@
1
1
  # 按钮
2
2
 
3
- ### 引入
4
-
5
- ```js
6
- import { createApp } from 'vue'
7
- import { Button } from 'basic-ui'
8
-
9
- createApp().use(Button)
10
- ```
11
-
12
3
  ### 基本使用
13
4
  ```html
14
- <b-button>组件库从我开始</b-button>
5
+ <var-button>组件库从我开始</var-button>
15
6
  ```
16
7
 
17
8
  ```vue
@@ -20,7 +11,7 @@ import BasicUse from '../example/BasicUse'
20
11
 
21
12
  ### 主题色按钮
22
13
  ```html
23
- <b-button color="#009688">组件库从我开始</b-button>
14
+ <var-button color="#009688">组件库从我开始</var-button>
24
15
  ```
25
16
 
26
17
  ```vue
@@ -1,7 +1,7 @@
1
1
  <script setup>
2
- import BButton from '../Button'
2
+ import VarButton from '..'
3
3
  </script>
4
4
 
5
5
  <template>
6
- <b-button>起步</b-button>
6
+ <var-button>起步</var-button>
7
7
  </template>