Skip to content

Commit 0eb81a1

Browse files
committed
example working
1 parent 09cff27 commit 0eb81a1

File tree

8 files changed

+32
-88
lines changed

8 files changed

+32
-88
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ node_modules
44
.serverless
55
.DS_Store
66
.env
7+
example/dist

README.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# AWS Layer for Lambda functions
2+
3+
Sharp js as a layer,
4+
5+
## Image copyright
6+
7+
`lucky.jpg` is owned by me

example/Dockerfile

-17
This file was deleted.

example/package.json

+1-5
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,5 @@
2222
"keywords": [],
2323
"author": "",
2424
"description": "",
25-
"dependencies": {
26-
"axios-debug-log": "^0.6.2",
27-
"axios": "^0.19.0",
28-
"mime-types": "^2.1.24"
29-
}
25+
"dependencies": {}
3026
}

example/serverless.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ provider:
1212
- '*/*'
1313
functions:
1414
test:
15-
handler: ./example/src/handler.handler
15+
handler: src/handler.handler
1616
events:
1717
- http:
1818
path: sharp
1919
method: get
2020
layers:
21-
- { Ref: SharpLambdaLayer }
21+
- arn:aws:lambda:eu-west-1:502686283826:layer:sharp:7
2222
custom:
2323
webpack:
2424
webpackConfig: 'webpack.config.js' # Name of webpack configuration file

example/src/handler.js

+5-13
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,11 @@
1-
require('axios-debug-log')
2-
const axios = require('axios')
31
const sharp = require('sharp')
4-
const mime = require('mime-types')
5-
6-
const imagePath =
7-
'https://s3-eu-west-1.amazonaws.com/sensio.photo/public-assets/20160903-_MG_5320.jpg'
2+
const path = require('path')
83

