@pisell/common 1.0.58 → 1.0.60

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 (56) hide show
  1. package/.fatherrc.ts +7 -7
  2. package/CHANGELOG.md +16 -1
  3. package/README.md +2 -2
  4. package/es/bin/pisell.js +1 -5
  5. package/es/index.d.ts +2 -4
  6. package/es/index.js +1 -5
  7. package/es/script/aws/index.js +212 -129
  8. package/es/script/constants/index.js +75 -84
  9. package/es/script/deploy.js +44 -33
  10. package/es/script/index.js +37 -43
  11. package/es/script/package.json +4 -4
  12. package/es/script/release/index.js +152 -85
  13. package/es/script/release/release.js +168 -83
  14. package/es/script/uploadCode/index.js +309 -239
  15. package/es/script/uploadCode/uploadCode.js +433 -220
  16. package/es/script/utils/index.js +381 -265
  17. package/lib/bin/pisell.js +24 -4
  18. package/lib/index.d.ts +2 -3
  19. package/lib/index.js +23 -4
  20. package/lib/script/aws/index.js +124 -139
  21. package/lib/script/constants/index.js +110 -85
  22. package/lib/script/deploy.js +55 -34
  23. package/lib/script/index.js +56 -41
  24. package/lib/script/package.json +4 -4
  25. package/lib/script/release/index.js +108 -90
  26. package/lib/script/release/release.js +85 -82
  27. package/lib/script/uploadCode/index.js +230 -244
  28. package/lib/script/uploadCode/uploadCode.js +225 -222
  29. package/lib/script/utils/index.js +264 -270
  30. package/package.json +2 -2
  31. package/src/bin/pisell.js +3 -3
  32. package/src/script/aws/index.js +138 -138
  33. package/src/script/constants/index.js +86 -86
  34. package/src/script/deploy.js +29 -29
  35. package/src/script/index.js +45 -45
  36. package/src/script/package.json +4 -4
  37. package/src/script/release/index.js +119 -119
  38. package/src/script/release/release.js +87 -87
  39. package/src/script/uploadCode/index.js +284 -284
  40. package/src/script/uploadCode/uploadCode.js +255 -255
  41. package/src/script/utils/index.js +331 -331
  42. package/tsconfig.json +14 -14
  43. package/tsdown.config.ts +93 -93
  44. package/es/_virtual/_@oxc-project_runtime@0.108.0/helpers/asyncToGenerator.js +0 -28
  45. package/es/_virtual/_@oxc-project_runtime@0.108.0/helpers/defineProperty.js +0 -14
  46. package/es/_virtual/_@oxc-project_runtime@0.108.0/helpers/objectSpread2.js +0 -27
  47. package/es/_virtual/_@oxc-project_runtime@0.108.0/helpers/toPrimitive.js +0 -16
  48. package/es/_virtual/_@oxc-project_runtime@0.108.0/helpers/toPropertyKey.js +0 -11
  49. package/es/_virtual/_@oxc-project_runtime@0.108.0/helpers/typeof.js +0 -12
  50. package/lib/_virtual/_@oxc-project_runtime@0.108.0/helpers/asyncToGenerator.js +0 -29
  51. package/lib/_virtual/_@oxc-project_runtime@0.108.0/helpers/defineProperty.js +0 -14
  52. package/lib/_virtual/_@oxc-project_runtime@0.108.0/helpers/objectSpread2.js +0 -27
  53. package/lib/_virtual/_@oxc-project_runtime@0.108.0/helpers/toPrimitive.js +0 -16
  54. package/lib/_virtual/_@oxc-project_runtime@0.108.0/helpers/toPropertyKey.js +0 -11
  55. package/lib/_virtual/_@oxc-project_runtime@0.108.0/helpers/typeof.js +0 -18
  56. package/lib/_virtual/rolldown_runtime.js +0 -29
@@ -1,138 +1,138 @@
1
- import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3';
2
- import fs from 'fs';
3
- import mime from 'mime-types';
4
- import path from 'path';
5
- import { getServerConfig } from '../utils/index.js';
6
- const filterFiles = ['index.html', 'umi.server.js', 'umi.server.d.ts'];
7
- const __dirname = process.cwd();
8
- let s3Client = null;
9
- let bucketName = '';
10
-
11
- /*******
12
- * @title: 初始化
13
- * @description:
14
- * @return {*}
15
- * @Author: zhiwei.Wang
16
- * @Date: 2023-11-24 14:05
17
- */
18
- const init = async (directory) => {
19
- try {
20
- // 读取本地config
21
- const serverConfig = await getServerConfig(directory);
22
-
23
- // aws配置
24
- let awsConfig = serverConfig.aws;
25
-
26
- if (awsConfig) {
27
- bucketName = awsConfig.bucketName;
28
-
29
- // 创建实例
30
- s3Client = new S3Client({
31
- region: awsConfig.region,
32
- credentials: {
33
- accessKeyId: awsConfig.accessKeyId,
34
- secretAccessKey: awsConfig.secretAccessKey,
35
- },
36
- });
37
- console.log('aws 初始化成功');
38
-
39
- return serverConfig.aws;
40
- } else {
41
- console.log('未获取到aws权限');
42
-
43
- return false;
44
- }
45
- } catch (err) {
46
- console.log(err);
47
-
48
- return false;
49
- }
50
- };
51
-
52
- // 上传文件到S3指定目录
53
- const uploadFile = async (directory, fileKey, filePath) => {
54
- const fileStream = fs.createReadStream(filePath);
55
- // 根据文件扩展名获取MIME类型
56
- const contentType = mime.lookup(filePath);
57
- const uploadParams = {
58
- Bucket: bucketName,
59
- Key: `${directory}/${fileKey}`, // 指定目录路径
60
- Body: fileStream,
61
- ContentType: contentType,
62
- ContentDisposition: 'inline',
63
- ACL: 'public-read', // 设置ACL权限为公共读取
64
- };
65
-
66
- const command = new PutObjectCommand(uploadParams);
67
-
68
- try {
69
- const response = await s3Client.send(command);
70
- console.log(`上传成功: ${fileKey}`);
71
- return { fileName: fileKey, location: response.Location };
72
- } catch (err) {
73
- console.error(`上传失败: ${fileKey}`, err);
74
- throw new Error(`上传失败: ${fileKey}, ${err.message}`);
75
- }
76
- };
77
-
78
- /*******
79
- * @title: 递归上传文件夹内容
80
- * @description:
81
- * @return {*}
82
- * @Author: zhiwei.Wang
83
- * @Date: 2023-11-24 14:06
84
- */
85
- export const uploadFolderContents = async (
86
- directory,
87
- folderPath = path.resolve(__dirname, 'dist')
88
- ) => {
89
- const files = fs.readdirSync(folderPath);
90
-
91
- // promise all 储存
92
- const uploadPromises = [];
93
- for (const file of files) {
94
- const filePath = path.join(folderPath, file);
95
- const fileStats = fs.statSync(filePath);
96
-
97
- // 文件上传, 文件夹递归循环
98
- if (fileStats.isFile()) {
99
- const fileKey = path.relative(folderPath, filePath);
100
- // 过滤不需要上传的文件
101
- if (!filterFiles.includes(fileKey)) {
102
- const uploadPromise = uploadFile(directory, fileKey, filePath);
103
- uploadPromises.push(uploadPromise);
104
- }
105
- // 文件夹
106
- } else if (fileStats.isDirectory()) {
107
- const subDirectory = path.join(directory, file);
108
- const subFolderPromise = uploadFolderContents(subDirectory, filePath);
109
- uploadPromises.push(subFolderPromise);
110
- }
111
- }
112
-
113
- return Promise.all(uploadPromises)
114
- .then((res) => {
115
- console.log('全部上传完成', res.length);
116
- return res;
117
- })
118
- .catch((err) => {
119
- throw new Error(`上传cdn失败: ${err.message}`);
120
- });
121
- };
122
-
123
- /*******
124
- * @title: 上传资源到oss
125
- * @description:
126
- * @return {*}
127
- * @Author: zhiwei.Wang
128
- * @Date: 2023-11-24 14:04
129
- */
130
- export const uploadStaticToOSS = async (
131
- directory,
132
- folderPath = path.resolve(__dirname, 'dist')
133
- ) => {
134
- // 初始化aws
135
- await init(directory);
136
-
137
- return uploadFolderContents(directory, folderPath);
138
- };
1
+ import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3';
2
+ import fs from 'fs';
3
+ import mime from 'mime-types';
4
+ import path from 'path';
5
+ import { getServerConfig } from '../utils/index.js';
6
+ const filterFiles = ['index.html', 'umi.server.js', 'umi.server.d.ts'];
7
+ const __dirname = process.cwd();
8
+ let s3Client = null;
9
+ let bucketName = '';
10
+
11
+ /*******
12
+ * @title: 初始化
13
+ * @description:
14
+ * @return {*}
15
+ * @Author: zhiwei.Wang
16
+ * @Date: 2023-11-24 14:05
17
+ */
18
+ const init = async (directory) => {
19
+ try {
20
+ // 读取本地config
21
+ const serverConfig = await getServerConfig(directory);
22
+
23
+ // aws配置
24
+ let awsConfig = serverConfig.aws;
25
+
26
+ if (awsConfig) {
27
+ bucketName = awsConfig.bucketName;
28
+
29
+ // 创建实例
30
+ s3Client = new S3Client({
31
+ region: awsConfig.region,
32
+ credentials: {
33
+ accessKeyId: awsConfig.accessKeyId,
34
+ secretAccessKey: awsConfig.secretAccessKey,
35
+ },
36
+ });
37
+ console.log('aws 初始化成功');
38
+
39
+ return serverConfig.aws;
40
+ } else {
41
+ console.log('未获取到aws权限');
42
+
43
+ return false;
44
+ }
45
+ } catch (err) {
46
+ console.log(err);
47
+
48
+ return false;
49
+ }
50
+ };
51
+
52
+ // 上传文件到S3指定目录
53
+ const uploadFile = async (directory, fileKey, filePath) => {
54
+ const fileStream = fs.createReadStream(filePath);
55
+ // 根据文件扩展名获取MIME类型
56
+ const contentType = mime.lookup(filePath);
57
+ const uploadParams = {
58
+ Bucket: bucketName,
59
+ Key: `${directory}/${fileKey}`, // 指定目录路径
60
+ Body: fileStream,
61
+ ContentType: contentType,
62
+ ContentDisposition: 'inline',
63
+ ACL: 'public-read', // 设置ACL权限为公共读取
64
+ };
65
+
66
+ const command = new PutObjectCommand(uploadParams);
67
+
68
+ try {
69
+ const response = await s3Client.send(command);
70
+ console.log(`上传成功: ${fileKey}`);
71
+ return { fileName: fileKey, location: response.Location };
72
+ } catch (err) {
73
+ console.error(`上传失败: ${fileKey}`, err);
74
+ throw new Error(`上传失败: ${fileKey}, ${err.message}`);
75
+ }
76
+ };
77
+
78
+ /*******
79
+ * @title: 递归上传文件夹内容
80
+ * @description:
81
+ * @return {*}
82
+ * @Author: zhiwei.Wang
83
+ * @Date: 2023-11-24 14:06
84
+ */
85
+ export const uploadFolderContents = async (
86
+ directory,
87
+ folderPath = path.resolve(__dirname, 'dist')
88
+ ) => {
89
+ const files = fs.readdirSync(folderPath);
90
+
91
+ // promise all 储存
92
+ const uploadPromises = [];
93
+ for (const file of files) {
94
+ const filePath = path.join(folderPath, file);
95
+ const fileStats = fs.statSync(filePath);
96
+
97
+ // 文件上传, 文件夹递归循环
98
+ if (fileStats.isFile()) {
99
+ const fileKey = path.relative(folderPath, filePath);
100
+ // 过滤不需要上传的文件
101
+ if (!filterFiles.includes(fileKey)) {
102
+ const uploadPromise = uploadFile(directory, fileKey, filePath);
103
+ uploadPromises.push(uploadPromise);
104
+ }
105
+ // 文件夹
106
+ } else if (fileStats.isDirectory()) {
107
+ const subDirectory = path.join(directory, file);
108
+ const subFolderPromise = uploadFolderContents(subDirectory, filePath);
109
+ uploadPromises.push(subFolderPromise);
110
+ }
111
+ }
112
+
113
+ return Promise.all(uploadPromises)
114
+ .then((res) => {
115
+ console.log('全部上传完成', res.length);
116
+ return res;
117
+ })
118
+ .catch((err) => {
119
+ throw new Error(`上传cdn失败: ${err.message}`);
120
+ });
121
+ };
122
+
123
+ /*******
124
+ * @title: 上传资源到oss
125
+ * @description:
126
+ * @return {*}
127
+ * @Author: zhiwei.Wang
128
+ * @Date: 2023-11-24 14:04
129
+ */
130
+ export const uploadStaticToOSS = async (
131
+ directory,
132
+ folderPath = path.resolve(__dirname, 'dist')
133
+ ) => {
134
+ // 初始化aws
135
+ await init(directory);
136
+
137
+ return uploadFolderContents(directory, folderPath);
138
+ };
@@ -1,86 +1,86 @@
1
- const outPathMap = {
2
- my_pisel_shop: {
3
- prod: '../data/release/project/my_pisel_shop',
4
- release: '../data/release/project/my_pisel_shop',
5
- pre: '../data/release/project/my_pisel_shop',
6
- },
7
- admin: {
8
- prod: '../data/release/project/pisell_v2',
9
- release: '../data/release/project/pisell_v2',
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',
21
- },
22
- xzero: {
23
- prod: '../data/release/project/xzero',
24
- release: '../data/release/project/xzero',
25
- pre: '../data/release/project/xzero',
26
- },
27
- saas_admin: {
28
- prod: '../data/release/project/saas_admin',
29
- release: '../data/release/project/saas_admin',
30
- pre: '../data/release/project/saas_admin',
31
- },
32
- saas_shop: {
33
- prod: '../data/release/project/saas_shop',
34
- release: '../data/release/project/saas_shop',
35
- pre: '../data/release/project/saas_shop',
36
- },
37
- saas_kds: {
38
- prod: '../data/release/project/saas_kds',
39
- release: '../data/release/project/saas_kds',
40
- pre: '../data/release/project/saas_kds',
41
- },
42
- saas_ads: {
43
- prod: '../data/release/project/saas_ads',
44
- release: '../data/release/project/saas_ads',
45
- pre: '../data/release/project/saas_ads',
46
- },
47
- saas_home: {
48
- prod: '../data/release/project/saas_home',
49
- release: '../data/release/project/saas_home',
50
- pre: '../data/release/project/saas_home',
51
- },
52
- docs: {
53
- prod: '../data/release/project/docs',
54
- release: '../data/release/project/docs',
55
- pre: '../data/release/project/docs',
56
- },
57
- saas_shop_pos: {
58
- prod: '../data/release/project/saas_shop_pos',
59
- release: '../data/release/project/saas_shop_pos',
60
- pre: '../data/release/project/saas_shop_pos',
61
- },
62
- };
63
-
64
- const isSsrMap = {
65
- my_pisel_shop: false,
66
- admin: false,
67
- my_pisel_pc_v2: true,
68
- my_pisel_h5_v2: true,
69
- xzero: false,
70
- docs: false,
71
- saas_admin: false,
72
- saas_shop: false,
73
- saas_kds: false,
74
- saas_ads: false,
75
- saas_shop_pos: false,
76
- };
77
-
78
- const checkPackages = [
79
- '@pisell/date-picker',
80
- '@pisell/lowcode-renderer',
81
- '@pisell/common',
82
- '@pisell/utils',
83
- '@pisell/materials',
84
- ];
85
-
86
- export { outPathMap, isSsrMap, checkPackages };
1
+ const outPathMap = {
2
+ my_pisel_shop: {
3
+ prod: '../data/release/project/my_pisel_shop',
4
+ release: '../data/release/project/my_pisel_shop',
5
+ pre: '../data/release/project/my_pisel_shop',
6
+ },
7
+ admin: {
8
+ prod: '../data/release/project/pisell_v2',
9
+ release: '../data/release/project/pisell_v2',
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',
21
+ },
22
+ xzero: {
23
+ prod: '../data/release/project/xzero',
24
+ release: '../data/release/project/xzero',
25
+ pre: '../data/release/project/xzero',
26
+ },
27
+ saas_admin: {
28
+ prod: '../data/release/project/saas_admin',
29
+ release: '../data/release/project/saas_admin',
30
+ pre: '../data/release/project/saas_admin',
31
+ },
32
+ saas_shop: {
33
+ prod: '../data/release/project/saas_shop',
34
+ release: '../data/release/project/saas_shop',
35
+ pre: '../data/release/project/saas_shop',
36
+ },
37
+ saas_kds: {
38
+ prod: '../data/release/project/saas_kds',
39
+ release: '../data/release/project/saas_kds',
40
+ pre: '../data/release/project/saas_kds',
41
+ },
42
+ saas_ads: {
43
+ prod: '../data/release/project/saas_ads',
44
+ release: '../data/release/project/saas_ads',
45
+ pre: '../data/release/project/saas_ads',
46
+ },
47
+ saas_home: {
48
+ prod: '../data/release/project/saas_home',
49
+ release: '../data/release/project/saas_home',
50
+ pre: '../data/release/project/saas_home',
51
+ },
52
+ docs: {
53
+ prod: '../data/release/project/docs',
54
+ release: '../data/release/project/docs',
55
+ pre: '../data/release/project/docs',
56
+ },
57
+ saas_shop_pos: {
58
+ prod: '../data/release/project/saas_shop_pos',
59
+ release: '../data/release/project/saas_shop_pos',
60
+ pre: '../data/release/project/saas_shop_pos',
61
+ },
62
+ };
63
+
64
+ const isSsrMap = {
65
+ my_pisel_shop: false,
66
+ admin: false,
67
+ my_pisel_pc_v2: true,
68
+ my_pisel_h5_v2: true,
69
+ xzero: false,
70
+ docs: false,
71
+ saas_admin: false,
72
+ saas_shop: false,
73
+ saas_kds: false,
74
+ saas_ads: false,
75
+ saas_shop_pos: false,
76
+ };
77
+
78
+ const checkPackages = [
79
+ '@pisell/date-picker',
80
+ '@pisell/lowcode-renderer',
81
+ '@pisell/common',
82
+ '@pisell/utils',
83
+ '@pisell/materials',
84
+ ];
85
+
86
+ export { outPathMap, isSsrMap, checkPackages };
@@ -1,29 +1,29 @@
1
- import inquirer from 'inquirer';
2
- import release from './release/index.js';
3
- import uploadCode from './uploadCode/index.js';
4
-
5
- const actions = {
6
- uploadCode: uploadCode,
7
- release: release,
8
- };
9
-
10
- const inquirerResult = () => {
11
- return inquirer.prompt([
12
- {
13
- type: 'list',
14
- message: '请选择功能',
15
- name: 'action',
16
- choices: [
17
- { value: 'uploadCode', name: '上传代码' },
18
- { value: 'release', name: '发布代码' },
19
- ],
20
- },
21
- ]);
22
- };
23
-
24
- const deploy = async () => {
25
- let res = await inquirerResult();
26
- return actions[res.action]();
27
- };
28
-
29
- export default deploy;
1
+ import inquirer from 'inquirer';
2
+ import release from './release/index.js';
3
+ import uploadCode from './uploadCode/index.js';
4
+
5
+ const actions = {
6
+ uploadCode: uploadCode,
7
+ release: release,
8
+ };
9
+
10
+ const inquirerResult = () => {
11
+ return inquirer.prompt([
12
+ {
13
+ type: 'list',
14
+ message: '请选择功能',
15
+ name: 'action',
16
+ choices: [
17
+ { value: 'uploadCode', name: '上传代码' },
18
+ { value: 'release', name: '发布代码' },
19
+ ],
20
+ },
21
+ ]);
22
+ };
23
+
24
+ const deploy = async () => {
25
+ let res = await inquirerResult();
26
+ return actions[res.action]();
27
+ };
28
+
29
+ export default deploy;
@@ -1,45 +1,45 @@
1
- import { fileURLToPath } from 'url';
2
- import deploy from './deploy.js';
3
- import { loadJSON } from './utils/index.js';
4
-
5
- const args = process.argv.slice(2);
6
-
7
- const isVersion = (v) => {
8
- return ['-v', '--version', '-V'].includes(v);
9
- };
10
-
11
- const isHelp = (v) => {
12
- return ['-h', '--help', '-H'].includes(v);
13
- };
14
-
15
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
16
-
17
- (() => {
18
- try {
19
- const params = args.slice(1);
20
- switch (true) {
21
- case args[0] === 'deploy':
22
- deploy(...params);
23
- break;
24
- case isVersion(args[0]):
25
- console.log(
26
- `@pisell/common@${
27
- loadJSON(path.join(__dirname, '../../package.json')).version
28
- }`,
29
- );
30
- break;
31
- case isHelp(args[0]):
32
- console.log('pisell -h --help -H [全部命令]');
33
-
34
- console.log('pisell -v --version -V [显示版本]');
35
-
36
- console.log('pisell deploy [上传代码|发布代码]');
37
- break;
38
- default:
39
- break;
40
- }
41
- } catch (e) {
42
- console.error(e.stack);
43
- process.exit(1);
44
- }
45
- })();
1
+ import { fileURLToPath } from 'url';
2
+ import deploy from './deploy.js';
3
+ import { loadJSON } from './utils/index.js';
4
+
5
+ const args = process.argv.slice(2);
6
+
7
+ const isVersion = (v) => {
8
+ return ['-v', '--version', '-V'].includes(v);
9
+ };
10
+
11
+ const isHelp = (v) => {
12
+ return ['-h', '--help', '-H'].includes(v);
13
+ };
14
+
15
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
16
+
17
+ (() => {
18
+ try {
19
+ const params = args.slice(1);
20
+ switch (true) {
21
+ case args[0] === 'deploy':
22
+ deploy(...params);
23
+ break;
24
+ case isVersion(args[0]):
25
+ console.log(
26
+ `@pisell/common@${
27
+ loadJSON(path.join(__dirname, '../../package.json')).version
28
+ }`,
29
+ );
30
+ break;
31
+ case isHelp(args[0]):
32
+ console.log('pisell -h --help -H [全部命令]');
33
+
34
+ console.log('pisell -v --version -V [显示版本]');
35
+
36
+ console.log('pisell deploy [上传代码|发布代码]');
37
+ break;
38
+ default:
39
+ break;
40
+ }
41
+ } catch (e) {
42
+ console.error(e.stack);
43
+ process.exit(1);
44
+ }
45
+ })();
@@ -1,4 +1,4 @@
1
- {
2
- "name": "script",
3
- "type": "module"
4
- }
1
+ {
2
+ "name": "script",
3
+ "type": "module"
4
+ }