{"id":13991804,"url":"https://github.com/spolu/node-shell","last_synced_at":"2025-04-14T11:20:53.805Z","repository":{"id":18775226,"uuid":"21988346","full_name":"spolu/node-shell","owner":"spolu","description":"Atom Shell bindings for nodeJS","archived":false,"fork":false,"pushed_at":"2014-07-19T19:31:25.000Z","size":487,"stargazers_count":57,"open_issues_count":2,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-23T03:04:18.840Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spolu.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}},"created_at":"2014-07-18T17:21:18.000Z","updated_at":"2023-09-05T07:22:39.000Z","dependencies_parsed_at":"2022-08-03T15:10:06.443Z","dependency_job_id":null,"html_url":"https://github.com/spolu/node-shell","commit_stats":null,"previous_names":["spolu/node-frame"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spolu%2Fnode-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spolu%2Fnode-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spolu%2Fnode-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spolu%2Fnode-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spolu","download_url":"https://codeload.github.com/spolu/node-shell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248868767,"owners_count":21174758,"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-08-09T14:01:36.250Z","updated_at":"2025-04-14T11:20:53.779Z","avatar_url":"https://github.com/spolu.png","language":"JavaScript","readme":"node-shell\n==========\n\n`node-shell` lets you create cross-platform native GUI apps based on [atom-shell](https://github.com/atom/atom-shell),\nstraight out of the box from NodeJS, with no dependency or build phase required.\n\n### Try it yourself right now\n\n```\n$ npm install node-shell\n$ node\n\u003e require('node-shell')(function(err, api) { \n    var win = new api.BrowserWindow({}).loadUrl('http://google.com');\n  });\n```\nThis works out of the box on `Windows`, `OSX` and `Linux` with vanilla nodeJS installations.\n\n![ScreenShot](http://i.imgur.com/4pRqXwQ.png)\n\n### Implementation details\n\nWhen `npm install` is invoked, `node-shell` downloads a packaged release of `atom-shell`\nfor the current platform and replaces the default app with a wrapper that exposes the \n`atom-shell` API through (json)RPC over UNIX sockets.\n\nUsing the `node-shell` library, node apps can create rich native apps powered by `atom-shell`,\nwithout the need to build or rebuild anything (including native addons).\n\nWhen spawning a new shell from your module, the `node-shell` library spawns an `atom-shell`\nrunning the wrapper app and opens an RPC channel with it to let you interact with the API.\n\n```\n  +-------------------------+            +-----------------------+\n  |          node           |            |       atom-shell      |\n  +--------------------------            +-----------------------+\n  +--------+   +------------+            +---------+  +----------+\n  |        | +-+ node-shell | \u003c--------\u003e | wrapper +--+   atom   |\n  |        | | +------------+     RPC    |   app   |  |   api    |\n  |  your  +-+                           +---------+  +----+-----+\n  | app.js | | +------------+                 +--------+---+\n  |        | +-+ other deps |                 |        |       \n  |        |   +------------+             +---+--+ +---+--+ \n  |        |        ...                   | winA | | winB |   ...\n  +--------+                              +------+ +------+\n```\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspolu%2Fnode-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspolu%2Fnode-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspolu%2Fnode-shell/lists"}