{"id":15640334,"url":"https://github.com/stephenlb/nodejuice","last_synced_at":"2025-07-14T09:41:09.597Z","repository":{"id":772124,"uuid":"457463","full_name":"stephenlb/nodejuice","owner":"stephenlb","description":"Automatic browser refresh on file change or update is what you can call it.  NodeJuice is a set of tools which allows you to develop with a push connection to your web browser.  JavaScript V8 Seeker Server and Web Server Gateway Interface.  nodeJuice Seeker Server works with all other servers including Apache, Passenger, Nginx, Cherokee, and more. A web server isn't required, NodeJuice comes with one in case you forgot yours.  It runs on NodeJS; a low level non-blocking network ready process with many capabilities. This is a tool that every web developer needs and has wanted for a very long time. IRC @ #node.js","archived":false,"fork":false,"pushed_at":"2012-09-07T18:27:42.000Z","size":677,"stargazers_count":78,"open_issues_count":7,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-30T07:48:58.889Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://nodejuice.com","language":"JavaScript","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/stephenlb.png","metadata":{"files":{"readme":"README","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":"2010-01-04T00:07:52.000Z","updated_at":"2024-02-29T17:41:08.000Z","dependencies_parsed_at":"2022-08-06T10:00:49.264Z","dependency_job_id":null,"html_url":"https://github.com/stephenlb/nodejuice","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stephenlb/nodejuice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenlb%2Fnodejuice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenlb%2Fnodejuice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenlb%2Fnodejuice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenlb%2Fnodejuice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stephenlb","download_url":"https://codeload.github.com/stephenlb/nodejuice/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenlb%2Fnodejuice/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265271599,"owners_count":23738281,"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-03T11:34:15.781Z","updated_at":"2025-07-14T09:41:09.573Z","avatar_url":"https://github.com/stephenlb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"===============================================================================\nNODEJUICE JavaScript V8 Seeker Server and WSGI\n===============================================================================\n\nWebsite:                    http://nodejuice.com\n\nDocumentation:              http://nodejuice.com/documentation\nWatch a video:              http://www.vimeo.com/8459839\nSetup With Apache and More: http://nodejuice.com/#sidekick\n\nThis is nodeJuice.  It is a tool which allows you to develop with a push\nconnection to your web browser.  Automatic browser refresh on file change\nor update is what you can call it.  Develop on one to many browsers\nsimultaneously without needing to reload manually.  NodeJuice will transform\nthe regular web developer into a ninja programmer.  This technology works\nwith all servers (apache, nginx, etc.) and brwosers (Firefox, IE, Safari,\nChrome, etc.).  NodeJuice requires a Unix Host to run and is compatible with\nall other OS's afterward.  This means that you can work on Windows with\na network capable text editor over SSH or just use WinSCP + favorite \ntext editor.\n\n\nSEVERS\n======\nseeker   - used to auto refresh all attached clients. \n           seeker server can be used with other webservers through sidekick.\n           check out ./demos/apache to see an example.\nsidekick - used to keep connection with PHP, Ruby, Perl and Python on Apache.\nwsgi     - (Web Server Gateway Interface) app and static content server.\n\nWSGI is not Python's WSGI.\nWSGI stands for Web Server Gateway Interface.\n\n\nUSAGE:\n===================================================\n./nodejuice /path/to/app [seeker] [wsgi] [sidekick]\n\nseeker   - pushes updates to your web browser.\nsidekick - use with apache and other web servers.\nwsgi     - servers dynamic and static content. (Web Server)\n \n\nAPACHE MODE\n===========\nLaunch sidekick and seeker server only.\nUse this for APACHE (apache) or other web servers.\n./nodejuice /home/stephen/application sidekick\n\nNODEJUICE WSGI + SEEKER MODE\n============================\nLaunch seeker and wsgi servers making a static server.\n./nodejuice /home/stephen/application\n\nPRODUCTION MODE\n===============\nLaunch only wsgi server only. \n./nodejuice /home/stephen/application wsgi\n\nSTATIC SERVER MODE\n==================\nLaunch Seeker and WSGI on any directory on your Hard Drive.\n./nodejuice /home/stephen/application\n\nDUMBASS MODE\n============\nLaunch ALL Servers (This is pointless and harmless).\n./nodejuice /home/stephen/application sidekick wsgi seeker\n\n\nWSGI\n====\nAs a bonus, nodeJuice comes with a full blown web server able to server\nstatic files and execute code on your server.  See some examples below.\n\n=====================\nrad() app **EASIEST**\n=====================\n\nrad ( /^\\/rad-test$/, 'hello world rad() test!' )\n\nrad ( /^\\/$/, { // index page\n    file : '/static/homepage.htm', // template\n    info : 'Hi, this is information.',\n    text : 'this is text!'\n} )\n\nrad ( /^\\/battle$/, function( request, response ) {\n    rad.reply('something')\n} )\n\nrad.get ( /^\\/hello/, 'this is a normal page' )\n\nrad.post ( /^\\/submit-form/, 'posted!' )\n\nrad.head ( /^\\/check-file/ )\n\nrad.put ( /^\\/save-something/, 'saved!' )\n\nrad['delete'] ( /^\\/delete-something/, 'data has been deleted' )\n\nrad( /.*/, 'hello world: last resort catch all get/post/etc' )\n\n=========================\njourney() app **FASTEST**\n=========================\nvar app = exports;\napp.journey = function( request, response ) {\n    response.impress( '/templates/index.htm', {\n        right_now : new Date\n    } )\n};\n\n\nDIRECTORIES\n===========\nlibrary   - vendor code and other chuncks of functionality.\nservers   - node servers including seeker and wsgi.\ndemos     - example configurations and folders to show how nodejuice works.\nsymlinks  - pointers to other needed applications.\nprovision - error templates (404, 500)\nwebsite   - nodeJuice website\n\n\n===============================================================================\nBENCHMARK -\u003e DEV (with seeker server)\n===============================================================================\nServer Hostname:        127.0.0.1\nServer Port:            80\n\nDocument Path:          /\nDocument Length:        5332 bytes\n\nConcurrency Level:      100\nTime taken for tests:   4.008 seconds\nComplete requests:      10000\nFailed requests:        0\nWrite errors:           0\nTotal transferred:      54920000 bytes\nHTML transferred:       53320000 bytes\nRequests per second:    2495.08 [#/sec] (mean)   \u003c-------\u003c-------\u003c-------\nTime per request:       40.079 [ms] (mean)\nTime per request:       0.401 [ms] (mean, across all concurrent requests)\nTransfer rate:          13381.83 [Kbytes/sec] received\n\n\n===============================================================================\nBENCHMARK -\u003e PRODUCTION\n===============================================================================\nServer Hostname:        127.0.0.1\nServer Port:            80\n\nDocument Path:          /\nDocument Length:        5287 bytes\n\nConcurrency Level:      100\nTime taken for tests:   3.223 seconds\nComplete requests:      10000\nFailed requests:        0\nWrite errors:           0\nTotal transferred:      53720000 bytes\nHTML transferred:       52870000 bytes\nRequests per second:    3102.85 [#/sec] (mean)   \u003c-------\u003c-------\u003c-------\nTime per request:       32.228 [ms] (mean)\nTime per request:       0.322 [ms] (mean, across all concurrent requests)\nTransfer rate:          16277.86 [Kbytes/sec] received\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephenlb%2Fnodejuice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstephenlb%2Fnodejuice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephenlb%2Fnodejuice/lists"}