diff --git a/examples/v7-image-optimization/edgio/homeHandler.js b/examples/v7-image-optimization/edge-functions/main.js similarity index 83% rename from examples/v7-image-optimization/edgio/homeHandler.js rename to examples/v7-image-optimization/edge-functions/main.js index f55a4fe53..62dc2e34f 100644 --- a/examples/v7-image-optimization/edgio/homeHandler.js +++ b/examples/v7-image-optimization/edge-functions/main.js @@ -1,27 +1,37 @@ -import * as cheerio from 'cheerio'; -import urlParse from 'url-parse'; -import fetch from 'node-fetch'; +import URL from 'url-parse'; -export default async function (req, res) { - const resp = await fetch('https://en.wikipedia.org'); +export async function handleHttpRequest(request, context) { + const resp = await fetch('https://en.wikipedia.org', { + edgio: { + origin: 'wiki', + }, + }); const html = await resp.text(); - const $ = cheerio.load(html); + // Regular expression to match image src attributes containing 'wikimedia' + const regex = /]*src="([^"]*wikimedia[^"]*)"[^>]*>/g; + const matches = html.match(regex); + + // Extract up to 5 image paths from the matches const wikimediaImages = []; - $('img').each((index, element) => { - const src = $(element).attr('src'); - if (src.includes('wikimedia') && wikimediaImages.length < 5) { - const url = urlParse(`https:${src}`); + for (let i = 0; i < matches.length && wikimediaImages.length < 5; i++) { + const match = matches[i]; + const urlMatch = match.match(/src="([^"]*)"/); + if (urlMatch && urlMatch[1]) { + const url = new URL(`https:${urlMatch[1]}`); const { pathname } = url; wikimediaImages.push(pathname); } - }); + } const imageCards = generateImageCards(wikimediaImages); const newHtml = createHtml(imageCards); - res.setHeader('Content-Type', 'text/html'); - res.body = newHtml; + return new Response(newHtml, { + headers: { + 'content-type': 'text/html;charset=UTF-8', + }, + }); } const optimizations = [ diff --git a/examples/v7-image-optimization/package-lock.json b/examples/v7-image-optimization/package-lock.json index 19c2b405a..da894df43 100644 --- a/examples/v7-image-optimization/package-lock.json +++ b/examples/v7-image-optimization/package-lock.json @@ -9,14 +9,13 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "cheerio": "^1.0.0-rc.12", "url-parse": "^1.5.10" }, "devDependencies": { - "@edgio/cli": "^7.2.8", - "@edgio/core": "^7.2.8", - "@edgio/devtools": "^7.2.8", - "@edgio/prefetch": "^7.2.8" + "@edgio/cli": "^7.3.1", + "@edgio/core": "^7.3.1", + "@edgio/devtools": "^7.3.1", + "@edgio/prefetch": "^7.3.1" } }, "node_modules/@ampproject/remapping": { @@ -2137,9 +2136,9 @@ } }, "node_modules/@edgio/cli": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/@edgio/cli/-/cli-7.2.8.tgz", - "integrity": "sha512-uGfo7hHt2wB3m3iTbGpRvYiHzwMHn/95UFMRXAA4gVpIiPf6OHge4MmVzvtMZM04FgVh2v+LEV+n9knY68t21Q==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@edgio/cli/-/cli-7.3.1.tgz", + "integrity": "sha512-1prp0/gj5Fzu0V0G76kKsrR1Mt9Ni2ObHg/3gTjpq5L9xXlmosklsjlTYrXC8TI9zqqYGO+s6JxHqpJgW48aPw==", "dev": true, "dependencies": { "axios": "^0.21.2", @@ -2193,9 +2192,9 @@ } }, "node_modules/@edgio/core": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/@edgio/core/-/core-7.2.8.tgz", - "integrity": "sha512-ngrMAxCY5auUhR3/7YgP1W4iwm+6n+3p8hqznCrHxgq0lp0MtCa9g9dXmHldNpNZWK8g86zGFCu7eZhpxAjTxA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@edgio/core/-/core-7.3.1.tgz", + "integrity": "sha512-PXKul0DlPJVSbbbEgICkzrjJhpD3SmyFccRYj7moHsNdwW0PDBBjje8BntmSAba3JZpfdu+VzlSbSnyVItWxVg==", "dev": true, "dependencies": { "@babel/parser": "^7.18.9", @@ -2275,9 +2274,9 @@ } }, "node_modules/@edgio/devtools": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/@edgio/devtools/-/devtools-7.2.8.tgz", - "integrity": "sha512-Pahz/KYwrJihV5T0yg5qkWRqLP0HOz/FDc/8hqXX0jwdhvXdIvIMbm3QexguFGyesJH15SztstdLhUAMal3idA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@edgio/devtools/-/devtools-7.3.1.tgz", + "integrity": "sha512-gM0Lypo5qfodRhRCs9SSi35bdpHf/xffoD0hZhY6EV5cWoSGSW73qnlv3CepBVzeKxl4TFEpOIKzyOF/Qm7P2Q==", "dev": true, "dependencies": { "clsx": "^1.1.1", @@ -2286,12 +2285,12 @@ } }, "node_modules/@edgio/prefetch": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/@edgio/prefetch/-/prefetch-7.2.8.tgz", - "integrity": "sha512-Rxt6l24TU5++85BMLPDBX8Kmpll4PwPcTJnulKtBNKi3oI01NeNrlpFb0Ee249foaCI/VGEM2oAWpgYBupQkxw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@edgio/prefetch/-/prefetch-7.3.1.tgz", + "integrity": "sha512-qxvsRlcfWCinxEm1/N1o0JS9Sru+30FsW7BatMonqdTojRtmsJAgMDGmPcqKMfQLQKtgxkg9pJ7d0uRYKDZejw==", "dev": true, "dependencies": { - "@edgio/core": "^7.2.8", + "@edgio/core": "^7.3.1", "cheerio": "^1.0.0-rc.3", "json-query": "^2.2.2", "workbox-cacheable-response": "^5.1.2", @@ -3341,7 +3340,8 @@ "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true }, "node_modules/brace-expansion": { "version": "1.1.11", @@ -3627,6 +3627,7 @@ "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dev": true, "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", @@ -3647,6 +3648,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, "dependencies": { "boolbase": "^1.0.0", "css-select": "^5.1.0", @@ -4174,6 +4176,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", @@ -4189,6 +4192,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, "engines": { "node": ">= 6" }, @@ -4411,6 +4415,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -4424,6 +4429,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, "funding": [ { "type": "github", @@ -4435,6 +4441,7 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, "dependencies": { "domelementtype": "^2.3.0" }, @@ -4449,6 +4456,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -4557,6 +4565,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, "engines": { "node": ">=0.12" }, @@ -5919,6 +5928,7 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { @@ -7536,6 +7546,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, "dependencies": { "boolbase": "^1.0.0" }, @@ -7848,6 +7859,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, "dependencies": { "entities": "^4.4.0" }, @@ -7859,6 +7871,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dev": true, "dependencies": { "domhandler": "^5.0.2", "parse5": "^7.0.0" @@ -15851,9 +15864,9 @@ } }, "@edgio/cli": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/@edgio/cli/-/cli-7.2.8.tgz", - "integrity": "sha512-uGfo7hHt2wB3m3iTbGpRvYiHzwMHn/95UFMRXAA4gVpIiPf6OHge4MmVzvtMZM04FgVh2v+LEV+n9knY68t21Q==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@edgio/cli/-/cli-7.3.1.tgz", + "integrity": "sha512-1prp0/gj5Fzu0V0G76kKsrR1Mt9Ni2ObHg/3gTjpq5L9xXlmosklsjlTYrXC8TI9zqqYGO+s6JxHqpJgW48aPw==", "dev": true, "requires": { "axios": "^0.21.2", @@ -15900,9 +15913,9 @@ } }, "@edgio/core": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/@edgio/core/-/core-7.2.8.tgz", - "integrity": "sha512-ngrMAxCY5auUhR3/7YgP1W4iwm+6n+3p8hqznCrHxgq0lp0MtCa9g9dXmHldNpNZWK8g86zGFCu7eZhpxAjTxA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@edgio/core/-/core-7.3.1.tgz", + "integrity": "sha512-PXKul0DlPJVSbbbEgICkzrjJhpD3SmyFccRYj7moHsNdwW0PDBBjje8BntmSAba3JZpfdu+VzlSbSnyVItWxVg==", "dev": true, "requires": { "@babel/parser": "^7.18.9", @@ -15975,9 +15988,9 @@ } }, "@edgio/devtools": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/@edgio/devtools/-/devtools-7.2.8.tgz", - "integrity": "sha512-Pahz/KYwrJihV5T0yg5qkWRqLP0HOz/FDc/8hqXX0jwdhvXdIvIMbm3QexguFGyesJH15SztstdLhUAMal3idA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@edgio/devtools/-/devtools-7.3.1.tgz", + "integrity": "sha512-gM0Lypo5qfodRhRCs9SSi35bdpHf/xffoD0hZhY6EV5cWoSGSW73qnlv3CepBVzeKxl4TFEpOIKzyOF/Qm7P2Q==", "dev": true, "requires": { "clsx": "^1.1.1", @@ -15986,12 +15999,12 @@ } }, "@edgio/prefetch": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/@edgio/prefetch/-/prefetch-7.2.8.tgz", - "integrity": "sha512-Rxt6l24TU5++85BMLPDBX8Kmpll4PwPcTJnulKtBNKi3oI01NeNrlpFb0Ee249foaCI/VGEM2oAWpgYBupQkxw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@edgio/prefetch/-/prefetch-7.3.1.tgz", + "integrity": "sha512-qxvsRlcfWCinxEm1/N1o0JS9Sru+30FsW7BatMonqdTojRtmsJAgMDGmPcqKMfQLQKtgxkg9pJ7d0uRYKDZejw==", "dev": true, "requires": { - "@edgio/core": "^7.2.8", + "@edgio/core": "^7.3.1", "cheerio": "^1.0.0-rc.3", "json-query": "^2.2.2", "workbox-cacheable-response": "^5.1.2", @@ -16838,7 +16851,8 @@ "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true }, "brace-expansion": { "version": "1.1.11", @@ -17030,6 +17044,7 @@ "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dev": true, "requires": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", @@ -17044,6 +17059,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, "requires": { "boolbase": "^1.0.0", "css-select": "^5.1.0", @@ -17460,6 +17476,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, "requires": { "boolbase": "^1.0.0", "css-what": "^6.1.0", @@ -17471,7 +17488,8 @@ "css-what": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true }, "date-fns": { "version": "2.30.0", @@ -17621,6 +17639,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -17630,12 +17649,14 @@ "domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true }, "domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, "requires": { "domelementtype": "^2.3.0" } @@ -17644,6 +17665,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, "requires": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -17730,7 +17752,8 @@ "entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true }, "env-paths": { "version": "2.2.1", @@ -18787,6 +18810,7 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", @@ -20010,6 +20034,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, "requires": { "boolbase": "^1.0.0" } @@ -20247,6 +20272,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, "requires": { "entities": "^4.4.0" } @@ -20255,6 +20281,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dev": true, "requires": { "domhandler": "^5.0.2", "parse5": "^7.0.0" diff --git a/examples/v7-image-optimization/package.json b/examples/v7-image-optimization/package.json index 3c9a4780d..eb1cbcd99 100644 --- a/examples/v7-image-optimization/package.json +++ b/examples/v7-image-optimization/package.json @@ -11,14 +11,13 @@ "author": "", "license": "ISC", "devDependencies": { - "@edgio/cli": "^7.2.8", - "@edgio/core": "^7.2.8", - "@edgio/devtools": "^7.2.8", - "@edgio/prefetch": "^7.2.8" + "@edgio/cli": "^7.3.1", + "@edgio/core": "^7.3.1", + "@edgio/devtools": "^7.3.1", + "@edgio/prefetch": "^7.3.1" }, "repository": "git@github.com:edgio-docs/edgio-v7-image-optimization-example.git", "dependencies": { - "cheerio": "^1.0.0-rc.12", "url-parse": "^1.5.10" } } diff --git a/examples/v7-image-optimization/routes.js b/examples/v7-image-optimization/routes.js index 02da10d74..11b89bbf2 100644 --- a/examples/v7-image-optimization/routes.js +++ b/examples/v7-image-optimization/routes.js @@ -1,12 +1,11 @@ import { Router, edgioRoutes } from '@edgio/core'; -import homeHandler from './edgio/homeHandler'; export default new Router() .use(edgioRoutes) // example page for image optimization - .match('/', ({ compute }) => { - compute(homeHandler); + .match('/', { + edge_function: 'edge-functions/main.js', }) // serve static images and apply optimizations