UNPKG

1.88 kBJavaScriptView Raw
1const utils = require('./utils');
2const httpUpload = require('./http-upload');
3const sftpUpload = require('./sftp-upload');
4
5const {log, getAgrType, makeAssetsMap} = utils;
6
7function ClientUpload({
8 httpOption: h,
9 sftpOption: s,
10 source,
11 ignoreRegexp,
12 success
13}) {
14
15 if([h, s].every(k => getAgrType(k) !== 'object')) {
16 log.error('httpOption or sftpOption must be provided !', 'exit');
17 }
18
19 if(s) {
20 let {
21 username,
22 password,
23 target,
24 host,
25 port = 22
26 } = s;
27 if([username, password, target, host].some(k => !k)) {
28 log.error('some sftpOption must be provided !', 'exit');
29 }
30 makeAssetsMap(source, ignoreRegexp)
31 .then(({assetsMap, folders}) => {
32 sftpUpload({
33 host,
34 port,
35 username,
36 password,
37 target
38 }, assetsMap, folders, success)
39 }).catch(e => log.error(e));
40 } else if(h) {
41 let {
42 username,
43 password,
44 target,
45 host,
46 port = 20
47 } = h;
48 if(!target || !host) {
49 log.error('target, host must be provided !', 'exit');
50 }
51 makeAssetsMap(source, ignoreRegexp)
52 .then(({assetsMap}) => {
53 httpUpload({
54 host,
55 port,
56 username,
57 password,
58 target
59 }, assetsMap, success)
60 }).catch(e => log.error(e));
61 }
62
63}
64// const ClientUpload = require('@nutui/client-upload');
65
66// ClientUpload({
67// source: 'src',
68// ignoreRegexp: /node_modules/,
69// success: function() {},
70// sftpOption: {
71// host: '192.168.182.85',
72// port: 34022,
73// username: 'fe',
74// password: 'fe',
75// source: 'dist',
76// target: '/home/fe/carefree-test1'
77// }
78// });
79
80module.exports = ClientUpload;
81module.exports.httpUpload = httpUpload;
82module.exports.sftpUpload = sftpUpload;
\No newline at end of file