94
exports.handler = async event => {
105
try {
11-
const { data: imageData } = await axios.get(imagePath, {
12-
responseType: 'arraybuffer'
13-
})
14-
15-
const img = await sharp(imageData)
6+
const imagePath = path.resolve('./src/lucky.jpg')
7+
console.log(imagePath)
8+
const img = await sharp(imagePath)
169
.withMetadata()
1710
.resize(800)
1811
.convolve({
@@ -23,11 +16,10 @@ exports.handler = async event => {
2316
.webp()
2417
.toBuffer()
2518

26-
const ContentType = mime.contentType('webp')
2719
const response = {
2820
statusCode: 200,
2921
headers: {
30-
'Content-Type': ContentType
22+
'Content-Type': 'image/webp'
3123
},
3224
body: img.toString('base64'),
3325
isBase64Encoded: true

example/src/lucky.jpg

237 KB
Loading

example/yarn.lock

+16-51
Original file line numberDiff line numberDiff line change
@@ -544,11 +544,6 @@
544544
dependencies:
545545
defer-to-connect "^1.0.1"
546546

547-
"@types/debug@^4.0.0":
548-
version "4.1.5"
549-
resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd"
550-
integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==
551-
552547
"@types/lodash@^4.14.123":
553548
version "4.14.138"
554549
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.138.tgz#34f52640d7358230308344e579c15b378d91989e"
@@ -826,7 +821,7 @@ anymatch@^2.0.0:
826821
micromatch "^3.1.4"
827822
normalize-path "^2.1.1"
828823

829-
anymatch@^3.0.1:
824+
anymatch@^3.1.0:
830825
version "3.1.0"
831826
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.0.tgz#e609350e50a9313b472789b2f14ef35808ee14d6"
832827
integrity sha512-Ozz7l4ixzI7Oxj2+cw+p0tVUt27BpaJ+1+q1TCeANWxHpvyn2+Un+YamBdfKu0uh8xLodGhoa1v7595NhKDAuA==
@@ -992,9 +987,9 @@ atob@^2.1.1:
992987
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
993988

994989
aws-sdk@^2.526.0:
995-
version "2.528.0"
996-
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.528.0.tgz#9836e619607068171844ad27ccfe0082b6a118e9"
997-
integrity sha512-WBgavPqKHvYcIhD7LhmLLYOKtG/SUdNY6hMB0N/Jxaolzx4sOa7xegiZ8sdkAUq/vUEs1frnBF9hNmeIszUWCg==
990+
version "2.529.0"
991+
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.529.0.tgz#97cc8017fd5d6e3c9270f141cb8efa24796fc9d7"
992+
integrity sha512-CtRxgI4ZVZ8cdFCddlIVIy06cEW5gzTJBpyouZ/ySgZ6BiYj+0e77LwoNsnQE2nUNWCbydTLn3dbz4ZZMDpuIg==
998993
dependencies:
999994
buffer "4.9.1"
1000995
events "1.1.1"
@@ -1006,22 +1001,6 @@ aws-sdk@^2.526.0:
10061001
uuid "3.3.2"
10071002
xml2js "0.4.19"
10081003

1009-
axios-debug-log@^0.6.2:
1010-
version "0.6.2"
1011-
resolved "https://registry.yarnpkg.com/axios-debug-log/-/axios-debug-log-0.6.2.tgz#c7761ced8f1990e6d48c556b517af8e00edcef31"
1012-
integrity sha512-aavexsFWw+T09e9JkbsNe/zLjdG4r2vwhnKUtCNC/0wpogI/i+bQWJ0jJIuXof734dQ43uiOiFPgbRu8EVa64Q==
1013-
dependencies:
1014-
"@types/debug" "^4.0.0"
1015-
debug "^4.0.0"
1016-
1017-
axios@^0.19.0:
1018-
version "0.19.0"
1019-
resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz#8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8"
1020-
integrity sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==
1021-
dependencies:
1022-
follow-redirects "1.5.10"
1023-
is-buffer "^2.0.2"
1024-
10251004
balanced-match@^1.0.0:
10261005
version "1.0.0"
10271006
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
@@ -1427,11 +1406,11 @@ chokidar@^2.0.2, chokidar@^2.1.5:
14271406
fsevents "^1.2.7"
14281407

14291408
chokidar@^3.0.2:
1430-
version "3.0.2"
1431-
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.0.2.tgz#0d1cd6d04eb2df0327446188cd13736a3367d681"
1432-
integrity sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==
1409+
version "3.1.0"
1410+
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.1.0.tgz#ff23d077682a90eadd209bfa76eb10ed6d359668"
1411+
integrity sha512-6vZfo+7W0EOlbSo0nhVKMz4yyssrwiPbBZ8wj1lq8/+l4ZhGZ2U4Md7PspvmijXp1a26D3B7AHEBmIB7aVtaOQ==
14331412
dependencies:
1434-
anymatch "^3.0.1"
1413+
anymatch "^3.1.0"
14351414
braces "^3.0.2"
14361415
glob-parent "^5.0.0"
14371416
is-binary-path "^2.1.0"
@@ -1876,21 +1855,14 @@ [email protected], debug@^2.2.0, debug@^2.3.3:
18761855
dependencies:
18771856
ms "2.0.0"
18781857

1879-
debug@=3.1.0:
1880-
version "3.1.0"
1881-
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
1882-
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
1883-
dependencies:
1884-
ms "2.0.0"
1885-
18861858
debug@^3.1.0, debug@^3.2.6:
18871859
version "3.2.6"
18881860
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
18891861
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
18901862
dependencies:
18911863
ms "^2.1.1"
18921864

1893-
debug@^4.0.0, debug@^4.0.1, debug@^4.1.0:
1865+
debug@^4.0.1, debug@^4.1.0:
18941866
version "4.1.1"
18951867
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
18961868
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
@@ -2686,13 +2658,6 @@ flush-write-stream@^1.0.0:
26862658
inherits "^2.0.3"
26872659
readable-stream "^2.3.6"
26882660

2689-
2690-
version "1.5.10"
2691-
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
2692-
integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
2693-
dependencies:
2694-
debug "=3.1.0"
2695-
26962661
for-in@^1.0.2:
26972662
version "1.0.2"
26982663
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
@@ -2777,11 +2742,11 @@ fs-extra@^7.0.1:
27772742
universalify "^0.1.0"
27782743

27792744
fs-minipass@^1.2.5:
2780-
version "1.2.6"
2781-
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07"
2782-
integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==
2745+
version "1.2.7"
2746+
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
2747+
integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
27832748
dependencies:
2784-
minipass "^2.2.1"
2749+
minipass "^2.6.0"
27852750

27862751
fs-write-stream-atomic@^1.0.8:
27872752
version "1.0.10"
@@ -3411,7 +3376,7 @@ is-buffer@^1.1.5:
34113376
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
34123377
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
34133378

3414-
is-buffer@^2.0.2, is-buffer@~2.0.3:
3379+
is-buffer@~2.0.3:
34153380
version "2.0.3"
34163381
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725"
34173382
integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==
@@ -4212,7 +4177,7 @@ [email protected]:
42124177
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.41.0.tgz#9110408e1f6aa1b34aef51f2c9df3caddf46b6a0"
42134178
integrity sha512-B5gxBI+2K431XW8C2rcc/lhppbuji67nf9v39eH8pkWoZDxnAL0PxdpH32KYRScniF8qDHBDlI+ipgg5WrCUYw==
42144179

4215-
mime-types@^2.1.12, mime-types@^2.1.24, mime-types@~2.1.24:
4180+
mime-types@^2.1.12, mime-types@~2.1.24:
42164181
version "2.1.24"
42174182
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81"
42184183
integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==
@@ -4271,7 +4236,7 @@ minimist@~0.0.1:
42714236
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
42724237
integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=
42734238

4274-
minipass@^2.2.1, minipass@^2.3.5:
4239+
minipass@^2.2.1, minipass@^2.3.5, minipass@^2.6.0:
42754240
version "2.6.0"
42764241
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.6.0.tgz#80a68c8a43257b7f744ce09733f6a9c6eef9f731"
42774242
integrity sha512-OuNZ0OHrrI+jswzmgivYBZ+fAAGHZA4293d5q0z631/I9QSw3yumKB92njxHIHiB1eAdGRsE+3CcOPkoEyV5FQ==

0 commit comments

Comments
 (0)