@pisell/common 0.0.21-bata → 0.0.22

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.
@@ -8,6 +8,23 @@ var outPathMap = {
8
8
  prod: '../data/release/project/pisell_v2',
9
9
  release: '../data/release/project/pisell_v2',
10
10
  pre: '../data/release/project/pisell_v2'
11
+ },
12
+ my_pisel_pc_v2: {
13
+ prod: '../data/release/project/my_pisel_pc_v2',
14
+ release: '../data/release/project/my_pisel_pc_v2',
15
+ pre: '../data/release/project/my_pisel_pc_v2'
16
+ },
17
+ my_pisel_h5_v2: {
18
+ prod: '../data/release/project/my_pisel_h5_v2',
19
+ release: '../data/release/project/my_pisel_h5_v2',
20
+ pre: '../data/release/project/my_pisel_h5_v2'
11
21
  }
12
22
  };
13
- export { outPathMap };
23
+ var isSsrMap = {
24
+ my_pisel_shop: false,
25
+ admin: false,
26
+ my_pisel_pc_v2: true,
27
+ my_pisel_h5_v2: true
28
+ };
29
+ var checkPackages = ['@pisell/date-picker', '@pisell/lowcode-renderer', '@pisell/common'];
30
+ export { outPathMap, isSsrMap, checkPackages };
@@ -71,7 +71,7 @@ var getVersionList = /*#__PURE__*/function () {
71
71
  case 0:
72
72
  env = _ref.env, project = _ref.project;
73
73
  _context.next = 3;
74
- return getServerConfig(project.fileName);
74
+ return getServerConfig();
75
75
  case 3:
76
76
  config = _context.sent;
77
77
  host = config[env].host;
@@ -43,7 +43,7 @@ var Release = /*#__PURE__*/function () {
43
43
  while (1) switch (_context.prev = _context.next) {
44
44
  case 0:
45
45
  _context.next = 2;
46
- return getServerConfig(this.projectName);
46
+ return getServerConfig();
47
47
  case 2:
48
48
  serverConfigMap = _context.sent;
49
49
  serverConfig = serverConfigMap[this.env]; // 选择release默认用国内cn服务器
@@ -11,8 +11,8 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
11
11
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
12
12
  import archiver from 'archiver';
13
13
  import path from 'path';
14
- import { outPathMap } from "../constants/index.js";
15
- import { connectServer as _connectServer, getGitCurrentBranch, getServerConfig, isWorkingTreeClean, serverUnpack as _serverUnpack, serverUpload as _serverUpload } from "../utils/index.js";
14
+ import { checkPackages, isSsrMap, outPathMap } from "../constants/index.js";
15
+ import { checkPkgVersion, connectServer as _connectServer, getGitCurrentBranch, getServerConfig, isWorkingTreeClean, serverUnpack as _serverUnpack, serverUpload as _serverUpload } from "../utils/index.js";
16
16
 
17
17
  /**
18
18
  * @Title: 上传代码至服务器类
@@ -37,6 +37,8 @@ var UploadCode = /*#__PURE__*/function () {
37
37
  this.projectAbsolutePath = '';
38
38
  this.conn = null;
39
39
  this.serverConfig = null;
40
+ // 是否是ssr项目
41
+ this.isSSR = isSsrMap[this.projectName];
40
42
  this.outPath = outPathMap[this.projectName][this.env];
41
43
  }
42
44
 
@@ -61,12 +63,12 @@ var UploadCode = /*#__PURE__*/function () {
61
63
  key: "check",
62
64
  value: function () {
63
65
  var _check = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
64
- var serverConfigMap, serverConfig;
66
+ var serverConfigMap, _yield$checkPkgVersio, success, message, serverConfig;
65
67
  return _regeneratorRuntime().wrap(function _callee$(_context) {
66
68
  while (1) switch (_context.prev = _context.next) {
67
69
  case 0:
68
70
  _context.next = 2;
69
- return getServerConfig(this.projectName);
71
+ return getServerConfig();
70
72
  case 2:
71
73
  serverConfigMap = _context.sent;
72
74
  if (serverConfigMap) {
@@ -94,6 +96,19 @@ var UploadCode = /*#__PURE__*/function () {
94
96
  console.log('工作区不干净, 请先提交代码');
95
97
  return _context.abrupt("return", false);
96
98
  case 13:
99
+ _context.next = 15;
100
+ return checkPkgVersion(checkPackages);
101
+ case 15:
102
+ _yield$checkPkgVersio = _context.sent;
103
+ success = _yield$checkPkgVersio.success;
104
+ message = _yield$checkPkgVersio.message;
105
+ if (success) {
106
+ _context.next = 21;
107
+ break;
108
+ }
109
+ console.log(message);
110
+ return _context.abrupt("return", false);
111
+ case 21:
97
112
  serverConfig = this.setConfig(serverConfigMap[this.env]);
98
113
  if (this.env === 'prod') {
99
114
  serverConfig.privateKey = fs.readFileSync(path.join(process.env.HOME, '.ssh', 'id_rsa'));
@@ -104,20 +119,20 @@ var UploadCode = /*#__PURE__*/function () {
104
119
  serverConfig = this.setConfig(serverConfigMap.cn[this.env]);
105
120
  }
106
121
  if (serverConfig) {
107
- _context.next = 19;
122
+ _context.next = 27;
108
123
  break;
109
124
  }
110
125
  console.log('您当前没有权限!');
111
126
  return _context.abrupt("return", false);
112
- case 19:
127
+ case 27:
113
128
  _context.t0 = console;
114
- _context.next = 22;
129
+ _context.next = 30;
115
130
  return getGitCurrentBranch();
116
- case 22:
131
+ case 30:
117
132
  _context.t1 = _context.sent;
118
133
  _context.t0.log.call(_context.t0, '当前主项目分支', _context.t1);
119
134
  return _context.abrupt("return", true);
120
- case 25:
135
+ case 33:
121
136
  case "end":
122
137
  return _context.stop();
123
138
  }
@@ -342,7 +357,8 @@ var UploadCode = /*#__PURE__*/function () {
342
357
  path: this.outPath,
343
358
  fileName: "".concat(this.currentVersion),
344
359
  fullFileName: "".concat(this.currentVersion, ".zip"),
345
- changelog: this.changelog
360
+ changelog: this.changelog,
361
+ isSSR: this.isSSR
346
362
  });
347
363
  case 2:
348
364
  return _context7.abrupt("return", _context7.sent);
@@ -5,6 +5,7 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
5
5
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
6
6
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
7
7
  import * as dotenv from 'dotenv';
8
+ import npmCheck from 'npm-check';
8
9
  import path from 'path';
9
10
  import ssh2 from 'ssh2';
10
11
 
@@ -62,42 +63,27 @@ var getGitCurrentBranch = /*#__PURE__*/function () {
62
63
  };
63
64
  }();
64
65
 
65
- /**
66
- * monorepo项目名称
67
- * @type {string[]}
68
- */
69
- var monorepoProjectNameArr = ['admin'];
70
-
71
66
  /**
72
67
  * @Title: 获取本地lm_config.json配置信息
73
- * @Describe
68
+ * @Describe:
74
69
  * @Author: Zsj
75
70
  */
76
71
  var getServerConfig = /*#__PURE__*/function () {
77
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(project) {
72
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
78
73
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
79
74
  while (1) switch (_context3.prev = _context3.next) {
80
75
  case 0:
81
- if (!monorepoProjectNameArr.includes(project)) {
82
- _context3.next = 4;
83
- break;
84
- }
85
- _context3.next = 3;
86
- return fs.readJson('../../lm_config.json');
87
- case 3:
88
- return _context3.abrupt("return", _context3.sent);
89
- case 4:
90
- _context3.next = 6;
76
+ _context3.next = 2;
91
77
  return fs.readJson('../lm_config.json');
92
- case 6:
78
+ case 2:
93
79
  return _context3.abrupt("return", _context3.sent);
94
- case 7:
80
+ case 3:
95
81
  case "end":
96
82
  return _context3.stop();
97
83
  }
98
84
  }, _callee3);
99
85
  }));
100
- return function getServerConfig(_x) {
86
+ return function getServerConfig() {
101
87
  return _ref3.apply(this, arguments);
102
88
  };
103
89
  }();
@@ -170,7 +156,8 @@ var serverUnpack = function serverUnpack(conn, _ref5) {
170
156
  var path = _ref5.path,
171
157
  fileName = _ref5.fileName,
172
158
  fullFileName = _ref5.fullFileName,
173
- changelog = _ref5.changelog;
159
+ changelog = _ref5.changelog,
160
+ isSSR = _ref5.isSSR;
174
161
  if (!conn) return Promise.reject('未连接服务器');
175
162
  // 文件全名
176
163
  return new Promise(function (resolve, reject) {
@@ -180,7 +167,7 @@ var serverUnpack = function serverUnpack(conn, _ref5) {
180
167
  reject(err);
181
168
  return;
182
169
  }
183
- stream.end("\n cd ".concat(path, "\n unzip ").concat(fullFileName, " -d ").concat(fileName, " && mv ").concat(fileName, "/dist/* ").concat(fileName, "/ && rmdir ").concat(fileName, "/dist\n rm -rf ").concat(fullFileName, "\n echo \"").concat(changelog, "\" > ./").concat(fileName, "/changelog.md\n sh deleteOldVersion.sh\n exit\n ") // 打开到path
170
+ stream.end("\n cd ".concat(path, "\n unzip ").concat(fullFileName, " -d ").concat(fileName, " && mv ").concat(fileName, "/dist/* ").concat(fileName, "/ && rmdir ").concat(fileName, "/dist\n rm -rf ").concat(fullFileName, "\n echo \"").concat(changelog, "\" > ./").concat(fileName, "/changelog.md\n sh deleteOldVersion.sh\n ").concat(isSSR ? 'pm2 restart server.js' : '', "\n exit\n ") // 打开到path
184
171
  // 解压 1.0.0.zip 文件到 1.0.0 移动dist中内容到 1.0.0内 删除dist
185
172
  // 删除1.0.0.zip
186
173
  // 写入changelog到changelog.md
@@ -329,8 +316,40 @@ var sendWebhook = /*#__PURE__*/function () {
329
316
  }
330
317
  }, _callee5);
331
318
  }));
332
- return function sendWebhook(_x2) {
319
+ return function sendWebhook(_x) {
333
320
  return _ref9.apply(this, arguments);
334
321
  };
335
322
  }();
336
- export { isWorkingTreeClean, getServerConfig, connectServer, serverUpload, serverUnpack, versionSort, releaseProject, getGitCurrentBranch, getCurrentProjectName, loadJSON, getCurrentUserName, sendWebhook };
323
+ var checkPkgVersion = /*#__PURE__*/function () {
324
+ var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(checkPackages) {
325
+ var currentState, pkgs, wrongPkg, errorMessage, isWrongVersion;
326
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
327
+ while (1) switch (_context6.prev = _context6.next) {
328
+ case 0:
329
+ _context6.next = 2;
330
+ return npmCheck();
331
+ case 2:
332
+ currentState = _context6.sent;
333
+ pkgs = currentState.get('packages');
334
+ wrongPkg = pkgs.filter(function (item) {
335
+ return checkPackages.includes(item.moduleName) && item.mismatch;
336
+ });
337
+ errorMessage = wrongPkg.reduce(function (p, c) {
338
+ return "".concat(p, "\n ").concat(c.moduleName, "\u672C\u5730\u7248\u672C").concat(c.installed, "\u9700\u5347\u7EA7\u81F3").concat(c.packageJson, "\n ");
339
+ }, '');
340
+ isWrongVersion = wrongPkg.length;
341
+ return _context6.abrupt("return", {
342
+ success: !isWrongVersion,
343
+ message: errorMessage
344
+ });
345
+ case 8:
346
+ case "end":
347
+ return _context6.stop();
348
+ }
349
+ }, _callee6);
350
+ }));
351
+ return function checkPkgVersion(_x2) {
352
+ return _ref10.apply(this, arguments);
353
+ };
354
+ }();
355
+ export { isWorkingTreeClean, getServerConfig, connectServer, serverUpload, serverUnpack, versionSort, releaseProject, getGitCurrentBranch, getCurrentProjectName, loadJSON, getCurrentUserName, sendWebhook, checkPkgVersion };
@@ -19,6 +19,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  // src/script/constants/index.js
20
20
  var constants_exports = {};
21
21
  __export(constants_exports, {
22
+ checkPackages: () => checkPackages,
23
+ isSsrMap: () => isSsrMap,
22
24
  outPathMap: () => outPathMap
23
25
  });
24
26
  module.exports = __toCommonJS(constants_exports);
@@ -32,9 +34,32 @@ var outPathMap = {
32
34
  prod: "../data/release/project/pisell_v2",
33
35
  release: "../data/release/project/pisell_v2",
34
36
  pre: "../data/release/project/pisell_v2"
37
+ },
38
+ my_pisel_pc_v2: {
39
+ prod: "../data/release/project/my_pisel_pc_v2",
40
+ release: "../data/release/project/my_pisel_pc_v2",
41
+ pre: "../data/release/project/my_pisel_pc_v2"
42
+ },
43
+ my_pisel_h5_v2: {
44
+ prod: "../data/release/project/my_pisel_h5_v2",
45
+ release: "../data/release/project/my_pisel_h5_v2",
46
+ pre: "../data/release/project/my_pisel_h5_v2"
35
47
  }
36
48
  };
