@spcsn/taro-cli 0.1.0

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 (213) hide show
  1. package/LICENSE +174 -0
  2. package/README.md +0 -0
  3. package/bin/taro +7 -0
  4. package/dist/cli.d.ts +6 -0
  5. package/dist/cli.js +266 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/customCommand.d.ts +5 -0
  8. package/dist/commands/customCommand.js +23 -0
  9. package/dist/commands/customCommand.js.map +1 -0
  10. package/dist/config/index.d.ts +8 -0
  11. package/dist/config/index.js +10 -0
  12. package/dist/config/index.js.map +1 -0
  13. package/dist/config/packagesManagement.d.ts +19 -0
  14. package/dist/config/packagesManagement.js +22 -0
  15. package/dist/config/packagesManagement.js.map +1 -0
  16. package/dist/create/constants.d.ts +1 -0
  17. package/dist/create/constants.js +5 -0
  18. package/dist/create/constants.js.map +1 -0
  19. package/dist/create/creator.d.ts +9 -0
  20. package/dist/create/creator.js +64 -0
  21. package/dist/create/creator.js.map +1 -0
  22. package/dist/create/fetchTemplate.d.ts +8 -0
  23. package/dist/create/fetchTemplate.js +169 -0
  24. package/dist/create/fetchTemplate.js.map +1 -0
  25. package/dist/create/page.d.ts +65 -0
  26. package/dist/create/page.js +266 -0
  27. package/dist/create/page.js.map +1 -0
  28. package/dist/create/plugin.d.ts +16 -0
  29. package/dist/create/plugin.js +77 -0
  30. package/dist/create/plugin.js.map +1 -0
  31. package/dist/create/project.d.ts +70 -0
  32. package/dist/create/project.js +481 -0
  33. package/dist/create/project.js.map +1 -0
  34. package/dist/doctor/index.d.ts +4 -0
  35. package/dist/doctor/index.js +23 -0
  36. package/dist/doctor/index.js.map +1 -0
  37. package/dist/index.d.ts +16 -0
  38. package/dist/index.js +24 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/presets/commands/build.d.ts +3 -0
  41. package/dist/presets/commands/build.js +236 -0
  42. package/dist/presets/commands/build.js.map +1 -0
  43. package/dist/presets/commands/config.d.ts +3 -0
  44. package/dist/presets/commands/config.js +121 -0
  45. package/dist/presets/commands/config.js.map +1 -0
  46. package/dist/presets/commands/create.d.ts +3 -0
  47. package/dist/presets/commands/create.js +112 -0
  48. package/dist/presets/commands/create.js.map +1 -0
  49. package/dist/presets/commands/global-config.d.ts +3 -0
  50. package/dist/presets/commands/global-config.js +175 -0
  51. package/dist/presets/commands/global-config.js.map +1 -0
  52. package/dist/presets/commands/help.d.ts +3 -0
  53. package/dist/presets/commands/help.js +16 -0
  54. package/dist/presets/commands/help.js.map +1 -0
  55. package/dist/presets/commands/info.d.ts +3 -0
  56. package/dist/presets/commands/info.js +96 -0
  57. package/dist/presets/commands/info.js.map +1 -0
  58. package/dist/presets/commands/init.d.ts +3 -0
  59. package/dist/presets/commands/init.js +46 -0
  60. package/dist/presets/commands/init.js.map +1 -0
  61. package/dist/presets/commands/inspect.d.ts +3 -0
  62. package/dist/presets/commands/inspect.js +155 -0
  63. package/dist/presets/commands/inspect.js.map +1 -0
  64. package/dist/presets/commands/update.d.ts +3 -0
  65. package/dist/presets/commands/update.js +187 -0
  66. package/dist/presets/commands/update.js.map +1 -0
  67. package/dist/presets/constant/hooks.d.ts +13 -0
  68. package/dist/presets/constant/hooks.js +17 -0
  69. package/dist/presets/constant/hooks.js.map +1 -0
  70. package/dist/presets/constant/index.d.ts +1 -0
  71. package/dist/presets/constant/index.js +18 -0
  72. package/dist/presets/constant/index.js.map +1 -0
  73. package/dist/presets/files/generateFrameworkInfo.d.ts +3 -0
  74. package/dist/presets/files/generateFrameworkInfo.js +30 -0
  75. package/dist/presets/files/generateFrameworkInfo.js.map +1 -0
  76. package/dist/presets/files/generateProjectConfig.d.ts +3 -0
  77. package/dist/presets/files/generateProjectConfig.js +72 -0
  78. package/dist/presets/files/generateProjectConfig.js.map +1 -0
  79. package/dist/presets/files/writeFileToDist.d.ts +3 -0
  80. package/dist/presets/files/writeFileToDist.js +50 -0
  81. package/dist/presets/files/writeFileToDist.js.map +1 -0
  82. package/dist/presets/hooks/build.d.ts +3 -0
  83. package/dist/presets/hooks/build.js +55 -0
  84. package/dist/presets/hooks/build.js.map +1 -0
  85. package/dist/presets/hooks/create.d.ts +3 -0
  86. package/dist/presets/hooks/create.js +42 -0
  87. package/dist/presets/hooks/create.js.map +1 -0
  88. package/dist/presets/index.d.ts +4 -0
  89. package/dist/presets/index.js +50 -0
  90. package/dist/presets/index.js.map +1 -0
  91. package/dist/presets/platforms/plugin.d.ts +3 -0
  92. package/dist/presets/platforms/plugin.js +106 -0
  93. package/dist/presets/platforms/plugin.js.map +1 -0
  94. package/dist/presets/platforms/rn.d.ts +3 -0
  95. package/dist/presets/platforms/rn.js +130 -0
  96. package/dist/presets/platforms/rn.js.map +1 -0
  97. package/dist/util/appConfig.d.ts +11 -0
  98. package/dist/util/appConfig.js +27 -0
  99. package/dist/util/appConfig.js.map +1 -0
  100. package/dist/util/createPage.d.ts +9 -0
  101. package/dist/util/createPage.js +114 -0
  102. package/dist/util/createPage.js.map +1 -0
  103. package/dist/util/defineConfig.d.ts +17 -0
  104. package/dist/util/defineConfig.js +11 -0
  105. package/dist/util/defineConfig.js.map +1 -0
  106. package/dist/util/index.d.ts +23 -0
  107. package/dist/util/index.js +149 -0
  108. package/dist/util/index.js.map +1 -0
  109. package/dist/util/types.d.ts +58 -0
  110. package/dist/util/types.js +3 -0
  111. package/dist/util/types.js.map +1 -0
  112. package/global.d.ts +4 -0
  113. package/index.js +3 -0
  114. package/package.json +74 -0
  115. package/postinstall.js +17 -0
  116. package/src/__tests__/__mocks__/presets.ts +15 -0
  117. package/src/__tests__/build-config.spec.ts +66 -0
  118. package/src/__tests__/cli.spec.ts +226 -0
  119. package/src/__tests__/config.spec.ts +224 -0
  120. package/src/__tests__/doctor-config.spec.ts +943 -0
  121. package/src/__tests__/doctor-recommand.spec.ts +136 -0
  122. package/src/__tests__/doctor.spec.ts +94 -0
  123. package/src/__tests__/dotenv-parse.spec.ts +105 -0
  124. package/src/__tests__/env/.env +2 -0
  125. package/src/__tests__/fixtures/default/.env +3 -0
  126. package/src/__tests__/fixtures/default/.env.development +1 -0
  127. package/src/__tests__/fixtures/default/.env.local +1 -0
  128. package/src/__tests__/fixtures/default/.env.pre +3 -0
  129. package/src/__tests__/fixtures/default/.env.production +1 -0
  130. package/src/__tests__/fixtures/default/.env.uat +5 -0
  131. package/src/__tests__/fixtures/default/.env.uat.local +1 -0
  132. package/src/__tests__/fixtures/default/babel.config.js +10 -0
  133. package/src/__tests__/fixtures/default/config/dev.js +9 -0
  134. package/src/__tests__/fixtures/default/config/index.js +84 -0
  135. package/src/__tests__/fixtures/default/config/prod.js +18 -0
  136. package/src/__tests__/fixtures/default/package.json +27 -0
  137. package/src/__tests__/fixtures/default/src/app.config.js +11 -0
  138. package/src/__tests__/fixtures/default/src/app.js +16 -0
  139. package/src/__tests__/fixtures/default/src/app.scss +0 -0
  140. package/src/__tests__/fixtures/default/src/index.html +19 -0
  141. package/src/__tests__/fixtures/default/src/pages/index/index.config.js +3 -0
  142. package/src/__tests__/fixtures/default/src/pages/index/index.jsx +22 -0
  143. package/src/__tests__/fixtures/default/src/pages/index/index.scss +0 -0
  144. package/src/__tests__/info.spec.ts +72 -0
  145. package/src/__tests__/inspect.spec.ts +160 -0
  146. package/src/__tests__/update.spec.ts +310 -0
  147. package/src/__tests__/utils/index.ts +54 -0
  148. package/src/cli.ts +240 -0
  149. package/src/commands/customCommand.ts +22 -0
  150. package/src/config/index.ts +7 -0
  151. package/src/config/manifest.default.json +33 -0
  152. package/src/config/packagesManagement.ts +20 -0
  153. package/src/config/rn-stylelint.json +4 -0
  154. package/src/config/tsconfig.json +22 -0
  155. package/src/create/constants.ts +1 -0
  156. package/src/create/creator.ts +37 -0
  157. package/src/create/fetchTemplate.ts +161 -0
  158. package/src/create/page.ts +325 -0
  159. package/src/create/plugin.ts +55 -0
  160. package/src/create/project.ts +539 -0
  161. package/src/doctor/index.ts +21 -0
  162. package/src/index.ts +24 -0
  163. package/src/presets/commands/build.ts +215 -0
  164. package/src/presets/commands/config.ts +86 -0
  165. package/src/presets/commands/create.ts +104 -0
  166. package/src/presets/commands/global-config.ts +140 -0
  167. package/src/presets/commands/help.ts +17 -0
  168. package/src/presets/commands/info.ts +81 -0
  169. package/src/presets/commands/init.ts +63 -0
  170. package/src/presets/commands/inspect.ts +137 -0
  171. package/src/presets/commands/update.ts +175 -0
  172. package/src/presets/constant/hooks.ts +14 -0
  173. package/src/presets/constant/index.ts +1 -0
  174. package/src/presets/files/generateFrameworkInfo.ts +30 -0
  175. package/src/presets/files/generateProjectConfig.ts +41 -0
  176. package/src/presets/files/writeFileToDist.ts +17 -0
  177. package/src/presets/hooks/build.ts +22 -0
  178. package/src/presets/hooks/create.ts +9 -0
  179. package/src/presets/index.ts +15 -0
  180. package/src/presets/platforms/plugin.ts +75 -0
  181. package/src/presets/platforms/rn.ts +125 -0
  182. package/src/util/appConfig.ts +32 -0
  183. package/src/util/createPage.ts +139 -0
  184. package/src/util/defineConfig.ts +28 -0
  185. package/src/util/index.ts +126 -0
  186. package/src/util/types.ts +81 -0
  187. package/templates/default/_editorconfig +12 -0
  188. package/templates/default/_env.development +2 -0
  189. package/templates/default/_env.production +1 -0
  190. package/templates/default/_env.test +1 -0
  191. package/templates/default/_gitignore +8 -0
  192. package/templates/default/babel.config.js +14 -0
  193. package/templates/default/config/dev.js +5 -0
  194. package/templates/default/config/index.js +61 -0
  195. package/templates/default/config/prod.js +5 -0
  196. package/templates/default/package.json.tmpl +52 -0
  197. package/templates/default/project.config.json +15 -0
  198. package/templates/default/src/app.config.js +11 -0
  199. package/templates/default/src/app.css +0 -0
  200. package/templates/default/src/app.js +15 -0
  201. package/templates/default/src/pages/index/index.config.js +3 -0
  202. package/templates/default/src/pages/index/index.css +0 -0
  203. package/templates/default/src/pages/index/index.jsx +15 -0
  204. package/templates/default/template_creator.js +61 -0
  205. package/templates/default/tsconfig.json +30 -0
  206. package/templates/default/types/global.d.ts +27 -0
  207. package/templates/global-config/index.json +4 -0
  208. package/templates/global-config/package.json +5 -0
  209. package/templates/plugin-compile/README.md +32 -0
  210. package/templates/plugin-compile/index.js +3 -0
  211. package/templates/plugin-compile/package.json.tmpl +43 -0
  212. package/templates/plugin-compile/src/index.ts +153 -0
  213. package/templates/plugin-compile/tsconfig.json +28 -0
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const path = __importStar(require("node:path"));
40
+ const taro_binding_1 = require("@spcsn/taro-binding");
41
+ const taro_helper_1 = require("@spcsn/taro-helper");
42
+ const util_1 = require("../util");
43
+ const creator_1 = __importDefault(require("./creator"));
44
+ class Plugin extends creator_1.default {
45
+ constructor(options) {
46
+ super();
47
+ this.conf = {
48
+ ...options,
49
+ projectName: path.basename(options.projectDir),
50
+ version: this.getCliVersion(),
51
+ };
52
+ }
53
+ getCliVersion() {
54
+ const pkgPath = path.join(this._rootPath, 'package.json');
55
+ const pkg = taro_helper_1.fs.readJSONSync(pkgPath);
56
+ return pkg.version;
57
+ }
58
+ async create() {
59
+ const { projectDir, template, pluginName } = this.conf;
60
+ const templatePath = this.templatePath(template);
61
+ if (!taro_helper_1.fs.existsSync(templatePath)) {
62
+ console.log(taro_helper_1.chalk.red(`创建插件失败:找不到模板${templatePath}`));
63
+ return;
64
+ }
65
+ (0, taro_binding_1.createPlugin)({
66
+ projectRoot: projectDir,
67
+ projectName: pluginName,
68
+ templateRoot: (0, util_1.getRootPath)(),
69
+ template,
70
+ version: this.conf.version,
71
+ description: this.conf.description,
72
+ pluginType: this.conf.type,
73
+ });
74
+ }
75
+ }
76
+ exports.default = Plugin;
77
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/create/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAElC,sDAAmD;AACnD,oDAA+C;AAE/C,kCAAsC;AACtC,wDAAgC;AAYhC,MAAqB,MAAO,SAAQ,iBAAO;IAGzC,YAAY,OAAoB;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG;YACV,GAAG,OAAO;YACV,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;YAC9C,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE;SAC9B,CAAC;IACJ,CAAC;IAED,aAAa;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,gBAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEjD,IAAI,CAAC,gBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,mBAAK,CAAC,GAAG,CAAC,eAAe,YAAY,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,IAAA,2BAAY,EAAC;YACX,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,UAAU;YACvB,YAAY,EAAE,IAAA,kBAAW,GAAE;YAC3B,QAAQ;YACR,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;SAC3B,CAAC,CAAC;IACL,CAAC;CACF;AApCD,yBAoCC"}
@@ -0,0 +1,70 @@
1
+ import { CompilerType, CSSType, FrameworkType, NpmType } from '@spcsn/taro-binding';
2
+ import Creator from './creator';
3
+ import type { ITemplates } from './fetchTemplate';
4
+ export interface IProjectConf {
5
+ projectName: string;
6
+ projectDir: string;
7
+ npm: NpmType;
8
+ templateSource: string;
9
+ clone?: boolean;
10
+ template: string;
11
+ description?: string;
12
+ typescript?: boolean;
13
+ buildEs5?: boolean;
14
+ css: CSSType;
15
+ date?: string;
16
+ src?: string;
17
+ sourceRoot?: string;
18
+ env?: string;
19
+ autoInstall?: boolean;
20
+ hideDefaultTemplate?: boolean;
21
+ framework: FrameworkType;
22
+ compiler?: CompilerType;
23
+ ask?: (config: object) => Promise<void> | void;
24
+ }
25
+ type CustomPartial<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
26
+ type IProjectConfOptions = CustomPartial<IProjectConf, 'projectName' | 'projectDir' | 'template' | 'css' | 'npm' | 'framework' | 'templateSource'>;
27
+ interface AskMethods {
28
+ (conf: IProjectConfOptions, prompts: Record<string, unknown>[], choices?: ITemplates[]): void;
29
+ }
30
+ export default class Project extends Creator {
31
+ rootPath: string;
32
+ conf: IProjectConfOptions;
33
+ constructor(options: IProjectConfOptions);
34
+ init(): void;
35
+ create(): Promise<void>;
36
+ ask(): Promise<{
37
+ projectName: string;
38
+ projectDir: string;
39
+ npm: NpmType;
40
+ templateSource: string;
41
+ clone?: boolean;
42
+ template: string;
43
+ description?: string;
44
+ typescript?: boolean;
45
+ buildEs5?: boolean;
46
+ css: CSSType;
47
+ date?: string;
48
+ src?: string;
49
+ sourceRoot?: string;
50
+ env?: string;
51
+ autoInstall?: boolean;
52
+ hideDefaultTemplate?: boolean;
53
+ framework: FrameworkType;
54
+ compiler?: CompilerType;
55
+ ask?: (config: object) => Promise<void> | void;
56
+ }>;
57
+ askProjectName: AskMethods;
58
+ askDescription: AskMethods;
59
+ askTypescript: AskMethods;
60
+ askBuildEs5: AskMethods;
61
+ askCSS: AskMethods;
62
+ askCompiler: AskMethods;
63
+ askFramework: AskMethods;
64
+ askTemplateSource: AskMethods;
65
+ askTemplate: AskMethods;
66
+ askNpm: AskMethods;
67
+ fetchTemplates(answers: IProjectConf): Promise<ITemplates[]>;
68
+ write(cb?: () => void): void;
69
+ }
70
+ export {};
@@ -0,0 +1,481 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const path = __importStar(require("node:path"));
40
+ const taro_binding_1 = require("@spcsn/taro-binding");
41
+ const taro_helper_1 = require("@spcsn/taro-helper");
42
+ const taro_shared_1 = require("@spcsn/taro-shared");
43
+ const axios_1 = __importDefault(require("axios"));
44
+ const inquirer = __importStar(require("inquirer"));
45
+ const ora_1 = __importDefault(require("ora"));
46
+ const semver = __importStar(require("semver"));
47
+ const util_1 = require("../util");
48
+ const constants_1 = require("./constants");
49
+ const creator_1 = __importDefault(require("./creator"));
50
+ const fetchTemplate_1 = __importDefault(require("./fetchTemplate"));
51
+ const NONE_AVAILABLE_TEMPLATE = '无可用模板';
52
+ const SUPPORTED_FRAMEWORK = "React" /* FrameworkType.React */;
53
+ const SUPPORTED_COMPILER = "Vite" /* CompilerType.Vite */;
54
+ class Project extends creator_1.default {
55
+ constructor(options) {
56
+ super(options.sourceRoot);
57
+ this.askProjectName = function (conf, prompts) {
58
+ if (typeof conf.projectName !== 'string') {
59
+ prompts.push({
60
+ type: 'input',
61
+ name: 'projectName',
62
+ message: '请输入项目名称!',
63
+ validate(input) {
64
+ if (!input) {
65
+ return '项目名不能为空!';
66
+ }
67
+ if (taro_helper_1.fs.existsSync(input)) {
68
+ return '当前目录已经存在同名项目,请换一个项目名!';
69
+ }
70
+ return true;
71
+ },
72
+ });
73
+ }
74
+ else if (taro_helper_1.fs.existsSync(conf.projectName)) {
75
+ prompts.push({
76
+ type: 'input',
77
+ name: 'projectName',
78
+ message: '当前目录已经存在同名项目,请换一个项目名!',
79
+ validate(input) {
80
+ if (!input) {
81
+ return '项目名不能为空!';
82
+ }
83
+ if (taro_helper_1.fs.existsSync(input)) {
84
+ return '项目名依然重复!';
85
+ }
86
+ return true;
87
+ },
88
+ });
89
+ }
90
+ };
91
+ this.askDescription = function (conf, prompts) {
92
+ if (typeof conf.description !== 'string') {
93
+ prompts.push({
94
+ type: 'input',
95
+ name: 'description',
96
+ message: '请输入项目介绍',
97
+ });
98
+ }
99
+ };
100
+ this.askTypescript = function (conf, prompts) {
101
+ if (typeof conf.typescript !== 'boolean') {
102
+ prompts.push({
103
+ type: 'confirm',
104
+ name: 'typescript',
105
+ message: '是否需要使用 TypeScript ?',
106
+ });
107
+ }
108
+ };
109
+ this.askBuildEs5 = function (conf, prompts) {
110
+ if (typeof conf.buildEs5 !== 'boolean') {
111
+ prompts.push({
112
+ type: 'confirm',
113
+ name: 'buildEs5',
114
+ message: '是否需要编译为 ES5 ?',
115
+ default: false,
116
+ });
117
+ }
118
+ };
119
+ this.askCSS = function (conf, prompts) {
120
+ const cssChoices = [
121
+ {
122
+ name: 'Sass',
123
+ value: "Sass" /* CSSType.Sass */,
124
+ },
125
+ {
126
+ name: 'Less',
127
+ value: "Less" /* CSSType.Less */,
128
+ },
129
+ {
130
+ name: 'Stylus',
131
+ value: "Stylus" /* CSSType.Stylus */,
132
+ },
133
+ {
134
+ name: '无',
135
+ value: "None" /* CSSType.None */,
136
+ },
137
+ ];
138
+ if (typeof conf.css !== 'string') {
139
+ prompts.push({
140
+ type: 'list',
141
+ name: 'css',
142
+ message: '请选择 CSS 预处理器(Sass/Less/Stylus)',
143
+ choices: cssChoices,
144
+ });
145
+ }
146
+ };
147
+ this.askCompiler = function (conf, prompts) {
148
+ const compilerChoices = [
149
+ {
150
+ name: 'Webpack5',
151
+ value: "Webpack5" /* CompilerType.Webpack5 */,
152
+ },
153
+ {
154
+ name: 'Vite',
155
+ value: "Vite" /* CompilerType.Vite */,
156
+ },
157
+ ];
158
+ if (typeof conf.compiler !== 'string') {
159
+ prompts.push({
160
+ type: 'list',
161
+ name: 'compiler',
162
+ message: '请选择编译工具',
163
+ choices: compilerChoices,
164
+ });
165
+ }
166
+ };
167
+ this.askFramework = function (conf, prompts) {
168
+ const frameworks = [
169
+ {
170
+ name: 'React',
171
+ value: "React" /* FrameworkType.React */,
172
+ },
173
+ {
174
+ name: 'PReact',
175
+ value: "Preact" /* FrameworkType.Preact */,
176
+ },
177
+ {
178
+ name: 'Vue3',
179
+ value: "Vue3" /* FrameworkType.Vue3 */,
180
+ },
181
+ {
182
+ name: 'Solid',
183
+ value: "Solid" /* FrameworkType.Solid */,
184
+ },
185
+ ];
186
+ if (typeof conf.framework !== 'string') {
187
+ prompts.push({
188
+ type: 'list',
189
+ name: 'framework',
190
+ message: '请选择框架',
191
+ choices: frameworks,
192
+ });
193
+ }
194
+ };
195
+ this.askTemplateSource = async function (conf, prompts) {
196
+ if (conf.template === 'default' || conf.templateSource)
197
+ return;
198
+ const homedir = (0, taro_helper_1.getUserHomeDir)();
199
+ const taroConfigPath = path.join(homedir, taro_helper_1.TARO_CONFIG_FOLDER);
200
+ const taroConfig = path.join(taroConfigPath, taro_helper_1.TARO_BASE_CONFIG);
201
+ let localTemplateSource;
202
+ // 检查本地配置
203
+ if (taro_helper_1.fs.existsSync(taroConfig)) {
204
+ // 存在则把模板源读出来
205
+ const config = await taro_helper_1.fs.readJSON(taroConfig);
206
+ localTemplateSource = config?.templateSource;
207
+ }
208
+ else {
209
+ // 不存在则创建配置
210
+ await taro_helper_1.fs.createFile(taroConfig);
211
+ await taro_helper_1.fs.writeJSON(taroConfig, { templateSource: taro_helper_1.DEFAULT_TEMPLATE_SRC });
212
+ localTemplateSource = taro_helper_1.DEFAULT_TEMPLATE_SRC;
213
+ }
214
+ const choices = [
215
+ {
216
+ name: 'Gitee(最快)',
217
+ value: taro_helper_1.DEFAULT_TEMPLATE_SRC_GITEE,
218
+ },
219
+ {
220
+ name: 'Github(最新)',
221
+ value: taro_helper_1.DEFAULT_TEMPLATE_SRC,
222
+ },
223
+ {
224
+ name: 'CLI 内置默认模板',
225
+ value: 'default-template',
226
+ },
227
+ {
228
+ name: '自定义',
229
+ value: 'self-input',
230
+ },
231
+ {
232
+ name: '社区优质模板源',
233
+ value: 'open-source',
234
+ },
235
+ ];
236
+ if (localTemplateSource &&
237
+ localTemplateSource !== taro_helper_1.DEFAULT_TEMPLATE_SRC &&
238
+ localTemplateSource !== taro_helper_1.DEFAULT_TEMPLATE_SRC_GITEE) {
239
+ choices.unshift({
240
+ name: `本地模板源:${localTemplateSource}`,
241
+ value: localTemplateSource,
242
+ });
243
+ }
244
+ prompts.push({
245
+ type: 'list',
246
+ name: 'templateSource',
247
+ message: '请选择模板源',
248
+ choices,
249
+ }, {
250
+ type: 'input',
251
+ name: 'templateSource',
252
+ message: '请输入模板源!',
253
+ askAnswered: true,
254
+ when(answers) {
255
+ return answers.templateSource === 'self-input';
256
+ },
257
+ }, {
258
+ type: 'list',
259
+ name: 'templateSource',
260
+ message: '请选择社区模板源',
261
+ async choices(answers) {
262
+ const choices = await getOpenSourceTemplates(answers.framework);
263
+ return choices;
264
+ },
265
+ askAnswered: true,
266
+ when(answers) {
267
+ return answers.templateSource === 'open-source';
268
+ },
269
+ });
270
+ };
271
+ this.askTemplate = function (conf, prompts, list = []) {
272
+ const choices = list.map((item) => ({
273
+ name: item.desc ? `${item.name}(${item.desc})` : item.name,
274
+ value: item.value || item.name,
275
+ }));
276
+ if (!conf.hideDefaultTemplate) {
277
+ choices.unshift({
278
+ name: '默认模板',
279
+ value: 'default',
280
+ });
281
+ }
282
+ if (typeof conf.template !== 'string') {
283
+ prompts.push({
284
+ type: 'list',
285
+ name: 'template',
286
+ message: '请选择模板',
287
+ choices,
288
+ });
289
+ }
290
+ };
291
+ this.askNpm = function (conf, prompts) {
292
+ const packages = [
293
+ {
294
+ name: 'yarn',
295
+ value: "Yarn" /* NpmType.Yarn */,
296
+ },
297
+ {
298
+ name: 'pnpm',
299
+ value: "Pnpm" /* NpmType.Pnpm */,
300
+ },
301
+ {
302
+ name: 'npm',
303
+ value: "Npm" /* NpmType.Npm */,
304
+ },
305
+ {
306
+ name: 'cnpm',
307
+ value: "Cnpm" /* NpmType.Cnpm */,
308
+ },
309
+ ];
310
+ if (typeof conf.npm !== 'string') {
311
+ prompts.push({
312
+ type: 'list',
313
+ name: 'npm',
314
+ message: '请选择包管理工具',
315
+ choices: packages,
316
+ });
317
+ }
318
+ };
319
+ const unSupportedVer = semver.lt(process.version, 'v18.0.0');
320
+ if (unSupportedVer) {
321
+ throw new Error('Node.js 版本过低,推荐升级 Node.js 至 v18.0.0+');
322
+ }
323
+ this.rootPath = this._rootPath;
324
+ this.conf = Object.assign({
325
+ projectName: '',
326
+ projectDir: '',
327
+ template: '',
328
+ description: '',
329
+ npm: '',
330
+ }, options);
331
+ }
332
+ init() {
333
+ (0, util_1.clearConsole)();
334
+ console.log(taro_helper_1.chalk.green('Taro 即将创建一个新项目!'));
335
+ console.log(`Need help? Go and open issue: ${taro_helper_1.chalk.blueBright('https://tls.jd.com/taro-issue-helper')}`);
336
+ console.log();
337
+ }
338
+ async create() {
339
+ try {
340
+ const answers = await this.ask();
341
+ const date = new Date();
342
+ this.conf = Object.assign(this.conf, answers);
343
+ this.conf.date = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
344
+ this.write();
345
+ }
346
+ catch (error) {
347
+ console.log(taro_helper_1.chalk.red('创建项目失败: ', error));
348
+ }
349
+ }
350
+ async ask() {
351
+ let prompts = [];
352
+ const conf = this.conf;
353
+ this.askProjectName(conf, prompts);
354
+ this.askDescription(conf, prompts);
355
+ this.askTypescript(conf, prompts);
356
+ this.askBuildEs5(conf, prompts);
357
+ this.askCSS(conf, prompts);
358
+ this.askNpm(conf, prompts);
359
+ const answers = await inquirer.prompt(prompts);
360
+ if (conf.framework && conf.framework !== SUPPORTED_FRAMEWORK) {
361
+ console.log(taro_helper_1.chalk.yellow('当前 Fork 仅支持 React 模板,将自动切换为 React。'));
362
+ }
363
+ if (conf.compiler && conf.compiler !== SUPPORTED_COMPILER) {
364
+ console.log(taro_helper_1.chalk.yellow('当前 Fork 仅支持 Vite 编译,将自动切换为 Vite。'));
365
+ }
366
+ answers.framework = SUPPORTED_FRAMEWORK;
367
+ answers.compiler = SUPPORTED_COMPILER;
368
+ prompts = [];
369
+ await this.askTemplateSource(conf, prompts);
370
+ const compilerAndTemplateSourceAnswer = await inquirer.prompt(prompts);
371
+ compilerAndTemplateSourceAnswer.compiler = SUPPORTED_COMPILER;
372
+ prompts = [];
373
+ const templates = await this.fetchTemplates(Object.assign({}, answers, compilerAndTemplateSourceAnswer));
374
+ await this.askTemplate(conf, prompts, templates);
375
+ const templateChoiceAnswer = await inquirer.prompt(prompts);
376
+ // 导航步骤扩展
377
+ try {
378
+ if (typeof conf.ask === 'function') {
379
+ const { ask, ...other } = conf;
380
+ await ask({ ...other, templatePath: this.templatePath(templateChoiceAnswer.template) });
381
+ }
382
+ }
383
+ catch (e) {
384
+ console.error(e);
385
+ }
386
+ return {
387
+ ...answers,
388
+ ...compilerAndTemplateSourceAnswer,
389
+ ...templateChoiceAnswer,
390
+ };
391
+ }
392
+ async fetchTemplates(answers) {
393
+ const { templateSource, framework, compiler } = answers;
394
+ this.conf.framework = this.conf.framework || framework || '';
395
+ this.conf.templateSource = this.conf.templateSource || templateSource;
396
+ // 使用默认模版
397
+ if (answers.templateSource === 'default-template') {
398
+ this.conf.template = 'default';
399
+ answers.templateSource = taro_helper_1.DEFAULT_TEMPLATE_SRC_GITEE;
400
+ }
401
+ if (this.conf.template === 'default' || answers.templateSource === NONE_AVAILABLE_TEMPLATE)
402
+ return Promise.resolve([]);
403
+ // 从模板源下载模板
404
+ const isClone = /gitee/.test(this.conf.templateSource) || this.conf.clone;
405
+ const templateChoices = await (0, fetchTemplate_1.default)(this.conf.templateSource, this.templatePath(''), isClone);
406
+ const filterFramework = (_framework) => {
407
+ const current = this.conf.framework?.toLowerCase();
408
+ if (typeof _framework === 'string' && _framework) {
409
+ return current === _framework.toLowerCase();
410
+ }
411
+ else if ((0, taro_shared_1.isArray)(_framework)) {
412
+ return _framework?.map((name) => name.toLowerCase()).includes(current);
413
+ }
414
+ else {
415
+ return true;
416
+ }
417
+ };
418
+ const filterCompiler = (_compiler) => {
419
+ if (_compiler && (0, taro_shared_1.isArray)(_compiler)) {
420
+ return _compiler?.includes(compiler);
421
+ }
422
+ return true;
423
+ };
424
+ // 根据用户选择的框架筛选模板
425
+ const newTemplateChoices = templateChoices.filter((templateChoice) => {
426
+ const { platforms, compiler } = templateChoice;
427
+ return filterFramework(platforms) && filterCompiler(compiler);
428
+ });
429
+ return newTemplateChoices;
430
+ }
431
+ write(cb) {
432
+ this.conf.src = taro_helper_1.SOURCE_DIR;
433
+ const { projectName, projectDir, template, autoInstall = true, framework, npm } = this.conf;
434
+ // 引入模板编写者的自定义逻辑
435
+ const templatePath = this.templatePath(template);
436
+ const handlerPath = path.join(templatePath, constants_1.TEMPLATE_CREATOR);
437
+ const handler = taro_helper_1.fs.existsSync(handlerPath) ? require(handlerPath).handler : {};
438
+ (0, taro_binding_1.createProject)({
439
+ projectRoot: projectDir,
440
+ projectName,
441
+ template,
442
+ npm,
443
+ framework,
444
+ css: this.conf.css || "None" /* CSSType.None */,
445
+ autoInstall: autoInstall,
446
+ templateRoot: (0, util_1.getRootPath)(),
447
+ version: (0, util_1.getPkgVersion)(),
448
+ typescript: this.conf.typescript,
449
+ buildEs5: this.conf.buildEs5,
450
+ date: this.conf.date,
451
+ description: this.conf.description,
452
+ compiler: this.conf.compiler,
453
+ period: "CreateAPP" /* PeriodType.CreateAPP */,
454
+ }, handler).then(() => {
455
+ cb && cb();
456
+ });
457
+ }
458
+ }
459
+ exports.default = Project;
460
+ function getOpenSourceTemplates(platform) {
461
+ return new Promise((resolve, reject) => {
462
+ const spinner = (0, ora_1.default)({ text: '正在拉取开源模板列表...', discardStdin: false }).start();
463
+ axios_1.default
464
+ .get('https://gitee.com/NervJS/awesome-taro/raw/next/index.json')
465
+ .then((response) => {
466
+ spinner.succeed(`${taro_helper_1.chalk.grey('拉取开源模板列表成功!')}`);
467
+ const collection = response.data;
468
+ switch (platform.toLowerCase()) {
469
+ case 'react':
470
+ return resolve(collection.react);
471
+ default:
472
+ return resolve([NONE_AVAILABLE_TEMPLATE]);
473
+ }
474
+ })
475
+ .catch((_error) => {
476
+ spinner.fail(taro_helper_1.chalk.red('拉取开源模板列表失败!'));
477
+ return reject(new Error());
478
+ });
479
+ });
480
+ }
481
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/create/project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ validators: (((args: any) => Promise<import("@tarojs/plugin-doctor").ValidateResult>) | ((args: any) => import("@tarojs/plugin-doctor").ValidateResult))[];
3
+ };
4
+ export default _default;