upload-assets-oss 0.0.3 → 0.0.5

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.
package/dist/index.js CHANGED
@@ -1,231 +1,17 @@
1
- // src/vite_plugin/vitePluginQiniu.ts
2
- import fs from "fs";
3
-
4
- // src/npm_plugin/npmQiniuPlugin.ts
5
- import lodash from "lodash-es";
6
-
7
- // src/oss_plugin/qiniu.ts
8
- import qiniu from "qiniu";
9
-
10
- // src/utils/log.ts
11
- import chalk from "chalk";
12
- var log = (text, color = "green") => {
13
- console.log(chalk[color](text));
14
- };
15
-
16
- // src/oss_plugin/qiniu.ts
17
- var Qiniu = class {
18
- options = {
19
- accessKey: "",
20
- secretKey: "",
21
- bucket: ""
22
- };
23
- uploadToken;
24
- formUploader;
25
- bucketManager;
26
- constructor(options) {
27
- const { accessKey, secretKey, bucket } = options;
28
- const mac = new qiniu.auth.digest.Mac(accessKey, secretKey);
29
- const _options = {
30
- scope: bucket
31
- };
32
- const putPolicy = new qiniu.rs.PutPolicy(_options);
33
- const config = new qiniu.conf.Config();
34
- this.options = options;
35
- this.uploadToken = putPolicy.uploadToken(mac);
36
- this.formUploader = new qiniu.form_up.FormUploader(config);
37
- this.bucketManager = new qiniu.rs.BucketManager(mac, config);
38
- }
39
- putFile(key, filePath) {
40
- const putExtra = new qiniu.form_up.PutExtra();
41
- return new Promise((resolve, reject) => {
42
- this.formUploader.putFile(
43
- this.uploadToken,
44
- key,
45
- filePath,
46
- putExtra,
47
- function(respErr, respBody, respInfo) {
48
- if (respErr) {
49
- throw respErr;
50
- }
51
- if (respInfo.statusCode == 200) {
52
- resolve(respInfo);
53
- } else {
54
- console.log(respInfo.statusCode);
55
- console.log(respBody);
56
- reject(respBody);
57
- }
58
- }
59
- );
60
- });
61
- }
62
- getResouceList(prefix) {
63
- const { bucket } = this.options;
64
- var options = {
65
- prefix
66
- };
67
- log("\u{1F5D3} \u6B63\u5728\u83B7\u53D6\u5386\u53F2\u6570\u636E...");
68
- return new Promise((resolve, reject) => {
69
- this.bucketManager.listPrefix(
70
- bucket,
71
- options,
72
- function(err, respBody, respInfo) {
73
- if (err) {
74
- throw err;
75
- }
76
- if (respInfo.statusCode == 200) {
77
- const resourceList = respBody.items.map((item) => item.key);
78
- log("\u{1F44F} \u83B7\u53D6\u5386\u53F2\u6570\u636E\u6210\u529F\uFF0C\u6B63\u5728\u5BF9\u6BD4\u6587\u4EF6...\n");
79
- resolve(resourceList);
80
- } else {
81
- console.log(respInfo.statusCode);
82
- console.log(respBody);
83
- reject(respBody);
84
- }
85
- }
86
- );
87
- });
88
- }
89
- batchDeleteFile(filenameAry) {
90
- const { bucket } = this.options;
91
- let deleteOperations = [];
92
- if (filenameAry && filenameAry.length > 1) {
93
- deleteOperations = filenameAry.map(
94
- (filename) => qiniu.rs.deleteOp(bucket, filename)
95
- );
96
- }
97
- log("\u{1F921} \u6B63\u5728\u5220\u9664\u6587\u4EF6...");
98
- return new Promise((resolve, reject) => {
99
- this.bucketManager.batch(
100
- deleteOperations,
101
- function(err, respBody, respInfo) {
102
- if (err) {
103
- reject(err);
104
- throw err;
105
- } else {
106
- log("\u{1F44F} \u5220\u9664\u5B8C\u6210\uFF01\n");
107
- resolve(respInfo);
108
- }
109
- }
110
- );
111
- });
112
- }
113
- };
114
- var qiniu_default = Qiniu;
115
-
116
- // src/utils/utils.ts
117
- import path from "path";
118
- var getProjectName = () => path.basename(process.cwd());
119
-
120
- // src/npm_plugin/npmQiniuPlugin.ts
121
- var projectName = getProjectName();
122
- var NpmQiuniuPlugin = class {
123
- options;
124
- qiniu;
125
- constructor(options) {
126
- this.qiniu = new qiniu_default(options);
127
- this.options = options;
128
- if (options.rootName) {
129
- projectName = options.rootName;
130
- }
131
- }
132
- apply({
133
- filePathAry,
134
- outputPath
135
- }) {
136
- this.batchUpload(filePathAry, outputPath);
137
- }
138
- async batchUpload(filePathAry, buildPath) {
139
- const { isLog } = this.options;
140
- const uploadData = {};
141
- filePathAry.forEach((filename) => {
142
- uploadData[`${projectName}/${filename}`] = `${buildPath}/${filename}`;
143
- });
144
- const uploadAry = await this.batchDelete(Object.keys(uploadData));
145
- const len = uploadAry.length;
146
- const maxIndex = len - 1;
147
- if (len === 0) {
148
- log(`\u{1F62D} \u6CA1\u6709\u53D1\u73B0\u9700\u8981\u4E0A\u4F20\u7684\u6587\u4EF6
149
- `);
150
- return;
151
- }
152
- log(`\u2B06\uFE0F \u5C06\u4E0A\u4F20 ${len} \u4E2A\u6587\u4EF6`);
153
- uploadAry.forEach(async (key, i) => {
154
- const filePath = uploadData[key];
155
- isLog && log(`\u{1F680} \u6B63\u5728\u4E0A\u4F20\u7B2C ${i + 1} \u4E2A\u6587\u4EF6: ${key}`);
156
- await this.qiniu.putFile(key, filePath);
157
- if (maxIndex === i) {
158
- log(`\u{1F44F} \u4E0A\u4F20\u5B8C\u6210\uFF01`);
159
- }
160
- });
161
- }
162
- async batchDelete(uploadFilePathAry) {
163
- const { forceDelete } = this.options;
164
- const resourceList = await this.qiniu.getResouceList(projectName);
165
- const deleteAry = forceDelete ? resourceList : lodash.difference(resourceList, uploadFilePathAry);
166
- const uploadAry = forceDelete ? uploadFilePathAry : lodash.difference(uploadFilePathAry, resourceList);
167
- if (deleteAry.length > 0) {
168
- await this.qiniu.batchDeleteFile(deleteAry);
169
- }
170
- return uploadAry;
171
- }
172
- };
173
- var npmQiniuPlugin_default = NpmQiuniuPlugin;
174
-
175
- // src/vite_plugin/vitePluginQiniu.ts
176
- var PLUGIN_NAME = "vite-plugin-upload-oss-qiniu";
177
- function vitePluginQiniu(options) {
178
- const qiniu2 = new npmQiniuPlugin_default(options);
179
- let outputPath = "";
180
- const getFilePaths = (pathName) => {
181
- const files = fs.readdirSync(pathName);
182
- return files.map((item) => {
183
- const filePath = `${pathName}/${item}`;
184
- const stat = fs.lstatSync(filePath);
185
- if (stat.isDirectory()) {
186
- return getFilePaths(filePath);
187
- } else {
188
- return pathName === outputPath ? item : filePath.replace(`${outputPath}/`, "");
189
- }
190
- }).flat();
191
- };
192
- return {
193
- name: PLUGIN_NAME,
194
- apply: "build",
195
- configResolved: async (config) => {
196
- outputPath = config.build.outDir;
197
- },
198
- closeBundle() {
199
- const filePathAry = getFilePaths(outputPath);
200
- qiniu2.apply({
201
- filePathAry,
202
- outputPath
203
- });
204
- }
205
- };
206
- }
207
-
208
- // src/webpack_plugin/webpackPluginQiniu.ts
209
- var PLUGIN_NAME2 = "webpack-plugin-upload-oss-qiniu";
210
- var WebpackPluginQiniu = class {
211
- qiniu;
212
- constructor(options) {
213
- this.qiniu = new npmQiniuPlugin_default(options);
214
- }
215
- apply(compiler) {
216
- compiler.hooks.afterEmit.tapAsync(
217
- PLUGIN_NAME2,
218
- async (compilation, callback) => {
219
- const filePathAry = Object.keys(compilation.assets);
220
- const outputPath = compilation.options.output.path;
221
- callback();
222
- this.qiniu.apply({ filePathAry, outputPath });
223
- }
224
- );
225
- }
226
- };
227
- var webpackPluginQiniu_default = WebpackPluginQiniu;
228
- export {
229
- webpackPluginQiniu_default as WebpackPluginQiniu,
230
- vitePluginQiniu
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
231
4
  };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.WebpackPluginQiniu = exports.vitePluginQiniu = void 0;
