mirror of
https://github.com/Redocly/redoc.git
synced 2024-11-30 20:43:42 +03:00
Merge commit 'd1b9cb1a63481689e1f0a0e7a3d8a0ffa0da9ba2' into releases
This commit is contained in:
commit
3df53d3cad
18
CHANGELOG.md
18
CHANGELOG.md
|
@ -1,3 +1,21 @@
|
||||||
|
<a name="1.8.1"></a>
|
||||||
|
## 1.8.1 (2017-02-23)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
* Fix toggle icon width on IE, closes [#198](https://github.com/Rebilly/ReDoc/issues/198)
|
||||||
|
* Add safe guards array without items, closes [#199](https://github.com/Rebilly/ReDoc/issues/199)
|
||||||
|
* Fix extra slash if basePath is not present ([a5c03ab](https://github.com/Rebilly/ReDoc/commit/a5c03ab)), closes [#201](https://github.com/Rebilly/ReDoc/issues/201)
|
||||||
|
* response samples - render description as markdown ([4acfc11](https://github.com/Rebilly/ReDoc/commit/4acfc11)), closes [#190](https://github.com/Rebilly/ReDoc/issues/190)
|
||||||
|
* take snapshot of schema to not overwrite inlined references ([77bc3c4](https://github.com/Rebilly/ReDoc/commit/77bc3c4)), closes [#203](https://github.com/Rebilly/ReDoc/issues/203)
|
||||||
|
* use items description if not present on top level ([23e7847](https://github.com/Rebilly/ReDoc/commit/23e7847))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* autoscroll menu ([b43a87d](https://github.com/Rebilly/ReDoc/commit/b43a87d))
|
||||||
|
|
||||||
|
|
||||||
# 1.8.0 (2017-02-03)
|
# 1.8.0 (2017-02-03)
|
||||||
### Features/Improvements
|
### Features/Improvements
|
||||||
* In-page search :tada: []#51](https://github.com/Rebilly/ReDoc/issues/51)
|
* In-page search :tada: []#51](https://github.com/Rebilly/ReDoc/issues/51)
|
||||||
|
|
|
@ -125,6 +125,7 @@ ReDoc makes use of the following [vendor extensions](http://swagger.io/specifica
|
||||||
* [`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
|
* [`x-displayName`](docs/redoc-vendor-extensions.md#x-displayname) - specify human-friendly names for the menu categories
|
||||||
* [`x-tagGroups`](docs/redoc-vendor-extensions.md#x-tagGroups) - group tags by categories in the side menu
|
* [`x-tagGroups`](docs/redoc-vendor-extensions.md#x-tagGroups) - group tags by categories in the side menu
|
||||||
|
* [`x-servers`](docs/redoc-vendor-extensions.md#x-servers) - ability to specify different servers for API (backported from OpenAPI 3.0)
|
||||||
|
|
||||||
### `<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;
|
||||||
|
@ -135,7 +136,6 @@ ReDoc makes use of the following [vendor extensions](http://swagger.io/specifica
|
||||||
* **function**: A getter function. Must return a number representing the offset (in pixels);
|
* **function**: A getter function. Must return a number representing the offset (in pixels);
|
||||||
* `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.
|
|
||||||
* `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.
|
* `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
|
||||||
|
|
0
build/empty.js
Normal file
0
build/empty.js
Normal file
|
@ -82,7 +82,7 @@ module.exports = function (options) {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
test: /lib[\\\/].*\.scss$/,
|
test: /lib[\\\/].*\.scss$/,
|
||||||
loaders: ['raw-loader', "sass-loader"],
|
loaders: ['raw-loader', 'sass-loader'],
|
||||||
exclude: [/redoc-initial-styles\.scss$/]
|
exclude: [/redoc-initial-styles\.scss$/]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -110,7 +110,9 @@ module.exports = function (options) {
|
||||||
'AOT': options.AOT
|
'AOT': options.AOT
|
||||||
}),
|
}),
|
||||||
|
|
||||||
new StringReplacePlugin()
|
new StringReplacePlugin(),
|
||||||
|
new webpack.NormalModuleReplacementPlugin(/node_modules\/rxjs\/operator\/.*/, root('build/empty.js')),
|
||||||
|
new webpack.NormalModuleReplacementPlugin(/node_modules\/rxjs\/testing\//, root('build/empty.js'))
|
||||||
],
|
],
|
||||||
node: {
|
node: {
|
||||||
global: true,
|
global: true,
|
||||||
|
|
|
@ -79,6 +79,11 @@ securityDefinitions:
|
||||||
type: apiKey
|
type: apiKey
|
||||||
name: api_key
|
name: api_key
|
||||||
in: header
|
in: header
|
||||||
|
x-servers:
|
||||||
|
- url: //petstore.swagger.io/v2
|
||||||
|
description: Default server
|
||||||
|
- url: //petstore.swagger.io/sandbox
|
||||||
|
description: Sandbox server
|
||||||
paths:
|
paths:
|
||||||
/pet:
|
/pet:
|
||||||
post:
|
post:
|
||||||
|
|
|
@ -3,6 +3,9 @@ ReDoc makes use of the following [vendor extensions](http://swagger.io/specifica
|
||||||
|
|
||||||
### Swagger Object vendor extensions
|
### Swagger Object vendor extensions
|
||||||
Extend OpenAPI root [Swagger Object](http://swagger.io/specification/#swaggerObject)
|
Extend OpenAPI root [Swagger Object](http://swagger.io/specification/#swaggerObject)
|
||||||
|
#### x-servers
|
||||||
|
Backported from OpenAPI 3.0 [`servers`](https://github.com/OAI/OpenAPI-Specification/blob/OpenAPI.next/versions/3.0.md#server-object). Currently doesn't support templates.
|
||||||
|
|
||||||
#### x-tagGroups
|
#### x-tagGroups
|
||||||
|
|
||||||
| Field Name | Type | Description |
|
| Field Name | Type | Description |
|
||||||
|
|
|
@ -24,7 +24,7 @@ export class ApiInfo extends BaseComponent implements OnInit {
|
||||||
init() {
|
init() {
|
||||||
this.info = this.componentSchema.info;
|
this.info = this.componentSchema.info;
|
||||||
this.specUrl = this.optionsService.options.specUrl;
|
this.specUrl = this.optionsService.options.specUrl;
|
||||||
if (!isNaN(parseInt(this.info.version.substring(0, 1)))) {
|
if (!isNaN(parseInt(this.info.version.toString().substring(0, 1)))) {
|
||||||
this.info.version = 'v' + this.info.version;
|
this.info.version = 'v' + this.info.version;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
17
lib/components/EndpointLink/endpoint-link.html
Normal file
17
lib/components/EndpointLink/endpoint-link.html
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<div class="method-endpoint" (click)="handleClick()">
|
||||||
|
<h5 class="http-verb" [ngClass]="verb">{{verb}}</h5>
|
||||||
|
<span><!--
|
||||||
|
--><span class="method-api-url-path">{{path}}</span><!--
|
||||||
|
--></span>
|
||||||
|
</div>
|
||||||
|
<svg class="expand-icon" xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" viewBox="0 0 24 24" xml:space="preserve">
|
||||||
|
<polygon fill="white" points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "/>
|
||||||
|
</svg>
|
||||||
|
<div class="servers-overlay" [@overlayExpand]="expanded ? 'expanded' : 'collapsed'">
|
||||||
|
<div *ngFor="let server of servers" class="server-item">
|
||||||
|
<div class="description" [innerHtml]="server.description | marked"></div>
|
||||||
|
<div select-on-click class="url">
|
||||||
|
<span class="method-api-url"> {{server.url}}</span>{{path}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
104
lib/components/EndpointLink/endpoint-link.scss
Normal file
104
lib/components/EndpointLink/endpoint-link.scss
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
@import '../../shared/styles/variables';
|
||||||
|
|
||||||
|
:host {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.method-endpoint {
|
||||||
|
padding: 10px 30px 10px 20px;
|
||||||
|
border-radius: $border-radius*2;
|
||||||
|
background-color: darken($black, 2%);
|
||||||
|
display: block;
|
||||||
|
font-weight: $light;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow-x: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.method-endpoint > .method-params-subheader {
|
||||||
|
padding-top: 1px;
|
||||||
|
padding-bottom: 0;
|
||||||
|
margin: 0;
|
||||||
|
font-size: 12/14em;
|
||||||
|
color: $black;
|
||||||
|
vertical-align: middle;
|
||||||
|
display: inline-block;
|
||||||
|
border-radius: $border-radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
.method-api-url {
|
||||||
|
color: rgba($black, .8);
|
||||||
|
&-path {
|
||||||
|
font-family: $headers-font, $headers-font-family;
|
||||||
|
position: relative;
|
||||||
|
top: 1px;
|
||||||
|
color: #ffffff;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.http-verb {
|
||||||
|
color: $black;
|
||||||
|
background: #ffffff;
|
||||||
|
padding: 3px 10px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
display: inline-block;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.servers-overlay {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 100;
|
||||||
|
background: $side-bar-bg-color;
|
||||||
|
color: $black;
|
||||||
|
box-sizing: border-box;
|
||||||
|
box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.33);
|
||||||
|
overflow: hidden;
|
||||||
|
border-bottom-left-radius: $border-radius*2;
|
||||||
|
border-bottom-right-radius: $border-radius*2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.server-item {
|
||||||
|
padding: 10px;
|
||||||
|
//margin-bottom: 10px;
|
||||||
|
|
||||||
|
& > .url {
|
||||||
|
padding: 5px;
|
||||||
|
border: 1px solid $border-color;
|
||||||
|
background: $background-color;
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.expand-icon {
|
||||||
|
height: 20px;
|
||||||
|
width: 20px;
|
||||||
|
display: inline-block;
|
||||||
|
float: right;
|
||||||
|
background: darken($black, 2%);
|
||||||
|
transform: rotateZ(0);
|
||||||
|
transition: all 0.2s ease;
|
||||||
|
top: 15px;
|
||||||
|
right: 5px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
:host.expanded {
|
||||||
|
> .method-endpoint {
|
||||||
|
border-color: $side-bar-bg-color;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.expand-icon {
|
||||||
|
transform: rotateZ(180deg);
|
||||||
|
}
|
||||||
|
}
|
79
lib/components/EndpointLink/endpoint-link.spec.ts
Normal file
79
lib/components/EndpointLink/endpoint-link.spec.ts
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
import { Component } from '@angular/core';
|
||||||
|
import {
|
||||||
|
inject,
|
||||||
|
async,
|
||||||
|
TestBed
|
||||||
|
} from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { getChildDebugElement } from '../../../tests/helpers';
|
||||||
|
|
||||||
|
import { EndpointLink } from './endpoint-link';
|
||||||
|
import { SpecManager } from '../../utils/spec-manager';
|
||||||
|
|
||||||
|
describe('Redoc components', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
TestBed.configureTestingModule({ declarations: [ TestAppComponent ] });
|
||||||
|
});
|
||||||
|
describe('EndpointLink Component', () => {
|
||||||
|
let builder;
|
||||||
|
let component: EndpointLink;
|
||||||
|
let specMgr: SpecManager;
|
||||||
|
|
||||||
|
beforeEach(async(inject([SpecManager], (_specMgr) => {
|
||||||
|
specMgr = _specMgr;
|
||||||
|
})));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
specMgr.apiUrl = 'http://test.com/v1';
|
||||||
|
specMgr._schema = {
|
||||||
|
info: {},
|
||||||
|
host: 'petstore.swagger.io',
|
||||||
|
baseName: '/v2',
|
||||||
|
schemes: ['https', 'http'],
|
||||||
|
'x-servers': [
|
||||||
|
{
|
||||||
|
url: '//test.com/v2'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: 'ws://test.com/v3',
|
||||||
|
description: 'test'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
specMgr.init();
|
||||||
|
|
||||||
|
component = new EndpointLink(specMgr);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should replace // with appropriate protocol', () => {
|
||||||
|
component.ngOnInit();
|
||||||
|
component.servers[0].url.should.be.equal('https://test.com/v2');
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
it('should preserve other protocols', () => {
|
||||||
|
component.ngOnInit();
|
||||||
|
component.servers[1].url.should.be.equal('ws://test.com/v3');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should fallback to host + basePath + schemas if no x-servers', () => {
|
||||||
|
specMgr._schema['x-servers'] = null;
|
||||||
|
specMgr.init();
|
||||||
|
component.ngOnInit();
|
||||||
|
component.servers.should.be.lengthOf(1);
|
||||||
|
component.servers[0].url.should.be.equal('https://petstore.swagger.io');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/** Test component that contains a Method. */
|
||||||
|
@Component({
|
||||||
|
selector: 'test-app',
|
||||||
|
template:
|
||||||
|
`<method pointer='#/paths/~1user~1{username}/put'></method>`
|
||||||
|
})
|
||||||
|
class TestAppComponent {
|
||||||
|
}
|
69
lib/components/EndpointLink/endpoint-link.ts
Normal file
69
lib/components/EndpointLink/endpoint-link.ts
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
'use strict';
|
||||||
|
import { Component, ChangeDetectionStrategy, Input, OnInit, HostListener, HostBinding} from '@angular/core';
|
||||||
|
import { BaseComponent, SpecManager } from '../base';
|
||||||
|
import { trigger, state, animate, transition, style } from '@angular/core';
|
||||||
|
|
||||||
|
export interface ServerInfo {
|
||||||
|
description: string;
|
||||||
|
url: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'endpoint-link',
|
||||||
|
styleUrls: ['./endpoint-link.css'],
|
||||||
|
templateUrl: './endpoint-link.html',
|
||||||
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
|
animations: [
|
||||||
|
trigger('overlayExpand', [
|
||||||
|
state('collapsed, void',
|
||||||
|
style({ height: '0px' })),
|
||||||
|
state('expanded',
|
||||||
|
style({ height: '*' })),
|
||||||
|
transition('collapsed <=> expanded', [
|
||||||
|
animate('200ms ease')
|
||||||
|
])
|
||||||
|
])
|
||||||
|
]
|
||||||
|
})
|
||||||
|
export class EndpointLink implements OnInit {
|
||||||
|
@Input() path:string;
|
||||||
|
@Input() verb:string;
|
||||||
|
|
||||||
|
apiUrl: string;
|
||||||
|
servers: ServerInfo[];
|
||||||
|
@HostBinding('class.expanded') expanded: boolean = false;
|
||||||
|
|
||||||
|
// @HostListener('click')
|
||||||
|
handleClick() {
|
||||||
|
this.expanded = !this.expanded;
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(public specMgr:SpecManager) {
|
||||||
|
this.expanded = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
init() {
|
||||||
|
let servers:ServerInfo[] = this.specMgr.schema['x-servers'];
|
||||||
|
if (servers) {
|
||||||
|
this.servers = servers.map(({url, description}) => ({
|
||||||
|
description,
|
||||||
|
url: url.startsWith('//') ? `${this.specMgr.apiProtocol}:${url}` : url
|
||||||
|
}));
|
||||||
|
} else {
|
||||||
|
this.servers = [
|
||||||
|
{
|
||||||
|
description: 'Server URL',
|
||||||
|
url: this.getBaseUrl()
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getBaseUrl():string {
|
||||||
|
return this.specMgr.apiUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
this.init();
|
||||||
|
}
|
||||||
|
}
|
|
@ -16,12 +16,7 @@
|
||||||
<div class="method-samples">
|
<div class="method-samples">
|
||||||
<h4 class="method-params-subheader">Definition</h4>
|
<h4 class="method-params-subheader">Definition</h4>
|
||||||
|
|
||||||
<div class="method-endpoint">
|
<endpoint-link [verb]="method.verb" [path]="method.path"> </endpoint-link>
|
||||||
<h5 class="http-method" [ngClass]="method.httpMethod">{{method.httpMethod}}</h5>
|
|
||||||
<span select-on-click><!--
|
|
||||||
--><span class="method-api-url">{{method.apiUrl}}</span><span class="method-api-url-path">{{method.path}}</span><!--
|
|
||||||
--></span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<request-samples [pointer]="pointer" [schemaPointer]="method.bodyParam?._pointer">
|
<request-samples [pointer]="pointer" [schemaPointer]="method.bodyParam?._pointer">
|
||||||
|
|
|
@ -18,45 +18,6 @@
|
||||||
margin-bottom: calc(1em - 6px);
|
margin-bottom: calc(1em - 6px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.method-endpoint {
|
|
||||||
//margin: 0 0 2px 0;
|
|
||||||
padding: 10px 20px;
|
|
||||||
border-radius: $border-radius*2;
|
|
||||||
background-color: darken($black, 2%);
|
|
||||||
display: block;
|
|
||||||
font-weight: $light;
|
|
||||||
white-space: nowrap;
|
|
||||||
overflow-x: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.method-endpoint > .method-params-subheader {
|
|
||||||
padding-top: 1px;
|
|
||||||
padding-bottom: 0;
|
|
||||||
margin: 0;
|
|
||||||
font-size: 12/14em;
|
|
||||||
color: $black;
|
|
||||||
vertical-align: middle;
|
|
||||||
display: inline-block;
|
|
||||||
border-radius: $border-radius;
|
|
||||||
}
|
|
||||||
|
|
||||||
.method-api-url {
|
|
||||||
color: rgba(#ffffff, .6);
|
|
||||||
margin-left: 10px;
|
|
||||||
margin-top: 2px;
|
|
||||||
position: relative;
|
|
||||||
top: 1px;
|
|
||||||
font-family: $headers-font, $headers-font-family;
|
|
||||||
font-size: 0.929em;
|
|
||||||
|
|
||||||
&-path {
|
|
||||||
font-family: $headers-font, $headers-font-family;
|
|
||||||
position: relative;
|
|
||||||
top: 1px;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.method-tags {
|
.method-tags {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
|
|
||||||
|
@ -121,15 +82,6 @@
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.http-method {
|
|
||||||
color: $black;
|
|
||||||
background: #ffffff;
|
|
||||||
padding: 3px 10px;
|
|
||||||
text-transform: uppercase;
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
[select-on-click] {
|
[select-on-click] {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ describe('Redoc components', () => {
|
||||||
});
|
});
|
||||||
describe('Method Component', () => {
|
describe('Method Component', () => {
|
||||||
let builder;
|
let builder;
|
||||||
let component;
|
let component: Method;
|
||||||
let specMgr;
|
let specMgr;
|
||||||
|
|
||||||
beforeEach(async(inject([SpecManager, LazyTasksService], (_specMgr, lazyTasks) => {
|
beforeEach(async(inject([SpecManager, LazyTasksService], (_specMgr, lazyTasks) => {
|
||||||
|
@ -43,8 +43,7 @@ describe('Redoc components', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should init basic component data', () => {
|
it('should init basic component data', () => {
|
||||||
component.method.apiUrl.should.be.equal('http://petstore.swagger.io/v2');
|
component.method.verb.should.be.equal('put');
|
||||||
component.method.httpMethod.should.be.equal('put');
|
|
||||||
component.method.path.should.be.equal('/user/{username}');
|
component.method.path.should.be.equal('/user/{username}');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,7 @@ import { OptionsService } from '../../services/';
|
||||||
|
|
||||||
|
|
||||||
interface MethodInfo {
|
interface MethodInfo {
|
||||||
apiUrl: string;
|
verb: string;
|
||||||
httpMethod: string;
|
|
||||||
path: string;
|
path: string;
|
||||||
info: {
|
info: {
|
||||||
tags: string[];
|
tags: string[];
|
||||||
|
@ -45,7 +44,7 @@ export class Method extends BaseComponent implements OnInit {
|
||||||
this.operationId = this.componentSchema.operationId;
|
this.operationId = this.componentSchema.operationId;
|
||||||
|
|
||||||
this.method = {
|
this.method = {
|
||||||
httpMethod: JsonPointer.baseName(this.pointer),
|
verb: JsonPointer.baseName(this.pointer),
|
||||||
path: JsonPointer.baseName(this.pointer, 2),
|
path: JsonPointer.baseName(this.pointer, 2),
|
||||||
info: {
|
info: {
|
||||||
description: this.componentSchema.description,
|
description: this.componentSchema.description,
|
||||||
|
@ -53,7 +52,6 @@ export class Method extends BaseComponent implements OnInit {
|
||||||
},
|
},
|
||||||
bodyParam: this.findBodyParam(),
|
bodyParam: this.findBodyParam(),
|
||||||
summary: SchemaHelper.methodSummary(this.componentSchema),
|
summary: SchemaHelper.methodSummary(this.componentSchema),
|
||||||
apiUrl: this.getBaseUrl(),
|
|
||||||
anchor: this.buildAnchor(),
|
anchor: this.buildAnchor(),
|
||||||
externalDocs: this.componentSchema.externalDocs
|
externalDocs: this.componentSchema.externalDocs
|
||||||
};
|
};
|
||||||
|
@ -67,14 +65,6 @@ export class Method extends BaseComponent implements OnInit {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getBaseUrl():string {
|
|
||||||
if (this.optionsService.options.hideHostname) {
|
|
||||||
return this.specMgr.basePath;
|
|
||||||
} else {
|
|
||||||
return this.specMgr.apiUrl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
filterMainTags(tags) {
|
filterMainTags(tags) {
|
||||||
var tagsMap = this.specMgr.getTagsMap();
|
var tagsMap = this.specMgr.getTagsMap();
|
||||||
if (!tags) return [];
|
if (!tags) return [];
|
||||||
|
|
|
@ -53,5 +53,12 @@ describe('Redoc components', () => {
|
||||||
let resp2 = component.responses[1];
|
let resp2 = component.responses[1];
|
||||||
resp1.code.should.not.be.equal(resp2.code);
|
resp1.code.should.not.be.equal(resp2.code);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should set type of default as error if other 200-399 response is defined', () => {
|
||||||
|
component.pointer = '#/paths/~1test2/get/responses';
|
||||||
|
fixture.detectChanges();
|
||||||
|
let resp1 = component.responses[1];
|
||||||
|
resp1.type.should.be.equal('error');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -44,10 +44,16 @@ export class ResponsesList extends BaseSearchableComponent implements OnInit {
|
||||||
let responses = this.componentSchema;
|
let responses = this.componentSchema;
|
||||||
if (!responses) return;
|
if (!responses) return;
|
||||||
|
|
||||||
responses = Object.keys(responses).filter(respCode => {
|
let hasSuccessResponses = false;
|
||||||
|
let respCodes = Object.keys(responses).filter(respCode => {
|
||||||
|
if ((parseInt(respCode) >= 100) && (parseInt(respCode) <=399)) {
|
||||||
|
hasSuccessResponses = true;
|
||||||
|
}
|
||||||
// only response-codes and "default"
|
// only response-codes and "default"
|
||||||
return ( isNumeric(respCode) || (respCode === 'default'));
|
return ( isNumeric(respCode) || (respCode === 'default'));
|
||||||
}).map(respCode => {
|
});
|
||||||
|
|
||||||
|
responses = respCodes.map(respCode => {
|
||||||
let resp = responses[respCode];
|
let resp = responses[respCode];
|
||||||
resp.pointer = JsonPointer.join(this.pointer, respCode);
|
resp.pointer = JsonPointer.join(this.pointer, respCode);
|
||||||
if (resp.$ref) {
|
if (resp.$ref) {
|
||||||
|
@ -58,7 +64,7 @@ export class ResponsesList extends BaseSearchableComponent 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, hasSuccessResponses);
|
||||||
|
|
||||||
resp.expanded = false;
|
resp.expanded = false;
|
||||||
if (this.options.expandResponses) {
|
if (this.options.expandResponses) {
|
||||||
|
|
|
@ -37,7 +37,11 @@ export class ResponsesSamples extends BaseComponent implements OnInit {
|
||||||
let responses = this.componentSchema;
|
let responses = this.componentSchema;
|
||||||
if (!responses) return;
|
if (!responses) return;
|
||||||
|
|
||||||
|
let hasSuccessResponses = false;
|
||||||
responses = Object.keys(responses).filter(respCode => {
|
responses = Object.keys(responses).filter(respCode => {
|
||||||
|
if ((parseInt(respCode) >= 100) && (parseInt(respCode) <=399)) {
|
||||||
|
hasSuccessResponses = true;
|
||||||
|
}
|
||||||
// only response-codes and "default"
|
// only response-codes and "default"
|
||||||
return ( isNumeric(respCode) || (respCode === 'default'));
|
return ( isNumeric(respCode) || (respCode === 'default'));
|
||||||
}).map(respCode => {
|
}).map(respCode => {
|
||||||
|
@ -50,7 +54,7 @@ export class ResponsesSamples extends BaseComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
resp.code = respCode;
|
resp.code = respCode;
|
||||||
resp.type = statusCodeType(resp.code);
|
resp.type = statusCodeType(resp.code, hasSuccessResponses);
|
||||||
return resp;
|
return resp;
|
||||||
})
|
})
|
||||||
.filter(response => hasExample(response));
|
.filter(response => hasExample(response));
|
||||||
|
|
|
@ -17,15 +17,16 @@ import { SecurityDefinitions } from './SecurityDefinitions/security-definitions'
|
||||||
import { LoadingBar } from './LoadingBar/loading-bar';
|
import { LoadingBar } from './LoadingBar/loading-bar';
|
||||||
import { RedocSearch } from './Search/redoc-search';
|
import { RedocSearch } from './Search/redoc-search';
|
||||||
import { ExternalDocs } from './ExternalDocs/external-docs';
|
import { ExternalDocs } from './ExternalDocs/external-docs';
|
||||||
|
import { EndpointLink } from './EndpointLink/endpoint-link';
|
||||||
|
|
||||||
import { Redoc } from './Redoc/redoc';
|
import { Redoc } from './Redoc/redoc';
|
||||||
|
|
||||||
export const REDOC_DIRECTIVES = [
|
export const REDOC_DIRECTIVES = [
|
||||||
ApiInfo, ApiLogo, JsonSchema, JsonSchemaLazy, ParamsList, RequestSamples, ResponsesList,
|
ApiInfo, ApiLogo, JsonSchema, JsonSchemaLazy, ParamsList, RequestSamples, ResponsesList,
|
||||||
ResponsesSamples, SchemaSample, SideMenu, MethodsList, Method, Warnings, Redoc, SecurityDefinitions,
|
ResponsesSamples, SchemaSample, SideMenu, MethodsList, Method, Warnings, Redoc, SecurityDefinitions,
|
||||||
LoadingBar, SideMenuItems, RedocSearch, ExternalDocs
|
LoadingBar, SideMenuItems, RedocSearch, ExternalDocs, EndpointLink
|
||||||
];
|
];
|
||||||
|
|
||||||
export { ApiInfo, ApiLogo, JsonSchema, JsonSchemaLazy, ParamsList, RequestSamples, ResponsesList,
|
export { ApiInfo, ApiLogo, JsonSchema, JsonSchemaLazy, ParamsList, RequestSamples, ResponsesList,
|
||||||
ResponsesSamples, SchemaSample, SideMenu, MethodsList, Method, Warnings, Redoc, SecurityDefinitions,
|
ResponsesSamples, SchemaSample, SideMenu, MethodsList, Method, Warnings, Redoc, SecurityDefinitions,
|
||||||
LoadingBar, SideMenuItems, RedocSearch, ExternalDocs }
|
LoadingBar, SideMenuItems, RedocSearch, ExternalDocs, EndpointLink }
|
||||||
|
|
|
@ -13,7 +13,6 @@ const OPTION_NAMES = new Set([
|
||||||
'disableLazySchemas',
|
'disableLazySchemas',
|
||||||
'specUrl',
|
'specUrl',
|
||||||
'suppressWarnings',
|
'suppressWarnings',
|
||||||
'hideHostname',
|
|
||||||
'lazyRendering',
|
'lazyRendering',
|
||||||
'expandResponses'
|
'expandResponses'
|
||||||
]);
|
]);
|
||||||
|
@ -23,7 +22,6 @@ interface Options {
|
||||||
disableLazySchemas?: boolean;
|
disableLazySchemas?: boolean;
|
||||||
specUrl?: string;
|
specUrl?: string;
|
||||||
suppressWarnings?: boolean;
|
suppressWarnings?: boolean;
|
||||||
hideHostname?: boolean;
|
|
||||||
lazyRendering?: boolean;
|
lazyRendering?: boolean;
|
||||||
expandResponses?: Set<string> | 'all';
|
expandResponses?: Set<string> | 'all';
|
||||||
$scrollParent?: HTMLElement | Window;
|
$scrollParent?: HTMLElement | Window;
|
||||||
|
@ -89,7 +87,6 @@ export class OptionsService {
|
||||||
|
|
||||||
if (isString(this._options.disableLazySchemas)) this._options.disableLazySchemas = true;
|
if (isString(this._options.disableLazySchemas)) this._options.disableLazySchemas = true;
|
||||||
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.lazyRendering)) this._options.lazyRendering = true;
|
if (isString(this._options.lazyRendering)) this._options.lazyRendering = true;
|
||||||
if (isString(this._options.expandResponses)) {
|
if (isString(this._options.expandResponses)) {
|
||||||
let str = this._options.expandResponses as string;
|
let str = this._options.expandResponses as string;
|
||||||
|
|
|
@ -16,6 +16,60 @@ describe('Spec Helper', () => {
|
||||||
expect(console.warn).toHaveBeenCalled();
|
expect(console.warn).toHaveBeenCalled();
|
||||||
(<jasmine.Spy>console.warn).and.callThrough();
|
(<jasmine.Spy>console.warn).and.callThrough();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('string', () => {
|
||||||
|
it('should calculate range for string with maxLength', () => {
|
||||||
|
let schema:any = {
|
||||||
|
type: 'string',
|
||||||
|
maxLength: 3
|
||||||
|
};
|
||||||
|
|
||||||
|
SchemaHelper.runInjectors(schema, schema, '#/');
|
||||||
|
schema._range.should.be.equal('<= 3 characters');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should calculate range for string with minLength', () => {
|
||||||
|
let schema:any = {
|
||||||
|
type: 'string',
|
||||||
|
minLength: 3,
|
||||||
|
};
|
||||||
|
|
||||||
|
SchemaHelper.runInjectors(schema, schema, '#/');
|
||||||
|
schema._range.should.be.equal('>= 3 characters');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should calculate range for string with both max and minLength', () => {
|
||||||
|
let schema:any = {
|
||||||
|
type: 'string',
|
||||||
|
minLength: 3,
|
||||||
|
maxLength: 5
|
||||||
|
};
|
||||||
|
|
||||||
|
SchemaHelper.runInjectors(schema, schema, '#/');
|
||||||
|
schema._range.should.be.equal('[ 3 .. 5 ] characters');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should calculate range for string with equal max and minLength', () => {
|
||||||
|
let schema:any = {
|
||||||
|
type: 'string',
|
||||||
|
minLength: 5,
|
||||||
|
maxLength: 5
|
||||||
|
};
|
||||||
|
|
||||||
|
SchemaHelper.runInjectors(schema, schema, '#/');
|
||||||
|
schema._range.should.be.equal('5 characters');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should show range as non-empty for minLength == 1', () => {
|
||||||
|
let schema:any = {
|
||||||
|
type: 'string',
|
||||||
|
minLength: 1
|
||||||
|
};
|
||||||
|
|
||||||
|
SchemaHelper.runInjectors(schema, schema, '#/');
|
||||||
|
schema._range.should.be.equal('non-empty');
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('preprocessProperties', () => {
|
describe('preprocessProperties', () => {
|
||||||
|
|
|
@ -150,16 +150,22 @@ const injectors = {
|
||||||
inject: (injectTo, propertySchema = injectTo) => {
|
inject: (injectTo, propertySchema = injectTo) => {
|
||||||
var range;
|
var range;
|
||||||
if (propertySchema.minLength != undefined && propertySchema.maxLength != undefined) {
|
if (propertySchema.minLength != undefined && propertySchema.maxLength != undefined) {
|
||||||
range = `[ ${propertySchema.minLength} .. ${propertySchema.maxLength} ]`;
|
if (propertySchema.minLength === propertySchema.maxLength) {
|
||||||
|
range = `${propertySchema.minLength} characters`;
|
||||||
|
} else {
|
||||||
|
range = `[ ${propertySchema.minLength} .. ${propertySchema.maxLength} ] characters`;
|
||||||
|
}
|
||||||
} else if (propertySchema.maxLength != undefined) {
|
} else if (propertySchema.maxLength != undefined) {
|
||||||
range = '<= ' + propertySchema.maxLength;
|
range = `<= ${propertySchema.maxLength} characters`;
|
||||||
} else if (propertySchema.minLength != undefined) {
|
} else if (propertySchema.minLength != undefined) {
|
||||||
range = '>= ' + propertySchema.minLength;
|
if (propertySchema.minLength === 1) {
|
||||||
|
range = 'non-empty';
|
||||||
|
} else {
|
||||||
|
range = `>= ${propertySchema.minLength} characters`;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (range) {
|
injectTo._range = range;
|
||||||
injectTo._range = range + ' characters';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
file: {
|
file: {
|
||||||
|
|
|
@ -7,6 +7,7 @@ $green: #00aa13;
|
||||||
$yellow: #f1c400;
|
$yellow: #f1c400;
|
||||||
$red: #e53935;
|
$red: #e53935;
|
||||||
$background-color: #fff;
|
$background-color: #fff;
|
||||||
|
$border-color: #ccc;
|
||||||
|
|
||||||
$em-size: 14px;
|
$em-size: 14px;
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,11 @@ export function groupBy<T>(array: T[], key:string):StringMap<T[]> {
|
||||||
}, {});
|
}, {});
|
||||||
}
|
}
|
||||||
|
|
||||||
export function statusCodeType(statusCode) {
|
export function statusCodeType(statusCode, defaultAsError = false) {
|
||||||
|
if (statusCode === 'default') {
|
||||||
|
return defaultAsError ? 'error' : 'success';
|
||||||
|
}
|
||||||
|
|
||||||
if (statusCode < 100 || statusCode > 599) {
|
if (statusCode < 100 || statusCode > 599) {
|
||||||
throw new Error('invalid HTTP code');
|
throw new Error('invalid HTTP code');
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,10 +24,12 @@ export interface DescendantInfo {
|
||||||
export class SpecManager {
|
export class SpecManager {
|
||||||
public _schema: any = {};
|
public _schema: any = {};
|
||||||
public apiUrl: string;
|
public apiUrl: string;
|
||||||
|
public apiProtocol: string;
|
||||||
|
public swagger: string;
|
||||||
public basePath: string;
|
public basePath: string;
|
||||||
|
|
||||||
public spec = new BehaviorSubject<any|null>(null);
|
public spec = new BehaviorSubject<any|null>(null);
|
||||||
private _url: string;
|
public _specUrl: string;
|
||||||
private parser: any;
|
private parser: any;
|
||||||
|
|
||||||
load(urlOrObject: string|Object) {
|
load(urlOrObject: string|Object) {
|
||||||
|
@ -36,7 +38,7 @@ export class SpecManager {
|
||||||
this.parser.bundle(urlOrObject, {http: {withCredentials: false}})
|
this.parser.bundle(urlOrObject, {http: {withCredentials: false}})
|
||||||
.then(schema => {
|
.then(schema => {
|
||||||
if (typeof urlOrObject === 'string') {
|
if (typeof urlOrObject === 'string') {
|
||||||
this._url = urlOrObject;
|
this._specUrl = urlOrObject;
|
||||||
}
|
}
|
||||||
this._schema = snapshot(schema);
|
this._schema = snapshot(schema);
|
||||||
try {
|
try {
|
||||||
|
@ -54,7 +56,7 @@ export class SpecManager {
|
||||||
|
|
||||||
/* calculate common used values */
|
/* calculate common used values */
|
||||||
init() {
|
init() {
|
||||||
let urlParts = this._url ? urlParse(urlResolve(window.location.href, this._url)) : {};
|
let urlParts = this._specUrl ? urlParse(urlResolve(window.location.href, this._specUrl)) : {};
|
||||||
let schemes = this._schema.schemes;
|
let schemes = this._schema.schemes;
|
||||||
let protocol;
|
let protocol;
|
||||||
if (!schemes || !schemes.length) {
|
if (!schemes || !schemes.length) {
|
||||||
|
@ -70,6 +72,7 @@ export class SpecManager {
|
||||||
let host = this._schema.host || urlParts.host;
|
let host = this._schema.host || urlParts.host;
|
||||||
this.basePath = this._schema.basePath || '';
|
this.basePath = this._schema.basePath || '';
|
||||||
this.apiUrl = protocol + '://' + host + this.basePath;
|
this.apiUrl = protocol + '://' + host + this.basePath;
|
||||||
|
this.apiProtocol = protocol;
|
||||||
if (this.apiUrl.endsWith('/')) {
|
if (this.apiUrl.endsWith('/')) {
|
||||||
this.apiUrl = this.apiUrl.substr(0, this.apiUrl.length - 1);
|
this.apiUrl = this.apiUrl.substr(0, this.apiUrl.length - 1);
|
||||||
}
|
}
|
||||||
|
@ -79,6 +82,9 @@ export class SpecManager {
|
||||||
|
|
||||||
preprocess() {
|
preprocess() {
|
||||||
let mdRender = new MdRenderer();
|
let mdRender = new MdRenderer();
|
||||||
|
if (!this._schema.info) {
|
||||||
|
throw Error('Specification Error: Required field "info" is not specified at the top level of the specification');
|
||||||
|
}
|
||||||
if (!this._schema.info.description) this._schema.info.description = '';
|
if (!this._schema.info.description) this._schema.info.description = '';
|
||||||
if (this._schema.securityDefinitions) {
|
if (this._schema.securityDefinitions) {
|
||||||
let SecurityDefinitions = require('../components/').SecurityDefinitions;
|
let SecurityDefinitions = require('../components/').SecurityDefinitions;
|
||||||
|
@ -168,7 +174,7 @@ export class SpecManager {
|
||||||
return tagsMap;
|
return tagsMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
findDerivedDefinitions(defPointer: string, schema): DescendantInfo[] {
|
findDerivedDefinitions(defPointer: string, schema?: any): DescendantInfo[] {
|
||||||
let definition = schema || this.byPointer(defPointer);
|
let definition = schema || this.byPointer(defPointer);
|
||||||
if (!definition) throw new Error(`Can't load schema at ${defPointer}`);
|
if (!definition) throw new Error(`Can't load schema at ${defPointer}`);
|
||||||
if (!definition.discriminator && !definition['x-extendedDiscriminator']) return [];
|
if (!definition.discriminator && !definition['x-extendedDiscriminator']) return [];
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "redoc",
|
"name": "redoc",
|
||||||
"description": "Swagger-generated API Reference Documentation",
|
"description": "Swagger-generated API Reference Documentation",
|
||||||
"version": "1.8.1",
|
"version": "1.9.0",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git://github.com/Rebilly/ReDoc"
|
"url": "git://github.com/Rebilly/ReDoc"
|
||||||
|
@ -32,7 +32,8 @@
|
||||||
"e2e-copy": "cp dist/redoc.min.js tests/e2e/",
|
"e2e-copy": "cp dist/redoc.min.js tests/e2e/",
|
||||||
"webdriver": "webdriver-manager update",
|
"webdriver": "webdriver-manager update",
|
||||||
"serve:prod": "NODE_ENV=production npm start",
|
"serve:prod": "NODE_ENV=production npm start",
|
||||||
"protractor": "protractor"
|
"protractor": "protractor",
|
||||||
|
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 1"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"OpenAPI",
|
"OpenAPI",
|
||||||
|
@ -65,6 +66,7 @@
|
||||||
"branch-release": "^1.0.3",
|
"branch-release": "^1.0.3",
|
||||||
"chalk": "^1.1.3",
|
"chalk": "^1.1.3",
|
||||||
"codelyzer": "^2.0.1",
|
"codelyzer": "^2.0.1",
|
||||||
|
"conventional-changelog-cli": "^1.2.0",
|
||||||
"core-js": "^2.4.1",
|
"core-js": "^2.4.1",
|
||||||
"coveralls": "^2.11.16",
|
"coveralls": "^2.11.16",
|
||||||
"css-loader": "^0.26.0",
|
"css-loader": "^0.26.0",
|
||||||
|
@ -119,6 +121,5 @@
|
||||||
"webpack-dev-server": "^2.4.1",
|
"webpack-dev-server": "^2.4.1",
|
||||||
"webpack-merge": "^3.0.0",
|
"webpack-merge": "^3.0.0",
|
||||||
"zone.js": "^0.7.7"
|
"zone.js": "^0.7.7"
|
||||||
},
|
}
|
||||||
"dependencies": {}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,25 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"/test2": {
|
||||||
|
"get": {
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "successful operation",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/def1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"default": {
|
||||||
|
"description": "successful operation",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/def1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
"definitions": {
|
"definitions": {
|
||||||
"def1": {
|
"def1": {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
import { SpecManager } from '../../lib/utils/spec-manager';
|
import { SpecManager } from '../../lib/utils/spec-manager';
|
||||||
describe('Utils', () => {
|
describe('Utils', () => {
|
||||||
describe('Schema manager', () => {
|
describe('Schema manager', () => {
|
||||||
let specMgr;
|
let specMgr: SpecManager;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
specMgr = new SpecManager();
|
specMgr = new SpecManager();
|
||||||
|
@ -51,21 +51,21 @@ describe('Utils', () => {
|
||||||
|
|
||||||
it('should substitute api scheme when spec schemes are undefined', () => {
|
it('should substitute api scheme when spec schemes are undefined', () => {
|
||||||
specMgr._schema.schemes = undefined;
|
specMgr._schema.schemes = undefined;
|
||||||
specMgr._url = 'https://petstore.swagger.io/v2';
|
specMgr._specUrl = 'https://petstore.swagger.io/v2';
|
||||||
specMgr.init();
|
specMgr.init();
|
||||||
specMgr.apiUrl.should.be.equal('https://petstore.swagger.io/v2');
|
specMgr.apiUrl.should.be.equal('https://petstore.swagger.io/v2');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should substitute api host when spec host is undefined', () => {
|
it('should substitute api host when spec host is undefined', () => {
|
||||||
specMgr._schema.host = undefined;
|
specMgr._schema.host = undefined;
|
||||||
specMgr._url = 'http://petstore.swagger.io/v2';
|
specMgr._specUrl = 'http://petstore.swagger.io/v2';
|
||||||
specMgr.init();
|
specMgr.init();
|
||||||
specMgr.apiUrl.should.be.equal('http://petstore.swagger.io/v2');
|
specMgr.apiUrl.should.be.equal('http://petstore.swagger.io/v2');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should use empty basePath when basePath is not present', () => {
|
it('should use empty basePath when basePath is not present', () => {
|
||||||
specMgr._schema.basePath = undefined;
|
specMgr._schema.basePath = undefined;
|
||||||
specMgr._url = 'https://petstore.swagger.io';
|
specMgr._specUrl = 'https://petstore.swagger.io';
|
||||||
specMgr.init();
|
specMgr.init();
|
||||||
specMgr.basePath.should.be.equal('');
|
specMgr.basePath.should.be.equal('');
|
||||||
});
|
});
|
||||||
|
|
357
yarn.lock
357
yarn.lock
|
@ -98,6 +98,13 @@
|
||||||
"@types/tapable" "*"
|
"@types/tapable" "*"
|
||||||
"@types/uglify-js" "*"
|
"@types/uglify-js" "*"
|
||||||
|
|
||||||
|
JSONStream@^1.0.4:
|
||||||
|
version "1.3.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a"
|
||||||
|
dependencies:
|
||||||
|
jsonparse "^1.2.0"
|
||||||
|
through ">=2.2.7 <3"
|
||||||
|
|
||||||
abbrev@1, abbrev@1.0.x:
|
abbrev@1, abbrev@1.0.x:
|
||||||
version "1.0.9"
|
version "1.0.9"
|
||||||
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
|
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
|
||||||
|
@ -119,6 +126,10 @@ acorn@^4.0.3, acorn@^4.0.4:
|
||||||
version "4.0.4"
|
version "4.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
|
||||||
|
|
||||||
|
add-stream@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa"
|
||||||
|
|
||||||
adm-zip@0.4.4:
|
adm-zip@0.4.4:
|
||||||
version "0.4.4"
|
version "0.4.4"
|
||||||
resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.4.tgz#a61ed5ae6905c3aea58b3a657d25033091052736"
|
resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.4.tgz#a61ed5ae6905c3aea58b3a657d25033091052736"
|
||||||
|
@ -250,6 +261,10 @@ array-flatten@1.1.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
|
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
|
||||||
|
|
||||||
|
array-ify@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
|
||||||
|
|
||||||
array-slice@^0.2.3:
|
array-slice@^0.2.3:
|
||||||
version "0.2.3"
|
version "0.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
|
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
|
||||||
|
@ -322,13 +337,7 @@ async@^0.9.0, async@~0.9.0:
|
||||||
version "0.9.2"
|
version "0.9.2"
|
||||||
resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
|
resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
|
||||||
|
|
||||||
async@^2.1.2:
|
async@^2.1.2, async@^2.1.5:
|
||||||
version "2.1.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4"
|
|
||||||
dependencies:
|
|
||||||
lodash "^4.14.0"
|
|
||||||
|
|
||||||
async@^2.1.5:
|
|
||||||
version "2.1.5"
|
version "2.1.5"
|
||||||
resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc"
|
resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -900,6 +909,13 @@ commander@^2.7.1, commander@^2.9.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
graceful-readlink ">= 1.0.0"
|
graceful-readlink ">= 1.0.0"
|
||||||
|
|
||||||
|
compare-func@^1.3.1:
|
||||||
|
version "1.3.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648"
|
||||||
|
dependencies:
|
||||||
|
array-ify "^1.0.0"
|
||||||
|
dot-prop "^3.0.0"
|
||||||
|
|
||||||
component-bind@1.0.0:
|
component-bind@1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
|
resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
|
||||||
|
@ -994,6 +1010,140 @@ content-type@~1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
|
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
|
||||||
|
|
||||||
|
conventional-changelog-angular@^1.0.0:
|
||||||
|
version "1.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.3.0.tgz#3f64185978aa13ab0954c9e46a78969fd59c6801"
|
||||||
|
dependencies:
|
||||||
|
compare-func "^1.3.1"
|
||||||
|
github-url-from-git "^1.4.0"
|
||||||
|
q "^1.4.1"
|
||||||
|
|
||||||
|
conventional-changelog-atom@^0.1.0:
|
||||||
|
version "0.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.1.0.tgz#67a47c66a42b2f8909ef1587c9989ae1de730b92"
|
||||||
|
dependencies:
|
||||||
|
q "^1.4.1"
|
||||||
|
|
||||||
|
conventional-changelog-cli@^1.2.0:
|
||||||
|
version "1.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-1.2.0.tgz#c4929dcdb5d5ba9aa1840418e6b4674691193f5d"
|
||||||
|
dependencies:
|
||||||
|
add-stream "^1.0.0"
|
||||||
|
conventional-changelog "^1.1.0"
|
||||||
|
lodash "^4.1.0"
|
||||||
|
meow "^3.7.0"
|
||||||
|
tempfile "^1.1.1"
|
||||||
|
|
||||||
|
conventional-changelog-codemirror@^0.1.0:
|
||||||
|
version "0.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.1.0.tgz#7577a591dbf9b538e7a150a7ee62f65a2872b334"
|
||||||
|
dependencies:
|
||||||
|
q "^1.4.1"
|
||||||
|
|
||||||
|
conventional-changelog-core@^1.3.0:
|
||||||
|
version "1.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-1.5.0.tgz#72b17509535a23d7c6cb70ad4384f74247748013"
|
||||||
|
dependencies:
|
||||||
|
conventional-changelog-writer "^1.1.0"
|
||||||
|
conventional-commits-parser "^1.0.0"
|
||||||
|
dateformat "^1.0.12"
|
||||||
|
get-pkg-repo "^1.0.0"
|
||||||
|
git-raw-commits "^1.1.0"
|
||||||
|
git-remote-origin-url "^2.0.0"
|
||||||
|
git-semver-tags "^1.1.0"
|
||||||
|
lodash "^4.0.0"
|
||||||
|
normalize-package-data "^2.3.5"
|
||||||
|
q "^1.4.1"
|
||||||
|
read-pkg "^1.1.0"
|
||||||
|
read-pkg-up "^1.0.1"
|
||||||
|
through2 "^2.0.0"
|
||||||
|
|
||||||
|
conventional-changelog-ember@^0.2.0:
|
||||||
|
version "0.2.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.2.2.tgz#bad70a891386bc3046484a8f4f1e5aa2dc0ad208"
|
||||||
|
dependencies:
|
||||||
|
q "^1.4.1"
|
||||||
|
|
||||||
|
conventional-changelog-eslint@^0.1.0:
|
||||||
|
version "0.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-0.1.0.tgz#a52411e999e0501ce500b856b0a643d0330907e2"
|
||||||
|
dependencies:
|
||||||
|
q "^1.4.1"
|
||||||
|
|
||||||
|
conventional-changelog-express@^0.1.0:
|
||||||
|
version "0.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.1.0.tgz#55c6c841c811962036c037bdbd964a54ae310fce"
|
||||||
|
dependencies:
|
||||||
|
q "^1.4.1"
|
||||||
|
|
||||||
|
conventional-changelog-jquery@^0.1.0:
|
||||||
|
version "0.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510"
|
||||||
|
dependencies:
|
||||||
|
q "^1.4.1"
|
||||||
|
|
||||||
|
conventional-changelog-jscs@^0.1.0:
|
||||||
|
version "0.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c"
|
||||||
|
dependencies:
|
||||||
|
q "^1.4.1"
|
||||||
|
|
||||||
|
conventional-changelog-jshint@^0.1.0:
|
||||||
|
version "0.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.1.0.tgz#00cab8e9a3317487abd94c4d84671342918d2a07"
|
||||||
|
dependencies:
|
||||||
|
compare-func "^1.3.1"
|
||||||
|
q "^1.4.1"
|
||||||
|
|
||||||
|
conventional-changelog-writer@^1.1.0:
|
||||||
|
version "1.4.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-1.4.1.tgz#3f4cb4d003ebb56989d30d345893b52a43639c8e"
|
||||||
|
dependencies:
|
||||||
|
compare-func "^1.3.1"
|
||||||
|
conventional-commits-filter "^1.0.0"
|
||||||
|
dateformat "^1.0.11"
|
||||||
|
handlebars "^4.0.2"
|
||||||
|
json-stringify-safe "^5.0.1"
|
||||||
|
lodash "^4.0.0"
|
||||||
|
meow "^3.3.0"
|
||||||
|
semver "^5.0.1"
|
||||||
|
split "^1.0.0"
|
||||||
|
through2 "^2.0.0"
|
||||||
|
|
||||||
|
conventional-changelog@^1.1.0:
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.0.tgz#8ae3fb59feb74bbee0a25833ee1f83dad4a07874"
|
||||||
|
dependencies:
|
||||||
|
conventional-changelog-angular "^1.0.0"
|
||||||
|
conventional-changelog-atom "^0.1.0"
|
||||||
|
conventional-changelog-codemirror "^0.1.0"
|
||||||
|
conventional-changelog-core "^1.3.0"
|
||||||
|
conventional-changelog-ember "^0.2.0"
|
||||||
|
conventional-changelog-eslint "^0.1.0"
|
||||||
|
conventional-changelog-express "^0.1.0"
|
||||||
|
conventional-changelog-jquery "^0.1.0"
|
||||||
|
conventional-changelog-jscs "^0.1.0"
|
||||||
|
conventional-changelog-jshint "^0.1.0"
|
||||||
|
|
||||||
|
conventional-commits-filter@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz#6fc2a659372bc3f2339cf9ffff7e1b0344b93039"
|
||||||
|
dependencies:
|
||||||
|
is-subset "^0.1.1"
|
||||||
|
modify-values "^1.0.0"
|
||||||
|
|
||||||
|
conventional-commits-parser@^1.0.0:
|
||||||
|
version "1.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-1.3.0.tgz#e327b53194e1a7ad5dc63479ee9099a52b024865"
|
||||||
|
dependencies:
|
||||||
|
JSONStream "^1.0.4"
|
||||||
|
is-text-path "^1.0.0"
|
||||||
|
lodash "^4.2.1"
|
||||||
|
meow "^3.3.0"
|
||||||
|
split2 "^2.0.0"
|
||||||
|
through2 "^2.0.0"
|
||||||
|
trim-off-newlines "^1.0.0"
|
||||||
|
|
||||||
convert-source-map@^1.3.0:
|
convert-source-map@^1.3.0:
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67"
|
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67"
|
||||||
|
@ -1198,6 +1348,12 @@ custom-event@~1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
|
resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
|
||||||
|
|
||||||
|
dargs@^4.0.1:
|
||||||
|
version "4.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17"
|
||||||
|
dependencies:
|
||||||
|
number-is-nan "^1.0.0"
|
||||||
|
|
||||||
dashdash@^1.12.0:
|
dashdash@^1.12.0:
|
||||||
version "1.14.1"
|
version "1.14.1"
|
||||||
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
|
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
|
||||||
|
@ -1208,7 +1364,7 @@ date-now@^0.1.4:
|
||||||
version "0.1.4"
|
version "0.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
|
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
|
||||||
|
|
||||||
dateformat@^1.0.11, dateformat@^1.0.6:
|
dateformat@^1.0.11, dateformat@^1.0.12, dateformat@^1.0.6:
|
||||||
version "1.0.12"
|
version "1.0.12"
|
||||||
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9"
|
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -1219,9 +1375,9 @@ debug@0.7.4:
|
||||||
version "0.7.4"
|
version "0.7.4"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39"
|
||||||
|
|
||||||
debug@2, debug@^2.2.0:
|
debug@2, debug@2.6.1:
|
||||||
version "2.6.0"
|
version "2.6.1"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351"
|
||||||
dependencies:
|
dependencies:
|
||||||
ms "0.7.2"
|
ms "0.7.2"
|
||||||
|
|
||||||
|
@ -1237,9 +1393,9 @@ debug@2.3.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
ms "0.7.2"
|
ms "0.7.2"
|
||||||
|
|
||||||
debug@2.6.1:
|
debug@^2.2.0:
|
||||||
version "2.6.1"
|
version "2.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b"
|
||||||
dependencies:
|
dependencies:
|
||||||
ms "0.7.2"
|
ms "0.7.2"
|
||||||
|
|
||||||
|
@ -1440,16 +1596,7 @@ engine.io@1.8.3:
|
||||||
engine.io-parser "1.3.2"
|
engine.io-parser "1.3.2"
|
||||||
ws "1.1.2"
|
ws "1.1.2"
|
||||||
|
|
||||||
enhanced-resolve@^3.0.0:
|
enhanced-resolve@^3.0.0, enhanced-resolve@^3.1.0:
|
||||||
version "3.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.0.3.tgz#df14c06b5fc5eecade1094c9c5a12b4b3edc0b62"
|
|
||||||
dependencies:
|
|
||||||
graceful-fs "^4.1.2"
|
|
||||||
memory-fs "^0.4.0"
|
|
||||||
object-assign "^4.0.1"
|
|
||||||
tapable "^0.2.5"
|
|
||||||
|
|
||||||
enhanced-resolve@^3.1.0:
|
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec"
|
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -1838,6 +1985,16 @@ get-caller-file@^1.0.1:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
|
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
|
||||||
|
|
||||||
|
get-pkg-repo@^1.0.0:
|
||||||
|
version "1.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.3.0.tgz#43c6b4c048b75dd604fc5388edecde557f6335df"
|
||||||
|
dependencies:
|
||||||
|
hosted-git-info "^2.1.4"
|
||||||
|
meow "^3.3.0"
|
||||||
|
normalize-package-data "^2.3.0"
|
||||||
|
parse-github-repo-url "^1.3.0"
|
||||||
|
through2 "^2.0.0"
|
||||||
|
|
||||||
get-stdin@^4.0.1:
|
get-stdin@^4.0.1:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
|
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
|
||||||
|
@ -1848,6 +2005,30 @@ getpass@^0.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
assert-plus "^1.0.0"
|
assert-plus "^1.0.0"
|
||||||
|
|
||||||
|
git-raw-commits@^1.1.0:
|
||||||
|
version "1.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.1.2.tgz#a12d8492aeba2881802d700825ed81c9f39e6f2f"
|
||||||
|
dependencies:
|
||||||
|
dargs "^4.0.1"
|
||||||
|
lodash.template "^4.0.2"
|
||||||
|
meow "^3.3.0"
|
||||||
|
split2 "^2.0.0"
|
||||||
|
through2 "^2.0.0"
|
||||||
|
|
||||||
|
git-remote-origin-url@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f"
|
||||||
|
dependencies:
|
||||||
|
gitconfiglocal "^1.0.0"
|
||||||
|
pify "^2.3.0"
|
||||||
|
|
||||||
|
git-semver-tags@^1.1.0:
|
||||||
|
version "1.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.1.2.tgz#aecf9b1b2447a6b548d48647f53edba0acad879f"
|
||||||
|
dependencies:
|
||||||
|
meow "^3.3.0"
|
||||||
|
semver "^5.0.1"
|
||||||
|
|
||||||
git-up@^2.0.0:
|
git-up@^2.0.0:
|
||||||
version "2.0.6"
|
version "2.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/git-up/-/git-up-2.0.6.tgz#38d6dddc5db720de83ef09ef3865e748f5887e12"
|
resolved "https://registry.yarnpkg.com/git-up/-/git-up-2.0.6.tgz#38d6dddc5db720de83ef09ef3865e748f5887e12"
|
||||||
|
@ -1861,6 +2042,16 @@ git-url-parse@^6.0.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
git-up "^2.0.0"
|
git-up "^2.0.0"
|
||||||
|
|
||||||
|
gitconfiglocal@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b"
|
||||||
|
dependencies:
|
||||||
|
ini "^1.3.2"
|
||||||
|
|
||||||
|
github-url-from-git@^1.4.0:
|
||||||
|
version "1.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.5.0.tgz#f985fedcc0a9aa579dc88d7aff068d55cc6251a0"
|
||||||
|
|
||||||
glob-base@^0.3.0:
|
glob-base@^0.3.0:
|
||||||
version "0.3.0"
|
version "0.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
|
resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
|
||||||
|
@ -1991,7 +2182,7 @@ handle-thing@^1.2.4:
|
||||||
version "1.2.5"
|
version "1.2.5"
|
||||||
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4"
|
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4"
|
||||||
|
|
||||||
handlebars@^4.0.1:
|
handlebars@^4.0.1, handlebars@^4.0.2:
|
||||||
version "4.0.6"
|
version "4.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7"
|
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -2211,7 +2402,7 @@ inherits@2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
|
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
|
||||||
|
|
||||||
ini@^1.3.4, ini@~1.3.0:
|
ini@^1.3.2, ini@^1.3.4, ini@~1.3.0:
|
||||||
version "1.3.4"
|
version "1.3.4"
|
||||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
|
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
|
||||||
|
|
||||||
|
@ -2386,12 +2577,22 @@ is-stream@^1.0.0, is-stream@^1.0.1:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
|
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
|
||||||
|
|
||||||
|
is-subset@^0.1.1:
|
||||||
|
version "0.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
|
||||||
|
|
||||||
is-svg@^2.0.0:
|
is-svg@^2.0.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
|
resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
|
||||||
dependencies:
|
dependencies:
|
||||||
html-comment-regex "^1.1.0"
|
html-comment-regex "^1.1.0"
|
||||||
|
|
||||||
|
is-text-path@^1.0.0:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e"
|
||||||
|
dependencies:
|
||||||
|
text-extensions "^1.0.0"
|
||||||
|
|
||||||
is-typedarray@~1.0.0:
|
is-typedarray@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
|
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
|
||||||
|
@ -2567,7 +2768,7 @@ json-stable-stringify@^1.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
jsonify "~0.0.0"
|
jsonify "~0.0.0"
|
||||||
|
|
||||||
json-stringify-safe@~5.0.1:
|
json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
|
||||||
version "5.0.1"
|
version "5.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
|
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
|
||||||
|
|
||||||
|
@ -2589,6 +2790,10 @@ jsonify@~0.0.0:
|
||||||
version "0.0.0"
|
version "0.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
|
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
|
||||||
|
|
||||||
|
jsonparse@^1.2.0:
|
||||||
|
version "1.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.0.tgz#85fc245b1d9259acc6941960b905adf64e7de0e8"
|
||||||
|
|
||||||
jsonpointer@^4.0.0:
|
jsonpointer@^4.0.0:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
|
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
|
||||||
|
@ -2824,7 +3029,7 @@ lodash._reevaluate@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed"
|
resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed"
|
||||||
|
|
||||||
lodash._reinterpolate@^3.0.0:
|
lodash._reinterpolate@^3.0.0, lodash._reinterpolate@~3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
|
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
|
||||||
|
|
||||||
|
@ -2904,6 +3109,13 @@ lodash.template@^3.0.0:
|
||||||
lodash.restparam "^3.0.0"
|
lodash.restparam "^3.0.0"
|
||||||
lodash.templatesettings "^3.0.0"
|
lodash.templatesettings "^3.0.0"
|
||||||
|
|
||||||
|
lodash.template@^4.0.2:
|
||||||
|
version "4.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0"
|
||||||
|
dependencies:
|
||||||
|
lodash._reinterpolate "~3.0.0"
|
||||||
|
lodash.templatesettings "^4.0.0"
|
||||||
|
|
||||||
lodash.templatesettings@^3.0.0:
|
lodash.templatesettings@^3.0.0:
|
||||||
version "3.1.1"
|
version "3.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5"
|
resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5"
|
||||||
|
@ -2911,6 +3123,12 @@ lodash.templatesettings@^3.0.0:
|
||||||
lodash._reinterpolate "^3.0.0"
|
lodash._reinterpolate "^3.0.0"
|
||||||
lodash.escape "^3.0.0"
|
lodash.escape "^3.0.0"
|
||||||
|
|
||||||
|
lodash.templatesettings@^4.0.0:
|
||||||
|
version "4.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316"
|
||||||
|
dependencies:
|
||||||
|
lodash._reinterpolate "~3.0.0"
|
||||||
|
|
||||||
lodash.uniq@^4.3.0:
|
lodash.uniq@^4.3.0:
|
||||||
version "4.5.0"
|
version "4.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
||||||
|
@ -2919,7 +3137,7 @@ lodash@^3.8.0:
|
||||||
version "3.10.1"
|
version "3.10.1"
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
|
||||||
|
|
||||||
lodash@^4.0.0, lodash@^4.0.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.5.0:
|
lodash@^4.0.0, lodash@^4.0.1, lodash@^4.1.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.5.0:
|
||||||
version "4.17.4"
|
version "4.17.4"
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
|
||||||
|
|
||||||
|
@ -3081,7 +3299,7 @@ minimalistic-assert@^1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion "^1.0.0"
|
brace-expansion "^1.0.0"
|
||||||
|
|
||||||
minimist@0.0.8:
|
minimist@0.0.8, minimist@~0.0.1:
|
||||||
version "0.0.8"
|
version "0.0.8"
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
||||||
|
|
||||||
|
@ -3089,10 +3307,6 @@ minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
||||||
|
|
||||||
minimist@~0.0.1:
|
|
||||||
version "0.0.10"
|
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
|
|
||||||
|
|
||||||
mixin-object@^2.0.1:
|
mixin-object@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e"
|
resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e"
|
||||||
|
@ -3112,6 +3326,10 @@ mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkd
|
||||||
dependencies:
|
dependencies:
|
||||||
minimist "0.0.8"
|
minimist "0.0.8"
|
||||||
|
|
||||||
|
modify-values@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2"
|
||||||
|
|
||||||
ms@0.7.1:
|
ms@0.7.1:
|
||||||
version "0.7.1"
|
version "0.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
|
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
|
||||||
|
@ -3235,7 +3453,7 @@ node-status-codes@^1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
abbrev "1"
|
abbrev "1"
|
||||||
|
|
||||||
normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
|
normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5:
|
||||||
version "2.3.5"
|
version "2.3.5"
|
||||||
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df"
|
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -3430,6 +3648,10 @@ parse-asn1@^5.0.0:
|
||||||
evp_bytestokey "^1.0.0"
|
evp_bytestokey "^1.0.0"
|
||||||
pbkdf2 "^3.0.3"
|
pbkdf2 "^3.0.3"
|
||||||
|
|
||||||
|
parse-github-repo-url@^1.3.0:
|
||||||
|
version "1.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.0.tgz#286c53e2c9962e0641649ee3ac9508fca4dd959c"
|
||||||
|
|
||||||
parse-glob@^3.0.4:
|
parse-glob@^3.0.4:
|
||||||
version "3.0.4"
|
version "3.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
|
resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
|
||||||
|
@ -3979,7 +4201,7 @@ read-pkg-up@^1.0.1:
|
||||||
find-up "^1.0.0"
|
find-up "^1.0.0"
|
||||||
read-pkg "^1.0.0"
|
read-pkg "^1.0.0"
|
||||||
|
|
||||||
read-pkg@^1.0.0:
|
read-pkg@^1.0.0, read-pkg@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
|
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -3987,7 +4209,7 @@ read-pkg@^1.0.0:
|
||||||
normalize-package-data "^2.3.2"
|
normalize-package-data "^2.3.2"
|
||||||
path-type "^1.0.0"
|
path-type "^1.0.0"
|
||||||
|
|
||||||
readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.0:
|
readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.0, readable-stream@^2.1.5:
|
||||||
version "2.2.2"
|
version "2.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e"
|
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -4221,15 +4443,15 @@ right-align@^0.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
align-text "^0.1.1"
|
align-text "^0.1.1"
|
||||||
|
|
||||||
rimraf@2, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@~2.5.1, rimraf@~2.5.4:
|
rimraf@2, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.0:
|
||||||
version "2.5.4"
|
version "2.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
|
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.0.tgz#89b8a0fe432b9ff9ec9a925a00b6cdb3a91bbada"
|
||||||
dependencies:
|
dependencies:
|
||||||
glob "^7.0.5"
|
glob "^7.0.5"
|
||||||
|
|
||||||
rimraf@^2.2.8, rimraf@^2.6.0:
|
rimraf@~2.5.1, rimraf@~2.5.4:
|
||||||
version "2.6.0"
|
version "2.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.0.tgz#89b8a0fe432b9ff9ec9a925a00b6cdb3a91bbada"
|
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
|
||||||
dependencies:
|
dependencies:
|
||||||
glob "^7.0.5"
|
glob "^7.0.5"
|
||||||
|
|
||||||
|
@ -4326,7 +4548,7 @@ semver-dsl@^1.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
semver "^5.3.0"
|
semver "^5.3.0"
|
||||||
|
|
||||||
"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0:
|
"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0:
|
||||||
version "5.3.0"
|
version "5.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
|
||||||
|
|
||||||
|
@ -4627,6 +4849,18 @@ spdy@^3.4.1:
|
||||||
select-hose "^2.0.0"
|
select-hose "^2.0.0"
|
||||||
spdy-transport "^2.0.15"
|
spdy-transport "^2.0.15"
|
||||||
|
|
||||||
|
split2@^2.0.0:
|
||||||
|
version "2.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/split2/-/split2-2.1.1.tgz#7a1f551e176a90ecd3345f7246a0cfe175ef4fd0"
|
||||||
|
dependencies:
|
||||||
|
through2 "^2.0.2"
|
||||||
|
|
||||||
|
split@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae"
|
||||||
|
dependencies:
|
||||||
|
through "2"
|
||||||
|
|
||||||
sprintf-js@^1.0.3, sprintf-js@~1.0.2:
|
sprintf-js@^1.0.3, sprintf-js@~1.0.2:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||||
|
@ -4797,6 +5031,17 @@ tar@^2.0.0, tar@~2.2.1:
|
||||||
fstream "^1.0.2"
|
fstream "^1.0.2"
|
||||||
inherits "2"
|
inherits "2"
|
||||||
|
|
||||||
|
tempfile@^1.1.1:
|
||||||
|
version "1.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2"
|
||||||
|
dependencies:
|
||||||
|
os-tmpdir "^1.0.0"
|
||||||
|
uuid "^2.0.1"
|
||||||
|
|
||||||
|
text-extensions@^1.0.0:
|
||||||
|
version "1.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.4.0.tgz#c385d2e80879fe6ef97893e1709d88d9453726e9"
|
||||||
|
|
||||||
throttleit@^1.0.0:
|
throttleit@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c"
|
resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c"
|
||||||
|
@ -4808,7 +5053,14 @@ through2@2.0.1, through2@^2.0.0:
|
||||||
readable-stream "~2.0.0"
|
readable-stream "~2.0.0"
|
||||||
xtend "~4.0.0"
|
xtend "~4.0.0"
|
||||||
|
|
||||||
through@X.X.X:
|
through2@^2.0.2:
|
||||||
|
version "2.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
|
||||||
|
dependencies:
|
||||||
|
readable-stream "^2.1.5"
|
||||||
|
xtend "~4.0.1"
|
||||||
|
|
||||||
|
through@2, "through@>=2.2.7 <3", through@X.X.X:
|
||||||
version "2.3.8"
|
version "2.3.8"
|
||||||
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
|
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
|
||||||
|
|
||||||
|
@ -4868,6 +5120,10 @@ trim-newlines@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
|
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
|
||||||
|
|
||||||
|
trim-off-newlines@^1.0.0:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3"
|
||||||
|
|
||||||
ts-helpers@^1.1.1:
|
ts-helpers@^1.1.1:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/ts-helpers/-/ts-helpers-1.1.2.tgz#fc69be9f1f3baed01fb1a0ef8d4cfe748814d835"
|
resolved "https://registry.yarnpkg.com/ts-helpers/-/ts-helpers-1.1.2.tgz#fc69be9f1f3baed01fb1a0ef8d4cfe748814d835"
|
||||||
|
@ -5321,20 +5577,13 @@ write-file-atomic@^1.1.2:
|
||||||
imurmurhash "^0.1.4"
|
imurmurhash "^0.1.4"
|
||||||
slide "^1.1.5"
|
slide "^1.1.5"
|
||||||
|
|
||||||
ws@1.1.2:
|
ws@1.1.2, ws@^1.0.1:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f"
|
resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f"
|
||||||
dependencies:
|
dependencies:
|
||||||
options ">=0.0.5"
|
options ">=0.0.5"
|
||||||
ultron "1.0.x"
|
ultron "1.0.x"
|
||||||
|
|
||||||
ws@^1.0.1:
|
|
||||||
version "1.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018"
|
|
||||||
dependencies:
|
|
||||||
options ">=0.0.5"
|
|
||||||
ultron "1.0.x"
|
|
||||||
|
|
||||||
wtf-8@1.0.0:
|
wtf-8@1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
|
resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
|
||||||
|
@ -5369,7 +5618,7 @@ xmlhttprequest-ssl@1.5.3:
|
||||||
version "1.5.3"
|
version "1.5.3"
|
||||||
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
|
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
|
||||||
|
|
||||||
xtend@^4.0.0, xtend@~4.0.0:
|
xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
|
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user