{"id":17482850,"url":"https://github.com/creationix/uvrun","last_synced_at":"2025-10-28T11:38:09.475Z","repository":{"id":6169183,"uuid":"7398949","full_name":"creationix/uvrun","owner":"creationix","description":"Tiny node module to expose uv_run and uv_run_once to JavaScript","archived":false,"fork":false,"pushed_at":"2017-04-04T03:59:36.000Z","size":212,"stargazers_count":19,"open_issues_count":3,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-02T06:10:54.187Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/creationix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-01-01T20:58:12.000Z","updated_at":"2023-09-08T16:36:57.000Z","dependencies_parsed_at":"2022-09-05T08:50:12.201Z","dependency_job_id":null,"html_url":"https://github.com/creationix/uvrun","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creationix%2Fuvrun","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creationix%2Fuvrun/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creationix%2Fuvrun/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creationix%2Fuvrun/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/creationix","download_url":"https://codeload.github.com/creationix/uvrun/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248145607,"owners_count":21055168,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-18T23:46:10.482Z","updated_at":"2025-10-28T11:38:09.355Z","avatar_url":"https://github.com/creationix.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UVRun\n\nBindings to the uvrun functions in libuv to node.js.\n\nNormally these functions are implicitly called by node itself.\n\nBy using runOnce, you can have finer grained control of the event loop and know when it's idle.\n\n```js\nvar runOnce = require('uvrun').runOnce;\n \n// Do something here, like make a server to keep the event loop busy\nvar TCP = process.binding('tcp_wrap').TCP;\nvar server = new TCP();\nserver.onconnection = function () {\n  console.log(\"connection!\");\n};\nserver.bind(\"0.0.0.0\", 3000);\nserver.listen(511);\n \n// Visualize each event loop tick using a custom event loop.\nconsole.log(\"Waiting for events...\");\ndo {\n  var ret = runOnce();\n  console.log(\"tick\", Date.now());\n} while(ret);\n// If the code gets here, there are no events left and node's built-in uv_run won't block.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreationix%2Fuvrun","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcreationix%2Fuvrun","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreationix%2Fuvrun/lists"}