@giteeteam/apps-cli 0.1.7 → 0.1.10

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 +31 -35
  2. package/package.json +2 -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.7";
29
+ var version = "0.1.10";
32
30
 
33
31
  const packageApp = async (outputDir, manifest, _copyFiles = []) => {
34
32
  // add copy file manifest
@@ -50,7 +48,7 @@ const packageApp = async (outputDir, manifest, _copyFiles = []) => {
50
48
  };
51
49
 
52
50
  const readPkgName = async () => {
53
- const fileBuffer = await fs__default["default"].promises.readFile(path__default["default"].resolve('./package.json'));
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;
@@ -60,7 +58,7 @@ const archiveApp = async (archiveDir) => {
60
58
  const outputFile = path__default["default"].resolve(`./${pkgName}.zip`);
61
59
  await fse__default["default"].remove(outputFile);
62
60
  return new Promise((resolve, reject) => {
63
- const output = fs__default["default"].createWriteStream(outputFile);
61
+ const output = fse__default["default"].createWriteStream(outputFile);
64
62
  const archive = archiver__default["default"]('zip', {
65
63
  zlib: { level: 9 }, // Sets the compression level.
66
64
  });
@@ -136,7 +134,7 @@ const getManifestObject = async () => {
136
134
  };
137
135
 
138
136
  var run$1 = async (opts) => {
139
- const { outputDir, inputDir, prod, copyFiles } = opts;
137
+ const { outputDir, inputDir, prod, copyFiles, zip } = opts;
140
138
  const manifest = await getManifestObject();
141
139
  // bundle
142
140
  await execActionWithSpinner({
@@ -150,12 +148,14 @@ var run$1 = async (opts) => {
150
148
  error: 'package failed',
151
149
  succeed: 'package success',
152
150
  }, () => packageApp(outputDir, manifest, copyFiles));
153
- // archive
154
- await execActionWithSpinner({
155
- start: 'start archive',
156
- error: 'archive failed',
157
- succeed: 'archive success',
158
- }, () => archiveApp(outputDir));
151
+ if (zip) {
152
+ // archive
153
+ await execActionWithSpinner({
154
+ start: 'start archive',
155
+ error: 'archive failed',
156
+ succeed: 'archive success',
157
+ }, () => archiveApp(outputDir));
158
+ }
159
159
  };
160
160
 
161
161
  var build = async (options) => {
@@ -164,19 +164,18 @@ var build = async (options) => {
164
164
  inputDir: path__default["default"].resolve('src'),
165
165
  prod: !!options.prod,
166
166
  copyFiles: options.copy,
167
+ zip: options.zip,
167
168
  });
168
169
  };
169
170
 
170
- const fileExists = (profilePath) => fs__default["default"].existsSync(profilePath);
171
-
172
171
  const init = async (projectPath) => {
173
172
  const git = simpleGit__default["default"](projectPath);
174
173
  await git.init();
175
174
  return;
176
175
  };
177
176
  const clone = async (repoUrl, projectPath) => {
178
- if (!fileExists(projectPath)) {
179
- await fs__default["default"].promises.mkdir(projectPath);
177
+ if (!(await fse__default["default"].pathExists(projectPath))) {
178
+ await fse__default["default"].mkdir(projectPath);
180
179
  }
181
180
  const git = simpleGit__default["default"](projectPath);
182
181
  await git.clone(repoUrl, projectPath);
@@ -192,15 +191,11 @@ var TemplateType;
192
191
  // 重写替换文件内带模版的地方。格式为 {{field}}
193
192
  // options为字段变量
194
193
  const rewriteTemplateField = async (path, options) => {
195
- return new Promise(resolve => {
196
- if (!fileExists(path)) {
197
- return resolve();
198
- }
199
- const content = fs__default["default"].readFileSync(path, { encoding: 'utf-8' });
200
- fs__default["default"].writeFile(path, content.replace(/{{(\w+)}}/g, (match, key) => (typeof options[key] === 'string' ? options[key] : match)), () => {
201
- resolve();
202
- });
203
- });
194
+ if (!(await fse__default["default"].pathExists(path))) {
195
+ return;
196
+ }
197
+ const content = await fse__default["default"].readFile(path, { encoding: 'utf-8' });
198
+ await fse__default["default"].writeFile(path, content.replace(/{{(\w+)}}/g, (match, key) => (typeof options[key] === 'string' ? options[key] : match)));
204
199
  };
205
200
 
206
201
  const toStartOfLine = (stream) => {
@@ -280,18 +275,19 @@ const dependenciesInstall = async (projectPath) => {
280
275
  var run = async (options) => {
281
276
  const { cwd, packageName } = options;
282
277
  const projectPath = path__default["default"].join(cwd, packageName);
283
- if (fileExists(projectPath)) {
278
+ if (await fse__default["default"].pathExists(projectPath)) {
284
279
  console.error('项目文件夹已存在!请删除或者换个项目名');
285
280
  return;
286
281
  }
282
+ // 选择模板类型 micro or uikit
287
283
  const templateType = await selectTemplate();
284
+ // 从远程仓库clone模板
288
285
  await cloneRepo(templateURL, projectPath);
289
286
  // 将指定模板复制到跟目录
290
287
  await fse__default["default"].copy(path__default["default"].join(projectPath, templateType), projectPath);
291
288
  // 删除各个模板文件夹
292
- for (const t of Object.values(TemplateType)) {
293
- await fse__default["default"].remove(path__default["default"].join(projectPath, t));
294
- }
289
+ await Promise.all(Object.values(TemplateType).map(t => fse__default["default"].remove(path__default["default"].join(projectPath, t))));
290
+ // 删除源远程仓库的git
295
291
  await fse__default["default"].remove(path__default["default"].join(projectPath, './.git'));
296
292
  const appId = uuid.v4();
297
293
  const files = [
@@ -303,12 +299,11 @@ var run = async (options) => {
303
299
  './static/micro/src/App.tsx',
304
300
  './static/micro/src/index.tsx',
305
301
  ];
306
- for (let i = 0; i < files.length; i++) {
307
- await rewriteTemplateField(path__default["default"].join(projectPath, files[i]), {
308
- appId,
309
- projectName: packageName,
310
- });
311
- }
302
+ // 模板替换
303
+ await Promise.all(files.map(file => rewriteTemplateField(path__default["default"].join(projectPath, file), {
304
+ appId,
305
+ projectName: packageName,
306
+ })));
312
307
  await dependenciesInstall(projectPath);
313
308
  await init(projectPath);
314
309
  console.log('项目初始化成功!');
@@ -332,6 +327,7 @@ program.version(version).description('Giteeteam Apps Cli');
332
327
  program
333
328
  .command('build')
334
329
  .option('--prod', 'build in production')
330
+ .option('--no-zip', 'no archive')
335
331
  .option('-c --copy [letters...]', 'copy files')
336
332
  .action(build);
337
333
  program.command('create [name]').action(create);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@giteeteam/apps-cli",
3
- "version": "0.1.7",
3
+ "version": "0.1.10",
4
4
  "description": "Giteeteam Apps cli",
5
5
  "keywords": [
6
6
  "typescript",
@@ -55,6 +55,5 @@
55
55
  "@types/fs-extra": "^9.0.13",
56
56
  "@types/inquirer": "^8.2.1",
57
57
  "@types/uuid": "^8.3.4"
58
- },
59
- "gitHead": "f5ee334b9452e62368ca01347ad0c7c56655b533"
58
+ }
60
59
  }