For the project website, visit http://processingjs.org
This is the compilation repository for Processing.js, used in building the
processing.js library from a series of Node.js flavoured commonjs modules, rather than existing as one large file as was the case in all versions up to and including 1.4.1 (released august 2012) .
Processing.js adheres to semver style versioning.
This project is currently in need of developers
There is currently no one working on, or maintaining, this codebase on a regular basis, so if you think you'd like to contribute to Processing.js, to bring it back in line with Processing's current API, and take advantage of the various APIs that have become available in browsers since Processing.js slowed down, we'd love to hear from you!
File an issue to say that you'd like to help out, and we can find some good places for you to get started.
This is the preferred method of installing "the latest" version of Processing.js
npm install processing-js
Getting Processing.js the plain way
If you need to, you can also grab the
processing.min.js files, include them as script on your webpage, and you're all set. See
test.html for a simple example of using Processing.js on your pages.
Bower is no longer recommended as a way to get processing.js, and so might not even work anymore (it "should" work but there is no verification on that)
bower install Processing.js
Playing with the code
Clone this project using git, and ensure you have node.js installed. After cloning, install the require node packages using
npm install in the processing-js directory. Modifying the code and building your own
processing.min.js files is then a fairly straight forward process. Modify the code as much as you want or need, then:
$> node test
If step 1 gives you a "grunt: command not found" or similar error, run
npm install -g grunt-cli to make sure grunt is globally installed as CLI command. If step 1 does not throw any errors, step 2 will run the Processing object through a battery of tests. Once the browser reference tests start, your
processing.min.js have been successfully built.
Only edit files in the ./src directory
As is implicit to the whole
processing.min.js getting rebuilt every time: remember not to edit either of these files directly. Instead, all the real source code live inside the
./src directory, except for the
build.js file that is used to create the library bundle. As this build file should not reasonably require any fixing, if you want to try to fix anything, or see what happens when you change something, make sure you only ever do that in files inside
Test script runtime flags
The test script also accepts the following optional arguments:
--test=testfile.pderuns one specific test
--nobuilddoes not build Pjs if all tests pass
--failonerrorterminates the run if any error occurs.
--norefwill not start a server process and a browser for doing ref testing.
--noautorefwill start a server and a browser for ref testing, but doesn't auto-start the tests.
You can also perform the post-unit-test steps manually:
- Build processing.js:
$> browserify build.js -o processing.js
- Minify processing.js:
$> node minify
- Run test server:
$> node server
While the browser tests run
With the test server is running, the following urls are good to know:
- http://localhost:3000 - vanilla example page
- http://localhost:3000/ref - reference testing page
- http://localhost:3000/perf - performance testing page
- http://localhost:3000/processing-helper.html - utility page for converting/running Processing code
Contributing to Processing.js
Please read "how to contribute to Processing.js" for how you can contribute, and what code of conduct is expected to be followed.