@giteeteam/apps-cli 0.1.6 → 0.1.9

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 (2) hide show
  1. package/dist/index.js +25 -35
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -5,7 +5,6 @@ var commander = require('commander');
5
5
  var appsBundler = require('@giteeteam/apps-bundler');
6
6
  var fse = require('fs-extra');
7
7
  var path = require('path');
8
- var fs = require('fs');
9
8
  var archiver = require('archiver');
10
9
  var ora = require('ora');
11
10
  var yaml = require('yaml');
@@ -20,7 +19,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
20
19
 
21
20
  var fse__default = /*#__PURE__*/_interopDefaultLegacy(fse);
22
21
  var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
23
- var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
24
22
  var archiver__default = /*#__PURE__*/_interopDefaultLegacy(archiver);
25
23
  var ora__default = /*#__PURE__*/_interopDefaultLegacy(ora);
26
24
  var inquirer__default = /*#__PURE__*/_interopDefaultLegacy(inquirer);
@@ -28,7 +26,7 @@ var simpleGit__default = /*#__PURE__*/_interopDefaultLegacy(simpleGit);
28
26
  var readline__default = /*#__PURE__*/_interopDefaultLegacy(readline);
29
27
  var execa__default = /*#__PURE__*/_interopDefaultLegacy(execa);
30
28
 
31
- var version = "0.1.6";
29
+ var version = "0.1.9";
32
30
 
33
31
  const packageApp = async (outputDir, manifest, _copyFiles = []) => {
34
32
  // add copy file manifest
@@ -49,20 +47,18 @@ const packageApp = async (outputDir, manifest, _copyFiles = []) => {
49
47
  }
50
48
  };
51
49
 
