From 428c32d0272fff41f33747a9be7fc8dae5b6998e Mon Sep 17 00:00:00 2001 From: Jon Robson Date: Fri, 12 May 2023 13:26:59 -0700 Subject: [PATCH] Switch to native Promises and fetch For fetch and AbortController we provide native polyfills (see resources/src/skip-web2017-polyfills.js) so safe to use this here. This will be empty for modern browsers. Change-Id: Ic0f55eb0a0276be3587a4b866834bddff1124ad2 --- .nycrc.json | 4 ++-- extension.json | 1 + package.json | 2 +- resources/dist/index.js | Bin 40625 -> 43028 bytes resources/dist/index.js.map.json | Bin 198267 -> 204060 bytes src/actions.js | 6 +++--- src/gateway/page.js | 24 ++++++++++++++++++++++-- webpack.config.js | 4 ++-- 8 files changed, 31 insertions(+), 10 deletions(-) diff --git a/.nycrc.json b/.nycrc.json index 05f3770bf..4d19b4740 100644 --- a/.nycrc.json +++ b/.nycrc.json @@ -13,9 +13,9 @@ "include": [ "src/**/*.js" ], "//": "Set the coverage percentage by category thresholds.", - "statements": 83, + "statements": 80, "branches": 70, - "functions": 82, + "functions": 80, "lines": 90, "//": "Fail if the coverage is below threshold.", diff --git a/extension.json b/extension.json index a318a34cc..10d765535 100644 --- a/extension.json +++ b/extension.json @@ -222,6 +222,7 @@ "popups-refpreview-collapsible-placeholder" ], "dependencies": [ + "web2017-polyfills", "ext.popups.icons", "ext.popups.images", "mediawiki.experiments", diff --git a/package.json b/package.json index abf31e564..b99fdd3f6 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "bundlesize": [ { "path": "resources/dist/index.js", - "maxSize": "13.5kB" + "maxSize": "14.0kB" } ] } diff --git a/resources/dist/index.js b/resources/dist/index.js index f895b418ec6b3b3960b0ff4d4218e6c00375e854..507d6708f970fc953ae193f3134f3fe9a22b0b90 100644 GIT binary patch delta 6994 zcmaJ_Yj7Lab)Kap>OoVYLrIiKJ-`(O?n=ugDUp%_Xh~5dMN)i|kVu)LC=j?LmIU@f ziv^#6DOs{)TTaIIu_bHNG;#ho9j6n!NYWpP<2XN>wv*O&I&G5ac>0*>!^zZ->0~A| zjnjU20g$xY^v~|SXYaXt?sp!7 z!*4SuXhWYEqS*Rea3z{#s#Xb=nmL75LcywE?5z6Jp`a6rV6SET1cozM zddjr0{o=CtVK9}-p2^a)8o@j_Qq z<+L}%5<+X<6?HkwCaf4(jI(yz#u4Q%Yc3cy!=9kyuvpyjINTEki=7O?n#_ZpYVwAF zk0qR-6=M2jtIP6mJIrjcev*0eOEj0kHN1yU&ajY^@Whe{#}hdeoMWD#=YJVUQ9Uu{ zM0i-2)x75vC!%JEh4UW!apkT}uBFJRIr*z5L294eVoxVy%yJUBg|%0dX2W;EOm(T2qcrftE zaTZpyTU6ER4qQ~R)Mne&wQr8YgX_}ppC3w`sy7|?uBFQLY147jCJ%;L*bPCtzUf^s z3>H>w=gnNPG+TpYj>0obg-=QNvSG`>9@ALv>gx*lkVb44PA=4nnS7Mf?3Vpl^7NKY zpl*Bal_IqBP+0~W#7mWoIZJE z50-thy@C!Gi|l>A_;R6S(yOJfN@k{i=a^K;4QI?Ar%(3p+`-29xKKV`NWPr@W>>P% z)P-R5t+Iy96T5dw;C;F526)T&+?8Z*ET@s?>io%EW@1qI!xz9VGas&+uILG=`# *a8)=qk~T`JTy;!d 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 delta 5675 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 diff --git a/resources/dist/index.js.map.json b/resources/dist/index.js.map.json index 922938b9215b25b890db6411369a3d1e41155441..54b6610c40660337a63b928692e4e091c3cafa4f 100644 GIT binary patch delta 27154 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 delta 22692 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 ZFFn*eFfnk?rBBrkjC}5s%>!G{{(mkrRq+4- diff --git a/src/actions.js b/src/actions.js index 98699402f..24bf9235b 100644 --- a/src/actions.js +++ b/src/actions.js @@ -162,11 +162,11 @@ export function fetch( gateway, title, el, token, type ) { throw exception; } ); - return $.when( + return Promise.all( [ chain, wait( getDwellDelay( type ) ) - ) - .then( ( result ) => { + ] ) + .then( ( [ result ] ) => { dispatch( { type: types.FETCH_COMPLETE, el, diff --git a/src/gateway/page.js b/src/gateway/page.js index 8935872c3..a080467a8 100644 --- a/src/gateway/page.js +++ b/src/gateway/page.js @@ -6,6 +6,26 @@ import constants from '../constants'; import createMediaWikiApiGateway from './mediawiki'; import createRESTBaseGateway from './rest'; import * as formatters from './restFormatters'; +import { abortablePromise } from './index.js'; + +/** + * @param {Object} options + * @return {Promise} + */ +function ajax( options ) { + const controller = new AbortController(); + const signal = controller.signal; + + return abortablePromise( + fetch( options.url, { + headers: options.headers, + signal + } ).then( ( resp ) => resp.json() ), + () => { + controller.abort(); + } + ); +} /** * Creates a page preview gateway with sensible values for the dependencies. @@ -25,10 +45,10 @@ export default function createPagePreviewGateway( config ) { return createMediaWikiApiGateway( new mw.Api(), gatewayConfig ); case 'restbasePlain': return createRESTBaseGateway( - $.ajax, restConfig, formatters.parsePlainTextResponse ); + ajax, restConfig, formatters.parsePlainTextResponse ); case 'restbaseHTML': return createRESTBaseGateway( - $.ajax, restConfig, formatters.parseHTMLResponse ); + ajax, restConfig, formatters.parseHTMLResponse ); default: throw new Error( 'Unknown gateway' ); } diff --git a/webpack.config.js b/webpack.config.js index eb880bb1a..01a8aa904 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -112,8 +112,8 @@ module.exports = ( env, argv ) => ( { // Minified uncompressed size limits for chunks / assets and entrypoints. Keep these numbers // up-to-date and rounded to the nearest 10th of a kibibyte so that code sizing costs are // well understood. Related to bundlesize minified, gzipped compressed file size tests. - maxAssetSize: 42.5 * 1024, - maxEntrypointSize: 42.5 * 1024, + maxAssetSize: 42.9 * 1024, + maxEntrypointSize: 42.9 * 1024, // The default filter excludes map files but we rename ours. assetFilter: ( filename ) => !filename.endsWith( srcMapExt )