[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"github-stars":3,"marketplace-site-banners":110,"cloudflare":115},{"id":4,"node_id":5,"name":6,"full_name":7,"private":8,"owner":9,"html_url":27,"description":28,"fork":8,"url":29,"forks_url":30,"keys_url":31,"collaborators_url":32,"teams_url":33,"hooks_url":34,"issue_events_url":35,"events_url":36,"assignees_url":37,"branches_url":38,"tags_url":39,"blobs_url":40,"git_tags_url":41,"git_refs_url":42,"trees_url":43,"statuses_url":44,"languages_url":45,"stargazers_url":46,"contributors_url":47,"subscribers_url":48,"subscription_url":49,"commits_url":50,"git_commits_url":51,"comments_url":52,"issue_comment_url":53,"contents_url":54,"compare_url":55,"merges_url":56,"archive_url":57,"downloads_url":58,"issues_url":59,"pulls_url":60,"milestones_url":61,"notifications_url":62,"labels_url":63,"releases_url":64,"deployments_url":65,"created_at":66,"updated_at":67,"pushed_at":68,"git_url":69,"ssh_url":70,"clone_url":71,"svn_url":27,"homepage":72,"size":73,"stargazers_count":74,"watchers_count":74,"language":75,"has_issues":76,"has_projects":76,"has_downloads":76,"has_wiki":8,"has_pages":8,"has_discussions":76,"forks_count":77,"mirror_url":78,"archived":8,"disabled":8,"open_issues_count":79,"license":80,"allow_forking":76,"is_template":8,"web_commit_signoff_required":8,"has_pull_requests":76,"pull_request_creation_policy":85,"topics":86,"visibility":26,"forks":77,"open_issues":79,"watchers":74,"default_branch":106,"temp_clone_token":78,"custom_properties":107,"organization":108,"network_count":77,"subscribers_count":109},7122594,"MDEwOlJlcG9zaXRvcnk3MTIyNTk0","directus","directus\u002Fdirectus",false,{"login":6,"id":10,"node_id":11,"avatar_url":12,"gravatar_id":13,"url":14,"html_url":15,"followers_url":16,"following_url":17,"gists_url":18,"starred_url":19,"subscriptions_url":20,"organizations_url":21,"repos_url":22,"events_url":23,"received_events_url":24,"type":25,"user_view_type":26,"site_admin":8},15967950,"MDEyOk9yZ2FuaXphdGlvbjE1OTY3OTUw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15967950?v=4","","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus","https:\u002F\u002Fgithub.com\u002Fdirectus","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Ffollowers","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Ffollowing{\u002Fother_user}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fgists{\u002Fgist_id}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fstarred{\u002Fowner}{\u002Frepo}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fsubscriptions","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Forgs","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Frepos","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fevents{\u002Fprivacy}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Freceived_events","Organization","public","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus","The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fforks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fkeys{\u002Fkey_id}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcollaborators{\u002Fcollaborator}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fteams","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fhooks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues\u002Fevents{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fevents","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fassignees{\u002Fuser}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fbranches{\u002Fbranch}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Ftags","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Fblobs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Ftags{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Frefs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Ftrees{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fstatuses\u002F{sha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Flanguages","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fstargazers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcontributors","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fsubscribers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fsubscription","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcontents\u002F{+path}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcompare\u002F{base}...{head}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fmerges","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002F{archive_format}{\u002Fref}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fdownloads","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fpulls{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fmilestones{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fnotifications{?since,all,participating}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Flabels{\u002Fname}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Freleases{\u002Fid}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fdeployments","2012-12-12T01:35:36Z","2026-07-18T05:08:19Z","2026-07-17T21:10:45Z","git:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus.git","git@github.com:directus\u002Fdirectus.git","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus.git","https:\u002F\u002Fdirectus.com",447310,36507,"TypeScript",true,4850,null,399,{"key":81,"name":82,"spdx_id":83,"url":78,"node_id":84},"other","Other","NOASSERTION","MDc6TGljZW5zZTA=","all",[87,88,89,90,91,92,6,93,94,95,96,97,98,99,100,101,102,103,104,105],"api","app","cms","composable","data-visualization","database","graphql","headless-cms","javascript","mariadb","mssql","mysql","no-code","node","postgresql","sql","sqlite","typescript","vue","main",{},{"login":6,"id":10,"node_id":11,"avatar_url":12,"gravatar_id":13,"url":14,"html_url":15,"followers_url":16,"following_url":17,"gists_url":18,"starred_url":19,"subscriptions_url":20,"organizations_url":21,"repos_url":22,"events_url":23,"received_events_url":24,"type":25,"user_view_type":26,"site_admin":8},326,[111],{"id":112,"icon":78,"content":113,"link":114,"include_paths":78,"exclude_paths":78},"5cf2f5f6-aecf-4395-8c23-69de326fdf02","Directus V12 is here","https:\u002F\u002Fdirectus.com\u002Fresources\u002Fv12-built-for-the-whole-team",{"metadata":78,"logo":116,"helpful_resources":117,"extensions":121,"date_updated":123,"user_updated":124,"date_created":125,"user_created":126,"sort":78,"id":127,"category":128,"description":129,"slug":130,"name":131,"content":132,"website":133,"status":134,"external_resources":135,"extensionDetails":136},"7c574a7b-c8a8-4ffe-9af2-bed142a49777",[118],{"title":119,"url":120},"Cloudflare Streams Documentation","https:\u002F\u002Fdevelopers.cloudflare.com\u002Fstream\u002F",[122],"@mediabirds\u002Fdirectus-cloudflare-streams","2025-07-31T13:07:58.806Z","1a9ab95a-93bc-4908-af85-0d42bb6e6aa6","2025-07-11T14:29:17.053Z","1cd0a355-b103-477d-9375-61e88f3110f8","a791a3f7-a4a7-464e-9ee1-89bdc8a8c9a0","Media","Stream and manage video content with Cloudflare Streams integration","cloudflare","Cloudflare","\u003Cp>Cloudflare is a well-known platform for website security, performance, and content delivery, but it also offers Cloudflare Stream - a solution for seamless video hosting and delivery.\u003C\u002Fp>\n\u003Cp>With the Cloudflare Streams integration for Directus, you can bring powerful video management capabilities right into your Directus projects. Using the \"@mediabirds\u002Fdirectus-cloudflare-streams\" extension, you can upload, organize, and stream video content directly from your Directus instance.\u003C\u002Fp>\n\u003Cp>This simplifies workflows for anyone managing large libraries of video assets or needing on-the-fly video streaming as part of their digital content strategy. All your video data stays organized in Directus, while Cloudflare&rsquo;s infrastructure handles the heavy lifting of fast, reliable video delivery.\u003C\u002Fp>\n\u003Cp>Whether you&rsquo;re building a media library, educational platform, or any project with video at its core, this integration makes it easy to connect your content and data with robust streaming technology. Search, manage, and deliver video without leaving the Directus ecosystem.\u003C\u002Fp>","https:\u002F\u002Fwww.cloudflare.com","published",[],[137],{"name":122,"description":138,"verified":8,"id":139,"readme":140,"type":141,"last_updated":142,"host_version":143,"downloads":144,"total_downloads":145,"sandbox":8,"license":78,"publisher":146,"versions":149,"formatted_name":202,"formatted_readme":203,"formatted_description":138,"images":204,"repository_url":155,"recent_downloads_7_days":145,"recent_downloads_30_days":145},"Uploads video's to cloudflare streams and attaches the cloudflare stream ID to the metadata","e6bc9228-70dd-4d1f-9a03-5866b24d28a6","# Directus cloudflare streams\n\nUploads video files to [https:\u002F\u002Fwww.cloudflare.com\u002Fdeveloper-platform\u002Fproducts\u002Fcloudflare-stream\u002F](Cloudflare streams) \nand attaches the `cloudflare_streams_media_id` as metadata on the file.\n\n```json\n{\n    \u002F\u002F ... directus_files\n    metadata: {\n        cloudflare_streams_media_id: 'string'\n    }\n}\n```\n\nThis directus extension listens on two hooks `files.upload` and `files.delete`. On `files.upload` it checks if the file is a video, and if thats the case, moves that file over to cloudflare streams.\n\nOn delete it removes it from Cloudflare streams.\n\n## Installation\n\nTo install run\n\n```cli\npnpm install @mediabirds\u002Fdirectus-cloudflare-streams\n```\n\nAdd these two environment variables to your directus Installation\n\n```env\nCLOUDFLARE_STREAMS_ACCOUNT_ID=\nCLOUDFLARE_STREAMS_TOKEN=\n```","hook","2025-04-16T18:50:59.274Z","^11.10.0",[],0,{"username":147,"verified":8,"id":148,"github_username":78,"github_name":78,"github_blog":78,"github_bio":78,"github_location":78,"github_company":78,"github_avatar_url":78},"redbullzuiper","bee33213-14a5-4b67-b18f-dcebee373a84",[150,163,171,179,186,194],{"version":151,"package":139,"publisher":148,"type":141,"host_version":152,"publish_date":153,"verified":8,"id":154,"url_repository":155,"url_homepage":156,"url_bugs":157,"file_count":158,"unpacked_size":159,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":160,"maintainers":161},"1.0.1","^10.10.0","2025-04-14T15:37:57.203Z","245cf5e4-b4b5-46a4-82a7-5315d2aa324a","https:\u002F\u002Fgithub.com\u002Fmediabirds\u002Fdirectus-cloudflare-streams.git","https:\u002F\u002Fgithub.com\u002Fmediabirds\u002Fdirectus-cloudflare-streams#readme","https:\u002F\u002Fgithub.com\u002Fmediabirds\u002Fdirectus-cloudflare-streams\u002Fissues",3,177853,[],[162],12367,{"version":164,"package":139,"publisher":148,"type":141,"host_version":143,"publish_date":165,"verified":8,"id":166,"url_repository":155,"url_homepage":156,"url_bugs":157,"file_count":158,"unpacked_size":167,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":168,"maintainers":169},"1.0.5","2025-04-16T18:28:37.260Z","2616cfdd-1337-4566-9de2-ad6cf8259683",178470,[],[170],12372,{"version":172,"package":139,"publisher":148,"type":141,"host_version":143,"publish_date":173,"verified":8,"id":174,"url_repository":155,"url_homepage":156,"url_bugs":157,"file_count":158,"unpacked_size":175,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":176,"maintainers":177},"1.0.4","2025-04-15T09:19:11.588Z","48515bbc-1769-4bec-b1c9-966ec0f4f652",178369,[],[178],12369,{"version":180,"package":139,"publisher":148,"type":141,"host_version":143,"publish_date":142,"verified":8,"id":181,"url_repository":155,"url_homepage":156,"url_bugs":157,"file_count":158,"unpacked_size":182,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":183,"maintainers":184},"1.0.7","6f202087-5e02-4f6b-a373-d747e1fac51f",178635,[],[185],12374,{"version":187,"package":139,"publisher":148,"type":141,"host_version":143,"publish_date":188,"verified":8,"id":189,"url_repository":155,"url_homepage":156,"url_bugs":157,"file_count":158,"unpacked_size":190,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":191,"maintainers":192},"1.0.6","2025-04-16T18:42:03.781Z","8fb38e6f-9fc5-4b88-bac8-9146d781f778",178587,[],[193],12373,{"version":195,"package":139,"publisher":148,"type":141,"host_version":152,"publish_date":196,"verified":8,"id":197,"url_repository":155,"url_homepage":156,"url_bugs":157,"file_count":158,"unpacked_size":198,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":199,"maintainers":200},"1.0.2","2025-04-14T16:47:03.437Z","d71f9f7e-b23e-43cf-9ea3-243f758345df",177880,[],[201],12368,"Directus Cloudflare Streams","\u003Ch1>Directus cloudflare streams\u003C\u002Fh1>\n\u003Cp>Uploads video files to [https:\u002F\u002Fwww.cloudflare.com\u002Fdeveloper-platform\u002Fproducts\u002Fcloudflare-stream\u002F](Cloudflare streams)\nand attaches the \u003Ccode>cloudflare_streams_media_id\u003C\u002Fcode> as metadata on the file.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-json\">{\n    \u002F\u002F ... directus_files\n    metadata: {\n        cloudflare_streams_media_id: 'string'\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This directus extension listens on two hooks \u003Ccode>files.upload\u003C\u002Fcode> and \u003Ccode>files.delete\u003C\u002Fcode>. On \u003Ccode>files.upload\u003C\u002Fcode> it checks if the file is a video, and if thats the case, moves that file over to cloudflare streams.\u003C\u002Fp>\n\u003Cp>On delete it removes it from Cloudflare streams.\u003C\u002Fp>\n\u003Ch2>Installation\u003C\u002Fh2>\n\u003Cp>To install run\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-cli\">pnpm install @mediabirds\u002Fdirectus-cloudflare-streams\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Add these two environment variables to your directus Installation\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-env\">CLOUDFLARE_STREAMS_ACCOUNT_ID=\nCLOUDFLARE_STREAMS_TOKEN=\n\u003C\u002Fcode>\u003C\u002Fpre>",[]]