52
- const readPkgName = () => {
53
- const fileBuffer = fs__default["default"].readFileSync(path__default["default"].resolve('./package.json'));
50
+ const readPkgName = async () => {
51
+ const fileBuffer = await fse__default["default"].readFile(path__default["default"].resolve('./package.json'));
54
52
  const fileStr = fileBuffer.toString();
55
53
  const fileJson = JSON.parse(fileStr);
56
54
  return fileJson === null || fileJson === void 0 ? void 0 : fileJson.name;
57
55
  };
58
- const archiveApp = (archiveDir) => {
56
+ const archiveApp = async (archiveDir) => {
57
+ const pkgName = await readPkgName();
58
+ const outputFile = path__default["default"].resolve(`./${pkgName}.zip`);
59
+ await fse__default["default"].remove(outputFile);
59
60
  return new Promise((resolve, reject) => {
60
- const pkgName = readPkgName();
61
- const outputFile = path__default["default"].resolve(`./${pkgName}.zip`);
62
- if (fs__default["default"].existsSync(outputFile)) {
63
- fse__default["default"].removeSync(outputFile);
64
- }
65
- const output = fs__default["default"].createWriteStream(outputFile);
61
+ const output = fse__default["default"].createWriteStream(outputFile);
66
62
  const archive = archiver__default["default"]('zip', {
67
63
  zlib: { level: 9 }, // Sets the compression level.
68
64
  });
@@ -169,16 +165,14 @@ var build = async (options) => {
169
165
  });
170
166
  };
171
167
 
172
- const fileExists = (profilePath) => fs__default["default"].existsSync(profilePath);
173
-
174
168
  const init = async (projectPath) => {
175
169
  const git = simpleGit__default["default"](projectPath);
176
170
  await git.init();
177
171
  return;
178
172
  };
179
173
  const clone = async (repoUrl, projectPath) => {
180
- if (!fileExists(projectPath)) {
181
- fs__default["default"].mkdirSync(projectPath);
174
+ if (!(await fse__default["default"].pathExists(projectPath))) {
175
+ await fse__default["default"].mkdir(projectPath);
182
176
  }
183
177
  const git = simpleGit__default["default"](projectPath);
184
178
  await git.clone(repoUrl, projectPath);
@@ -194,15 +188,11 @@ var TemplateType;
194
188
  // 重写替换文件内带模版的地方。格式为 {{field}}
195
189
  // options为字段变量
196
190
  const rewriteTemplateField = async (path, options) => {
197
- return new Promise(resolve => {
198
- if (!fileExists(path)) {
199
- return resolve();
200
- }
201
- const content = fs__default["default"].readFileSync(path, { encoding: 'utf-8' });
202
- fs__default["default"].writeFile(path, content.replace(/{{(\w+)}}/g, (match, key) => (typeof options[key] === 'string' ? options[key] : match)), () => {
203
- resolve();
204
- });
205
- });
191
+ if (!(await fse__default["default"].pathExists(path))) {
192
+ return;
193
+ }
194
+ const content = await fse__default["default"].readFile(path, { encoding: 'utf-8' });
195
+ await fse__default["default"].writeFile(path, content.replace(/{{(\w+)}}/g, (match, key) => (typeof options[key] === 'string' ? options[key] : match)));
206
196
  };
207
197
 
208
198
  const toStartOfLine = (stream) => {
@@ -282,18 +272,19 @@ const dependenciesInstall = async (projectPath) => {
282
272
  var run = async (options) => {
283
273
  const { cwd, packageName } = options;
284
274
  const projectPath = path__default["default"].join(cwd, packageName);
285
- if (fileExists(projectPath)) {
275
+ if (await fse__default["default"].pathExists(projectPath)) {
286
276
  console.error('项目文件夹已存在!请删除或者换个项目名');
287
277
  return;
288
278
  }
279
+ // 选择模板类型 micro or uikit
289
280
  const templateType = await selectTemplate();
281
+ // 从远程仓库clone模板
290
282
  await cloneRepo(templateURL, projectPath);
291
283
  // 将指定模板复制到跟目录
292
284
  await fse__default["default"].copy(path__default["default"].join(projectPath, templateType), projectPath);
293
285
  // 删除各个模板文件夹
294
- for (const t of Object.values(TemplateType)) {
295
- await fse__default["default"].remove(path__default["default"].join(projectPath, t));
296
- }
286
+ await Promise.all(Object.values(TemplateType).map(t => fse__default["default"].remove(path__default["default"].join(projectPath, t))));
287
+ // 删除源远程仓库的git
297
288
  await fse__default["default"].remove(path__default["default"].join(projectPath, './.git'));
298
289
  const appId = uuid.v4();
299
290
  const files = [
@@ -305,12 +296,11 @@ var run = async (options) => {
305
296
  './static/micro/src/App.tsx',
306
297
  './static/micro/src/index.tsx',
307
298
  ];
308
- for (let i = 0; i < files.length; i++) {
309
- await rewriteTemplateField(path__default["default"].join(projectPath, files[i]), {
310
- appId,
311
- projectName: packageName,
312
- });
313
- }
299
+ // 模板替换
300
+ await Promise.all(files.map(file => rewriteTemplateField(path__default["default"].join(projectPath, file), {
301
+ appId,
302
+ projectName: packageName,
303
+ })));
314
304
  await dependenciesInstall(projectPath);
315
305
  await init(projectPath);
316
306
  console.log('项目初始化成功!');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@giteeteam/apps-cli",
3
- "version": "0.1.6",
3
+ "version": "0.1.9",
4
4
  "description": "Giteeteam Apps cli",
5
5
  "keywords": [
6
6
  "typescript",
@@ -38,7 +38,7 @@
38
38
  "registry": "https://registry.npmjs.org/"
39
39
  },
40
40
  "dependencies": {
41
- "@giteeteam/apps-bundler": "^0.1.5",
41
+ "@giteeteam/apps-bundler": "^0.1.6",
42
42
  "archiver": "^5.3.1",
43
43
  "chalk": "^4.1.2",
44
44
  "commander": "^9.3.0",
@@ -56,5 +56,5 @@
56
56
  "@types/inquirer": "^8.2.1",
57
57
  "@types/uuid": "^8.3.4"
58
58
  },
59
- "gitHead": "1eb6c9e3d70c19faf81fc29da6a62c7fc22365c3"
59
+ "gitHead": "09a6b545da63b26d19524d653bf78a79c72de270"
60
60
  }