Fix PaperScript support in node.

This commit is contained in:
Jürg Lehni 2013-05-08 20:38:23 -07:00
parent 6fd93978f8
commit c5627d141e
3 changed files with 7 additions and 8 deletions
examples/Node.js
src/node

View file

@ -1,5 +1,6 @@
require('paper');
var paper = require('./Tadpoles');
var paper = require('./Tadpoles.pjs');
paper.view.exportFrames({
amount: 400,
directory: __dirname,

View file

@ -277,4 +277,4 @@ function onFrame(event) {
function onResize(event) {
size = view.size;
heartPath.position = view.center;
}
}

View file

@ -100,14 +100,12 @@ Base.each({
require.extensions['.pjs'] = function(module, uri) {
var source = context.PaperScript.compile(fs.readFileSync(uri, 'utf8'));
var prevDirname = context.__dirname,
prevFilename = context.__filename;
context.__dirname = path.dirname(uri);
context.__filename = uri;
// Temporarily override __dirname and __filename
var envVars = 'var __dirname = \'' + path.dirname(uri) + '\';'
+ 'var __filename = \'' + uri + '\';';
vm.runInContext(envVars, context);
var scope = new context.PaperScope();
context.PaperScript.evaluate(source, scope);
context.__dirname = prevDirname;
context.__filename = prevFilename;
module.exports = scope;
};