crossroads
Advanced tools
Comparing version 0.12.1 to 0.12.2
@@ -20,3 +20,3 @@ | ||
HOMEPAGE : _pkg.homepage, | ||
LICENSE : _pkg.licenses[0].type, | ||
LICENSE : _pkg.license, | ||
BUILD_DATE : _now.getUTCFullYear() +'/'+ pad(_now.getUTCMonth() + 1) +'/'+ pad(_now.getUTCDate()) +' '+ pad(_now.getUTCHours()) +':'+ pad(_now.getUTCMinutes()) | ||
@@ -23,0 +23,0 @@ }; |
/** @license | ||
* crossroads <http://millermedeiros.github.com/crossroads.js/> | ||
* Author: Miller Medeiros | MIT License | ||
* v0.12.1 (2015/07/08 16:49) | ||
* v0.12.2 (2015/07/31 18:37) | ||
*/ | ||
@@ -89,23 +89,26 @@ | ||
//borrowed from AMD-Utils | ||
function decodeQueryString(str, shouldTypecast) { | ||
var queryArr = (str || '').replace('?', '').split('&'), | ||
n = queryArr.length, | ||
// borrowed from MOUT | ||
function decodeQueryString(queryStr, shouldTypecast) { | ||
var queryArr = (queryStr || '').replace('?', '').split('&'), | ||
reg = /([^=]+)=(.+)/, | ||
i = -1, | ||
obj = {}, | ||
item, val, decodedVal, propertyName, prev; | ||
while (n--) { | ||
item = queryArr[n].split('='); | ||
propertyName = item[0]; | ||
prev = obj[propertyName]; | ||
val = shouldTypecast ? typecastValue(item[1]) : item[1]; | ||
decodedVal = (typeof val === 'string')? decodeURIComponent(val) : val; | ||
if (isArray(prev)) { | ||
prev.unshift(decodedVal); | ||
equalIndex, cur, pValue, pName; | ||
while ((cur = queryArr[++i])) { | ||
equalIndex = cur.indexOf('='); | ||
pName = cur.substring(0, equalIndex); | ||
pValue = decodeURIComponent(cur.substring(equalIndex + 1)); | ||
if (shouldTypecast !== false) { | ||
pValue = typecastValue(pValue); | ||
} | ||
else if (obj[item[0]]) { | ||
obj[propertyName] = [decodedVal, prev]; | ||
} | ||
else { | ||
obj[propertyName] = decodedVal; | ||
} | ||
if (pName in obj){ | ||
if(isArray(obj[pName])){ | ||
obj[pName].push(pValue); | ||
} else { | ||
obj[pName] = [obj[pName], pValue]; | ||
} | ||
} else { | ||
obj[pName] = pValue; | ||
} | ||
} | ||
@@ -287,3 +290,3 @@ return obj; | ||
crossroads = new Crossroads(); | ||
crossroads.VERSION = '0.12.1'; | ||
crossroads.VERSION = '0.12.2'; | ||
@@ -632,2 +635,5 @@ crossroads.NORM_AS_ARRAY = function (req, vals) { | ||
function interpolate(pattern, replacements) { | ||
// default to an empty object because pattern might have just | ||
// optional arguments | ||
replacements = replacements || {}; | ||
if (typeof pattern !== 'string') { | ||
@@ -647,3 +653,7 @@ throw new Error('Route pattern should be a string.'); | ||
for (var k in rep) { | ||
queryParts.push(encodeURI(key + '=' + rep[k])); | ||
if ( key.slice(-2) == '[]' ) { | ||
queryParts.push(encodeURI(key.slice(0, -2)) + '[]=' + encodeURI(rep[k])); | ||
} else { | ||
queryParts.push(encodeURI(key + '=' + rep[k])); | ||
} | ||
} | ||
@@ -650,0 +660,0 @@ } |
/** @license | ||
* crossroads <http://millermedeiros.github.com/crossroads.js/> | ||
* Author: Miller Medeiros | MIT License | ||
* v0.12.1 (2015/07/08 16:49) | ||
* v0.12.2 (2015/07/31 18:37) | ||
*/ | ||
;(function(){var a=function(a){function e(a,b){if(a.indexOf)return a.indexOf(b);var c=a.length;while(c--)if(a[c]===b)return c;return-1}function f(a,b){var c=e(a,b);c!==-1&&a.splice(c,1)}function g(a,b){return"[object "+b+"]"===Object.prototype.toString.call(a)}function h(a){return g(a,"RegExp")}function i(a){return g(a,"Array")}function j(a){return typeof a=="function"}function k(a){var b;return a===null||a==="null"?b=null:a==="true"?b=!0:a==="false"?b=!1:a===d||a==="undefined"?b=d:a===""||isNaN(a)?b=a:b=parseFloat(a),b}function l(a){var b=a.length,c=[];while(b--)c[b]=k(a[b]);return c}function m(a,b){var c=(a||"").replace("?","").split("&"),d=c.length,e={},f,g,h,j,l;while(d--)f=c[d].split("="),j=f[0],l=e[j],g=b?k(f[1]):f[1],h=typeof g=="string"?decodeURIComponent(g):g,i(l)?l.unshift(h):e[f[0]]?e[j]=[h,l]:e[j]=h;return e}function n(){this.bypassed=new a.Signal,this.routed=new a.Signal,this._routes=[],this._prevRoutes=[],this._piped=[],this.resetState()}function o(b,c,d,e){var f=h(b),g=e.patternLexer;this._router=e,this._pattern=b,this._paramsIds=f?null:g.getParamIds(b),this._optionalParamsIds=f?null:g.getOptionalParamsIds(b),this._matchRegexp=f?b:g.compilePattern(b,e.ignoreCase),this.matched=new a.Signal,this.switched=new a.Signal,c&&this.matched.add(c),this._priority=d||0}var b,c,d;return c=/t(.+)?/.exec("t")[1]==="",n.prototype={greedy:!1,greedyEnabled:!0,ignoreCase:!0,ignoreState:!1,shouldTypecast:!1,normalizeFn:null,resetState:function(){this._prevRoutes.length=0,this._prevMatchedRequest=null,this._prevBypassedRequest=null},create:function(){return new n},addRoute:function(a,b,c){var d=new o(a,b,c,this);return this._sortedInsert(d),d},removeRoute:function(a){f(this._routes,a),a._destroy()},removeAllRoutes:function(){var a=this.getNumRoutes();while(a--)this._routes[a]._destroy();this._routes.length=0},parse:function(a,b){a=a||"",b=b||[];if(!this.ignoreState&&(a===this._prevMatchedRequest||a===this._prevBypassedRequest))return;var c=this._getMatchedRoutes(a),d=0,e=c.length,f;if(e){this._prevMatchedRequest=a,this._notifyPrevRoutes(c,a),this._prevRoutes=c;while(d<e)f=c[d],f.route.matched.dispatch.apply(f.route.matched,b.concat(f.params)),f.isFirst=!d,this.routed.dispatch.apply(this.routed,b.concat([a,f])),d+=1}else this._prevBypassedRequest=a,this.bypassed.dispatch.apply(this.bypassed,b.concat([a]));this._pipeParse(a,b)},_notifyPrevRoutes:function(a,b){var c=0,d;while(d=this._prevRoutes[c++])d.route.switched&&this._didSwitch(d.route,a)&&d.route.switched.dispatch(b)},_didSwitch:function(a,b){var c,d=0;while(c=b[d++])if(c.route===a)return!1;return!0},_pipeParse:function(a,b){var c=0,d;while(d=this._piped[c++])d.parse(a,b)},getNumRoutes:function(){return this._routes.length},_sortedInsert:function(a){var b=this._routes,c=b.length;do--c;while(b[c]&&a._priority<=b[c]._priority);b.splice(c+1,0,a)},_getMatchedRoutes:function(a){var b=[],c=this._routes,d=c.length,e;while(e=c[--d]){(!b.length||this.greedy||e.greedy)&&e.match(a)&&b.push({route:e,params:e._getParamsArray(a)});if(!this.greedyEnabled&&b.length)break}return b},pipe:function(a){this._piped.push(a)},unpipe:function(a){f(this._piped,a)},toString:function(){return"[crossroads numRoutes:"+this.getNumRoutes()+"]"}},b=new n,b.VERSION="0.12.1",b.NORM_AS_ARRAY=function(a,b){return[b.vals_]},b.NORM_AS_OBJECT=function(a,b){return[b]},o.prototype={greedy:!1,rules:void 0,match:function(a){return a=a||"",this._matchRegexp.test(a)&&this._validateParams(a)},_validateParams:function(a){var b=this.rules,c=this._getParamsObject(a),d;for(d in b)if(d!=="normalize_"&&b.hasOwnProperty(d)&&!this._isValidParam(a,d,c))return!1;return!0},_isValidParam:function(a,b,c){var d=this.rules[b],f=c[b],g=!1,k=b.indexOf("?")===0;return f==null&&this._optionalParamsIds&&e(this._optionalParamsIds,b)!==-1?g=!0:h(d)?(k&&(f=c[b+"_"]),g=d.test(f)):i(d)?(k&&(f=c[b+"_"]),g=this._isValidArrayRule(d,f)):j(d)&&(g=d(f,a,c)),g},_isValidArrayRule:function(a,b){if(!this._router.ignoreCase)return e(a,b)!==-1;typeof b=="string"&&(b=b.toLowerCase());var c=a.length,d,f;while(c--){d=a[c],f=typeof d=="string"?d.toLowerCase():d;if(f===b)return!0}return!1},_getParamsObject:function(a){var b=this._router.shouldTypecast,d=this._router.patternLexer.getParamValues(a,this._matchRegexp,b),f={},g=d.length,h,i;while(g--)i=d[g],this._paramsIds&&(h=this._paramsIds[g],h.indexOf("?")===0&&i&&(f[h+"_"]=i,i=m(i,b),d[g]=i),c&&i===""&&e(this._optionalParamsIds,h)!==-1&&(i=void 0,d[g]=i),f[h]=i),f[g]=i;return f.request_=b?k(a):a,f.vals_=d,f},_getParamsArray:function(a){var b=this.rules?this.rules.normalize_:null,c;return b=b||this._router.normalizeFn,b&&j(b)?c=b(a,this._getParamsObject(a)):c=this._getParamsObject(a).vals_,c},interpolate:function(a){var b=this._router.patternLexer.interpolate(this._pattern,a);if(!this._validateParams(b))throw new Error("Generated string doesn't validate against `Route.rules`.");return b},dispose:function(){this._router.removeRoute(this)},_destroy:function(){this.matched.dispose(),this.switched.dispose(),this.matched=this.switched=this._pattern=this._matchRegexp=null},toString:function(){return'[Route pattern:"'+this._pattern+'", numListeners:'+this.matched.getNumListeners()+"]"}},n.prototype.patternLexer=function(){function k(){var a,b;for(a in e)e.hasOwnProperty(a)&&(b=e[a],b.id="__CR_"+a+"__",b.save="save"in b?b.save.replace("{{id}}",b.id):b.id,b.rRestore=new RegExp(b.id,"g"))}function m(a,b){var c=[],d;a.lastIndex=0;while(d=a.exec(b))c.push(d[1]);return c}function n(a){return m(d,a)}function o(a){return m(e.OP.rgx,a)}function p(d,e){return d=d||"",d&&(j===f?d=d.replace(b,""):j===h&&(d=d.replace(c,"")),d=q(d,"rgx","save"),d=d.replace(a,"\\$&"),d=q(d,"rRestore","res"),j===f&&(d="\\/?"+d)),j!==g&&(d+="\\/?"),new RegExp("^"+d+"$",e?"i":"")}function q(a,b,c){var d,f;for(f in e)e.hasOwnProperty(f)&&(d=e[f],a=a.replace(d[b],d[c]));return a}function r(a,b,c){var d=b.exec(a);return d&&(d.shift(),c&&(d=l(d))),d}function s(a,b){if(typeof a!="string")throw new Error("Route pattern should be a string.");var c=function(a,c){var d;c=c.substr(0,1)==="?"?c.substr(1):c;if(b[c]!=null){if(typeof b[c]=="object"){var e=[],f;for(var g in b[c]){f=b[c][g];if(i(f))for(var h in f)e.push(encodeURI(g+"="+f[h]));else e.push(encodeURI(g+"="+f))}d="?"+e.join("&")}else d=String(b[c]);if(a.indexOf("*")===-1&&d.indexOf("/")!==-1)throw new Error('Invalid value "'+d+'" for segment "'+a+'".')}else{if(a.indexOf("{")!==-1)throw new Error("The segment "+a+" is required.");d=""}return d};return e.OS.trail||(e.OS.trail=new RegExp("(?:"+e.OS.id+")+$")),a.replace(e.OS.rgx,e.OS.save).replace(d,c).replace(e.OS.trail,"").replace(e.OS.rRestore,"/")}var a=/[\\.+*?\^$\[\](){}\/'#]/g,b=/^\/|\/$/g,c=/\/$/g,d=/(?:\{|:)([^}:]+)(?:\}|:)/g,e={OS:{rgx:/([:}]|\w(?=\/))\/?(:|(?:\{\?))/g,save:"$1{{id}}$2",res:"\\/?"},RS:{rgx:/([:}])\/?(\{)/g,save:"$1{{id}}$2",res:"\\/"},RQ:{rgx:/\{\?([^}]+)\}/g,res:"\\?([^#]+)"},OQ:{rgx:/:\?([^:]+):/g,res:"(?:\\?([^#]*))?"},OR:{rgx:/:([^:]+)\*:/g,res:"(.*)?"},RR:{rgx:/\{([^}]+)\*\}/g,res:"(.+)"},RP:{rgx:/\{([^}]+)\}/g,res:"([^\\/?]+)"},OP:{rgx:/:([^:]+):/g,res:"([^\\/?]+)?/?"}},f=1,g=2,h=3,j=f;return k(),{strict:function(){j=g},loose:function(){j=f},legacy:function(){j=h},getParamIds:n,getOptionalParamsIds:o,getParamValues:r,compilePattern:p,interpolate:s}}(),b};typeof define=="function"&&define.amd?define(["signals"],a):typeof module!="undefined"&&module.exports?module.exports=a(require("signals")):window.crossroads=a(window.signals)})(); | ||
;(function(){var a=function(a){function e(a,b){if(a.indexOf)return a.indexOf(b);var c=a.length;while(c--)if(a[c]===b)return c;return-1}function f(a,b){var c=e(a,b);c!==-1&&a.splice(c,1)}function g(a,b){return"[object "+b+"]"===Object.prototype.toString.call(a)}function h(a){return g(a,"RegExp")}function i(a){return g(a,"Array")}function j(a){return typeof a=="function"}function k(a){var b;return a===null||a==="null"?b=null:a==="true"?b=!0:a==="false"?b=!1:a===d||a==="undefined"?b=d:a===""||isNaN(a)?b=a:b=parseFloat(a),b}function l(a){var b=a.length,c=[];while(b--)c[b]=k(a[b]);return c}function m(a,b){var c=(a||"").replace("?","").split("&"),d=/([^=]+)=(.+)/,e=-1,f={},g,h,j,l;while(h=c[++e])g=h.indexOf("="),l=h.substring(0,g),j=decodeURIComponent(h.substring(g+1)),b!==!1&&(j=k(j)),l in f?i(f[l])?f[l].push(j):f[l]=[f[l],j]:f[l]=j;return f}function n(){this.bypassed=new a.Signal,this.routed=new a.Signal,this._routes=[],this._prevRoutes=[],this._piped=[],this.resetState()}function o(b,c,d,e){var f=h(b),g=e.patternLexer;this._router=e,this._pattern=b,this._paramsIds=f?null:g.getParamIds(b),this._optionalParamsIds=f?null:g.getOptionalParamsIds(b),this._matchRegexp=f?b:g.compilePattern(b,e.ignoreCase),this.matched=new a.Signal,this.switched=new a.Signal,c&&this.matched.add(c),this._priority=d||0}var b,c,d;return c=/t(.+)?/.exec("t")[1]==="",n.prototype={greedy:!1,greedyEnabled:!0,ignoreCase:!0,ignoreState:!1,shouldTypecast:!1,normalizeFn:null,resetState:function(){this._prevRoutes.length=0,this._prevMatchedRequest=null,this._prevBypassedRequest=null},create:function(){return new n},addRoute:function(a,b,c){var d=new o(a,b,c,this);return this._sortedInsert(d),d},removeRoute:function(a){f(this._routes,a),a._destroy()},removeAllRoutes:function(){var a=this.getNumRoutes();while(a--)this._routes[a]._destroy();this._routes.length=0},parse:function(a,b){a=a||"",b=b||[];if(!this.ignoreState&&(a===this._prevMatchedRequest||a===this._prevBypassedRequest))return;var c=this._getMatchedRoutes(a),d=0,e=c.length,f;if(e){this._prevMatchedRequest=a,this._notifyPrevRoutes(c,a),this._prevRoutes=c;while(d<e)f=c[d],f.route.matched.dispatch.apply(f.route.matched,b.concat(f.params)),f.isFirst=!d,this.routed.dispatch.apply(this.routed,b.concat([a,f])),d+=1}else this._prevBypassedRequest=a,this.bypassed.dispatch.apply(this.bypassed,b.concat([a]));this._pipeParse(a,b)},_notifyPrevRoutes:function(a,b){var c=0,d;while(d=this._prevRoutes[c++])d.route.switched&&this._didSwitch(d.route,a)&&d.route.switched.dispatch(b)},_didSwitch:function(a,b){var c,d=0;while(c=b[d++])if(c.route===a)return!1;return!0},_pipeParse:function(a,b){var c=0,d;while(d=this._piped[c++])d.parse(a,b)},getNumRoutes:function(){return this._routes.length},_sortedInsert:function(a){var b=this._routes,c=b.length;do--c;while(b[c]&&a._priority<=b[c]._priority);b.splice(c+1,0,a)},_getMatchedRoutes:function(a){var b=[],c=this._routes,d=c.length,e;while(e=c[--d]){(!b.length||this.greedy||e.greedy)&&e.match(a)&&b.push({route:e,params:e._getParamsArray(a)});if(!this.greedyEnabled&&b.length)break}return b},pipe:function(a){this._piped.push(a)},unpipe:function(a){f(this._piped,a)},toString:function(){return"[crossroads numRoutes:"+this.getNumRoutes()+"]"}},b=new n,b.VERSION="0.12.2",b.NORM_AS_ARRAY=function(a,b){return[b.vals_]},b.NORM_AS_OBJECT=function(a,b){return[b]},o.prototype={greedy:!1,rules:void 0,match:function(a){return a=a||"",this._matchRegexp.test(a)&&this._validateParams(a)},_validateParams:function(a){var b=this.rules,c=this._getParamsObject(a),d;for(d in b)if(d!=="normalize_"&&b.hasOwnProperty(d)&&!this._isValidParam(a,d,c))return!1;return!0},_isValidParam:function(a,b,c){var d=this.rules[b],f=c[b],g=!1,k=b.indexOf("?")===0;return f==null&&this._optionalParamsIds&&e(this._optionalParamsIds,b)!==-1?g=!0:h(d)?(k&&(f=c[b+"_"]),g=d.test(f)):i(d)?(k&&(f=c[b+"_"]),g=this._isValidArrayRule(d,f)):j(d)&&(g=d(f,a,c)),g},_isValidArrayRule:function(a,b){if(!this._router.ignoreCase)return e(a,b)!==-1;typeof b=="string"&&(b=b.toLowerCase());var c=a.length,d,f;while(c--){d=a[c],f=typeof d=="string"?d.toLowerCase():d;if(f===b)return!0}return!1},_getParamsObject:function(a){var b=this._router.shouldTypecast,d=this._router.patternLexer.getParamValues(a,this._matchRegexp,b),f={},g=d.length,h,i;while(g--)i=d[g],this._paramsIds&&(h=this._paramsIds[g],h.indexOf("?")===0&&i&&(f[h+"_"]=i,i=m(i,b),d[g]=i),c&&i===""&&e(this._optionalParamsIds,h)!==-1&&(i=void 0,d[g]=i),f[h]=i),f[g]=i;return f.request_=b?k(a):a,f.vals_=d,f},_getParamsArray:function(a){var b=this.rules?this.rules.normalize_:null,c;return b=b||this._router.normalizeFn,b&&j(b)?c=b(a,this._getParamsObject(a)):c=this._getParamsObject(a).vals_,c},interpolate:function(a){var b=this._router.patternLexer.interpolate(this._pattern,a);if(!this._validateParams(b))throw new Error("Generated string doesn't validate against `Route.rules`.");return b},dispose:function(){this._router.removeRoute(this)},_destroy:function(){this.matched.dispose(),this.switched.dispose(),this.matched=this.switched=this._pattern=this._matchRegexp=null},toString:function(){return'[Route pattern:"'+this._pattern+'", numListeners:'+this.matched.getNumListeners()+"]"}},n.prototype.patternLexer=function(){function k(){var a,b;for(a in e)e.hasOwnProperty(a)&&(b=e[a],b.id="__CR_"+a+"__",b.save="save"in b?b.save.replace("{{id}}",b.id):b.id,b.rRestore=new RegExp(b.id,"g"))}function m(a,b){var c=[],d;a.lastIndex=0;while(d=a.exec(b))c.push(d[1]);return c}function n(a){return m(d,a)}function o(a){return m(e.OP.rgx,a)}function p(d,e){return d=d||"",d&&(j===f?d=d.replace(b,""):j===h&&(d=d.replace(c,"")),d=q(d,"rgx","save"),d=d.replace(a,"\\$&"),d=q(d,"rRestore","res"),j===f&&(d="\\/?"+d)),j!==g&&(d+="\\/?"),new RegExp("^"+d+"$",e?"i":"")}function q(a,b,c){var d,f;for(f in e)e.hasOwnProperty(f)&&(d=e[f],a=a.replace(d[b],d[c]));return a}function r(a,b,c){var d=b.exec(a);return d&&(d.shift(),c&&(d=l(d))),d}function s(a,b){b=b||{};if(typeof a!="string")throw new Error("Route pattern should be a string.");var c=function(a,c){var d;c=c.substr(0,1)==="?"?c.substr(1):c;if(b[c]!=null){if(typeof b[c]=="object"){var e=[],f;for(var g in b[c]){f=b[c][g];if(i(f))for(var h in f)g.slice(-2)=="[]"?e.push(encodeURI(g.slice(0,-2))+"[]="+encodeURI(f[h])):e.push(encodeURI(g+"="+f[h]));else e.push(encodeURI(g+"="+f))}d="?"+e.join("&")}else d=String(b[c]);if(a.indexOf("*")===-1&&d.indexOf("/")!==-1)throw new Error('Invalid value "'+d+'" for segment "'+a+'".')}else{if(a.indexOf("{")!==-1)throw new Error("The segment "+a+" is required.");d=""}return d};return e.OS.trail||(e.OS.trail=new RegExp("(?:"+e.OS.id+")+$")),a.replace(e.OS.rgx,e.OS.save).replace(d,c).replace(e.OS.trail,"").replace(e.OS.rRestore,"/")}var a=/[\\.+*?\^$\[\](){}\/'#]/g,b=/^\/|\/$/g,c=/\/$/g,d=/(?:\{|:)([^}:]+)(?:\}|:)/g,e={OS:{rgx:/([:}]|\w(?=\/))\/?(:|(?:\{\?))/g,save:"$1{{id}}$2",res:"\\/?"},RS:{rgx:/([:}])\/?(\{)/g,save:"$1{{id}}$2",res:"\\/"},RQ:{rgx:/\{\?([^}]+)\}/g,res:"\\?([^#]+)"},OQ:{rgx:/:\?([^:]+):/g,res:"(?:\\?([^#]*))?"},OR:{rgx:/:([^:]+)\*:/g,res:"(.*)?"},RR:{rgx:/\{([^}]+)\*\}/g,res:"(.+)"},RP:{rgx:/\{([^}]+)\}/g,res:"([^\\/?]+)"},OP:{rgx:/:([^:]+):/g,res:"([^\\/?]+)?/?"}},f=1,g=2,h=3,j=f;return k(),{strict:function(){j=g},loose:function(){j=f},legacy:function(){j=h},getParamIds:n,getOptionalParamsIds:o,getParamValues:r,compilePattern:p,interpolate:s}}(),b};typeof define=="function"&&define.amd?define(["signals"],a):typeof module!="undefined"&&module.exports?module.exports=a(require("signals")):window.crossroads=a(window.signals)})(); |
{ | ||
"name" : "crossroads", | ||
"description" : "Flexible router which can be used in multiple environments", | ||
"keywords" : ["routes", "event", "observer", "routing", "router"], | ||
"homepage" : "http://millermedeiros.github.com/crossroads.js/", | ||
"version" : "0.12.1", | ||
"author" : { | ||
"name" : "Miller Medeiros", | ||
"url" : "http://blog.millermedeiros.com/" | ||
}, | ||
"repository" : { | ||
"type" : "git", | ||
"url" : "https://github.com/millermedeiros/crossroads.js.git" | ||
}, | ||
"main" : "dist/crossroads.js", | ||
"bugs" : { | ||
"url" : "https://github.com/millermedeiros/crossroads.js/issues" | ||
}, | ||
"licenses" : [ | ||
{ | ||
"type" : "MIT", | ||
"url" : "http://www.opensource.org/licenses/mit-license.php" | ||
} | ||
], | ||
"dependencies" : { | ||
"signals" : "<2.0" | ||
}, | ||
"devDependencies" : { | ||
"uglify-js" : "~1.2.3", | ||
"jasmine-node" : "1.0.x" | ||
}, | ||
"scripts" : { | ||
"pretest" : "node build", | ||
"test" : "node node_modules/.bin/jasmine-node dev/tests/spec" | ||
} | ||
"name": "crossroads", | ||
"description": "Flexible router which can be used in multiple environments", | ||
"keywords": [ | ||
"routes", | ||
"event", | ||
"observer", | ||
"routing", | ||
"router" | ||
], | ||
"homepage": "http://millermedeiros.github.com/crossroads.js/", | ||
"version": "0.12.2", | ||
"author": { | ||
"name": "Miller Medeiros", | ||
"url": "http://blog.millermedeiros.com/" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/millermedeiros/crossroads.js.git" | ||
}, | ||
"main": "dist/crossroads.js", | ||
"bugs": { | ||
"url": "https://github.com/millermedeiros/crossroads.js/issues" | ||
}, | ||
"license": "MIT", | ||
"dependencies": { | ||
"signals": "<2.0" | ||
}, | ||
"devDependencies": { | ||
"uglify-js": "~1.2.3", | ||
"jasmine-node": "1.0.x" | ||
}, | ||
"scripts": { | ||
"pretest": "node build", | ||
"test": "node node_modules/.bin/jasmine-node dev/tests/spec" | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
48270
747