diff --git a/.eslintrc.json b/.eslintrc.json index 50b7e76..2b3410f 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,7 +1,6 @@ { - "extends": [ - "sznm/react", - "plugin:react/jsx-runtime", - "plugin:@next/next/recommended" - ] + "extends": [ + "sznm/bare", + "plugin:@next/next/recommended" + ] } diff --git a/.github/workflows/regen-builds.yml b/.github/workflows/regen-data.yml similarity index 72% rename from .github/workflows/regen-builds.yml rename to .github/workflows/regen-data.yml index 99da665..f1a7d9e 100644 --- a/.github/workflows/regen-builds.yml +++ b/.github/workflows/regen-data.yml @@ -1,9 +1,7 @@ -name: 'Regen Builds' +name: 'Regen Data' on: workflow_dispatch: - repository_dispatch: - types: [ regen-builds ] jobs: regen: @@ -19,11 +17,17 @@ jobs: - name: Checkout titanium-builds uses: actions/checkout@v3 - - name: Retrieve the builds - uses: tidev/titanium-builds-regen-action@v1 + - uses: actions/setup-node@v3 with: - output-dir: 'public/registry' - repo-token: ${{ secrets.GITHUB_TOKEN }} + node-version: '18.x' + + - name: Install dependencies + run: yarn + + - name: Generate data + run: node scripts/generate.mjs + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Commit changes id: committed diff --git a/data.json b/data.json new file mode 100644 index 0000000..5018bf1 --- /dev/null +++ b/data.json @@ -0,0 +1,1391 @@ +[ + { + "name": "ti.goosh", + "owner": { + "login": "caffeinalab", + "html_url": "https://github.com/caffeinalab" + }, + "html_url": "https://github.com/caffeinalab/ti.goosh", + "description": "GCM/FCM module for Titanium.", + "updated_at": "2022-10-28T18:56:54Z", + "platforms": [ + "android" + ] + }, + { + "name": "ti.map", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/ti.map", + "description": "Use native Apple Maps & Google Maps in iOS and Android with Axway Titanium", + "updated_at": "2023-01-31T16:31:59Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.barcode", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/ti.barcode", + "description": "QR and Barcode Scanner", + "updated_at": "2022-10-28T18:57:01Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "Ti.GoogleSignIn", + "owner": { + "login": "AppWerft", + "html_url": "https://github.com/AppWerft" + }, + "html_url": "https://github.com/AppWerft/Ti.GoogleSignIn", + "description": "Use the native Google Sign In SDK in Appcelerator Titanium. 🚀", + "updated_at": "2022-03-23T09:33:38Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium_mobile", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/titanium_mobile", + "description": "🚀 Native iOS and Android Apps with JavaScript", + "updated_at": "2023-03-04T02:53:05Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-socketio", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/titanium-socketio", + "description": "Use the native Socket.io SDK's with Axway Titanium.", + "updated_at": "2022-04-22T03:47:24Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.worker", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/ti.worker", + "description": "Use Multi-Threading / Worker Threads in Appcelerator Titanium.", + "updated_at": "2023-01-29T15:53:07Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-firebase-cloud-messaging", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-firebase-cloud-messaging", + "description": "Use the Firebase Cloud Messaging SDK in Axway Titanium 🚀 Edit", + "updated_at": "2023-02-02T07:16:56Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-identity", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/titanium-identity", + "description": "A collection of API's to authenticate with your device: Keychain/Keystore, Touch ID and Face ID", + "updated_at": "2023-01-06T08:48:53Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-notification-banner", + "owner": { + "login": "lambus-platform", + "html_url": "https://github.com/lambus-platform" + }, + "html_url": "https://github.com/lambus-platform/titanium-notification-banner", + "description": "A lightweight ES6 based notification banner - coming with different types and positions.", + "updated_at": "2022-04-12T17:47:34Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.urlsession", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/ti.urlsession", + "description": "Use the NSURLSession API to download and upload files in Titanium.", + "updated_at": "2022-04-26T05:33:27Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-apple-sign-in", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/titanium-apple-sign-in", + "description": "Use the iOS 13+ Apple Sign In API with Titanium", + "updated_at": "2023-02-04T12:12:55Z", + "platforms": [ + "ios" + ] + }, + { + "name": "ti.nfc", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/ti.nfc", + "description": "Read Android NFC sensors with the Titanium SDK.", + "updated_at": "2022-10-11T01:33:28Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-bluetooth", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-bluetooth", + "description": "📡 Native iOS / Android Bluetooth support for the Axway Titanium SDK", + "updated_at": "2023-02-27T12:45:44Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.facebook", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/ti.facebook", + "description": "Support for the native Facebook SDK in Titanium using JavaScript", + "updated_at": "2022-03-30T06:17:36Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "TiScreenRecorder", + "owner": { + "login": "kosso", + "html_url": "https://github.com/kosso" + }, + "html_url": "https://github.com/kosso/TiScreenRecorder", + "description": "A simple Titanium iOS module for screen recording. ", + "updated_at": "2019-02-22T06:50:09Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-firebase-analytics", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-firebase-analytics", + "description": "Use the Firebase Analytics SDK in Axway Titanium 🚀", + "updated_at": "2023-02-24T17:19:12Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-firebase-core", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-firebase-core", + "description": "Use the Firebase Core SDK in the Titanium SDK 🚀", + "updated_at": "2023-02-24T17:19:39Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.admob", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/ti.admob", + "description": "Use the Google AdMob SDK on iOS and Android with Titanium", + "updated_at": "2023-02-07T20:49:36Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.moddevguide", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/ti.moddevguide", + "description": "Appcelerator Titanium native Module Guide", + "updated_at": "2023-01-29T16:28:00Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-calendar", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-calendar", + "description": "An easy to use iOS modal calendar for selecting dates. Based on the awesome PDTSimpleCalendar library.", + "updated_at": "2022-02-28T22:18:31Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-google-signin", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-google-signin", + "description": "Use the native Google Sign In SDK in Appcelerator Titanium.", + "updated_at": "2022-03-23T09:33:41Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.onepassword", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/ti.onepassword", + "description": "🔐 Support the 1Password App Extension with Titanium Mobile", + "updated_at": "2021-07-14T02:22:27Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-alternate-icons", + "owner": { + "login": "ccavazos", + "html_url": "https://github.com/ccavazos" + }, + "html_url": "https://github.com/ccavazos/titanium-alternate-icons", + "description": "Leverage the ability to change the app icon in iOS 10.3+", + "updated_at": "2022-11-12T07:47:35Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-crashlytics", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-crashlytics", + "description": "Use the native Crashlytics SDK in Titanium (iOS / Android).", + "updated_at": "2023-01-24T19:45:08Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.accountkit", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/ti.accountkit", + "description": "DEPRECATED -- 🔐 Use the Facebook AccountKit iOS-SDK with Titanium Mobile.", + "updated_at": "2022-04-07T15:00:22Z", + "platforms": [ + "ios" + ] + }, + { + "name": "ti.coremotion", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/ti.coremotion", + "description": "Support for the native iOS CoreMotion framework in Appcelerator Titanium", + "updated_at": "2022-04-22T03:52:31Z", + "platforms": [ + "ios" + ] + }, + { + "name": "av.imageview", + "owner": { + "login": "AndreaVitale", + "html_url": "https://github.com/AndreaVitale" + }, + "html_url": "https://github.com/AndreaVitale/av.imageview", + "description": "Titanium native ImageView module that extends the default Titanium ImageView with more capabilities and a different caching system.", + "updated_at": "2022-10-28T18:56:35Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-image-crop", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-image-crop", + "description": "An easy to use iOS image cropping tool based on TOCropViewController.", + "updated_at": "2021-10-11T13:11:35Z", + "platforms": [ + "ios" + ] + }, + { + "name": "ti.playservices", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/ti.playservices", + "description": "Titanium module for Google Play Services", + "updated_at": "2022-03-30T06:14:55Z", + "platforms": [ + "android" + ] + }, + { + "name": "ti.animation", + "owner": { + "login": "m1ga", + "html_url": "https://github.com/m1ga" + }, + "html_url": "https://github.com/m1ga/ti.animation", + "description": "Airbnb Lottie Animation module for Titanium", + "updated_at": "2023-02-24T18:55:13Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "TiNSGIF", + "owner": { + "login": "kosso", + "html_url": "https://github.com/kosso" + }, + "html_url": "https://github.com/kosso/TiNSGIF", + "description": "Appcelerator Titanium module for iOS to create animated GIFs from videos.", + "updated_at": "2021-08-31T14:37:27Z", + "platforms": [ + "ios" + ] + }, + { + "name": "Ti.Android.Geofence", + "owner": { + "login": "deckameron", + "html_url": "https://github.com/deckameron" + }, + "html_url": "https://github.com/deckameron/Ti.Android.Geofence", + "description": "A Geofence solution for Appcelerator Titanium Android", + "updated_at": "2020-04-08T17:01:08Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium-web-dialog", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/titanium-web-dialog", + "description": "Use the SFSafariViewController (iOS) and Chrome Pages (Android) in Titanium.", + "updated_at": "2022-04-29T02:41:03Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-widget-kit", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-widget-kit", + "description": "Use native iOS / Android widgets in Titanium.", + "updated_at": "2022-02-01T19:34:44Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-swift-module-example", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-swift-module-example", + "description": "Utilize Swift to build native modules for Appcelerator Titanium.", + "updated_at": "2022-07-06T02:33:20Z", + "platforms": [ + "ios" + ] + }, + { + "name": "ti.splashview", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/ti.splashview", + "description": "💦 Support for the splash-screen library CBZSplashView in Appcelerator Titanium.", + "updated_at": "2021-07-14T02:26:24Z", + "platforms": [ + "ios" + ] + }, + { + "name": "android-titanium-imagecropper", + "owner": { + "login": "prashantsaini1", + "html_url": "https://github.com/prashantsaini1" + }, + "html_url": "https://github.com/prashantsaini1/android-titanium-imagecropper", + "description": "Image cropping for Android/Titanium", + "updated_at": "2022-02-21T09:08:44Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium-sirikit", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-sirikit", + "description": "Support for the native iOS SiriKit API in Appcelerator Titanium", + "updated_at": "2021-07-14T02:23:21Z", + "platforms": [ + "ios" + ] + }, + { + "name": "ti.exoplayer", + "owner": { + "login": "NetrisTV", + "html_url": "https://github.com/NetrisTV" + }, + "html_url": "https://github.com/NetrisTV/ti.exoplayer", + "description": "A native control for playing videos for Titanium. Based on Google ExoPlayer, using Titanium.Media.VideoPlayer API.", + "updated_at": "2023-01-16T05:03:48Z", + "platforms": [ + "android" + ] + }, + { + "name": "ti.keyframes", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/ti.keyframes", + "description": "🖼 Support for the @facebook Keyframes library in Titanium", + "updated_at": "2021-07-14T02:26:21Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-image-filters", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-image-filters", + "description": "Use the GPUImage library to apply pre-built and custom filters to images in Titanium", + "updated_at": "2022-08-16T11:01:43Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-firebase-auth", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-firebase-auth", + "description": "Use the Firebase Autentication SDK in Axway Titanium 🚀", + "updated_at": "2023-02-24T17:19:59Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.glpaint", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/ti.glpaint", + "description": "Support for OpenGL drawing in Titanium.", + "updated_at": "2017-12-09T05:03:35Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-firebase-performance", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-firebase-performance", + "description": "Use the Firebase Performance SDK in Axway Titanium 🚀", + "updated_at": "2023-01-20T19:40:39Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.lottie", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/ti.lottie", + "description": "🖼 Support for the @airbnb Lottie library in Titanium", + "updated_at": "2022-02-22T23:38:16Z", + "platforms": [ + "ios" + ] + }, + { + "name": "ti.barcodescanner", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/ti.barcodescanner", + "description": "Refactored version of Ti.Barcode using the AVCaptureDevice API", + "updated_at": "2021-07-14T02:25:52Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-android-bottom-sheet-dialog", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-android-bottom-sheet-dialog", + "description": "Use the native Android BottomSheet view in Appcelerator Titanium.", + "updated_at": "2021-08-06T12:44:45Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium-firebase-database", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-firebase-database", + "description": "Use the Firebase Realtime Database SDK in Axway Titanium 🚀", + "updated_at": "2022-02-17T14:41:41Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-parse-live-query", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-parse-live-query", + "description": "Use the Parse & Parse Live Query SDK's in Axway Titanium.", + "updated_at": "2022-12-21T08:38:56Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-firebase-config", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-firebase-config", + "description": "Use the Firebase Remote-Config SDK in the Titanium SDK 🚀", + "updated_at": "2023-02-01T10:58:09Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "tiads", + "owner": { + "login": "pinio", + "html_url": "https://github.com/pinio" + }, + "html_url": "https://github.com/pinio/tiads", + "description": "Titanium Module for fetching advertisingIds both for iOS and Android", + "updated_at": "2020-06-23T21:26:47Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium-aws", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-aws", + "description": "☁️ Use the Amazon AWS SDK with Appcelerator Titanium", + "updated_at": "2022-03-21T18:31:58Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.locationservices", + "owner": { + "login": "AhmedMSayed", + "html_url": "https://github.com/AhmedMSayed" + }, + "html_url": "https://github.com/AhmedMSayed/ti.locationservices", + "description": "Titanium Location Services Module for Android", + "updated_at": "2022-06-04T04:35:10Z", + "platforms": [ + "android" + ] + }, + { + "name": "ti.flic", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/ti.flic", + "description": "🔘 Use the IoT Flic iOS-SDK with Titanium Mobile", + "updated_at": "2020-05-10T06:17:55Z", + "platforms": [ + "ios" + ] + }, + { + "name": "ti.osm", + "owner": { + "login": "m1ga", + "html_url": "https://github.com/m1ga" + }, + "html_url": "https://github.com/m1ga/ti.osm", + "description": "OpenStreetMap module for Appcelerator Titanium", + "updated_at": "2023-02-08T18:51:25Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium-firebase-storage", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-firebase-storage", + "description": "Use the Firebase Storage SDK in Axway Titanium 🚀", + "updated_at": "2022-11-24T13:45:14Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-dark-mode", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-dark-mode", + "description": "Full support for iOS 13+ / Android 10+ dark mode (semantic colors and images) in Appcelerator Titanium", + "updated_at": "2021-07-14T02:23:05Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.vonage", + "owner": { + "login": "m1ga", + "html_url": "https://github.com/m1ga" + }, + "html_url": "https://github.com/m1ga/ti.vonage", + "description": "Vonage module for Appcelerator Titanium", + "updated_at": "2022-04-20T10:54:27Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "hyperloop.next", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/hyperloop.next", + "description": "Hyperloop Next version (we forgot the version number at this point)", + "updated_at": "2023-02-09T23:29:20Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.linkedin", + "owner": { + "login": "EveryUP", + "html_url": "https://github.com/EveryUP" + }, + "html_url": "https://github.com/EveryUP/ti.linkedin", + "description": "📱 LinkedIn Axway Appcelerator Titanium module", + "updated_at": "2021-06-08T13:02:56Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.previewinteraction", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/ti.previewinteraction", + "description": "Use the iOS 10+ UIPreviewInteraction API in Titanium!", + "updated_at": "2022-03-30T06:22:31Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-appodeal", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-appodeal", + "description": "Supporting the native Appodeal SDK (iOS/Android) in Titanium.", + "updated_at": "2021-07-14T02:23:28Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.spotify", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/ti.spotify", + "description": "🎶 Support for the Spotify iOS SDK in the Titanium Mobile SDK.", + "updated_at": "2018-02-25T09:41:17Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-mapbox", + "owner": { + "login": "lambus-platform", + "html_url": "https://github.com/lambus-platform" + }, + "html_url": "https://github.com/lambus-platform/titanium-mapbox", + "description": "Use the native Mapbox SDK's in Axway Titanium.", + "updated_at": "2021-10-06T08:13:38Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.appcenter", + "owner": { + "login": "NetrisTV", + "html_url": "https://github.com/NetrisTV" + }, + "html_url": "https://github.com/NetrisTV/ti.appcenter", + "description": "Visual Studio App Center SDK for Axway Titanium", + "updated_at": "2020-06-01T08:59:14Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.imagecrop", + "owner": { + "login": "m1ga", + "html_url": "https://github.com/m1ga" + }, + "html_url": "https://github.com/m1ga/ti.imagecrop", + "description": "Titanium image crop for Android", + "updated_at": "2023-01-16T14:14:07Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium-tooltip", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-tooltip", + "description": "Use the native AMPopTip (iOS) and ViewTooltip (Android) library to display tooltips above any view and window in Titanium!", + "updated_at": "2023-01-11T12:42:21Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-iap", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-iap", + "description": "Support for native cross-platform in-app-purchasing API's in Titanium. This repository represents a modern alternative to ti.storekit (iOS) and ti.inappbilling (Android).", + "updated_at": "2023-01-30T20:55:29Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-freshchat", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-freshchat", + "description": "Use the native Freshchat SDK (iOS / Android) in Titanium", + "updated_at": "2022-12-15T00:51:22Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.appwrite", + "owner": { + "login": "m1ga", + "html_url": "https://github.com/m1ga" + }, + "html_url": "https://github.com/m1ga/ti.appwrite", + "description": "Titanium Android module for Appwrite.io", + "updated_at": "2022-05-19T11:50:07Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium-homekit", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-homekit", + "description": "Support for the HomeKit framework in Appcelerator Titanium", + "updated_at": "2021-07-14T02:25:44Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-thumbnail-generator", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-thumbnail-generator", + "description": "Generate thumbnails for common file types (e.g. PDF) natively in Appcelerator Titanium.", + "updated_at": "2022-01-26T02:27:41Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-apps-flyer", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-apps-flyer", + "description": "Use the native AppsFlyer SDK's (iOS/Android) in Titanium!", + "updated_at": "2022-10-20T12:11:08Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.scrollableview", + "owner": { + "login": "NetrisTV", + "html_url": "https://github.com/NetrisTV" + }, + "html_url": "https://github.com/NetrisTV/ti.scrollableview", + "description": null, + "updated_at": "2019-09-02T12:51:11Z", + "platforms": [ + "android" + ] + }, + { + "name": "Ti.Android.Animator", + "owner": { + "login": "deckameron", + "html_url": "https://github.com/deckameron" + }, + "html_url": "https://github.com/deckameron/Ti.Android.Animator", + "description": "A newer version of @Animecyc TitaniumAnimator", + "updated_at": "2019-05-06T17:13:19Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium-giphy", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-giphy", + "description": "Use the native Giphy iOS- and Android SDK's to select GIFs and display them in your app.", + "updated_at": "2023-01-31T23:24:02Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-rich-text-editor", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-rich-text-editor", + "description": "Use the native Aztec rich text editor (iOS & Android) in Titanium!", + "updated_at": "2023-03-02T16:26:20Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "appcelerator.bluetooth", + "owner": { + "login": "tidev", + "html_url": "https://github.com/tidev" + }, + "html_url": "https://github.com/tidev/appcelerator.bluetooth", + "description": "A collection of API's to connect and communicate with device via Bluetooth", + "updated_at": "2022-03-30T05:44:49Z", + "platforms": [ + "android" + ] + }, + { + "name": "Titanium-SDK", + "owner": { + "login": "nearit", + "html_url": "https://github.com/nearit" + }, + "html_url": "https://github.com/nearit/Titanium-SDK", + "description": "NearIT SDK for AppCelerator Titanium apps", + "updated_at": "2023-01-28T06:47:33Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-mixpanel", + "owner": { + "login": "hansemannn", + "html_url": "https://github.com/hansemannn" + }, + "html_url": "https://github.com/hansemannn/titanium-mixpanel", + "description": "Use the native Mixpanel Analytics SDK for iOS & Android in Titanium!", + "updated_at": "2023-01-29T15:58:58Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "ti.apng", + "owner": { + "login": "m1ga", + "html_url": "https://github.com/m1ga" + }, + "html_url": "https://github.com/m1ga/ti.apng", + "description": "apng module for Titanium (Android)", + "updated_at": "2021-08-27T10:43:27Z", + "platforms": [ + "android" + ] + }, + { + "name": "ti.blurhash", + "owner": { + "login": "m1ga", + "html_url": "https://github.com/m1ga" + }, + "html_url": "https://github.com/m1ga/ti.blurhash", + "description": "Blurhash placeholder images for Titanium", + "updated_at": "2021-08-29T13:43:54Z", + "platforms": [ + "android" + ] + }, + { + "name": "com.juruperisian.revenuecat", + "owner": { + "login": "shamsulazhar", + "html_url": "https://github.com/shamsulazhar" + }, + "html_url": "https://github.com/shamsulazhar/com.juruperisian.revenuecat", + "description": "A Titanium RevenueCat module for iOS ", + "updated_at": "2022-12-14T12:02:48Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "Ti.Security.JailBroken", + "owner": { + "login": "benbahrenburg", + "html_url": "https://github.com/benbahrenburg" + }, + "html_url": "https://github.com/benbahrenburg/Ti.Security.JailBroken", + "description": "Security module for Titanium iOS. Detect if device is jail broken", + "updated_at": "2023-01-28T16:34:00Z", + "platforms": [ + "ios" + ] + }, + { + "name": "mve.notification", + "owner": { + "login": "michielvaneerd", + "html_url": "https://github.com/michielvaneerd" + }, + "html_url": "https://github.com/michielvaneerd/mve.notification", + "description": "Titanium Android notifications", + "updated_at": "2020-06-26T08:43:29Z", + "platforms": [ + "android" + ] + }, + { + "name": "ti.print", + "owner": { + "login": "m1ga", + "html_url": "https://github.com/m1ga" + }, + "html_url": "https://github.com/m1ga/ti.print", + "description": "Android Print module for Titanium", + "updated_at": "2022-04-16T14:58:42Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium-leakcanay", + "owner": { + "login": "jonasfunk", + "html_url": "https://github.com/jonasfunk" + }, + "html_url": "https://github.com/jonasfunk/titanium-leakcanay", + "description": "Use the LeakCanary SDK in Axway Titanium", + "updated_at": "2018-08-20T11:35:04Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium-mjpeg-view-ios", + "owner": { + "login": "kosso", + "html_url": "https://github.com/kosso" + }, + "html_url": "https://github.com/kosso/titanium-mjpeg-view-ios", + "description": "A Titanium iOS module for showing a live MJPEG video stream in a view. Not using WebViews or WebKit.", + "updated_at": "2016-12-06T11:17:47Z", + "platforms": [ + "ios" + ] + }, + { + "name": "TiPDF", + "owner": { + "login": "DaveMcMartin", + "html_url": "https://github.com/DaveMcMartin" + }, + "html_url": "https://github.com/DaveMcMartin/TiPDF", + "description": ":rocket: Axway Titanium module to handle PDF generation/edition on iOS using native Quartz 2D for fast rendering and good quality.", + "updated_at": "2022-05-12T11:10:32Z", + "platforms": [ + "ios" + ] + }, + { + "name": "TiGL", + "owner": { + "login": "DzzD", + "html_url": "https://github.com/DzzD" + }, + "html_url": "https://github.com/DzzD/TiGL", + "description": "Titanium OpenGL : Android Graphical & Animation OpenGL Module", + "updated_at": "2022-11-13T17:10:42Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium-screenshot", + "owner": { + "login": "mobilehero-archive", + "html_url": "https://github.com/mobilehero-archive" + }, + "html_url": "https://github.com/mobilehero-archive/titanium-screenshot", + "description": "Axway Amplify modules that to detect that a screenshot was taken on iOS with Appcelerator Titanium apps", + "updated_at": "2022-03-18T11:58:48Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-imagefactory", + "owner": { + "login": "mobilehero-archive", + "html_url": "https://github.com/mobilehero-archive" + }, + "html_url": "https://github.com/mobilehero-archive/titanium-imagefactory", + "description": "Axway Amplify module for image transformation - scale, crop, and compress images - for Appcelerator Titanium Mobile", + "updated_at": "2022-01-10T19:56:36Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-facebook", + "owner": { + "login": "mobilehero-archive", + "html_url": "https://github.com/mobilehero-archive" + }, + "html_url": "https://github.com/mobilehero-archive/titanium-facebook", + "description": "Axway Amplify modules to use Facebook SDK for Appcelerator Titanium apps", + "updated_at": "2022-01-13T15:52:52Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-lottie", + "owner": { + "login": "mobilehero-archive", + "html_url": "https://github.com/mobilehero-archive" + }, + "html_url": "https://github.com/mobilehero-archive/titanium-lottie", + "description": "⭐ Axway Amplify modules to use Airbnb Lottie animations with Appcelerator Titanium SDK", + "updated_at": "2022-01-11T02:54:19Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-identity", + "owner": { + "login": "mobilehero-archive", + "html_url": "https://github.com/mobilehero-archive" + }, + "html_url": "https://github.com/mobilehero-archive/titanium-identity", + "description": "Axway Amplify modules to use Fingerprint authentication, Keychain Access and Face authentication (iOS) with Appcelerator Titanium.", + "updated_at": "2022-01-13T15:55:42Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-applesignin", + "owner": { + "login": "mobilehero-archive", + "html_url": "https://github.com/mobilehero-archive" + }, + "html_url": "https://github.com/mobilehero-archive/titanium-applesignin", + "description": "⭐ Axway Amplify module that allows you to use the iOS 13+ Apple Sign In API with Appcelerator Titanium SDK", + "updated_at": "2022-01-10T19:54:49Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-barcode", + "owner": { + "login": "mobilehero-archive", + "html_url": "https://github.com/mobilehero-archive" + }, + "html_url": "https://github.com/mobilehero-archive/titanium-barcode", + "description": "⭐ Axway Amplify module for scanning barcodes with Appcelerator Titanium SDK", + "updated_at": "2022-01-11T03:34:23Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-icloud", + "owner": { + "login": "mobilehero-archive", + "html_url": "https://github.com/mobilehero-archive" + }, + "html_url": "https://github.com/mobilehero-archive/titanium-icloud", + "description": "⭐ Axway Amplify module to use the Apple iCloud framework with Appcelerator Titanium SDK", + "updated_at": "2022-11-08T21:40:28Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-webdialog", + "owner": { + "login": "mobilehero-archive", + "html_url": "https://github.com/mobilehero-archive" + }, + "html_url": "https://github.com/mobilehero-archive/titanium-webdialog", + "description": "Axway Amplify modules to use native SFSafariViewController (iOS) and Chrome Pages (Android) with Appcelerator Titanium apps", + "updated_at": "2022-01-10T21:14:57Z", + "platforms": [ + "android", + "ios" + ] + }, + { + "name": "titanium-googlesignin", + "owner": { + "login": "mobilehero-archive", + "html_url": "https://github.com/mobilehero-archive" + }, + "html_url": "https://github.com/mobilehero-archive/titanium-googlesignin", + "description": "⭐ Axway Amplify module for using Google Sign-in with Appcelerator Titanium SDK Framework", + "updated_at": "2022-01-10T21:25:30Z", + "platforms": [ + "ios" + ] + }, + { + "name": "titanium-playservices", + "owner": { + "login": "mobilehero-archive", + "html_url": "https://github.com/mobilehero-archive" + }, + "html_url": "https://github.com/mobilehero-archive/titanium-playservices", + "description": "⭐ Axway Amplify module for using Google Play Services with Appcelerator Titanium SDK", + "updated_at": "2022-01-11T03:36:59Z", + "platforms": [ + "android" + ] + }, + { + "name": "titanium-coremotion", + "owner": { + "login": "mobilehero-archive", + "html_url": "https://github.com/mobilehero-archive" + }, + "html_url": "https://github.com/mobilehero-archive/titanium-coremotion", + "description": "⭐ Axway Amplify modules for iOS CoreMotion framework with Appcelerator Titanium SDK", + "updated_at": "2022-01-11T03:40:20Z", + "platforms": [ + "ios" + ] + } +] \ No newline at end of file diff --git a/next.config.js b/next.config.js index c5096c6..4e440e3 100644 --- a/next.config.js +++ b/next.config.js @@ -14,6 +14,6 @@ module.exports = withPWA({ swcMinify: true, reactStrictMode: true, eslint: { - dirs: ["src"], + dirs: ["src", "scripts"], }, }); diff --git a/package.json b/package.json index fb7adf7..e0d7c0d 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "postbuild": "next-sitemap --config next-sitemap.config.js", "start": "next start", "lint": "next lint", - "lint:fix": "eslint src --fix && yarn format", + "lint:fix": "next lint --fix && yarn format", "lint:turbo": "npx turbo lint", "type-check": "tsc --noEmit", "type-check:turbo": "npx turbo type-check", @@ -49,6 +49,7 @@ "husky": "^8.0.3", "lint-staged": "^13.1.0", "next-sitemap": "^3.1.45", + "octokit": "^2.0.14", "prettier": "^2.8.3", "standard-version": "^9.5.0", "turbo": "^1.7.0", diff --git a/scripts/.eslintrc.json b/scripts/.eslintrc.json new file mode 100644 index 0000000..bbad96d --- /dev/null +++ b/scripts/.eslintrc.json @@ -0,0 +1,13 @@ +{ + "parserOptions": { + "ecmaVersion": 2022, + "sourceType": "module" + }, + "env": { + "node": true, + "es6": true + }, + "rules": { + "no-console": "off" + } +} diff --git a/scripts/generate.mjs b/scripts/generate.mjs new file mode 100644 index 0000000..b74972e --- /dev/null +++ b/scripts/generate.mjs @@ -0,0 +1,78 @@ +import * as fs from "node:fs/promises"; +import { Octokit } from "octokit"; + +const gh = new Octokit({ + auth: process.env.GITHUB_TOKEN || process.env.GH_TOKEN, +}); + +const searchResults = gh.paginate.iterator(gh.rest.search.repos, { + q: "titanium in:topics language:objc language:swift language:java language:kotlin language:javascript", + per_page: 100, +}); + +const repositories = []; +for await (const { data } of searchResults) { + const mappedData = await Promise.all(data.map(mapData)); + repositories.push(...mappedData.filter((repo) => repo)); +} + +const out = new URL("../data.json", import.meta.url); +await fs.writeFile(out, JSON.stringify(repositories, undefined, "\t")); + +async function mapData(data) { + console.log(`mapping ${data.owner.login}/${data.name}`); + const platforms = await getPlatforms(data); + + if (!platforms?.length) { + return; + } + + return { + name: data.name, + owner: { + login: data.owner.login, + html_url: data.owner.html_url, + }, + html_url: data.html_url, + description: data.description, + updated_at: data.updated_at, + platforms, + }; +} + +async function getPlatforms(data) { + const platforms = []; + try { + // Check for android and ios directories. We use allSettled as this will throw an error + // if the folder does't exist so we check the Promise status to see whether the folder + // existed or not + const [android, ios, iphone] = await Promise.allSettled([ + gh.rest.repos.getContent({ + owner: data.owner.login, + repo: data.name, + path: "android", + }), + gh.rest.repos.getContent({ + owner: data.owner.login, + repo: data.name, + path: "ios", + }), + gh.rest.repos.getContent({ + owner: data.owner.login, + repo: data.name, + path: "iphone", + }), + ]); + + if (android.status === "fulfilled") { + platforms.push("android"); + } + + if (ios.status === "fulfilled" || iphone.status === "fulfilled") { + platforms.push("ios"); + } + } catch (error) { + return; + } + return platforms; +} diff --git a/src/.eslintrc.json b/src/.eslintrc.json new file mode 100644 index 0000000..50b7e76 --- /dev/null +++ b/src/.eslintrc.json @@ -0,0 +1,7 @@ +{ + "extends": [ + "sznm/react", + "plugin:react/jsx-runtime", + "plugin:@next/next/recommended" + ] +} diff --git a/src/lib/pages/home/index.tsx b/src/lib/pages/home/index.tsx index dec3d49..4c9c5e0 100644 --- a/src/lib/pages/home/index.tsx +++ b/src/lib/pages/home/index.tsx @@ -38,18 +38,11 @@ const Home = () => { const [repositories, setRepositories] = useState([]); const fetchRepositories = async (value: string) => { const response = await fetch( - `https://api.github.com/search/repositories?q=${value}%20in:name%20titanium%20in:topics%20language:objc+language:swift+language:java+language:kotlin+language:javascript&sort=updated&order=desc`, - { - headers: { - "User-Agent": "Titanium Module Search", - Accept: "application/vnd.github+json", - Authorization: `Bearer ${process.env.NEXT_PUBLIC_GITHUB_ACCESS_TOKEN}`, - }, - } + `/api/modules?search=${encodeURIComponent(value)}` ); const data = await response.json(); - setRepositories(data.items); + setRepositories(data); }; return ( diff --git a/src/pages/api/hello.ts b/src/pages/api/hello.ts deleted file mode 100644 index 4996663..0000000 --- a/src/pages/api/hello.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Next.js API route support: https://nextjs.org/docs/api-routes/introduction - -import type { NextApiRequest, NextApiResponse } from "next"; - -const hello = (req: NextApiRequest, res: NextApiResponse) => { - res.statusCode = 200; - res.json({ name: "John Doe" }); -}; - -export default hello; diff --git a/src/pages/api/modules.ts b/src/pages/api/modules.ts new file mode 100644 index 0000000..1850d8c --- /dev/null +++ b/src/pages/api/modules.ts @@ -0,0 +1,32 @@ +// Next.js API route support: https://nextjs.org/docs/api-routes/introduction + +import type { NextApiRequest, NextApiResponse } from "next"; + +import data from "../../../data.json"; + +const modules = (req: NextApiRequest, res: NextApiResponse) => { + const searchTerm = req.query.search; + + if (!searchTerm) { + res.statusCode = 200; + return res.json(data); + } + + if (Array.isArray(searchTerm)) { + res.statusCode = 400; + return res.json({ message: "Only provide one search term" }); + } + + res.statusCode = 200; + const lowercaseSearch = searchTerm.toLowerCase(); + return res.json( + data.filter(({ description, name }) => { + return ( + description?.toLowerCase().includes(lowercaseSearch) || + name?.toLowerCase().includes(lowercaseSearch) + ); + }) + ); +}; + +export default modules; diff --git a/yarn.lock b/yarn.lock index b7fc29a..37ed89a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2273,6 +2273,231 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@octokit/app@^13.1.1": + version "13.1.2" + resolved "https://registry.yarnpkg.com/@octokit/app/-/app-13.1.2.tgz#81fdee338abddda9c016e5beccdb19ff5110bb66" + integrity sha512-Kf+h5sa1SOI33hFsuHvTsWj1jUrjp1x4MuiJBq7U/NicfEGa6nArPUoDnyfP/YTmcQ5cQ5yvOgoIBkbwPg6kzQ== + dependencies: + "@octokit/auth-app" "^4.0.8" + "@octokit/auth-unauthenticated" "^3.0.0" + "@octokit/core" "^4.0.0" + "@octokit/oauth-app" "^4.0.7" + "@octokit/plugin-paginate-rest" "^6.0.0" + "@octokit/types" "^9.0.0" + "@octokit/webhooks" "^10.0.0" + +"@octokit/auth-app@^4.0.8": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@octokit/auth-app/-/auth-app-4.0.9.tgz#66500c8f66545d970a19123b9b364c678c972d6b" + integrity sha512-VFpKIXhHO+kVJtane5cEvdYPtjDKCOI0uKsRrsZfJP+uEu7rcPbQCLCcRKgyT+mUIzGr1IIOmwP/lFqSip1dXA== + dependencies: + "@octokit/auth-oauth-app" "^5.0.0" + "@octokit/auth-oauth-user" "^2.0.0" + "@octokit/request" "^6.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^9.0.0" + "@types/lru-cache" "^5.1.0" + deprecation "^2.3.1" + lru-cache "^6.0.0" + universal-github-app-jwt "^1.1.1" + universal-user-agent "^6.0.0" + +"@octokit/auth-oauth-app@^5.0.0": + version "5.0.5" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-app/-/auth-oauth-app-5.0.5.tgz#be2a93d72835133b4866ac4721aa628849475525" + integrity sha512-UPX1su6XpseaeLVCi78s9droxpGtBWIgz9XhXAx9VXabksoF0MyI5vaa1zo1njyYt6VaAjFisC2A2Wchcu2WmQ== + dependencies: + "@octokit/auth-oauth-device" "^4.0.0" + "@octokit/auth-oauth-user" "^2.0.0" + "@octokit/request" "^6.0.0" + "@octokit/types" "^9.0.0" + "@types/btoa-lite" "^1.0.0" + btoa-lite "^1.0.0" + universal-user-agent "^6.0.0" + +"@octokit/auth-oauth-device@^4.0.0": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-device/-/auth-oauth-device-4.0.4.tgz#b8dde812a38bf5cb0696b6e7d0a74681d437c390" + integrity sha512-Xl85BZYfqCMv+Uvz33nVVUjE7I/PVySNaK6dRRqlkvYcArSr9vRcZC9KVjXYObGRTCN6mISeYdakAZvWEN4+Jw== + dependencies: + "@octokit/oauth-methods" "^2.0.0" + "@octokit/request" "^6.0.0" + "@octokit/types" "^9.0.0" + universal-user-agent "^6.0.0" + +"@octokit/auth-oauth-user@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-user/-/auth-oauth-user-2.1.1.tgz#d900972f3d9247924637ab3343a8305746feadb2" + integrity sha512-JgqnNNPf9CaWLxWm9uh2WgxcaVYhxBR09NVIPTiMU2dVZ3FObOHs3njBiLNw+zq84k+rEdm5Y7AsiASrZ84Apg== + dependencies: + "@octokit/auth-oauth-device" "^4.0.0" + "@octokit/oauth-methods" "^2.0.0" + "@octokit/request" "^6.0.0" + "@octokit/types" "^9.0.0" + btoa-lite "^1.0.0" + universal-user-agent "^6.0.0" + +"@octokit/auth-token@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.3.tgz#ce7e48a3166731f26068d7a7a7996b5da58cbe0c" + integrity sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA== + dependencies: + "@octokit/types" "^9.0.0" + +"@octokit/auth-unauthenticated@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@octokit/auth-unauthenticated/-/auth-unauthenticated-3.0.4.tgz#347d3f3a6fefb22d399a941b986bac5361fc95df" + integrity sha512-AT74XGBylcLr4lmUp1s6mjSUgphGdlse21Qjtv5DzpX1YOl5FXKwvNcZWESdhyBbpDT8VkVyLFqa/7a7eqpPNw== + dependencies: + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^9.0.0" + +"@octokit/core@^4.0.0", "@octokit/core@^4.0.4": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.2.0.tgz#8c253ba9605aca605bc46187c34fcccae6a96648" + integrity sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg== + 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": + version "7.0.5" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.5.tgz#2bb2a911c12c50f10014183f5d596ce30ac67dd1" + integrity sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA== + dependencies: + "@octokit/types" "^9.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^5.0.0": + version "5.0.5" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.5.tgz#a4cb3ea73f83b861893a6370ee82abb36e81afd2" + integrity sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ== + dependencies: + "@octokit/request" "^6.0.0" + "@octokit/types" "^9.0.0" + universal-user-agent "^6.0.0" + +"@octokit/oauth-app@^4.0.6", "@octokit/oauth-app@^4.0.7": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@octokit/oauth-app/-/oauth-app-4.2.0.tgz#f965496b1d957c3ff0275a5d5233b380181ce72b" + integrity sha512-gyGclT77RQMkVUEW3YBeAKY+LBSc5u3eC9Wn/Uwt3WhuKuu9mrV18EnNpDqmeNll+mdV02yyBROU29Tlili6gg== + dependencies: + "@octokit/auth-oauth-app" "^5.0.0" + "@octokit/auth-oauth-user" "^2.0.0" + "@octokit/auth-unauthenticated" "^3.0.0" + "@octokit/core" "^4.0.0" + "@octokit/oauth-authorization-url" "^5.0.0" + "@octokit/oauth-methods" "^2.0.0" + "@types/aws-lambda" "^8.10.83" + fromentries "^1.3.1" + universal-user-agent "^6.0.0" + +"@octokit/oauth-authorization-url@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@octokit/oauth-authorization-url/-/oauth-authorization-url-5.0.0.tgz#029626ce87f3b31addb98cd0d2355c2381a1c5a1" + integrity sha512-y1WhN+ERDZTh0qZ4SR+zotgsQUE1ysKnvBt1hvDRB2WRzYtVKQjn97HEPzoehh66Fj9LwNdlZh+p6TJatT0zzg== + +"@octokit/oauth-methods@^2.0.0": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@octokit/oauth-methods/-/oauth-methods-2.0.5.tgz#b11ce2205c46ffcd731c7332b21bb62dad10ce24" + integrity sha512-yQP6B5gE3axNxuM3U9KqWs/ErAQ+WLPaPgC/7EjsZsQibkf8sjdAfF8/y/EJW+Dd05XQvadX4WhQZPMnO1SE1A== + dependencies: + "@octokit/oauth-authorization-url" "^5.0.0" + "@octokit/request" "^6.2.3" + "@octokit/request-error" "^3.0.3" + "@octokit/types" "^9.0.0" + btoa-lite "^1.0.0" + +"@octokit/openapi-types@^16.0.0": + version "16.0.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-16.0.0.tgz#d92838a6cd9fb4639ca875ddb3437f1045cc625e" + integrity sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA== + +"@octokit/plugin-paginate-rest@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.0.0.tgz#f34b5a7d9416019126042cd7d7b811e006c0d561" + integrity sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw== + dependencies: + "@octokit/types" "^9.0.0" + +"@octokit/plugin-rest-endpoint-methods@^7.0.0": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.0.1.tgz#f7ebe18144fd89460f98f35a587b056646e84502" + integrity sha512-pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA== + dependencies: + "@octokit/types" "^9.0.0" + deprecation "^2.3.1" + +"@octokit/plugin-retry@^4.0.3": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-retry/-/plugin-retry-4.1.2.tgz#4a8be9cdd75c0b650a5547b1b527a1498391242f" + integrity sha512-hscf7p/6DIQ8xbfDrMl9IflxugED6sFQvAUbSi75R6h/6hcNQgrb2vpfPTmyYKkdAEeTkUsEpzpQFdTAhSITOw== + dependencies: + "@octokit/types" "^9.0.0" + bottleneck "^2.15.3" + +"@octokit/plugin-throttling@^5.0.0": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-throttling/-/plugin-throttling-5.0.1.tgz#e3ba0a49830a777097b6d49615782a0a5e51e743" + integrity sha512-I4qxs7wYvYlFuY3PAUGWAVPhFXG3RwnvTiSr5Fu/Auz7bYhDLnzS2MjwV8nGLq/FPrWwYiweeZrI5yjs1YG4tQ== + dependencies: + "@octokit/types" "^9.0.0" + bottleneck "^2.15.3" + +"@octokit/request-error@^3.0.0", "@octokit/request-error@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.3.tgz#ef3dd08b8e964e53e55d471acfe00baa892b9c69" + integrity sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ== + dependencies: + "@octokit/types" "^9.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^6.0.0", "@octokit/request@^6.2.3": + version "6.2.3" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.3.tgz#76d5d6d44da5c8d406620a4c285d280ae310bdb4" + integrity sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA== + 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/types@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-9.0.0.tgz#6050db04ddf4188ec92d60e4da1a2ce0633ff635" + integrity sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw== + dependencies: + "@octokit/openapi-types" "^16.0.0" + +"@octokit/webhooks-methods@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@octokit/webhooks-methods/-/webhooks-methods-3.0.2.tgz#cece91cc72714a1c83b35d121e04334f051e509c" + integrity sha512-Vlnv5WBscf07tyAvfDbp7pTkMZUwk7z7VwEF32x6HqI+55QRwBTcT+D7DDjZXtad/1dU9E32x0HmtDlF9VIRaQ== + +"@octokit/webhooks-types@6.10.0": + version "6.10.0" + resolved "https://registry.yarnpkg.com/@octokit/webhooks-types/-/webhooks-types-6.10.0.tgz#b441780d26370c7682f4f964d4b36b5cb0c757f8" + integrity sha512-lDNv83BeEyxxukdQ0UttiUXawk9+6DkdjjFtm2GFED+24IQhTVaoSbwV9vWWKONyGLzRmCQqZmoEWkDhkEmPlw== + +"@octokit/webhooks@^10.0.0": + version "10.7.0" + resolved "https://registry.yarnpkg.com/@octokit/webhooks/-/webhooks-10.7.0.tgz#ec05e655d309383e2cd08dafe51abd1705df6d4a" + integrity sha512-zZBbQMpXXnK/ki/utrFG/TuWv9545XCSLibfDTxrYqR1PmU6zel02ebTOrA7t5XIGHzlEOc/NgISUIBUe7pMFA== + dependencies: + "@octokit/request-error" "^3.0.0" + "@octokit/webhooks-methods" "^3.0.0" + "@octokit/webhooks-types" "6.10.0" + aggregate-error "^3.1.0" + "@pkgr/utils@^2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.3.1.tgz#0a9b06ffddee364d6642b3cd562ca76f55b34a03" @@ -2377,6 +2602,16 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== +"@types/aws-lambda@^8.10.83": + version "8.10.111" + resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.111.tgz#9107c405f3011a5c423b5ac93fbf279439558571" + integrity sha512-8HR9UjIKmoemEzE2BviVtFkeenxfbizSu8raFjnT2VXxguZZ2JTlNww7INOH7IA0J/zRa3TjOftkYq6hVNkxDA== + +"@types/btoa-lite@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/btoa-lite/-/btoa-lite-1.0.0.tgz#e190a5a548e0b348adb0df9ac7fa5f1151c7cca4" + integrity sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg== + "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" @@ -2400,6 +2635,13 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== +"@types/jsonwebtoken@^9.0.0": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz#29b1369c4774200d6d6f63135bf3d1ba3ef997a4" + integrity sha512-c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw== + dependencies: + "@types/node" "*" + "@types/lodash.mergewith@4.6.7": version "4.6.7" resolved "https://registry.yarnpkg.com/@types/lodash.mergewith/-/lodash.mergewith-4.6.7.tgz#eaa65aa5872abdd282f271eae447b115b2757212" @@ -2412,6 +2654,11 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2" integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q== +"@types/lru-cache@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" + integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== + "@types/minimatch@*": version "5.1.2" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" @@ -2594,7 +2841,7 @@ add-stream@^1.0.0: resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== -aggregate-error@^3.0.0: +aggregate-error@^3.0.0, aggregate-error@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== @@ -2847,6 +3094,11 @@ base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +before-after-hook@^2.2.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" + integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== + big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -2861,6 +3113,11 @@ bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" +bottleneck@^2.15.3: + version "2.19.5" + resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" + integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2893,6 +3150,16 @@ browserslist@^4.20.2, browserslist@^4.21.3: node-releases "^2.0.6" update-browserslist-db "^1.0.5" +btoa-lite@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" + integrity sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA== + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -3532,6 +3799,11 @@ del@^4.1.1: pify "^4.0.1" rimraf "^2.6.3" +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + detect-file@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" @@ -3598,6 +3870,13 @@ eastasianwidth@^0.2.0: resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + ejs@^3.1.6: version "3.1.8" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" @@ -4203,6 +4482,11 @@ framesync@6.1.2: dependencies: tslib "2.4.0" +fromentries@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" + integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== + fs-extra@9.1.0, fs-extra@^9.0.1: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" @@ -4805,6 +5089,11 @@ is-plain-obj@^1.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -5016,6 +5305,16 @@ jsonpointer@^5.0.0: resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== +jsonwebtoken@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d" + integrity sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw== + dependencies: + jws "^3.2.2" + lodash "^4.17.21" + ms "^2.1.1" + semver "^7.3.8" + "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" @@ -5024,6 +5323,23 @@ jsonpointer@^5.0.0: array-includes "^3.1.5" object.assign "^4.1.3" +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -5465,6 +5781,13 @@ next@^13.1.1: "@next/swc-win32-ia32-msvc" "13.1.1" "@next/swc-win32-x64-msvc" "13.1.1" +node-fetch@^2.6.7: + version "2.6.9" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" + integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== + dependencies: + whatwg-url "^5.0.0" + node-releases@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" @@ -5569,7 +5892,21 @@ object.values@^1.1.5, object.values@^1.1.6: define-properties "^1.1.4" es-abstract "^1.20.4" -once@^1.3.0: +octokit@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/octokit/-/octokit-2.0.14.tgz#e2057097a6c9cac3e7724a4365b450b7c694a6a4" + integrity sha512-z6cgZBFxirpFEQ1La8Lg83GCs5hOV2EPpkYYdjsGNbfQMv8qUGjq294MiRBCbZqLufviakGsPUxaNKe3JrPmsA== + dependencies: + "@octokit/app" "^13.1.1" + "@octokit/core" "^4.0.4" + "@octokit/oauth-app" "^4.0.6" + "@octokit/plugin-paginate-rest" "^6.0.0" + "@octokit/plugin-rest-endpoint-methods" "^7.0.0" + "@octokit/plugin-retry" "^4.0.3" + "@octokit/plugin-throttling" "^5.0.0" + "@octokit/types" "^9.0.0" + +once@^1.3.0, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -6230,7 +6567,7 @@ rxjs@^7.5.5, rxjs@^7.5.7: dependencies: tslib "^2.1.0" -safe-buffer@^5.1.0, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -6284,7 +6621,7 @@ schema-utils@^3.1.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.3.8, semver@^7.1.1, semver@^7.3.4, semver@^7.3.7: +semver@7.3.8, semver@^7.1.1, semver@^7.3.4, semver@^7.3.7, semver@^7.3.8: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== @@ -6767,6 +7104,11 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" @@ -6952,6 +7294,19 @@ unique-string@^2.0.0: dependencies: crypto-random-string "^2.0.0" +universal-github-app-jwt@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/universal-github-app-jwt/-/universal-github-app-jwt-1.1.1.tgz#d57cee49020662a95ca750a057e758a1a7190e6e" + integrity sha512-G33RTLrIBMFmlDV4u4CBF7dh71eWwykck4XgaxaIVeZKOYZRAAxvcGMRFTUclVY6xoUPQvO4Ne5wKGxYm/Yy9w== + dependencies: + "@types/jsonwebtoken" "^9.0.0" + jsonwebtoken "^9.0.0" + +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + universalify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" @@ -7017,6 +7372,11 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -7030,6 +7390,14 @@ webpack-sources@^1.4.3: source-list-map "^2.0.0" source-map "~0.6.1" +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06"