├── .gitignore ├── .prettierrc ├── LICENSE ├── README.md ├── index.js ├── manifest.yml ├── package-lock.json └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # Snowpack dependency directory (https://snowpack.dev/) 45 | web_modules/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | .parcel-cache 78 | 79 | # Next.js build output 80 | .next 81 | out 82 | 83 | # Nuxt.js build / generate output 84 | .nuxt 85 | dist 86 | 87 | # Gatsby files 88 | .cache/ 89 | # Comment in the public line in if your project uses Gatsby and not Next.js 90 | # https://nextjs.org/blog/next-9-1#public-directory-support 91 | # public 92 | 93 | # vuepress build output 94 | .vuepress/dist 95 | 96 | # Serverless directories 97 | .serverless/ 98 | 99 | # FuseBox cache 100 | .fusebox/ 101 | 102 | # DynamoDB Local files 103 | .dynamodb/ 104 | 105 | # TernJS port file 106 | .tern-port 107 | 108 | # Stores VSCode versions used for testing VSCode extensions 109 | .vscode-test 110 | 111 | # yarn v2 112 | .yarn/cache 113 | .yarn/unplugged 114 | .yarn/build-state.yml 115 | .yarn/install-state.gz 116 | .pnp.* 117 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "useTabs": false 4 | } 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License Copyright (c) 2021 Luke Bonaccorsi 2 | 3 | Permission is hereby granted, 4 | free of charge, to any person obtaining a copy of this software and associated 5 | documentation files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, copy, modify, merge, 7 | publish, distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to the 9 | following conditions: 10 | 11 | The above copyright notice and this permission notice 12 | (including the next paragraph) shall be included in all copies or substantial 13 | portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 16 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO 18 | EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 19 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Netlify Build Plugin: Automatically discover any webmentions and send them after every production build 2 | 3 | Automatically discover any webmentions and send them after every production build. 4 | 5 | This plugin will send webmentions to any mentioned websites that have a webmention endpoint after every production build. The plugin can be used without any configuration if using the defaults. 6 | 7 | ## Usage 8 | There are a couple of ways to install this plugin 9 | 10 | ### UI based installation 11 | You can install this plugin in the Netlify UI from this [direct in-app installation link](https://app.netlify.com/plugins/netlify-plugin-webmentions/install) or from the [Plugins directory](https://app.netlify.com/plugins). 12 | 13 | If you do it this way, you will need to do any configuration using [Build environment variables](https://docs.netlify.com/configure-builds/environment-variables/). 14 | 15 | The variables used are: 16 | - `WEBMENTION_BASE_URL`: The base url of your site (optional, default: main URL set in Netlify) 17 | - `WEBMENTION_FEED_PATH`: Path to the feed URL (optional, default: /feed.xml) 18 | - `WEBMENTION_LIMIT`: Maximum number of feed entries to check for mentions (optional, default: 1) 19 | 20 | ### File based installation 21 | To use file based installation, add this package to your `devDependencies`: 22 | 23 | ``` 24 | npm install -D netlify-plugin-webmentions 25 | ``` 26 | 27 | Then add the following lines to your `netlify.toml` file: 28 | 29 | ```toml 30 | [[plugins]] 31 | package = "netlify-plugin-webmentions" 32 | 33 | [plugins.inputs] 34 | 35 | # The base url of your site (optional, default: main URL set in Netlify) 36 | baseUrl = "https://example.com" 37 | 38 | # Path to the feed URL (optional, default: /feed.xml) 39 | feedPath = "/feed.xml" 40 | 41 | # Maximum number of feed entries to check for mentions (optional, default: 1) 42 | limit = 1 43 | ``` 44 | 45 | Note: The `[[plugins]]` line is required for each plugin, even if you have other plugins in your `netlify.toml` file already. 46 | 47 | 48 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const Webmention = require("@remy/webmention"); 2 | const { 3 | CONTEXT, 4 | URL, 5 | WEBMENTION_LIMIT, 6 | WEBMENTION_FEED_PATH, 7 | WEBMENTION_BASE_URL, 8 | } = process.env; 9 | 10 | module.exports = { 11 | async onSuccess({ utils, constants, inputs }) { 12 | const limit = inputs.limit || WEBMENTION_LIMIT || 1; 13 | const feedPath = inputs.feedPath || WEBMENTION_FEED_PATH || "feed.xml"; 14 | const baseUrl = inputs.baseUrl || WEBMENTION_BASE_URL || URL; 15 | const feedUrl = `${baseUrl.replace(/\$/, "")}/${feedPath}`; 16 | 17 | if (constants.IS_LOCAL || CONTEXT !== "production") { 18 | console.log( 19 | "Skipping discovering webmentions because this isn't a production build" 20 | ); 21 | return; 22 | } 23 | 24 | try { 25 | await new Promise((resolve, reject) => { 26 | console.log( 27 | `Discovering Webmentions in ${feedUrl} with a limit of ${limit} ${ 28 | limit === 1 ? "entry" : "entries" 29 | }` 30 | ); 31 | console.log(""); 32 | 33 | const wm = new Webmention({ limit, send: true }); 34 | 35 | wm.on("error", (e) => reject(e)); 36 | 37 | wm.on("sent", (res) => { 38 | console.log( 39 | `Sent ${res.source} to ${res.endpoint.url} (${res.endpoint.type})` 40 | ); 41 | if (res.error) { 42 | console.log(`Error sending to ${res.endpoint.url}: ${res.error}`); 43 | } 44 | console.log(""); 45 | }); 46 | 47 | wm.on("end", () => { 48 | resolve(); 49 | }); 50 | 51 | wm.fetch(feedUrl); 52 | }); 53 | } catch (e) { 54 | utils.build.failPlugin(e); 55 | } 56 | }, 57 | }; 58 | -------------------------------------------------------------------------------- /manifest.yml: -------------------------------------------------------------------------------- 1 | name: netlify-plugin-webmentions 2 | inputs: 3 | - name: baseUrl 4 | description: The base url of your site 5 | - name: feedPath 6 | description: "Path to your site's feed, without a leading slash (Default: feed.xml)" 7 | - name: limit 8 | description: "Maximum number of feed entries to check (Default: 1)" 9 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "netlify-plugin-webmentions", 3 | "version": "1.1.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "version": "1.0.1", 9 | "license": "MIT", 10 | "dependencies": { 11 | "@remy/webmention": "^1.4.5" 12 | }, 13 | "devDependencies": { 14 | "prettier": "^2.2.1" 15 | } 16 | }, 17 | "node_modules/@remy/webmention": { 18 | "version": "1.4.5", 19 | "resolved": "https://registry.npmjs.org/@remy/webmention/-/webmention-1.4.5.tgz", 20 | "integrity": "sha512-O3L/8Fp8/qpgwQIINxgfc5Odcm7iXRTgRVQMDX/JcjWfJctwJSGZDGkCZMaZEPp2iIhH8cV1l5cy9OogLpHU8w==", 21 | "dependencies": { 22 | "cheerio": "0.22.0", 23 | "clui": "^0.3.6", 24 | "decodeuricomponent": "^0.3.1", 25 | "follow-redirects": "^1.7.0", 26 | "li": "^1.3.0", 27 | "microformat-node": "^2.0.1", 28 | "ms": "^2.1.2", 29 | "node-fetch": "^2.6.0", 30 | "optimist": "^0.6.1", 31 | "rss-parser": "^3.7.0", 32 | "uuid": "^3.3.2" 33 | }, 34 | "bin": { 35 | "webmention": "bin/wm.js", 36 | "wm": "bin/wm.js" 37 | } 38 | }, 39 | "node_modules/bluebird": { 40 | "version": "3.4.7", 41 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", 42 | "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=" 43 | }, 44 | "node_modules/boolbase": { 45 | "version": "1.0.0", 46 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 47 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" 48 | }, 49 | "node_modules/cheerio": { 50 | "version": "0.22.0", 51 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", 52 | "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", 53 | "dependencies": { 54 | "css-select": "~1.2.0", 55 | "dom-serializer": "~0.1.0", 56 | "entities": "~1.1.1", 57 | "htmlparser2": "^3.9.1", 58 | "lodash.assignin": "^4.0.9", 59 | "lodash.bind": "^4.1.4", 60 | "lodash.defaults": "^4.0.1", 61 | "lodash.filter": "^4.4.0", 62 | "lodash.flatten": "^4.2.0", 63 | "lodash.foreach": "^4.3.0", 64 | "lodash.map": "^4.4.0", 65 | "lodash.merge": "^4.4.0", 66 | "lodash.pick": "^4.2.1", 67 | "lodash.reduce": "^4.4.0", 68 | "lodash.reject": "^4.4.0", 69 | "lodash.some": "^4.4.0" 70 | }, 71 | "engines": { 72 | "node": ">= 0.6" 73 | } 74 | }, 75 | "node_modules/cli-color": { 76 | "version": "0.3.2", 77 | "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.3.2.tgz", 78 | "integrity": "sha1-dfpfcowwjMSsWUsF4GzF2A2szYY=", 79 | "dependencies": { 80 | "d": "~0.1.1", 81 | "es5-ext": "~0.10.2", 82 | "memoizee": "0.3.x", 83 | "timers-ext": "0.1.x" 84 | } 85 | }, 86 | "node_modules/clui": { 87 | "version": "0.3.6", 88 | "resolved": "https://registry.npmjs.org/clui/-/clui-0.3.6.tgz", 89 | "integrity": "sha512-Z4UbgZILlIAjkEkZiDOa2aoYjohKx7fa6DxIh6cE9A6WNWZ61iXfQc6CmdC9SKdS5nO0P0UyQ+WfoXfB65e3HQ==", 90 | "dependencies": { 91 | "cli-color": "0.3.2" 92 | } 93 | }, 94 | "node_modules/css-select": { 95 | "version": "1.2.0", 96 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", 97 | "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", 98 | "dependencies": { 99 | "boolbase": "~1.0.0", 100 | "css-what": "2.1", 101 | "domutils": "1.5.1", 102 | "nth-check": "~1.0.1" 103 | } 104 | }, 105 | "node_modules/css-what": { 106 | "version": "2.1.3", 107 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", 108 | "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", 109 | "engines": { 110 | "node": "*" 111 | } 112 | }, 113 | "node_modules/d": { 114 | "version": "0.1.1", 115 | "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", 116 | "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=", 117 | "dependencies": { 118 | "es5-ext": "~0.10.2" 119 | } 120 | }, 121 | "node_modules/decodeuricomponent": { 122 | "version": "0.3.1", 123 | "resolved": "https://registry.npmjs.org/decodeuricomponent/-/decodeuricomponent-0.3.1.tgz", 124 | "integrity": "sha512-8PuirnWM7fdE54vRKoVT60RQlkFXgKsi7ToV4pdVbj9jc9qGSFt4P10Oi3UK+FPHZi+lhqRdPyG2QqhSfIhtQQ==", 125 | "dependencies": { 126 | "iconv-lite": "^0.4.19" 127 | } 128 | }, 129 | "node_modules/dom-serializer": { 130 | "version": "0.1.1", 131 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", 132 | "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", 133 | "dependencies": { 134 | "domelementtype": "^1.3.0", 135 | "entities": "^1.1.1" 136 | } 137 | }, 138 | "node_modules/domelementtype": { 139 | "version": "1.3.1", 140 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", 141 | "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" 142 | }, 143 | "node_modules/domhandler": { 144 | "version": "2.4.2", 145 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", 146 | "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", 147 | "dependencies": { 148 | "domelementtype": "1" 149 | } 150 | }, 151 | "node_modules/domutils": { 152 | "version": "1.5.1", 153 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", 154 | "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", 155 | "dependencies": { 156 | "dom-serializer": "0", 157 | "domelementtype": "1" 158 | } 159 | }, 160 | "node_modules/ent": { 161 | "version": "2.2.0", 162 | "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", 163 | "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" 164 | }, 165 | "node_modules/entities": { 166 | "version": "1.1.2", 167 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", 168 | "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" 169 | }, 170 | "node_modules/es5-ext": { 171 | "version": "0.10.53", 172 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", 173 | "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", 174 | "dependencies": { 175 | "es6-iterator": "~2.0.3", 176 | "es6-symbol": "~3.1.3", 177 | "next-tick": "~1.0.0" 178 | } 179 | }, 180 | "node_modules/es6-iterator": { 181 | "version": "2.0.3", 182 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", 183 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", 184 | "dependencies": { 185 | "d": "1", 186 | "es5-ext": "^0.10.35", 187 | "es6-symbol": "^3.1.1" 188 | } 189 | }, 190 | "node_modules/es6-iterator/node_modules/d": { 191 | "version": "1.0.1", 192 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", 193 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", 194 | "dependencies": { 195 | "es5-ext": "^0.10.50", 196 | "type": "^1.0.1" 197 | } 198 | }, 199 | "node_modules/es6-iterator/node_modules/type": { 200 | "version": "1.2.0", 201 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", 202 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" 203 | }, 204 | "node_modules/es6-symbol": { 205 | "version": "3.1.3", 206 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", 207 | "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", 208 | "dependencies": { 209 | "d": "^1.0.1", 210 | "ext": "^1.1.2" 211 | } 212 | }, 213 | "node_modules/es6-symbol/node_modules/d": { 214 | "version": "1.0.1", 215 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", 216 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", 217 | "dependencies": { 218 | "es5-ext": "^0.10.50", 219 | "type": "^1.0.1" 220 | } 221 | }, 222 | "node_modules/es6-symbol/node_modules/type": { 223 | "version": "1.2.0", 224 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", 225 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" 226 | }, 227 | "node_modules/es6-weak-map": { 228 | "version": "0.1.4", 229 | "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.4.tgz", 230 | "integrity": "sha1-cGzvnpmqI2undmwjnIueKG6n0ig=", 231 | "dependencies": { 232 | "d": "~0.1.1", 233 | "es5-ext": "~0.10.6", 234 | "es6-iterator": "~0.1.3", 235 | "es6-symbol": "~2.0.1" 236 | } 237 | }, 238 | "node_modules/es6-weak-map/node_modules/es6-iterator": { 239 | "version": "0.1.3", 240 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.3.tgz", 241 | "integrity": "sha1-1vWLjE/EE8JJtLqhl2j45NfIlE4=", 242 | "dependencies": { 243 | "d": "~0.1.1", 244 | "es5-ext": "~0.10.5", 245 | "es6-symbol": "~2.0.1" 246 | } 247 | }, 248 | "node_modules/es6-weak-map/node_modules/es6-symbol": { 249 | "version": "2.0.1", 250 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-2.0.1.tgz", 251 | "integrity": "sha1-dhtcZ8/U8dGK+yNPaR1nhoLLO/M=", 252 | "dependencies": { 253 | "d": "~0.1.1", 254 | "es5-ext": "~0.10.5" 255 | } 256 | }, 257 | "node_modules/event-emitter": { 258 | "version": "0.3.5", 259 | "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", 260 | "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", 261 | "dependencies": { 262 | "d": "1", 263 | "es5-ext": "~0.10.14" 264 | } 265 | }, 266 | "node_modules/event-emitter/node_modules/d": { 267 | "version": "1.0.1", 268 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", 269 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", 270 | "dependencies": { 271 | "es5-ext": "^0.10.50", 272 | "type": "^1.0.1" 273 | } 274 | }, 275 | "node_modules/event-emitter/node_modules/type": { 276 | "version": "1.2.0", 277 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", 278 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" 279 | }, 280 | "node_modules/ext": { 281 | "version": "1.4.0", 282 | "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", 283 | "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", 284 | "dependencies": { 285 | "type": "^2.0.0" 286 | } 287 | }, 288 | "node_modules/follow-redirects": { 289 | "version": "1.13.2", 290 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", 291 | "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==", 292 | "funding": [ 293 | { 294 | "type": "individual", 295 | "url": "https://github.com/sponsors/RubenVerborgh" 296 | } 297 | ], 298 | "engines": { 299 | "node": ">=4.0" 300 | }, 301 | "peerDependenciesMeta": { 302 | "debug": { 303 | "optional": true 304 | } 305 | } 306 | }, 307 | "node_modules/htmlparser2": { 308 | "version": "3.10.1", 309 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", 310 | "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", 311 | "dependencies": { 312 | "domelementtype": "^1.3.1", 313 | "domhandler": "^2.3.0", 314 | "domutils": "^1.5.1", 315 | "entities": "^1.1.1", 316 | "inherits": "^2.0.1", 317 | "readable-stream": "^3.1.1" 318 | } 319 | }, 320 | "node_modules/iconv-lite": { 321 | "version": "0.4.24", 322 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 323 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 324 | "dependencies": { 325 | "safer-buffer": ">= 2.1.2 < 3" 326 | }, 327 | "engines": { 328 | "node": ">=0.10.0" 329 | } 330 | }, 331 | "node_modules/inherits": { 332 | "version": "2.0.4", 333 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 334 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 335 | }, 336 | "node_modules/li": { 337 | "version": "1.3.0", 338 | "resolved": "https://registry.npmjs.org/li/-/li-1.3.0.tgz", 339 | "integrity": "sha1-IsWbyu+qmo7zWc91l4TkvxBq6hs=" 340 | }, 341 | "node_modules/lodash.assignin": { 342 | "version": "4.2.0", 343 | "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", 344 | "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" 345 | }, 346 | "node_modules/lodash.bind": { 347 | "version": "4.2.1", 348 | "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", 349 | "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" 350 | }, 351 | "node_modules/lodash.defaults": { 352 | "version": "4.2.0", 353 | "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", 354 | "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" 355 | }, 356 | "node_modules/lodash.filter": { 357 | "version": "4.6.0", 358 | "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", 359 | "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" 360 | }, 361 | "node_modules/lodash.flatten": { 362 | "version": "4.4.0", 363 | "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", 364 | "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" 365 | }, 366 | "node_modules/lodash.foreach": { 367 | "version": "4.5.0", 368 | "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", 369 | "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" 370 | }, 371 | "node_modules/lodash.map": { 372 | "version": "4.6.0", 373 | "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", 374 | "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" 375 | }, 376 | "node_modules/lodash.merge": { 377 | "version": "4.6.2", 378 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 379 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" 380 | }, 381 | "node_modules/lodash.pick": { 382 | "version": "4.4.0", 383 | "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", 384 | "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" 385 | }, 386 | "node_modules/lodash.reduce": { 387 | "version": "4.6.0", 388 | "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", 389 | "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" 390 | }, 391 | "node_modules/lodash.reject": { 392 | "version": "4.6.0", 393 | "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", 394 | "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" 395 | }, 396 | "node_modules/lodash.some": { 397 | "version": "4.6.0", 398 | "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", 399 | "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" 400 | }, 401 | "node_modules/lru-queue": { 402 | "version": "0.1.0", 403 | "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", 404 | "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", 405 | "dependencies": { 406 | "es5-ext": "~0.10.2" 407 | } 408 | }, 409 | "node_modules/memoizee": { 410 | "version": "0.3.10", 411 | "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.3.10.tgz", 412 | "integrity": "sha1-TsoNiu057J0Bf0xcLy9kMvQuXI8=", 413 | "dependencies": { 414 | "d": "~0.1.1", 415 | "es5-ext": "~0.10.11", 416 | "es6-weak-map": "~0.1.4", 417 | "event-emitter": "~0.3.4", 418 | "lru-queue": "0.1", 419 | "next-tick": "~0.2.2", 420 | "timers-ext": "0.1" 421 | } 422 | }, 423 | "node_modules/memoizee/node_modules/next-tick": { 424 | "version": "0.2.2", 425 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz", 426 | "integrity": "sha1-ddpKkn7liH45BliABltzNkE7MQ0=" 427 | }, 428 | "node_modules/microformat-node": { 429 | "version": "2.0.1", 430 | "resolved": "https://registry.npmjs.org/microformat-node/-/microformat-node-2.0.1.tgz", 431 | "integrity": "sha1-CEnc+yn0+SUaTGUj2ahzz0W46UI=", 432 | "dependencies": { 433 | "bluebird": "3.4.x", 434 | "cheerio": "0.22.x", 435 | "ent": "^2.2.0", 436 | "microformat-shiv": "^2.0.0" 437 | }, 438 | "engines": { 439 | "node": ">= 0.10.x" 440 | } 441 | }, 442 | "node_modules/microformat-shiv": { 443 | "version": "2.0.3", 444 | "resolved": "https://registry.npmjs.org/microformat-shiv/-/microformat-shiv-2.0.3.tgz", 445 | "integrity": "sha1-A1DattosUX+PTO8asof+a+6uxyU=" 446 | }, 447 | "node_modules/minimist": { 448 | "version": "0.0.10", 449 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", 450 | "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" 451 | }, 452 | "node_modules/ms": { 453 | "version": "2.1.3", 454 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 455 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 456 | }, 457 | "node_modules/next-tick": { 458 | "version": "1.0.0", 459 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", 460 | "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" 461 | }, 462 | "node_modules/node-fetch": { 463 | "version": "2.6.1", 464 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", 465 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", 466 | "engines": { 467 | "node": "4.x || >=6.0.0" 468 | } 469 | }, 470 | "node_modules/nth-check": { 471 | "version": "1.0.2", 472 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", 473 | "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", 474 | "dependencies": { 475 | "boolbase": "~1.0.0" 476 | } 477 | }, 478 | "node_modules/optimist": { 479 | "version": "0.6.1", 480 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", 481 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", 482 | "dependencies": { 483 | "minimist": "~0.0.1", 484 | "wordwrap": "~0.0.2" 485 | } 486 | }, 487 | "node_modules/prettier": { 488 | "version": "2.2.1", 489 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", 490 | "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", 491 | "dev": true, 492 | "bin": { 493 | "prettier": "bin-prettier.js" 494 | }, 495 | "engines": { 496 | "node": ">=10.13.0" 497 | } 498 | }, 499 | "node_modules/readable-stream": { 500 | "version": "3.6.0", 501 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 502 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 503 | "dependencies": { 504 | "inherits": "^2.0.3", 505 | "string_decoder": "^1.1.1", 506 | "util-deprecate": "^1.0.1" 507 | }, 508 | "engines": { 509 | "node": ">= 6" 510 | } 511 | }, 512 | "node_modules/rss-parser": { 513 | "version": "3.12.0", 514 | "resolved": "https://registry.npmjs.org/rss-parser/-/rss-parser-3.12.0.tgz", 515 | "integrity": "sha512-aqD3E8iavcCdkhVxNDIdg1nkBI17jgqF+9OqPS1orwNaOgySdpvq6B+DoONLhzjzwV8mWg37sb60e4bmLK117A==", 516 | "dependencies": { 517 | "entities": "^2.0.3", 518 | "xml2js": "^0.4.19" 519 | } 520 | }, 521 | "node_modules/rss-parser/node_modules/entities": { 522 | "version": "2.2.0", 523 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 524 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 525 | "funding": { 526 | "url": "https://github.com/fb55/entities?sponsor=1" 527 | } 528 | }, 529 | "node_modules/safe-buffer": { 530 | "version": "5.2.1", 531 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 532 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 533 | "funding": [ 534 | { 535 | "type": "github", 536 | "url": "https://github.com/sponsors/feross" 537 | }, 538 | { 539 | "type": "patreon", 540 | "url": "https://www.patreon.com/feross" 541 | }, 542 | { 543 | "type": "consulting", 544 | "url": "https://feross.org/support" 545 | } 546 | ] 547 | }, 548 | "node_modules/safer-buffer": { 549 | "version": "2.1.2", 550 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 551 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 552 | }, 553 | "node_modules/sax": { 554 | "version": "1.2.4", 555 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 556 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" 557 | }, 558 | "node_modules/string_decoder": { 559 | "version": "1.3.0", 560 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 561 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 562 | "dependencies": { 563 | "safe-buffer": "~5.2.0" 564 | } 565 | }, 566 | "node_modules/timers-ext": { 567 | "version": "0.1.7", 568 | "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", 569 | "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", 570 | "dependencies": { 571 | "es5-ext": "~0.10.46", 572 | "next-tick": "1" 573 | } 574 | }, 575 | "node_modules/type": { 576 | "version": "2.3.0", 577 | "resolved": "https://registry.npmjs.org/type/-/type-2.3.0.tgz", 578 | "integrity": "sha512-rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg==" 579 | }, 580 | "node_modules/util-deprecate": { 581 | "version": "1.0.2", 582 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 583 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 584 | }, 585 | "node_modules/uuid": { 586 | "version": "3.4.0", 587 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 588 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", 589 | "bin": { 590 | "uuid": "bin/uuid" 591 | } 592 | }, 593 | "node_modules/wordwrap": { 594 | "version": "0.0.3", 595 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", 596 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", 597 | "engines": { 598 | "node": ">=0.4.0" 599 | } 600 | }, 601 | "node_modules/xml2js": { 602 | "version": "0.4.23", 603 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", 604 | "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", 605 | "dependencies": { 606 | "sax": ">=0.6.0", 607 | "xmlbuilder": "~11.0.0" 608 | }, 609 | "engines": { 610 | "node": ">=4.0.0" 611 | } 612 | }, 613 | "node_modules/xmlbuilder": { 614 | "version": "11.0.1", 615 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", 616 | "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", 617 | "engines": { 618 | "node": ">=4.0" 619 | } 620 | } 621 | }, 622 | "dependencies": { 623 | "@remy/webmention": { 624 | "version": "1.4.5", 625 | "resolved": "https://registry.npmjs.org/@remy/webmention/-/webmention-1.4.5.tgz", 626 | "integrity": "sha512-O3L/8Fp8/qpgwQIINxgfc5Odcm7iXRTgRVQMDX/JcjWfJctwJSGZDGkCZMaZEPp2iIhH8cV1l5cy9OogLpHU8w==", 627 | "requires": { 628 | "cheerio": "0.22.0", 629 | "clui": "^0.3.6", 630 | "decodeuricomponent": "^0.3.1", 631 | "follow-redirects": "^1.7.0", 632 | "li": "^1.3.0", 633 | "microformat-node": "^2.0.1", 634 | "ms": "^2.1.2", 635 | "node-fetch": "^2.6.0", 636 | "optimist": "^0.6.1", 637 | "rss-parser": "^3.7.0", 638 | "uuid": "^3.3.2" 639 | } 640 | }, 641 | "bluebird": { 642 | "version": "3.4.7", 643 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", 644 | "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=" 645 | }, 646 | "boolbase": { 647 | "version": "1.0.0", 648 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 649 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" 650 | }, 651 | "cheerio": { 652 | "version": "0.22.0", 653 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", 654 | "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", 655 | "requires": { 656 | "css-select": "~1.2.0", 657 | "dom-serializer": "~0.1.0", 658 | "entities": "~1.1.1", 659 | "htmlparser2": "^3.9.1", 660 | "lodash.assignin": "^4.0.9", 661 | "lodash.bind": "^4.1.4", 662 | "lodash.defaults": "^4.0.1", 663 | "lodash.filter": "^4.4.0", 664 | "lodash.flatten": "^4.2.0", 665 | "lodash.foreach": "^4.3.0", 666 | "lodash.map": "^4.4.0", 667 | "lodash.merge": "^4.4.0", 668 | "lodash.pick": "^4.2.1", 669 | "lodash.reduce": "^4.4.0", 670 | "lodash.reject": "^4.4.0", 671 | "lodash.some": "^4.4.0" 672 | } 673 | }, 674 | "cli-color": { 675 | "version": "0.3.2", 676 | "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.3.2.tgz", 677 | "integrity": "sha1-dfpfcowwjMSsWUsF4GzF2A2szYY=", 678 | "requires": { 679 | "d": "~0.1.1", 680 | "es5-ext": "~0.10.2", 681 | "memoizee": "0.3.x", 682 | "timers-ext": "0.1.x" 683 | } 684 | }, 685 | "clui": { 686 | "version": "0.3.6", 687 | "resolved": "https://registry.npmjs.org/clui/-/clui-0.3.6.tgz", 688 | "integrity": "sha512-Z4UbgZILlIAjkEkZiDOa2aoYjohKx7fa6DxIh6cE9A6WNWZ61iXfQc6CmdC9SKdS5nO0P0UyQ+WfoXfB65e3HQ==", 689 | "requires": { 690 | "cli-color": "0.3.2" 691 | } 692 | }, 693 | "css-select": { 694 | "version": "1.2.0", 695 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", 696 | "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", 697 | "requires": { 698 | "boolbase": "~1.0.0", 699 | "css-what": "2.1", 700 | "domutils": "1.5.1", 701 | "nth-check": "~1.0.1" 702 | } 703 | }, 704 | "css-what": { 705 | "version": "2.1.3", 706 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", 707 | "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" 708 | }, 709 | "d": { 710 | "version": "0.1.1", 711 | "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", 712 | "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=", 713 | "requires": { 714 | "es5-ext": "~0.10.2" 715 | } 716 | }, 717 | "decodeuricomponent": { 718 | "version": "0.3.1", 719 | "resolved": "https://registry.npmjs.org/decodeuricomponent/-/decodeuricomponent-0.3.1.tgz", 720 | "integrity": "sha512-8PuirnWM7fdE54vRKoVT60RQlkFXgKsi7ToV4pdVbj9jc9qGSFt4P10Oi3UK+FPHZi+lhqRdPyG2QqhSfIhtQQ==", 721 | "requires": { 722 | "iconv-lite": "^0.4.19" 723 | } 724 | }, 725 | "dom-serializer": { 726 | "version": "0.1.1", 727 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", 728 | "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", 729 | "requires": { 730 | "domelementtype": "^1.3.0", 731 | "entities": "^1.1.1" 732 | } 733 | }, 734 | "domelementtype": { 735 | "version": "1.3.1", 736 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", 737 | "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" 738 | }, 739 | "domhandler": { 740 | "version": "2.4.2", 741 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", 742 | "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", 743 | "requires": { 744 | "domelementtype": "1" 745 | } 746 | }, 747 | "domutils": { 748 | "version": "1.5.1", 749 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", 750 | "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", 751 | "requires": { 752 | "dom-serializer": "0", 753 | "domelementtype": "1" 754 | } 755 | }, 756 | "ent": { 757 | "version": "2.2.0", 758 | "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", 759 | "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" 760 | }, 761 | "entities": { 762 | "version": "1.1.2", 763 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", 764 | "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" 765 | }, 766 | "es5-ext": { 767 | "version": "0.10.53", 768 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", 769 | "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", 770 | "requires": { 771 | "es6-iterator": "~2.0.3", 772 | "es6-symbol": "~3.1.3", 773 | "next-tick": "~1.0.0" 774 | } 775 | }, 776 | "es6-iterator": { 777 | "version": "2.0.3", 778 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", 779 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", 780 | "requires": { 781 | "d": "1", 782 | "es5-ext": "^0.10.35", 783 | "es6-symbol": "^3.1.1" 784 | }, 785 | "dependencies": { 786 | "d": { 787 | "version": "1.0.1", 788 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", 789 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", 790 | "requires": { 791 | "es5-ext": "^0.10.50", 792 | "type": "^1.0.1" 793 | } 794 | }, 795 | "type": { 796 | "version": "1.2.0", 797 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", 798 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" 799 | } 800 | } 801 | }, 802 | "es6-symbol": { 803 | "version": "3.1.3", 804 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", 805 | "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", 806 | "requires": { 807 | "d": "^1.0.1", 808 | "ext": "^1.1.2" 809 | }, 810 | "dependencies": { 811 | "d": { 812 | "version": "1.0.1", 813 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", 814 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", 815 | "requires": { 816 | "es5-ext": "^0.10.50", 817 | "type": "^1.0.1" 818 | } 819 | }, 820 | "type": { 821 | "version": "1.2.0", 822 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", 823 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" 824 | } 825 | } 826 | }, 827 | "es6-weak-map": { 828 | "version": "0.1.4", 829 | "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.4.tgz", 830 | "integrity": "sha1-cGzvnpmqI2undmwjnIueKG6n0ig=", 831 | "requires": { 832 | "d": "~0.1.1", 833 | "es5-ext": "~0.10.6", 834 | "es6-iterator": "~0.1.3", 835 | "es6-symbol": "~2.0.1" 836 | }, 837 | "dependencies": { 838 | "es6-iterator": { 839 | "version": "0.1.3", 840 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.3.tgz", 841 | "integrity": "sha1-1vWLjE/EE8JJtLqhl2j45NfIlE4=", 842 | "requires": { 843 | "d": "~0.1.1", 844 | "es5-ext": "~0.10.5", 845 | "es6-symbol": "~2.0.1" 846 | } 847 | }, 848 | "es6-symbol": { 849 | "version": "2.0.1", 850 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-2.0.1.tgz", 851 | "integrity": "sha1-dhtcZ8/U8dGK+yNPaR1nhoLLO/M=", 852 | "requires": { 853 | "d": "~0.1.1", 854 | "es5-ext": "~0.10.5" 855 | } 856 | } 857 | } 858 | }, 859 | "event-emitter": { 860 | "version": "0.3.5", 861 | "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", 862 | "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", 863 | "requires": { 864 | "d": "1", 865 | "es5-ext": "~0.10.14" 866 | }, 867 | "dependencies": { 868 | "d": { 869 | "version": "1.0.1", 870 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", 871 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", 872 | "requires": { 873 | "es5-ext": "^0.10.50", 874 | "type": "^1.0.1" 875 | } 876 | }, 877 | "type": { 878 | "version": "1.2.0", 879 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", 880 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" 881 | } 882 | } 883 | }, 884 | "ext": { 885 | "version": "1.4.0", 886 | "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", 887 | "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", 888 | "requires": { 889 | "type": "^2.0.0" 890 | } 891 | }, 892 | "follow-redirects": { 893 | "version": "1.13.2", 894 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", 895 | "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==" 896 | }, 897 | "htmlparser2": { 898 | "version": "3.10.1", 899 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", 900 | "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", 901 | "requires": { 902 | "domelementtype": "^1.3.1", 903 | "domhandler": "^2.3.0", 904 | "domutils": "^1.5.1", 905 | "entities": "^1.1.1", 906 | "inherits": "^2.0.1", 907 | "readable-stream": "^3.1.1" 908 | } 909 | }, 910 | "iconv-lite": { 911 | "version": "0.4.24", 912 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 913 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 914 | "requires": { 915 | "safer-buffer": ">= 2.1.2 < 3" 916 | } 917 | }, 918 | "inherits": { 919 | "version": "2.0.4", 920 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 921 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 922 | }, 923 | "li": { 924 | "version": "1.3.0", 925 | "resolved": "https://registry.npmjs.org/li/-/li-1.3.0.tgz", 926 | "integrity": "sha1-IsWbyu+qmo7zWc91l4TkvxBq6hs=" 927 | }, 928 | "lodash.assignin": { 929 | "version": "4.2.0", 930 | "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", 931 | "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" 932 | }, 933 | "lodash.bind": { 934 | "version": "4.2.1", 935 | "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", 936 | "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" 937 | }, 938 | "lodash.defaults": { 939 | "version": "4.2.0", 940 | "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", 941 | "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" 942 | }, 943 | "lodash.filter": { 944 | "version": "4.6.0", 945 | "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", 946 | "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" 947 | }, 948 | "lodash.flatten": { 949 | "version": "4.4.0", 950 | "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", 951 | "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" 952 | }, 953 | "lodash.foreach": { 954 | "version": "4.5.0", 955 | "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", 956 | "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" 957 | }, 958 | "lodash.map": { 959 | "version": "4.6.0", 960 | "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", 961 | "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" 962 | }, 963 | "lodash.merge": { 964 | "version": "4.6.2", 965 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 966 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" 967 | }, 968 | "lodash.pick": { 969 | "version": "4.4.0", 970 | "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", 971 | "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" 972 | }, 973 | "lodash.reduce": { 974 | "version": "4.6.0", 975 | "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", 976 | "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" 977 | }, 978 | "lodash.reject": { 979 | "version": "4.6.0", 980 | "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", 981 | "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" 982 | }, 983 | "lodash.some": { 984 | "version": "4.6.0", 985 | "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", 986 | "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" 987 | }, 988 | "lru-queue": { 989 | "version": "0.1.0", 990 | "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", 991 | "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", 992 | "requires": { 993 | "es5-ext": "~0.10.2" 994 | } 995 | }, 996 | "memoizee": { 997 | "version": "0.3.10", 998 | "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.3.10.tgz", 999 | "integrity": "sha1-TsoNiu057J0Bf0xcLy9kMvQuXI8=", 1000 | "requires": { 1001 | "d": "~0.1.1", 1002 | "es5-ext": "~0.10.11", 1003 | "es6-weak-map": "~0.1.4", 1004 | "event-emitter": "~0.3.4", 1005 | "lru-queue": "0.1", 1006 | "next-tick": "~0.2.2", 1007 | "timers-ext": "0.1" 1008 | }, 1009 | "dependencies": { 1010 | "next-tick": { 1011 | "version": "0.2.2", 1012 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz", 1013 | "integrity": "sha1-ddpKkn7liH45BliABltzNkE7MQ0=" 1014 | } 1015 | } 1016 | }, 1017 | "microformat-node": { 1018 | "version": "2.0.1", 1019 | "resolved": "https://registry.npmjs.org/microformat-node/-/microformat-node-2.0.1.tgz", 1020 | "integrity": "sha1-CEnc+yn0+SUaTGUj2ahzz0W46UI=", 1021 | "requires": { 1022 | "bluebird": "3.4.x", 1023 | "cheerio": "0.22.x", 1024 | "ent": "^2.2.0", 1025 | "microformat-shiv": "^2.0.0" 1026 | } 1027 | }, 1028 | "microformat-shiv": { 1029 | "version": "2.0.3", 1030 | "resolved": "https://registry.npmjs.org/microformat-shiv/-/microformat-shiv-2.0.3.tgz", 1031 | "integrity": "sha1-A1DattosUX+PTO8asof+a+6uxyU=" 1032 | }, 1033 | "minimist": { 1034 | "version": "0.0.10", 1035 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", 1036 | "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" 1037 | }, 1038 | "ms": { 1039 | "version": "2.1.3", 1040 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1041 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 1042 | }, 1043 | "next-tick": { 1044 | "version": "1.0.0", 1045 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", 1046 | "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" 1047 | }, 1048 | "node-fetch": { 1049 | "version": "2.6.1", 1050 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", 1051 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" 1052 | }, 1053 | "nth-check": { 1054 | "version": "1.0.2", 1055 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", 1056 | "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", 1057 | "requires": { 1058 | "boolbase": "~1.0.0" 1059 | } 1060 | }, 1061 | "optimist": { 1062 | "version": "0.6.1", 1063 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", 1064 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", 1065 | "requires": { 1066 | "minimist": "~0.0.1", 1067 | "wordwrap": "~0.0.2" 1068 | } 1069 | }, 1070 | "prettier": { 1071 | "version": "2.2.1", 1072 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", 1073 | "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", 1074 | "dev": true 1075 | }, 1076 | "readable-stream": { 1077 | "version": "3.6.0", 1078 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 1079 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 1080 | "requires": { 1081 | "inherits": "^2.0.3", 1082 | "string_decoder": "^1.1.1", 1083 | "util-deprecate": "^1.0.1" 1084 | } 1085 | }, 1086 | "rss-parser": { 1087 | "version": "3.12.0", 1088 | "resolved": "https://registry.npmjs.org/rss-parser/-/rss-parser-3.12.0.tgz", 1089 | "integrity": "sha512-aqD3E8iavcCdkhVxNDIdg1nkBI17jgqF+9OqPS1orwNaOgySdpvq6B+DoONLhzjzwV8mWg37sb60e4bmLK117A==", 1090 | "requires": { 1091 | "entities": "^2.0.3", 1092 | "xml2js": "^0.4.19" 1093 | }, 1094 | "dependencies": { 1095 | "entities": { 1096 | "version": "2.2.0", 1097 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 1098 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" 1099 | } 1100 | } 1101 | }, 1102 | "safe-buffer": { 1103 | "version": "5.2.1", 1104 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1105 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 1106 | }, 1107 | "safer-buffer": { 1108 | "version": "2.1.2", 1109 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1110 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1111 | }, 1112 | "sax": { 1113 | "version": "1.2.4", 1114 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 1115 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" 1116 | }, 1117 | "string_decoder": { 1118 | "version": "1.3.0", 1119 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1120 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 1121 | "requires": { 1122 | "safe-buffer": "~5.2.0" 1123 | } 1124 | }, 1125 | "timers-ext": { 1126 | "version": "0.1.7", 1127 | "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", 1128 | "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", 1129 | "requires": { 1130 | "es5-ext": "~0.10.46", 1131 | "next-tick": "1" 1132 | } 1133 | }, 1134 | "type": { 1135 | "version": "2.3.0", 1136 | "resolved": "https://registry.npmjs.org/type/-/type-2.3.0.tgz", 1137 | "integrity": "sha512-rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg==" 1138 | }, 1139 | "util-deprecate": { 1140 | "version": "1.0.2", 1141 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1142 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 1143 | }, 1144 | "uuid": { 1145 | "version": "3.4.0", 1146 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 1147 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" 1148 | }, 1149 | "wordwrap": { 1150 | "version": "0.0.3", 1151 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", 1152 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" 1153 | }, 1154 | "xml2js": { 1155 | "version": "0.4.23", 1156 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", 1157 | "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", 1158 | "requires": { 1159 | "sax": ">=0.6.0", 1160 | "xmlbuilder": "~11.0.0" 1161 | } 1162 | }, 1163 | "xmlbuilder": { 1164 | "version": "11.0.1", 1165 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", 1166 | "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" 1167 | } 1168 | } 1169 | } 1170 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "netlify-plugin-webmentions", 3 | "version": "1.1.0", 4 | "description": "Automatically discover any webmentions and send them after every production build", 5 | "main": "index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git+https://github.com/CodeFoodPixels/netlify-plugin-webmentions.git" 9 | }, 10 | "author": "Luke Bonaccorsi", 11 | "license": "MIT", 12 | "keywords": [ 13 | "netlify", 14 | "netlify-plugin" 15 | ], 16 | "bugs": { 17 | "url": "https://github.com/CodeFoodPixels/netlify-plugin-webmentions/issues" 18 | }, 19 | "homepage": "https://github.com/CodeFoodPixels/netlify-plugin-webmentions#readme", 20 | "dependencies": { 21 | "@remy/webmention": "^1.4.5" 22 | }, 23 | "devDependencies": { 24 | "prettier": "^2.2.1" 25 | } 26 | } 27 | --------------------------------------------------------------------------------