From ce4e01f63c08d57ac27eaca5656472871d1ba94b Mon Sep 17 00:00:00 2001 From: Ewan Harris Date: Thu, 2 Mar 2023 22:42:35 +0000 Subject: [PATCH 1/6] feat: generate local data file --- .../{regen-builds.yml => regen-data.yml} | 16 +- data.json | 1 + package.json | 1 + scripts/generate.mjs | 29 ++ yarn.lock | 376 +++++++++++++++++- 5 files changed, 412 insertions(+), 11 deletions(-) rename .github/workflows/{regen-builds.yml => regen-data.yml} (74%) create mode 100644 data.json create mode 100644 scripts/generate.mjs diff --git a/.github/workflows/regen-builds.yml b/.github/workflows/regen-data.yml similarity index 74% rename from .github/workflows/regen-builds.yml rename to .github/workflows/regen-data.yml index 99da665..2e97a17 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,15 @@ 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 - name: Commit changes id: committed diff --git a/data.json b/data.json new file mode 100644 index 0000000..f4eab2d --- /dev/null +++ b/data.json @@ -0,0 +1 @@ +[{"name":"alloy","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/alloy","description":"Alloy is an MVC framework for the Appcelerator Titanium SDK","updated_at":"2023-02-24T08:37:41Z"},{"name":"Ti.DrawerLayout","owner":{"login":"manumaticx","html_url":"https://github.com/manumaticx"},"html_url":"https://github.com/manumaticx/Ti.DrawerLayout","description":"Deprecated","updated_at":"2023-01-28T16:28:51Z"},{"name":"wikitude-titanium","owner":{"login":"Wikitude","html_url":"https://github.com/Wikitude"},"html_url":"https://github.com/Wikitude/wikitude-titanium","description":"Wikitude's Augmented Reality Module for Titanium - working together with the Wikitude SDK library for Android and iOS. Provides image recognition and tracking, instant tracking, object recognition, geo-based augmente reality and 3D rendering and animations in an augmented reality scene. ","updated_at":"2022-03-31T23:40:24Z"},{"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"},{"name":"circularprogress","owner":{"login":"manumaticx","html_url":"https://github.com/manumaticx"},"html_url":"https://github.com/manumaticx/circularprogress","description":"Circular Progressbar Widget for Alloy","updated_at":"2022-05-19T18:36:59Z"},{"name":"Tracker","owner":{"login":"FokkeZB","html_url":"https://github.com/FokkeZB"},"html_url":"https://github.com/FokkeZB/Tracker","description":"Tracker 4 Compassion","updated_at":"2023-01-28T20:10:52Z"},{"name":"trimethyl","owner":{"login":"trimethyl","html_url":"https://github.com/trimethyl"},"html_url":"https://github.com/trimethyl/trimethyl","description":"Titanium toolchain with superpower and wrapper around bugs.","updated_at":"2023-01-28T00:28:20Z"},{"name":"titanium-mapbox","owner":{"login":"adampax","html_url":"https://github.com/adampax"},"html_url":"https://github.com/adampax/titanium-mapbox","description":"Titanium Module Wrapper for MapBox iOS SDK","updated_at":"2021-01-28T16:22:56Z"},{"name":"RESTe","owner":{"login":"jasonkneen","html_url":"https://github.com/jasonkneen"},"html_url":"https://github.com/jasonkneen/RESTe","description":"A simple JavaScript REST / API helper for Titanium ","updated_at":"2022-11-25T00:07:25Z"},{"name":"TiPushNotification","owner":{"login":"HazemKhaled","html_url":"https://github.com/HazemKhaled"},"html_url":"https://github.com/HazemKhaled/TiPushNotification","description":"CommonJS module to handle push notifications for both iOS and Android into Appcelerator Titanium apps","updated_at":"2021-05-19T05:22:47Z"},{"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"},{"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"},{"name":"TiCons-CLI","owner":{"login":"jasonkneen","html_url":"https://github.com/jasonkneen"},"html_url":"https://github.com/jasonkneen/TiCons-CLI","description":"Command-Line version of TiCons for generating icons and splash screens for Titanium & Alloy projects.","updated_at":"2022-11-11T12:30:15Z"},{"name":"kitchensink-v2","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/kitchensink-v2","description":"An Alloy-based Titanium sample app using ES6+ and more!","updated_at":"2023-02-09T15:42:54Z"},{"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-01T18:08:58Z"},{"name":"To.BounceView","owner":{"login":"Topener","html_url":"https://github.com/Topener"},"html_url":"https://github.com/Topener/To.BounceView","description":"A bouncing view widget for Titanium","updated_at":"2021-06-17T20:33:27Z"},{"name":"nl.fokkezb.button","owner":{"login":"eliegkassouf","html_url":"https://github.com/eliegkassouf"},"html_url":"https://github.com/eliegkassouf/nl.fokkezb.button","description":"Bootstrap Button widget for Appcelerator (Titanium)","updated_at":"2022-05-19T18:36:57Z"},{"name":"pulsar-titanium","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/pulsar-titanium","description":"Titanium SDK development tools and UI package for the Pulsar text editor","updated_at":"2023-03-01T14:01:05Z"},{"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"},{"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"},{"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"},{"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"},{"name":"To.ImageCache","owner":{"login":"Topener","html_url":"https://github.com/Topener"},"html_url":"https://github.com/Topener/To.ImageCache","description":"A simple CommonJS module for Titanium to cache images a little less temporarily, and configurable","updated_at":"2023-03-01T09:07:56Z"},{"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"},{"name":"titanium-googlemaps","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-googlemaps","description":"πŸ—Ί Use the Google Maps iOS-SDK with Titanium Mobile.","updated_at":"2022-10-02T14:08:55Z"},{"name":"hyperloop-mapbox","owner":{"login":"hyperloop-modules","html_url":"https://github.com/hyperloop-modules"},"html_url":"https://github.com/hyperloop-modules/hyperloop-mapbox","description":"Use the native Mapbox SDK with Axway Hyperloop.","updated_at":"2023-01-15T14:01:29Z"},{"name":"nl.fokkezb.loading","owner":{"login":"FokkeZB","html_url":"https://github.com/FokkeZB"},"html_url":"https://github.com/FokkeZB/nl.fokkezb.loading","description":"The widget provides a simple loading mask that can be easily styled and configured.","updated_at":"2023-01-28T20:58:26Z"},{"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"},{"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"},{"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"},{"name":"SegmentedControl","owner":{"login":"skypanther","html_url":"https://github.com/skypanther"},"html_url":"https://github.com/skypanther/SegmentedControl","description":"Cross-platform segmented control for Titanium","updated_at":"2020-06-04T08:46:50Z"},{"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"},{"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"},{"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"},{"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"},{"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"},{"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"},{"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"},{"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"},{"name":"studentenfutter-app","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/studentenfutter-app","description":"🍱 Mobile App to show canteen meals in Germany.","updated_at":"2022-03-15T16:08:44Z"},{"name":"titanium-es6-sample","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-es6-sample","description":"An ES6+ sample app for Appcelerator Titanium.","updated_at":"2022-01-16T22:16:09Z"},{"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"},{"name":"Titanium-Build","owner":{"login":"HazemKhaled","html_url":"https://github.com/HazemKhaled"},"html_url":"https://github.com/HazemKhaled/Titanium-Build","description":"Titanium menu to Atom with run, package and more","updated_at":"2022-03-31T05:34:20Z"},{"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"},{"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"},{"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"},{"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"},{"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"},{"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"},{"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"},{"name":"ios-extensions-sample-sirikit","owner":{"login":"appcelerator-developer-relations","html_url":"https://github.com/appcelerator-developer-relations"},"html_url":"https://github.com/appcelerator-developer-relations/ios-extensions-sample-sirikit","description":"Sample app demonstrating how to use the iOS 10 framework SiriKit in your native Titanium app.","updated_at":"2020-02-12T11:28:55Z"},{"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"},{"name":"titanium-apple-pay","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-apple-pay","description":"πŸ’° Support for iOS Apple Pay in Titanium","updated_at":"2023-01-07T17:51:00Z"},{"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"},{"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"},{"name":"TiWindowStack","owner":{"login":"HazemKhaled","html_url":"https://github.com/HazemKhaled"},"html_url":"https://github.com/HazemKhaled/TiWindowStack","description":"An Alloy widget to manage windows stack in same code for iOS and Android, with drawer support","updated_at":"2021-05-26T21:14:35Z"},{"name":"titanium-firebase","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-firebase","description":"Use the Firebase SDK in Axway Titanium πŸš€","updated_at":"2023-02-24T17:20:06Z"},{"name":"titanium-vue","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/titanium-vue","description":"Use Vue.js to easily create native mobile apps with Axway Appcelerator Titanium.","updated_at":"2022-12-31T00:09:07Z"},{"name":"TiFastlane","owner":{"login":"ulizama","html_url":"https://github.com/ulizama"},"html_url":"https://github.com/ulizama/TiFastlane","description":"With TiFastlane you'll be able to fully optimize the way you submit your app updates and maintain your certificates and provisioning profiles of all your Titanium Apps.","updated_at":"2023-02-13T15:19:09Z"},{"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"},{"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"},{"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"},{"name":"todo-app","owner":{"login":"jasonkneen","html_url":"https://github.com/jasonkneen"},"html_url":"https://github.com/jasonkneen/todo-app","description":"Simple Todo app for Titanium","updated_at":"2020-11-22T01:34:42Z"},{"name":"titanium-snackbar","owner":{"login":"hyperloop-modules","html_url":"https://github.com/hyperloop-modules"},"html_url":"https://github.com/hyperloop-modules/titanium-snackbar","description":"Use the Android Snackbar in Appcelerator Titanium.","updated_at":"2019-03-03T09:06:53Z"},{"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"},{"name":"titanium-admob","owner":{"login":"hyperloop-modules","html_url":"https://github.com/hyperloop-modules"},"html_url":"https://github.com/hyperloop-modules/titanium-admob","description":"Use the native Admob SDK with Axway Hyperloop and Titanium. ","updated_at":"2018-06-25T14:21:27Z"},{"name":"ti.oauth","owner":{"login":"appcelerator-modules","html_url":"https://github.com/appcelerator-modules"},"html_url":"https://github.com/appcelerator-modules/ti.oauth","description":"OAuth 2.0 implementation in CommonJS.","updated_at":"2022-06-08T16:55:51Z"},{"name":"titanium-arkit","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-arkit","description":"Use the iOS 11 ARKit API in Axway Titanium","updated_at":"2021-09-08T13:21:34Z"},{"name":"applepaydemo","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/applepaydemo","description":"Example app showing how to use the Ti.ApplePay module.","updated_at":"2019-10-23T09:43:59Z"},{"name":"ti.checkaccess","owner":{"login":"leoafarias","html_url":"https://github.com/leoafarias"},"html_url":"https://github.com/leoafarias/ti.checkaccess","description":"Small utility to check iOS and Android API permissions, access and display UI within for titanium","updated_at":"2019-02-27T12:04:32Z"},{"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"},{"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"},{"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"},{"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"},{"name":"ti_recover","owner":{"login":"puntorigen","html_url":"https://github.com/puntorigen"},"html_url":"https://github.com/puntorigen/ti_recover","description":"Appcelerator Titanium APK source code recovery tool","updated_at":"2022-11-09T04:08:12Z"},{"name":"titanium-growing-form","owner":{"login":"lambus-platform","html_url":"https://github.com/lambus-platform"},"html_url":"https://github.com/lambus-platform/titanium-growing-form","description":"A growing (aka \"stepper\") form for Appcelerator Titanium.","updated_at":"2022-10-28T18:56:51Z"},{"name":"abifestival-app","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/abifestival-app","description":"Cross-platform festival-app built with the Appcelerator Titanium framework","updated_at":"2021-07-14T02:26:04Z"},{"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"},{"name":"titanium-material","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-material","description":"Use the native Material UI/UX framework (https://github.com/CosmicMind/Material) in Titanium!","updated_at":"2021-07-14T02:25:24Z"},{"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"},{"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"},{"name":"titanium-hockeyapp","owner":{"login":"hyperloop-modules","html_url":"https://github.com/hyperloop-modules"},"html_url":"https://github.com/hyperloop-modules/titanium-hockeyapp","description":"Hyperloop-based version of HockeyApp for both Android and iOS","updated_at":"2018-03-20T17:47:31Z"},{"name":"titanium-scanner","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-scanner","description":"Use the iOS 13+ \"VisionKit\" document scanner API in Appcelerator Titanium.","updated_at":"2023-01-10T12:35:10Z"},{"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"},{"name":"titanium-coreml","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-coreml","description":"Use the CoreML framework in iOS 11+ with Appcelerator Titanium","updated_at":"2021-07-14T02:25:57Z"},{"name":"titanium-recaptcha","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-recaptcha","description":"Use the native Android reCAPTCHA API in Appcelerator Titanium with Hyperloop","updated_at":"2021-07-14T02:25:38Z"},{"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"},{"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"},{"name":"Titanium_RTL_guide","owner":{"login":"HazemKhaled","html_url":"https://github.com/HazemKhaled"},"html_url":"https://github.com/HazemKhaled/Titanium_RTL_guide","description":"Appcelerator Titanium RTL/RTL application","updated_at":"2019-06-09T07:18:33Z"},{"name":"roamler.imageViewer","owner":{"login":"Roamler","html_url":"https://github.com/Roamler"},"html_url":"https://github.com/Roamler/roamler.imageViewer","description":"Cross Platform (iOS & Android) widget for viewing and zooming images","updated_at":"2019-05-22T14:51:25Z"},{"name":"tiapp-updater","owner":{"login":"anexinet","html_url":"https://github.com/anexinet"},"html_url":"https://github.com/anexinet/tiapp-updater","description":"Updates the tiapp.xml file based on a JSON file configuration. Usefull for projects that require different settings for the app name, version, description, etc.","updated_at":"2021-08-18T21:21:08Z"},{"name":"titanium-ios-document-picker","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-ios-document-picker","description":"Use the native UIDocumentMenuViewController in Titanium and Hyperloop.","updated_at":"2023-01-28T07:36:21Z"},{"name":"titanium-context-menu","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-context-menu","description":"Use the `UIPreviewInteraction` and `UIMenu` API in the Titanium SDK.","updated_at":"2022-11-17T23:52:40Z"},{"name":"appium-tests","owner":{"login":"appcelerator-archive","html_url":"https://github.com/appcelerator-archive"},"html_url":"https://github.com/appcelerator-archive/appium-tests","description":"Tool to run Titanium mobile tests in Appium","updated_at":"2020-08-12T14:31:16Z"},{"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"},{"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"},{"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"},{"name":"titanium-pencilkit","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-pencilkit","description":"Use the native iOS 13+ PencilKit framework in Titanium.","updated_at":"2022-08-16T10:50:45Z"},{"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"},{"name":"titanium-ios-business-chat","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-ios-business-chat","description":"Use the iOS 11.3+ BusinessChat framework in Appcelerator Titanium and Hyperloop","updated_at":"2021-05-23T03:58:38Z"},{"name":"ti.youtube","owner":{"login":"macCesar","html_url":"https://github.com/macCesar"},"html_url":"https://github.com/macCesar/ti.youtube","description":"A small library to get the URL of the desired YouTube video ID to use it natively in Ti.Media.VideoPlayer.","updated_at":"2022-04-28T20:54:59Z"},{"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"},{"name":"de.kbueschel.hamburgerbutton","owner":{"login":"kbshl","html_url":"https://github.com/kbshl"},"html_url":"https://github.com/kbshl/de.kbueschel.hamburgerbutton","description":"An iOS Alloy widget displaying an animated hamburger button for off-canvas/sliding side menus.","updated_at":"2023-01-28T11:11:31Z"},{"name":"staballoy","owner":{"login":"Topener","html_url":"https://github.com/Topener"},"html_url":"https://github.com/Topener/staballoy","description":"Reactive UI framework for Titanium Alloy","updated_at":"2021-07-14T07:46:13Z"},{"name":"titanium-erp-protheus","owner":{"login":"vitorebatista","html_url":"https://github.com/vitorebatista"},"html_url":"https://github.com/vitorebatista/titanium-erp-protheus","description":"Mobile development using Appcelerator Titanium, making integration with ERP modulo SIGAMNT Protheus (TOTVS).","updated_at":"2022-08-05T01:08:59Z"},{"name":"appc-sample-databinding","owner":{"login":"appcelerator-developer-relations","html_url":"https://github.com/appcelerator-developer-relations"},"html_url":"https://github.com/appcelerator-developer-relations/appc-sample-databinding","description":"Alloy Databinding example ","updated_at":"2018-11-06T19:48:22Z"},{"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"},{"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"},{"name":"titanium-loading-hud","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-loading-hud","description":" A simple loading HUD that uses native UI elements to present a modal loading indicator.","updated_at":"2021-09-05T22:25:00Z"},{"name":"titanium-empty-state","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-empty-state","description":"Use the (awesome) DZNEmptyDataSet library in your Titanium iOS projects.","updated_at":"2021-07-14T02:23:46Z"},{"name":"ti.imageview","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/ti.imageview","description":"A CommonJS module to extend the \"Ti.UI.ImageView\" by request headers","updated_at":"2022-03-30T06:16:12Z"},{"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"},{"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"},{"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"},{"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"},{"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"},{"name":"babel-preset-app","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/babel-preset-app","description":"Default Babel preset for Titanium app projects","updated_at":"2023-01-31T17:44:15Z"},{"name":"alloy-toast-notification","owner":{"login":"Cyber-Duck","html_url":"https://github.com/Cyber-Duck"},"html_url":"https://github.com/Cyber-Duck/alloy-toast-notification","description":"Simple toast notification poping from the bottom of the screen on demand.","updated_at":"2017-12-21T08:56:09Z"},{"name":"purgeTSS","owner":{"login":"macCesar","html_url":"https://github.com/macCesar"},"html_url":"https://github.com/macCesar/purgeTSS","description":"PurgeTSS is a package that helps Titanium developers create visually appealing mobile apps more easily, with features including highly customizable utility classes, icon fonts support, a basic Animation module, a simple grid system, and a shades command for creating custom colors.","updated_at":"2023-02-03T22:46:50Z"},{"name":"appc-sample-ios-push-notifications","owner":{"login":"appcelerator-developer-relations","html_url":"https://github.com/appcelerator-developer-relations"},"html_url":"https://github.com/appcelerator-developer-relations/appc-sample-ios-push-notifications","description":"Using the iOS Notifications API (local, remote, silent & rich) in Titanium, including Swift-based notification extensions!","updated_at":"2022-03-22T14:33:22Z"},{"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"},{"name":"TitaniumRenderSVGIconsExample","owner":{"login":"icecandy","html_url":"https://github.com/icecandy"},"html_url":"https://github.com/icecandy/TitaniumRenderSVGIconsExample","description":"Example code to show how to render tinted icons in Titanium from SVG source files.","updated_at":"2021-02-25T03:49:50Z"},{"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"},{"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"},{"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"},{"name":"titanium-firebase-demo","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-firebase-demo","description":"A cross-platform sample app demonstrating how to use the Titanium Firebase modules in Appcelerator Titanium.","updated_at":"2021-07-14T02:23:54Z"},{"name":"de.kbueschel.uiwebviewprogressbar","owner":{"login":"kbshl","html_url":"https://github.com/kbshl"},"html_url":"https://github.com/kbshl/de.kbueschel.uiwebviewprogressbar","description":"An Alloy widget that displays a fake progress for WebView data loading","updated_at":"2023-01-28T11:11:32Z"},{"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"},{"name":"titanium-karma-client","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/titanium-karma-client","description":"Karma test runner client for Titanium","updated_at":"2023-01-31T17:01:59Z"},{"name":"titanium-slack-text-view-controller","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-slack-text-view-controller","description":"Use the awesome (!) Slack TextViewController in Titanium!","updated_at":"2021-07-14T02:25:26Z"},{"name":"tailwind-tss-color-generator","owner":{"login":"macCesar","html_url":"https://github.com/macCesar"},"html_url":"https://github.com/macCesar/tailwind-tss-color-generator","description":"Tailwind's Framework for Titanium Apps ( It started for colors ... hence the name )","updated_at":"2023-01-28T02:06:22Z"},{"name":"ti.lineapro","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/ti.lineapro","description":"πŸ“Έ Use the LineaPro iOS-SDK with Appcelerator Titanium","updated_at":"2022-03-26T12:33:29Z"},{"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"},{"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"},{"name":"titanium-carplay","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-carplay","description":"Use the iOS 12+ CarPlay framework in Appcelerator Titanium.","updated_at":"2022-10-05T19:36:41Z"},{"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"},{"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"},{"name":"ti.scroller","owner":{"login":"macCesar","html_url":"https://github.com/macCesar"},"html_url":"https://github.com/macCesar/ti.scroller","description":"A simple library to create a marquee-like elements in your Appcelerator Titanium Apps for both Classic and Alloy projects.","updated_at":"2022-04-28T20:59:31Z"},{"name":"TrackLocation","owner":{"login":"adampax","html_url":"https://github.com/adampax"},"html_url":"https://github.com/adampax/TrackLocation","description":"Simple Titanium app to demo location tracking via iOS significantLocationChange","updated_at":"2019-07-11T14:35:01Z"},{"name":"ti.dragdrop","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/ti.dragdrop","description":"Use iOS 11 drag and drop interactions in Appcelerator Titanium.","updated_at":"2022-03-30T06:22:45Z"},{"name":"hyperloop.collapsingToolbarLayout","owner":{"login":"m1ga","html_url":"https://github.com/m1ga"},"html_url":"https://github.com/m1ga/hyperloop.collapsingToolbarLayout","description":"Axway Hyperloop example: Using native CollapsingToolbar Android XML layout","updated_at":"2022-03-28T10:29:25Z"},{"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"},{"name":"ReduxTitanium","owner":{"login":"nazrdogan","html_url":"https://github.com/nazrdogan"},"html_url":"https://github.com/nazrdogan/ReduxTitanium","description":"Redux for Titanium app.","updated_at":"2018-09-02T16:36:13Z"},{"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"},{"name":"qe-appium","owner":{"login":"appcelerator-archive","html_url":"https://github.com/appcelerator-archive"},"html_url":"https://github.com/appcelerator-archive/qe-appium","description":"Appium Research","updated_at":"2020-08-12T14:30:42Z"},{"name":"appc-sample-ti730","owner":{"login":"appcelerator-developer-relations","html_url":"https://github.com/appcelerator-developer-relations"},"html_url":"https://github.com/appcelerator-developer-relations/appc-sample-ti730","description":"Sample app for new features present in Titanium SDK 7.3.0","updated_at":"2021-05-23T03:56:58Z"},{"name":"titanium-plugin-bump-ios-extension","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-plugin-bump-ios-extension","description":"A tiny Titanium plugin to bump the CFBundleVersion and CFBundleShortVersionString of native iOS extensions.","updated_at":"2022-03-28T08:17:05Z"},{"name":"alloy.babel","owner":{"login":"vladm3","html_url":"https://github.com/vladm3"},"html_url":"https://github.com/vladm3/alloy.babel","description":"Appcelerator Titanium plugin which enables ES6, Pug (Jade), STSS and LiveView support for Alloy projects","updated_at":"2023-01-28T18:03:58Z"},{"name":"tikit","owner":{"login":"macCesar","html_url":"https://github.com/macCesar"},"html_url":"https://github.com/macCesar/tikit","description":"TiKit is a collection of UI components for Titanium built on top of Alloy and PurgeTSS.","updated_at":"2023-02-06T19:53:18Z"},{"name":"griffin-app-opensource","owner":{"login":"axway-developer-relations","html_url":"https://github.com/axway-developer-relations"},"html_url":"https://github.com/axway-developer-relations/griffin-app-opensource","description":"The Axway Griffin App goes open source!","updated_at":"2021-01-13T19:10:31Z"},{"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"},{"name":"titanium-system-capabilities","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-system-capabilities","description":"Inject system-capabilities known from Xcode into your Titanium module / project","updated_at":"2021-07-14T02:25:57Z"},{"name":"titanium-sample-hyperloop-es6","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-sample-hyperloop-es6","description":"Use ES6+ in Appcelerator Hyperloop 🀘","updated_at":"2021-05-23T03:59:23Z"},{"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"},{"name":"TitaniumDelayedRenderingExample","owner":{"login":"icecandy","html_url":"https://github.com/icecandy"},"html_url":"https://github.com/icecandy/TitaniumDelayedRenderingExample","description":"An example project in Titanium to show several techniques for delayed rendering and dynamic text blockΒ sizing","updated_at":"2019-11-12T10:22:21Z"},{"name":"ElevatorstatePublicTransportHamburg","owner":{"login":"AppWerft","html_url":"https://github.com/AppWerft"},"html_url":"https://github.com/AppWerft/ElevatorstatePublicTransportHamburg","description":"API for monitoring state of elevators in Hamburg","updated_at":"2018-02-13T02:16:50Z"},{"name":"apptemplate","owner":{"login":"kosso","html_url":"https://github.com/kosso"},"html_url":"https://github.com/kosso/apptemplate","description":"Just a simple cross-platform fullscreen Titanium (6.1.0.GA) 'classic' app boilerplate template with identical UI. Windows slide in and out from the right on both Android and iOS. Includes a shared view (with an example timer) which could contain something like audio player controls, etc. - Pushing this up here as I often need to start a new app with this structure. ","updated_at":"2023-02-06T07:28:11Z"},{"name":"authenticatedImageView","owner":{"login":"Topener","html_url":"https://github.com/Topener"},"html_url":"https://github.com/Topener/authenticatedImageView","description":"Simple code to demo extending imageviews in Titanium","updated_at":"2020-05-10T06:17:43Z"},{"name":"babel-plugin-transform-titanium","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/babel-plugin-transform-titanium","description":"babel plugin for optimizing titanium code","updated_at":"2022-03-30T05:50:42Z"},{"name":"titanium-notification-service-extension","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-notification-service-extension","description":"An example implementation of using a native iOS Notification Service Extension (to display images in remote push notification) in Titanium.","updated_at":"2023-02-24T17:19:34Z"},{"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"},{"name":"Mobile-XDK-RazerMS_Titanium","owner":{"login":"RazerMS","html_url":"https://github.com/RazerMS"},"html_url":"https://github.com/RazerMS/Mobile-XDK-RazerMS_Titanium","description":"Razer Merchant Services mobile payment for Titanium - Appcelerator (CommonJS)","updated_at":"2022-03-31T06:55:34Z"},{"name":"hyperloop-google-maps","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/hyperloop-google-maps","description":"Use the GoogleMaps SDK with Axway Hyperloop in your Titanium project.","updated_at":"2021-07-14T02:26:08Z"},{"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"},{"name":"titanium-weather-kit","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-weather-kit","description":"Use the iOS 16+ WeatherKit APIs in Titanium!","updated_at":"2022-12-12T19:47:36Z"},{"name":"socket_io_demo","owner":{"login":"m1ga","html_url":"https://github.com/m1ga"},"html_url":"https://github.com/m1ga/socket_io_demo","description":"Basic socket.io chat app and a node.js socket server.","updated_at":"2022-06-22T15:41:52Z"},{"name":"TiStarWars","owner":{"login":"adampax","html_url":"https://github.com/adampax"},"html_url":"https://github.com/adampax/TiStarWars","description":"Example of using JavaScript Promises in Appcelerator Titanium","updated_at":"2019-07-11T14:34:57Z"},{"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"},{"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"},{"name":"alloy-select-listview","owner":{"login":"Cyber-Duck","html_url":"https://github.com/Cyber-Duck"},"html_url":"https://github.com/Cyber-Duck/alloy-select-listview","description":"A Ti.UI.ListView wrapper with mighty powers for forms.","updated_at":"2017-09-27T10:48:07Z"},{"name":"ti-code-templates","owner":{"login":"jasonkneen","html_url":"https://github.com/jasonkneen"},"html_url":"https://github.com/jasonkneen/ti-code-templates","description":"Repo of templates used for http://github.com/jasonkneen/ti-code-fetch-atom","updated_at":"2021-11-15T23:41:55Z"},{"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"},{"name":"ti-code-fetch-atom","owner":{"login":"jasonkneen","html_url":"https://github.com/jasonkneen"},"html_url":"https://github.com/jasonkneen/ti-code-fetch-atom","description":"Code Fetch Atom Plugin that look up templates in http://github.com/jasonkneen/ti-code-templates","updated_at":"2021-11-15T23:40:13Z"},{"name":"TitaniumColourAnimationExample","owner":{"login":"icecandy","html_url":"https://github.com/icecandy"},"html_url":"https://github.com/icecandy/TitaniumColourAnimationExample","description":"Example Titanium project to show how to animate colour","updated_at":"2018-07-20T04:07:20Z"},{"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"},{"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"},{"name":"osu-shuttle-js","owner":{"login":"nicjay","html_url":"https://github.com/nicjay"},"html_url":"https://github.com/nicjay/osu-shuttle-js","description":"Campus Shuttle Tracking - Senior Project","updated_at":"2023-01-28T03:04:30Z"},{"name":"titanium-plugin-extension-version-bump","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-plugin-extension-version-bump","description":"Automatically bump the Info.plist versions of native iOS extensions when changing the app version in the tiapp.xml.","updated_at":"2021-07-14T02:22:39Z"},{"name":"lav-warning","owner":{"login":"ciropom","html_url":"https://github.com/ciropom"},"html_url":"https://github.com/ciropom/lav-warning","description":"titanium app to send animal abuse alerts.","updated_at":"2020-08-02T09:52:22Z"},{"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"},{"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"},{"name":"titanium-turbo","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-turbo","description":"Axway Amplify module that adds some enhancements for Appcelerator Titanium Alloy","updated_at":"2022-01-23T23:48:48Z"},{"name":"titanium-exif","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-exif","description":"Parse EXIF-data from local images in Axway Titanium.","updated_at":"2021-07-14T02:25:55Z"},{"name":"hyperloop.audiorecorder","owner":{"login":"m1ga","html_url":"https://github.com/m1ga"},"html_url":"https://github.com/m1ga/hyperloop.audiorecorder","description":"Axway Hyperloop audio recorder example for Android","updated_at":"2018-10-08T13:59:56Z"},{"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"},{"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"},{"name":"titanium-passkeys","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-passkeys","description":"Use the iOS 16+ PassKeys APIs in Titanium!","updated_at":"2023-01-04T01:30:53Z"},{"name":"color-shades","owner":{"login":"macCesar","html_url":"https://github.com/macCesar"},"html_url":"https://github.com/macCesar/color-shades","description":"A Titanium App for iOS and Android to showcase all the colors in config.js file, created with PurgeTSS","updated_at":"2022-11-02T09:54:33Z"},{"name":"babel-plugin-titanium-controller-args","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/babel-plugin-titanium-controller-args","description":"⭐ Axway Amplify plugin for replacing string references in Appcelerator Titanium SDK Framework","updated_at":"2022-01-13T15:44:49Z"},{"name":"wordguesser","owner":{"login":"m1ga","html_url":"https://github.com/m1ga"},"html_url":"https://github.com/m1ga/wordguesser","description":"Word guesser app for Appcelerator Titanium","updated_at":"2022-03-21T23:46:29Z"},{"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"},{"name":"cdkit.ui.automation","owner":{"login":"timoa","html_url":"https://github.com/timoa"},"html_url":"https://github.com/timoa/cdkit.ui.automation","description":"This tool is a set of scripts to launch an Appium Server instance and run UI tests on iOS simulators and Genymotion Android emulators","updated_at":"2022-11-03T00:23:15Z"},{"name":"titanium-pspdfkit-ios","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-pspdfkit-ios","description":"A refactored version of the (awesome) PSPDFKit iOS module for Titanium using pure Swift.","updated_at":"2020-02-26T18:29:58Z"},{"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"},{"name":"eventrize-v1","owner":{"login":"ArabHosters","html_url":"https://github.com/ArabHosters"},"html_url":"https://github.com/ArabHosters/eventrize-v1","description":null,"updated_at":"2017-07-12T03:22:09Z"},{"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"},{"name":"TitaniumCustomAnimationExample","owner":{"login":"icecandy","html_url":"https://github.com/icecandy"},"html_url":"https://github.com/icecandy/TitaniumCustomAnimationExample","description":"An example project in Axway/Appcelerator Titanium for a custom animation engine","updated_at":"2017-10-13T15:47:08Z"},{"name":"ti.multiconfiguration","owner":{"login":"NetrisTV","html_url":"https://github.com/NetrisTV"},"html_url":"https://github.com/NetrisTV/ti.multiconfiguration","description":"Plugin for dealing with multiple configurations for Appcelerator Titanium projects","updated_at":"2021-02-04T15:55:24Z"},{"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"},{"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"},{"name":"appc-github-client","owner":{"login":"appcelerator-developer-relations","html_url":"https://github.com/appcelerator-developer-relations"},"html_url":"https://github.com/appcelerator-developer-relations/appc-github-client","description":"Dashboard used to monitor Github organizations, repositories and more!","updated_at":"2018-09-13T12:23:39Z"},{"name":"template","owner":{"login":"ptquang86","html_url":"https://github.com/ptquang86"},"html_url":"https://github.com/ptquang86/template","description":null,"updated_at":"2017-03-09T02:49:00Z"},{"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"},{"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"},{"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"},{"name":"prometeo","owner":{"login":"gikmx","html_url":"https://github.com/gikmx"},"html_url":"https://github.com/gikmx/prometeo","description":"[deprecated]","updated_at":"2023-01-28T16:12:19Z"},{"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"},{"name":"nativeloop","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/nativeloop","description":"⭐ Axway Amplify module for using nativeloop with Appcelerator Titanium SDK Framework","updated_at":"2022-01-23T12:15:02Z"},{"name":"Ti.androidSwitch","owner":{"login":"genocsb","html_url":"https://github.com/genocsb"},"html_url":"https://github.com/genocsb/Ti.androidSwitch","description":null,"updated_at":"2018-05-02T09:53:38Z"},{"name":"Titanium-Reversed-Word-App","owner":{"login":"kassemitani","html_url":"https://github.com/kassemitani"},"html_url":"https://github.com/kassemitani/Titanium-Reversed-Word-App","description":"Simple App using Appcelerator Titanium Mobile SDK","updated_at":"2017-08-10T13:42:12Z"},{"name":"ti-flux","owner":{"login":"pablog178","html_url":"https://github.com/pablog178"},"html_url":"https://github.com/pablog178/ti-flux","description":"Flux Architecture in Titanium + Alloy ","updated_at":"2020-08-03T19:19:22Z"},{"name":"titanium-calculator","owner":{"login":"Dmytro27Ind","html_url":"https://github.com/Dmytro27Ind"},"html_url":"https://github.com/Dmytro27Ind/titanium-calculator","description":"A simple calculator written using Titanium SDK and Alloy framework.","updated_at":"2023-01-29T23:49:09Z"},{"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"},{"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"},{"name":"ti-jsondb","owner":{"login":"caspahouzer","html_url":"https://github.com/caspahouzer"},"html_url":"https://github.com/caspahouzer/ti-jsondb","description":"A file based JSON database for TiDev Titanium","updated_at":"2022-04-01T06:45:01Z"},{"name":"titanium-insert-sdk","owner":{"login":"hyperloop-modules","html_url":"https://github.com/hyperloop-modules"},"html_url":"https://github.com/hyperloop-modules/titanium-insert-sdk","description":"Use the native Insert SDK in Titanium with Hyperloop.","updated_at":"2018-03-21T19:19:36Z"},{"name":"alloy_popup_list","owner":{"login":"rafbel","html_url":"https://github.com/rafbel"},"html_url":"https://github.com/rafbel/alloy_popup_list","description":"Popup list widget with search for Appcelerator Alloy and Titanium. Requires libraries available at: https://github.com/rafbel/titanium_libraries","updated_at":"2017-12-06T18:48:47Z"},{"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"},{"name":"aplus-es6","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/aplus-es6","description":"⭐ Axway Amplify module for transforming ES6/ES2015 code in Appcelerator Titanium SDK Framework","updated_at":"2022-01-11T03:49:04Z"},{"name":"titanium-streams-demo","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-streams-demo","description":"Titanium Native mobile app demo for using AMPLIFY Streams","updated_at":"2022-01-05T23:43:14Z"},{"name":"titanium-essentials","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-essentials","description":"Axway Amplify πŸš€ Essential Toolkit for Appcelerator Titanium Mobile","updated_at":"2022-01-10T19:40:44Z"},{"name":"aplus-npm","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/aplus-npm","description":"⭐ Axway Amplify module for executing npm during build process for Appcelerator Titanium SDK","updated_at":"2022-01-11T03:11:49Z"},{"name":"SEGMENTED_CONTROL_Example","owner":{"login":"Bhushankumar-pawar","html_url":"https://github.com/Bhushankumar-pawar"},"html_url":"https://github.com/Bhushankumar-pawar/SEGMENTED_CONTROL_Example","description":"An Alloy widget Segmented Control for Titanium / Appcelerator (Cross-platform )","updated_at":"2018-04-28T18:55:20Z"},{"name":"appc-sample-app-leak","owner":{"login":"appcelerator-developer-relations","html_url":"https://github.com/appcelerator-developer-relations"},"html_url":"https://github.com/appcelerator-developer-relations/appc-sample-app-leak","description":"An example project demonstrating a possible app-leak. Part of the \"Managing Memory and Finding Leaks\" guide","updated_at":"2018-03-14T23:14:54Z"},{"name":"titanium-pyze","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-pyze","description":"Use the native Pyze SDK in Titanium","updated_at":"2018-03-09T15:03:01Z"},{"name":"aplus-core","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/aplus-core","description":"⭐ Axway Amplify module building Alloy projects on Appcelerator Titanium SDK Framework","updated_at":"2022-01-11T03:08:41Z"},{"name":"eventrize","owner":{"login":"ArabHosters","html_url":"https://github.com/ArabHosters"},"html_url":"https://github.com/ArabHosters/eventrize","description":"Build an app template for online factory (app generator), help event organisers to communicate with attendees and sponsors.","updated_at":"2017-07-14T02:21:12Z"},{"name":"titanium-module-copier","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-module-copier","description":"⭐ Axway Amplify module for copying dependencies to Appcelerator Titanium Resources SDK","updated_at":"2022-01-10T21:54:19Z"},{"name":"tiapp-dir","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/tiapp-dir","description":"⭐ Axway Amplify utility to find root directory of Appcelerator Titanium SDK project","updated_at":"2022-01-10T19:17:40Z"},{"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"},{"name":"titanium-updater","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-updater","description":"Axway Amplify module to check for app updates for Appcelerator Titanium","updated_at":"2022-01-11T03:22:57Z"},{"name":"titanium-template-turbo-next","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-turbo-next","description":"Axway Amplify Template for creating awesome next-generation apps with Appcelerator Titanium SDK","updated_at":"2022-08-02T10:27:38Z"},{"name":"may-the-4th","owner":{"login":"brentonhouse","html_url":"https://github.com/brentonhouse"},"html_url":"https://github.com/brentonhouse/may-the-4th","description":"May the 4th be with you always! - Star Wars intro for iOS and Android mobile app","updated_at":"2020-05-04T23:23:32Z"},{"name":"titanium-polyfill","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-polyfill","description":"⭐ Axway Amplify native polyfills necessary to use Node.js modules for Appcelerator Titanium SDK","updated_at":"2023-02-26T20:45:08Z"},{"name":"titanium-jsonc","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-jsonc","description":"⭐ Axway Amplify module for using JSONC with Appcelerator Titanium SDK","updated_at":"2022-01-13T15:41:21Z"},{"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"},{"name":"titanium-tiapp-xml","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-tiapp-xml","description":"Axway Amplify module to modify app config - tiapp.xml for Appcelerator Titanium apps","updated_at":"2022-01-10T19:29:57Z"},{"name":"titanium-permissions","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-permissions","description":"Axway Amplify module for permission requests for Appcelerator Titanium Mobile","updated_at":"2022-01-13T15:30:17Z"},{"name":"aplus-node","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/aplus-node","description":"⭐ Axway Amplify module for using Node.js code with Appcelerator Titanium SDK","updated_at":"2022-01-13T16:02:37Z"},{"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"},{"name":"titanium-querystring","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-querystring","description":"⭐ Axway Amplify module adding querystring support to Appcelerator Titanium SDK","updated_at":"2022-01-11T03:18:54Z"},{"name":"titanium-plugin-alloy-local","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-plugin-alloy-local","description":"⭐ Axway Amplify plugin to use locally installed Alloy with Appcelerator Titanium SDK","updated_at":"2022-01-10T21:33:51Z"},{"name":"geek-mobile","owner":{"login":"brentonhouse","html_url":"https://github.com/brentonhouse"},"html_url":"https://github.com/brentonhouse/geek-mobile","description":"πŸš€Geek Mobile Toolkit - Everything a geek needs to create, build, and manage cross-platform native mobile apps.","updated_at":"2020-10-27T05:20:45Z"},{"name":"titanium-eslint-config","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-eslint-config","description":"Axway Amplify - ESLint settings package for use with Appcelerator Titanium Mobile","updated_at":"2022-01-13T15:52:37Z"},{"name":"titanium-eventsource","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-eventsource","description":"⭐ Axway Amplify module to implement EventSource for Appcelerator Titanium SDK","updated_at":"2022-01-10T19:23:26Z"},{"name":"titanium-events","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-events","description":"⭐ Axway Amplify event emitter implementation for Appcelerator Titanium SDK","updated_at":"2022-01-10T22:00:00Z"},{"name":"titanium-please","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-please","description":"⭐ Axway Amplify module for REST API calls using Appcelerator Titanium Mobile","updated_at":"2022-01-10T18:59:47Z"},{"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"},{"name":"titanium-axios","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-axios","description":"⭐ Axway Amplify module for using axios with http/https/api with Appcelerator Titanium SDK","updated_at":"2022-01-11T02:41:28Z"},{"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"},{"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"},{"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"},{"name":"titanium-calendar-picker","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-calendar-picker","description":"⭐ Axway Amplify module for calendar dates times for Appcelerator Titanium SDK","updated_at":"2022-01-11T02:51:57Z"},{"name":"titanium-authentication","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-authentication","description":"⭐ Axway Amplify authentication module for Appcelerator Titanium SDK","updated_at":"2022-01-13T15:42:09Z"},{"name":"titanium-sdk-manager","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-sdk-manager","description":"⭐ Axway Amplify module for managing and installing SDK for Appcelerator Titanium SDK","updated_at":"2022-01-11T03:56:20Z"},{"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"},{"name":"titanium-template-turbo-default","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-turbo-default","description":"Axway Amplify template for creating new modules for Appcelerator Titanium Turbo","updated_at":"2022-01-10T19:19:15Z"},{"name":"oclif-plugin-titanium","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/oclif-plugin-titanium","description":"πŸš€oclif plugin for creating, building, and managing Titanium Native mobile apps","updated_at":"2022-01-07T15:59:38Z"},{"name":"titanium-xml2json","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-xml2json","description":"⭐ Axway Amplify module to convert XML to JSON for Appcelerator Titanium apps","updated_at":"2022-01-11T03:25:56Z"},{"name":"titanium-template-alloy-default","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-alloy-default","description":"⭐ Axway Amplify template for using basic Alloy with Appcelerator Titanium SDK","updated_at":"2022-01-10T21:17:07Z"},{"name":"geek-logger","owner":{"login":"brentonhouse","html_url":"https://github.com/brentonhouse"},"html_url":"https://github.com/brentonhouse/geek-logger","description":"Logging module for Node.js and Axway Titanium","updated_at":"2022-10-28T02:28:52Z"},{"name":"aplus-babel","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/aplus-babel","description":"⭐ Axway Amplify module for using babel transformations with Appcelerator Titanium SDK","updated_at":"2022-01-11T03:05:05Z"},{"name":"Segmented_Control","owner":{"login":"Bhushankumar-pawar","html_url":"https://github.com/Bhushankumar-pawar"},"html_url":"https://github.com/Bhushankumar-pawar/Segmented_Control","description":"An Alloy widget Segmented Control for Titanium / Appcelerator (Cross-platform )","updated_at":"2018-05-07T05:51:37Z"},{"name":"titanium-plugin-turbo","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-plugin-turbo","description":"⭐ Axway Amplify plugin to use Turbo or Alloy with Appcelerator Titanium SDK","updated_at":"2022-01-10T19:12:05Z"},{"name":"custom_node_libraries","owner":{"login":"rafbel","html_url":"https://github.com/rafbel"},"html_url":"https://github.com/rafbel/custom_node_libraries","description":"Custom node libraries. These libraries use the best node modules on the web and create a ready to use and simple plug-and-use solution.","updated_at":"2017-11-21T18:39:42Z"},{"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"},{"name":"geek-jwt","owner":{"login":"brentonhouse","html_url":"https://github.com/brentonhouse"},"html_url":"https://github.com/brentonhouse/geek-jwt","description":"JWT parser for JavaScript Node.js and Titanium native mobile","updated_at":"2021-07-16T19:01:31Z"},{"name":"titanium-template-alloy-basic","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-alloy-basic","description":"⭐ Axway Amplify template for using Alloy with Appcelerator Titanium SDK","updated_at":"2022-01-10T21:38:31Z"},{"name":"titanium-errors","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-errors","description":"⭐ Axway Amplify event emitter implementation for Appcelerator Titanium SDK","updated_at":"2022-01-10T20:41:19Z"},{"name":"titanium-template-turbo-fully-loaded","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-turbo-fully-loaded","description":"Axway Amplify Template for building new apps with Appcelerator Titanium Alloy Turbo","updated_at":"2022-01-10T20:00:13Z"},{"name":"titanium-template-alloy-basic","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-alloy-basic","description":"⭐ Axway Amplify template for using Alloy with Appcelerator Titanium SDK","updated_at":"2022-01-10T21:38:31Z"},{"name":"geek-retry","owner":{"login":"brentonhouse","html_url":"https://github.com/brentonhouse"},"html_url":"https://github.com/brentonhouse/geek-retry","description":"Retry JavaScript functions and promises in Node.js and Axway Titanium","updated_at":"2020-10-16T14:09:51Z"},{"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"},{"name":"titanium-errors","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-errors","description":"⭐ Axway Amplify event emitter implementation for Appcelerator Titanium SDK","updated_at":"2022-01-10T20:41:19Z"},{"name":"titanium-streams","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-streams","description":"Titanium Native mobile SDK for AMPLIFY Streams","updated_at":"2022-01-10T19:02:15Z"},{"name":"titanium-template-turbo-fully-loaded","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-turbo-fully-loaded","description":"Axway Amplify Template for building new apps with Appcelerator Titanium Alloy Turbo","updated_at":"2022-01-10T20:00:13Z"},{"name":"titanium-jwt","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-jwt","description":"Axway Amplify JWT parser for Appcelerator Titanium apps","updated_at":"2022-01-10T20:43:27Z"},{"name":"oclif-plugin-base","owner":{"login":"brentonhouse","html_url":"https://github.com/brentonhouse"},"html_url":"https://github.com/brentonhouse/oclif-plugin-base","description":"Base oclif plugin for Geek Mobile Toolkit","updated_at":"2019-03-06T23:23:47Z"},{"name":"titanium_libraries","owner":{"login":"rafbel","html_url":"https://github.com/rafbel"},"html_url":"https://github.com/rafbel/titanium_libraries","description":"Custom made libraries for Appcelerator Titanium.","updated_at":"2017-12-07T12:58:13Z"},{"name":"titanium-authentication-oauth","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-authentication-oauth","description":"Axway Amplify module for OAuth authentication with Appcelerator Titanium SDK","updated_at":"2022-01-11T02:56:40Z"},{"name":"titanium-json5","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-json5","description":"⭐ Axway Amplify module for using JSON5 with Appcelerator Titanium SDK","updated_at":"2022-01-11T03:01:19Z"},{"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"}] \ No newline at end of file diff --git a/package.json b/package.json index fb7adf7..b4dc0fe 100644 --- a/package.json +++ b/package.json @@ -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/generate.mjs b/scripts/generate.mjs new file mode 100644 index 0000000..cfad658 --- /dev/null +++ b/scripts/generate.mjs @@ -0,0 +1,29 @@ +import { Octokit } from 'octokit'; +import * as fs from 'node:fs/promises'; + +const gh = new Octokit(); + +const searchResults = gh.paginate.iterator(gh.rest.search.repos, { + q: 'titanium in:topics language:objc language:swift language:java language:kotlin language:javascript' +}); + +const repositories = []; +for await (const {data} of searchResults) { + repositories.push(...data.map(mapData)); +} + +const out = new URL('../data.json', import.meta.url); +await fs.writeFile(out, JSON.stringify(repositories, undefined, '\t')); + +function mapData(data) { + 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 + } +} 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" From efba5ba44f600e7df5c39d514cab4ae9aaa14505 Mon Sep 17 00:00:00 2001 From: Ewan Harris Date: Thu, 2 Mar 2023 22:43:39 +0000 Subject: [PATCH 2/6] feat: serve data from api on server and use in frontend --- src/lib/pages/home/index.tsx | 6 ++---- src/pages/api/hello.ts | 10 ---------- src/pages/api/modules.ts | 31 +++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 14 deletions(-) delete mode 100644 src/pages/api/hello.ts create mode 100644 src/pages/api/modules.ts diff --git a/src/lib/pages/home/index.tsx b/src/lib/pages/home/index.tsx index dec3d49..f6c0a21 100644 --- a/src/lib/pages/home/index.tsx +++ b/src/lib/pages/home/index.tsx @@ -38,18 +38,16 @@ 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`, + `/api/modules?search=${encodeURIComponent(value)}`, { headers: { "User-Agent": "Titanium Module Search", - Accept: "application/vnd.github+json", - Authorization: `Bearer ${process.env.NEXT_PUBLIC_GITHUB_ACCESS_TOKEN}`, }, } ); 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..7bad49a --- /dev/null +++ b/src/pages/api/modules.ts @@ -0,0 +1,31 @@ +// 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 on search term" }); + } + + res.statusCode = 200; + return res.json( + data.filter(({ description, name }) => { + return ( + description?.toLowerCase().includes(searchTerm.toLowerCase()) || + name?.toLowerCase().includes(searchTerm.toLowerCase()) + ); + }) + ); +}; + +export default modules; From 7d9e359bddc991f4c6cb6d15d27b356969454440 Mon Sep 17 00:00:00 2001 From: Ewan Harris Date: Mon, 6 Mar 2023 00:01:58 +0000 Subject: [PATCH 3/6] feat: pull supported platforms from a best effort folder lookup --- .github/workflows/regen-data.yml | 2 + data.json | 1392 +++++++++++++++++++++++++++++- scripts/generate.mjs | 59 +- 3 files changed, 1447 insertions(+), 6 deletions(-) diff --git a/.github/workflows/regen-data.yml b/.github/workflows/regen-data.yml index 2e97a17..f1a7d9e 100644 --- a/.github/workflows/regen-data.yml +++ b/.github/workflows/regen-data.yml @@ -26,6 +26,8 @@ jobs: - 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 index f4eab2d..5018bf1 100644 --- a/data.json +++ b/data.json @@ -1 +1,1391 @@ -[{"name":"alloy","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/alloy","description":"Alloy is an MVC framework for the Appcelerator Titanium SDK","updated_at":"2023-02-24T08:37:41Z"},{"name":"Ti.DrawerLayout","owner":{"login":"manumaticx","html_url":"https://github.com/manumaticx"},"html_url":"https://github.com/manumaticx/Ti.DrawerLayout","description":"Deprecated","updated_at":"2023-01-28T16:28:51Z"},{"name":"wikitude-titanium","owner":{"login":"Wikitude","html_url":"https://github.com/Wikitude"},"html_url":"https://github.com/Wikitude/wikitude-titanium","description":"Wikitude's Augmented Reality Module for Titanium - working together with the Wikitude SDK library for Android and iOS. Provides image recognition and tracking, instant tracking, object recognition, geo-based augmente reality and 3D rendering and animations in an augmented reality scene. ","updated_at":"2022-03-31T23:40:24Z"},{"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"},{"name":"circularprogress","owner":{"login":"manumaticx","html_url":"https://github.com/manumaticx"},"html_url":"https://github.com/manumaticx/circularprogress","description":"Circular Progressbar Widget for Alloy","updated_at":"2022-05-19T18:36:59Z"},{"name":"Tracker","owner":{"login":"FokkeZB","html_url":"https://github.com/FokkeZB"},"html_url":"https://github.com/FokkeZB/Tracker","description":"Tracker 4 Compassion","updated_at":"2023-01-28T20:10:52Z"},{"name":"trimethyl","owner":{"login":"trimethyl","html_url":"https://github.com/trimethyl"},"html_url":"https://github.com/trimethyl/trimethyl","description":"Titanium toolchain with superpower and wrapper around bugs.","updated_at":"2023-01-28T00:28:20Z"},{"name":"titanium-mapbox","owner":{"login":"adampax","html_url":"https://github.com/adampax"},"html_url":"https://github.com/adampax/titanium-mapbox","description":"Titanium Module Wrapper for MapBox iOS SDK","updated_at":"2021-01-28T16:22:56Z"},{"name":"RESTe","owner":{"login":"jasonkneen","html_url":"https://github.com/jasonkneen"},"html_url":"https://github.com/jasonkneen/RESTe","description":"A simple JavaScript REST / API helper for Titanium ","updated_at":"2022-11-25T00:07:25Z"},{"name":"TiPushNotification","owner":{"login":"HazemKhaled","html_url":"https://github.com/HazemKhaled"},"html_url":"https://github.com/HazemKhaled/TiPushNotification","description":"CommonJS module to handle push notifications for both iOS and Android into Appcelerator Titanium apps","updated_at":"2021-05-19T05:22:47Z"},{"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"},{"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"},{"name":"TiCons-CLI","owner":{"login":"jasonkneen","html_url":"https://github.com/jasonkneen"},"html_url":"https://github.com/jasonkneen/TiCons-CLI","description":"Command-Line version of TiCons for generating icons and splash screens for Titanium & Alloy projects.","updated_at":"2022-11-11T12:30:15Z"},{"name":"kitchensink-v2","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/kitchensink-v2","description":"An Alloy-based Titanium sample app using ES6+ and more!","updated_at":"2023-02-09T15:42:54Z"},{"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-01T18:08:58Z"},{"name":"To.BounceView","owner":{"login":"Topener","html_url":"https://github.com/Topener"},"html_url":"https://github.com/Topener/To.BounceView","description":"A bouncing view widget for Titanium","updated_at":"2021-06-17T20:33:27Z"},{"name":"nl.fokkezb.button","owner":{"login":"eliegkassouf","html_url":"https://github.com/eliegkassouf"},"html_url":"https://github.com/eliegkassouf/nl.fokkezb.button","description":"Bootstrap Button widget for Appcelerator (Titanium)","updated_at":"2022-05-19T18:36:57Z"},{"name":"pulsar-titanium","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/pulsar-titanium","description":"Titanium SDK development tools and UI package for the Pulsar text editor","updated_at":"2023-03-01T14:01:05Z"},{"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"},{"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"},{"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"},{"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"},{"name":"To.ImageCache","owner":{"login":"Topener","html_url":"https://github.com/Topener"},"html_url":"https://github.com/Topener/To.ImageCache","description":"A simple CommonJS module for Titanium to cache images a little less temporarily, and configurable","updated_at":"2023-03-01T09:07:56Z"},{"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"},{"name":"titanium-googlemaps","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-googlemaps","description":"πŸ—Ί Use the Google Maps iOS-SDK with Titanium Mobile.","updated_at":"2022-10-02T14:08:55Z"},{"name":"hyperloop-mapbox","owner":{"login":"hyperloop-modules","html_url":"https://github.com/hyperloop-modules"},"html_url":"https://github.com/hyperloop-modules/hyperloop-mapbox","description":"Use the native Mapbox SDK with Axway Hyperloop.","updated_at":"2023-01-15T14:01:29Z"},{"name":"nl.fokkezb.loading","owner":{"login":"FokkeZB","html_url":"https://github.com/FokkeZB"},"html_url":"https://github.com/FokkeZB/nl.fokkezb.loading","description":"The widget provides a simple loading mask that can be easily styled and configured.","updated_at":"2023-01-28T20:58:26Z"},{"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"},{"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"},{"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"},{"name":"SegmentedControl","owner":{"login":"skypanther","html_url":"https://github.com/skypanther"},"html_url":"https://github.com/skypanther/SegmentedControl","description":"Cross-platform segmented control for Titanium","updated_at":"2020-06-04T08:46:50Z"},{"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"},{"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"},{"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"},{"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"},{"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"},{"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"},{"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"},{"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"},{"name":"studentenfutter-app","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/studentenfutter-app","description":"🍱 Mobile App to show canteen meals in Germany.","updated_at":"2022-03-15T16:08:44Z"},{"name":"titanium-es6-sample","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-es6-sample","description":"An ES6+ sample app for Appcelerator Titanium.","updated_at":"2022-01-16T22:16:09Z"},{"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"},{"name":"Titanium-Build","owner":{"login":"HazemKhaled","html_url":"https://github.com/HazemKhaled"},"html_url":"https://github.com/HazemKhaled/Titanium-Build","description":"Titanium menu to Atom with run, package and more","updated_at":"2022-03-31T05:34:20Z"},{"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"},{"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"},{"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"},{"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"},{"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"},{"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"},{"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"},{"name":"ios-extensions-sample-sirikit","owner":{"login":"appcelerator-developer-relations","html_url":"https://github.com/appcelerator-developer-relations"},"html_url":"https://github.com/appcelerator-developer-relations/ios-extensions-sample-sirikit","description":"Sample app demonstrating how to use the iOS 10 framework SiriKit in your native Titanium app.","updated_at":"2020-02-12T11:28:55Z"},{"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"},{"name":"titanium-apple-pay","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-apple-pay","description":"πŸ’° Support for iOS Apple Pay in Titanium","updated_at":"2023-01-07T17:51:00Z"},{"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"},{"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"},{"name":"TiWindowStack","owner":{"login":"HazemKhaled","html_url":"https://github.com/HazemKhaled"},"html_url":"https://github.com/HazemKhaled/TiWindowStack","description":"An Alloy widget to manage windows stack in same code for iOS and Android, with drawer support","updated_at":"2021-05-26T21:14:35Z"},{"name":"titanium-firebase","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-firebase","description":"Use the Firebase SDK in Axway Titanium πŸš€","updated_at":"2023-02-24T17:20:06Z"},{"name":"titanium-vue","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/titanium-vue","description":"Use Vue.js to easily create native mobile apps with Axway Appcelerator Titanium.","updated_at":"2022-12-31T00:09:07Z"},{"name":"TiFastlane","owner":{"login":"ulizama","html_url":"https://github.com/ulizama"},"html_url":"https://github.com/ulizama/TiFastlane","description":"With TiFastlane you'll be able to fully optimize the way you submit your app updates and maintain your certificates and provisioning profiles of all your Titanium Apps.","updated_at":"2023-02-13T15:19:09Z"},{"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"},{"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"},{"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"},{"name":"todo-app","owner":{"login":"jasonkneen","html_url":"https://github.com/jasonkneen"},"html_url":"https://github.com/jasonkneen/todo-app","description":"Simple Todo app for Titanium","updated_at":"2020-11-22T01:34:42Z"},{"name":"titanium-snackbar","owner":{"login":"hyperloop-modules","html_url":"https://github.com/hyperloop-modules"},"html_url":"https://github.com/hyperloop-modules/titanium-snackbar","description":"Use the Android Snackbar in Appcelerator Titanium.","updated_at":"2019-03-03T09:06:53Z"},{"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"},{"name":"titanium-admob","owner":{"login":"hyperloop-modules","html_url":"https://github.com/hyperloop-modules"},"html_url":"https://github.com/hyperloop-modules/titanium-admob","description":"Use the native Admob SDK with Axway Hyperloop and Titanium. ","updated_at":"2018-06-25T14:21:27Z"},{"name":"ti.oauth","owner":{"login":"appcelerator-modules","html_url":"https://github.com/appcelerator-modules"},"html_url":"https://github.com/appcelerator-modules/ti.oauth","description":"OAuth 2.0 implementation in CommonJS.","updated_at":"2022-06-08T16:55:51Z"},{"name":"titanium-arkit","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-arkit","description":"Use the iOS 11 ARKit API in Axway Titanium","updated_at":"2021-09-08T13:21:34Z"},{"name":"applepaydemo","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/applepaydemo","description":"Example app showing how to use the Ti.ApplePay module.","updated_at":"2019-10-23T09:43:59Z"},{"name":"ti.checkaccess","owner":{"login":"leoafarias","html_url":"https://github.com/leoafarias"},"html_url":"https://github.com/leoafarias/ti.checkaccess","description":"Small utility to check iOS and Android API permissions, access and display UI within for titanium","updated_at":"2019-02-27T12:04:32Z"},{"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"},{"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"},{"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"},{"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"},{"name":"ti_recover","owner":{"login":"puntorigen","html_url":"https://github.com/puntorigen"},"html_url":"https://github.com/puntorigen/ti_recover","description":"Appcelerator Titanium APK source code recovery tool","updated_at":"2022-11-09T04:08:12Z"},{"name":"titanium-growing-form","owner":{"login":"lambus-platform","html_url":"https://github.com/lambus-platform"},"html_url":"https://github.com/lambus-platform/titanium-growing-form","description":"A growing (aka \"stepper\") form for Appcelerator Titanium.","updated_at":"2022-10-28T18:56:51Z"},{"name":"abifestival-app","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/abifestival-app","description":"Cross-platform festival-app built with the Appcelerator Titanium framework","updated_at":"2021-07-14T02:26:04Z"},{"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"},{"name":"titanium-material","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-material","description":"Use the native Material UI/UX framework (https://github.com/CosmicMind/Material) in Titanium!","updated_at":"2021-07-14T02:25:24Z"},{"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"},{"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"},{"name":"titanium-hockeyapp","owner":{"login":"hyperloop-modules","html_url":"https://github.com/hyperloop-modules"},"html_url":"https://github.com/hyperloop-modules/titanium-hockeyapp","description":"Hyperloop-based version of HockeyApp for both Android and iOS","updated_at":"2018-03-20T17:47:31Z"},{"name":"titanium-scanner","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-scanner","description":"Use the iOS 13+ \"VisionKit\" document scanner API in Appcelerator Titanium.","updated_at":"2023-01-10T12:35:10Z"},{"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"},{"name":"titanium-coreml","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-coreml","description":"Use the CoreML framework in iOS 11+ with Appcelerator Titanium","updated_at":"2021-07-14T02:25:57Z"},{"name":"titanium-recaptcha","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-recaptcha","description":"Use the native Android reCAPTCHA API in Appcelerator Titanium with Hyperloop","updated_at":"2021-07-14T02:25:38Z"},{"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"},{"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"},{"name":"Titanium_RTL_guide","owner":{"login":"HazemKhaled","html_url":"https://github.com/HazemKhaled"},"html_url":"https://github.com/HazemKhaled/Titanium_RTL_guide","description":"Appcelerator Titanium RTL/RTL application","updated_at":"2019-06-09T07:18:33Z"},{"name":"roamler.imageViewer","owner":{"login":"Roamler","html_url":"https://github.com/Roamler"},"html_url":"https://github.com/Roamler/roamler.imageViewer","description":"Cross Platform (iOS & Android) widget for viewing and zooming images","updated_at":"2019-05-22T14:51:25Z"},{"name":"tiapp-updater","owner":{"login":"anexinet","html_url":"https://github.com/anexinet"},"html_url":"https://github.com/anexinet/tiapp-updater","description":"Updates the tiapp.xml file based on a JSON file configuration. Usefull for projects that require different settings for the app name, version, description, etc.","updated_at":"2021-08-18T21:21:08Z"},{"name":"titanium-ios-document-picker","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-ios-document-picker","description":"Use the native UIDocumentMenuViewController in Titanium and Hyperloop.","updated_at":"2023-01-28T07:36:21Z"},{"name":"titanium-context-menu","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-context-menu","description":"Use the `UIPreviewInteraction` and `UIMenu` API in the Titanium SDK.","updated_at":"2022-11-17T23:52:40Z"},{"name":"appium-tests","owner":{"login":"appcelerator-archive","html_url":"https://github.com/appcelerator-archive"},"html_url":"https://github.com/appcelerator-archive/appium-tests","description":"Tool to run Titanium mobile tests in Appium","updated_at":"2020-08-12T14:31:16Z"},{"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"},{"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"},{"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"},{"name":"titanium-pencilkit","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-pencilkit","description":"Use the native iOS 13+ PencilKit framework in Titanium.","updated_at":"2022-08-16T10:50:45Z"},{"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"},{"name":"titanium-ios-business-chat","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-ios-business-chat","description":"Use the iOS 11.3+ BusinessChat framework in Appcelerator Titanium and Hyperloop","updated_at":"2021-05-23T03:58:38Z"},{"name":"ti.youtube","owner":{"login":"macCesar","html_url":"https://github.com/macCesar"},"html_url":"https://github.com/macCesar/ti.youtube","description":"A small library to get the URL of the desired YouTube video ID to use it natively in Ti.Media.VideoPlayer.","updated_at":"2022-04-28T20:54:59Z"},{"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"},{"name":"de.kbueschel.hamburgerbutton","owner":{"login":"kbshl","html_url":"https://github.com/kbshl"},"html_url":"https://github.com/kbshl/de.kbueschel.hamburgerbutton","description":"An iOS Alloy widget displaying an animated hamburger button for off-canvas/sliding side menus.","updated_at":"2023-01-28T11:11:31Z"},{"name":"staballoy","owner":{"login":"Topener","html_url":"https://github.com/Topener"},"html_url":"https://github.com/Topener/staballoy","description":"Reactive UI framework for Titanium Alloy","updated_at":"2021-07-14T07:46:13Z"},{"name":"titanium-erp-protheus","owner":{"login":"vitorebatista","html_url":"https://github.com/vitorebatista"},"html_url":"https://github.com/vitorebatista/titanium-erp-protheus","description":"Mobile development using Appcelerator Titanium, making integration with ERP modulo SIGAMNT Protheus (TOTVS).","updated_at":"2022-08-05T01:08:59Z"},{"name":"appc-sample-databinding","owner":{"login":"appcelerator-developer-relations","html_url":"https://github.com/appcelerator-developer-relations"},"html_url":"https://github.com/appcelerator-developer-relations/appc-sample-databinding","description":"Alloy Databinding example ","updated_at":"2018-11-06T19:48:22Z"},{"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"},{"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"},{"name":"titanium-loading-hud","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-loading-hud","description":" A simple loading HUD that uses native UI elements to present a modal loading indicator.","updated_at":"2021-09-05T22:25:00Z"},{"name":"titanium-empty-state","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-empty-state","description":"Use the (awesome) DZNEmptyDataSet library in your Titanium iOS projects.","updated_at":"2021-07-14T02:23:46Z"},{"name":"ti.imageview","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/ti.imageview","description":"A CommonJS module to extend the \"Ti.UI.ImageView\" by request headers","updated_at":"2022-03-30T06:16:12Z"},{"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"},{"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"},{"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"},{"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"},{"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"},{"name":"babel-preset-app","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/babel-preset-app","description":"Default Babel preset for Titanium app projects","updated_at":"2023-01-31T17:44:15Z"},{"name":"alloy-toast-notification","owner":{"login":"Cyber-Duck","html_url":"https://github.com/Cyber-Duck"},"html_url":"https://github.com/Cyber-Duck/alloy-toast-notification","description":"Simple toast notification poping from the bottom of the screen on demand.","updated_at":"2017-12-21T08:56:09Z"},{"name":"purgeTSS","owner":{"login":"macCesar","html_url":"https://github.com/macCesar"},"html_url":"https://github.com/macCesar/purgeTSS","description":"PurgeTSS is a package that helps Titanium developers create visually appealing mobile apps more easily, with features including highly customizable utility classes, icon fonts support, a basic Animation module, a simple grid system, and a shades command for creating custom colors.","updated_at":"2023-02-03T22:46:50Z"},{"name":"appc-sample-ios-push-notifications","owner":{"login":"appcelerator-developer-relations","html_url":"https://github.com/appcelerator-developer-relations"},"html_url":"https://github.com/appcelerator-developer-relations/appc-sample-ios-push-notifications","description":"Using the iOS Notifications API (local, remote, silent & rich) in Titanium, including Swift-based notification extensions!","updated_at":"2022-03-22T14:33:22Z"},{"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"},{"name":"TitaniumRenderSVGIconsExample","owner":{"login":"icecandy","html_url":"https://github.com/icecandy"},"html_url":"https://github.com/icecandy/TitaniumRenderSVGIconsExample","description":"Example code to show how to render tinted icons in Titanium from SVG source files.","updated_at":"2021-02-25T03:49:50Z"},{"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"},{"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"},{"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"},{"name":"titanium-firebase-demo","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-firebase-demo","description":"A cross-platform sample app demonstrating how to use the Titanium Firebase modules in Appcelerator Titanium.","updated_at":"2021-07-14T02:23:54Z"},{"name":"de.kbueschel.uiwebviewprogressbar","owner":{"login":"kbshl","html_url":"https://github.com/kbshl"},"html_url":"https://github.com/kbshl/de.kbueschel.uiwebviewprogressbar","description":"An Alloy widget that displays a fake progress for WebView data loading","updated_at":"2023-01-28T11:11:32Z"},{"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"},{"name":"titanium-karma-client","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/titanium-karma-client","description":"Karma test runner client for Titanium","updated_at":"2023-01-31T17:01:59Z"},{"name":"titanium-slack-text-view-controller","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-slack-text-view-controller","description":"Use the awesome (!) Slack TextViewController in Titanium!","updated_at":"2021-07-14T02:25:26Z"},{"name":"tailwind-tss-color-generator","owner":{"login":"macCesar","html_url":"https://github.com/macCesar"},"html_url":"https://github.com/macCesar/tailwind-tss-color-generator","description":"Tailwind's Framework for Titanium Apps ( It started for colors ... hence the name )","updated_at":"2023-01-28T02:06:22Z"},{"name":"ti.lineapro","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/ti.lineapro","description":"πŸ“Έ Use the LineaPro iOS-SDK with Appcelerator Titanium","updated_at":"2022-03-26T12:33:29Z"},{"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"},{"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"},{"name":"titanium-carplay","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-carplay","description":"Use the iOS 12+ CarPlay framework in Appcelerator Titanium.","updated_at":"2022-10-05T19:36:41Z"},{"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"},{"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"},{"name":"ti.scroller","owner":{"login":"macCesar","html_url":"https://github.com/macCesar"},"html_url":"https://github.com/macCesar/ti.scroller","description":"A simple library to create a marquee-like elements in your Appcelerator Titanium Apps for both Classic and Alloy projects.","updated_at":"2022-04-28T20:59:31Z"},{"name":"TrackLocation","owner":{"login":"adampax","html_url":"https://github.com/adampax"},"html_url":"https://github.com/adampax/TrackLocation","description":"Simple Titanium app to demo location tracking via iOS significantLocationChange","updated_at":"2019-07-11T14:35:01Z"},{"name":"ti.dragdrop","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/ti.dragdrop","description":"Use iOS 11 drag and drop interactions in Appcelerator Titanium.","updated_at":"2022-03-30T06:22:45Z"},{"name":"hyperloop.collapsingToolbarLayout","owner":{"login":"m1ga","html_url":"https://github.com/m1ga"},"html_url":"https://github.com/m1ga/hyperloop.collapsingToolbarLayout","description":"Axway Hyperloop example: Using native CollapsingToolbar Android XML layout","updated_at":"2022-03-28T10:29:25Z"},{"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"},{"name":"ReduxTitanium","owner":{"login":"nazrdogan","html_url":"https://github.com/nazrdogan"},"html_url":"https://github.com/nazrdogan/ReduxTitanium","description":"Redux for Titanium app.","updated_at":"2018-09-02T16:36:13Z"},{"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"},{"name":"qe-appium","owner":{"login":"appcelerator-archive","html_url":"https://github.com/appcelerator-archive"},"html_url":"https://github.com/appcelerator-archive/qe-appium","description":"Appium Research","updated_at":"2020-08-12T14:30:42Z"},{"name":"appc-sample-ti730","owner":{"login":"appcelerator-developer-relations","html_url":"https://github.com/appcelerator-developer-relations"},"html_url":"https://github.com/appcelerator-developer-relations/appc-sample-ti730","description":"Sample app for new features present in Titanium SDK 7.3.0","updated_at":"2021-05-23T03:56:58Z"},{"name":"titanium-plugin-bump-ios-extension","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-plugin-bump-ios-extension","description":"A tiny Titanium plugin to bump the CFBundleVersion and CFBundleShortVersionString of native iOS extensions.","updated_at":"2022-03-28T08:17:05Z"},{"name":"alloy.babel","owner":{"login":"vladm3","html_url":"https://github.com/vladm3"},"html_url":"https://github.com/vladm3/alloy.babel","description":"Appcelerator Titanium plugin which enables ES6, Pug (Jade), STSS and LiveView support for Alloy projects","updated_at":"2023-01-28T18:03:58Z"},{"name":"tikit","owner":{"login":"macCesar","html_url":"https://github.com/macCesar"},"html_url":"https://github.com/macCesar/tikit","description":"TiKit is a collection of UI components for Titanium built on top of Alloy and PurgeTSS.","updated_at":"2023-02-06T19:53:18Z"},{"name":"griffin-app-opensource","owner":{"login":"axway-developer-relations","html_url":"https://github.com/axway-developer-relations"},"html_url":"https://github.com/axway-developer-relations/griffin-app-opensource","description":"The Axway Griffin App goes open source!","updated_at":"2021-01-13T19:10:31Z"},{"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"},{"name":"titanium-system-capabilities","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-system-capabilities","description":"Inject system-capabilities known from Xcode into your Titanium module / project","updated_at":"2021-07-14T02:25:57Z"},{"name":"titanium-sample-hyperloop-es6","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-sample-hyperloop-es6","description":"Use ES6+ in Appcelerator Hyperloop 🀘","updated_at":"2021-05-23T03:59:23Z"},{"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"},{"name":"TitaniumDelayedRenderingExample","owner":{"login":"icecandy","html_url":"https://github.com/icecandy"},"html_url":"https://github.com/icecandy/TitaniumDelayedRenderingExample","description":"An example project in Titanium to show several techniques for delayed rendering and dynamic text blockΒ sizing","updated_at":"2019-11-12T10:22:21Z"},{"name":"ElevatorstatePublicTransportHamburg","owner":{"login":"AppWerft","html_url":"https://github.com/AppWerft"},"html_url":"https://github.com/AppWerft/ElevatorstatePublicTransportHamburg","description":"API for monitoring state of elevators in Hamburg","updated_at":"2018-02-13T02:16:50Z"},{"name":"apptemplate","owner":{"login":"kosso","html_url":"https://github.com/kosso"},"html_url":"https://github.com/kosso/apptemplate","description":"Just a simple cross-platform fullscreen Titanium (6.1.0.GA) 'classic' app boilerplate template with identical UI. Windows slide in and out from the right on both Android and iOS. Includes a shared view (with an example timer) which could contain something like audio player controls, etc. - Pushing this up here as I often need to start a new app with this structure. ","updated_at":"2023-02-06T07:28:11Z"},{"name":"authenticatedImageView","owner":{"login":"Topener","html_url":"https://github.com/Topener"},"html_url":"https://github.com/Topener/authenticatedImageView","description":"Simple code to demo extending imageviews in Titanium","updated_at":"2020-05-10T06:17:43Z"},{"name":"babel-plugin-transform-titanium","owner":{"login":"tidev","html_url":"https://github.com/tidev"},"html_url":"https://github.com/tidev/babel-plugin-transform-titanium","description":"babel plugin for optimizing titanium code","updated_at":"2022-03-30T05:50:42Z"},{"name":"titanium-notification-service-extension","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-notification-service-extension","description":"An example implementation of using a native iOS Notification Service Extension (to display images in remote push notification) in Titanium.","updated_at":"2023-02-24T17:19:34Z"},{"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"},{"name":"Mobile-XDK-RazerMS_Titanium","owner":{"login":"RazerMS","html_url":"https://github.com/RazerMS"},"html_url":"https://github.com/RazerMS/Mobile-XDK-RazerMS_Titanium","description":"Razer Merchant Services mobile payment for Titanium - Appcelerator (CommonJS)","updated_at":"2022-03-31T06:55:34Z"},{"name":"hyperloop-google-maps","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/hyperloop-google-maps","description":"Use the GoogleMaps SDK with Axway Hyperloop in your Titanium project.","updated_at":"2021-07-14T02:26:08Z"},{"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"},{"name":"titanium-weather-kit","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-weather-kit","description":"Use the iOS 16+ WeatherKit APIs in Titanium!","updated_at":"2022-12-12T19:47:36Z"},{"name":"socket_io_demo","owner":{"login":"m1ga","html_url":"https://github.com/m1ga"},"html_url":"https://github.com/m1ga/socket_io_demo","description":"Basic socket.io chat app and a node.js socket server.","updated_at":"2022-06-22T15:41:52Z"},{"name":"TiStarWars","owner":{"login":"adampax","html_url":"https://github.com/adampax"},"html_url":"https://github.com/adampax/TiStarWars","description":"Example of using JavaScript Promises in Appcelerator Titanium","updated_at":"2019-07-11T14:34:57Z"},{"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"},{"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"},{"name":"alloy-select-listview","owner":{"login":"Cyber-Duck","html_url":"https://github.com/Cyber-Duck"},"html_url":"https://github.com/Cyber-Duck/alloy-select-listview","description":"A Ti.UI.ListView wrapper with mighty powers for forms.","updated_at":"2017-09-27T10:48:07Z"},{"name":"ti-code-templates","owner":{"login":"jasonkneen","html_url":"https://github.com/jasonkneen"},"html_url":"https://github.com/jasonkneen/ti-code-templates","description":"Repo of templates used for http://github.com/jasonkneen/ti-code-fetch-atom","updated_at":"2021-11-15T23:41:55Z"},{"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"},{"name":"ti-code-fetch-atom","owner":{"login":"jasonkneen","html_url":"https://github.com/jasonkneen"},"html_url":"https://github.com/jasonkneen/ti-code-fetch-atom","description":"Code Fetch Atom Plugin that look up templates in http://github.com/jasonkneen/ti-code-templates","updated_at":"2021-11-15T23:40:13Z"},{"name":"TitaniumColourAnimationExample","owner":{"login":"icecandy","html_url":"https://github.com/icecandy"},"html_url":"https://github.com/icecandy/TitaniumColourAnimationExample","description":"Example Titanium project to show how to animate colour","updated_at":"2018-07-20T04:07:20Z"},{"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"},{"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"},{"name":"osu-shuttle-js","owner":{"login":"nicjay","html_url":"https://github.com/nicjay"},"html_url":"https://github.com/nicjay/osu-shuttle-js","description":"Campus Shuttle Tracking - Senior Project","updated_at":"2023-01-28T03:04:30Z"},{"name":"titanium-plugin-extension-version-bump","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-plugin-extension-version-bump","description":"Automatically bump the Info.plist versions of native iOS extensions when changing the app version in the tiapp.xml.","updated_at":"2021-07-14T02:22:39Z"},{"name":"lav-warning","owner":{"login":"ciropom","html_url":"https://github.com/ciropom"},"html_url":"https://github.com/ciropom/lav-warning","description":"titanium app to send animal abuse alerts.","updated_at":"2020-08-02T09:52:22Z"},{"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"},{"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"},{"name":"titanium-turbo","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-turbo","description":"Axway Amplify module that adds some enhancements for Appcelerator Titanium Alloy","updated_at":"2022-01-23T23:48:48Z"},{"name":"titanium-exif","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-exif","description":"Parse EXIF-data from local images in Axway Titanium.","updated_at":"2021-07-14T02:25:55Z"},{"name":"hyperloop.audiorecorder","owner":{"login":"m1ga","html_url":"https://github.com/m1ga"},"html_url":"https://github.com/m1ga/hyperloop.audiorecorder","description":"Axway Hyperloop audio recorder example for Android","updated_at":"2018-10-08T13:59:56Z"},{"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"},{"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"},{"name":"titanium-passkeys","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-passkeys","description":"Use the iOS 16+ PassKeys APIs in Titanium!","updated_at":"2023-01-04T01:30:53Z"},{"name":"color-shades","owner":{"login":"macCesar","html_url":"https://github.com/macCesar"},"html_url":"https://github.com/macCesar/color-shades","description":"A Titanium App for iOS and Android to showcase all the colors in config.js file, created with PurgeTSS","updated_at":"2022-11-02T09:54:33Z"},{"name":"babel-plugin-titanium-controller-args","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/babel-plugin-titanium-controller-args","description":"⭐ Axway Amplify plugin for replacing string references in Appcelerator Titanium SDK Framework","updated_at":"2022-01-13T15:44:49Z"},{"name":"wordguesser","owner":{"login":"m1ga","html_url":"https://github.com/m1ga"},"html_url":"https://github.com/m1ga/wordguesser","description":"Word guesser app for Appcelerator Titanium","updated_at":"2022-03-21T23:46:29Z"},{"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"},{"name":"cdkit.ui.automation","owner":{"login":"timoa","html_url":"https://github.com/timoa"},"html_url":"https://github.com/timoa/cdkit.ui.automation","description":"This tool is a set of scripts to launch an Appium Server instance and run UI tests on iOS simulators and Genymotion Android emulators","updated_at":"2022-11-03T00:23:15Z"},{"name":"titanium-pspdfkit-ios","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-pspdfkit-ios","description":"A refactored version of the (awesome) PSPDFKit iOS module for Titanium using pure Swift.","updated_at":"2020-02-26T18:29:58Z"},{"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"},{"name":"eventrize-v1","owner":{"login":"ArabHosters","html_url":"https://github.com/ArabHosters"},"html_url":"https://github.com/ArabHosters/eventrize-v1","description":null,"updated_at":"2017-07-12T03:22:09Z"},{"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"},{"name":"TitaniumCustomAnimationExample","owner":{"login":"icecandy","html_url":"https://github.com/icecandy"},"html_url":"https://github.com/icecandy/TitaniumCustomAnimationExample","description":"An example project in Axway/Appcelerator Titanium for a custom animation engine","updated_at":"2017-10-13T15:47:08Z"},{"name":"ti.multiconfiguration","owner":{"login":"NetrisTV","html_url":"https://github.com/NetrisTV"},"html_url":"https://github.com/NetrisTV/ti.multiconfiguration","description":"Plugin for dealing with multiple configurations for Appcelerator Titanium projects","updated_at":"2021-02-04T15:55:24Z"},{"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"},{"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"},{"name":"appc-github-client","owner":{"login":"appcelerator-developer-relations","html_url":"https://github.com/appcelerator-developer-relations"},"html_url":"https://github.com/appcelerator-developer-relations/appc-github-client","description":"Dashboard used to monitor Github organizations, repositories and more!","updated_at":"2018-09-13T12:23:39Z"},{"name":"template","owner":{"login":"ptquang86","html_url":"https://github.com/ptquang86"},"html_url":"https://github.com/ptquang86/template","description":null,"updated_at":"2017-03-09T02:49:00Z"},{"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"},{"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"},{"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"},{"name":"prometeo","owner":{"login":"gikmx","html_url":"https://github.com/gikmx"},"html_url":"https://github.com/gikmx/prometeo","description":"[deprecated]","updated_at":"2023-01-28T16:12:19Z"},{"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"},{"name":"nativeloop","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/nativeloop","description":"⭐ Axway Amplify module for using nativeloop with Appcelerator Titanium SDK Framework","updated_at":"2022-01-23T12:15:02Z"},{"name":"Ti.androidSwitch","owner":{"login":"genocsb","html_url":"https://github.com/genocsb"},"html_url":"https://github.com/genocsb/Ti.androidSwitch","description":null,"updated_at":"2018-05-02T09:53:38Z"},{"name":"Titanium-Reversed-Word-App","owner":{"login":"kassemitani","html_url":"https://github.com/kassemitani"},"html_url":"https://github.com/kassemitani/Titanium-Reversed-Word-App","description":"Simple App using Appcelerator Titanium Mobile SDK","updated_at":"2017-08-10T13:42:12Z"},{"name":"ti-flux","owner":{"login":"pablog178","html_url":"https://github.com/pablog178"},"html_url":"https://github.com/pablog178/ti-flux","description":"Flux Architecture in Titanium + Alloy ","updated_at":"2020-08-03T19:19:22Z"},{"name":"titanium-calculator","owner":{"login":"Dmytro27Ind","html_url":"https://github.com/Dmytro27Ind"},"html_url":"https://github.com/Dmytro27Ind/titanium-calculator","description":"A simple calculator written using Titanium SDK and Alloy framework.","updated_at":"2023-01-29T23:49:09Z"},{"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"},{"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"},{"name":"ti-jsondb","owner":{"login":"caspahouzer","html_url":"https://github.com/caspahouzer"},"html_url":"https://github.com/caspahouzer/ti-jsondb","description":"A file based JSON database for TiDev Titanium","updated_at":"2022-04-01T06:45:01Z"},{"name":"titanium-insert-sdk","owner":{"login":"hyperloop-modules","html_url":"https://github.com/hyperloop-modules"},"html_url":"https://github.com/hyperloop-modules/titanium-insert-sdk","description":"Use the native Insert SDK in Titanium with Hyperloop.","updated_at":"2018-03-21T19:19:36Z"},{"name":"alloy_popup_list","owner":{"login":"rafbel","html_url":"https://github.com/rafbel"},"html_url":"https://github.com/rafbel/alloy_popup_list","description":"Popup list widget with search for Appcelerator Alloy and Titanium. Requires libraries available at: https://github.com/rafbel/titanium_libraries","updated_at":"2017-12-06T18:48:47Z"},{"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"},{"name":"aplus-es6","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/aplus-es6","description":"⭐ Axway Amplify module for transforming ES6/ES2015 code in Appcelerator Titanium SDK Framework","updated_at":"2022-01-11T03:49:04Z"},{"name":"titanium-streams-demo","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-streams-demo","description":"Titanium Native mobile app demo for using AMPLIFY Streams","updated_at":"2022-01-05T23:43:14Z"},{"name":"titanium-essentials","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-essentials","description":"Axway Amplify πŸš€ Essential Toolkit for Appcelerator Titanium Mobile","updated_at":"2022-01-10T19:40:44Z"},{"name":"aplus-npm","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/aplus-npm","description":"⭐ Axway Amplify module for executing npm during build process for Appcelerator Titanium SDK","updated_at":"2022-01-11T03:11:49Z"},{"name":"SEGMENTED_CONTROL_Example","owner":{"login":"Bhushankumar-pawar","html_url":"https://github.com/Bhushankumar-pawar"},"html_url":"https://github.com/Bhushankumar-pawar/SEGMENTED_CONTROL_Example","description":"An Alloy widget Segmented Control for Titanium / Appcelerator (Cross-platform )","updated_at":"2018-04-28T18:55:20Z"},{"name":"appc-sample-app-leak","owner":{"login":"appcelerator-developer-relations","html_url":"https://github.com/appcelerator-developer-relations"},"html_url":"https://github.com/appcelerator-developer-relations/appc-sample-app-leak","description":"An example project demonstrating a possible app-leak. Part of the \"Managing Memory and Finding Leaks\" guide","updated_at":"2018-03-14T23:14:54Z"},{"name":"titanium-pyze","owner":{"login":"hansemannn","html_url":"https://github.com/hansemannn"},"html_url":"https://github.com/hansemannn/titanium-pyze","description":"Use the native Pyze SDK in Titanium","updated_at":"2018-03-09T15:03:01Z"},{"name":"aplus-core","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/aplus-core","description":"⭐ Axway Amplify module building Alloy projects on Appcelerator Titanium SDK Framework","updated_at":"2022-01-11T03:08:41Z"},{"name":"eventrize","owner":{"login":"ArabHosters","html_url":"https://github.com/ArabHosters"},"html_url":"https://github.com/ArabHosters/eventrize","description":"Build an app template for online factory (app generator), help event organisers to communicate with attendees and sponsors.","updated_at":"2017-07-14T02:21:12Z"},{"name":"titanium-module-copier","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-module-copier","description":"⭐ Axway Amplify module for copying dependencies to Appcelerator Titanium Resources SDK","updated_at":"2022-01-10T21:54:19Z"},{"name":"tiapp-dir","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/tiapp-dir","description":"⭐ Axway Amplify utility to find root directory of Appcelerator Titanium SDK project","updated_at":"2022-01-10T19:17:40Z"},{"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"},{"name":"titanium-updater","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-updater","description":"Axway Amplify module to check for app updates for Appcelerator Titanium","updated_at":"2022-01-11T03:22:57Z"},{"name":"titanium-template-turbo-next","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-turbo-next","description":"Axway Amplify Template for creating awesome next-generation apps with Appcelerator Titanium SDK","updated_at":"2022-08-02T10:27:38Z"},{"name":"may-the-4th","owner":{"login":"brentonhouse","html_url":"https://github.com/brentonhouse"},"html_url":"https://github.com/brentonhouse/may-the-4th","description":"May the 4th be with you always! - Star Wars intro for iOS and Android mobile app","updated_at":"2020-05-04T23:23:32Z"},{"name":"titanium-polyfill","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-polyfill","description":"⭐ Axway Amplify native polyfills necessary to use Node.js modules for Appcelerator Titanium SDK","updated_at":"2023-02-26T20:45:08Z"},{"name":"titanium-jsonc","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-jsonc","description":"⭐ Axway Amplify module for using JSONC with Appcelerator Titanium SDK","updated_at":"2022-01-13T15:41:21Z"},{"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"},{"name":"titanium-tiapp-xml","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-tiapp-xml","description":"Axway Amplify module to modify app config - tiapp.xml for Appcelerator Titanium apps","updated_at":"2022-01-10T19:29:57Z"},{"name":"titanium-permissions","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-permissions","description":"Axway Amplify module for permission requests for Appcelerator Titanium Mobile","updated_at":"2022-01-13T15:30:17Z"},{"name":"aplus-node","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/aplus-node","description":"⭐ Axway Amplify module for using Node.js code with Appcelerator Titanium SDK","updated_at":"2022-01-13T16:02:37Z"},{"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"},{"name":"titanium-querystring","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-querystring","description":"⭐ Axway Amplify module adding querystring support to Appcelerator Titanium SDK","updated_at":"2022-01-11T03:18:54Z"},{"name":"titanium-plugin-alloy-local","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-plugin-alloy-local","description":"⭐ Axway Amplify plugin to use locally installed Alloy with Appcelerator Titanium SDK","updated_at":"2022-01-10T21:33:51Z"},{"name":"geek-mobile","owner":{"login":"brentonhouse","html_url":"https://github.com/brentonhouse"},"html_url":"https://github.com/brentonhouse/geek-mobile","description":"πŸš€Geek Mobile Toolkit - Everything a geek needs to create, build, and manage cross-platform native mobile apps.","updated_at":"2020-10-27T05:20:45Z"},{"name":"titanium-eslint-config","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-eslint-config","description":"Axway Amplify - ESLint settings package for use with Appcelerator Titanium Mobile","updated_at":"2022-01-13T15:52:37Z"},{"name":"titanium-eventsource","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-eventsource","description":"⭐ Axway Amplify module to implement EventSource for Appcelerator Titanium SDK","updated_at":"2022-01-10T19:23:26Z"},{"name":"titanium-events","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-events","description":"⭐ Axway Amplify event emitter implementation for Appcelerator Titanium SDK","updated_at":"2022-01-10T22:00:00Z"},{"name":"titanium-please","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-please","description":"⭐ Axway Amplify module for REST API calls using Appcelerator Titanium Mobile","updated_at":"2022-01-10T18:59:47Z"},{"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"},{"name":"titanium-axios","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-axios","description":"⭐ Axway Amplify module for using axios with http/https/api with Appcelerator Titanium SDK","updated_at":"2022-01-11T02:41:28Z"},{"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"},{"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"},{"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"},{"name":"titanium-calendar-picker","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-calendar-picker","description":"⭐ Axway Amplify module for calendar dates times for Appcelerator Titanium SDK","updated_at":"2022-01-11T02:51:57Z"},{"name":"titanium-authentication","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-authentication","description":"⭐ Axway Amplify authentication module for Appcelerator Titanium SDK","updated_at":"2022-01-13T15:42:09Z"},{"name":"titanium-sdk-manager","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-sdk-manager","description":"⭐ Axway Amplify module for managing and installing SDK for Appcelerator Titanium SDK","updated_at":"2022-01-11T03:56:20Z"},{"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"},{"name":"titanium-template-turbo-default","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-turbo-default","description":"Axway Amplify template for creating new modules for Appcelerator Titanium Turbo","updated_at":"2022-01-10T19:19:15Z"},{"name":"oclif-plugin-titanium","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/oclif-plugin-titanium","description":"πŸš€oclif plugin for creating, building, and managing Titanium Native mobile apps","updated_at":"2022-01-07T15:59:38Z"},{"name":"titanium-xml2json","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-xml2json","description":"⭐ Axway Amplify module to convert XML to JSON for Appcelerator Titanium apps","updated_at":"2022-01-11T03:25:56Z"},{"name":"titanium-template-alloy-default","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-alloy-default","description":"⭐ Axway Amplify template for using basic Alloy with Appcelerator Titanium SDK","updated_at":"2022-01-10T21:17:07Z"},{"name":"geek-logger","owner":{"login":"brentonhouse","html_url":"https://github.com/brentonhouse"},"html_url":"https://github.com/brentonhouse/geek-logger","description":"Logging module for Node.js and Axway Titanium","updated_at":"2022-10-28T02:28:52Z"},{"name":"aplus-babel","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/aplus-babel","description":"⭐ Axway Amplify module for using babel transformations with Appcelerator Titanium SDK","updated_at":"2022-01-11T03:05:05Z"},{"name":"Segmented_Control","owner":{"login":"Bhushankumar-pawar","html_url":"https://github.com/Bhushankumar-pawar"},"html_url":"https://github.com/Bhushankumar-pawar/Segmented_Control","description":"An Alloy widget Segmented Control for Titanium / Appcelerator (Cross-platform )","updated_at":"2018-05-07T05:51:37Z"},{"name":"titanium-plugin-turbo","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-plugin-turbo","description":"⭐ Axway Amplify plugin to use Turbo or Alloy with Appcelerator Titanium SDK","updated_at":"2022-01-10T19:12:05Z"},{"name":"custom_node_libraries","owner":{"login":"rafbel","html_url":"https://github.com/rafbel"},"html_url":"https://github.com/rafbel/custom_node_libraries","description":"Custom node libraries. These libraries use the best node modules on the web and create a ready to use and simple plug-and-use solution.","updated_at":"2017-11-21T18:39:42Z"},{"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"},{"name":"geek-jwt","owner":{"login":"brentonhouse","html_url":"https://github.com/brentonhouse"},"html_url":"https://github.com/brentonhouse/geek-jwt","description":"JWT parser for JavaScript Node.js and Titanium native mobile","updated_at":"2021-07-16T19:01:31Z"},{"name":"titanium-template-alloy-basic","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-alloy-basic","description":"⭐ Axway Amplify template for using Alloy with Appcelerator Titanium SDK","updated_at":"2022-01-10T21:38:31Z"},{"name":"titanium-errors","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-errors","description":"⭐ Axway Amplify event emitter implementation for Appcelerator Titanium SDK","updated_at":"2022-01-10T20:41:19Z"},{"name":"titanium-template-turbo-fully-loaded","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-turbo-fully-loaded","description":"Axway Amplify Template for building new apps with Appcelerator Titanium Alloy Turbo","updated_at":"2022-01-10T20:00:13Z"},{"name":"titanium-template-alloy-basic","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-alloy-basic","description":"⭐ Axway Amplify template for using Alloy with Appcelerator Titanium SDK","updated_at":"2022-01-10T21:38:31Z"},{"name":"geek-retry","owner":{"login":"brentonhouse","html_url":"https://github.com/brentonhouse"},"html_url":"https://github.com/brentonhouse/geek-retry","description":"Retry JavaScript functions and promises in Node.js and Axway Titanium","updated_at":"2020-10-16T14:09:51Z"},{"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"},{"name":"titanium-errors","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-errors","description":"⭐ Axway Amplify event emitter implementation for Appcelerator Titanium SDK","updated_at":"2022-01-10T20:41:19Z"},{"name":"titanium-streams","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-streams","description":"Titanium Native mobile SDK for AMPLIFY Streams","updated_at":"2022-01-10T19:02:15Z"},{"name":"titanium-template-turbo-fully-loaded","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-template-turbo-fully-loaded","description":"Axway Amplify Template for building new apps with Appcelerator Titanium Alloy Turbo","updated_at":"2022-01-10T20:00:13Z"},{"name":"titanium-jwt","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-jwt","description":"Axway Amplify JWT parser for Appcelerator Titanium apps","updated_at":"2022-01-10T20:43:27Z"},{"name":"oclif-plugin-base","owner":{"login":"brentonhouse","html_url":"https://github.com/brentonhouse"},"html_url":"https://github.com/brentonhouse/oclif-plugin-base","description":"Base oclif plugin for Geek Mobile Toolkit","updated_at":"2019-03-06T23:23:47Z"},{"name":"titanium_libraries","owner":{"login":"rafbel","html_url":"https://github.com/rafbel"},"html_url":"https://github.com/rafbel/titanium_libraries","description":"Custom made libraries for Appcelerator Titanium.","updated_at":"2017-12-07T12:58:13Z"},{"name":"titanium-authentication-oauth","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-authentication-oauth","description":"Axway Amplify module for OAuth authentication with Appcelerator Titanium SDK","updated_at":"2022-01-11T02:56:40Z"},{"name":"titanium-json5","owner":{"login":"mobilehero-archive","html_url":"https://github.com/mobilehero-archive"},"html_url":"https://github.com/mobilehero-archive/titanium-json5","description":"⭐ Axway Amplify module for using JSON5 with Appcelerator Titanium SDK","updated_at":"2022-01-11T03:01:19Z"},{"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"}] \ No newline at end of file +[ + { + "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/scripts/generate.mjs b/scripts/generate.mjs index cfad658..549beec 100644 --- a/scripts/generate.mjs +++ b/scripts/generate.mjs @@ -1,21 +1,32 @@ import { Octokit } from 'octokit'; import * as fs from 'node:fs/promises'; -const gh = new 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' + 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) { - repositories.push(...data.map(mapData)); + 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')); -function mapData(data) { +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: { @@ -24,6 +35,44 @@ function mapData(data) { }, html_url: data.html_url, description: data.description, - updated_at: data.updated_at + 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; } From f804a1294ebe4081ef1d99fb5b8a4d3d70b43c44 Mon Sep 17 00:00:00 2001 From: Ewan Harris Date: Wed, 8 Mar 2023 22:31:50 +0000 Subject: [PATCH 4/6] build: setup eslint for scripts directory --- .eslintrc.json | 9 ++++----- next.config.js | 2 +- package.json | 2 +- scripts/.eslintrc.json | 13 +++++++++++++ src/.eslintrc.json | 7 +++++++ 5 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 scripts/.eslintrc.json create mode 100644 src/.eslintrc.json 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/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 b4dc0fe..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", 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/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" + ] +} From 5b27b9b992605ba6a8eeb8305f17e988d6a6bd94 Mon Sep 17 00:00:00 2001 From: Ewan Harris Date: Wed, 8 Mar 2023 22:32:46 +0000 Subject: [PATCH 5/6] style: lint the scripts dir --- scripts/generate.mjs | 120 +++++++++++++++++++++---------------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/scripts/generate.mjs b/scripts/generate.mjs index 549beec..b74972e 100644 --- a/scripts/generate.mjs +++ b/scripts/generate.mjs @@ -1,78 +1,78 @@ -import { Octokit } from 'octokit'; -import * as fs from 'node:fs/promises'; +import * as fs from "node:fs/promises"; +import { Octokit } from "octokit"; const gh = new Octokit({ - auth: process.env.GITHUB_TOKEN || process.env.GH_TOKEN + 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 + 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)); +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')); +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); + console.log(`mapping ${data.owner.login}/${data.name}`); + const platforms = await getPlatforms(data); - if (!platforms?.length) { - return; - } + 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 - } + 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; +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"); } - return platforms; + } catch (error) { + return; + } + return platforms; } From fd51b605e0e5e6803765bdb4ac73a5bdfa3d42b7 Mon Sep 17 00:00:00 2001 From: Ewan Harris Date: Wed, 8 Mar 2023 22:33:23 +0000 Subject: [PATCH 6/6] refactor: cleanup from code review --- src/lib/pages/home/index.tsx | 7 +------ src/pages/api/modules.ts | 7 ++++--- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/lib/pages/home/index.tsx b/src/lib/pages/home/index.tsx index f6c0a21..4c9c5e0 100644 --- a/src/lib/pages/home/index.tsx +++ b/src/lib/pages/home/index.tsx @@ -38,12 +38,7 @@ const Home = () => { const [repositories, setRepositories] = useState([]); const fetchRepositories = async (value: string) => { const response = await fetch( - `/api/modules?search=${encodeURIComponent(value)}`, - { - headers: { - "User-Agent": "Titanium Module Search", - }, - } + `/api/modules?search=${encodeURIComponent(value)}` ); const data = await response.json(); diff --git a/src/pages/api/modules.ts b/src/pages/api/modules.ts index 7bad49a..1850d8c 100644 --- a/src/pages/api/modules.ts +++ b/src/pages/api/modules.ts @@ -14,15 +14,16 @@ const modules = (req: NextApiRequest, res: NextApiResponse) => { if (Array.isArray(searchTerm)) { res.statusCode = 400; - return res.json({ message: "Only provide on search term" }); + 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(searchTerm.toLowerCase()) || - name?.toLowerCase().includes(searchTerm.toLowerCase()) + description?.toLowerCase().includes(lowercaseSearch) || + name?.toLowerCase().includes(lowercaseSearch) ); }) );