Socket
Socket
Sign inDemoInstall

systemjs-builder

Package Overview
Dependencies
Maintainers
1
Versions
139
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

systemjs-builder - npm Package Compare versions

Comparing version 0.0.5 to 0.0.6

test/excluded.js

2

bower.json
{
"name": "systemjs-builder",
"main": "index.js",
"version": "0.0.5",
"version": "0.0.6",
"authors": [

@@ -6,0 +6,0 @@ "guybedford <guybedford@gmail.com>"

@@ -34,10 +34,16 @@ var Promise = require('rsvp').Promise;

.then(function(trace) {
return exports.buildTree(trace.tree, trace.moduleName, outFile)
return exports.buildTree(trace.tree, outFile)
});
}
exports.buildTree = function(tree, moduleName, outFile) {
exports.buildTree = function(tree, outFile) {
var concatOutput = ['"format register";\n'];
return visitTree(tree, moduleName, function(load) {
var treeNames = [];
for (var moduleName in tree)
treeNames.push(moduleName);
return Promise.all(treeNames.map(function(name) {
var load = tree[name];
if (load.metadata.build == false) {

@@ -76,5 +82,65 @@ return;

}
}))
.then(function() {
return asp(fs.writeFile)(outFile, concatOutput.join('\n'));
});
}
exports.config = function(config) {
loader.config(config);
pluginLoader.config(config);
}
// returns a new tree containing tree1 n tree2
exports.intersectTrees = function(tree1, tree2) {
var intersectTree = {};
var tree1Names = [];
for (var name in tree1)
tree1Names.push(name);
for (var name in tree2) {
if (tree1Names.indexOf(name) == -1)
continue;
intersectTree[name] = tree1[name];
}
return intersectTree;
}
// returns a new tree containing tree1 + tree2
exports.addTrees = function(tree1, tree2) {
var unionTree = {};
for (var name in tree2)
unionTree[name] = tree2[name];
for (var name in tree1)
unionTree[name] = tree1[name];
return unionTree;
}
// returns a new tree containing tree1 - tree2
exports.subtractTrees = function(tree1, tree2) {
var subtractTree = {};
for (var name in tree1)
subtractTree[name] = tree1[name];
for (var name in tree2)
delete subtractTree[name];
return subtractTree;
}
// copies a subtree out of the tree
exports.extractTree = function(tree, moduleName) {
var outTree = {};
return visitTree(tree, moduleName, function(load) {
outTree[load.name] = load;
})
.then(function() {
return asp(fs.writeFile)(outFile, concatOutput.join('\n'));
return outTree;
});

@@ -128,3 +194,3 @@ }

if (!load)
return;
return Promise.resolve()

@@ -131,0 +197,0 @@ // visit the deps first

{
"name": "systemjs-builder",
"version": "0.0.5",
"version": "0.0.6",
"description": "",

@@ -11,7 +11,7 @@ "main": "index.js",

"rsvp": "^3.0.6",
"systemjs": "^0.6.6",
"traceur": "google/traceur-compiler#0.0.43"
"systemjs": "^0.6.7",
"traceur": "0.0.49"
},
"devDependencies": {
"es6-module-loader": "^0.6.1"
"es6-module-loader": "^0.7.1"
},

@@ -18,0 +18,0 @@ "scripts": {

@@ -74,5 +74,7 @@ SystemJS Build Tool

Basic Use
Usage
---
### Install
```javascript

@@ -82,2 +84,4 @@ npm install systemjs-builder

### Basic Use
```javascript

@@ -105,1 +109,77 @@ var builder = require('systemjs-builder');

### Advanced build
The trace trees can be adjusted between tracing and building allowing for custom build layer creation.
Some simple trace tree operators are provided for subtraction addition and intersection.
Tree operations include `addTrees`, `subtractTrees`, `intersectTrees` and `extractTree`.
#### Example - Exclusion
In this example we build `app/core` excluding `app/corelibs`:
```javascript
var builder = require('systemjs-builder');
builder.config({
baseURL: '...',
map: {
}, // etc. config
});
builder.trace('app/main')
.then(function(appTree) {
return builder.trace('app/corelibs')
.then(function(coreTree) {
return builder.subtractTrees(appTree, coreTree);
});
})
.then(function(appMinusCoreTree) {
return builder.buildTree(appMinusCoreTree, 'output-file.js');
});
```
#### Example - Common Libraries
In this example we build `app/first` and `app/second` creating a separate `app/shared` library:
```javascript
var builder = require('systemjs-builder');
builder.config({
// ...
});
var firstTree, secondTree, commonTree;
builder.trace('app/first')
.then(function(tree) {
firstTree = tree;
return builder.trace('app/second');
})
.then(function(tree) {
secondTree = tree;
commonTree = builder.intersectTrees(firstTree, secondTree);
firstTree = builder.subtractTrees(firstTree, commonTree);
secondTree = builder.subtractTrees(secondTree, commonTree);
return builder.buildTree(firstTree, 'first-bundle.js');
})
.then(function() {
return builder.buildTree(secondTree, 'second-bundle.js');
})
.then(function() {
return builder.buildTree(commonTree, 'shared-bundle.js');
});
```
License
---
MIT

@@ -11,7 +11,25 @@ var builder = require('../index');

.catch(function(e) {
console.log(e);
setTimeout(function() {
throw e;
});
});
var treeFirst;
builder.trace('tree/first').then(function(traceTree) {
treeFirst = traceTree.tree;
console.log(JSON.stringify(traceTree, null, 2));
});
})
.then(function() {
console.log('Build exclusion');
return builder.trace('tree/amd');
})
.then(function(traceTree) {
return builder.buildTree(
builder.subtractTrees(treeFirst, traceTree.tree), 'excluded.js'
);
})
.catch(function(e) {
setTimeout(function() {
throw e;
});
});
"format register";
System.register("tree/second", ["./third", "./cjs"], function($__0) {
"use strict";
var __moduleName = "tree/second";
var q;
return {
exports: {
get q() {
return q;
},
set q(value) {
q = value;
}
},
execute: function() {
;
;
q = 4;
}
};
});
System.register("tree/first", ["./second", "./amd"], function($__0) {
"use strict";
var __moduleName = "tree/first";
var p;
return {
exports: {
get p() {
return p;
},
set p(value) {
p = value;
}
},
execute: function() {
;
;
p = 5;
}
};
});
System.register("tree/third", [], function(deps) {

@@ -47,23 +89,2 @@ return {

System.register("tree/second", ["./third", "./cjs"], function($__0) {
"use strict";
var __moduleName = "tree/second";
var q;
return {
exports: {
get q() {
return q;
},
set q(value) {
q = value;
}
},
execute: function() {
;
;
q = 4;
}
};
});
System.register("tree/global", ["./jquery"], false, function(__require, __exports, __moduleName) {

@@ -85,22 +106,1 @@ System.get("@@global-helpers").prepareGlobal(__moduleName, ["./jquery"]);

System.register("tree/first", ["./second", "./amd"], function($__0) {
"use strict";
var __moduleName = "tree/first";
var p;
return {
exports: {
get p() {
return p;
},
set p(value) {
p = value;
}
},
execute: function() {
;
;
p = 5;
}
};
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc