New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

neuron-tree

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

neuron-tree - npm Package Compare versions

Comparing version 1.0.0 to 2.0.0

88

index.js
'use strict';
module.exports = tree;
var jf = require('jsonfile');
var shrinked = require('shrinked');
var shrinkwrap = require('cortex-shrinkwrap');
var async = require('async');
var node_path = require('path');
var fs = require('fs');
// @param {Object} options
// - dependencyKeys {(Array.<string>)}
// - built_root {path}
// - shrinkwrap {Object=}
function tree (cwd, pkg, options, callback) {
options || (options = {});
(options.dependencyKeys) || (options.dependencyKeys = ['dependencies', 'asyncDependencies']);
async.parallel([
function (done) {
if (options.shrinkwrap) {
return done(null);
}
tree.read_shrinkwrap(cwd, pkg, options, function (err, tree) {
if (err) {
return done(err);
}
options.shrinkwrap = tree;
done(null);
});
}
], function (err) {
if (err) {
return callback(err);
}
options.shrinkwrap.version = pkg.version;
var keys = options.dependencyKeys;
var shrinked_tree = shrinked.parse(options.shrinkwrap, {
dependencyKeys: keys
});
var result = tree.parse_shrinked(shrinked_tree, keys);
callback(null, result);
});
};
tree.read_shrinkwrap = function (cwd, pkg, options, callback) {
var shrinkwrap_json = node_path.join(cwd, 'cortex-shrinkwrap.json');
fs.exists(shrinkwrap_json, function(exists) {
if (exists) {
return jf.readFile(shrinkwrap_json, callback);
}
var keys = options.dependencyKeys;
shrinkwrap(pkg, options.built_root, {
stableOnly: true,
async: ~keys.indexOf('asyncDependencies'),
dev: ~keys.indexOf('devDependencies')
}, callback);
});
};
// @param {Object} shrinked

@@ -19,6 +89,6 @@ // ```

// @param
exports.parse = function (shrinked, types) {
tree.parse_shrinked = function (shrinked, types) {
var parsed = {};
types || (types = DEFAULT_TYPES);
exports._each(shrinked, function (name, version, deps) {
tree._each(shrinked, function (name, version, deps) {
var merged_sync_deps = {};

@@ -33,3 +103,3 @@ var merged_async_deps = {};

: merged_sync_deps;
exports._merge(dest, deps[type]);
tree._merge(dest, deps[type]);
}

@@ -39,4 +109,4 @@ });

if (
exports._is_empty(merged_sync_deps)
&& exports._is_empty(merged_async_deps)
tree._is_empty(merged_sync_deps)
&& tree._is_empty(merged_async_deps)
) {

@@ -75,3 +145,3 @@ return;

// double each
exports._each = function (object, iterator) {
tree._each = function (object, iterator) {
var a;

@@ -91,3 +161,3 @@ var value;

exports._is_empty = function (object) {
tree._is_empty = function (object) {
var key;

@@ -102,3 +172,3 @@ for (key in object) {

// Deep merge
exports._merge = function (receiver, supplier){
tree._merge = function (receiver, supplier){
if (Object(supplier) !== supplier) {

@@ -108,3 +178,3 @@ return;

exports._each(supplier, function (name, range, version) {
tree._each(supplier, function (name, range, version) {
var ranges = receiver[name] || (receiver[name] = {});

@@ -111,0 +181,0 @@ ranges[range] = version;

{
"name": "neuron-tree",
"version": "1.0.0",
"version": "2.0.0",
"description": "Generates the config.tree of neuron",

@@ -34,3 +34,9 @@ "main": "index.js",

"jsonfile": "~1.1.1"
},
"dependencies": {
"async": "^0.9.0",
"cortex-shrinkwrap": "^3.0.0",
"jsonfile": "^1.2.0",
"shrinked": "^0.1.4"
}
}

16

README.md

@@ -39,6 +39,14 @@ # neuron-tree [![NPM version](https://badge.fury.io/js/neuron-tree.svg)](http://badge.fury.io/js/neuron-tree) [![Build Status](https://travis-ci.org/cortexjs/neuron-tree.svg?branch=master)](https://travis-ci.org/cortexjs/neuron-tree) [![Dependency Status](https://gemnasium.com/cortexjs/neuron-tree.svg)](https://gemnasium.com/cortexjs/neuron-tree)

### tree.parse(shrinked, types)
### tree(cwd, pkg, [options], callback)
- cwd
- pkg `Object` cortex json
- options
- built_root `path=`
- shrinkwrap `Object=`
### tree.parse(shrinked, dependencyKeys)
- shrinked `Object` the shrinked object of [shrinked](https://www.npmjs.org/package/shrinked)
- types `Array.<type>` the array of types of dependencies, default to
- dependencyKeys `Array.<type>` the array of types of dependencies, default to

@@ -50,5 +58,5 @@ [

you could include other types of dependencies in the array.
you could include other keys of dependencies in the array.
- type `String` available types: `'dependencies'`, `'asyncDependencies'`, `'engines'`, `devDependencies`
- type `String` available keys: `'dependencies'`, `'asyncDependencies'`, `'engines'`, `devDependencies`

@@ -55,0 +63,0 @@ Parses the shrinked B+ tree, and generates a simpler tree for `config.tree` of neuron.

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