mirror of
https://github.com/datahub-project/datahub.git
synced 2025-10-27 08:54:32 +00:00
Merge pull request #887 from theseyi/purge-policy-read
purge policy readonly view
This commit is contained in:
commit
b84a55a2c9
@ -11,10 +11,6 @@ import {
|
||||
import noop from 'wherehows-web/utils/noop';
|
||||
|
||||
export default Component.extend({
|
||||
tagName: 'ul',
|
||||
|
||||
classNames: ['purge-policy-list'],
|
||||
|
||||
exemptPolicy,
|
||||
|
||||
purgePolicyProps,
|
||||
|
||||
@ -98,18 +98,20 @@
|
||||
{{partial "datasets/dataset-compliance/dataset-classification"}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (or isReadOnly (eq editStepIndex 0))}}
|
||||
{{partial "datasets/dataset-compliance/dataset-compliance-entities"}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq editStepIndex 1)}}
|
||||
{{#if (or isReadOnly (eq editStepIndex 1))}}
|
||||
{{purge-policy
|
||||
isEditable=(not isReadOnly)
|
||||
platform=platform
|
||||
purgeNote=complianceInfo.compliancePurgeNote
|
||||
purgePolicy=(readonly complianceInfo.complianceType)
|
||||
onPolicyChange=(action "onDatasetPurgePolicyChange")
|
||||
}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (or isReadOnly (eq editStepIndex 0))}}
|
||||
{{partial "datasets/dataset-compliance/dataset-compliance-entities"}}
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
|
||||
{{yield}}
|
||||
|
||||
@ -1,6 +1,18 @@
|
||||
{{#each-in purgePolicyProps as |purgeType prop|}}
|
||||
<section class="metadata-prompt">
|
||||
<header class="metadata-prompt__header">
|
||||
<p>
|
||||
Compliance Purge Policy
|
||||
</p>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<ul class="purge-policy-list">
|
||||
{{#if isEditable}}
|
||||
|
||||
{{#each-in purgePolicyProps as |purgeType prop|}}
|
||||
<li
|
||||
class="purge-policy-list__item {{unless (contains (uppercase platform) prop.platforms) 'purge-policy-list__item--disabled'}}">
|
||||
class="purge-policy-list__item {{unless (contains (uppercase platform) prop.platforms)
|
||||
'purge-policy-list__item--disabled'}}">
|
||||
|
||||
{{#radio-button-composer
|
||||
name="dataset-purge-policy"
|
||||
@ -14,7 +26,8 @@
|
||||
|
||||
{{#unless (contains (uppercase platform) prop.platforms)}}
|
||||
<p class="purge-policy-list__availability">
|
||||
Purge policy not available for <span class="purge-policy-list__platform--unavailable">{{lowercase platform}}</span>
|
||||
Purge policy not available for <span class="purge-policy-list__platform--unavailable">
|
||||
{{lowercase platform}}</span>
|
||||
</p>
|
||||
{{/unless}}
|
||||
|
||||
@ -29,4 +42,21 @@
|
||||
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each-in}}
|
||||
{{/each-in}}
|
||||
|
||||
{{else}}
|
||||
|
||||
{{#if purgeType}}
|
||||
<li class="purge-policy-list__item">
|
||||
<strong>
|
||||
{{get (get purgePolicyProps purgeType) "displayAs"}}
|
||||
</strong>
|
||||
</li>
|
||||
{{else}}
|
||||
|
||||
<p>This dataset does not have a current compliance purge policy.</p>
|
||||
<sub>To update, click edit and follow the steps</sub>
|
||||
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
|
||||
@ -28,7 +28,7 @@ const baseFetchHeaders = (headers: FetchConfig['headers']) => ({
|
||||
* @param {object} fetchConfig
|
||||
* @returns {Promise<T>}
|
||||
*/
|
||||
const json = <T>(url: string, fetchConfig: object): Promise<T> =>
|
||||
const json = <T>(url: string = '', fetchConfig: object = {}): Promise<T> =>
|
||||
fetch(url, fetchConfig).then<T>(response => response.json());
|
||||
|
||||
/**
|
||||
@ -50,7 +50,9 @@ const getJSON = <T>(config: FetchConfig): Promise<T> => {
|
||||
* @returns {Promise<T>}
|
||||
*/
|
||||
const postJSON = <T>(config: FetchConfig): Promise<T> => {
|
||||
const requestBody = config.data ? { body: JSON.stringify(config.data) } : {};
|
||||
const fetchConfig = Object.assign(
|
||||
requestBody,
|
||||
config.data && { body: JSON.stringify(config.data) },
|
||||
baseFetchHeaders(config.headers),
|
||||
{ method: 'POST' }
|
||||
@ -66,11 +68,8 @@ const postJSON = <T>(config: FetchConfig): Promise<T> => {
|
||||
* @return {Promise<T>}
|
||||
*/
|
||||
const deleteJSON = <T>(config: FetchConfig): Promise<T> => {
|
||||
const fetchConfig = Object.assign(
|
||||
config.data && { body: JSON.stringify(config.data) },
|
||||
baseFetchHeaders(config.headers),
|
||||
{ method: 'DELETE' }
|
||||
);
|
||||
const requestBody = config.data ? { body: JSON.stringify(config.data) } : {};
|
||||
const fetchConfig = Object.assign(requestBody, baseFetchHeaders(config.headers), { method: 'DELETE' });
|
||||
|
||||
return json<T>(config.url, fetchConfig);
|
||||
};
|
||||
@ -82,11 +81,9 @@ const deleteJSON = <T>(config: FetchConfig): Promise<T> => {
|
||||
* @return {Promise<T>}
|
||||
*/
|
||||
const putJSON = <T>(config: FetchConfig): Promise<T> => {
|
||||
const fetchConfig = Object.assign(
|
||||
config.data && { body: JSON.stringify(config.data) },
|
||||
baseFetchHeaders(config.headers),
|
||||
{ method: 'PUT' }
|
||||
);
|
||||
const requestBody = config.data ? { body: JSON.stringify(config.data) } : {};
|
||||
|
||||
const fetchConfig = Object.assign(requestBody, baseFetchHeaders(config.headers), { method: 'PUT' });
|
||||
|
||||
return json<T>(config.url, fetchConfig);
|
||||
};
|
||||
@ -111,17 +108,19 @@ const getHeaders = async (config: FetchConfig): Promise<Headers> => {
|
||||
};
|
||||
|
||||
/**
|
||||
* Wraps a request Promise, passthrough response if successful, otherwise handle the error and rethrow if not api error
|
||||
* Wraps a request Promise, pass-through response if successful, otherwise handle the error and rethrow if not api error
|
||||
* @template T
|
||||
* @param {Promise<T>} fetcher the api request to wrap
|
||||
* @param {K} defaultValue
|
||||
* @return {Promise<K | T>}
|
||||
* @param {T} defaultValue
|
||||
* @returns {Promise<T|null>}
|
||||
*/
|
||||
const fetchAndHandleIfApiError = async <T, K>(fetcher: Promise<T>, defaultValue: K): Promise<T | K | null> => {
|
||||
let result: T | K | null = typeof defaultValue === 'undefined' ? null : defaultValue;
|
||||
const fetchAndHandleIfApiError = async <T>(fetcher: Promise<T>, defaultValue: T): Promise<T | null> => {
|
||||
let result = typeof defaultValue === 'undefined' ? null : defaultValue;
|
||||
try {
|
||||
result = await fetcher;
|
||||
} catch (e) {
|
||||
//handle error
|
||||
// TODO: if error is an api error, display notification and allow default return
|
||||
// otherwise throw
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
@ -67,6 +67,8 @@
|
||||
"ember-redux-shim": "^1.1.1",
|
||||
"ember-redux-thunk-shim": "^1.1.2",
|
||||
"ember-resolver": "^4.5.0",
|
||||
"ember-sinon": "^1.0.1",
|
||||
"ember-sinon-qunit": "^2.1.0",
|
||||
"ember-source": "~2.16.0",
|
||||
"ember-symbol-observable": "^0.1.2",
|
||||
"eslint": "^4.9.0",
|
||||
|
||||
@ -1,8 +1,32 @@
|
||||
import { getJSON } from 'wherehows-web/utils/api/fetcher';
|
||||
import {
|
||||
getJSON,
|
||||
postJSON,
|
||||
deleteJSON,
|
||||
putJSON,
|
||||
getHeaders,
|
||||
fetchAndHandleIfApiError
|
||||
} from 'wherehows-web/utils/api/fetcher';
|
||||
import { module, test } from 'qunit';
|
||||
import sinon from 'sinon';
|
||||
|
||||
module('Unit | Utility | api/fetcher');
|
||||
module('Unit | Utility | api/fetcher', {
|
||||
beforeEach() {
|
||||
this.xhr = sinon.useFakeXMLHttpRequest();
|
||||
},
|
||||
|
||||
test('it has a function getJSON', function(assert) {
|
||||
assert.ok(typeof getJSON === 'function');
|
||||
afterEach() {
|
||||
this.xhr.restore();
|
||||
}
|
||||
});
|
||||
|
||||
test('each http request function exists', function(assert) {
|
||||
[getJSON, postJSON, deleteJSON, putJSON, getHeaders, fetchAndHandleIfApiError].forEach(httpRequest =>
|
||||
assert.ok(typeof httpRequest === 'function', `${httpRequest} is a function`)
|
||||
);
|
||||
});
|
||||
|
||||
test('each http request function returns a Promise / thennable', function(assert) {
|
||||
[getJSON, postJSON, deleteJSON, putJSON, getHeaders].forEach(httpRequest =>
|
||||
assert.ok(typeof httpRequest({}).then === 'function', `${httpRequest} returns a Promise object or thennable`)
|
||||
);
|
||||
});
|
||||
|
||||
@ -459,6 +459,10 @@ async@~0.2.9:
|
||||
version "0.2.10"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
|
||||
|
||||
async@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9"
|
||||
|
||||
asynckit@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
||||
@ -1788,6 +1792,21 @@ bser@^2.0.0:
|
||||
dependencies:
|
||||
node-int64 "^0.4.0"
|
||||
|
||||
build@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/build/-/build-0.1.4.tgz#707fe026ffceddcacbfdcdf356eafda64f151046"
|
||||
dependencies:
|
||||
cssmin "0.3.x"
|
||||
jsmin "1.x"
|
||||
jxLoader "*"
|
||||
moo-server "*"
|
||||
promised-io "*"
|
||||
timespan "2.x"
|
||||
uglify-js "1.x"
|
||||
walker "1.x"
|
||||
winston "*"
|
||||
wrench "1.3.x"
|
||||
|
||||
builtin-modules@^1.0.0, builtin-modules@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
|
||||
@ -2067,7 +2086,7 @@ color-name@^1.1.1:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
|
||||
|
||||
colors@1.0.3:
|
||||
colors@1.0.3, colors@1.0.x:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
|
||||
|
||||
@ -2295,12 +2314,20 @@ cson-parser@^1.1.0:
|
||||
dependencies:
|
||||
coffee-script "^1.10.0"
|
||||
|
||||
cssmin@0.3.x:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/cssmin/-/cssmin-0.3.2.tgz#ddce4c547b510ae0d594a8f1fbf8aaf8e2c5c00d"
|
||||
|
||||
currently-unhandled@^0.4.1:
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
|
||||
dependencies:
|
||||
array-find-index "^1.0.1"
|
||||
|
||||
cycle@1.0.x:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2"
|
||||
|
||||
dag-map@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/dag-map/-/dag-map-2.0.2.tgz#9714b472de82a1843de2fba9b6876938cab44c68"
|
||||
@ -2432,7 +2459,7 @@ detective@^4.3.1:
|
||||
acorn "^4.0.3"
|
||||
defined "^1.0.0"
|
||||
|
||||
diff@^3.2.0:
|
||||
diff@^3.1.0, diff@^3.2.0:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c"
|
||||
|
||||
@ -2548,6 +2575,24 @@ ember-cli-babel@^6.0.0, ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.0.0-be
|
||||
clone "^2.0.0"
|
||||
ember-cli-version-checker "^2.0.0"
|
||||
|
||||
ember-cli-babel@^6.7.2:
|
||||
version "6.10.0"
|
||||
resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-6.10.0.tgz#81424acd1d97fb13658168121eeb2007d6edee84"
|
||||
dependencies:
|
||||
amd-name-resolver "0.0.7"
|
||||
babel-plugin-debug-macros "^0.1.11"
|
||||
babel-plugin-ember-modules-api-polyfill "^2.0.1"
|
||||
babel-plugin-transform-es2015-modules-amd "^6.24.0"
|
||||
babel-polyfill "^6.16.0"
|
||||
babel-preset-env "^1.5.1"
|
||||
broccoli-babel-transpiler "^6.1.2"
|
||||
broccoli-debug "^0.6.2"
|
||||
broccoli-funnel "^1.0.0"
|
||||
broccoli-source "^1.1.0"
|
||||
clone "^2.0.0"
|
||||
ember-cli-version-checker "^2.1.0"
|
||||
semver "^5.4.1"
|
||||
|
||||
ember-cli-bootstrap-sassy@^0.5.6:
|
||||
version "0.5.6"
|
||||
resolved "https://registry.yarnpkg.com/ember-cli-bootstrap-sassy/-/ember-cli-bootstrap-sassy-0.5.6.tgz#d4a557c91acdcac3241f53d7fd14005a714d1217"
|
||||
@ -2568,8 +2613,8 @@ ember-cli-broccoli-sane-watcher@^2.0.4:
|
||||
sane "^1.1.1"
|
||||
|
||||
ember-cli-code-coverage@theseyi/ember-cli-code-coverage:
|
||||
version "0.4.2"
|
||||
resolved "https://codeload.github.com/theseyi/ember-cli-code-coverage/tar.gz/75acde3febdbf7da87153d98e12343b54115b3f4"
|
||||
version "0.5.0"
|
||||
resolved "https://codeload.github.com/theseyi/ember-cli-code-coverage/tar.gz/368fc520ff1f00d2390cc9818bd4225772e7d834"
|
||||
dependencies:
|
||||
babel-core "^6.24.1"
|
||||
babel-plugin-transform-async-to-generator "^6.24.1"
|
||||
@ -2891,7 +2936,7 @@ ember-cli-version-checker@^1.0.2, ember-cli-version-checker@^1.1.6, ember-cli-ve
|
||||
dependencies:
|
||||
semver "^5.3.0"
|
||||
|
||||
ember-cli-version-checker@^2.0.0:
|
||||
ember-cli-version-checker@^2.0.0, ember-cli-version-checker@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-2.1.0.tgz#fc79a56032f3717cf844ada7cbdec1a06fedb604"
|
||||
dependencies:
|
||||
@ -3312,6 +3357,22 @@ ember-simple-auth@^1.4.0:
|
||||
ember-getowner-polyfill "^1.1.0"
|
||||
silent-error "^1.0.0"
|
||||
|
||||
ember-sinon-qunit@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/ember-sinon-qunit/-/ember-sinon-qunit-2.1.0.tgz#85fd64e73db40148816a46a64f9f78b170b72cb2"
|
||||
dependencies:
|
||||
ember-cli-babel "^6.7.2"
|
||||
ember-sinon "~1.0.0"
|
||||
|
||||
ember-sinon@^1.0.1, ember-sinon@~1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ember-sinon/-/ember-sinon-1.0.1.tgz#056390eacc9367b4c3955ce1cb5a04246f8197f5"
|
||||
dependencies:
|
||||
broccoli-funnel "^2.0.0"
|
||||
broccoli-merge-trees "^2.0.0"
|
||||
ember-cli-babel "^6.3.0"
|
||||
sinon "^3.2.1"
|
||||
|
||||
ember-source@~2.16.0:
|
||||
version "2.16.0"
|
||||
resolved "https://registry.yarnpkg.com/ember-source/-/ember-source-2.16.0.tgz#2becd7966278fe453046b91178ede665c2cf241a"
|
||||
@ -3834,6 +3895,10 @@ eyeglass@^1.3.0:
|
||||
node-sass-utils "^1.1.2"
|
||||
semver "^5.0.3"
|
||||
|
||||
eyes@0.1.x:
|
||||
version "0.1.8"
|
||||
resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0"
|
||||
|
||||
fake-xml-http-request@^1.4.0, fake-xml-http-request@^1.6.0:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/fake-xml-http-request/-/fake-xml-http-request-1.6.0.tgz#bd0ac79ae3e2660098282048a12c730a6f64d550"
|
||||
@ -4021,6 +4086,12 @@ form-data@~2.3.1:
|
||||
combined-stream "^1.0.5"
|
||||
mime-types "^2.1.12"
|
||||
|
||||
formatio@1.2.0, formatio@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/formatio/-/formatio-1.2.0.tgz#f3b2167d9068c4698a8d51f4f760a39a54d818eb"
|
||||
dependencies:
|
||||
samsam "1.x"
|
||||
|
||||
forwarded@~0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
|
||||
@ -4798,7 +4869,7 @@ isobject@^2.0.0:
|
||||
dependencies:
|
||||
isarray "1.0.0"
|
||||
|
||||
isstream@~0.1.2:
|
||||
isstream@0.1.x, isstream@~0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
|
||||
|
||||
@ -4866,6 +4937,10 @@ js-tokens@^3.0.0, js-tokens@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
|
||||
|
||||
js-yaml@0.3.x:
|
||||
version "0.3.7"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-0.3.7.tgz#d739d8ee86461e54b354d6a7d7d1f2ad9a167f62"
|
||||
|
||||
js-yaml@3.x, js-yaml@^3.2.5, js-yaml@^3.2.7, js-yaml@^3.3.0, js-yaml@^3.4.3, js-yaml@^3.6.1, js-yaml@^3.9.1:
|
||||
version "3.10.0"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
|
||||
@ -4893,6 +4968,10 @@ jsesc@~0.5.0:
|
||||
version "0.5.0"
|
||||
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
|
||||
|
||||
jsmin@1.x:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/jsmin/-/jsmin-1.0.1.tgz#e7bd0dcd6496c3bf4863235bf461a3d98aa3b98c"
|
||||
|
||||
json-schema-traverse@^0.3.0:
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
|
||||
@ -4948,6 +5027,19 @@ jsprim@^1.2.2:
|
||||
json-schema "0.2.3"
|
||||
verror "1.10.0"
|
||||
|
||||
just-extend@^1.1.26:
|
||||
version "1.1.27"
|
||||
resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-1.1.27.tgz#ec6e79410ff914e472652abfa0e603c03d60e905"
|
||||
|
||||
jxLoader@*:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/jxLoader/-/jxLoader-0.1.1.tgz#0134ea5144e533b594fc1ff25ff194e235c53ecd"
|
||||
dependencies:
|
||||
js-yaml "0.3.x"
|
||||
moo-server "1.3.x"
|
||||
promised-io "*"
|
||||
walker "1.x"
|
||||
|
||||
kind-of@^3.0.2:
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
|
||||
@ -5353,6 +5445,10 @@ lodash.forown@~2.3.0:
|
||||
lodash._objecttypes "~2.3.0"
|
||||
lodash.keys "~2.3.0"
|
||||
|
||||
lodash.get@^4.4.2:
|
||||
version "4.4.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
|
||||
|
||||
lodash.identity@~2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.identity/-/lodash.identity-2.3.0.tgz#6b01a210c9485355c2a913b48b6711219a173ded"
|
||||
@ -5523,6 +5619,14 @@ log-update@^1.0.2:
|
||||
ansi-escapes "^1.0.0"
|
||||
cli-cursor "^1.0.2"
|
||||
|
||||
lolex@^1.6.0:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/lolex/-/lolex-1.6.0.tgz#3a9a0283452a47d7439e72731b9e07d7386e49f6"
|
||||
|
||||
lolex@^2.1.2:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.3.1.tgz#3d2319894471ea0950ef64692ead2a5318cff362"
|
||||
|
||||
longest@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
|
||||
@ -5745,6 +5849,10 @@ moment@2.x, "moment@>= 2.6.0", "moment@>= 2.9.0", moment@^2.18.1:
|
||||
version "2.19.1"
|
||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.19.1.tgz#56da1a2d1cbf01d38b7e1afc31c10bcfa1929167"
|
||||
|
||||
moo-server@*, moo-server@1.3.x:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/moo-server/-/moo-server-1.3.0.tgz#5dc79569565a10d6efed5439491e69d2392e58f1"
|
||||
|
||||
morgan@^1.8.1:
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.0.tgz#d01fa6c65859b76fcf31b3cb53a3821a311d8051"
|
||||
@ -5783,6 +5891,10 @@ nan@^2.0.7, nan@^2.3.0, nan@^2.3.2:
|
||||
version "2.7.0"
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46"
|
||||
|
||||
native-promise-only@^0.8.1:
|
||||
version "0.8.1"
|
||||
resolved "https://registry.yarnpkg.com/native-promise-only/-/native-promise-only-0.8.1.tgz#20a318c30cb45f71fe7adfbf7b21c99c1472ef11"
|
||||
|
||||
natural-compare@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
||||
@ -5791,6 +5903,16 @@ negotiator@0.6.1:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
|
||||
|
||||
nise@^1.0.1:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/nise/-/nise-1.2.0.tgz#079d6cadbbcb12ba30e38f1c999f36ad4d6baa53"
|
||||
dependencies:
|
||||
formatio "^1.2.0"
|
||||
just-extend "^1.1.26"
|
||||
lolex "^1.6.0"
|
||||
path-to-regexp "^1.7.0"
|
||||
text-encoding "^0.6.4"
|
||||
|
||||
node-dir@^0.1.16:
|
||||
version "0.1.17"
|
||||
resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5"
|
||||
@ -6180,6 +6302,12 @@ path-to-regexp@0.1.7:
|
||||
version "0.1.7"
|
||||
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
|
||||
|
||||
path-to-regexp@^1.7.0:
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
|
||||
dependencies:
|
||||
isarray "0.0.1"
|
||||
|
||||
path-type@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
|
||||
@ -6306,6 +6434,10 @@ promise-map-series@^0.2.1:
|
||||
dependencies:
|
||||
rsvp "^3.0.14"
|
||||
|
||||
promised-io@*:
|
||||
version "0.3.5"
|
||||
resolved "https://registry.yarnpkg.com/promised-io/-/promised-io-0.3.5.tgz#4ad217bb3658bcaae9946b17a8668ecd851e1356"
|
||||
|
||||
proxy-addr@~2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec"
|
||||
@ -6799,6 +6931,10 @@ safe-json-parse@~1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57"
|
||||
|
||||
samsam@1.x, samsam@^1.1.3:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.3.0.tgz#8d1d9350e25622da30de3e44ba692b5221ab7c50"
|
||||
|
||||
sane@^1.1.1, sane@^1.6.0:
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/sane/-/sane-1.7.0.tgz#b3579bccb45c94cf20355cc81124990dfd346e30"
|
||||
@ -6926,6 +7062,22 @@ simple-is@~0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/simple-is/-/simple-is-0.2.0.tgz#2abb75aade39deb5cc815ce10e6191164850baf0"
|
||||
|
||||
sinon@^3.2.1:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/sinon/-/sinon-3.3.0.tgz#9132111b4bbe13c749c2848210864250165069b1"
|
||||
dependencies:
|
||||
build "^0.1.4"
|
||||
diff "^3.1.0"
|
||||
formatio "1.2.0"
|
||||
lodash.get "^4.4.2"
|
||||
lolex "^2.1.2"
|
||||
native-promise-only "^0.8.1"
|
||||
nise "^1.0.1"
|
||||
path-to-regexp "^1.7.0"
|
||||
samsam "^1.1.3"
|
||||
text-encoding "0.6.4"
|
||||
type-detect "^4.0.0"
|
||||
|
||||
slash@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
|
||||
@ -7123,6 +7275,10 @@ stable@~0.1.3:
|
||||
version "0.1.6"
|
||||
resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.6.tgz#910f5d2aed7b520c6e777499c1f32e139fdecb10"
|
||||
|
||||
stack-trace@0.0.x:
|
||||
version "0.0.10"
|
||||
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
|
||||
|
||||
staged-git-files@0.0.4:
|
||||
version "0.0.4"
|
||||
resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-0.0.4.tgz#d797e1b551ca7a639dec0237dc6eb4bb9be17d35"
|
||||
@ -7375,6 +7531,10 @@ tether@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/tether/-/tether-1.4.0.tgz#0f9fa171f75bf58485d8149e94799d7ae74d1c1a"
|
||||
|
||||
text-encoding@0.6.4, text-encoding@^0.6.4:
|
||||
version "0.6.4"
|
||||
resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19"
|
||||
|
||||
text-table@~0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
|
||||
@ -7387,6 +7547,10 @@ through@^2.3.6, through@^2.3.8, through@~2.3.8:
|
||||
version "2.3.8"
|
||||
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
|
||||
|
||||
timespan@2.x:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/timespan/-/timespan-2.3.0.tgz#4902ce040bd13d845c8f59b27e9d59bad6f39929"
|
||||
|
||||
tiny-lr@^1.0.3:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.0.5.tgz#21f40bf84ebd1f853056680375eef1670c334112"
|
||||
@ -7478,6 +7642,10 @@ type-check@~0.3.2:
|
||||
dependencies:
|
||||
prelude-ls "~1.1.2"
|
||||
|
||||
type-detect@^4.0.0:
|
||||
version "4.0.5"
|
||||
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.5.tgz#d70e5bc81db6de2a381bcaca0c6e0cbdc7635de2"
|
||||
|
||||
type-is@~1.6.15:
|
||||
version "1.6.15"
|
||||
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
|
||||
@ -7504,6 +7672,10 @@ uglify-es@^3.1.3:
|
||||
commander "~2.11.0"
|
||||
source-map "~0.6.1"
|
||||
|
||||
uglify-js@1.x:
|
||||
version "1.3.5"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-1.3.5.tgz#4b5bfff9186effbaa888e4c9e94bd9fc4c94929d"
|
||||
|
||||
uglify-js@^2.6:
|
||||
version "2.8.29"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
|
||||
@ -7630,7 +7802,7 @@ walk-sync@^0.3.0, walk-sync@^0.3.1, walk-sync@^0.3.2:
|
||||
ensure-posix-path "^1.0.0"
|
||||
matcher-collection "^1.0.0"
|
||||
|
||||
walker@~1.0.5:
|
||||
walker@1.x, walker@~1.0.5:
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
|
||||
dependencies:
|
||||
@ -7679,6 +7851,17 @@ window-size@^0.1.2:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"
|
||||
|
||||
winston@*:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.0.tgz#808050b93d52661ed9fb6c26b3f0c826708b0aee"
|
||||
dependencies:
|
||||
async "~1.0.0"
|
||||
colors "1.0.x"
|
||||
cycle "1.0.x"
|
||||
eyes "0.1.x"
|
||||
isstream "0.1.x"
|
||||
stack-trace "0.0.x"
|
||||
|
||||
wordwrap@0.0.2:
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
|
||||
@ -7708,6 +7891,10 @@ wrappy@1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||
|
||||
wrench@1.3.x:
|
||||
version "1.3.9"
|
||||
resolved "https://registry.yarnpkg.com/wrench/-/wrench-1.3.9.tgz#6f13ec35145317eb292ca5f6531391b244111411"
|
||||
|
||||
write-file-atomic@^2.0.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user