kopia lustrzana https://github.com/badgen/badgen.net
Merge remote-tracking branch 'origin' into 2.0
commit
37fdfe25f8
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"presets": [
|
||||
"next/babel",
|
||||
"@zeit/next-typescript/babel"
|
||||
]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
open_collective: badgen
|
|
@ -16,7 +16,7 @@ module.exports = Object.entries(liveFns).map(([name, fn]) => {
|
|||
const style = req.headers.host === 'flat.badgen.net' ? 'flat' : undefined
|
||||
req.params = { subject, status, color, style }
|
||||
serveBadge(req, res, {
|
||||
code: 200, // always 200 for badges
|
||||
code: failed ? 500 : 200,
|
||||
sMaxAge: failed ? '0' : '360'
|
||||
})
|
||||
})
|
||||
|
|
|
@ -1944,9 +1944,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"@types/react": {
|
||||
"version": "16.8.17",
|
||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.17.tgz",
|
||||
"integrity": "sha512-pln3mgc6VfkNg92WXODul/ONo140huK9OMsx62GlBlZ2lvjNK86PQJhYMPLO1i66aF5O9OPyZefogvNltBIszA==",
|
||||
"version": "16.8.18",
|
||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.18.tgz",
|
||||
"integrity": "sha512-lUXdKzRqWR4FebR5tGHkLCqnvQJS4fdXKCBrNGGbglqZg2gpU+J82pMONevQODUotATs9fc9k66bx3/St8vReg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/prop-types": "*",
|
||||
|
@ -2994,9 +2994,9 @@
|
|||
"integrity": "sha512-CLaw1TOll1T4H0GPq521IuK+mQ5QvdOAqQy6kwCFrs6raWZ375ceby8WO4xINZcFB9M7eR7EgVEHLZhbyKp3Ow=="
|
||||
},
|
||||
"badgen-icons": {
|
||||
"version": "0.8.0",
|
||||
"resolved": "https://registry.npmjs.org/badgen-icons/-/badgen-icons-0.8.0.tgz",
|
||||
"integrity": "sha512-UhYIJt9Mh++9rj2Fk5V38WdqqKJ5gBPm7LpIy+df2F9T33YAAUSVVVNSGb/ZJfRv2MhV+DzgHoLCH0qV6oPdKg=="
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/badgen-icons/-/badgen-icons-0.9.0.tgz",
|
||||
"integrity": "sha512-7ZdSaxnhe90vQYb25onBTt+t+wbhwXDr4wM3x78GGvNouK3CE6Q+rx+sIVGWj5OJOce76T0h2gWpZIjKzFl2ew=="
|
||||
},
|
||||
"bail": {
|
||||
"version": "1.0.3",
|
||||
|
@ -5572,9 +5572,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"esm": {
|
||||
"version": "3.2.22",
|
||||
"resolved": "https://registry.npmjs.org/esm/-/esm-3.2.22.tgz",
|
||||
"integrity": "sha512-z8YG7U44L82j1XrdEJcqZOLUnjxco8pO453gKOlaMD1/md1n/5QrscAmYG+oKUspsmDLuBFZrpbxI6aQ67yRxA==",
|
||||
"version": "3.2.25",
|
||||
"resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
|
||||
"integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==",
|
||||
"dev": true
|
||||
},
|
||||
"espree": {
|
||||
|
@ -7392,9 +7392,9 @@
|
|||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
||||
},
|
||||
"ink": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ink/-/ink-2.1.1.tgz",
|
||||
"integrity": "sha512-vP1yE/uJoiY6uB9yHalczUA02I9fg7xDUbTEZitPK5y6dvnPo9a/6UWqIB2uCYkHOhEZMN+D/TsVr4v2sz8qYA==",
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/ink/-/ink-2.2.0.tgz",
|
||||
"integrity": "sha512-BQl7jpmLxPqFGjdQdgXQS0+mAyn1BHkEW1YXur3dahNNwLB6MWsfAZ1GWVdj+Mbpmj+u33KaFOosw3067t3d9g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/react": "^16.8.6",
|
||||
|
@ -7909,9 +7909,9 @@
|
|||
}
|
||||
},
|
||||
"@babel/parser": {
|
||||
"version": "7.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.4.tgz",
|
||||
"integrity": "sha512-5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w==",
|
||||
"version": "7.4.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz",
|
||||
"integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==",
|
||||
"dev": true
|
||||
},
|
||||
"@babel/template": {
|
||||
|
@ -7926,16 +7926,16 @@
|
|||
}
|
||||
},
|
||||
"@babel/traverse": {
|
||||
"version": "7.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.4.tgz",
|
||||
"integrity": "sha512-Gw6qqkw/e6AGzlyj9KnkabJX7VcubqPtkUQVAwkc0wUMldr3A/hezNB3Rc5eIvId95iSGkGIOe5hh1kMKf951A==",
|
||||
"version": "7.4.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz",
|
||||
"integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.0.0",
|
||||
"@babel/generator": "^7.4.4",
|
||||
"@babel/helper-function-name": "^7.1.0",
|
||||
"@babel/helper-split-export-declaration": "^7.4.4",
|
||||
"@babel/parser": "^7.4.4",
|
||||
"@babel/parser": "^7.4.5",
|
||||
"@babel/types": "^7.4.4",
|
||||
"debug": "^4.1.0",
|
||||
"globals": "^11.1.0",
|
||||
|
@ -8153,18 +8153,18 @@
|
|||
}
|
||||
},
|
||||
"istanbul-reports": {
|
||||
"version": "2.2.4",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.4.tgz",
|
||||
"integrity": "sha512-QCHGyZEK0bfi9GR215QSm+NJwFKEShbtc7tfbUdLAEzn3kKhLDDZqvljn8rPZM9v8CEOhzL1nlYoO4r1ryl67w==",
|
||||
"version": "2.2.6",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz",
|
||||
"integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"handlebars": "^4.1.2"
|
||||
}
|
||||
},
|
||||
"jackspeak": {
|
||||
"version": "1.3.7",
|
||||
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-1.3.7.tgz",
|
||||
"integrity": "sha512-Z4iSFpaCV7Cocpcl5t9/UyPkisxenbmaqminyTgK6lDDMXcm9EvIZ9Bwr/uFbGOjfWlz1UZwKwFY5AvtgNlHuw==",
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-1.4.0.tgz",
|
||||
"integrity": "sha512-VDcSunT+wcccoG46FtzuBAyQKlzhHjli4q31e1fIHGOsRspqNUFjVzGb+7eIFDlTvqLygxapDHPHS0ouT2o/tw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cliui": "^4.1.0"
|
||||
|
@ -8792,9 +8792,9 @@
|
|||
}
|
||||
},
|
||||
"millify": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/millify/-/millify-3.0.2.tgz",
|
||||
"integrity": "sha512-I9SQ+dE56pLSU61YLJMo860smpEnGyWx1afgA9EnpHZOMb7PnLoLASN9qQUZ+m4VVz4CvfHUxERq2H8atGQqow==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/millify/-/millify-3.1.0.tgz",
|
||||
"integrity": "sha512-YoXiOn1AsbXNa2U9bDbLOx/1rgS3JOwJcKZGYhkXRgZv0q+gofLZYDcITUtp3DsA28IlAwR+5sjW0XGCF8l7ZQ==",
|
||||
"requires": {
|
||||
"yargs": "^13.2.2"
|
||||
},
|
||||
|
@ -9685,16 +9685,6 @@
|
|||
"integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
|
||||
"dev": true
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "3.13.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
|
||||
"integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"lcid": {
|
||||
"version": "2.0.0",
|
||||
"resolved": false,
|
||||
|
@ -10332,9 +10322,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"picomatch": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.6.tgz",
|
||||
"integrity": "sha512-Btng9qVvFsW6FkXYQQK5nEI5i8xdXFDmlKxC7Q8S2Bu5HGWnbQf7ts2kOoxJIrZn5hmw61RZIayAg2zBuJDtyQ==",
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz",
|
||||
"integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==",
|
||||
"dev": true
|
||||
},
|
||||
"pify": {
|
||||
|
@ -11474,9 +11464,9 @@
|
|||
}
|
||||
},
|
||||
"semver": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz",
|
||||
"integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ=="
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.1.0.tgz",
|
||||
"integrity": "sha512-kCqEOOHoBcFs/2Ccuk4Xarm/KiWRSLEX9CAZF8xkJ6ZPlIoTZ8V5f7J16vYLJqDbR7KrxTJpR2lqjIEm2Qx9cQ=="
|
||||
},
|
||||
"semver-store": {
|
||||
"version": "0.3.0",
|
||||
|
@ -11538,9 +11528,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"serve-handler": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.0.0.tgz",
|
||||
"integrity": "sha512-2/e0+N1abV1HAN+YN8uCOPi1B0bIYaR6kRcSfzezRwszak5Yzr6QhT34XJk2Bw89rhXenqwLNJb4NnF2/krnGQ==",
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.0.1.tgz",
|
||||
"integrity": "sha512-k/im4Fbx96d8VcrJDjrsagNd9Vq18tVYRDDe90rpNO8Mr76KJF/zES5tBZdlLEbhBXjOs36m9Wl+hRCiDnYfmA==",
|
||||
"requires": {
|
||||
"bytes": "3.0.0",
|
||||
"content-disposition": "0.5.2",
|
||||
|
@ -11568,11 +11558,11 @@
|
|||
}
|
||||
},
|
||||
"serve-marked": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/serve-marked/-/serve-marked-1.0.0.tgz",
|
||||
"integrity": "sha512-EEqjDS6/exogluWSrQdicDAXMLf+5t8nCVYw87UQW4zEUV3oOad9XmEX5IBF2jweWiTTcAj/VQ+iFfLSmsxXvQ==",
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/serve-marked/-/serve-marked-1.1.0.tgz",
|
||||
"integrity": "sha512-37aaz3vr0GdcRMVIDO4V7VpLjpTpKKnZbIfT6SL3zRETx9pzJa+ER5l8lXagQ0MzPdmrLrxn3MX0m8YwXMQfug==",
|
||||
"requires": {
|
||||
"marked": "^0.6.1"
|
||||
"marked": "^0.6.2"
|
||||
}
|
||||
},
|
||||
"set-blocking": {
|
||||
|
@ -12303,9 +12293,9 @@
|
|||
}
|
||||
},
|
||||
"tap": {
|
||||
"version": "13.1.8",
|
||||
"resolved": "https://registry.npmjs.org/tap/-/tap-13.1.8.tgz",
|
||||
"integrity": "sha512-WimjKgEZPOxSufS6Vfo/ACQmfMdLGmrIi9ZL6Q1mZpHcbdnBP4DgdIJWM+PKrLS4sbrIN2trKKlNO0QkziE1EQ==",
|
||||
"version": "13.1.11",
|
||||
"resolved": "https://registry.npmjs.org/tap/-/tap-13.1.11.tgz",
|
||||
"integrity": "sha512-SgI0T/Na31XswviNA8tw0d71qOAZ1qjVMxpPO3XSW6372bVbz8pOR8ll2S4EnA+3yRfDSKN/rtj7gD+QjHJ2ow==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"async-hook-domain": "^1.1.0",
|
||||
|
@ -12317,7 +12307,7 @@
|
|||
"coveralls": "^3.0.3",
|
||||
"diff": "^4.0.1",
|
||||
"domain-browser": "^1.2.0",
|
||||
"esm": "^3.2.22",
|
||||
"esm": "^3.2.25",
|
||||
"findit": "^2.0.0",
|
||||
"foreground-child": "^1.3.3",
|
||||
"fs-exists-cached": "^1.0.0",
|
||||
|
@ -12409,9 +12399,9 @@
|
|||
}
|
||||
},
|
||||
"fsevents": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.6.tgz",
|
||||
"integrity": "sha512-vfmKZp3XPM36DNF0qhW+Cdxk7xm7gTEHY1clv1Xq1arwRQuKZgAhw+NZNWbJBtuaNxzNXwhfdPYRrvIbjfS33A==",
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz",
|
||||
"integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
|
@ -13014,24 +13004,16 @@
|
|||
"dev": true
|
||||
},
|
||||
"ts-node": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.1.0.tgz",
|
||||
"integrity": "sha512-34jpuOrxDuf+O6iW1JpgTRDFynUZ1iEqtYruBqh35gICNjN8x+LpVcPAcwzLPi9VU6mdA3ym+x233nZmZp445A==",
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.1.1.tgz",
|
||||
"integrity": "sha512-nd+mdxDP2BjQlyumBCMSU3IQLEjSla1X3uSzDfQ4M5OEZ3iDC01gjhs0FX29jyolATwLKB7YoRJ1Asbxd9EEoA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"arg": "^4.1.0",
|
||||
"diff": "^3.1.0",
|
||||
"diff": "^4.0.1",
|
||||
"make-error": "^1.1.1",
|
||||
"source-map-support": "^0.5.6",
|
||||
"yn": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"diff": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
|
||||
"integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"tslib": {
|
||||
|
@ -13089,9 +13071,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"uglify-js": {
|
||||
"version": "3.5.12",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.12.tgz",
|
||||
"integrity": "sha512-KeQesOpPiZNgVwJj8Ge3P4JYbQHUdZzpx6Fahy6eKAYRSV4zhVmLXoC+JtOeYxcHCHTve8RG1ZGdTvpeOUM26Q==",
|
||||
"version": "3.5.15",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.15.tgz",
|
||||
"integrity": "sha512-fe7aYFotptIddkwcm6YuA0HmknBZ52ZzOsUxZEdhhkSsz7RfjHDX2QDxwKTiv4JQ5t5NhfmpgAK+J7LiDhKSqg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
|
@ -13976,9 +13958,9 @@
|
|||
}
|
||||
},
|
||||
"write-file-atomic": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz",
|
||||
"integrity": "sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==",
|
||||
"version": "2.4.3",
|
||||
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
|
||||
"integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.11",
|
||||
|
@ -14025,18 +14007,18 @@
|
|||
"dev": true
|
||||
},
|
||||
"yaml": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.5.1.tgz",
|
||||
"integrity": "sha512-btfJvMOgVthGZSgHBMrDkLuQu4YxOycw6kwuC67cUEOKJmmNozjIa02eKvuSq7usqqqpwwCvflGTF6JcDvSudw==",
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.6.0.tgz",
|
||||
"integrity": "sha512-iZfse3lwrJRoSlfs/9KQ9iIXxs9++RvBFVzAqbbBiFT+giYtyanevreF9r61ZTbGMgWQBxAua3FzJiniiJXWWw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.4.4"
|
||||
"@babel/runtime": "^7.4.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": {
|
||||
"version": "7.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.4.tgz",
|
||||
"integrity": "sha512-w0+uT71b6Yi7i5SE0co4NioIpSYS6lLiXvCzWzGSKvpK5vdQtCbICHMj+gbAKAOtxiV6HsVh/MBdaF9EQ6faSg==",
|
||||
"version": "7.4.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz",
|
||||
"integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"regenerator-runtime": "^0.13.2"
|
||||
|
|
12
package.json
12
package.json
|
@ -23,7 +23,7 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"badgen": "^2.7.1",
|
||||
"badgen-icons": "^0.8.0",
|
||||
"badgen-icons": "^0.9.0",
|
||||
"byte-size": "^5.0.1",
|
||||
"cheerio": "^1.0.0-rc.3",
|
||||
"chrome-webstore": "^1.2.1",
|
||||
|
@ -32,12 +32,12 @@
|
|||
"lodash.debounce": "^4.0.8",
|
||||
"micro": "^9.3.4",
|
||||
"micro-fork": "^2.0.0",
|
||||
"millify": "^3.0.2",
|
||||
"millify": "^3.1.0",
|
||||
"raven": "^2.6.4",
|
||||
"react-debounce-render": "^5.0.0",
|
||||
"semver": "^6.0.0",
|
||||
"serve-handler": "^6.0.0",
|
||||
"serve-marked": "^1.0.0"
|
||||
"semver": "^6.1.0",
|
||||
"serve-handler": "^6.0.1",
|
||||
"serve-marked": "^1.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@mdx-js/mdx": "^1.0.19",
|
||||
|
@ -50,7 +50,7 @@
|
|||
"react-dom": "^16.8.6",
|
||||
"standard": "^12.0.1",
|
||||
"supertest": "^4.0.2",
|
||||
"tap": "^13.1.8",
|
||||
"tap": "^13.1.11",
|
||||
"ts-node": "^8.1.0",
|
||||
"typescript": "^3.4.5"
|
||||
}
|
||||
|
|
|
@ -1,28 +1,81 @@
|
|||
import path from 'path'
|
||||
import dynamic from 'next/dynamic'
|
||||
import { useState } from 'react'
|
||||
import liveBadges from '../libs/examples-live.js'
|
||||
import staticBadges from '../libs/examples-static.js'
|
||||
import BadgeExamples from '../components/badge-examples.js'
|
||||
import Header from '../components/home-header.js'
|
||||
import Intro from '../components/home-intro.js'
|
||||
import Footer from '../components/footer.js'
|
||||
|
||||
export default ({ children }) => <>
|
||||
<Header />
|
||||
<div className='docs'>
|
||||
<Intro />
|
||||
<h3 style={{ textAlign: 'center' }}>Examples</h3>
|
||||
<p>
|
||||
live badges / <a href='/gallery/static'>static badges</a>
|
||||
</p>
|
||||
<BadgeExamples data={liveBadges} />
|
||||
</div>
|
||||
<Footer />
|
||||
<style jsx>{`
|
||||
.docs {
|
||||
width: 960px;
|
||||
margin: 0 auto;
|
||||
padding-bottom: 6em;
|
||||
}
|
||||
p {
|
||||
text-align: center
|
||||
}
|
||||
`}</style>
|
||||
</>
|
||||
const Index = ({ badgeExamples }) => {
|
||||
const [ tab, setTab ] = useState('live')
|
||||
const badges = badgeExamples[tab]
|
||||
|
||||
return <>
|
||||
<Header />
|
||||
<div className='docs'>
|
||||
<Intro />
|
||||
<h2 style={{ textAlign: 'center' }}>Badge Gallery</h2>
|
||||
|
||||
<div className='tab-row'>
|
||||
<div className={`tab ${tab}`}>
|
||||
<a onClick={() => setTab('live')} className='live'>Live Badges</a>
|
||||
<a onClick={() => setTab('static')} className='static'>Static Badges</a>
|
||||
</div>
|
||||
</div>
|
||||
<BadgeExamples data={badges} />
|
||||
</div>
|
||||
<Footer />
|
||||
<style jsx>{`
|
||||
.docs {
|
||||
width: 960px;
|
||||
margin: 0 auto;
|
||||
padding-bottom: 6em;
|
||||
}
|
||||
p {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.tab-row {
|
||||
text-align: center;
|
||||
}
|
||||
.tab {
|
||||
display: inline-block;
|
||||
border: 1px solid #333;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
.tab a {
|
||||
display: inline-block;
|
||||
padding: 0 8px;
|
||||
color: #333;
|
||||
font: 14px/26px sans-serif;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.tab a:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
.live a.live,
|
||||
.static a.static {
|
||||
color: #EEE;
|
||||
background-color: #333;
|
||||
}
|
||||
`}</style>
|
||||
</>
|
||||
}
|
||||
|
||||
Index.getInitialProps = async ({ req }) => {
|
||||
const a = await import(path.resolve(__dirname, `../../dist/endpoints/amo`))
|
||||
const liveExamples = Object.entries(liveBadgeList).map(([name, title]) => {
|
||||
console.log(name, title)
|
||||
// console.log(await import(path.resolve(__dirname, '../endpoints', name)))
|
||||
})
|
||||
const badgeExamples = {
|
||||
live: liveBadges,
|
||||
static: staticBadges
|
||||
}
|
||||
|
||||
return { badgeExamples }
|
||||
}
|
||||
|
||||
export default Index
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
import path from 'path'
|
||||
import fse from 'fs-extra'
|
||||
|
||||
const rel = (...args) => path.resolve(__dirname, ...args)
|
||||
|
||||
async function main () {
|
||||
const staticExamples = (await import(rel('../endpoints/badge'))).examples
|
||||
|
||||
// sort badges manually
|
||||
const liveBadgeList = {
|
||||
github: 'github',
|
||||
// npm: 'npm',
|
||||
// david: 'david-dm',
|
||||
// packagephobia: 'packagephobia',
|
||||
// bundlephobia: 'bundlephobia',
|
||||
// xo: 'xo',
|
||||
// crates: 'crates',
|
||||
// docker: 'docker',
|
||||
homebrew: 'homebrew'
|
||||
}
|
||||
|
||||
// @ts-ignore
|
||||
const liveExamples = await Promise.all(Object.entries(liveBadgeList).map(async ([name, title]) => {
|
||||
const { examples, handlers } = await import(rel('../endpoints', name))
|
||||
return {
|
||||
title,
|
||||
examples,
|
||||
handlers: Object.keys(handlers)
|
||||
}
|
||||
}))
|
||||
|
||||
|
||||
const examples = {
|
||||
live: liveExamples,
|
||||
static: staticExamples
|
||||
}
|
||||
|
||||
await fse.outputJson(rel('../static/.gen/examples.json'), examples)
|
||||
|
||||
console.log(examples)
|
||||
}
|
||||
|
||||
main()
|
||||
|
||||
process.on('unhandledRejection', console.error)
|
|
@ -2,14 +2,18 @@
|
|||
"compilerOptions": {
|
||||
"strict": true,
|
||||
"noImplicitAny": false,
|
||||
"target": "esnext",
|
||||
"allowJs": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"skipLibCheck": true,
|
||||
"jsx": "preserve",
|
||||
"target": "es2017",
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"esModuleInterop": true,
|
||||
"sourceMap": true,
|
||||
"outDir": "dist",
|
||||
"baseUrl": ".",
|
||||
"lib": ["esnext"]
|
||||
"lib": ["dom", "esnext"]
|
||||
},
|
||||
"include": [
|
||||
"index.ts",
|
||||
|
|
Ładowanie…
Reference in New Issue