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

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 (231) hide show
  1. package/LICENCE +21 -21
  2. package/README.en-US.md +401 -401
  3. package/README.md +396 -396
  4. package/lib/commands/build.d.ts +1 -1
  5. package/lib/commands/build.js +67 -18
  6. package/lib/commands/changelog.d.ts +6 -6
  7. package/lib/commands/changelog.js +27 -26
  8. package/lib/commands/commitLint.d.ts +1 -1
  9. package/lib/commands/commitLint.js +21 -50
  10. package/lib/commands/compile.d.ts +7 -7
  11. package/lib/commands/compile.js +119 -43
  12. package/lib/commands/create.d.ts +8 -8
  13. package/lib/commands/create.js +181 -90
  14. package/lib/commands/dev.d.ts +5 -5
  15. package/lib/commands/dev.js +123 -44
  16. package/lib/commands/gen.d.ts +8 -8
  17. package/lib/commands/gen.js +140 -85
  18. package/lib/commands/jest.d.ts +8 -0
  19. package/lib/commands/jest.js +85 -0
  20. package/lib/commands/lint.d.ts +1 -1
  21. package/lib/commands/lint.js +123 -48
  22. package/lib/commands/preview.d.ts +1 -1
  23. package/lib/commands/preview.js +74 -23
  24. package/lib/commands/release.d.ts +5 -5
  25. package/lib/commands/release.js +270 -132
  26. package/lib/commands/test.d.ts +7 -7
  27. package/lib/commands/test.js +26 -26
  28. package/lib/commands/useVite.d.ts +1 -0
  29. package/lib/commands/useVite.js +70 -0
  30. package/lib/commands/vite.d.ts +3 -3
  31. package/lib/commands/vite.js +69 -20
  32. package/lib/compiler/compileModule.d.ts +5 -5
  33. package/lib/compiler/compileModule.js +190 -79
  34. package/lib/compiler/compileSFC.d.ts +2 -2
  35. package/lib/compiler/compileSFC.js +135 -86
  36. package/lib/compiler/compileScript.d.ts +17 -17
  37. package/lib/compiler/compileScript.js +194 -152
  38. package/lib/compiler/compileSiteEntry.d.ts +13 -13
  39. package/lib/compiler/compileSiteEntry.js +237 -140
  40. package/lib/compiler/compileStyle.d.ts +11 -11
  41. package/lib/compiler/compileStyle.js +91 -43
  42. package/lib/compiler/compileTemplateHighlight.d.ts +10 -10
  43. package/lib/compiler/compileTemplateHighlight.js +193 -145
  44. package/lib/compiler/compileTypes.d.ts +2 -2
  45. package/lib/compiler/compileTypes.js +85 -49
  46. package/lib/config/babel.config.d.ts +2 -2
  47. package/lib/config/babel.config.js +31 -30
  48. package/lib/config/babel.sfc.transform.d.ts +1 -1
  49. package/lib/config/babel.sfc.transform.js +18 -18
  50. package/lib/config/jest.config.d.ts +1 -0
  51. package/lib/config/jest.config.js +37 -0
  52. package/lib/config/jest.media.mock.d.ts +0 -0
  53. package/lib/config/jest.media.mock.js +2 -0
  54. package/lib/config/jest.style.mock.d.ts +0 -0
  55. package/lib/config/jest.style.mock.js +2 -0
  56. package/lib/config/varlet.config.d.ts +1 -1
  57. package/lib/config/varlet.config.js +24 -23
  58. package/lib/config/vite.config.d.ts +5 -5
  59. package/lib/config/vite.config.js +162 -157
  60. package/lib/config/vitest.config.d.ts +2 -2
  61. package/lib/config/vitest.config.js +28 -28
  62. package/lib/index.d.ts +2 -2
  63. package/lib/index.js +102 -84
  64. package/lib/shared/constant.d.ts +43 -44
  65. package/lib/shared/constant.js +50 -51
  66. package/lib/shared/fsUtils.d.ts +12 -12
  67. package/lib/shared/fsUtils.js +108 -61
  68. package/lib/shared/logger.d.ts +8 -8
  69. package/lib/shared/logger.js +23 -23
  70. package/package.json +11 -10
  71. package/preset.js +3 -3
  72. package/site/components/button/Button.vue +106 -106
  73. package/site/components/button/button.less +183 -183
  74. package/site/components/button/index.ts +10 -10
  75. package/site/components/button/props.ts +78 -78
  76. package/site/components/cell/Cell.vue +54 -54
  77. package/site/components/cell/cell.less +78 -78
  78. package/site/components/cell/index.ts +10 -10
  79. package/site/components/cell/props.ts +27 -27
  80. package/site/components/code-example/CodeExample.vue +137 -137
  81. package/site/components/code-example/codeExample.less +41 -41
  82. package/site/components/code-example/index.ts +10 -10
  83. package/site/components/context/index.ts +21 -21
  84. package/site/components/context/lock.ts +92 -92
  85. package/site/components/context/zIndex.ts +20 -20
  86. package/site/components/icon/Icon.vue +75 -75
  87. package/site/components/icon/icon.less +26 -26
  88. package/site/components/icon/index.ts +10 -10
  89. package/site/components/icon/props.ts +24 -24
  90. package/site/components/loading/Loading.vue +84 -84
  91. package/site/components/loading/index.ts +10 -10
  92. package/site/components/loading/loading.less +505 -505
  93. package/site/components/loading/props.ts +42 -42
  94. package/site/components/popup/Popup.tsx +102 -102
  95. package/site/components/popup/index.ts +10 -10
  96. package/site/components/popup/popup.less +125 -125
  97. package/site/components/popup/props.ts +63 -63
  98. package/site/components/progress/Progress.vue +112 -112
  99. package/site/components/progress/index.ts +10 -10
  100. package/site/components/progress/progress.less +101 -101
  101. package/site/components/progress/props.ts +55 -55
  102. package/site/components/ripple/index.ts +188 -188
  103. package/site/components/ripple/ripple.less +20 -20
  104. package/site/components/snackbar/Snackbar.vue +41 -41
  105. package/site/components/snackbar/core.vue +132 -132
  106. package/site/components/snackbar/index.tsx +270 -270
  107. package/site/components/snackbar/props.ts +97 -97
  108. package/site/components/snackbar/snackbar.less +135 -135
  109. package/site/components/styles/common.less +64 -64
  110. package/site/components/styles/elevation.less +126 -126
  111. package/site/components/styles/var.less +27 -27
  112. package/site/components/utils/components.ts +117 -117
  113. package/site/components/utils/elements.ts +102 -102
  114. package/site/index.html +49 -49
  115. package/site/mobile/App.vue +291 -291
  116. package/site/mobile/components/AppHome.vue +134 -134
  117. package/site/mobile/components/AppType.vue +22 -22
  118. package/site/mobile/components/app-bar/AppBar.vue +65 -65
  119. package/site/mobile/components/app-bar/appBar.less +57 -57
  120. package/site/mobile/components/app-bar/index.ts +10 -10
  121. package/site/mobile/components/app-bar/props.ts +25 -25
  122. package/site/mobile/main.ts +78 -78
  123. package/site/mobile.html +41 -41
  124. package/site/module.d.ts +5 -5
  125. package/site/pc/App.vue +43 -43
  126. package/site/pc/Layout.vue +423 -423
  127. package/site/pc/components/AnimationBox.vue +33 -33
  128. package/site/pc/components/AppHeader.vue +368 -368
  129. package/site/pc/components/AppMobile.vue +60 -60
  130. package/site/pc/components/AppSidebar.vue +143 -143
  131. package/site/pc/components/LogoAnimation.vue +117 -117
  132. package/site/pc/floating.ts +9 -9
  133. package/site/pc/main.ts +100 -100
  134. package/site/pc/pages/index/index.less +176 -176
  135. package/site/pc/pages/index/index.vue +130 -130
  136. package/site/pc/pages/index/locale/en-US.ts +1 -1
  137. package/site/pc/pages/index/locale/zh-CN.ts +1 -1
  138. package/site/tsconfig.json +11 -11
  139. package/site/useProgress.ts +72 -72
  140. package/site/utils.ts +165 -167
  141. package/template/create/__tests__/index.spec.ejs +8 -8
  142. package/template/create/example/index.ejs +15 -15
  143. package/template/create/example/locale/en-US.ts +3 -3
  144. package/template/create/example/locale/index.ts +23 -23
  145. package/template/create/example/locale/zh-CN.ts +3 -3
  146. package/template/create/index.ejs +12 -12
  147. package/template/create/less.ejs +3 -3
  148. package/template/create/props.ts +1 -1
  149. package/template/create/tsx.ejs +13 -13
  150. package/template/create/vue.ejs +17 -17
  151. package/template/generators/base/.prettierignore +9 -9
  152. package/template/generators/base/.prettierrc +5 -5
  153. package/template/generators/base/README.md +82 -82
  154. package/template/generators/base/babel.config.js +10 -10
  155. package/template/generators/base/public/highlight.css +1 -1
  156. package/template/generators/base/public/logo.svg +1 -1
  157. package/template/generators/base/shims/shims-md.d.ts +4 -4
  158. package/template/generators/base/shims/shims-vue.d.ts +6 -6
  159. package/template/generators/base/tsconfig.json +13 -13
  160. package/template/generators/config/default/base/docs/home.zh-CN.md +10 -10
  161. package/template/generators/config/default/base/package.json +105 -105
  162. package/template/generators/config/default/base/types/basicComponent.d.ts +7 -7
  163. package/template/generators/config/default/base/types/button.d.ts +12 -12
  164. package/template/generators/config/default/base/types/index.d.ts +6 -6
  165. package/template/generators/config/default/base/varlet.config.js +110 -110
  166. package/template/generators/config/default/sfc/src/button/Button.vue +30 -30
  167. package/template/generators/config/default/sfc/src/button/__tests__/index.spec.js +7 -7
  168. package/template/generators/config/default/sfc/src/button/button.less +14 -14
  169. package/template/generators/config/default/sfc/src/button/docs/zh-CN.md +47 -47
  170. package/template/generators/config/default/sfc/src/button/example/BasicUse.vue +7 -7
  171. package/template/generators/config/default/sfc/src/button/example/ModifyColor.vue +7 -7
  172. package/template/generators/config/default/sfc/src/button/example/index.vue +13 -13
  173. package/template/generators/config/default/sfc/src/button/index.ts +10 -10
  174. package/template/generators/config/default/tsx/src/button/Button.tsx +29 -29
  175. package/template/generators/config/default/tsx/src/button/__tests__/index.spec.js +7 -7
  176. package/template/generators/config/default/tsx/src/button/button.less +14 -14
  177. package/template/generators/config/default/tsx/src/button/docs/zh-CN.md +47 -47
  178. package/template/generators/config/default/tsx/src/button/example/BasicUse.vue +7 -7
  179. package/template/generators/config/default/tsx/src/button/example/ModifyColor.vue +7 -7
  180. package/template/generators/config/default/tsx/src/button/example/index.vue +13 -13
  181. package/template/generators/config/default/tsx/src/button/index.ts +10 -10
  182. package/template/generators/config/i18n/base/docs/home.en-US.md +11 -11
  183. package/template/generators/config/i18n/base/docs/home.zh-CN.md +10 -10
  184. package/template/generators/config/i18n/base/package.json +105 -105
  185. package/template/generators/config/i18n/base/types/basicComponent.d.ts +7 -7
  186. package/template/generators/config/i18n/base/types/button.d.ts +12 -12
  187. package/template/generators/config/i18n/base/types/index.d.ts +7 -7
  188. package/template/generators/config/i18n/base/types/locale.d.ts +24 -24
  189. package/template/generators/config/i18n/base/varlet.config.js +122 -122
  190. package/template/generators/config/i18n/sfc/src/button/Button.vue +36 -36
  191. package/template/generators/config/i18n/sfc/src/button/__tests__/index.spec.js +7 -7
  192. package/template/generators/config/i18n/sfc/src/button/button.less +14 -14
  193. package/template/generators/config/i18n/sfc/src/button/docs/en-US.md +34 -34
  194. package/template/generators/config/i18n/sfc/src/button/docs/zh-CN.md +34 -34
  195. package/template/generators/config/i18n/sfc/src/button/example/BasicUse.vue +11 -11
  196. package/template/generators/config/i18n/sfc/src/button/example/ModifyColor.vue +11 -11
  197. package/template/generators/config/i18n/sfc/src/button/example/index.vue +13 -13
  198. package/template/generators/config/i18n/sfc/src/button/example/locale/en-US.ts +5 -5
  199. package/template/generators/config/i18n/sfc/src/button/example/locale/index.ts +23 -23
  200. package/template/generators/config/i18n/sfc/src/button/example/locale/zh-CN.ts +5 -5
  201. package/template/generators/config/i18n/sfc/src/button/index.ts +10 -10
  202. package/template/generators/config/i18n/sfc/src/locale/__tests__/index.spec.js +51 -51
  203. package/template/generators/config/i18n/sfc/src/locale/docs/en-US.md +26 -26
  204. package/template/generators/config/i18n/sfc/src/locale/docs/zh-CN.md +25 -25
  205. package/template/generators/config/i18n/sfc/src/locale/en-US.d.ts +5 -5
  206. package/template/generators/config/i18n/sfc/src/locale/en-US.ts +7 -7
  207. package/template/generators/config/i18n/sfc/src/locale/index.ts +67 -67
  208. package/template/generators/config/i18n/sfc/src/locale/zh-CN.d.ts +5 -5
  209. package/template/generators/config/i18n/sfc/src/locale/zh-CN.ts +7 -7
  210. package/template/generators/config/i18n/tsx/src/button/Button.tsx +33 -33
  211. package/template/generators/config/i18n/tsx/src/button/__tests__/index.spec.js +7 -7
  212. package/template/generators/config/i18n/tsx/src/button/button.less +14 -14
  213. package/template/generators/config/i18n/tsx/src/button/docs/en-US.md +34 -34
  214. package/template/generators/config/i18n/tsx/src/button/docs/zh-CN.md +34 -34
  215. package/template/generators/config/i18n/tsx/src/button/example/BasicUse.vue +11 -11
  216. package/template/generators/config/i18n/tsx/src/button/example/ModifyColor.vue +11 -11
  217. package/template/generators/config/i18n/tsx/src/button/example/index.vue +13 -13
  218. package/template/generators/config/i18n/tsx/src/button/example/locale/en-US.ts +5 -5
  219. package/template/generators/config/i18n/tsx/src/button/example/locale/index.ts +23 -23
  220. package/template/generators/config/i18n/tsx/src/button/example/locale/zh-CN.ts +5 -5
  221. package/template/generators/config/i18n/tsx/src/button/index.ts +10 -10
  222. package/template/generators/config/i18n/tsx/src/locale/__tests__/index.spec.js +51 -51
  223. package/template/generators/config/i18n/tsx/src/locale/docs/en-US.md +26 -26
  224. package/template/generators/config/i18n/tsx/src/locale/docs/zh-CN.md +25 -25
  225. package/template/generators/config/i18n/tsx/src/locale/en-US.d.ts +5 -5
  226. package/template/generators/config/i18n/tsx/src/locale/en-US.ts +7 -7
  227. package/template/generators/config/i18n/tsx/src/locale/index.ts +67 -67
  228. package/template/generators/config/i18n/tsx/src/locale/zh-CN.d.ts +5 -5
  229. package/template/generators/config/i18n/tsx/src/locale/zh-CN.ts +7 -7
  230. package/tsconfig.json +14 -15
  231. package/varlet.default.config.js +3 -3
