Merge branch 'master' into releases

This commit is contained in:
Roman Hotsiy 2016-04-30 23:15:32 +03:00
commit 062f805e3e
35 changed files with 418 additions and 289 deletions

1
.gitignore vendored
View File

@ -27,3 +27,4 @@ jspm_packages
/demo/build
.tmp
/coverage
.ghpages-tmp

View File

@ -41,11 +41,7 @@ deploy:
secure: PuhWLERrCEFmXmdFpw2OVFlqpOIVDmgwk5JUJOYaFdVCh/smp0+jZCQ4vrdFpuG96rnDVirD+A8xvW6NgsNNaRthLgOB/LRdFN69rU6Gvn3At6wlnC55t5dlhxPvCfnzJcHVBLXX4EmMkjnZqDg2uczXTzPodr3FnQJNuXmP8B33fzDVLyHccvXZ90abwXWVrgRIXPU28niqCR8DOC2OTzs7wqz+BLNkYDRRbyYXsg62HWuD33x5iof5IqBmhzBt3usCGmF3QGcgHrXHdZw3sZnit8+Bua++3KrXR0x6HGXXN1AoXVmCAkCa5OTQ5R3tCRxiJN3P2KLnvWeZR74sTFkovJB/6pGCvbJ/c7Wnuw6sD7SgOUBD359ULB6lAf5OnxBLoNebX4JxxVXF+zA4E3Bl44VxkzDpPWc15xqBPMB5vBREzMVmJ5mExn2s5cmLQjADbl9h0y6gZnhnNJ+iTmqtrVyM0ZkF2rPrzrTdGD+ULmRIlTMkdD1bh+/TJ3RdXT3P4/zNUJmiNnvgnnJVYYvsGaXWF+7uCVHT/8k2RsoSHqgkqh0gkDqGSwVix55y5mC7T2Vk9lMBhm6MvFJXaonOX0kxJS4EDQ3plPd6/ybG+TLhwggYnQ8o9msU5Nt6FpUShKiezjKurIhbQZdwlVivX3tahjW2QjNDO58xGgY=
on:
tags: true
- skip_cleanup: true
provider: script
script: npm run github-release
on:
tags: true
condition: $JOB != e2e
- skip_cleanup: true
provider: script
script: npm run branch-release
@ -56,5 +52,5 @@ deploy:
provider: script
script: npm run deploy
on:
branch: master
tags: true
condition: $JOB != e2e

View File

@ -9,7 +9,8 @@ var paths = {
output: 'dist/',
tmp: '.tmp/',
demo: 'demo/**/*',
tests: '{lib,tests}/**/*.spec.js'
tests: '{lib,tests}/**/*.spec.js',
releases: 'demo/releases/'
}
paths.redocBuilt = path.join(paths.output, paths.outputName);

View File

