Skip to content

Commit 7700a5f

Browse files
committed
chore - Allow a fixed amount of link checks to fail
Now the output is tidier as well.
1 parent c500a90 commit 7700a5f

File tree

5 files changed

+68
-12
lines changed

5 files changed

+68
-12
lines changed

components/organization/projects.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@
256256
"repo": "webpack/i18n-webpack-plugin",
257257
"npm": "i18n-webpack-plugin",
258258
"description": "Embed localization into your bundle.",
259-
"maintainer": "EcutDavid"
259+
"maintainer": ""
260260
},
261261
{
262262
"repo": "webpack/json5-loader",

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"fetch": "scripts/fetch.sh",
3232
"init:generated": "mkdirp ./generated/loaders && mkdirp ./generated/plugins ",
3333
"lint": "run-s lint:*",
34-
"lint:links": "hyperlink -r --exclude https://opencollective.com/webpack/*/*/website build/index.html",
34+
"lint:links": "hyperlink -r --exclude https://opencollective.com/webpack/*/*/website build/index.html | ./scripts/check-links.js --skip 10",
3535
"lint:js": "eslint . --ext .js --ext .jsx",
3636
"lint:md": "eslint . --ext .md",
3737
"lint:markdown": "markdownlint --config ./.markdownlintrc **/*.md *.md ./content/**/*.md",
@@ -56,6 +56,7 @@
5656
"babel-preset-react": "^6.11.1",
5757
"copy-webpack-plugin": "^4.0.1",
5858
"css-loader": "^0.25.0",
59+
"duplexer": "^0.1.1",
5960
"eslint": "3.6.0",
6061
"eslint-loader": "^1.5.0",
6162
"eslint-plugin-markdown": "^1.0.0-beta.2",
@@ -88,6 +89,8 @@
8889
"sitemap-static": "^0.3.1",
8990
"style-loader": "^0.13.1",
9091
"tap-min": "^1.1.0",
92+
"tap-parser": "^5.3.3",
93+
"through2": "^2.0.3",
9194
"url-loader": "^0.5.7",
9295
"webpack": "^1.13.2",
9396
"webpack-dev-server": "^1.16.1",

scripts/check-links.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/usr/bin/env node
2+
// Check piped links while allowing a fixed amount to fail
3+
// Adapted from tap-json.
4+
var parser = require('tap-parser');
5+
var through = require('through2');
6+
var duplexer = require('duplexer');
7+
var minimist = require('minimist');
8+
9+
process.stdin
10+
.pipe(checkLinks())
11+
.pipe(process.stdout);
12+
13+
function checkLinks(args) {
14+
var argv = minimist(process.argv.slice(2));
15+
var skip = argv.skip || 0;
16+
17+
var tap = parser();
18+
var out = through.obj();
19+
var dup = duplexer(tap, out);
20+
21+
var data = [];
22+
var name = null;
23+
24+
tap.on('complete', function(res) {
25+
const failures = res.failures;
26+
27+
if (failures.length > 0) {
28+
console.log(formatFailures(failures));
29+
}
30+
31+
// Fail hard only if over skip threshold
32+
if (failures.length > skip) {
33+
process.exit(1);
34+
}
35+
});
36+
37+
return dup;
38+
}
39+
40+
function formatFailures(failures) {
41+
return failures.map(function(failure) {
42+
return failure.name + '\n' + failure.diag.actual + ' at ' + failure.diag.at;
43+
}).join('\n\n');
44+
}

scripts/fetch.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ cp -rf ./content/loaders/ ./generated/loaders
77
mkdir -p ./generated/plugins
88
cp -rf ./content/plugins/ ./generated/plugins
99

10-
# Fetches github.com/webpack/*-loader repositories
11-
./scripts/fetch_package_names.js "webpack" "-loader" | ./scripts/fetch_package_files.js "README.md" "./generated/loaders"
10+
# Fetches github.com/webpack/*-loader repositories.
11+
# Skipped because they are below contrib now.
12+
# ./scripts/fetch_package_names.js "webpack" "-loader" | ./scripts/fetch_package_files.js "README.md" "./generated/loaders"
1213

13-
# Fetches github.com/webpack/*-webpack-plugin repositories
14-
./scripts/fetch_package_names.js "webpack" "-webpack-plugin" | ./scripts/fetch_package_files.js "README.md" "./generated/plugins"
14+
# Fetches github.com/webpack/*-webpack-plugin repositories.
15+
# Skipped because they are below contrib now.
16+
# ./scripts/fetch_package_names.js "webpack" "-webpack-plugin" | ./scripts/fetch_package_files.js "README.md" "./generated/plugins"
1517

1618
# Fetches github.com/webpack-contrib/*-loader repositories
1719
./scripts/fetch_package_names.js "webpack-contrib" "-loader" | ./scripts/fetch_package_files.js "README.md" "./generated/loaders"

yarn.lock

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2024,7 +2024,7 @@ duplexer3@^0.1.4:
20242024
version "0.1.4"
20252025
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
20262026

2027-
duplexer@~0.1.1:
2027+
duplexer@^0.1.1, duplexer@~0.1.1:
20282028
version "0.1.1"
20292029
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
20302030

@@ -5304,7 +5304,7 @@ [email protected], readable-stream@^1.0.33:
53045304
isarray "0.0.1"
53055305
string_decoder "~0.10.x"
53065306

5307-
readable-stream@^2, readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.0, readable-stream@^2.2.2:
5307+
readable-stream@^2, readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.0, readable-stream@^2.1.5, readable-stream@^2.2.2:
53085308
version "2.2.3"
53095309
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.3.tgz#9cf49463985df016c8ae8813097a9293a9b33729"
53105310
dependencies:
@@ -6130,7 +6130,7 @@ tap-min@^1.1.0:
61306130
readable-stream "^2.2.2"
61316131
tap-parser "^5.3.2"
61326132

6133-
tap-parser@^5.3.2:
6133+
tap-parser@^5.3.2, tap-parser@^5.3.3:
61346134
version "5.3.3"
61356135
resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-5.3.3.tgz#53ec8a90f275d6fff43f169e56a679502a741185"
61366136
dependencies:
@@ -6139,9 +6139,9 @@ tap-parser@^5.3.2:
61396139
optionalDependencies:
61406140
readable-stream "^2"
61416141

6142-
"tap-render@github:munter/tap-render#0.1.7-patch1":
6142+
tap-render@Munter/tap-render#0.1.7-patch1:
61436143
version "0.1.7"
6144-
resolved "https://codeload.github.com/munter/tap-render/tar.gz/35bf3ac21c4fd2776d8569d5e8a1ab62df1f6d4f"
6144+
resolved "https://codeload.github.com/Munter/tap-render/tar.gz/35bf3ac21c4fd2776d8569d5e8a1ab62df1f6d4f"
61456145
dependencies:
61466146
jsonify "0.0.0"
61476147
pause-stream "0.0.7"
@@ -6205,6 +6205,13 @@ text-table@^0.2.0, text-table@~0.2.0:
62056205
version "0.2.0"
62066206
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
62076207

6208+
through2@^2.0.3:
6209+
version "2.0.3"
6210+
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
6211+
dependencies:
6212+
readable-stream "^2.1.5"
6213+
xtend "~4.0.1"
6214+
62086215
through@2, through@^2.3.6, through@~2.3, through@~2.3.1:
62096216
version "2.3.8"
62106217
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
@@ -6873,7 +6880,7 @@ xmlhttprequest@1:
68736880
version "1.8.0"
68746881
resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc"
68756882

6876-
[email protected], "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0:
6883+
[email protected], "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1:
68776884
version "4.0.1"
68786885
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
68796886

0 commit comments

Comments
 (0)