chore: change aws-sdk to @aws-sdk/client-s3-node, reduced module size

Signed-off-by: Raccoon <raccoon@hackmd.io>
This commit is contained in:
Raccoon 2020-04-12 02:24:35 +08:00
parent a048b587af
commit 2fe10a78b7
No known key found for this signature in database
GPG Key ID: 06770355DC9ECD38
3 changed files with 528 additions and 64 deletions

View File

@ -6,9 +6,10 @@ const config = require('../config')
const { getImageMimeType } = require('../utils')
const logger = require('../logger')
const AWS = require('aws-sdk')
const awsConfig = new AWS.Config(config.s3)
const s3 = new AWS.S3(awsConfig)
const { S3Client } = require('@aws-sdk/client-s3-node/S3Client')
const { PutObjectCommand } = require('@aws-sdk/client-s3-node/commands/PutObjectCommand')
const s3 = new S3Client(config.s3)
exports.uploadImage = function (imagePath, callback) {
if (!imagePath || typeof imagePath !== 'string') {
@ -32,16 +33,12 @@ exports.uploadImage = function (imagePath, callback) {
Body: buffer,
ACL: 'public-read'
}
const mimeType = getImageMimeType(imagePath)
if (mimeType) { params.ContentType = mimeType }
s3.putObject(params, function (err, data) {
if (err) {
callback(new Error(err), null)
return
}
const command = new PutObjectCommand(params)
s3.send(command).then(data => {
let s3Endpoint = 's3.amazonaws.com'
if (config.s3.endpoint) {
s3Endpoint = config.s3.endpoint
@ -49,6 +46,10 @@ exports.uploadImage = function (imagePath, callback) {
s3Endpoint = `s3-${config.s3.region}.amazonaws.com`
}
callback(null, `https://${s3Endpoint}/${config.s3bucket}/${params.Key}`)
}).catch(err => {
if (err) {
callback(new Error(err), null)
}
})
})
}

571
package-lock.json generated
View File

@ -4,6 +4,521 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@aws-sdk/abort-controller": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-0.1.0-preview.7.tgz",
"integrity": "sha512-UpAa0PQ4u1UdDYPU9ajO/vzfmSn3rTMjXQjlsd0Ue4oK/A2lffNN28+egMVuS+Ivs96pv1HAfA4t4tPw+U6wjA==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/apply-body-checksum-middleware": {
"version": "0.1.0-preview.8",
"resolved": "https://registry.npmjs.org/@aws-sdk/apply-body-checksum-middleware/-/apply-body-checksum-middleware-0.1.0-preview.8.tgz",
"integrity": "sha512-UoK128Kum26NYuOfnG1vVjfFfYBy7m8bIkBYlORwrGYLHawUwaxan8MTCrk4P/XSlYm0NsyAicAVDvAeGWSZXA==",
"requires": {
"@aws-sdk/is-array-buffer": "^0.1.0-preview.3",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/bucket-endpoint-middleware": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/bucket-endpoint-middleware/-/bucket-endpoint-middleware-0.1.0-preview.7.tgz",
"integrity": "sha512-XUrR/fKADNTXgW5wfp0U2K2WD+4NiY/njne7rR0YTNZHE0eWD0q0YvRx4LXj6HFraAUqZ8liPG2k/BjzdT8M0Q==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/client-s3-node": {
"version": "0.1.0-preview.2",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-s3-node/-/client-s3-node-0.1.0-preview.2.tgz",
"integrity": "sha512-sQj8KnijskzIijl/ETJpoygcN4o0AKBtZtXp6eiJjhLZf1RAX33Bd1QzSgScfElY/XVAMgntzWWvBm8VhUu+cQ==",
"requires": {
"@aws-sdk/apply-body-checksum-middleware": "^0.1.0-preview.4",
"@aws-sdk/bucket-endpoint-middleware": "^0.1.0-preview.4",
"@aws-sdk/config-resolver": "^0.1.0-preview.4",
"@aws-sdk/core-handler": "^0.1.0-preview.4",
"@aws-sdk/credential-provider-node": "^0.1.0-preview.5",
"@aws-sdk/hash-node": "^0.1.0-preview.4",
"@aws-sdk/hash-stream-node": "^0.1.0-preview.5",
"@aws-sdk/location-constraint-middleware": "^0.1.0-preview.4",
"@aws-sdk/middleware-content-length": "^0.1.0-preview.4",
"@aws-sdk/middleware-expect-continue": "^0.1.0-preview.4",
"@aws-sdk/middleware-header-default": "^0.1.0-preview.4",
"@aws-sdk/middleware-serializer": "^0.1.0-preview.4",
"@aws-sdk/middleware-stack": "^0.1.0-preview.5",
"@aws-sdk/node-http-handler": "^0.1.0-preview.5",
"@aws-sdk/protocol-rest": "^0.1.0-preview.6",
"@aws-sdk/query-error-unmarshaller": "^0.1.0-preview.5",
"@aws-sdk/region-provider": "^0.1.0-preview.4",
"@aws-sdk/retry-middleware": "^0.1.0-preview.4",
"@aws-sdk/s3-error-unmarshaller": "^0.1.0-preview.2",
"@aws-sdk/signature-v4": "^0.1.0-preview.5",
"@aws-sdk/signing-middleware": "^0.1.0-preview.5",
"@aws-sdk/ssec-middleware": "^0.1.0-preview.4",
"@aws-sdk/stream-collector-node": "^0.1.0-preview.4",
"@aws-sdk/types": "^0.1.0-preview.4",
"@aws-sdk/url-parser-node": "^0.1.0-preview.4",
"@aws-sdk/util-base64-node": "^0.1.0-preview.2",
"@aws-sdk/util-body-length-node": "^0.1.0-preview.3",
"@aws-sdk/util-user-agent-node": "^0.1.0-preview.5",
"@aws-sdk/util-utf8-node": "^0.1.0-preview.2",
"@aws-sdk/xml-body-builder": "^0.1.0-preview.4",
"@aws-sdk/xml-body-parser": "^0.1.0-preview.5",
"tslib": "^1.8.0"
}
},
"@aws-sdk/config-resolver": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-0.1.0-preview.7.tgz",
"integrity": "sha512-clP/NFkGyIJzCPPZ9y9vc4rQD2O8euuEVtYDlHNPfe+791uo43I1/qhw20v31mPY1OH0dScf5Jn/n4Ed9YO1VA==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/core-handler": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/core-handler/-/core-handler-0.1.0-preview.7.tgz",
"integrity": "sha512-F+BAYmcPGbbK2w6Y9i4RgK9f8ojUuQKoZuFCxiYoujLGoak/p81gACTz3dQyV9/NiY46EvmdpyaGQeLtpfuriQ==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/credential-provider-env": {
"version": "0.1.0-preview.8",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-0.1.0-preview.8.tgz",
"integrity": "sha512-wW2XRalzx8jAIsVSdOM4cDP3hgbvPy6UJhQwpn9N3kfb22G5FPEry6hlJKHAVzQ15tkTNd0C6SyRlXgC5zEzmA==",
"requires": {
"@aws-sdk/property-provider": "^0.1.0-preview.7",
"@aws-sdk/protocol-timestamp": "^0.1.0-preview.7",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/credential-provider-imds": {
"version": "0.1.0-preview.8",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-0.1.0-preview.8.tgz",
"integrity": "sha512-l6qudUcrpfG8wGOCyOea1oZ42AF+m0h27m/BDvWA8KIclW6XjfJ0TAcQWNVYbDX91sBx3YWidqlNBuzs/bZfKw==",
"requires": {
"@aws-sdk/property-provider": "^0.1.0-preview.7",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/credential-provider-ini": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-0.1.0-preview.7.tgz",
"integrity": "sha512-iIVGZonHwy08RJgW9AZURKAbRTcBtwZw9wWSkO1YgtFVKYHH81E+C/k3o9ljCD9TK+XfvB2dv5alPkS71EufIQ==",
"requires": {
"@aws-sdk/property-provider": "^0.1.0-preview.7",
"@aws-sdk/shared-ini-file-loader": "^0.1.0-preview.3",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/credential-provider-node": {
"version": "0.1.0-preview.10",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-0.1.0-preview.10.tgz",
"integrity": "sha512-UWw89x1kCTiawc2MWYjavChk1bwy4dlp8WZyYeM/a4MqYacXPbcIOXEDVVL72PpCOqtxk0/RXnkLO2b7sUI0vg==",
"requires": {
"@aws-sdk/credential-provider-env": "^0.1.0-preview.8",
"@aws-sdk/credential-provider-imds": "^0.1.0-preview.8",
"@aws-sdk/credential-provider-ini": "^0.1.0-preview.7",
"@aws-sdk/credential-provider-process": "^0.1.0-preview.5",
"@aws-sdk/property-provider": "^0.1.0-preview.7",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/credential-provider-process": {
"version": "0.1.0-preview.5",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-0.1.0-preview.5.tgz",
"integrity": "sha512-OIBmuaul/aF3w3oCc1zIw+jE5tlhacrhCD/LXf0DornF8Bfp4oaYA5qJ4Lttu/Q25s2qW5+YEuFlDsnqpIQUyw==",
"requires": {
"@aws-sdk/credential-provider-ini": "^0.1.0-preview.7",
"@aws-sdk/property-provider": "^0.1.0-preview.7",
"@aws-sdk/shared-ini-file-loader": "^0.1.0-preview.3",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/hash-node": {
"version": "0.1.0-preview.8",
"resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-0.1.0-preview.8.tgz",
"integrity": "sha512-tYBKE5ggAfw7oCLj3/jVJomruUMXhFOL+yH7xnKbgEjCi2m/jsSClCwjUbco2d5eFeC75t74RsFuyCREm9o+nw==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"@aws-sdk/util-buffer-from": "^0.1.0-preview.3",
"tslib": "^1.8.0"
}
},
"@aws-sdk/hash-stream-node": {
"version": "0.1.0-preview.9",
"resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-0.1.0-preview.9.tgz",
"integrity": "sha512-XV8vQgwrDV7VGoL94ry/HZsaw4wA6NDKynpsctr4yQfgWy3hunrMunngnIs3jybBlkyCuhmw2SssjEjSugpvFg==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/is-array-buffer": {
"version": "0.1.0-preview.3",
"resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-0.1.0-preview.3.tgz",
"integrity": "sha512-8SM7kBGkwH6JCKA6K1w4Jrj+EABFOPQkbPvwaf6BILYiUMUbgJvjOPjNQE2MrvRxJz50WAcZDHnlwhstuwIRnw==",
"requires": {
"tslib": "^1.8.0"
}
},
"@aws-sdk/is-iterable": {
"version": "0.1.0-preview.3",
"resolved": "https://registry.npmjs.org/@aws-sdk/is-iterable/-/is-iterable-0.1.0-preview.3.tgz",
"integrity": "sha512-dmqXKd7BlAGAaOz1dvmBw5MeOy/94LOxIRv4i8I76JPyTJsxFKjzJIHeRMnQ/5WJ3/POhmb6ZjBW/GwS/upaFw==",
"requires": {
"tslib": "^1.8.0"
}
},
"@aws-sdk/location-constraint-middleware": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/location-constraint-middleware/-/location-constraint-middleware-0.1.0-preview.7.tgz",
"integrity": "sha512-K7EZ77oSVqyrTDZKJ8OQ7m1/EAEoRFUknE0HsiTRImhRHqxPhR+sP6brWU+gdywgYbDVaXJox30GUMNAOqhs9Q==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/middleware-content-length": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-0.1.0-preview.7.tgz",
"integrity": "sha512-6ZI+dY8VgWmKL48tBtFGFgllwdhKgqNztscLtYPmHl38zrz4sITJnyGwbYDGLW+xLIGDOQhyFd/6kWTqT9QyKQ==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/middleware-expect-continue": {
"version": "0.1.0-preview.8",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-0.1.0-preview.8.tgz",
"integrity": "sha512-+aWGX+pwNys/a2ysFOdjmyP0iSSrmaJO2JkcvO8wjaJ6CLFqjnP7W9YN5HSEr8C+AGHN4z3Pg+W4xLNWCyzjZg==",
"requires": {
"@aws-sdk/middleware-header-default": "^0.1.0-preview.7",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/middleware-header-default": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-0.1.0-preview.7.tgz",
"integrity": "sha512-hf7+YMiPnyzRKzmcZZ5v2NKkC6CKgo8nnckJ1A1OlvWYGq3hLMF1gKDMzdkEFjWJmDWv6AVNyHjw5qe4AV8LVA==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/middleware-serializer": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serializer/-/middleware-serializer-0.1.0-preview.7.tgz",
"integrity": "sha512-mc5xBnrdDM9k3a78cbTSw+VWTadpDQQBObSuAy4fCxrkPZa+APqRY+y9MMDQ0uWI80e6Ab1pt9wTx1/OM1uMWQ==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/middleware-stack": {
"version": "0.1.0-preview.9",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-0.1.0-preview.9.tgz",
"integrity": "sha512-UZPTIUL8df6bxhoRFmbE278mR5VkBgUakZ+g0+W7QP7yk7yOcA/PSNAoUQMXmyncTfrv9PS2RqByIqBGJ9nHRw==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/node-http-handler": {
"version": "0.1.0-preview.8",
"resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-0.1.0-preview.8.tgz",
"integrity": "sha512-D3hISgch64L2rG8RQDi361ywoSgsyH/5Yj4ZF05ZCo8UZ8TjU1CtiLPKy1is0XLqojhLlDAQ65lNna44xoArcw==",
"requires": {
"@aws-sdk/abort-controller": "^0.1.0-preview.7",
"@aws-sdk/querystring-builder": "^0.1.0-preview.7",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/property-provider": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-0.1.0-preview.7.tgz",
"integrity": "sha512-8yKkR78XC3fvdd+ePohfLuZHKBL7e3k+t82JL775phiXO94WHiz/hlvm6tGhNz5zKzz72yLrJPCyoQAZLrxrTg==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/protocol-rest": {
"version": "0.1.0-preview.10",
"resolved": "https://registry.npmjs.org/@aws-sdk/protocol-rest/-/protocol-rest-0.1.0-preview.10.tgz",
"integrity": "sha512-wzQV8h+rxWOOKkpwZpgx/glPz2mrH3nGZG7JyqxzEdveRmCMKSS27tqTc2XGlf8x1lGfTBZVg3XTWYrPTBHvlw==",
"requires": {
"@aws-sdk/is-array-buffer": "^0.1.0-preview.3",
"@aws-sdk/is-iterable": "^0.1.0-preview.3",
"@aws-sdk/protocol-timestamp": "^0.1.0-preview.7",
"@aws-sdk/response-metadata-extractor": "^0.1.0-preview.8",
"@aws-sdk/types": "^0.1.0-preview.7",
"@aws-sdk/util-error-constructor": "^0.1.0-preview.7",
"@aws-sdk/util-uri-escape": "^0.1.0-preview.3",
"tslib": "^1.8.0"
}
},
"@aws-sdk/protocol-timestamp": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/protocol-timestamp/-/protocol-timestamp-0.1.0-preview.7.tgz",
"integrity": "sha512-ObO202v456/S6Ckhlu844KBXN9toFTPt8zzrJpESzntVXIaidDECetd120/xToycYmICinvAYH9o1E2l6VlCRQ==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/query-error-unmarshaller": {
"version": "0.1.0-preview.8",
"resolved": "https://registry.npmjs.org/@aws-sdk/query-error-unmarshaller/-/query-error-unmarshaller-0.1.0-preview.8.tgz",
"integrity": "sha512-41lNT9delFhOss5H3eoi/2wYLYFuVqLXutRb5ZM5VvdhE4ZG+L8oE8HM0LSwQBttQFHaZcjdx3x3n9EVatSuCw==",
"requires": {
"@aws-sdk/response-metadata-extractor": "^0.1.0-preview.8",
"@aws-sdk/types": "^0.1.0-preview.7",
"@aws-sdk/util-error-constructor": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/querystring-builder": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-0.1.0-preview.7.tgz",
"integrity": "sha512-U2d9CYTwnF4/Qc8XXFmCdRzcApTmwEXLyHUcjK2/GaOHKkHDAeIC94+cuP+H3nDjCjb3TdKV2xrl/wzuP0YBrg==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"@aws-sdk/util-uri-escape": "^0.1.0-preview.3",
"tslib": "^1.8.0"
}
},
"@aws-sdk/querystring-parser": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-0.1.0-preview.7.tgz",
"integrity": "sha512-r72E/wZYrhTXTK950Ld/L2Loso/HDqExQkIuCn1Pu8Rx0+uC3Y8fQTx+JZd5M5kOniCpGKdHWGc7y/bH/tjH4A==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/region-provider": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/region-provider/-/region-provider-0.1.0-preview.7.tgz",
"integrity": "sha512-n+LeuQYPYbCyfCboz9mmYqcPPKdmdd60KPbPeRqSdJYr9QZz9hWU962oCOl5EtLYIsUzy7Fm33APv6toEcAPVw==",
"requires": {
"@aws-sdk/property-provider": "^0.1.0-preview.7",
"@aws-sdk/shared-ini-file-loader": "^0.1.0-preview.3",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/response-metadata-extractor": {
"version": "0.1.0-preview.8",
"resolved": "https://registry.npmjs.org/@aws-sdk/response-metadata-extractor/-/response-metadata-extractor-0.1.0-preview.8.tgz",
"integrity": "sha512-c5aJGYDiEwWqYpsROCqrmR60d0yeVdvRtzMptcpCI95BvIizS3hTc+PfuOq3Gcz7L+EQysbzQyqZutCJ/zLbew==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/retry-middleware": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/retry-middleware/-/retry-middleware-0.1.0-preview.7.tgz",
"integrity": "sha512-ULiq+dffOPurjyHm95PYWi1Cy27LQg9jPwLz5tiL7oIla/j9b5bcclZE3n0RtqbHDUvWJL5kxmYw0Kjrggr5iw==",
"requires": {
"@aws-sdk/service-error-classification": "^0.1.0-preview.3",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/s3-error-unmarshaller": {
"version": "0.1.0-preview.2",
"resolved": "https://registry.npmjs.org/@aws-sdk/s3-error-unmarshaller/-/s3-error-unmarshaller-0.1.0-preview.2.tgz",
"integrity": "sha512-3A6FUzFwGe34+1l8daxXaiTymZmb1LvVXNM+aapfJqRCM80vfbTEf+pzefIHCJAOhTCaSyhtkrs07iOpj3L1nw==",
"requires": {
"@aws-sdk/response-metadata-extractor": "^0.1.0-preview.5",
"@aws-sdk/types": "^0.1.0-preview.4",
"@aws-sdk/util-error-constructor": "^0.1.0-preview.4",
"tslib": "^1.8.0"
}
},
"@aws-sdk/service-error-classification": {
"version": "0.1.0-preview.3",
"resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-0.1.0-preview.3.tgz",
"integrity": "sha512-3TXwADJL+HGOWyqdwx+pOdwr8L8LGbdxwHR0D05PP3skY+TP34F3ye2DJlyCll4S9vYzf9GlSbwJWviN9Sujrw=="
},
"@aws-sdk/shared-ini-file-loader": {
"version": "0.1.0-preview.3",
"resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-0.1.0-preview.3.tgz",
"integrity": "sha512-1wuV2YpZm+sW4AZa7CBD3A3b7+vSHX0DWBgGaENYdqC+MUEl6lD57ZOUGLryPq5xv/tQfy8BC7QT+qDNHElcuw==",
"requires": {
"tslib": "^1.8.0"
}
},
"@aws-sdk/signature-v4": {
"version": "0.1.0-preview.10",
"resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-0.1.0-preview.10.tgz",
"integrity": "sha512-cehCmWlWc16d1mn1tdG1cLdLUiKWHSVSAIiDRCyUS/ryZNduFHivYMyARvuQKEBXILlQari0e6RRuzTFXaAjlA==",
"requires": {
"@aws-sdk/is-array-buffer": "^0.1.0-preview.3",
"@aws-sdk/protocol-timestamp": "^0.1.0-preview.7",
"@aws-sdk/types": "^0.1.0-preview.7",
"@aws-sdk/util-hex-encoding": "^0.1.0-preview.3",
"tslib": "^1.8.0"
}
},
"@aws-sdk/signing-middleware": {
"version": "0.1.0-preview.10",
"resolved": "https://registry.npmjs.org/@aws-sdk/signing-middleware/-/signing-middleware-0.1.0-preview.10.tgz",
"integrity": "sha512-aKyPNr41JuOhl3QGqGp+XSerwPRbkG/TzBHiNsRX/0EeB1ZyxZ2cckhssswL3k4lvEBPQS0SqnGi2FHXozyOvw==",
"requires": {
"@aws-sdk/signature-v4": "^0.1.0-preview.10",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/ssec-middleware": {
"version": "0.1.0-preview.8",
"resolved": "https://registry.npmjs.org/@aws-sdk/ssec-middleware/-/ssec-middleware-0.1.0-preview.8.tgz",
"integrity": "sha512-vDxnda94Wp2M1RXQXPJYedDwNt9sAN2j+N6QvDpwOZ2G2qEVLOvkPPTEz2GwzU6dTQY3HSd/Psomz+9OeamWtA==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/stream-collector-node": {
"version": "0.1.0-preview.9",
"resolved": "https://registry.npmjs.org/@aws-sdk/stream-collector-node/-/stream-collector-node-0.1.0-preview.9.tgz",
"integrity": "sha512-aXVMbx9lMd+AsmTpn4egsIJ/ZAkd6cWkhv8y3sL/Fwlyl0U7tfV4EzTEDZFvAta+MG+wB8fPhz9d7bfyQOk/xQ==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/types": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-0.1.0-preview.7.tgz",
"integrity": "sha512-gpyU8N9XEs8diE4uW9B6/hjKDrB/c4a1GF4ICwkaGYpXrbJy9QLrEU8Hk4rC6P1l++YYyJKMl7RjMmTyBtNOzw=="
},
"@aws-sdk/url-parser-node": {
"version": "0.1.0-preview.8",
"resolved": "https://registry.npmjs.org/@aws-sdk/url-parser-node/-/url-parser-node-0.1.0-preview.8.tgz",
"integrity": "sha512-h8YwL+mLTBPNzryREkLChhtRSdz70tOR9y/UB6PATGKoJbMUFoTsDY1jbJ4WWBfdKjphZy9xVWTyxoCkP07tQQ==",
"requires": {
"@aws-sdk/querystring-parser": "^0.1.0-preview.7",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/util-base64-node": {
"version": "0.1.0-preview.4",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-0.1.0-preview.4.tgz",
"integrity": "sha512-L9O3lMWB7y2xVIgg/nSJ7xZLVFmxMCk1maaup3CoL5USLqB7n7ngpf/WAH2LyhaGo8Og8TrAKt4BizpxbZU7wg==",
"requires": {
"@aws-sdk/util-buffer-from": "^0.1.0-preview.3",
"tslib": "^1.8.0"
}
},
"@aws-sdk/util-body-length-node": {
"version": "0.1.0-preview.5",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-0.1.0-preview.5.tgz",
"integrity": "sha512-ZmqB7E/RizTe8ajxLyXdshoyzQg47CAkbnCK7yRE4A9N7XMEUgzyFVXuKT08DmbAwYSYWI5jaUwm3jpMKqG+bw==",
"requires": {
"tslib": "^1.8.0"
}
},
"@aws-sdk/util-buffer-from": {
"version": "0.1.0-preview.3",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-0.1.0-preview.3.tgz",
"integrity": "sha512-n78cUmI1SbluJgTgyqp24GgNQ3A5NUGB4rwRAoID7k7JpsiNJUWTXkijl3hxfNov2sEjMWvdQIGvAF6F/Q2mfw==",
"requires": {
"@aws-sdk/is-array-buffer": "^0.1.0-preview.3",
"tslib": "^1.8.0"
}
},
"@aws-sdk/util-error-constructor": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-error-constructor/-/util-error-constructor-0.1.0-preview.7.tgz",
"integrity": "sha512-sb8gruiOadl0YXG2yn0EMBkB/Oy/7y4mt8Wfl7G3crvWXcHtD7flbW7wjbFiMcQU91vi5sTaZ56hwvDA9lu0ug==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/util-hex-encoding": {
"version": "0.1.0-preview.3",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-0.1.0-preview.3.tgz",
"integrity": "sha512-X/Qq5e2H4/EQ0WEwWUiSxGbFARk7IKZpa+E4pzQm49sxS2omVsvuphcr4yYJq4SZKEtuB2w2nHMr7NmGlWt4Xg==",
"requires": {
"tslib": "^1.8.0"
}
},
"@aws-sdk/util-uri-escape": {
"version": "0.1.0-preview.3",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-0.1.0-preview.3.tgz",
"integrity": "sha512-axArIOq8+2PKjY9Fz+LKfCY127rjWQD50F1DAhCC0BV3mrG0OlhcQ8uKaNfMXVrveTqT+QYvrpTsrziHYjjTQw==",
"requires": {
"tslib": "^1.8.0"
}
},
"@aws-sdk/util-user-agent-node": {
"version": "0.1.0-preview.10",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-0.1.0-preview.10.tgz",
"integrity": "sha512-hYL9XCLkxDEG60XbwXG2fvIYwi9vFHw9Em6OPMz3sh3Y4er7KJxOwuCYJV+kccREY35e1TGblbOARFczwD7U0w==",
"requires": {
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/util-utf8-node": {
"version": "0.1.0-preview.4",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-0.1.0-preview.4.tgz",
"integrity": "sha512-FxIWpC4LdKiJgJgiaLWMdZY/DbreSIRgVGO9cOlV5fI59KdN+2Aqb6sLnlp7yVbo2hiL0Hlcv7fcf4MEtELn0g==",
"requires": {
"@aws-sdk/util-buffer-from": "^0.1.0-preview.3",
"tslib": "^1.8.0"
}
},
"@aws-sdk/xml-body-builder": {
"version": "0.1.0-preview.7",
"resolved": "https://registry.npmjs.org/@aws-sdk/xml-body-builder/-/xml-body-builder-0.1.0-preview.7.tgz",
"integrity": "sha512-4LNn5CONVhIWq3+wUWwfsSOncs9Ges8NKD9cf6pTN/VaqBcVGiFo3L0PoHLk143RTBxIsqmkY2VhVlNl5XsQSA==",
"requires": {
"@aws-sdk/is-iterable": "^0.1.0-preview.3",
"@aws-sdk/protocol-timestamp": "^0.1.0-preview.7",
"@aws-sdk/types": "^0.1.0-preview.7",
"@aws-sdk/xml-builder": "^0.1.0-preview.3",
"tslib": "^1.8.0"
}
},
"@aws-sdk/xml-body-parser": {
"version": "0.1.0-preview.9",
"resolved": "https://registry.npmjs.org/@aws-sdk/xml-body-parser/-/xml-body-parser-0.1.0-preview.9.tgz",
"integrity": "sha512-MdRXPxuK27258zlPmfSFgLZ5ljTC7AvMq+J8Hkr6/s4iFeQJjzxXHCmRJ7r/9maUQ0LV8VXDw6khxIQdHKMWAA==",
"requires": {
"@aws-sdk/protocol-timestamp": "^0.1.0-preview.7",
"@aws-sdk/types": "^0.1.0-preview.7",
"tslib": "^1.8.0"
}
},
"@aws-sdk/xml-builder": {
"version": "0.1.0-preview.3",
"resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-0.1.0-preview.3.tgz",
"integrity": "sha512-TwahSQDyO0yjiY2GXSDw2f4FP6lgj8LaR/MtmjAHZeP6M8dw5ma08R2pLI5CV+paNIACnnnmRuSW2Dmj0c/jOQ==",
"requires": {
"tslib": "^1.8.0"
}
},
"@babel/code-frame": {
"version": "7.5.5",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
@ -1340,53 +1855,6 @@
"gulp-header": "^1.7.1"
}
},
"aws-sdk": {
"version": "2.503.0",
"resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.503.0.tgz",
"integrity": "sha512-DPwRxhPYCGNvKL9rUhpAoOVpMRyISbVMlXykLQknYo7wyOI+jYcyA7t8H7IFPAqj4ZG+R+Au9tO/KT4im+2gbg==",
"requires": {
"buffer": "4.9.1",
"events": "1.1.1",
"ieee754": "1.1.8",
"jmespath": "0.15.0",
"querystring": "0.2.0",
"sax": "1.2.1",
"url": "0.10.3",
"uuid": "3.3.2",
"xml2js": "0.4.19"
},
"dependencies": {
"events": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
"integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ="
},
"ieee754": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
"integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q="
},
"punycode": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
},
"sax": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
"integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o="
},
"url": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
"integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=",
"requires": {
"punycode": "1.3.2",
"querystring": "0.2.0"
}
}
}
},
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
@ -2667,6 +3135,7 @@
"version": "4.9.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
"dev": true,
"requires": {
"base64-js": "^1.0.2",
"ieee754": "^1.1.4",
@ -8708,11 +9177,6 @@
"html-escaper": "^2.0.0"
}
},
"jmespath": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz",
"integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc="
},
"jquery": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
@ -15436,8 +15900,7 @@
"tslib": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
"dev": true
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
},
"tty-browserify": {
"version": "0.0.0",

View File

@ -30,6 +30,7 @@
"postinstall": "bin/heroku"
},
"dependencies": {
"@aws-sdk/client-s3-node": "0.1.0-preview.2",
"@hackmd/diff-match-patch": "~1.1.3",
"@hackmd/imgur": "~0.5.0",
"@hackmd/lz-string": "~1.4.4",
@ -38,7 +39,6 @@
"@passport-next/passport-openid": "~1.0.0",
"archiver": "~3.1.1",
"async": "~3.1.0",
"aws-sdk": "~2.503.0",
"azure-storage": "~2.10.3",
"babel-polyfill": "~6.26.0",
"base64url": "~3.0.1",