Skip to content

Commit 899ec1d

Browse files
committed
Make built version of paper.js for node work and work towards using that in NPM.
1 parent 5245a30 commit 899ec1d

6 files changed

Lines changed: 20 additions & 10 deletions

File tree

build/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ fi
3232

3333
./preprocess.sh $MODE ../src/paper.js "-o '{ \"browser\": true }' -i '../src/constants.js'" ../dist/paper-full.js
3434
./preprocess.sh $MODE ../src/paper.js "-o '{ \"browser\": true, \"paperscript\": false }' -i '../src/constants.js'" ../dist/paper-core.js
35-
#./preprocess.sh $MODE ../src/paper.js "-o '{ \"node\": true }' -i '../src/constants.js'" ../dist/paper-node.js
35+
./preprocess.sh $MODE ../src/paper.js "-o '{ \"browser\": false, \"node\": true }' -i '../src/constants.js'" ../dist/paper-node.js
3636

3737
# Remove the existing file and copy paper-full.js to paper.js now
3838
if [ -f ../dist/paper.js ]

package.json

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,14 @@
66
"Jürg Lehni <juerg@lehni.org> (http://lehni.org)",
77
"Jonathan Puckey <jonathan@studiomoniker.com> (http://studiomoniker.com)"
88
],
9-
"main": "./src/load.js",
9+
"main": "./dist/paper-node.js",
10+
"files": [
11+
"AUTHORS.md",
12+
"dist/paper-node.js",
13+
"examples/Node.js",
14+
"LICENSE.txt",
15+
"README.md"
16+
],
1017
"engines": {
1118
"node": ">= 0.4.0"
1219
},
@@ -29,7 +36,7 @@
2936
],
3037
"devDependencies": {
3138
"uglify-js": "~2.3.6",
32-
"prepro": "~0.7.0",
39+
"prepro": "~0.7.1",
3340
"grunt": "~0.4.1",
3441
"grunt-contrib-uglify": "~0.2.2"
3542
}

src/core/PaperScript.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,13 @@
1919
// better minification and the future use of strict mode once it makes sense
2020
// in terms of performance.
2121
paper.PaperScope.prototype.PaperScript = new function() {
22+
var PaperScope = paper.PaperScope,
23+
// Locally turn of exporst for inlined acorn / esprima.
24+
exports = undefined;
2225
/*#*/ if (options.parser == 'acorn') {
23-
/*#*/ include('../../components/acorn/acorn.min.js');
26+
/*#*/ include('../../components/acorn/acorn.min.js', { exports: false });
2427
/*#*/ } else if (options.parser == 'esprima') {
25-
/*#*/ include('../../components/esprima/esprima.min.js');
28+
/*#*/ include('../../components/esprima/esprima.min.js', { exports: false });
2629
/*#*/ }
2730

2831
// Operators to overload
@@ -273,8 +276,7 @@ paper.PaperScope.prototype.PaperScript = new function() {
273276
}
274277

275278
function load() {
276-
var scripts = document.getElementsByTagName('script'),
277-
PaperScope = paper.PaperScope;
279+
var scripts = document.getElementsByTagName('script');
278280
for (var i = 0, l = scripts.length; i < l; i++) {
279281
var script = scripts[i];
280282
// Only load this script if it not loaded already.

src/export.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,7 @@ paper = new (PaperScope.inject(Base.merge(Base.exports, {
4343
Canvas: Canvas
4444
})))();
4545

46+
// Export the paper scope.
47+
module.exports = paper;
48+
4649
/*#*/ } // options.node

src/load.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,4 @@ if (typeof window !== 'undefined') {
4848
});
4949
// Load Paper.js library files.
5050
prepro.include('paper.js');
51-
// Export the paper scope.
52-
module.exports = prepro.context.paper;
5351
}

src/paper.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
var paper = new function() {
3434
// Inline Bootstrap core (the Base class) inside the paper scope first:
35-
/*#*/ include('../components/straps/straps.js');
35+
/*#*/ include('../components/straps/straps.js', { exports: false });
3636

3737
/*#*/ if (options.stats) {
3838
/*#*/ include('../components/stats.js/build/stats.min.js');

0 commit comments

Comments
 (0)