mirror of
https://github.com/Redocly/redoc.git
synced 2024-11-28 03:23:44 +03:00
Merge commit 'f3a92450ecd19aac7b980256bb61fc9a6a5e4054' into releases
This commit is contained in:
commit
6a21b4036f
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -26,6 +26,8 @@ lib/**/*.css
|
||||||
# files produced by ngc
|
# files produced by ngc
|
||||||
lib/**/*.ngfactory.ts
|
lib/**/*.ngfactory.ts
|
||||||
lib/**/*.css.shim.ts
|
lib/**/*.css.shim.ts
|
||||||
|
lib/**/*.ngsummary.json
|
||||||
|
lib/**/*.shim.ngstyle.ts
|
||||||
|
|
||||||
# other
|
# other
|
||||||
/dist
|
/dist
|
||||||
|
|
|
@ -1,3 +1,10 @@
|
||||||
|
# 1.6.2 (2016-12-11)
|
||||||
|
### Bug fixes
|
||||||
|
* Use markdown in responses description ([#158](https://github.com/Rebilly/ReDoc/issues/158))
|
||||||
|
|
||||||
|
### Features/Improvements
|
||||||
|
* [x-displayName](https://github.com/Rebilly/ReDoc/blob/master/docs/redoc-vendor-extensions.md#x-displayname) for tags - by [@bfirsh](https://github.com/bfirsh) ([PR #152](https://github.com/Rebilly/ReDoc/pull/152))
|
||||||
|
|
||||||
# 1.6.1 (2016-12-02)
|
# 1.6.1 (2016-12-02)
|
||||||
### Bug fixes
|
### Bug fixes
|
||||||
* Fix only the first instance of schema was rendered ([#150](https://github.com/Rebilly/ReDoc/issues/150))
|
* Fix only the first instance of schema was rendered ([#150](https://github.com/Rebilly/ReDoc/issues/150))
|
||||||
|
|
|
@ -112,6 +112,7 @@ ReDoc makes use of the following [vendor extensions](http://swagger.io/specifica
|
||||||
* [`x-traitTag`](docs/redoc-vendor-extensions.md#x-traitTag) - useful for handling out common things like Pagination, Rate-Limits, etc
|
* [`x-traitTag`](docs/redoc-vendor-extensions.md#x-traitTag) - useful for handling out common things like Pagination, Rate-Limits, etc
|
||||||
* [`x-code-samples`](docs/redoc-vendor-extensions.md#x-code-samples) - specify operation code samples
|
* [`x-code-samples`](docs/redoc-vendor-extensions.md#x-code-samples) - specify operation code samples
|
||||||
* [`x-nullable`](docs/redoc-vendor-extensions.md#nullable) - mark schema param as a nullable
|
* [`x-nullable`](docs/redoc-vendor-extensions.md#nullable) - mark schema param as a nullable
|
||||||
|
* [`x-displayName`](docs/redoc-vendor-extensions.md#x-displayname) - specify human-friendly names for the menu categories
|
||||||
|
|
||||||
### `<redoc>` tag attributes
|
### `<redoc>` tag attributes
|
||||||
* `spec-url` - relative or absolute url to your spec file;
|
* `spec-url` - relative or absolute url to your spec file;
|
||||||
|
@ -123,6 +124,7 @@ ReDoc makes use of the following [vendor extensions](http://swagger.io/specifica
|
||||||
* `suppress-warnings` - if set, warnings are not rendered at the top of documentation (they still are logged to the console).
|
* `suppress-warnings` - if set, warnings are not rendered at the top of documentation (they still are logged to the console).
|
||||||
* `lazy-rendering` - if set, enables lazy rendering mode in ReDoc. This mode is useful for APIs with big number of operations (e.g. > 50). In this mode ReDoc shows initial screen ASAP and then renders the rest operations asynchronously while showing progress bar on the top. Check out the [demo](\\rebilly.github.io/ReDoc) for the example.
|
* `lazy-rendering` - if set, enables lazy rendering mode in ReDoc. This mode is useful for APIs with big number of operations (e.g. > 50). In this mode ReDoc shows initial screen ASAP and then renders the rest operations asynchronously while showing progress bar on the top. Check out the [demo](\\rebilly.github.io/ReDoc) for the example.
|
||||||
* `hide-hostname` - if set, the protocol and hostname is not shown in the method definition.
|
* `hide-hostname` - if set, the protocol and hostname is not shown in the method definition.
|
||||||
|
* `expand-responses` - specify which responses to expand by default by response codes. Values should be passed as comma-separated list without spaces e.g. `expand-responses="200,201"`. Special value `"all"` expands all responses by default. Be careful: this option can slow-down documentation rendering time.
|
||||||
|
|
||||||
## Advanced usage
|
## Advanced usage
|
||||||
Instead of adding `spec-url` attribute to the `<redoc>` element you can initialize ReDoc via globally exposed `Redoc` object:
|
Instead of adding `spec-url` attribute to the `<redoc>` element you can initialize ReDoc via globally exposed `Redoc` object:
|
||||||
|
|
|
@ -9,7 +9,7 @@ const IS_PRODUCTION = process.env.NODE_ENV === "production";
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
devtool: '#inline-source-map',
|
devtool: '#inline-source-map',
|
||||||
|
performance: { hints: false },
|
||||||
resolve: {
|
resolve: {
|
||||||
extensions: ['.ts', '.js', '.json', '.css'],
|
extensions: ['.ts', '.js', '.json', '.css'],
|
||||||
alias: {
|
alias: {
|
||||||
|
|
|
@ -14,6 +14,7 @@ const IS_MODULE = process.env.IS_MODULE != null;
|
||||||
const config = {
|
const config = {
|
||||||
context: root(),
|
context: root(),
|
||||||
devtool: 'source-map',
|
devtool: 'source-map',
|
||||||
|
performance: { hints: false },
|
||||||
|
|
||||||
resolve: {
|
resolve: {
|
||||||
extensions: ['.ts', '.js', '.json', '.css'],
|
extensions: ['.ts', '.js', '.json', '.css'],
|
||||||
|
|
|
@ -5,6 +5,7 @@ import { ElementRef,
|
||||||
Input,
|
Input,
|
||||||
Component,
|
Component,
|
||||||
OnInit,
|
OnInit,
|
||||||
|
OnDestroy,
|
||||||
HostBinding
|
HostBinding
|
||||||
} from '@angular/core';
|
} from '@angular/core';
|
||||||
|
|
||||||
|
@ -26,14 +27,16 @@ import { LazyTasksService } from '../../shared/components/LazyFor/lazy-for';
|
||||||
export class Redoc extends BaseComponent implements OnInit {
|
export class Redoc extends BaseComponent implements OnInit {
|
||||||
static _preOptions: any;
|
static _preOptions: any;
|
||||||
|
|
||||||
private element: any;
|
|
||||||
|
|
||||||
error: any;
|
error: any;
|
||||||
specLoaded: boolean;
|
specLoaded: boolean;
|
||||||
options: any;
|
options: any;
|
||||||
|
|
||||||
loadingProgress: number;
|
loadingProgress: number;
|
||||||
|
|
||||||
|
private element: HTMLElement;
|
||||||
|
private $parent: Element;
|
||||||
|
private $refElem: Element;
|
||||||
|
|
||||||
@Input() specUrl: string;
|
@Input() specUrl: string;
|
||||||
@HostBinding('class.loading') specLoading: boolean = false;
|
@HostBinding('class.loading') specLoading: boolean = false;
|
||||||
@HostBinding('class.loading-remove') specLoadingRemove: boolean = false;
|
@HostBinding('class.loading-remove') specLoadingRemove: boolean = false;
|
||||||
|
@ -53,6 +56,9 @@ export class Redoc extends BaseComponent implements OnInit {
|
||||||
optionsMgr.options = Redoc._preOptions || {};
|
optionsMgr.options = Redoc._preOptions || {};
|
||||||
|
|
||||||
this.element = elementRef.nativeElement;
|
this.element = elementRef.nativeElement;
|
||||||
|
this.$parent = this.element.parentElement;
|
||||||
|
this.$refElem = this.element.nextElementSibling;
|
||||||
|
|
||||||
//parse options (top level component doesn't support inputs)
|
//parse options (top level component doesn't support inputs)
|
||||||
optionsMgr.parseOptions( this.element );
|
optionsMgr.parseOptions( this.element );
|
||||||
let scrollParent = detectScollParent( this.element );
|
let scrollParent = detectScollParent( this.element );
|
||||||
|
@ -121,4 +127,9 @@ export class Redoc extends BaseComponent implements OnInit {
|
||||||
}
|
}
|
||||||
this.load();
|
this.load();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ngOnDestroy() {
|
||||||
|
let $clone = this.element.cloneNode();
|
||||||
|
this.$parent.insertBefore($clone, this.$refElem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<h2 class="responses-list-header" *ngIf="responses.length"> Responses </h2>
|
<h2 class="responses-list-header" *ngIf="responses.length"> Responses </h2>
|
||||||
<zippy *ngFor="let response of responses;trackBy:trackByCode" title="{{response.code}} {{response.description || marked}}"
|
<zippy *ngFor="let response of responses;trackBy:trackByCode" [title]="response.code + ' ' + response.description | marked"
|
||||||
[type]="response.type" [empty]="response.empty" (open)="lazySchema.load()">
|
[type]="response.type" [visible]="response.expanded" [empty]="response.empty" (open)="lazySchema.load()">
|
||||||
<div *ngIf="response.headers" class="response-headers">
|
<div *ngIf="response.headers" class="response-headers">
|
||||||
<header>
|
<header>
|
||||||
Headers
|
Headers
|
||||||
|
@ -20,6 +20,6 @@
|
||||||
<header *ngIf="response.schema">
|
<header *ngIf="response.schema">
|
||||||
Response Schema
|
Response Schema
|
||||||
</header>
|
</header>
|
||||||
<json-schema-lazy #lazySchema pointer="{{response.schema ? response.pointer + '/schema' : null}}">
|
<json-schema-lazy [auto]="response.expanded" #lazySchema pointer="{{response.schema ? response.pointer + '/schema' : null}}">
|
||||||
</json-schema-lazy>
|
</json-schema-lazy>
|
||||||
</zippy>
|
</zippy>
|
||||||
|
|
|
@ -49,6 +49,13 @@ export class ResponsesList extends BaseComponent implements OnInit {
|
||||||
resp.empty = !resp.schema;
|
resp.empty = !resp.schema;
|
||||||
resp.code = respCode;
|
resp.code = respCode;
|
||||||
resp.type = statusCodeType(resp.code);
|
resp.type = statusCodeType(resp.code);
|
||||||
|
|
||||||
|
if (this.options.expandResponses) {
|
||||||
|
if (this.options.expandResponses === 'all' || this.options.expandResponses.has(respCode.toString())) {
|
||||||
|
resp.expanded = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (resp.headers && !(resp.headers instanceof Array)) {
|
if (resp.headers && !(resp.headers instanceof Array)) {
|
||||||
resp.headers = Object.keys(resp.headers).map((k) => {
|
resp.headers = Object.keys(resp.headers).map((k) => {
|
||||||
let respInfo = resp.headers[k];
|
let respInfo = resp.headers[k];
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import { Component, ElementRef, ChangeDetectorRef, OnInit } from '@angular/core';
|
import { Component, ElementRef, ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core';
|
||||||
|
|
||||||
//import { global } from '@angular/core/src/facade/lang';
|
//import { global } from '@angular/core/src/facade/lang';
|
||||||
import { trigger, state, animate, transition, style } from '@angular/core';
|
import { trigger, state, animate, transition, style } from '@angular/core';
|
||||||
|
@ -21,13 +21,14 @@ const global = window;
|
||||||
style({ height: '0px' })),
|
style({ height: '0px' })),
|
||||||
state('expanded',
|
state('expanded',
|
||||||
style({ height: '*' })),
|
style({ height: '*' })),
|
||||||
transition('collapsed <=> expanded', [
|
// https://github.com/Rebilly/ReDoc/issues/162
|
||||||
animate('200ms ease')
|
// transition('collapsed <=> expanded', [
|
||||||
])
|
// animate('200ms ease')
|
||||||
|
// ])
|
||||||
])
|
])
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
export class SideMenu extends BaseComponent implements OnInit {
|
export class SideMenu extends BaseComponent implements OnInit, OnDestroy {
|
||||||
activeCatCaption: string;
|
activeCatCaption: string;
|
||||||
activeItemCaption: string;
|
activeItemCaption: string;
|
||||||
categories: Array<MenuCategory>;
|
categories: Array<MenuCategory>;
|
||||||
|
@ -122,6 +123,11 @@ export class SideMenu extends BaseComponent implements OnInit {
|
||||||
|
|
||||||
destroy() {
|
destroy() {
|
||||||
this.scrollService.unbind();
|
this.scrollService.unbind();
|
||||||
|
this.menuService.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnDestroy() {
|
||||||
|
this.destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
|
|
@ -33,7 +33,6 @@ export function init(specUrl:string, options:any = {}) {
|
||||||
moduleRef = appRef;
|
moduleRef = appRef;
|
||||||
console.log('ReDoc initialized!');
|
console.log('ReDoc initialized!');
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
//Redoc.displayError(err);
|
|
||||||
throw err;
|
throw err;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { NgModule, ErrorHandler } from '@angular/core';
|
import { NgModule, ErrorHandler, APP_ID } from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
|
|
||||||
import { Redoc, SecurityDefinitions, Method, REDOC_DIRECTIVES } from './components/index';
|
import { Redoc, SecurityDefinitions, Method, REDOC_DIRECTIVES } from './components/index';
|
||||||
|
@ -35,6 +35,7 @@ import { SpecManager } from './utils/spec-manager';
|
||||||
ComponentParser,
|
ComponentParser,
|
||||||
ContentProjector,
|
ContentProjector,
|
||||||
LazyTasksService,
|
LazyTasksService,
|
||||||
|
{ provide: APP_ID, useValue: 'redoc' },
|
||||||
{ provide: ErrorHandler, useClass: CustomErrorHandler },
|
{ provide: ErrorHandler, useClass: CustomErrorHandler },
|
||||||
{ provide: COMPONENT_PARSER_ALLOWED, useValue: { 'security-definitions': SecurityDefinitions} }
|
{ provide: COMPONENT_PARSER_ALLOWED, useValue: { 'security-definitions': SecurityDefinitions} }
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
import { Injectable, EventEmitter } from '@angular/core';
|
import { Injectable, EventEmitter } from '@angular/core';
|
||||||
|
import { Subscription } from 'rxjs/Subscription';
|
||||||
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
|
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
|
||||||
import { ScrollService, INVIEW_POSITION } from './scroll.service';
|
import { ScrollService, INVIEW_POSITION } from './scroll.service';
|
||||||
import { Hash } from './hash.service';
|
import { Hash } from './hash.service';
|
||||||
|
@ -16,6 +17,7 @@ const CHANGE = {
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class MenuService {
|
export class MenuService {
|
||||||
|
|
||||||
changed: EventEmitter<any> = new EventEmitter();
|
changed: EventEmitter<any> = new EventEmitter();
|
||||||
ready: BehaviorSubject<boolean> = new BehaviorSubject(false);
|
ready: BehaviorSubject<boolean> = new BehaviorSubject(false);
|
||||||
categories: Array<MenuCategory>;
|
categories: Array<MenuCategory>;
|
||||||
|
@ -23,6 +25,8 @@ export class MenuService {
|
||||||
activeCatIdx: number = 0;
|
activeCatIdx: number = 0;
|
||||||
activeMethodIdx: number = -1;
|
activeMethodIdx: number = -1;
|
||||||
|
|
||||||
|
private _hashSubscription: Subscription;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private hash:Hash,
|
private hash:Hash,
|
||||||
private tasks: LazyTasksService,
|
private tasks: LazyTasksService,
|
||||||
|
@ -39,7 +43,7 @@ export class MenuService {
|
||||||
|
|
||||||
//this.changeActive(CHANGE.INITIAL);
|
//this.changeActive(CHANGE.INITIAL);
|
||||||
|
|
||||||
this.hash.value.subscribe((hash) => {
|
this._hashSubscription = this.hash.value.subscribe((hash) => {
|
||||||
if (hash == undefined) return;
|
if (hash == undefined) return;
|
||||||
this.setActiveByHash(hash);
|
this.setActiveByHash(hash);
|
||||||
if (!this.tasks.empty) {
|
if (!this.tasks.empty) {
|
||||||
|
@ -228,4 +232,8 @@ export class MenuService {
|
||||||
}
|
}
|
||||||
this.activate(catIdx, methodIdx);
|
this.activate(catIdx, methodIdx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
destroy() {
|
||||||
|
this._hashSubscription.unsubscribe();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,8 @@ describe('Options Service', () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
document.body.removeChild(tmpDiv);
|
if (tmpDiv) document.body.removeChild(tmpDiv);
|
||||||
|
tmpDiv = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
|
@ -47,4 +48,18 @@ describe('Options Service', () => {
|
||||||
optionsService.parseOptions(elem);
|
optionsService.parseOptions(elem);
|
||||||
optionsService.options.scrollYOffset().should.be.equal(123);
|
optionsService.options.scrollYOffset().should.be.equal(123);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should convert expandResponses options to Set', () => {
|
||||||
|
optionsService.options = { expandResponses: '200,300' };
|
||||||
|
optionsService._normalizeOptions();
|
||||||
|
optionsService.options.expandResponses.should.be.instanceof(Set);
|
||||||
|
Array.from(optionsService.options.expandResponses.values()).should.deepEqual(['200', '300']);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should preserve special value "all" as string', () => {
|
||||||
|
optionsService.options = { expandResponses: 'all' };
|
||||||
|
optionsService._normalizeOptions();
|
||||||
|
optionsService.options.expandResponses.should.be.of.type('string');
|
||||||
|
optionsService.options.expandResponses.should.be.equal('all');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -14,7 +14,8 @@ const OPTION_NAMES = new Set([
|
||||||
'specUrl',
|
'specUrl',
|
||||||
'suppressWarnings',
|
'suppressWarnings',
|
||||||
'hideHostname',
|
'hideHostname',
|
||||||
'lazyRendering'
|
'lazyRendering',
|
||||||
|
'expandResponses'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
interface Options {
|
interface Options {
|
||||||
|
@ -24,6 +25,7 @@ interface Options {
|
||||||
suppressWarnings?: boolean;
|
suppressWarnings?: boolean;
|
||||||
hideHostname?: boolean;
|
hideHostname?: boolean;
|
||||||
lazyRendering?: boolean;
|
lazyRendering?: boolean;
|
||||||
|
expandResponses?: Set<string> | 'all';
|
||||||
$scrollParent?: HTMLElement | Window;
|
$scrollParent?: HTMLElement | Window;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,5 +91,10 @@ export class OptionsService {
|
||||||
if (isString(this._options.suppressWarnings)) this._options.suppressWarnings = true;
|
if (isString(this._options.suppressWarnings)) this._options.suppressWarnings = true;
|
||||||
if (isString(this._options.hideHostname)) this._options.hideHostname = true;
|
if (isString(this._options.hideHostname)) this._options.hideHostname = true;
|
||||||
if (isString(this._options.lazyRendering)) this._options.lazyRendering = true;
|
if (isString(this._options.lazyRendering)) this._options.lazyRendering = true;
|
||||||
|
if (isString(this._options.expandResponses)) {
|
||||||
|
let str = this._options.expandResponses as string;
|
||||||
|
if (str === 'all') return;
|
||||||
|
this._options.expandResponses = new Set(str.split(','));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "/>
|
<polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "/>
|
||||||
</svg>
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
{{title}}
|
<span class="zippy-title-content" [innerHtml]="title"> </span>
|
||||||
</div>
|
</div>
|
||||||
<div class="zippy-content">
|
<div class="zippy-content">
|
||||||
<ng-content></ng-content>
|
<ng-content></ng-content>
|
||||||
|
|
|
@ -45,11 +45,15 @@ $zippy-redirect-bg-color: rgba($zippy-redirect-color, .08);
|
||||||
color: $zippy-info-color;
|
color: $zippy-info-color;
|
||||||
background-color: $zippy-info-bg-color;
|
background-color: $zippy-info-bg-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/deep/ p {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.zippy-indicator svg {
|
.zippy-indicator svg {
|
||||||
height: 1.2em;
|
height: 1.2em;
|
||||||
vertical-align: middle;
|
vertical-align: top;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
transform: rotateZ(-180deg);
|
transform: rotateZ(-180deg);
|
||||||
}
|
}
|
||||||
|
@ -81,6 +85,8 @@ span.zippy-indicator {
|
||||||
font-size: 1.2em;
|
font-size: 1.2em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
float: left;
|
||||||
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.zippy-content {
|
.zippy-content {
|
||||||
|
|
44
package.json
44
package.json
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "redoc",
|
"name": "redoc",
|
||||||
"description": "Swagger-generated API Reference Documentation",
|
"description": "Swagger-generated API Reference Documentation",
|
||||||
"version": "1.6.2",
|
"version": "1.6.3",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git://github.com/Rebilly/ReDoc"
|
"url": "git://github.com/Rebilly/ReDoc"
|
||||||
|
@ -45,22 +45,22 @@
|
||||||
"author": "Roman Hotsiy",
|
"author": "Roman Hotsiy",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular/common": "^2.2.4",
|
"@angular/common": "^2.3.1",
|
||||||
"@angular/compiler": "^2.2.4",
|
"@angular/compiler": "^2.3.1",
|
||||||
"@angular/compiler-cli": "^2.2.4",
|
"@angular/compiler-cli": "^2.3.1",
|
||||||
"@angular/core": "^2.2.4",
|
"@angular/core": "^2.3.1",
|
||||||
"@angular/platform-browser": "^2.2.4",
|
"@angular/platform-browser": "^2.3.1",
|
||||||
"@angular/platform-browser-dynamic": "^2.2.4",
|
"@angular/platform-browser-dynamic": "^2.3.1",
|
||||||
"@angular/platform-server": "^2.2.4",
|
"@angular/platform-server": "^2.3.1",
|
||||||
"@types/core-js": "^0.9.31",
|
"@types/core-js": "^0.9.31",
|
||||||
"@types/jasmine": "^2.2.32",
|
"@types/jasmine": "^2.2.32",
|
||||||
"@types/requirejs": "^2.1.26",
|
"@types/requirejs": "^2.1.26",
|
||||||
"@types/should": "^8.1.28",
|
"@types/should": "^8.1.28",
|
||||||
"angular2-template-loader": "^0.6.0",
|
"angular2-template-loader": "^0.6.0",
|
||||||
"awesome-typescript-loader": "2.2.4",
|
"awesome-typescript-loader": "^2.2.4",
|
||||||
"branch-release": "^1.0.3",
|
"branch-release": "^1.0.3",
|
||||||
"chalk": "^1.1.3",
|
"chalk": "^1.1.3",
|
||||||
"codelyzer": "^2.0.0-beta.1",
|
"codelyzer": "^2.0.0-beta.3",
|
||||||
"core-js": "^2.4.1",
|
"core-js": "^2.4.1",
|
||||||
"coveralls": "^2.11.9",
|
"coveralls": "^2.11.9",
|
||||||
"css-loader": "^0.26.0",
|
"css-loader": "^0.26.0",
|
||||||
|
@ -85,7 +85,7 @@
|
||||||
"phantomjs-prebuilt": "^2.1.7",
|
"phantomjs-prebuilt": "^2.1.7",
|
||||||
"protractor": "^4.0.10",
|
"protractor": "^4.0.10",
|
||||||
"raw-loader": "^0.5.1",
|
"raw-loader": "^0.5.1",
|
||||||
"rxjs": "5.0.0-beta.12",
|
"rxjs": "^5.0.0-rc.4",
|
||||||
"sass-loader": "^4.0.2",
|
"sass-loader": "^4.0.2",
|
||||||
"shelljs": "^0.7.0",
|
"shelljs": "^0.7.0",
|
||||||
"should": "^11.1.0",
|
"should": "^11.1.0",
|
||||||
|
@ -95,10 +95,10 @@
|
||||||
"style-loader": "^0.13.1",
|
"style-loader": "^0.13.1",
|
||||||
"ts-helpers": "^1.1.1",
|
"ts-helpers": "^1.1.1",
|
||||||
"tslint": "^4.0.2",
|
"tslint": "^4.0.2",
|
||||||
"typescript": "^2.0.3",
|
"typescript": "2.0.9",
|
||||||
"webpack": "^2.1.0-beta.27",
|
"webpack": "^2.1.0-beta.28",
|
||||||
"webpack-dev-server": "^2.1.0-beta.12",
|
"webpack-dev-server": "^2.1.0-beta.12",
|
||||||
"zone.js": "^0.6.25"
|
"zone.js": "^0.7.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dropkickjs": "^2.1.10",
|
"dropkickjs": "^2.1.10",
|
||||||
|
@ -113,14 +113,14 @@
|
||||||
"stream-http": "^2.3.1"
|
"stream-http": "^2.3.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^2.2.4",
|
"@angular/common": "^2.3.1",
|
||||||
"@angular/compiler": "^2.2.4",
|
"@angular/compiler": "^2.3.1",
|
||||||
"@angular/core": "^2.2.4",
|
"@angular/core": "^2.3.1",
|
||||||
"@angular/platform-browser": "^2.2.4",
|
"@angular/platform-browser": "^2.3.1",
|
||||||
"@angular/platform-browser-dynamic": "^2.2.4",
|
"@angular/platform-browser-dynamic": "^2.3.1",
|
||||||
"@angular/platform-server": "^2.2.4",
|
"@angular/platform-server": "^2.3.1",
|
||||||
"core-js": "^2.4.1",
|
"core-js": "^2.4.1",
|
||||||
"rxjs": "5.0.0-beta.12",
|
"rxjs": "5.0.0-rc.4",
|
||||||
"zone.js": "^0.6.25"
|
"zone.js": "^0.7.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user