7
+ /*
8
+ * @Author: Arno.su
9
+ * @Date: 2022-10-21 12:00:23
10
+ * @LastEditors: Arno.su
11
+ * @LastEditTime: 2022-10-21 13:47:48
12
+ */
13
+ var vitePluginQiniu_1 = require("./vite_plugin/vitePluginQiniu");
14
+ Object.defineProperty(exports, "vitePluginQiniu", { enumerable: true, get: function () { return __importDefault(vitePluginQiniu_1).default; } });
15
+ var webpackPluginQiniu_1 = require("./webpack_plugin/webpackPluginQiniu");
16
+ Object.defineProperty(exports, "WebpackPluginQiniu", { enumerable: true, get: function () { return __importDefault(webpackPluginQiniu_1).default; } });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;GAKG;AACH,iEAA2E;AAAlE,mIAAA,OAAO,OAAmB;AACnC,0EAAoF;AAA3E,yIAAA,OAAO,OAAsB"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /*
7
+ * @Author: Arno.su
8
+ * @Date: 2022-10-21 13:31:59
9
+ * @LastEditors: Arno.su
10
+ * @LastEditTime: 2022-10-21 13:52:47
11
+ */
12
+ const lodash_es_1 = __importDefault(require("lodash-es"));
13
+ const qiniu_1 = __importDefault(require("../oss_plugin/qiniu"));
14
+ const log_1 = require("../utils/log");
15
+ const utils_1 = require("../utils/utils");
16
+ let projectName = (0, utils_1.getProjectName)();
17
+ class NpmQiuniuPlugin {
18
+ options;
19
+ qiniu;
20
+ constructor(options) {
21
+ this.qiniu = new qiniu_1.default(options);
22
+ this.options = options;
23
+ if (options.rootName) {
24
+ projectName = options.rootName;
25
+ }
26
+ }
27
+ apply({ filePathAry, outputPath, }) {
28
+ this.batchUpload(filePathAry, outputPath);
29
+ }
30
+ async batchUpload(filePathAry, buildPath) {
31
+ const { isLog } = this.options;
32
+ const uploadData = {};
33
+ filePathAry.forEach((filename) => {
34
+ uploadData[`${projectName}/${filename}`] = `${buildPath}/${filename}`;
35
+ });
36
+ const uploadAry = await this.batchDelete(Object.keys(uploadData));
37
+ const len = uploadAry.length;
38
+ const maxIndex = len - 1;
39
+ if (len === 0) {
40
+ (0, log_1.log)(`😭 没有发现需要上传的文件 \n`);
41
+ return;
42
+ }
43
+ (0, log_1.log)(`⬆️ 将上传 ${len} 个文件`);
44
+ uploadAry.forEach(async (key, i) => {
45
+ const filePath = uploadData[key];
46
+ isLog && (0, log_1.log)(`🚀 正在上传第 ${i + 1} 个文件: ${key}`);
47
+ await this.qiniu.putFile(key, filePath);
48
+ if (maxIndex === i) {
49
+ (0, log_1.log)(`👏 上传完成!`);
50
+ }
51
+ });
52
+ }
53
+ async batchDelete(uploadFilePathAry) {
54
+ const { forceDelete } = this.options;
55
+ const resourceList = await this.qiniu.getResouceList(projectName); // 获取之前上传七牛的文件
56
+ const deleteAry = forceDelete
57
+ ? resourceList
58
+ : lodash_es_1.default.difference(resourceList, uploadFilePathAry); // 获取需要先在七牛上删除的文件
59
+ const uploadAry = forceDelete
60
+ ? uploadFilePathAry
61
+ : lodash_es_1.default.difference(uploadFilePathAry, resourceList); // 获取需要上传的文件
62
+ if (deleteAry.length > 0) {
63
+ await this.qiniu.batchDeleteFile(deleteAry); // 删除文件
64
+ }
65
+ return uploadAry;
66
+ }
67
+ }
68
+ exports.default = NpmQiuniuPlugin;
69
+ //# sourceMappingURL=npmQiniuPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npmQiniuPlugin.js","sourceRoot":"","sources":["../../src/npm_plugin/npmQiniuPlugin.ts"],"names":[],"mappings":";;;;;AAAA;;;;;GAKG;AACH,0DAA+B;AAC/B,gEAA0D;AAC1D,sCAAmC;AACnC,0CAAgD;AAEhD,IAAI,WAAW,GAAG,IAAA,sBAAc,GAAE,CAAC;AAEnC,MAAM,eAAe;IACnB,OAAO,CAAU;IACjB,KAAK,CAAQ;IAEb,YAAY,OAAgB;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,eAAK,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;SAChC;IACH,CAAC;IAED,KAAK,CAAC,EACJ,WAAW,EACX,UAAU,GAIX;QACC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAqB,EAAE,SAAiB;QACxD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,MAAM,UAAU,GAA8B,EAAE,CAAC;QAEjD,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/B,UAAU,CAAC,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC,GAAG,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;QAC7B,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC;QAEzB,IAAI,GAAG,KAAK,CAAC,EAAE;YACb,IAAA,SAAG,EAAC,oBAAoB,CAAC,CAAC;YAC1B,OAAO;SACR;QAED,IAAA,SAAG,EAAC,YAAY,GAAG,MAAM,CAAC,CAAC;QAC3B,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAW,EAAE,CAAS,EAAE,EAAE;YACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAEjC,KAAK,IAAI,IAAA,SAAG,EAAC,aAAa,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACxC,IAAI,QAAQ,KAAK,CAAC,EAAE;gBAClB,IAAA,SAAG,EAAC,WAAW,CAAC,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,iBAA2B;QAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;QACjF,MAAM,SAAS,GAAG,WAAW;YAC3B,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,mBAAM,CAAC,UAAU,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,iBAAiB;QACzE,MAAM,SAAS,GAAG,WAAW;YAC3B,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,mBAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY;QAEpE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;SACrD;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,kBAAe,eAAe,CAAC"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const qiniu_1 = __importDefault(require("qiniu"));
7
+ const log_1 = require("../utils/log");
8
+ class Qiniu {
9
+ options = {
10
+ accessKey: '',
11
+ secretKey: '',
12
+ bucket: '',
13
+ };
14
+ uploadToken;
15
+ formUploader;
16
+ bucketManager;
17
+ constructor(options) {
18
+ const { accessKey, secretKey, bucket } = options;
19
+ const mac = new qiniu_1.default.auth.digest.Mac(accessKey, secretKey);
20
+ const _options = {
21
+ scope: bucket,
22
+ };
23
+ const putPolicy = new qiniu_1.default.rs.PutPolicy(_options);
24
+ const config = new qiniu_1.default.conf.Config();
25
+ this.options = options;
26
+ this.uploadToken = putPolicy.uploadToken(mac);
27
+ this.formUploader = new qiniu_1.default.form_up.FormUploader(config);
28
+ this.bucketManager = new qiniu_1.default.rs.BucketManager(mac, config);
29
+ }
30
+ putFile(key, filePath) {
31
+ const putExtra = new qiniu_1.default.form_up.PutExtra();
32
+ return new Promise((resolve, reject) => {
33
+ this.formUploader.putFile(this.uploadToken, key, filePath, putExtra, function (respErr, respBody, respInfo) {
34
+ if (respErr) {
35
+ throw respErr;
36
+ }
37
+ if (respInfo.statusCode == 200) {
38
+ resolve(respInfo);
39
+ }
40
+ else {
41
+ console.log(respInfo.statusCode);
42
+ console.log(respBody);
43
+ reject(respBody);
44
+ }
45
+ });
46
+ });
47
+ }
48
+ getResouceList(prefix) {
49
+ const { bucket } = this.options;
50
+ var options = {
51
+ // limit: 10,
52
+ prefix,
53
+ };
54
+ (0, log_1.log)('🗓 正在获取历史数据...');
55
+ return new Promise((resolve, reject) => {
56
+ this.bucketManager.listPrefix(bucket, options, function (err, respBody, respInfo) {
57
+ if (err) {
58
+ throw err;
59
+ }
60
+ if (respInfo.statusCode == 200) {
61
+ const resourceList = respBody.items.map((item) => item.key);
62
+ (0, log_1.log)('👏 获取历史数据成功,正在对比文件...\n');
63
+ resolve(resourceList);
64
+ }
65
+ else {
66
+ console.log(respInfo.statusCode);
67
+ console.log(respBody);
68
+ reject(respBody);
69
+ }
70
+ });
71
+ });
72
+ }
73
+ batchDeleteFile(filenameAry) {
74
+ const { bucket } = this.options;
75
+ let deleteOperations = [];
76
+ if (filenameAry && filenameAry.length > 1) {
77
+ deleteOperations = filenameAry.map((filename) => qiniu_1.default.rs.deleteOp(bucket, filename));
78
+ }
79
+ (0, log_1.log)('🤡 正在删除文件...');
80
+ return new Promise((resolve, reject) => {
81
+ this.bucketManager.batch(deleteOperations, function (err, respBody, respInfo) {
82
+ if (err) {
83
+ reject(err);
84
+ throw err;
85
+ }
86
+ else {
87
+ (0, log_1.log)('👏 删除完成!\n');
88
+ resolve(respInfo);
89
+ }
90
+ });
91
+ });
92
+ }
93
+ }
94
+ exports.default = Qiniu;
95
+ //# sourceMappingURL=qiniu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qiniu.js","sourceRoot":"","sources":["../../src/oss_plugin/qiniu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.log = void 0;
7
+ /*
8
+ * @Author: Arno.su
9
+ * @Date: 2021-11-24 16:59:07
10
+ * @LastEditors: Arno.su
11
+ * @LastEditTime: 2022-10-21 12:10:31
12
+ */
13
+ const chalk_1 = __importDefault(require("chalk"));
14
+ const log = (text, color = 'green') => {
15
+ console.log(chalk_1.default[color](text));
16
+ };
17
+ exports.log = log;
18
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;GAKG;AACH,kDAA0B;AAEnB,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,KAAK,GAAG,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,GAAG,CAAE,eAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC;AAFW,QAAA,GAAG,OAEd"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getProjectName = void 0;
7
+ /*
8
+ * @Author: Arno.su
9
+ * @Date: 2022-10-21 13:28:31
10
+ * @LastEditors: Arno.su
11
+ * @LastEditTime: 2022-10-21 13:37:09
12
+ */
13
+ const path_1 = __importDefault(require("path"));
14
+ /**
15
+ * 获取项目名称
16
+ * @returns string
17
+ */
18
+ const getProjectName = () => path_1.default.basename(process.cwd());
19
+ exports.getProjectName = getProjectName;
20
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;GAKG;AACH,gDAAwB;AAExB;;;GAGG;AACI,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAApD,QAAA,cAAc,kBAAsC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const npmQiniuPlugin_1 = __importDefault(require("../npm_plugin/npmQiniuPlugin"));
8
+ const PLUGIN_NAME = 'vite-plugin-upload-oss-qiniu';
9
+ function vitePluginQiniu(options) {
10
+ const qiniu = new npmQiniuPlugin_1.default(options);
11
+ let outputPath = '';
12
+ const getFilePaths = (pathName) => {
13
+ const files = fs_1.default.readdirSync(pathName);
14
+ return files
15
+ .map((item) => {
16
+ const filePath = `${pathName}/${item}`;
17
+ const stat = fs_1.default.lstatSync(filePath);
18
+ if (stat.isDirectory()) {
19
+ return getFilePaths(filePath);
20
+ }
21
+ else {
22
+ return pathName === outputPath
23
+ ? item
24
+ : filePath.replace(`${outputPath}/`, '');
25
+ }
26
+ })
27
+ .flat();
28
+ };
29
+ return {
30
+ name: PLUGIN_NAME,
31
+ apply: 'build',
32
+ configResolved: async (config) => {
33
+ outputPath = config.build.outDir;
34
+ },
35
+ closeBundle() {
36
+ const filePathAry = getFilePaths(outputPath);
37
+ qiniu.apply({
38
+ filePathAry,
39
+ outputPath,
40
+ });
41
+ },
42
+ };
43
+ }
44
+ exports.default = vitePluginQiniu;
45
+ //# sourceMappingURL=vitePluginQiniu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitePluginQiniu.js","sourceRoot":"","sources":["../../src/vite_plugin/vitePluginQiniu.ts"],"names":[],"mappings":";;;;;AAOA,4CAAoB;AAEpB,kFAA0D;AAE1D,MAAM,WAAW,GAAG,8BAA8B,CAAC;AAEnD,SAAwB,eAAe,CAAC,OAAgB;IACtD,MAAM,KAAK,GAAG,IAAI,wBAAc,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAY,EAAE;QAClD,MAAM,KAAK,GAAG,YAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,KAAK;aACT,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE;YACpB,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,YAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;gBACtB,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;aAC/B;iBAAM;gBACL,OAAO,QAAQ,KAAK,UAAU;oBAC5B,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,UAAU,GAAG,EAAE,EAAE,CAAC,CAAC;aAC5C;QACH,CAAC,CAAC;aACD,IAAI,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,OAAO;QACd,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/B,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACnC,CAAC;QACD,WAAW;YACT,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YAC7C,KAAK,CAAC,KAAK,CAAC;gBACV,WAAW;gBACX,UAAU;aACX,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAnCD,kCAmCC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const npmQiniuPlugin_1 = __importDefault(require("../npm_plugin/npmQiniuPlugin"));
7
+ const PLUGIN_NAME = 'webpack-plugin-upload-oss-qiniu';
8
+ class WebpackPluginQiniu {
9
+ qiniu;
10
+ constructor(options) {
11
+ this.qiniu = new npmQiniuPlugin_1.default(options);
12
+ }
13
+ apply(compiler) {
14
+ compiler.hooks.afterEmit.tapAsync(PLUGIN_NAME, async (compilation, callback) => {
15
+ const filePathAry = Object.keys(compilation.assets);
16
+ const outputPath = compilation.options.output.path;
17
+ callback();
18
+ this.qiniu.apply({ filePathAry, outputPath });
19
+ });
20
+ }
21
+ }
22
+ exports.default = WebpackPluginQiniu;
23
+ //# sourceMappingURL=webpackPluginQiniu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webpackPluginQiniu.js","sourceRoot":"","sources":["../../src/webpack_plugin/webpackPluginQiniu.ts"],"names":[],"mappings":";;;;;AAOA,kFAA0D;AAE1D,MAAM,WAAW,GAAG,iCAAiC,CAAC;AAEtD,MAAM,kBAAkB;IACtB,KAAK,CAAiB;IAEtB,YAAY,OAAgB;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,wBAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,QAAa;QACjB,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAC/B,WAAW,EACX,KAAK,EAAE,WAAgB,EAAE,QAAa,EAAE,EAAE;YACxC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAEnD,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QAChD,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAED,kBAAe,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "upload-assets-oss",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",
@@ -14,7 +14,7 @@
14
14
  "homepage": "https://github.com/jialongsu/upload-assets-oss#readme",
15
15
  "scripts": {
16
16
  "dev": "yarn build -- --watch --ignore-watch examples",
17
- "build": "tsup src/index.ts"
17
+ "build": "tsc -p tsconfig.json"
18
18
  },
19
19
  "dependencies": {
20
20
  "chalk": "^4.1.2",