{"id":17482903,"url":"https://github.com/creationix/seaduk","last_synced_at":"2025-10-24T14:05:10.345Z","repository":{"id":66014260,"uuid":"61415124","full_name":"creationix/seaduk","owner":"creationix","description":"An implementation of nucleus-js using duktape and libuv implemented in C","archived":false,"fork":false,"pushed_at":"2016-12-22T03:25:04.000Z","size":320,"stargazers_count":34,"open_issues_count":9,"forks_count":5,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-24T04:14:19.873Z","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":"other","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":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-18T03:29:32.000Z","updated_at":"2023-09-08T17:11:40.000Z","dependencies_parsed_at":"2023-03-27T23:21:38.758Z","dependency_job_id":null,"html_url":"https://github.com/creationix/seaduk","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creationix%2Fseaduk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creationix%2Fseaduk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creationix%2Fseaduk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creationix%2Fseaduk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/creationix","download_url":"https://codeload.github.com/creationix/seaduk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248145610,"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:47:20.220Z","updated_at":"2025-10-24T14:05:10.254Z","avatar_url":"https://github.com/creationix.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"This folder is a concrete implementation of the Nucleus interface using DukTape as the JavaScript engine.\n\nIt's tested regularly on Linux and OSX.\n\n## Status\n\nCurrently this port is still im progress, but there is enough to already start\nwriting userland modules that use the `nucleus` global and parts of libuv.\n\n## Building\n\nI'm currently using a `Makefile` to script building.  The libuv submodule\nrequires `automake` and `libtool` installed (via apt-get, homebrew, etc...).\n\nAlso make sure to include all submodules when cloning nucleus.\n\n```sh\n# Clone recursivly to get all submodules\ngit clone --recursive https://github.com/creationix/nucleus.git\n# Go to this folder\ncd nucleus/implementations/duktape\n# Build using 4 parallel cores\nmake -j4\n# Optionally run all the tests.\nmake test\n```\n\nWhen you're done building the `nucleus` binary can be used to run and build your\nown tiny JS scripts.\n\n## Testing\n\nRun `make -j4 test`. It will also attempt (re)build if you have not already.\n\nAdditionally, there are some manually verified tests. To run these, use\n`make test-manual`.\n\n## Optimizing for Size\n\nBy default the Makefile builds in debug mode with `-g`.  If you want a tiny\nbinary modify the Makefile to have `CC= cc -Os`.  If you've done a build before,\nmake sure to run `make distclean` before trying a new build.\n\nIf you want a small static binary on linux using musl, install musl-tools on\nyour ubuntu system and set `CC= musl-gcc -Os -static` and rebuild.\n\nFor maximum smallness (especially with the static build), `strip` your nucleus\nbinary before appending the app zip to it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreationix%2Fseaduk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcreationix%2Fseaduk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreationix%2Fseaduk/lists"}