Hadas - an anti-IDE
Takes care of your project reloading, once you change your code. Be agile.
It recycles both the application server side and any browser windows connected to it, every once your project changes (e.g. when you save or move a file). An html user interface governs enabling and disabling this automatic recycling, while also serving its stdout/err all in one place. To round it up you may also recycle your project by the click of a button on the user interface.
Setup effort summary:
Setting up isn't that hard, but for you being able to assess the effort upfront... here it goes:
Installation of prerequisite: 2
Configuration parameters to set: 2 - 5
Moving around files: 2 (for your application's browser side code, if you have any)
Code change to your project: 1 (for your application's browser side code, if you have any)
- Download this repo, extract and locate to it
config/config.jsonto monitor your project
- Make sure you have node.js installed
- Install the prerequisite node modules by running:
- In your project's client-side code directory,
copy the following files into a subdirectory named /lib:
- In your project's html, add the following line, after jquery
It assumes your html first loads jquery
Usage after setup
Start Hadas by locating to the root directory and running:
node server.js (or on Windows, run
then access the UI by opening the shown address.
This is work in progress. If you run into issues, or wish to have a modification, file an issue on the issues tab.
This is a user experience centric tool, any contribution should maintain or improve a cool UI and configurability coolness.
Post your ideas in the Wiki or fork / take away pieces.
Inspiration and acknowledgements
This was inspired by a general disenchantment with how IDE's are designed.
I found no existing project doing this, so I made it. Lightly inspired by Light Table.
The code was partly inspired by Andrew Davey's vogue code.
Under the hood:
- jQuery UI
- Node.js nconf module
- Node.js optimist module
- Node.js node-static module
- Node.js socket.io module