JavaScript FastCGI server based on the v8 engine
Go to file
R. Tyler Ballance c94c04fa30 Add BSD license, woot
Signed-off-by: R. Tyler Ballance <tyler@monkeypox.org>
2009-03-09 05:52:02 -04:00
ext Add the built artifacts from building v8, just to help get me started. 2009-01-31 20:30:01 -05:00
pages Exposing the request and the FastCGI environments through to the JavaScript through the self.fastjs object 2009-03-09 05:05:04 -04:00
LICENSE Add BSD license, woot 2009-03-09 05:52:02 -04:00
Makefile Expose a log() method into the JavaScript to print into the FastCGI error log 2009-03-09 04:25:13 -04:00
README Add the readme file 2009-03-09 05:12:56 -04:00
fastjs.cc Kill the PrintEnv function, unneeded 2009-03-09 05:06:30 -04:00
fastjs.h Exposing the request and the FastCGI environments through to the JavaScript through the self.fastjs object 2009-03-09 05:05:04 -04:00
jquery-1.3.2.min.js Adding jQuery 1.3.2 into the codebase, working on preloading the JavaScript environment with jQuery 2009-03-08 05:56:22 -04:00

README

  _____                 _         _   ____  
 |  ___|   __ _   ___  | |_      | | / ___| 
 | |_     / _` | / __| | __|  _  | | \___ \ 
 |  _|   | (_| | \__ \ | |_  | |_| |  ___) |
 |_|      \__,_| |___/  \__|  \___/  |____/ 
---------------------------------------------

FastJS is currently very experimental, the basic concept however is
to utilize Google's V8 JavaScript engine to serve up web pages over
the FastCGI interface.

Currently it's in a "mostly unusable" state as I've not spent the time 
to properly package libv8.a with the project, so I'm running it via the
compiled libv8.a inside of the ext/ directory (compiled against Linux 
2.6 on i586). There is one example script inside of the pages/ folder
which prints out some basic information and assembles a page (if you're
that curious as to what this currently looks like).

In addition to the basic JavaScript environment, FastJS preloads jQuery 
1.3.2 such that the $ function in the JavaScript context properly maps
to the jQuery root object.


In order to get this running, my lighttpd FastCGI configuration currently
looks something like this:

	$HTTP["host"] == "urlenco.de" {
		fastcgi.server = (
			".fjs" => ((
				"socket" => "/tmp/fcgi-fastjs",
				"bin-path" => "/home/tyler/source/github/fastjs/fastjs",
				"max-procs" => 1,
				"check-local" => "disable",
				"bin-environment" => (
				),
			)))}

	# snip
	
	index-file.names += (
		"index.html", "index.fjs"
	)
	static-file.exclude-extensions = ( ".fjs" )