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

cortex-handlebars-compiler

Package Overview
Dependencies
Maintainers
1
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cortex-handlebars-compiler - npm Package Compare versions

Comparing version 0.1.3 to 0.2.0

test/fixtures/more.expected.html

72

index.js

@@ -8,2 +8,4 @@ 'use strict';

var node_path = require('path');
var semver = require('semver');
var pkg = require('neuron-pkg');

@@ -58,3 +60,3 @@ function compiler (options) {

'facade({',
"mod:'" + title + "'",
'mod:"' + this._facade_mod(title) + '"',
'});',

@@ -68,2 +70,70 @@ '</script>'

// Suppose current package:
// name: foo
// version: 0.2.0
// Then,
// 1.
// facade(foo) -> facade(foo@0.2.0)
// 2.
// facade() -> facade(foo@0.2.0)
// 3.
// facade(foo/abc) -> facade(foo@0.2.0/abc)
// 4.
// facade(foo@1.2.3) -> check if 1.2.3 exists in current shrinkwrap, otherwise -> throw
Compiler.prototype._facade_mod = function(title) {
var name = this.pkg.name;
var version = this.pkg.version;
// facade() -> current package
if (!title || Object(title) === title) {
return pkg.format({
name: name,
version: version
});
}
var obj = pkg(title);
// if the facade uses the current package, force the version
if (obj.name === name) {
obj.version = version;
}
if (obj.version) {
return pkg.format(obj);
}
// 'a' -> 'a@latest'
obj.range = obj.range || 'latest';
var is_range_valid = semver.validRange(obj.range) || obj.range === 'latest';
var facade_pkg = pkg.format({
name: obj.name,
range: obj.range
});
if (!is_range_valid) {
throw new Error(
'Facade: invalid version "' + facade_pkg + '", make sure you have install it.\n' +
'Or you might as well specify the explicit version of "' + facade_name + '".'
);
}
// parse ranges
obj.version = this._parse_range(obj.name, obj.range);
if (!obj.version) {
throw new Error('Facade: invalid range "' + facade_pkg + '", make sure your have `cortex install --save` it.');
}
return pkg.format(obj);
};
Compiler.prototype._parse_range = function(name, range) {
var ranges = this.neuron_hashmaps.ranges;
return ranges[name] && ranges[name][range];
};
Compiler.prototype._neuron_framework = function() {

@@ -70,0 +140,0 @@ return this._output_engines() + this._neuron_config();

6

package.json
{
"name": "cortex-handlebars-compiler",
"version": "0.1.3",
"version": "0.2.0",
"description": "Handlebar helpers for cortex template.",

@@ -36,4 +36,6 @@ "main": "index.js",

"shrinked": "^0.1.2",
"neuron-hashmaps": "^1.0.0"
"neuron-hashmaps": "^1.0.0",
"semver": "^2.3.0",
"neuron-pkg": "^0.1.0"
}
}

@@ -9,25 +9,55 @@ 'use strict';

var template = '<html><head></head><body>{{{facade "cortex-hybrid-sample"}}}</body></html>';
var fixtures = node_path.join(__dirname, 'fixtures');
var cortex_json = node_path.join(fixtures, 'cortex.json');
var shrinkwrap_json = node_path.join(fixtures, 'cortex-shrinkwrap.json');
var expected_html = node_path.join(fixtures, 'expected.html');
var pkg = jf.readFileSync(cortex_json);
var shrinkwrap = jf.readFileSync(shrinkwrap_json);
var expected = fs.readFileSync(expected_html).toString();
var c = compiler({
pkg: pkg,
shrinkWrap: shrinkwrap,
root: '../../../',
ext: '.min.js'
});
describe("compiler()", function(){
[
{
name: 'normal'
},
{
name: 'single'
},
{
name: 'more'
},
{
name: 'range-not-found',
throw: true
}
].forEach(function (c) {
var template_file = node_path.join(fixtures, c.name + '.template');
var template = fs.readFileSync(template_file).toString();
it(template, function(){
var cp = compiler({
pkg: pkg,
shrinkWrap: shrinkwrap,
root: '../../../',
ext: '.min.js'
});
describe("compiler()", function(){
it(".compile(template)()", function(){
var fn = c.compile(template);
expect(fn()).to.equal(expected);
var compiled;
var error;
try {
compiled = cp.compile(template)();
} catch(e) {
error = e;
}
if (c.throw) {
expect(error).not.to.equal();
return;
}
var expected_file = node_path.join(fixtures, c.name + '.expected.html');
var expected = fs.readFileSync(expected_file).toString();
expect(compiled).to.equal(expected);
});
});
});
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