@@ -1,90 +1,181 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.create = void 0;
7
- const shared_1 = require("@varlet/shared");
8
- const inquirer_1 = require("inquirer");
9
- const ejs_1 = __importDefault(require("ejs"));
10
- const fs_extra_1 = require("fs-extra");
11
- const lodash_1 = require("lodash");
12
- const path_1 = require("path");
13
- const logger_1 = __importDefault(require("../shared/logger"));
14
- const fsUtils_1 = require("../shared/fsUtils");
15
- const varlet_config_1 = require("../config/varlet.config");
16
- const constant_1 = require("../shared/constant");
17
- const templateFiles = ['__tests__/index.spec.js', 'example/index.vue', `less.less`, 'index.ts'];
18
- const namespace = (0, lodash_1.get)((0, varlet_config_1.getVarletConfig)(), 'namespace');
19
- const createOptions = {
20
- kebabCaseName: 'component-name',
21
- bigCamelizeName: 'componentName',
22
- style: 'vue',
23
- namespace,
24
- bigCamelizeNamespace: (0, shared_1.bigCamelize)(namespace),
25
- };
26
- const ejsRender = (filePath, options) => {
27
- const { dir, name, ext } = (0, path_1.parse)(filePath);
28
- const componentPath = (0, path_1.resolve)(constant_1.SRC_DIR, options.kebabCaseName);
29
- const templatePath = (0, path_1.resolve)(componentPath, dir, `${name}.ejs`);
30
- const templateCode = (0, fs_extra_1.readFileSync)(templatePath, { encoding: 'utf-8' });
31
- const code = ejs_1.default.render(templateCode, options);
32
- if (ext.endsWith(name)) {
33
- filePath = `${name === 'less' ? createOptions.kebabCaseName : createOptions.bigCamelizeName}${ext}`;
34
- }
35
- (0, fs_extra_1.outputFileSync)((0, path_1.resolve)(componentPath, filePath), code);
36
- };
37
- const removeFiles = async (path) => {
38
- !createOptions.locale && (0, fs_extra_1.removeSync)(`${path}/example/locale`);
39
- (await (0, fsUtils_1.glob)(`${path}/**/*.ejs`)).forEach((file) => (0, fs_extra_1.removeSync)(file));
40
- };
41
- async function create(options) {
42
- logger_1.default.title('\n📦📦 Create a Component ! \n');
43
- const { name } = options.name
44
- ? options
45
- : await (0, inquirer_1.prompt)({
46
- name: 'name',
47
- message: 'Name of the component created: ',
48
- default: createOptions.kebabCaseName,
49
- });
50
- createOptions.kebabCaseName = (0, shared_1.kebabCase)(name);
51
- createOptions.bigCamelizeName = (0, shared_1.bigCamelize)(name);
52
- if ((0, fs_extra_1.pathExistsSync)((0, path_1.resolve)(constant_1.SRC_DIR, createOptions.kebabCaseName))) {
53
- logger_1.default.error(`${createOptions.kebabCaseName} already exist and cannot be recreated...`);
54
- return;
55
- }
56
- // Determine whether the parameter carries internationalization.
57
- const { locale } = options.locale
58
- ? options
59
- : await (0, inquirer_1.prompt)({
60
- name: 'locale',
61
- type: 'confirm',
62
- message: 'Whether to use i18n?',
63
- default: false,
64
- });
65
- createOptions.locale = locale;
66
- // Determine whether the parameter carries a component style
67
- if (options.sfc || options.tsx) {
68
- createOptions.style = options.sfc ? 'vue' : 'tsx';
69
- }
70
- else {
71
- const { style } = await (0, inquirer_1.prompt)({
72
- name: 'style',
73
- type: 'list',
74
- message: 'Which style do you use to write your component ?',
75
- choices: [
76
- { name: 'sfc', value: 'vue' },
77
- { name: 'tsx', value: 'tsx' },
78
- ],
79
- default: 'vue',
80
- });
81
- createOptions.style = style;
82
- }
83
- // Copy files to Current working directory
84
- const componentPath = (0, path_1.resolve)(constant_1.SRC_DIR, createOptions.kebabCaseName);
85
- (0, fs_extra_1.copySync)((0, path_1.resolve)(__dirname, '../../template/create'), componentPath);
86
- [...templateFiles, `${createOptions.style}.${createOptions.style}`].forEach((file) => ejsRender(file, createOptions));
87
- await removeFiles(componentPath);
88
- logger_1.default.success(`Create ${createOptions.kebabCaseName} component success!`);
89
- }
90
- exports.create = create;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
64
+ return (mod && mod.__esModule) ? mod : { "default": mod };
65
+ };
66
+ Object.defineProperty(exports, "__esModule", { value: true });
67
+ exports.create = void 0;
68
+ var shared_1 = require("@varlet/shared");
69
+ var inquirer_1 = require("inquirer");
70
+ var ejs_1 = __importDefault(require("ejs"));
71
+ var fs_extra_1 = require("fs-extra");
72
+ var lodash_1 = require("lodash");
73
+ var path_1 = require("path");
74
+ var logger_1 = __importDefault(require("../shared/logger"));
75
+ var fsUtils_1 = require("../shared/fsUtils");
76
+ var varlet_config_1 = require("../config/varlet.config");
77
+ 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
+ }
108
+ });
109
+ }); };
110
+ function create(options) {
111
+ return __awaiter(this, void 0, void 0, function () {
112
+ var name, _a, locale, _b, style, componentPath;
113
+ return __generator(this, function (_c) {
114
+ switch (_c.label) {
115
+ case 0:
116
+ logger_1.default.title('\n📦📦 Create a Component ! \n');
117
+ if (!options.name) return [3 /*break*/, 1];
118
+ _a = options;
119
+ return [3 /*break*/, 3];
120
+ case 1: return [4 /*yield*/, (0, inquirer_1.prompt)({
121
+ name: 'name',
122
+ message: 'Name of the component created: ',
123
+ default: createOptions.kebabCaseName,
124
+ })];
125
+ case 2:
126
+ _a = _c.sent();
127
+ _c.label = 3;
128
+ case 3:
129
+ 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..."));
134
+ return [2 /*return*/];
135
+ }
136
+ if (!options.locale) return [3 /*break*/, 4];
137
+ _b = options;
138
+ return [3 /*break*/, 6];
139
+ case 4: return [4 /*yield*/, (0, inquirer_1.prompt)({
140
+ name: 'locale',
141
+ type: 'confirm',
142
+ message: 'Whether to use i18n?',
143
+ default: false,
144
+ })];
145
+ case 5:
146
+ _b = _c.sent();
147
+ _c.label = 6;
148
+ case 6:
149
+ locale = (_b).locale;
150
+ createOptions.locale = locale;
151
+ if (!(options.sfc || options.tsx)) return [3 /*break*/, 7];
152
+ createOptions.style = options.sfc ? 'vue' : 'tsx';
153
+ return [3 /*break*/, 9];
154
+ case 7: return [4 /*yield*/, (0, inquirer_1.prompt)({
155
+ name: 'style',
156
+ type: 'list',
157
+ message: 'Which style do you use to write your component ?',
158
+ choices: [
159
+ { name: 'sfc', value: 'vue' },
160
+ { name: 'tsx', value: 'tsx' },
161
+ ],
162
+ default: 'vue',
163
+ })];
164
+ case 8:
165
+ style = (_c.sent()).style;
166
+ createOptions.style = style;
167
+ _c.label = 9;
168
+ 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)];
173
+ case 10:
174
+ _c.sent();
175
+ logger_1.default.success("Create ".concat(createOptions.kebabCaseName, " component success!"));
176
+ return [2 /*return*/];
177
+ }
178
+ });
179
+ });
180
+ }
181
+ exports.create = create;
@@ -1,5 +1,5 @@
1
- interface DevCommandOptions {
2
- force?: boolean;
3
- }
4
- export declare function dev(options: DevCommandOptions): Promise<void>;
5
- export {};
1
+ interface DevCommandOptions {
2
+ force?: boolean;
3
+ }
4
+ export declare function dev(options: DevCommandOptions): Promise<void>;
5
+ export {};
@@ -1,44 +1,123 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.dev = void 0;
7
- const chokidar_1 = __importDefault(require("chokidar"));
8
- const logger_1 = __importDefault(require("../shared/logger"));
9
- const vite_1 = require("vite");
10
- const fs_extra_1 = require("fs-extra");
11
- const constant_1 = require("../shared/constant");
12
- const compileSiteEntry_1 = require("../compiler/compileSiteEntry");
13
- const vite_config_1 = require("../config/vite.config");
14
- const varlet_config_1 = require("../config/varlet.config");
15
- const lodash_1 = require("lodash");
16
- let server;
17
- let watcher;
18
- async function startServer(force) {
19
- const isRestart = Boolean(server);
20
- logger_1.default.info(`${isRestart ? 'Res' : 'S'}tarting server...`);
21
- // close all instance
22
- server && (await server.close());
23
- watcher && (await watcher.close());
24
- // build all config
25
- await (0, compileSiteEntry_1.buildSiteEntry)();
26
- const varletConfig = (0, varlet_config_1.getVarletConfig)();
27
- const devConfig = (0, vite_config_1.getDevConfig)(varletConfig);
28
- const inlineConfig = (0, lodash_1.merge)(devConfig, force ? { optimizeDeps: { force: true } } : {});
29
- // create all instance
30
- server = await (0, vite_1.createServer)(inlineConfig);
31
- await server.listen();
32
- server.printUrls();
33
- if ((0, fs_extra_1.pathExistsSync)(constant_1.VARLET_CONFIG)) {
34
- watcher = chokidar_1.default.watch(constant_1.VARLET_CONFIG);
35
- watcher.on('change', () => startServer(force));
36
- }
37
- logger_1.default.success(`\n${isRestart ? 'Res' : 'S'}tart successfully!!!`);
38
- }
39
- async function dev(options) {
40
- process.env.NODE_ENV = 'development';
41
- (0, fs_extra_1.ensureDirSync)(constant_1.SRC_DIR);
42
- await startServer(options.force);
43
- }
44
- exports.dev = dev;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.dev = void 0;
43
+ var chokidar_1 = __importDefault(require("chokidar"));
44
+ var logger_1 = __importDefault(require("../shared/logger"));
45
+ var vite_1 = require("vite");
46
+ var fs_extra_1 = require("fs-extra");
47
+ var constant_1 = require("../shared/constant");
48
+ var compileSiteEntry_1 = require("../compiler/compileSiteEntry");
49
+ var vite_config_1 = require("../config/vite.config");
50
+ var varlet_config_1 = require("../config/varlet.config");
51
+ var lodash_1 = require("lodash");
52
+ var server;
53
+ var watcher;
54
+ function startServer(force) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var isRestart, _a, _b, varletConfig, devConfig, inlineConfig;
57
+ return __generator(this, function (_c) {
58
+ switch (_c.label) {
59
+ case 0:
60
+ isRestart = Boolean(server);
61
+ logger_1.default.info("".concat(isRestart ? 'Res' : 'S', "tarting server..."));
62
+ // close all instance
63
+ _a = server;
64
+ if (!_a)
65
+ // close all instance
66
+ return [3 /*break*/, 2];
67
+ return [4 /*yield*/, server.close()];
68
+ case 1:
69
+ _a = (_c.sent());
70
+ _c.label = 2;
71
+ case 2:
72
+ // close all instance
73
+ _a;
74
+ _b = watcher;
75
+ if (!_b) return [3 /*break*/, 4];
76
+ return [4 /*yield*/, watcher.close()];
77
+ case 3:
78
+ _b = (_c.sent());
79
+ _c.label = 4;
80
+ case 4:
81
+ _b;
82
+ // build all config
83
+ return [4 /*yield*/, (0, compileSiteEntry_1.buildSiteEntry)()];
84
+ case 5:
85
+ // build all config
86
+ _c.sent();
87
+ varletConfig = (0, varlet_config_1.getVarletConfig)();
88
+ devConfig = (0, vite_config_1.getDevConfig)(varletConfig);
89
+ inlineConfig = (0, lodash_1.merge)(devConfig, force ? { optimizeDeps: { force: true } } : {});
90
+ return [4 /*yield*/, (0, vite_1.createServer)(inlineConfig)];
91
+ case 6:
92
+ // create all instance
93
+ server = _c.sent();
94
+ return [4 /*yield*/, server.listen()];
95
+ case 7:
96
+ _c.sent();
97
+ server.printUrls();
98
+ if ((0, fs_extra_1.pathExistsSync)(constant_1.VARLET_CONFIG)) {
99
+ watcher = chokidar_1.default.watch(constant_1.VARLET_CONFIG);
100
+ watcher.on('change', function () { return startServer(force); });
101
+ }
102
+ logger_1.default.success("\n".concat(isRestart ? 'Res' : 'S', "tart successfully!!!"));
103
+ return [2 /*return*/];
104
+ }
105
+ });
106
+ });
107
+ }
108
+ function dev(options) {
109
+ return __awaiter(this, void 0, void 0, function () {
110
+ return __generator(this, function (_a) {
111
+ switch (_a.label) {
112
+ case 0:
113
+ process.env.NODE_ENV = 'development';
114
+ (0, fs_extra_1.ensureDirSync)(constant_1.SRC_DIR);
115
+ return [4 /*yield*/, startServer(options.force)];
116
+ case 1:
117
+ _a.sent();
118
+ return [2 /*return*/];
119
+ }
120
+ });
121
+ });
122
+ }
123
+ exports.dev = dev;
@@ -1,8 +1,8 @@
1
- interface GenCommandOptions {
2
- name?: string;
3
- i18n?: boolean;
4
- sfc?: boolean;
5
- tsx?: boolean;
6
- }
7
- export declare function gen(options: GenCommandOptions): Promise<void>;
8
- export {};
1
+ interface GenCommandOptions {
2
+ name?: string;
3
+ i18n?: boolean;
4
+ sfc?: boolean;
5
+ tsx?: boolean;
6
+ }
7
+ export declare function gen(options: GenCommandOptions): Promise<void>;
8
+ export {};