@ -1,6 +1,15 @@
#!/bin/bash
set -e
set -x
mkdir -p .ghpages-tmp && cd .ghpages-tmp
git checkout gh-pages
cp -R ../releases/* .
git checkout master
cd -
gulp build
cd demo
cp -R ../dist ./dist
mkdir -p releases
cp -R ../.ghpages-tmp/* ./releases/
cd -
gulp copy-version

View File

@ -28,8 +28,7 @@ gulp.task('buildDev', function (callback) {
);
});
gulp.task('bundle', ['buildStatic', 'concatDeps']);
gulp.task('bundle', ['concatPrism', 'buildStatic', 'concatDeps']);
gulp.task('bundleProd', ['bundle', 'buildStaticMin', 'concatDepsMin']);
gulp.task('inlineTemplates', ['sass'], function() {
@ -101,3 +100,35 @@ function bundle(outputFile, minify, cb) {
cb(new Error(err));
});
}
gulp.task('concatPrism', function() {
require('../../system.config.js');
var prismFolder = System.normalizeSync('prismjs').substring(8);
prismFolder = prismFolder.substring(0, prismFolder.length -3);
var prismFiles = [
'prism.js',
'components/prism-actionscript.js',
'components/prism-c.js',
'components/prism-cpp.js',
'components/prism-csharp.js',
'components/prism-php.js',
'components/prism-coffeescript.js',
'components/prism-go.js',
'components/prism-haskell.js',
'components/prism-java.js',
'components/prism-lua.js',
'components/prism-matlab.js',
'components/prism-perl.js',
'components/prism-python.js',
'components/prism-r.js',
'components/prism-ruby.js',
'components/prism-bash.js',
'components/prism-swift.js',
'components/prism-objectivec.js',
'components/prism-scala.js'
].map(file => path.join(prismFolder, file));
gulp.src(prismFiles)
.pipe(concat(path.join(paths.tmp, 'prismjs-bundle.js')))
.pipe(gulp.dest('.'))
});

View File

@ -0,0 +1,10 @@
var gulp = require('gulp');
var path = require('path');
var paths = require('../paths');
gulp.task('copy-version', function() {
var tag = 'v' + require(path.join(__dirname, '../../package.json')).version;
gulp.src(paths.redocBuilt + '.min.js')
.pipe(gulp.dest(path.join(paths.releases, tag)))
.pipe(gulp.dest(path.join(paths.releases, 'latest')));
});

View File

@ -1,12 +0,0 @@
var gulp = require('gulp');
var release = require('gulp-github-release');
var path = require('path');
var paths = require('../paths');
gulp.task('github-release', ['build'], function(){
gulp.src(paths.redocBuilt + '.min.js')
.pipe(release({
token: process.env.GH_TOKEN,
manifest: require(path.join(__dirname, '../../package.json'))
}));
});

View File

@ -5,7 +5,7 @@ var Server = require('karma').Server;
/**
* Run test once and exit
*/
gulp.task('test', ['inlineTemplates'], function (done) {
gulp.task('test', ['concatPrism', 'inlineTemplates'], function (done) {
new Server({
configFile: __dirname + '/../../karma.conf.js',
singleRun: true

View File

@ -46,6 +46,8 @@ module.exports = function (config) {
//load angular dependencies and browser polyfills
files: [
'node_modules/zone.js/dist/zone.js',
'node_modules/zone.js/dist/fake-async-test.js',
'node_modules/zone.js/dist/async-test.js',
'node_modules/zone.js/dist/jasmine-patch.js',
'node_modules/zone.js/dist/long-stack-trace-zone.js',
'node_modules/babel-polyfill/dist/polyfill.js',
@ -55,7 +57,7 @@ module.exports = function (config) {
jspm: {
config: 'system.config.js',
loadFiles: ['tests/setup.js', 'tests/helpers.js', 'tests/unit/*.spec.js', 'lib/**/*.js'],
serveFiles: ['tests/schemas/**/*.json','tests/schemas/**/*.yml', 'lib/**/*.html', '.tmp/lib/**/*.css'],
serveFiles: ['tests/schemas/**/*.json','tests/schemas/**/*.yml', 'lib/**/*.html', '.tmp/*js', '.tmp/lib/**/*.css'],
nocache: true
},
@ -65,6 +67,7 @@ module.exports = function (config) {
'/lib/': '/base/lib/',
'/jspm_packages/': '/base/jspm_packages/',
'/node_modules/': '/base/node_modules/',
'/prismjs-bundle.js': '/base/.tmp/prismjs-bundle.js',
'/.tmp/': '/base/.tmp/'
},
reporters: travis ? ['mocha', 'coverage', 'coveralls'] : ['mocha', 'coverage'],

View File

@ -1,13 +1,12 @@
@import '../../styles/variables';
$silver: #666D71;
$background-silver: #EEEFEF;
$border: darken($background-silver, 2%);
:host {
.dk-select {
max-width: 100%;
font-family: $headers-font;
font-family: $headers-font, $headers-font-family;
font-size: .929em;
min-width: 100px;
width: auto;
}
.dk-selected:after {
@ -15,16 +14,11 @@ $border: darken($background-silver, 2%);
}
// button
.dk-selected {
color: $silver;
border-color: $silver;
padding: 0.4em 0.9em 0.4em 0.4em;
border-radius: 0.4rem;
}
.dk-select-open-down .dk-selected {
border-radius: 0.4rem;
color: $secondary-color;
border-color: rgba($secondary-color, .5);
padding: 0.15em 0.6em 0.2em 0.5em;
border-radius: $border-radius;
}
.dk-select-open-down .dk-selected, .dk-selected:focus, .dk-selected:hover {
@ -34,37 +28,45 @@ $border: darken($background-silver, 2%);
// tick
.dk-selected:before {
border-top-color: $silver;
border-top-color: $secondary-color;
border-width: .35em .35em 0;
}
.dk-select-open-down .dk-selected:before,
.dk-select-open-up .dk-selected:before {
border-bottom-color: $primary-color;
border-width: 0 .35em .35em;
}
// items
.dk-select-multi:focus .dk-select-options,
.dk-select-open-down .dk-select-options,
.dk-select-open-up .dk-select-options {
border-color: $silver;
border-color: rgba($secondary-color, .2);
}
.dk-select-options .dk-option-highlight {
background: #ffffff;
}
.dk-select-options {
margin-top: 0.2em;
border-radius: 0.4em;
padding: 0;
border-radius: $border-radius;
box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08) !important
}
.dk-option {
color: $black;
padding: 0.4em 0.4em;
color: $secondary-color;
padding: 0.16em 0.6em 0.2em 0.5em;
&:hover {
background-color: $background-silver;
background-color: rgba($secondary-color, .12);
}
&:focus {
background-color: rgba($secondary-color, .12);
}
}
.dk-option-selected {
background-color: $background-silver;
background-color: rgba(0, 0, 0, 0.05)!important;
}
}

View File

@ -30,7 +30,7 @@ describe('Common components', () => {
builder.createAsync(TestApp).then(_fixture => {
fixture = _fixture;
let debugEl = getChildDebugElementByType(fixture.debugElement, StickySidebar);
component = debugEl.componentInstance;
component = debugEl.injector.get(StickySidebar);
done();
}, err => done.fail(err));
});

View File

@ -8,7 +8,7 @@ import {CORE_DIRECTIVES} from 'angular2/common';
events: ['change'],
template: `
<ul>
<li *ngFor="#tab of tabs" [ngClass]="{active: tab.active}" (click)="selectTab(tab)"
<li *ngFor="let tab of tabs" [ngClass]="{active: tab.active}" (click)="selectTab(tab)"
class="tab-{{tab.tabStatus}}">{{tab.tabTitle}}</li>
</ul>
<ng-content></ng-content>
@ -61,7 +61,7 @@ export class Tabs {
selector: 'tab',
inputs: ['tabTitle', 'tabStatus'],
template: `
<div class="tab-wrap" [ngClass]="{ 'active': active }">
<div class="tab-wrap" [ngClass]="{'active': active}">
<ng-content></ng-content>
</div>
`,

View File

@ -5,7 +5,8 @@ import {Component, provide} from 'angular2/core';
import {
TestComponentBuilder,
injectAsync,
async,
inject,
beforeEach,
beforeEachProviders,
it
@ -26,10 +27,12 @@ describe('Redoc components', () => {
provide(SchemaManager, {useValue: new SchemaManager()}),
provide(OptionsManager, {useValue: optsMgr})
]);
beforeEach(injectAsync([TestComponentBuilder, SchemaManager], (tcb, schemaMgr) => {
beforeEach(async(inject([TestComponentBuilder, SchemaManager], (tcb, schemaMgr) => {
builder = tcb;
return schemaMgr.load('/tests/schemas/api-info-test.json').then(() => null, (err) => { throw err; });
}));
return schemaMgr.load('/tests/schemas/api-info-test.json');
})));
beforeEach((done) => {
builder.createAsync(TestApp).then(_fixture => {
fixture = _fixture;

View File

@ -5,7 +5,8 @@ import {Component, provide} from 'angular2/core';
import {
TestComponentBuilder,
injectAsync,
async,
inject,
beforeEach,
beforeEachProviders,
it
@ -26,11 +27,11 @@ describe('Redoc components', () => {
beforeEachProviders(() => [
provide(SchemaManager, {useValue: new SchemaManager()})
]);
beforeEach(injectAsync([TestComponentBuilder, SchemaManager], (tcb, _schemaMgr) => {
beforeEach(async(inject([TestComponentBuilder, SchemaManager], (tcb, _schemaMgr) => {
builder = tcb;
schemaMgr = _schemaMgr;
return schemaMgr.load(schemaUrl).then(() => null, (err) => { throw err; });
}));
return schemaMgr.load(schemaUrl);
})));
beforeEach((done) => {
builder.createAsync(TestApp).then(_fixture => {
fixture = _fixture;

View File

@ -70,7 +70,7 @@ $sub-schema-offset: ($bullet-size/2) + $bullet-margin;
}
.param-type {
color: $black;
color: rgba($black, 0.4);
font-size: 0.929em;
line-height: $param-name-height;
vertical-align: middle;
@ -83,10 +83,6 @@ $sub-schema-offset: ($bullet-size/2) + $bullet-margin;
font-weight: $base-font-weight;
}
.param-type {
color: rgba($black, 0.4);
}
.param-type.with-hint {
display: inline-block;
margin-bottom: 0.4em;

View File

@ -1,6 +1,6 @@
'use strict';
import {Component, ElementRef} from 'angular2/core';
import {Component, ElementRef, ViewContainerRef} from 'angular2/core';
import {CORE_DIRECTIVES} from 'angular2/common';
import {DynamicComponentLoader} from 'angular2/src/core/linker/dynamic_component_loader';
@ -18,10 +18,11 @@ var cache = {};
template: '',
directives: [CORE_DIRECTIVES]
})
@Reflect.metadata('parameters', [[SchemaManager], [ElementRef], [DynamicComponentLoader], [OptionsManager]])
@Reflect.metadata('parameters', [[SchemaManager], [ViewContainerRef], [ElementRef], [DynamicComponentLoader], [OptionsManager]])
export default class JsonSchemaLazy {
constructor(schemaMgr, elementRef, dcl, optionsMgr) {
constructor(schemaMgr, viewRef, elementRef, dcl, optionsMgr) {
this.viewRef = viewRef;
this.elementRef = elementRef;
this.dcl = dcl;
this.optionsMgr = optionsMgr;
@ -37,7 +38,7 @@ export default class JsonSchemaLazy {
if (this.optionsMgr.options.disableLazySchemas) return;
if (this.loaded) return;
if (this.pointer) {
this.dcl.loadNextToLocation(JsonSchema, this.elementRef).then((compRef) => {
this.dcl.loadNextToLocation(JsonSchema, this.viewRef).then((compRef) => {
this.initComponent(compRef);
// trigger change detection
compRef.hostView.changeDetectorRef.detectChanges();
@ -57,9 +58,9 @@ export default class JsonSchemaLazy {
// skip caching view with tabs inside (discriminator) as it needs attached controller
// FIXME: get rid of dependency on selector
if ($element.querySelector('.discriminator-wrap')) {
this.dcl.loadNextToLocation(JsonSchema, this.elementRef).then((compRef) => {
this.dcl.loadNextToLocation(JsonSchema, this.viewRef).then((compRef) => {
this.initComponent(compRef);
compRef.hostView.changeDetectorRef.markForCheck();
compRef.hostView.changeDetectorRef.detectChanges();
});
return;
}
@ -67,9 +68,9 @@ export default class JsonSchemaLazy {
} );
});
} else {
cache[this.pointer] = this.dcl.loadNextToLocation(JsonSchema, this.elementRef).then((compRef) => {
cache[this.pointer] = this.dcl.loadNextToLocation(JsonSchema, this.viewRef).then((compRef) => {
this.initComponent(compRef);
compRef.hostView.changeDetectorRef.markForCheck();
compRef.hostView.changeDetectorRef.detectChanges();
return compRef;
});
}

View File

@ -5,13 +5,17 @@
<span class="param-range" *ngIf="schema._range"> {{schema._range}} </span>
</span>
<div *ngIf="schema.enum" class="param-enum">
<span *ngFor="#enumItem of schema.enum" class="enum-value {{enumItem.type}}"> {{enumItem.val | json}} </span>
<span *ngFor="let enumItem of schema.enum" class="enum-value {{enumItem.type}}"> {{enumItem.val | json}} </span>
</div>
</span>
<table *ngIf="!schema.isTrivial" class="params-wrap" [ngClass]="{'params-array': schema._isArray}">
<!-- <caption> {{_displayType}} </caption> -->
<template ngFor [ngForOf]="schema.properties" #prop="$implicit" #last="last">
<tr class="param" [ngClass]="{'last': last, 'discriminator': prop.isDiscriminator && !derivedEmtpy, 'complex': prop._pointer}">
<template ngFor [ngForOf]="schema.properties" let-prop="$implicit" let-last="last">
<tr class="param" [ngClass]="{'last': last,
'discriminator': prop.isDiscriminator && !derivedEmtpy,
'complex': prop._pointer,
'additional': prop._additional
}">
<td class="param-name">
<span class="param-name-content">{{prop._name}}</span>
</td>
@ -23,14 +27,14 @@
</span>
<span *ngIf="prop.required" class="param-required">Required</span>
<div *ngIf="prop.enum && !prop.isDiscriminator" class="param-enum">
<span *ngFor="#enumItem of prop.enum" class="enum-value {{enumItem.type}}"> {{enumItem.val | json}} </span>
<span *ngFor="let enumItem of prop.enum" class="enum-value {{enumItem.type}}"> {{enumItem.val | json}} </span>
</div>
</div>
<div class="param-description" innerHtml="{{prop.description | marked}}"></div>
<div class="discriminator-info" *ngIf="prop.isDiscriminator">
<span>This field value determines the exact schema:</span>
<dropdown (change)="selectDerived($event)">
<option *ngFor="#derived of schema.derived; #i=index"
<option *ngFor="let derived of schema.derived; let i=index"
[value]="i">{{derived.name}}</option>
</dropdown>
</div>
@ -46,7 +50,7 @@
</template>
<tr *ngIf="schema.derived.length" class="param-wrap discriminator-wrap" [ngClass]="{'empty': derivedEmtpy}">
<td colspan="2">
<div class="derived-schema" *ngFor="#derived of schema.derived" [ngClass]="{active: derived.active}">
<div class="derived-schema" *ngFor="let derived of schema.derived" [ngClass]="{active: derived.active}">
<json-schema class="discriminator-part" *ngIf="!derived.empty" [childFor]="pointer"
pointer="{{derived.$ref}}" [final]="derived.final" [skipReadOnly]="skipReadOnly">
</json-schema>

View File

@ -89,7 +89,7 @@ export default class JsonSchema extends BaseComponent {
}
let discriminatorFieldIdx = -1;
let props = Object.keys(schema.properties).map((prop, idx) => {
let props = schema.properties && Object.keys(schema.properties).map((prop, idx) => {
let propertySchema = schema.properties[prop];
let propPointer = propertySchema._pointer ||
JsonPointer.join(schema._pointer || this.pointer, ['properties', prop]);
@ -105,6 +105,15 @@ export default class JsonSchema extends BaseComponent {
}
return propertySchema;
});
props = props || [];
if (schema.additionalProperties && schema.additionalProperties !== false) {
let propsSchema = this.prepareAdditionalProperties(schema.additionalProperties);
propsSchema._additional = true;
props.push(propsSchema);
}
// Move discriminator field to the end of properties list
if (discriminatorFieldIdx > -1) {
let discrProp = props.splice(discriminatorFieldIdx, 1);
@ -116,6 +125,11 @@ export default class JsonSchema extends BaseComponent {
schema.properties = props;
}
prepareAdditionalProperties(schema) {
return JsonSchema.injectPropertyData(schema, '<Additional Properties> *',
JsonPointer.join(schema._pointer || this.pointer, ['additionalProperties']));
}
static injectPropertyData(propertySchema, propertyName, propPointer) {
propertySchema = Object.assign({}, propertySchema);
@ -190,7 +204,8 @@ const injectors = {
simpleType: {
check: (propertySchema) => {
if (propertySchema.type === 'object') {
return !propertySchema.properties || !Object.keys(propertySchema.properties).length;
return (!propertySchema.properties || !Object.keys(propertySchema.properties).length)
&& (typeof propertySchema.additionalProperties !== 'object');
}
return (propertySchema.type !== 'array') && propertySchema.type;
},

View File

@ -73,6 +73,10 @@ json-schema[nesteven="true"] {
border-bottom: 0;
}
.param.additional > .param-name {
color: rgba($black, 0.4);
}
.params-wrap {
border-collapse: collapse;
width: 100%;

View File

@ -4,7 +4,7 @@
<a class="share-link" href="#{{data.methodAnchor}}"></a>{{data.methodInfo.summary}}
</h2>
<div class="method-tags" *ngIf="data.methodInfo.tags.length">
<a *ngFor="#tag of data.methodInfo.tags" attr.href="#{{tag}}"> {{tag}} </a>
<a *ngFor="let tag of data.methodInfo.tags" attr.href="#{{tag}}"> {{tag}} </a>
</div>
<p *ngIf="data.methodInfo.description" class="method-description"
innerHtml="{{data.methodInfo.description | marked}}">

View File

@ -6,7 +6,8 @@ import {BrowserDomAdapter} from 'angular2/platform/browser';
import {
TestComponentBuilder,
injectAsync,
async,
inject,
beforeEach,
beforeEachProviders,
it
@ -25,10 +26,10 @@ describe('Redoc components', () => {
provide(BrowserDomAdapter, {useClass: BrowserDomAdapter}),
provide(OptionsManager, {useClass: OptionsManager})
]);
beforeEach(injectAsync([TestComponentBuilder, SchemaManager], (tcb, schemaMgr) => {
beforeEach(async(inject([TestComponentBuilder, SchemaManager], (tcb, schemaMgr) => {
builder = tcb;
return schemaMgr.load('/tests/schemas/extended-petstore.yml').then(() => null, (err) => { throw err; });
}));
return schemaMgr.load('/tests/schemas/extended-petstore.yml');
})));
beforeEach((done) => {
builder.createAsync(TestApp).then(fixture => {
component = getChildDebugElement(fixture.debugElement, 'method').componentInstance;

View File

@ -1,10 +1,10 @@
<div class="methods">
<div class="tag" *ngFor="#tag of data.tags">
<div class="tag" *ngFor="let tag of data.tags">
<div class="tag-info" [attr.tag]="tag.name">
<h1 class="sharable-header"> <a class="share-link" href="#tag/{{tag.name | encodeURIComponent}}"></a>{{tag.name}} </h1>
<p *ngIf="tag.description" innerHtml="{{ tag.description | marked }}"> </p>
</div>
<method *ngFor="#method of tag.methods" [pointer]="method.pointer" [attr.pointer]="method.pointer"
<method *ngFor="let method of tag.methods" [pointer]="method.pointer" [attr.pointer]="method.pointer"
[attr.tag]="method.tag" [tag]="method.tag" [attr.operation-id]="method.operationId"></method>
</div>
</div>

View File

@ -7,7 +7,8 @@ import {BrowserDomAdapter} from 'angular2/platform/browser';
import {
TestComponentBuilder,
injectAsync,
inject,
async,
beforeEach,
beforeEachProviders,
it
@ -26,10 +27,10 @@ describe('Redoc components', () => {
provide(OptionsManager, {useClass: OptionsManager}),
provide(BrowserDomAdapter, {useClass: BrowserDomAdapter})
]);
beforeEach(injectAsync([TestComponentBuilder, SchemaManager], (tcb, schemaMgr) => {
beforeEach(async(inject([TestComponentBuilder, SchemaManager], (tcb, schemaMgr) => {
builder = tcb;
return schemaMgr.load('/tests/schemas/methods-list-component.json').then(() => null, (err) => { throw err; });
}));
return schemaMgr.load('/tests/schemas/methods-list-component.json');
})));
beforeEach((done) => {
builder.createAsync(TestApp).then(_fixture => {
fixture = _fixture;

View File

@ -1,12 +1,12 @@
<h5 class="param-list-header" *ngIf="data.params.length"> Parameters </h5>
<template ngFor [ngForOf]="data.params" #paramType="$implicit">
<template ngFor [ngForOf]="data.params" let-paramType="$implicit">
<header class="paramType">
{{paramType.place}} Parameters
<span class="hint--top-right hint--large" [attr.data-hint]="paramType.placeHint">?</span>
</header>
<br>
<div class="params-wrap">
<div *ngFor="#param of paramType.params" class="param">
<div *ngFor="let param of paramType.params" class="param">
<div class="param-name">
<span class="param-name-content"> {{param.name}} </span>
</div>
@ -16,7 +16,7 @@
title="{{param._displayTypeHint}}"> {{param._displayType}} {{param._displayFormat}}</span>
<span *ngIf="param.required" class="param-required">Required</span>
<div *ngIf="param.enum" class="param-enum">
<span *ngFor="#enumItem of param.enum" class="enum-value {{enumItem.type}}"> {{enumItem.val | json}} </span>
<span *ngFor="let enumItem of param.enum" class="enum-value {{enumItem.type}}"> {{enumItem.val | json}} </span>
</div>
</div>
<div class="param-description" innerHtml="{{param.description | marked}}"></div>

View File

@ -66,7 +66,7 @@ export default class Redoc extends BaseComponent {
];
if (Redoc.appRef) {
Redoc.dispose();
Redoc.destroy();
}
Redoc.showLoadingAnimation();
return SchemaManager.instance().load(specUrl)
@ -102,7 +102,7 @@ export default class Redoc extends BaseComponent {
}
}
static dispose() {
static destroy() {
let el = dom.query('redoc');
let elClone;
let parent;
@ -115,10 +115,10 @@ export default class Redoc extends BaseComponent {
elClone = el.cloneNode(false);
if (Redoc.appRef) {
Redoc.appRef.dispose();
Redoc.appRef.destroy();
Redoc.appRef = null;
// Redoc dispose removes host element, so need to restore it
// Redoc destroy removes host element, so need to restore it
elClone.innerHTML = 'Loading...';
parent && parent.insertBefore(elClone, nextSibling);
}

View File

@ -6,7 +6,8 @@ import {BrowserDomAdapter} from 'angular2/platform/browser';
import {
TestComponentBuilder,
injectAsync,
inject,
async,
beforeEach,
beforeEachProviders,
it
@ -26,10 +27,10 @@ describe('Redoc components', () => {
provide(BrowserDomAdapter, {useValue: new BrowserDomAdapter()}),
provide(OptionsManager, {useValue: optsMgr})
]);
beforeEach(injectAsync([TestComponentBuilder, SchemaManager], (tcb, schemaMgr) => {
beforeEach(async(inject([TestComponentBuilder, SchemaManager], (tcb, schemaMgr) => {
builder = tcb;
return schemaMgr.load('/tests/schemas/extended-petstore.yml').then(() => null, (err) => { throw err; });
}));
return schemaMgr.load('/tests/schemas/extended-petstore.yml');
})));
it('should init component', (done) => {
@ -141,29 +142,29 @@ describe('Redoc components', () => {
});
});
describe('Redoc dispose', () => {
describe('Redoc destroy', () => {
let builder;
let fixture;
let element;
let disposeSpy;
let destroySpy;
let dom = new BrowserDomAdapter();
beforeEachProviders(() => [
provide(SchemaManager, {useValue: new SchemaManager()}),
provide(BrowserDomAdapter, {useValue: new BrowserDomAdapter()}),
provide(OptionsManager, {useValue: optsMgr})
]);
beforeEach(injectAsync([TestComponentBuilder, SchemaManager], (tcb, schemaMgr) => {
beforeEach(async(inject([TestComponentBuilder, SchemaManager], (tcb, schemaMgr) => {
builder = tcb;
return schemaMgr.load('/tests/schemas/methods-list-component.json').then(() => null, (err) => { throw err; });
}));
return schemaMgr.load('/tests/schemas/methods-list-component.json');
})));
beforeEach((done) => {
builder.createAsync(TestApp).then(_fixture => {
fixture = _fixture;
element = getChildDebugElement(fixture.debugElement, 'methods-list').nativeElement;
disposeSpy = jasmine.createSpy('spy');
destroySpy = jasmine.createSpy('spy');
Redoc.appRef = {
dispose: disposeSpy
destroy: destroySpy
};
fixture.detectChanges();
done();
@ -175,20 +176,20 @@ describe('Redoc components', () => {
Redoc.appRef = null;
});
it('should call componentRef.dispose', () => {
Redoc.dispose();
expect(disposeSpy).toHaveBeenCalled();
it('should call componentRef.destroy', () => {
Redoc.destroy();
expect(destroySpy).toHaveBeenCalled();
});
it('should create new host element', () => {
element.parentElement.removeChild(element);
Redoc.dispose();
Redoc.destroy();
expect(dom.query('redoc')).not.toBeNull();
dom.query('redoc').should.not.be.equal(element);
});
it('should set to null appRef', () => {
Redoc.dispose();
Redoc.destroy();
expect(Redoc.appRef).toBeNull();
});
});

View File

@ -4,7 +4,7 @@
<tab tabTitle="JSON">
<schema-sample [pointer]="data.bodySchemaPtr"> </schema-sample>
</tab>
<tab *ngFor="#sample of data.samples" [tabTitle]="sample.lang">
<tab *ngFor="let sample of data.samples" [tabTitle]="sample.lang">
<pre innerHtml="{{sample.source | prism:sample.lang}}"></pre>
</tab>
</tabs>

View File

@ -1,11 +1,11 @@
<h2 class="responses-list-header" *ngIf="data.responses.length"> Responses </h2>
<zippy *ngFor="#response of data.responses" title="{{response.code}} {{response.description}}"
<zippy *ngFor="let response of data.responses" title="{{response.code}} {{response.description}}"
[type]="response.type" [empty]="response.empty" (open)="lazySchema.load()">
<div *ngIf="response.headers" class="response-headers">
<header>
Headers
</header>
<div class="header" *ngFor="#header of response.headers">
<div class="header" *ngFor="let header of response.headers">
<div class="header-name"> {{header.name}} </div>
<div class="header-type"> {{header.type}} </div>
<div class="header-description" innerHtml="{{header.description | marked}}"> </div>

View File

@ -1,6 +1,6 @@
<header *ngIf="data.responses.length"> Response samples </header>
<tabs *ngIf="data.responses.length">
<tab *ngFor="#response of data.responses" tabTitle="{{response.code}} {{response.description}}"
<tab *ngFor="let response of data.responses" tabTitle="{{response.code}} {{response.description}}"
[tabStatus]="response.type">
<schema-sample [pointer]="response.pointer"></schema-sample>
</tab>

View File

@ -7,11 +7,11 @@
</div>
<div id="resources-nav">
<h5 class="menu-header"> API reference </h5>
<div *ngFor="var cat of data.menu; #idx = index" class="menu-cat">
<div *ngFor="let cat of data.menu; let idx = index" class="menu-cat">
<label class="menu-cat-header" (click)="activateAndScroll(idx, -1)" [ngClass]="{active: cat.active}"> {{cat.name}}</label>
<ul class="menu-subitems" [ngClass]="{active: cat.active}">
<li *ngFor="var method of cat.methods; var methIdx = index"
<li *ngFor="let method of cat.methods; let methIdx = index"
[ngClass]="{active: method.active}"
(click)="activateAndScroll(idx, methIdx)">
{{method.summary}}

View File

@ -7,7 +7,8 @@ import OptionsManager from 'lib/options';
import {
TestComponentBuilder,
injectAsync,
inject,
async,
beforeEach,
beforeEachProviders,
it
@ -34,10 +35,10 @@ describe('Redoc components', () => {
provide(BrowserDomAdapter, {useValue: new BrowserDomAdapter()}),
provide(OptionsManager, {useValue: testOptions})
]);
beforeEach(injectAsync([TestComponentBuilder, SchemaManager], (tcb, schemaMgr) => {
beforeEach(async(inject([TestComponentBuilder, SchemaManager], (tcb, schemaMgr) => {
builder = tcb;
return schemaMgr.load('/tests/schemas/extended-petstore.yml').then(() => null, (err) => { throw err; });
}));
return schemaMgr.load('/tests/schemas/extended-petstore.yml');
})));
afterEach(() => {
if (fixture) fixture.destroy();

View File

@ -75,7 +75,7 @@ export function RedocComponent(options) {
inputs: inputs,
outputs: options.outputs,
providers: options.providers,
changeDetection: options.changeDetection || ChangeDetectionStrategy.Detached,
changeDetection: options.changeDetection || ChangeDetectionStrategy.Default,
templateUrl: options.templateUrl,
template: options.template,
styles: options.styles,

View File

@ -5,26 +5,7 @@ import {isString, stringify, isBlank} from 'angular2/src/facade/lang';
import {BaseException} from 'angular2/src/facade/exceptions';
import {JsonPointer} from './JsonPointer';
import Prism from 'prismjs';
import 'prismjs/components/prism-actionscript.js';
import 'prismjs/components/prism-c.js';
import 'prismjs/components/prism-cpp.js';
import 'prismjs/components/prism-csharp.js';
import 'prismjs/components/prism-php.js';
import 'prismjs/components/prism-coffeescript.js';
import 'prismjs/components/prism-go.js';
import 'prismjs/components/prism-haskell.js';
import 'prismjs/components/prism-java.js';
import 'prismjs/components/prism-lua.js';
import 'prismjs/components/prism-matlab.js';
import 'prismjs/components/prism-perl.js';
import 'prismjs/components/prism-python.js';
import 'prismjs/components/prism-r.js';
import 'prismjs/components/prism-ruby.js';
import 'prismjs/components/prism-bash.js';
import 'prismjs/components/prism-swift.js';
import 'prismjs/components/prism-objectivec.js';
import 'prismjs/components/prism-scala.js';
import Prism from '../../prismjs-bundle';
import 'prismjs/themes/prism-dark.css!css';
import 'hint.css/hint.base.css!css';

View File

@ -1,7 +1,7 @@
{
"name": "redoc",
"description": "Swagger-generated API Reference Documentation",
"version": "0.7.14",
"version": "0.7.15",
"repository": {
"type": "git",
"url": "git://github.com/Rebilly/ReDoc"
@ -15,8 +15,7 @@
"branch-release": "git reset --hard && branch-release",
"unit": "gulp test",
"e2e": "gulp e2e",
"deploy": "build/prepare_deploy.sh && deploy-to-gh-pages demo",
"github-release": "gulp github-release"
"deploy": "build/prepare_deploy.sh && deploy-to-gh-pages demo"
},
"keywords": [
"OpenAPI",
@ -34,18 +33,18 @@
"configFile": "system.config.js",
"dependencies": {
"Robdel12/DropKick": "github:Robdel12/DropKick@^2.1.7",
"angular2": "npm:angular2@^2.0.0-beta.12",
"angular2": "npm:angular2@2.0.0-beta.17",
"es6-shim": "github:es-shims/es6-shim@^0.33.6",
"hint.css": "npm:hint.css@^2.2.1",
"json": "github:systemjs/plugin-json@^0.1.0",
"json-formatter-js": "npm:json-formatter-js@^0.2.0",
"json-pointer": "npm:json-pointer@^0.3.0",
"json-schema-instantiator": "npm:json-schema-instantiator@^0.3.0",
"json-schema-ref-parser": "npm:json-schema-ref-parser@2.2.0",
"marked": "npm:marked@^0.3.5",
"prismjs": "npm:prismjs@^1.3.0",
"scrollparent": "npm:scrollparent@^0.1.0",
"swagger-parser": "npm:swagger-parser@^3.4.0"
"stream-http": "npm:stream-http@^2.3.0",
"swagger-parser": "npm:swagger-parser@4.0.0-beta.2"
},
"devDependencies": {
"babel": "npm:babel-core@^5.8.34",
@ -58,6 +57,11 @@
"overrides": {
"github:Robdel12/DropKick@2.1.7": {
"format": "global"
},
"npm:json-schema-ref-parser@3.1.2": {
"map": {
"http": "npm:stream-http@2.3.0"
}
}
}
},
@ -71,7 +75,6 @@
"gulp": "^3.9.1",
"gulp-concat": "^2.6.0",
"gulp-eslint": "^1.1.1",
"gulp-github-release": "^1.1.2",
"gulp-inline-ng2-template": "^1.1.2",
"gulp-protractor": "^2.1.0",
"gulp-rename": "^1.2.2",
@ -105,6 +108,6 @@
"sinon": "^1.17.2",
"systemjs-builder": "^0.15.2",
"vinyl-paths": "^2.0.0",
"zone.js": "^0.6.6"
"zone.js": "^0.6.12"
}
}

View File

@ -38,7 +38,7 @@ System.config({
map: {
"Robdel12/DropKick": "github:Robdel12/DropKick@2.1.7",
"angular2": "npm:angular2@2.0.0-beta.12",
"angular2": "npm:angular2@2.0.0-beta.17",
"babel": "npm:babel-core@5.8.34",
"babel-runtime": "npm:babel-runtime@5.8.34",
"clean-css": "npm:clean-css@3.4.6",
@ -46,16 +46,16 @@ System.config({
"css": "github:systemjs/plugin-css@0.1.18",
"es6-shim": "github:es-shims/es6-shim@0.33.6",
"hint.css": "npm:hint.css@2.2.1",
"json": "github:systemjs/plugin-json@0.1.0",
"json": "github:systemjs/plugin-json@0.1.2",
"json-formatter-js": "npm:json-formatter-js@0.2.0",
"json-pointer": "npm:json-pointer@0.3.0",
"json-schema-instantiator": "npm:json-schema-instantiator@0.3.0",
"json-schema-ref-parser": "npm:json-schema-ref-parser@2.2.0",
"marked": "npm:marked@0.3.5",
"prismjs": "npm:prismjs@1.3.0",
"scrollparent": "npm:scrollparent@0.1.0",
"swagger-parser": "npm:swagger-parser@3.4.0",
"systemjs/plugin-json": "github:systemjs/plugin-json@0.1.0",
"stream-http": "npm:stream-http@2.3.0",
"swagger-parser": "npm:swagger-parser@4.0.0-beta.2",
"systemjs/plugin-json": "github:systemjs/plugin-json@0.1.2",
"github:jspm/nodelibs-assert@0.1.0": {
"assert": "npm:assert@1.3.0"
},
@ -137,24 +137,23 @@ System.config({
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:angular2@2.0.0-beta.12": {
"reflect-metadata": "npm:reflect-metadata@0.1.3",
"rxjs": "npm:rxjs@5.0.0-beta.3",
"zone.js": "npm:zone.js@0.5.15"
"npm:angular2@2.0.0-beta.17": {
"reflect-metadata": "npm:reflect-metadata@0.1.2",
"rxjs": "npm:rxjs@5.0.0-beta.7",
"zone.js": "npm:zone.js@0.6.12"
},
"npm:argparse@1.0.3": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"npm:argparse@1.0.7": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"lodash": "npm:lodash@3.10.1",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2",
"sprintf-js": "npm:sprintf-js@1.0.3",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:asn1.js@4.4.0": {
"npm:asn1.js@4.5.2": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"bn.js": "npm:bn.js@4.10.3",
"bn.js": "npm:bn.js@4.11.3",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"inherits": "npm:inherits@2.0.1",
"minimalistic-assert": "npm:minimalistic-assert@1.0.0",
"vm": "github:jspm/nodelibs-vm@0.1.0"
@ -165,14 +164,14 @@ System.config({
"sys": "github:jspm/nodelibs-util@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:assert-plus@0.1.5": {
"npm:assert-plus@0.2.0": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2",
"stream": "github:jspm/nodelibs-stream@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:assert-plus@0.2.0": {
"npm:assert-plus@1.0.0": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2",
@ -189,16 +188,25 @@ System.config({
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"url": "github:jspm/nodelibs-url@0.1.0"
},
"npm:aws4@1.3.2": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"lru-cache": "npm:lru-cache@4.0.1",
"process": "github:jspm/nodelibs-process@0.1.2",
"querystring": "github:jspm/nodelibs-querystring@0.1.0",
"url": "github:jspm/nodelibs-url@0.1.0"
},
"npm:babel-runtime@5.8.34": {
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:bl@1.0.0": {
"npm:bl@1.1.2": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"readable-stream": "npm:readable-stream@2.0.5",
"readable-stream": "npm:readable-stream@2.0.6",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:bn.js@4.10.3": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0"
"npm:bn.js@4.11.3": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:boom@2.10.1": {
"hoek": "npm:hoek@2.16.3",
@ -213,7 +221,7 @@ System.config({
"evp_bytestokey": "npm:evp_bytestokey@1.0.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"inherits": "npm:inherits@2.0.1",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:browserify-cipher@1.0.0": {
"browserify-aes": "npm:browserify-aes@1.0.6",
@ -227,18 +235,20 @@ System.config({
"cipher-base": "npm:cipher-base@1.0.2",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"des.js": "npm:des.js@1.0.0",
"inherits": "npm:inherits@2.0.1"
"inherits": "npm:inherits@2.0.1",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:browserify-rsa@4.0.0": {
"bn.js": "npm:bn.js@4.10.3",
"npm:browserify-rsa@4.0.1": {
"bn.js": "npm:bn.js@4.11.3",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"constants": "github:jspm/nodelibs-constants@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"randombytes": "npm:randombytes@2.0.2"
"randombytes": "npm:randombytes@2.0.3",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:browserify-sign@4.0.0": {
"bn.js": "npm:bn.js@4.10.3",
"browserify-rsa": "npm:browserify-rsa@4.0.0",
"bn.js": "npm:bn.js@4.11.3",
"browserify-rsa": "npm:browserify-rsa@4.0.1",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"create-hash": "npm:create-hash@1.1.2",
"create-hmac": "npm:create-hmac@1.1.4",
@ -253,12 +263,12 @@ System.config({
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"pako": "npm:pako@0.2.8",
"process": "github:jspm/nodelibs-process@0.1.2",
"readable-stream": "npm:readable-stream@2.0.5",
"readable-stream": "npm:readable-stream@2.0.6",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:buffer-xor@1.0.3": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:buffer@3.6.0": {
"base64-js": "npm:base64-js@0.0.8",
@ -268,22 +278,31 @@ System.config({
"isarray": "npm:isarray@1.0.0",
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:builtin-status-codes@2.0.0": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"http": "github:jspm/nodelibs-http@1.7.1",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:call-me-maybe@1.0.1": {
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:chalk@1.1.1": {
"ansi-styles": "npm:ansi-styles@2.1.0",
"escape-string-regexp": "npm:escape-string-regexp@1.0.4",
"npm:caseless@0.11.0": {
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:chalk@1.1.3": {
"ansi-styles": "npm:ansi-styles@2.2.1",
"escape-string-regexp": "npm:escape-string-regexp@1.0.5",
"has-ansi": "npm:has-ansi@2.0.0",
"process": "github:jspm/nodelibs-process@0.1.2",
"strip-ansi": "npm:strip-ansi@3.0.0",
"strip-ansi": "npm:strip-ansi@3.0.1",
"supports-color": "npm:supports-color@2.0.0"
},
"npm:cipher-base@1.0.2": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"inherits": "npm:inherits@2.0.1",
"stream": "github:jspm/nodelibs-stream@0.1.0",
"string_decoder": "github:jspm/nodelibs-string_decoder@0.1.0"
"string_decoder": "github:jspm/nodelibs-string_decoder@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:clean-css@3.4.6": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
@ -321,19 +340,19 @@ System.config({
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:constants-browserify@0.0.1": {
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:core-js@1.2.6": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:core-util-is@1.0.2": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0"
},
"npm:create-ecdh@4.0.0": {
"bn.js": "npm:bn.js@4.10.3",
"bn.js": "npm:bn.js@4.11.3",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"elliptic": "npm:elliptic@6.2.3"
@ -345,7 +364,7 @@ System.config({
"fs": "github:jspm/nodelibs-fs@0.1.2",
"inherits": "npm:inherits@2.0.1",
"ripemd160": "npm:ripemd160@1.0.1",
"sha.js": "npm:sha.js@2.4.4"
"sha.js": "npm:sha.js@2.4.5"
},
"npm:create-hmac@1.1.4": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
@ -368,10 +387,11 @@ System.config({
"inherits": "npm:inherits@2.0.1",
"pbkdf2": "npm:pbkdf2@3.0.4",
"public-encrypt": "npm:public-encrypt@4.0.0",
"randombytes": "npm:randombytes@2.0.2"
"randombytes": "npm:randombytes@2.0.3",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:dashdash@1.12.2": {
"assert-plus": "npm:assert-plus@0.2.0",
"npm:dashdash@1.13.1": {
"assert-plus": "npm:assert-plus@1.0.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2",
@ -395,12 +415,12 @@ System.config({
"minimalistic-assert": "npm:minimalistic-assert@1.0.0"
},
"npm:diffie-hellman@5.0.2": {
"bn.js": "npm:bn.js@4.10.3",
"bn.js": "npm:bn.js@4.11.3",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"miller-rabin": "npm:miller-rabin@4.0.0",
"randombytes": "npm:randombytes@2.0.2",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
"randombytes": "npm:randombytes@2.0.3",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:ecc-jsbn@0.1.1": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
@ -408,23 +428,20 @@ System.config({
"jsbn": "npm:jsbn@0.1.0"
},
"npm:elliptic@6.2.3": {
"bn.js": "npm:bn.js@4.10.3",
"bn.js": "npm:bn.js@4.11.3",
"brorand": "npm:brorand@1.0.5",
"hash.js": "npm:hash.js@1.0.3",
"inherits": "npm:inherits@2.0.1",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:es6-promise@3.1.2": {
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:esprima@2.7.1": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:evp_bytestokey@1.0.0": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"create-hash": "npm:create-hash@1.1.2",
"crypto": "github:jspm/nodelibs-crypto@0.1.0"
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:extsprintf@1.0.2": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
@ -437,34 +454,42 @@ System.config({
"tls": "github:jspm/nodelibs-tls@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:form-data@1.0.0-rc3": {
"npm:form-data@1.0.0-rc4": {
"async": "npm:async@1.5.2",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"combined-stream": "npm:combined-stream@1.0.5",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"http": "github:jspm/nodelibs-http@1.7.1",
"https": "github:jspm/nodelibs-https@0.1.0",
"mime-types": "npm:mime-types@2.1.9",
"mime-types": "npm:mime-types@2.1.10",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2",
"url": "github:jspm/nodelibs-url@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:generate-function@2.0.0": {
"systemjs-json": "github:systemjs/plugin-json@0.1.2",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:generate-object-property@1.2.0": {
"is-property": "npm:is-property@1.0.2"
"is-property": "npm:is-property@1.0.2",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:getpass@0.1.5": {
"assert-plus": "npm:assert-plus@1.0.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"process": "github:jspm/nodelibs-process@0.1.2",
"tty": "github:jspm/nodelibs-tty@0.1.0"
},
"npm:graceful-readlink@1.0.1": {
"fs": "github:jspm/nodelibs-fs@0.1.2"
},
"npm:har-validator@2.0.5": {
"chalk": "npm:chalk@1.1.1",
"npm:har-validator@2.0.6": {
"chalk": "npm:chalk@1.1.3",
"commander": "npm:commander@2.9.0",
"is-my-json-valid": "npm:is-my-json-valid@2.12.3",
"pinkie-promise": "npm:pinkie-promise@2.0.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
"is-my-json-valid": "npm:is-my-json-valid@2.13.1",
"pinkie-promise": "npm:pinkie-promise@2.0.1",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:has-ansi@2.0.0": {
"ansi-regex": "npm:ansi-regex@2.0.0"
@ -472,14 +497,14 @@ System.config({
"npm:hash.js@1.0.3": {
"inherits": "npm:inherits@2.0.1"
},
"npm:hawk@3.1.2": {
"npm:hawk@3.1.3": {
"boom": "npm:boom@2.10.1",
"cryptiles": "npm:cryptiles@2.0.5",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"hoek": "npm:hoek@2.16.3",
"process": "github:jspm/nodelibs-process@0.1.2",
"sntp": "npm:sntp@1.0.9",
"systemjs-json": "github:systemjs/plugin-json@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.2",
"url": "github:jspm/nodelibs-url@0.1.0"
},
"npm:hoek@2.16.3": {
@ -489,13 +514,13 @@ System.config({
"process": "github:jspm/nodelibs-process@0.1.2",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:http-signature@1.1.0": {
"assert-plus": "npm:assert-plus@0.1.5",
"npm:http-signature@1.1.1": {
"assert-plus": "npm:assert-plus@0.2.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"http": "github:jspm/nodelibs-http@1.7.1",
"jsprim": "npm:jsprim@1.2.2",
"sshpk": "npm:sshpk@1.7.3",
"sshpk": "npm:sshpk@1.8.2",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:https-browserify@0.0.0": {
@ -504,17 +529,25 @@ System.config({
"npm:inherits@2.0.1": {
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:is-my-json-valid@2.12.3": {
"npm:is-my-json-valid@2.13.1": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"generate-function": "npm:generate-function@2.0.0",
"generate-object-property": "npm:generate-object-property@1.2.0",
"jsonpointer": "npm:jsonpointer@2.0.0",
"path": "github:jspm/nodelibs-path@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.2",
"xtend": "npm:xtend@4.0.1"
},
"npm:is-typedarray@1.0.0": {
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:isarray@1.0.0": {
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:isstream@0.1.2": {
"events": "github:jspm/nodelibs-events@0.1.1",
"stream": "github:jspm/nodelibs-stream@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.2",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:jodid25519@1.0.2": {
@ -522,39 +555,43 @@ System.config({
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"jsbn": "npm:jsbn@0.1.0"
},
"npm:js-yaml@3.5.2": {
"argparse": "npm:argparse@1.0.3",
"esprima": "npm:esprima@2.7.1",
"npm:js-yaml@3.6.0": {
"argparse": "npm:argparse@1.0.7",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"esprima": "npm:esprima@2.7.2",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"process": "github:jspm/nodelibs-process@0.1.2",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:jsbn@0.1.0": {
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:json-formatter-js@0.2.0": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"process": "github:jspm/nodelibs-process@0.1.2",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:json-pointer@0.3.0": {
"foreach": "npm:foreach@2.0.5"
},
"npm:json-schema-ref-parser@2.2.0": {
"npm:json-schema-ref-parser@3.1.2": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"call-me-maybe": "npm:call-me-maybe@1.0.1",
"debug": "npm:debug@2.2.0",
"es6-promise": "npm:es6-promise@3.1.2",
"events": "github:jspm/nodelibs-events@0.1.1",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"http": "github:jspm/nodelibs-http@1.7.1",
"https": "github:jspm/nodelibs-https@0.1.0",
"js-yaml": "npm:js-yaml@3.5.2",
"ono": "npm:ono@2.0.1",
"js-yaml": "npm:js-yaml@3.6.0",
"ono": "npm:ono@2.2.1",
"process": "github:jspm/nodelibs-process@0.1.2",
"punycode": "github:jspm/nodelibs-punycode@0.1.0",
"querystring": "github:jspm/nodelibs-querystring@0.1.0",
"stream": "github:jspm/nodelibs-stream@0.1.0",
"string_decoder": "github:jspm/nodelibs-string_decoder@0.1.0",
"url": "github:jspm/nodelibs-url@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0"
"util": "github:jspm/nodelibs-util@0.1.0",
"z-schema": "npm:z-schema@3.17.0"
},
"npm:jsonpointer@2.0.0": {
"assert": "github:jspm/nodelibs-assert@0.1.0"
@ -567,42 +604,39 @@ System.config({
"util": "github:jspm/nodelibs-util@0.1.0",
"verror": "npm:verror@1.3.6"
},
"npm:lodash._baseget@3.7.2": {
"npm:lodash._stringtopath@4.7.1": {
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:lodash._topath@3.8.1": {
"lodash.isarray": "npm:lodash.isarray@3.0.4",
"process": "github:jspm/nodelibs-process@0.1.2"
"npm:lodash.get@4.2.1": {
"lodash._stringtopath": "npm:lodash._stringtopath@4.7.1"
},
"npm:lodash.get@3.7.0": {
"lodash._baseget": "npm:lodash._baseget@3.7.2",
"lodash._topath": "npm:lodash._topath@3.8.1"
},
"npm:lodash@3.10.1": {
"process": "github:jspm/nodelibs-process@0.1.2"
"npm:lru-cache@4.0.1": {
"pseudomap": "npm:pseudomap@1.0.2",
"util": "github:jspm/nodelibs-util@0.1.0",
"yallist": "npm:yallist@2.0.0"
},
"npm:miller-rabin@4.0.0": {
"bn.js": "npm:bn.js@4.10.3",
"bn.js": "npm:bn.js@4.11.3",
"brorand": "npm:brorand@1.0.5"
},
"npm:mime-db@1.21.0": {
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
"npm:mime-db@1.22.0": {
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:mime-types@2.1.9": {
"mime-db": "npm:mime-db@1.21.0",
"npm:mime-types@2.1.10": {
"mime-db": "npm:mime-db@1.22.0",
"path": "github:jspm/nodelibs-path@0.1.0"
},
"npm:node-uuid@1.4.7": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0"
},
"npm:oauth-sign@0.8.0": {
"npm:oauth-sign@0.8.1": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2",
"querystring": "github:jspm/nodelibs-querystring@0.1.0"
},
"npm:ono@2.0.1": {
"npm:ono@2.2.1": {
"process": "github:jspm/nodelibs-process@0.1.2",
"util": "github:jspm/nodelibs-util@0.1.0"
},
@ -614,13 +648,13 @@ System.config({
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:parse-asn1@5.0.0": {
"asn1.js": "npm:asn1.js@4.4.0",
"asn1.js": "npm:asn1.js@4.5.2",
"browserify-aes": "npm:browserify-aes@1.0.6",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"create-hash": "npm:create-hash@1.1.2",
"evp_bytestokey": "npm:evp_bytestokey@1.0.0",
"pbkdf2": "npm:pbkdf2@3.0.4",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:path-browserify@0.0.0": {
"process": "github:jspm/nodelibs-process@0.1.2"
@ -632,9 +666,9 @@ System.config({
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:pinkie-promise@2.0.0": {
"npm:pinkie-promise@2.0.1": {
"pinkie": "npm:pinkie@2.0.4"
},
"npm:prismjs@1.3.0": {
@ -643,29 +677,34 @@ System.config({
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:process-nextick-args@1.0.6": {
"process": "github:jspm/nodelibs-process@0.1.2"
"process": "github:jspm/nodelibs-process@0.1.2",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:process@0.11.2": {
"assert": "github:jspm/nodelibs-assert@0.1.0"
},
"npm:pseudomap@1.0.2": {
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:public-encrypt@4.0.0": {
"bn.js": "npm:bn.js@4.10.3",
"browserify-rsa": "npm:browserify-rsa@4.0.0",
"bn.js": "npm:bn.js@4.11.3",
"browserify-rsa": "npm:browserify-rsa@4.0.1",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"create-hash": "npm:create-hash@1.1.2",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"parse-asn1": "npm:parse-asn1@5.0.0",
"randombytes": "npm:randombytes@2.0.2"
"randombytes": "npm:randombytes@2.0.3"
},
"npm:punycode@1.3.2": {
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:randombytes@2.0.2": {
"npm:randombytes@2.0.3": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2"
"process": "github:jspm/nodelibs-process@0.1.2",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:readable-stream@1.1.13": {
"npm:readable-stream@1.1.14": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"core-util-is": "npm:core-util-is@1.0.2",
"events": "github:jspm/nodelibs-events@0.1.1",
@ -675,45 +714,61 @@ System.config({
"stream-browserify": "npm:stream-browserify@1.0.0",
"string_decoder": "npm:string_decoder@0.10.31"
},
"npm:readable-stream@2.0.5": {
"npm:readable-stream@2.0.6": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"core-util-is": "npm:core-util-is@1.0.2",
"events": "github:jspm/nodelibs-events@0.1.1",
"inherits": "npm:inherits@2.0.1",
"isarray": "npm:isarray@0.0.1",
"isarray": "npm:isarray@1.0.0",
"process": "github:jspm/nodelibs-process@0.1.2",
"process-nextick-args": "npm:process-nextick-args@1.0.6",
"string_decoder": "npm:string_decoder@0.10.31",
"util-deprecate": "npm:util-deprecate@1.0.2"
},
"npm:request@2.67.0": {
"npm:readable-stream@2.1.2": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"core-util-is": "npm:core-util-is@1.0.2",
"events": "github:jspm/nodelibs-events@0.1.1",
"inherits": "npm:inherits@2.0.1",
"isarray": "npm:isarray@1.0.0",
"process": "github:jspm/nodelibs-process@0.1.2",
"process-nextick-args": "npm:process-nextick-args@1.0.6",
"string_decoder": "npm:string_decoder@0.10.31",
"util-deprecate": "npm:util-deprecate@1.0.2"
},
"npm:reflect-metadata@0.1.2": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:request@2.72.0": {
"aws-sign2": "npm:aws-sign2@0.6.0",
"bl": "npm:bl@1.0.0",
"aws4": "npm:aws4@1.3.2",
"bl": "npm:bl@1.1.2",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"caseless": "npm:caseless@0.11.0",
"combined-stream": "npm:combined-stream@1.0.5",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"extend": "npm:extend@3.0.0",
"forever-agent": "npm:forever-agent@0.6.1",
"form-data": "npm:form-data@1.0.0-rc3",
"form-data": "npm:form-data@1.0.0-rc4",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"har-validator": "npm:har-validator@2.0.5",
"hawk": "npm:hawk@3.1.2",
"har-validator": "npm:har-validator@2.0.6",
"hawk": "npm:hawk@3.1.3",
"http": "github:jspm/nodelibs-http@1.7.1",
"http-signature": "npm:http-signature@1.1.0",
"http-signature": "npm:http-signature@1.1.1",
"https": "github:jspm/nodelibs-https@0.1.0",
"is-typedarray": "npm:is-typedarray@1.0.0",
"isstream": "npm:isstream@0.1.2",
"json-stringify-safe": "npm:json-stringify-safe@5.0.1",
"mime-types": "npm:mime-types@2.1.9",
"mime-types": "npm:mime-types@2.1.10",
"node-uuid": "npm:node-uuid@1.4.7",
"oauth-sign": "npm:oauth-sign@0.8.0",
"oauth-sign": "npm:oauth-sign@0.8.1",
"process": "github:jspm/nodelibs-process@0.1.2",
"qs": "npm:qs@5.2.0",
"qs": "npm:qs@6.1.0",
"querystring": "github:jspm/nodelibs-querystring@0.1.0",
"stream": "github:jspm/nodelibs-stream@0.1.0",
"stringstream": "npm:stringstream@0.0.5",
"tough-cookie": "npm:tough-cookie@2.2.1",
"tough-cookie": "npm:tough-cookie@2.2.2",
"tunnel-agent": "npm:tunnel-agent@0.4.2",
"url": "github:jspm/nodelibs-url@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0",
@ -723,11 +778,12 @@ System.config({
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:rxjs@5.0.0-beta.3": {
"npm:rxjs@5.0.0-beta.7": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2"
"process": "github:jspm/nodelibs-process@0.1.2",
"symbol-observable": "npm:symbol-observable@0.2.4"
},
"npm:sha.js@2.4.4": {
"npm:sha.js@2.4.5": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"inherits": "npm:inherits@2.0.1",
@ -744,13 +800,14 @@ System.config({
"amdefine": "npm:amdefine@1.0.0",
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:sshpk@1.7.3": {
"npm:sshpk@1.8.2": {
"asn1": "npm:asn1@0.2.3",
"assert-plus": "npm:assert-plus@0.2.0",
"assert-plus": "npm:assert-plus@1.0.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"dashdash": "npm:dashdash@1.12.2",
"dashdash": "npm:dashdash@1.13.1",
"ecc-jsbn": "npm:ecc-jsbn@0.1.1",
"getpass": "npm:getpass@0.1.5",
"jodid25519": "npm:jodid25519@1.0.2",
"jsbn": "npm:jsbn@0.1.0",
"stream": "github:jspm/nodelibs-stream@0.1.0",
@ -760,7 +817,18 @@ System.config({
"npm:stream-browserify@1.0.0": {
"events": "github:jspm/nodelibs-events@0.1.1",
"inherits": "npm:inherits@2.0.1",
"readable-stream": "npm:readable-stream@1.1.13"
"readable-stream": "npm:readable-stream@1.1.14"
},
"npm:stream-http@2.3.0": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"builtin-status-codes": "npm:builtin-status-codes@2.0.0",
"inherits": "npm:inherits@2.0.1",
"process": "github:jspm/nodelibs-process@0.1.2",
"readable-stream": "npm:readable-stream@2.1.2",
"systemjs-json": "github:systemjs/plugin-json@0.1.2",
"to-arraybuffer": "npm:to-arraybuffer@1.0.1",
"url": "github:jspm/nodelibs-url@0.1.0",
"xtend": "npm:xtend@4.0.1"
},
"npm:string_decoder@0.10.31": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0"
@ -771,16 +839,17 @@ System.config({
"process": "github:jspm/nodelibs-process@0.1.2",
"stream": "github:jspm/nodelibs-stream@0.1.0",
"string_decoder": "github:jspm/nodelibs-string_decoder@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.2",
"util": "github:jspm/nodelibs-util@0.1.0",
"zlib": "github:jspm/nodelibs-zlib@0.1.0"
},
"npm:strip-ansi@3.0.0": {
"npm:strip-ansi@3.0.1": {
"ansi-regex": "npm:ansi-regex@2.0.0"
},
"npm:supports-color@2.0.0": {
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:swagger-parser@3.4.0": {
"npm:swagger-parser@4.0.0-beta.2": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"call-me-maybe": "npm:call-me-maybe@1.0.1",
"debug": "npm:debug@2.2.0",
@ -789,8 +858,8 @@ System.config({
"fs": "github:jspm/nodelibs-fs@0.1.2",
"http": "github:jspm/nodelibs-http@1.7.1",
"https": "github:jspm/nodelibs-https@0.1.0",
"json-schema-ref-parser": "npm:json-schema-ref-parser@2.2.0",
"ono": "npm:ono@2.0.1",
"json-schema-ref-parser": "npm:json-schema-ref-parser@3.1.2",
"ono": "npm:ono@2.2.1",
"process": "github:jspm/nodelibs-process@0.1.2",
"punycode": "github:jspm/nodelibs-punycode@0.1.0",
"querystring": "github:jspm/nodelibs-querystring@0.1.0",
@ -798,18 +867,22 @@ System.config({
"string_decoder": "github:jspm/nodelibs-string_decoder@0.1.0",
"swagger-methods": "npm:swagger-methods@1.0.0",
"swagger-schema-official": "npm:swagger-schema-official@2.0.0-bab6bed",
"systemjs-json": "github:systemjs/plugin-json@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.2",
"url": "github:jspm/nodelibs-url@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0",
"z-schema": "npm:z-schema@3.16.1"
"z-schema": "npm:z-schema@3.17.0"
},
"npm:timers-browserify@1.4.2": {
"process": "npm:process@0.11.2"
},
"npm:tough-cookie@2.2.1": {
"npm:to-arraybuffer@1.0.1": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:tough-cookie@2.2.2": {
"net": "github:jspm/nodelibs-net@0.1.2",
"punycode": "github:jspm/nodelibs-punycode@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.2",
"url": "github:jspm/nodelibs-url@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0"
},
@ -837,9 +910,6 @@ System.config({
"inherits": "npm:inherits@2.0.1",
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:validator@4.5.0": {
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
},
"npm:verror@1.3.6": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"extsprintf": "npm:extsprintf@1.0.2",
@ -849,14 +919,20 @@ System.config({
"npm:vm-browserify@0.0.4": {
"indexof": "npm:indexof@0.0.1"
},
"npm:z-schema@3.16.1": {
"npm:xtend@4.0.1": {
"systemjs-json": "github:systemjs/plugin-json@0.1.2"
},
"npm:z-schema@3.17.0": {
"commander": "npm:commander@2.9.0",
"lodash.get": "npm:lodash.get@3.7.0",
"lodash.get": "npm:lodash.get@4.2.1",
"process": "github:jspm/nodelibs-process@0.1.2",
"request": "npm:request@2.67.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0",
"validator": "npm:validator@4.5.0"
"request": "npm:request@2.72.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.2",
"validator": "npm:validator@5.2.0"
},
"npm:zone.js@0.6.12": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2"
}
}
});