let uploadFile = function()

in source/helper/lib/website-helper.js [173:224]


    let uploadFile = function(filelist, index, destS3Bucket, sourceS3prefix, cb) {
        if (filelist.length > index) {
            let params = {
                Bucket: destS3Bucket,
                Key: filelist[index],
                CopySource: [sourceS3prefix, filelist[index]].join('/'),
            };
            if (filelist[index].endsWith('.htm') || filelist[index].endsWith('.html')) {
                params.ContentType = "text/html";
                params.MetadataDirective = "REPLACE";
            } else if (filelist[index].endsWith('.css')) {
                params.ContentType = "text/css";
                params.MetadataDirective = "REPLACE";
            } else if (filelist[index].endsWith('.js')) {
                params.ContentType = "application/javascript";
                params.MetadataDirective = "REPLACE";
            } else if (filelist[index].endsWith('.png')) {
                params.ContentType = "image/png";
                params.MetadataDirective = "REPLACE";
            } else if (filelist[index].endsWith('.jpg') || filelist[index].endsWith('.jpeg')) {
                params.ContentType = "image/jpeg";
                params.MetadataDirective = "REPLACE";
            } else if (filelist[index].endsWith('.gif')) {
                params.ContentType = "image/gif";
                params.MetadataDirective = "REPLACE";
            };

            s3.copyObject(params, function(err, data) {
                if (err) {
                    return cb(['error copying ', [sourceS3prefix, filelist[index]].join('/'), '\n', err]
                        .join(
                            ''),
                        null);
                }

                console.log([
                    [sourceS3prefix, filelist[index]].join('/'), 'uploaded successfully'
                ].join(' '));
                let _next = index + 1;
                uploadFile(filelist, _next, destS3Bucket, sourceS3prefix, function(err, resp) {
                    if (err) {
                        return cb(err, null);
                    }

                    cb(null, resp);
                });
            });
        } else {
            cb(null, [index, 'files copied'].join(' '));
        }

    };