From 29bac63c4a78898f567a36236ec03e7ef48fd83c Mon Sep 17 00:00:00 2001 From: freearhey Date: Sat, 10 Jun 2023 01:20:35 +0300 Subject: [PATCH 1/6] Install @octokit/core and @octokit/plugin-paginate-rest --- package-lock.json | 314 ++++++++++++++++++++++++++++++++++++++++++++++ yarn.lock | 129 ++++++++++++++++++- 2 files changed, 442 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index c263915f9..bf9026277 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,8 @@ "license": "MIT", "dependencies": { "@alex_neo/jest-expect-message": "^1.0.5", + "@octokit/core": "^4.2.1", + "@octokit/plugin-paginate-rest": "^7.0.0", "chalk": "^4.1.2", "commander": "^8.3.0", "dayjs": "^1.10.7", @@ -824,6 +826,119 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@octokit/auth-token": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", + "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/core": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.1.tgz", + "integrity": "sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==", + "dependencies": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/endpoint": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", + "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", + "dependencies": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/graphql": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", + "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", + "dependencies": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", + "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-7.0.0.tgz", + "integrity": "sha512-NNm6DlYBEyKs9OZvy2Ax9YKn7e0/G7js+/I80icBTHUf6kB/nfaZkdXOF1Z32OaB+LDH6GIYpdYC3Bm3vwX5Ow==", + "dependencies": { + "@octokit/tsconfig": "^1.0.2", + "@octokit/types": "^9.2.3" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=4" + } + }, + "node_modules/@octokit/request": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.5.tgz", + "integrity": "sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ==", + "dependencies": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/tsconfig": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz", + "integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==" + }, + "node_modules/@octokit/types": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.0.tgz", + "integrity": "sha512-ZNO1In0QuWZLDngSLcn5H4ExRhYOd1rDcWnwc/LuR55cO1d6Sex6+T6RiSQwp/tyEg7eNWx+MUdJGL7Fu1kMjw==", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, "node_modules/@seald-io/binary-search-tree": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@seald-io/binary-search-tree/-/binary-search-tree-1.0.2.tgz", @@ -1202,6 +1317,11 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1527,6 +1647,11 @@ "node": ">=0.4.0" } }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -2264,6 +2389,14 @@ "node": ">=0.12.0" } }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -3329,6 +3462,44 @@ "@seald-io/nedb": "^2.2.0" } }, + "node_modules/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -4233,6 +4404,11 @@ "is-typedarray": "^1.0.0" } }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -5061,6 +5237,95 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "@octokit/auth-token": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", + "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==" + }, + "@octokit/core": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.1.tgz", + "integrity": "sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==", + "requires": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/endpoint": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", + "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", + "requires": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/graphql": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", + "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", + "requires": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/openapi-types": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", + "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==" + }, + "@octokit/plugin-paginate-rest": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-7.0.0.tgz", + "integrity": "sha512-NNm6DlYBEyKs9OZvy2Ax9YKn7e0/G7js+/I80icBTHUf6kB/nfaZkdXOF1Z32OaB+LDH6GIYpdYC3Bm3vwX5Ow==", + "requires": { + "@octokit/tsconfig": "^1.0.2", + "@octokit/types": "^9.2.3" + } + }, + "@octokit/request": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.5.tgz", + "integrity": "sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ==", + "requires": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "requires": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/tsconfig": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz", + "integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==" + }, + "@octokit/types": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.0.tgz", + "integrity": "sha512-ZNO1In0QuWZLDngSLcn5H4ExRhYOd1rDcWnwc/LuR55cO1d6Sex6+T6RiSQwp/tyEg7eNWx+MUdJGL7Fu1kMjw==", + "requires": { + "@octokit/openapi-types": "^18.0.0" + } + }, "@seald-io/binary-search-tree": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@seald-io/binary-search-tree/-/binary-search-tree-1.0.2.tgz", @@ -5375,6 +5640,11 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -5618,6 +5888,11 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -6151,6 +6426,11 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, "is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -6969,6 +7249,35 @@ "@seald-io/nedb": "^2.2.0" } }, + "node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -7617,6 +7926,11 @@ "is-typedarray": "^1.0.0" } }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", diff --git a/yarn.lock b/yarn.lock index 164b7f870..b576adadd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -501,6 +501,88 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@octokit/auth-token@^3.0.0": + "integrity" "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==" + "resolved" "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz" + "version" "3.0.4" + +"@octokit/core@^4.2.1", "@octokit/core@>=4": + "integrity" "sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==" + "resolved" "https://registry.npmjs.org/@octokit/core/-/core-4.2.1.tgz" + "version" "4.2.1" + dependencies: + "@octokit/auth-token" "^3.0.0" + "@octokit/graphql" "^5.0.0" + "@octokit/request" "^6.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^9.0.0" + "before-after-hook" "^2.2.0" + "universal-user-agent" "^6.0.0" + +"@octokit/endpoint@^7.0.0": + "integrity" "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==" + "resolved" "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz" + "version" "7.0.6" + dependencies: + "@octokit/types" "^9.0.0" + "is-plain-object" "^5.0.0" + "universal-user-agent" "^6.0.0" + +"@octokit/graphql@^5.0.0": + "integrity" "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==" + "resolved" "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz" + "version" "5.0.6" + dependencies: + "@octokit/request" "^6.0.0" + "@octokit/types" "^9.0.0" + "universal-user-agent" "^6.0.0" + +"@octokit/openapi-types@^18.0.0": + "integrity" "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==" + "resolved" "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz" + "version" "18.0.0" + +"@octokit/plugin-paginate-rest@^7.0.0": + "integrity" "sha512-NNm6DlYBEyKs9OZvy2Ax9YKn7e0/G7js+/I80icBTHUf6kB/nfaZkdXOF1Z32OaB+LDH6GIYpdYC3Bm3vwX5Ow==" + "resolved" "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-7.0.0.tgz" + "version" "7.0.0" + dependencies: + "@octokit/tsconfig" "^1.0.2" + "@octokit/types" "^9.2.3" + +"@octokit/request-error@^3.0.0": + "integrity" "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==" + "resolved" "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "@octokit/types" "^9.0.0" + "deprecation" "^2.0.0" + "once" "^1.4.0" + +"@octokit/request@^6.0.0": + "integrity" "sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ==" + "resolved" "https://registry.npmjs.org/@octokit/request/-/request-6.2.5.tgz" + "version" "6.2.5" + dependencies: + "@octokit/endpoint" "^7.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^9.0.0" + "is-plain-object" "^5.0.0" + "node-fetch" "^2.6.7" + "universal-user-agent" "^6.0.0" + +"@octokit/tsconfig@^1.0.2": + "integrity" "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==" + "resolved" "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz" + "version" "1.0.2" + +"@octokit/types@^9.0.0", "@octokit/types@^9.2.3": + "integrity" "sha512-ZNO1In0QuWZLDngSLcn5H4ExRhYOd1rDcWnwc/LuR55cO1d6Sex6+T6RiSQwp/tyEg7eNWx+MUdJGL7Fu1kMjw==" + "resolved" "https://registry.npmjs.org/@octokit/types/-/types-9.3.0.tgz" + "version" "9.3.0" + dependencies: + "@octokit/openapi-types" "^18.0.0" + "@seald-io/binary-search-tree@^1.0.2": "integrity" "sha512-+pYGvPFAk7wUR+ONMOlc6A+LUN4kOCFwyPLjyaeS7wVibADPHWYJNYsNtyIAwjF1AXQkuaXElnIc4XjKt55QZA==" "resolved" "https://registry.npmjs.org/@seald-io/binary-search-tree/-/binary-search-tree-1.0.2.tgz" @@ -806,6 +888,11 @@ "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" "version" "1.0.2" +"before-after-hook@^2.2.0": + "integrity" "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + "resolved" "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz" + "version" "2.2.3" + "brace-expansion@^1.1.7": "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" @@ -1084,6 +1171,11 @@ "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" "version" "1.0.0" +"deprecation@^2.0.0": + "integrity" "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + "resolved" "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" + "version" "2.3.1" + "detect-newline@^3.0.0": "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" @@ -1553,6 +1645,11 @@ "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" "version" "7.0.0" +"is-plain-object@^5.0.0": + "integrity" "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" + "version" "5.0.0" + "is-potential-custom-element-name@^1.0.1": "integrity" "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" "resolved" "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" @@ -2282,6 +2379,13 @@ dependencies: "@seald-io/nedb" "^2.2.0" +"node-fetch@^2.6.7": + "integrity" "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==" + "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz" + "version" "2.6.11" + dependencies: + "whatwg-url" "^5.0.0" + "node-int64@^0.4.0": "integrity" "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" @@ -2319,7 +2423,7 @@ "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" "version" "4.1.1" -"once@^1.3.0": +"once@^1.3.0", "once@^1.4.0": "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" "version" "1.4.0" @@ -2813,6 +2917,11 @@ dependencies: "punycode" "^2.1.1" +"tr46@~0.0.3": + "integrity" "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + "version" "0.0.3" + "transliteration@^2.2.0": "integrity" "sha512-o29GDWtecNoK4TNfnJQesGluFPiza+U8NoiKrErU8eTNlVgma6w1LV/tTiGo+waFLkhtL9WxrW0lXhZKmm7msQ==" "resolved" "https://registry.npmjs.org/transliteration/-/transliteration-2.2.0.tgz" @@ -2851,6 +2960,11 @@ dependencies: "is-typedarray" "^1.0.0" +"universal-user-agent@^6.0.0": + "integrity" "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + "resolved" "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" + "version" "6.0.0" + "universalify@^0.1.0", "universalify@^0.1.2": "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" @@ -2901,6 +3015,11 @@ dependencies: "makeerror" "1.0.12" +"webidl-conversions@^3.0.0": + "integrity" "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + "version" "3.0.1" + "webidl-conversions@^5.0.0": "integrity" "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" @@ -2923,6 +3042,14 @@ "resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" "version" "2.3.0" +"whatwg-url@^5.0.0": + "integrity" "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "tr46" "~0.0.3" + "webidl-conversions" "^3.0.0" + "whatwg-url@^8.0.0", "whatwg-url@^8.5.0": "integrity" "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==" "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" From ff5a47c39dbed98443ece55803545e9cb725f802 Mon Sep 17 00:00:00 2001 From: freearhey Date: Sat, 10 Jun 2023 01:20:40 +0300 Subject: [PATCH 2/6] Update package.json --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index 4a2b4c03c..fbd36ac35 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "api:generate": "node scripts/commands/api/generate.js", "api:deploy": "npx gh-pages-clean && npx gh-pages -a -m \"Deploy to iptv-org/api\" -d .api -r https://$GITHUB_TOKEN@github.com/iptv-org/api.git -x", "db:create": "node scripts/commands/database/create.js", + "issue:check": "node scripts/commands/issue/check.js", "playlist:format": "node scripts/commands/playlist/format.js", "playlist:generate": "node scripts/commands/playlist/generate.js", "playlist:validate": "node scripts/commands/playlist/validate.js", @@ -28,6 +29,8 @@ "license": "MIT", "dependencies": { "@alex_neo/jest-expect-message": "^1.0.5", + "@octokit/core": "^4.2.1", + "@octokit/plugin-paginate-rest": "^7.0.0", "chalk": "^4.1.2", "commander": "^8.3.0", "dayjs": "^1.10.7", From ca258358ab22510fe8443d8e129d6962a49c73c7 Mon Sep 17 00:00:00 2001 From: freearhey Date: Sat, 10 Jun 2023 01:20:44 +0300 Subject: [PATCH 3/6] Update load.sh --- scripts/commands/api/load.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/commands/api/load.sh b/scripts/commands/api/load.sh index 37fd89619..b74aeca6c 100755 --- a/scripts/commands/api/load.sh +++ b/scripts/commands/api/load.sh @@ -4,6 +4,7 @@ mkdir -p scripts/tmp/data curl -L -o scripts/tmp/data/blocklist.json https://iptv-org.github.io/api/blocklist.json curl -L -o scripts/tmp/data/categories.json https://iptv-org.github.io/api/categories.json curl -L -o scripts/tmp/data/channels.json https://iptv-org.github.io/api/channels.json +curl -L -o scripts/tmp/data/streams.json https://iptv-org.github.io/api/streams.json curl -L -o scripts/tmp/data/countries.json https://iptv-org.github.io/api/countries.json curl -L -o scripts/tmp/data/languages.json https://iptv-org.github.io/api/languages.json curl -L -o scripts/tmp/data/regions.json https://iptv-org.github.io/api/regions.json From 39458e963adc347cc579db9deea83fe542d18a18 Mon Sep 17 00:00:00 2001 From: freearhey Date: Sat, 10 Jun 2023 01:28:09 +0300 Subject: [PATCH 4/6] Create check.js --- scripts/commands/issue/check.js | 103 ++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 scripts/commands/issue/check.js diff --git a/scripts/commands/issue/check.js b/scripts/commands/issue/check.js new file mode 100644 index 000000000..8c94405c1 --- /dev/null +++ b/scripts/commands/issue/check.js @@ -0,0 +1,103 @@ +const { api } = require('../../core') +const { Octokit } = require('@octokit/core') +const { paginateRest } = require('@octokit/plugin-paginate-rest') +const CustomOctokit = Octokit.plugin(paginateRest) +const _ = require('lodash') + +const octokit = new CustomOctokit({ + auth: process.env.GITHUB_TOKEN +}) + +const DATA_DIR = process.env.DATA_DIR || './tmp/data' +const OWNER = 'iptv-org' +const REPO = 'iptv' + +async function main() { + try { + await api.channels.load() + let channels = await api.channels.all() + channels = _.keyBy(channels, 'id') + + await api.streams.load() + let streams = await api.streams.all() + streams = _.keyBy(streams, 'channel') + + const channelRequests = await loadChannelRequests() + const buffer = {} + const report = channelRequests.map(r => { + let result = { + issueNumber: r.issue.number, + channelId: r.channel.id || undefined, + status: undefined + } + + if (!r.channel || !r.channel.id) result.status = 'error' + else if (!channels[r.channel.id]) result.status = 'invalid_id' + else if (streams[r.channel.id]) result.status = 'fullfilled' + else if (buffer[r.channel.id] && !r.channel.url) result.status = 'duplicate' + else result.status = 'pending' + + buffer[r.channel.id] = true + + return result + }) + console.table(report) + } catch (err) { + console.log(err.message) + } +} + +main() + +async function loadChannelRequests() { + const issues = await fetchIssues('channel request') + + return issues.map(parseIssue) +} + +async function fetchIssues(labels) { + const issues = await octokit.paginate('GET /repos/{owner}/{repo}/issues', { + owner: OWNER, + repo: REPO, + per_page: 100, + labels, + direction: 'asc', + headers: { + 'X-GitHub-Api-Version': '2022-11-28' + } + }) + + return issues +} + +function parseIssue(issue) { + const buffer = {} + const channel = {} + const fields = { + 'Channel ID (required)': 'id', + 'Channel ID': 'id', + 'Stream URL (optional)': 'url', + 'Stream URL': 'url', + 'Notes (optional)': 'notes', + Notes: 'notes' + } + + const matches = issue.body.match(/### ([^\r\n]+)\s+([^\r\n]+)/g) + + if (!matches) return { issue, channel: null } + + matches.forEach(item => { + const [, fieldLabel, value] = item.match(/### ([^\r\n]+)\s+([^\r\n]+)/) + const field = fields[fieldLabel] + + if (!field) return + + buffer[field] = value === '_No response_' ? undefined : value.trim() + }) + + for (let field in buffer) { + channel[field] = buffer[field] + } + + return { issue, channel } +} From 855f822587757bf46f228534f785b70bf8692cb1 Mon Sep 17 00:00:00 2001 From: freearhey Date: Sat, 10 Jun 2023 01:37:09 +0300 Subject: [PATCH 5/6] Rename to report:create --- package.json | 3 ++- scripts/commands/{issue/check.js => report/create.js} | 0 2 files changed, 2 insertions(+), 1 deletion(-) rename scripts/commands/{issue/check.js => report/create.js} (100%) diff --git a/package.json b/package.json index fbd36ac35..8326ba89c 100644 --- a/package.json +++ b/package.json @@ -5,17 +5,18 @@ "api:generate": "node scripts/commands/api/generate.js", "api:deploy": "npx gh-pages-clean && npx gh-pages -a -m \"Deploy to iptv-org/api\" -d .api -r https://$GITHUB_TOKEN@github.com/iptv-org/api.git -x", "db:create": "node scripts/commands/database/create.js", - "issue:check": "node scripts/commands/issue/check.js", "playlist:format": "node scripts/commands/playlist/format.js", "playlist:generate": "node scripts/commands/playlist/generate.js", "playlist:validate": "node scripts/commands/playlist/validate.js", "playlist:lint": "npx m3u-linter -c m3u-linter.json", "playlist:deploy": "npx gh-pages-clean && npx gh-pages -m \"Deploy to GitHub Pages\" -d .gh-pages -r https://$GITHUB_TOKEN@github.com/iptv-org/iptv.git -x", "readme:update": "node scripts/commands/readme/update.js", + "report:create": "node scripts/commands/report/create.js", "format": "npm run db:create && npm run playlist:format", "check": "npm run api:load && npm run playlist:lint && npm run playlist:validate", "update": "npm run api:load && npm run db:create && npm run playlist:generate && npm run api:generate && npm run readme:update", "deploy": "npm run playlist:deploy && npm run api:deploy", + "report": "npm run api:load && npm run report:create", "test": "jest --runInBand" }, "jest": { diff --git a/scripts/commands/issue/check.js b/scripts/commands/report/create.js similarity index 100% rename from scripts/commands/issue/check.js rename to scripts/commands/report/create.js From ab922cf14c5a9bfc19953f150ca1057f9fcca85c Mon Sep 17 00:00:00 2001 From: freearhey Date: Sat, 10 Jun 2023 02:18:31 +0300 Subject: [PATCH 6/6] Update create.js --- scripts/commands/report/create.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/commands/report/create.js b/scripts/commands/report/create.js index 8c94405c1..cc634dd47 100644 --- a/scripts/commands/report/create.js +++ b/scripts/commands/report/create.js @@ -4,9 +4,7 @@ const { paginateRest } = require('@octokit/plugin-paginate-rest') const CustomOctokit = Octokit.plugin(paginateRest) const _ = require('lodash') -const octokit = new CustomOctokit({ - auth: process.env.GITHUB_TOKEN -}) +const octokit = new CustomOctokit() const DATA_DIR = process.env.DATA_DIR || './tmp/data' const OWNER = 'iptv-org'