49
+ var isSsrMap = {
50
+ my_pisel_shop: false,
51
+ admin: false,
52
+ my_pisel_pc_v2: true,
53
+ my_pisel_h5_v2: true
54
+ };
55
+ var checkPackages = [
56
+ "@pisell/date-picker",
57
+ "@pisell/lowcode-renderer",
58
+ "@pisell/common"
59
+ ];
37
60
  // Annotate the CommonJS export names for ESM import in node:
38
61
  0 && (module.exports = {
62
+ checkPackages,
63
+ isSsrMap,
39
64
  outPathMap
40
65
  });
@@ -79,7 +79,7 @@ var inquirerResult = (versionList) => {
79
79
  };
80
80
  var ignoreName = ["master", ".git", "pre-master"];
81
81
  var getVersionList = async ({ env, project }) => {
82
- const config = await (0, import_utils.getServerConfig)(project.fileName);
82
+ const config = await (0, import_utils.getServerConfig)();
83
83
  let host = config[env].host;
84
84
  if (env === "release") {
85
85
  host = config.cn[env].host;
@@ -39,7 +39,7 @@ var Release = class {
39
39
  * @Author: Zsj
40
40
  */
41
41
  async setConfig() {
42
- const serverConfigMap = await (0, import_utils.getServerConfig)(this.projectName);
42
+ const serverConfigMap = await (0, import_utils.getServerConfig)();
43
43
  let serverConfig = serverConfigMap[this.env];
44
44
  if (this.env === "release") {
45
45
  serverConfig = serverConfigMap.cn[this.env];
@@ -49,6 +49,7 @@ var UploadCode = class {
49
49
  this.projectAbsolutePath = "";
50
50
  this.conn = null;
51
51
  this.serverConfig = null;
52
+ this.isSSR = import_constants.isSsrMap[this.projectName];
52
53
  this.outPath = import_constants.outPathMap[this.projectName][this.env];
53
54
  }
54
55
  /**
@@ -66,7 +67,7 @@ var UploadCode = class {
66
67
  * @Author: Zsj
67
68
  */
68
69
  async check() {
69
- const serverConfigMap = await (0, import_utils.getServerConfig)(this.projectName);
70
+ const serverConfigMap = await (0, import_utils.getServerConfig)();
70
71
  if (!serverConfigMap) {
71
72
  console.log("未找到发布脚本!");
72
73
  return false;
@@ -77,6 +78,11 @@ var UploadCode = class {
77
78
  console.log("工作区不干净, 请先提交代码");
78
79
  return false;
79
80
  }
81
+ const { success, message } = await (0, import_utils.checkPkgVersion)(import_constants.checkPackages);
82
+ if (!success) {
83
+ console.log(message);
84
+ return false;
85
+ }
80
86
  let serverConfig = this.setConfig(serverConfigMap[this.env]);
81
87
  if (this.env === "prod") {
82
88
  serverConfig.privateKey = fs.readFileSync(
@@ -183,7 +189,8 @@ var UploadCode = class {
183
189
  path: this.outPath,
184
190
  fileName: `${this.currentVersion}`,
185
191
  fullFileName: `${this.currentVersion}.zip`,
186
- changelog: this.changelog
192
+ changelog: this.changelog,
193
+ isSSR: this.isSSR
187
194
  });
188
195
  }
189
196
  /**
@@ -29,6 +29,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
29
29
  // src/script/utils/index.js
30
30
  var utils_exports = {};
31
31
  __export(utils_exports, {
32
+ checkPkgVersion: () => checkPkgVersion,
32
33
  connectServer: () => connectServer,
33
34
  getCurrentProjectName: () => getCurrentProjectName,
34
35
  getCurrentUserName: () => getCurrentUserName,
@@ -44,6 +45,7 @@ __export(utils_exports, {
44
45
  });
45
46
  module.exports = __toCommonJS(utils_exports);
46
47
  var dotenv = __toESM(require("dotenv"));
48
+ var import_npm_check = __toESM(require("npm-check"));
47
49
  var import_path = __toESM(require("path"));
48
50
  var import_ssh2 = __toESM(require("ssh2"));
49
51
  var isWorkingTreeClean = async () => {
@@ -54,11 +56,7 @@ var getGitCurrentBranch = async () => {
54
56
  const v = await $`git symbolic-ref --short HEAD`;
55
57
  return v.stdout;
56
58
  };
57
- var monorepoProjectNameArr = ["admin"];
58
- var getServerConfig = async (project) => {
59
- if (monorepoProjectNameArr.includes(project)) {
60
- return await fs.readJson("../../lm_config.json");
61
- }
59
+ var getServerConfig = async () => {
62
60
  return await fs.readJson("../lm_config.json");
63
61
  };
64
62
  var connectServer = (config2) => {
@@ -116,7 +114,7 @@ var serverUpload = (conn, { localPath, remotePath }) => {
116
114
  });
117
115
  });
118
116
  };
119
- var serverUnpack = (conn, { path: path2, fileName, fullFileName, changelog }) => {
117
+ var serverUnpack = (conn, { path: path2, fileName, fullFileName, changelog, isSSR }) => {
120
118
  if (!conn)
121
119
  return Promise.reject("未连接服务器");
122
120
  return new Promise((resolve, reject) => {
@@ -133,6 +131,7 @@ var serverUnpack = (conn, { path: path2, fileName, fullFileName, changelog }) =>
133
131
  rm -rf ${fullFileName}
134
132
  echo "${changelog}" > ./${fileName}/changelog.md
135
133
  sh deleteOldVersion.sh
134
+ ${isSSR ? "pm2 restart server.js" : ""}
136
135
  exit
137
136
  `
138
137
  // 打开到path
@@ -235,8 +234,26 @@ var sendWebhook = async ({ title, content }) => {
235
234
  });
236
235
  return await response.json();
237
236
  };
237
+ var checkPkgVersion = async (checkPackages) => {
238
+ const currentState = await (0, import_npm_check.default)();
239
+ const pkgs = currentState.get("packages");
240
+ const wrongPkg = pkgs.filter((item) => {
241
+ return checkPackages.includes(item.moduleName) && item.mismatch;
242
+ });
243
+ const errorMessage = wrongPkg.reduce((p, c) => {
244
+ return `${p}
245
+ ${c.moduleName}本地版本${c.installed}需升级至${c.packageJson}
246
+ `;
247
+ }, "");
248
+ const isWrongVersion = wrongPkg.length;
249
+ return {
250
+ success: !isWrongVersion,
251
+ message: errorMessage
252
+ };
253
+ };
238
254
  // Annotate the CommonJS export names for ESM import in node:
239
255
  0 && (module.exports = {
256
+ checkPkgVersion,
240
257
  connectServer,
241
258
  getCurrentProjectName,
242
259
  getCurrentUserName,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pisell/common",
3
- "version": "0.0.21-bata",
3
+ "version": "0.0.22",
4
4
  "description": "A collection of reusable UI components for web development",
5
5
  "license": "MIT",
6
6
  "sideEffects": [
@@ -63,6 +63,7 @@
63
63
  "array-move": "^3.0.1",
64
64
  "dotenv": "^16.0.3",
65
65
  "inquirer": "^9.2.6",
66
+ "npm-check": "^6.0.1",
66
67
  "react-beautiful-dnd": "^13.1.0",
67
68
  "react-color": "^2.19.3",
68
69
  "ssh2": "^1.13.0",