{"id":18657822,"url":"https://github.com/lightsofapollo/exhibition","last_synced_at":"2025-06-28T11:35:10.840Z","repository":{"id":28525587,"uuid":"32042436","full_name":"lightsofapollo/exhibition","owner":"lightsofapollo","description":"Command Exhibition!!!!!","archived":false,"fork":false,"pushed_at":"2015-05-06T05:51:19.000Z","size":240,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-18T08:51:25.907Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/lightsofapollo.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":"2015-03-11T21:34:12.000Z","updated_at":"2015-07-18T19:25:34.000Z","dependencies_parsed_at":"2022-08-24T07:50:41.519Z","dependency_job_id":null,"html_url":"https://github.com/lightsofapollo/exhibition","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lightsofapollo/exhibition","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsofapollo%2Fexhibition","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsofapollo%2Fexhibition/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsofapollo%2Fexhibition/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsofapollo%2Fexhibition/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lightsofapollo","download_url":"https://codeload.github.com/lightsofapollo/exhibition/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsofapollo%2Fexhibition/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262423095,"owners_count":23308844,"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-11-07T07:29:56.654Z","updated_at":"2025-06-28T11:35:10.819Z","avatar_url":"https://github.com/lightsofapollo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Exhibition\n\nThis repository is a functional proof of concept for an isolated (generally self updating) node enviornment and a central dispatcher program (similar to mach in gecko).\n\nThe intention here is to show what we can do with a few simple techniques to make hacking on systems which use node baesd automation much much better (arguably better then some of our other solutions since iojs is very portable).\n\n## Demo:\n\nThe demo should be a simple one liner after cloning the repo (if it's not then I have some bugs to fix)...\n\n```sh\n./exhibition first attack!\n```\n\n## Design\n\n## The \"entrypoint\" (./exhibition)\n\nThe self install logic is very simple and largely should explain itself I use a combination of os detetion / package.json hashing / exec to ensure we download the right node versions (it's configured in the same file) and also verify we are using the intended node_modules (this works even across branch changes because of hashing).\n\nThis has the following dependencies:\n\n - uname\n - bash\n - curl\n\n(TLDR; should work out of the box just about anywhere darwin/linux)\n\n\n## The command loader\n\nThe command loader is more complex and [docopt](https://github.com/docopt/docopt) and [babel](http://babeljs.io/) to provide a ES7 featureset and a documentation format that can wrap even the most awful of our tools (makefile) into nicer documented logic.\n\nSee the [examples](./examples) in particular the [config](./examples/exhibition.yml) which defines groups and how they map (directly inspired by mach).\n\n\n## WHY NOT X\n\n## Mach\n\nLet me get this out of the way mach is awesome... I feel like python2.7 is not the best bet forever though and the loading strategy makes mach slower then even my unoptimized PoC (about 4x faster then runnihg mach help on gecko and it should scale because we load only text not python files and all their deps)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightsofapollo%2Fexhibition","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flightsofapollo%2Fexhibition","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightsofapollo%2Fexhibition/lists"}