diff --git a/package-lock.json b/package-lock.json
index 4bd0e35..4fce061 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2115,6 +2115,11 @@
"through": ">=2.2.7 <3"
}
},
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
"accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
@@ -2131,11 +2136,32 @@
"integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
"dev": true
},
+ "acorn-node": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
+ "requires": {
+ "acorn": "^7.0.0",
+ "acorn-walk": "^7.0.0",
+ "xtend": "^4.0.2"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz",
+ "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA=="
+ }
+ }
+ },
+ "acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA=="
+ },
"adm-zip": {
"version": "0.4.14",
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.14.tgz",
- "integrity": "sha512-/9aQCnQHF+0IiCl0qhXoK7qs//SwYE7zX8lsr/DNk1BRAHYxeLZPL4pguwK29gUEqasYQjqPtEpDRSWEkdHn9g==",
- "dev": true
+ "integrity": "sha512-/9aQCnQHF+0IiCl0qhXoK7qs//SwYE7zX8lsr/DNk1BRAHYxeLZPL4pguwK29gUEqasYQjqPtEpDRSWEkdHn9g=="
},
"after": {
"version": "0.8.2",
@@ -2195,12 +2221,45 @@
"integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==",
"dev": true
},
+ "align-text": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "requires": {
+ "kind-of": "^3.0.2",
+ "longest": "^1.0.1",
+ "repeat-string": "^1.5.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
"alphanum-sort": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
"integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
"dev": true
},
+ "alter": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz",
+ "integrity": "sha1-x1iICGF1cgNKrmJICvJrHU0cs80=",
+ "requires": {
+ "stable": "~0.1.3"
+ }
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
+ },
"ansi-colors": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
@@ -2267,6 +2326,11 @@
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"dev": true
},
+ "archy": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/archy/-/archy-0.0.2.tgz",
+ "integrity": "sha1-kQ9Dv2YUH8M1VkWXq8GJ30Sz014="
+ },
"arg": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
@@ -2422,6 +2486,16 @@
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
"dev": true
},
+ "ast-traverse": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz",
+ "integrity": "sha1-ac8rg4bxnc2hux4F1o/jWdiJfeY="
+ },
+ "ast-types": {
+ "version": "0.13.3",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.3.tgz",
+ "integrity": "sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA=="
+ },
"ast-types-flow": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
@@ -2476,6 +2550,34 @@
"postcss-value-parser": "^4.0.2"
}
},
+ "autoprefixer-core": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/autoprefixer-core/-/autoprefixer-core-3.1.2.tgz",
+ "integrity": "sha1-reXOni2dcbt//DHWlvpeh66+tjQ=",
+ "requires": {
+ "caniuse-db": "^1.0.30000006",
+ "postcss": "~2.2.5"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-2.2.6.tgz",
+ "integrity": "sha1-wENE4kSeRYa5Vfvkp093CA2EVx8=",
+ "requires": {
+ "js-base64": "~2.1.5",
+ "source-map": "~0.1.40"
+ }
+ },
+ "source-map": {
+ "version": "0.1.43",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
@@ -2617,6 +2719,11 @@
}
}
},
+ "base62": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/base62/-/base62-0.1.1.tgz",
+ "integrity": "sha1-e0F0wvlESXU7EcJlHAg9qEGnsIQ="
+ },
"base64-arraybuffer": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
@@ -2677,6 +2784,14 @@
"integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
"dev": true
},
+ "block-stream": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "requires": {
+ "inherits": "~2.0.0"
+ }
+ },
"blocking-proxy": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz",
@@ -2788,6 +2903,11 @@
"fill-range": "^7.0.1"
}
},
+ "breakable": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz",
+ "integrity": "sha1-eEp5eRWjjq0nutRWtVcstLuqeME="
+ },
"brorand": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
@@ -2944,6 +3064,23 @@
"integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
"dev": true
},
+ "builder-autoprefixer": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/builder-autoprefixer/-/builder-autoprefixer-1.0.4.tgz",
+ "integrity": "sha1-nNjDdqbXoXIAvYyjMbUfIwDhrHA=",
+ "requires": {
+ "autoprefixer-core": "^3.1.1"
+ }
+ },
+ "builder-es6-module-to-cjs": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/builder-es6-module-to-cjs/-/builder-es6-module-to-cjs-1.1.0.tgz",
+ "integrity": "sha1-efMpfRjEe7iLQ5R1OPoccnQnHuM=",
+ "requires": {
+ "es6-module-jstransform": "^0.1.2",
+ "is-module": "^1.0.0"
+ }
+ },
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
@@ -3074,6 +3211,11 @@
"lodash.uniq": "^4.5.0"
}
},
+ "caniuse-db": {
+ "version": "1.0.30001091",
+ "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001091.tgz",
+ "integrity": "sha512-KqQjRGDTIvfxh9k3iuvV5NW5OtxxvTUeC6AQLgR5esBFlyVRaVuWHaOk/XDVeau4zs8amPzgi2BcR4ef27fGZA=="
+ },
"caniuse-lite": {
"version": "1.0.30001066",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001066.tgz",
@@ -3092,6 +3234,15 @@
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
},
+ "center-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "requires": {
+ "align-text": "^0.1.3",
+ "lazy-cache": "^1.0.3"
+ }
+ },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -3102,6 +3253,16 @@
"supports-color": "^5.3.0"
}
},
+ "chanel": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/chanel/-/chanel-2.2.0.tgz",
+ "integrity": "sha1-JlKVsouSqoIAX4Zd0VpIlMQ42Tw=",
+ "requires": {
+ "co": "*",
+ "generator-supported": "*",
+ "to-descriptor": "*"
+ }
+ },
"chardet": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
@@ -3287,6 +3448,11 @@
"shallow-clone": "^3.0.0"
}
},
+ "co": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz",
+ "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g="
+ },
"coa": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
@@ -3329,6 +3495,40 @@
}
}
},
+ "cogent": {
+ "version": "git://github.com/timaschew/cogent.git#2246bd071392f5053a3a110024fd608a40a593ba",
+ "from": "git://github.com/timaschew/cogent.git#fix-redirects",
+ "requires": {
+ "debug": "*",
+ "generator-supported": "~0.0.1",
+ "netrc": "~0.1.3",
+ "proxy-agent": "^1.1.0",
+ "raw-body": "^1.1.2",
+ "statuses": "^1.0.2",
+ "write-to": "^1.0.0"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
+ "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g="
+ },
+ "iconv-lite": {
+ "version": "0.4.8",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.8.tgz",
+ "integrity": "sha1-xgGadZXyzvynAuq2lKAQvNkpjSA="
+ },
+ "raw-body": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.3.4.tgz",
+ "integrity": "sha1-zMfd/Ea3KGHN1btDPIQLcLbyf1Q=",
+ "requires": {
+ "bytes": "1.0.0",
+ "iconv-lite": "0.4.8"
+ }
+ }
+ }
+ },
"collection-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
@@ -3390,8 +3590,7 @@
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
},
"commondir": {
"version": "1.0.1",
@@ -3399,30 +3598,477 @@
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
+ "commoner": {
+ "version": "0.10.8",
+ "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz",
+ "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=",
+ "requires": {
+ "commander": "^2.5.0",
+ "detective": "^4.3.1",
+ "glob": "^5.0.15",
+ "graceful-fs": "^4.1.2",
+ "iconv-lite": "^0.4.5",
+ "mkdirp": "^0.5.0",
+ "private": "^0.1.6",
+ "q": "^1.1.2",
+ "recast": "^0.11.17"
+ },
+ "dependencies": {
+ "ast-types": {
+ "version": "0.9.6",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz",
+ "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk="
+ },
+ "esprima": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
+ },
+ "glob": {
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "requires": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "recast": {
+ "version": "0.11.23",
+ "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz",
+ "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=",
+ "requires": {
+ "ast-types": "0.9.6",
+ "esprima": "~3.1.0",
+ "private": "~0.1.5",
+ "source-map": "~0.5.0"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ }
+ }
+ },
"compare-versions": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz",
"integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==",
"dev": true
},
+ "component": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/component/-/component-1.1.0.tgz",
+ "integrity": "sha1-NgSaold5i37lcUKWHhjgdnkYyao=",
+ "requires": {
+ "co": "^3.0.0",
+ "commander": "^2.2.0",
+ "component-build": "^1.2.2",
+ "component-consoler": "^2.0.0",
+ "component-flatten": "^1.0.1",
+ "component-ls": "^2.1.0",
+ "component-outdated2": "^1.0.4",
+ "component-pin": "^1.0.4",
+ "component-remotes": "^1.2.0",
+ "component-resolver": "^1.3.0",
+ "component-search2": "^1.1.1",
+ "component-updater": "^1.0.4",
+ "component-watcher": "^1.0.1",
+ "debug": "*",
+ "mkdirp": "~0.3.5",
+ "rimraf": "^2.2.6",
+ "semver": "^2.2.1",
+ "superagent": "~0.17.0",
+ "tiny-lr-fork": "0.0.5",
+ "win-fork": "~1.1.1"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc="
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "semver": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz",
+ "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI="
+ }
+ }
+ },
"component-bind": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
"integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
"dev": true
},
+ "component-build": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/component-build/-/component-build-1.2.2.tgz",
+ "integrity": "sha1-1bwl0lIE35On2aN6LeAE4RmkpXw=",
+ "requires": {
+ "builder-autoprefixer": "^1.0.3",
+ "builder-es6-module-to-cjs": "^1.1.0",
+ "component-builder": "^1.1.12",
+ "debug": "*"
+ }
+ },
+ "component-builder": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-builder/-/component-builder-1.2.1.tgz",
+ "integrity": "sha1-o5fBg3na9RH4Woy5TKDZIcHdsaQ=",
+ "requires": {
+ "chanel": "^2.0.0",
+ "co": "^3.1.0",
+ "component-flatten": "^1.0.1",
+ "component-manifest": "^1.0.0",
+ "component-require2": "^1.0.1",
+ "cp": "^0.1.1",
+ "debug": "*",
+ "generator-supported": "~0.0.1",
+ "graceful-fs": "^2.0.3",
+ "mkdirp": "^0.3.5",
+ "requires": "^1.0.0",
+ "syntax-error": "^1.1.1"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz",
+ "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA="
+ },
+ "mkdirp": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc="
+ }
+ }
+ },
+ "component-consoler": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/component-consoler/-/component-consoler-2.0.0.tgz",
+ "integrity": "sha1-Peq/BGwjm2EGNi7JaJQGNruhTCM=",
+ "requires": {
+ "debug": "*"
+ }
+ },
+ "component-downloader": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/component-downloader/-/component-downloader-1.2.0.tgz",
+ "integrity": "sha1-b/Z/9xyEaoWKrjGog1X5vxrUO20=",
+ "requires": {
+ "chanel": "^2.0.1",
+ "co": "^3",
+ "component-consoler": "^2.0.0",
+ "component-remotes": "^1.1.1",
+ "debug": "*",
+ "decompress": "~0.2.0",
+ "generator-supported": "~0.0.1",
+ "graceful-fs": "^2.0.2",
+ "mkdirp": "~0.3.5",
+ "rimraf": "^2.2.6",
+ "semver": "^2.2.0",
+ "unglob": "~0.1.2",
+ "write-to": "^1.0.0"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz",
+ "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA="
+ },
+ "mkdirp": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc="
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "semver": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz",
+ "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI="
+ }
+ }
+ },
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
"dev": true
},
+ "component-flatten": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/component-flatten/-/component-flatten-1.0.1.tgz",
+ "integrity": "sha1-W0n0msRcuIxDAyuXozb1P4fNbIw=",
+ "requires": {
+ "semver": "^2.2.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz",
+ "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI="
+ }
+ }
+ },
"component-inherit": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
"integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
"dev": true
},
+ "component-ls": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/component-ls/-/component-ls-2.1.0.tgz",
+ "integrity": "sha1-wR7ez4mDbd6JBkrQT+JK3YClERI=",
+ "requires": {
+ "archy": "~0.0.2"
+ }
+ },
+ "component-manifest": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/component-manifest/-/component-manifest-1.0.0.tgz",
+ "integrity": "sha1-SNy7HqPGiHYifmra/PNxJbC81XI=",
+ "requires": {
+ "debug": "*",
+ "generator-supported": "~0.0.1",
+ "graceful-fs": "^2.0.1",
+ "unglob": "~0.1.1"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz",
+ "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA="
+ }
+ }
+ },
+ "component-outdated2": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/component-outdated2/-/component-outdated2-1.0.5.tgz",
+ "integrity": "sha1-IGbA9Cx1w18tS/3iv5/s4M5GPRQ=",
+ "requires": {
+ "component-consoler": "^2.0.0",
+ "component-flatten": "^1.0.1",
+ "component-remotes": "^1.1.5",
+ "generator-supported": "~0.0.1",
+ "semver": "^2.2.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz",
+ "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI="
+ }
+ }
+ },
+ "component-pin": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/component-pin/-/component-pin-1.0.5.tgz",
+ "integrity": "sha1-v6lOAepCB18ufU17X3i2Yt24NY0=",
+ "requires": {
+ "component-consoler": "^2.0.0",
+ "component-flatten": "^1.0.1",
+ "component-remotes": "^1.1.5",
+ "generator-supported": "~0.0.1",
+ "semver": "^2.2.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz",
+ "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI="
+ }
+ }
+ },
+ "component-remotes": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/component-remotes/-/component-remotes-1.2.0.tgz",
+ "integrity": "sha1-PQeYpR5ziZxs5VnZN2Olb8eh2IM=",
+ "requires": {
+ "co": "^3",
+ "cogent": "git://github.com/timaschew/cogent.git#fix-redirects",
+ "component-consoler": "^2.0.0",
+ "component-validator": "^1.0.0",
+ "debug": "*",
+ "generator-supported": "~0.0.1",
+ "graceful-fs": "^2.0.2",
+ "semver": "^2.2.1"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz",
+ "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA="
+ },
+ "semver": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz",
+ "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI="
+ }
+ }
+ },
+ "component-require2": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/component-require2/-/component-require2-1.1.1.tgz",
+ "integrity": "sha1-POrqGYc8HG74X1O48572koWvXMU="
+ },
+ "component-resolver": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-resolver/-/component-resolver-1.3.0.tgz",
+ "integrity": "sha1-79grBa9krRJ4W5h8AfCsQfAKaNw=",
+ "requires": {
+ "chanel": "^2.0.2",
+ "co": "^3",
+ "component-consoler": "^2.0.0",
+ "component-downloader": "^1.2.0",
+ "component-flatten": "^1.0.1",
+ "component-remotes": "^1.2.0",
+ "component-validator": "^1.1.1",
+ "debug": "*",
+ "generator-supported": "~0.0.1",
+ "graceful-fs": "^2.0.1",
+ "semver": "^2.2.1",
+ "unglob": "~0.1.2"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz",
+ "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA="
+ },
+ "semver": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz",
+ "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI="
+ }
+ }
+ },
+ "component-search2": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/component-search2/-/component-search2-1.1.1.tgz",
+ "integrity": "sha1-kmeDygb2Hvdd7YW7ZVuq3i/J65E=",
+ "requires": {
+ "JSONStream": "~0.8.0",
+ "bytes": "~0.3.0",
+ "cogent": "~0.4.0",
+ "component-consoler": "^2.0.0",
+ "debug": "*",
+ "event-stream": "^3.1.1",
+ "generator-supported": "~0.0.1",
+ "stream-to-array": "^1.0.0"
+ },
+ "dependencies": {
+ "JSONStream": {
+ "version": "0.8.4",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz",
+ "integrity": "sha1-kWV9/m/4V0gwZhMrRhi2Lo9Ih70=",
+ "requires": {
+ "jsonparse": "0.0.5",
+ "through": ">=2.2.7 <3"
+ }
+ },
+ "bytes": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-0.3.0.tgz",
+ "integrity": "sha1-eOLg4ox/nHuYjqiu4NtNX6mUGTU="
+ },
+ "cogent": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/cogent/-/cogent-0.4.3.tgz",
+ "integrity": "sha1-UAdE8R2D6cD8Q+9vlem5zHFaCFQ=",
+ "requires": {
+ "debug": "*",
+ "generator-supported": "~0.0.1",
+ "netrc": "~0.1.3",
+ "proxy-agent": "^1.1.0",
+ "raw-body": "^1.1.2",
+ "statuses": "^1.0.2",
+ "write-to": "^1.0.0"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.8",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.8.tgz",
+ "integrity": "sha1-xgGadZXyzvynAuq2lKAQvNkpjSA="
+ },
+ "jsonparse": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz",
+ "integrity": "sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ="
+ },
+ "raw-body": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.3.4.tgz",
+ "integrity": "sha1-zMfd/Ea3KGHN1btDPIQLcLbyf1Q=",
+ "requires": {
+ "bytes": "1.0.0",
+ "iconv-lite": "0.4.8"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
+ "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g="
+ }
+ }
+ }
+ }
+ },
+ "component-updater": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/component-updater/-/component-updater-1.0.5.tgz",
+ "integrity": "sha1-CHd/ZxzodeE+MHwdghfC6l8aSsQ=",
+ "requires": {
+ "component-consoler": "^2.0.0",
+ "component-flatten": "^1.0.1",
+ "component-remotes": "^1.1.5",
+ "generator-supported": "~0.0.1",
+ "semver": "^2.2.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz",
+ "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI="
+ }
+ }
+ },
+ "component-validator": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/component-validator/-/component-validator-1.1.1.tgz",
+ "integrity": "sha1-+lD+t/WL7IndaXktE6Mn4lJgjl4=",
+ "requires": {
+ "component-consoler": "^2.0.0"
+ }
+ },
+ "component-watcher": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/component-watcher/-/component-watcher-1.0.3.tgz",
+ "integrity": "sha1-wl6AF0sLQFVJXX7xJnmGJm2QxTU=",
+ "requires": {
+ "debug": "*",
+ "sane": "0"
+ }
+ },
"compressible": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
@@ -3563,6 +4209,11 @@
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
"dev": true
},
+ "cookiejar": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz",
+ "integrity": "sha1-3QCzVnkCHpnL1OhVua0EGRNHR2U="
+ },
"copy-concurrently": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
@@ -3741,8 +4392,7 @@
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cosmiconfig": {
"version": "5.2.1",
@@ -3756,6 +4406,11 @@
"parse-json": "^4.0.0"
}
},
+ "cp": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/cp/-/cp-0.1.1.tgz",
+ "integrity": "sha1-OUanbBpT/+DmhZPzQcEkszbB8G0="
+ },
"create-ecdh": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
@@ -4140,6 +4795,11 @@
"assert-plus": "^1.0.0"
}
},
+ "data-uri-to-buffer": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-0.0.4.tgz",
+ "integrity": "sha1-RuE6udqOMJdFyNAc5UchPr2y/j8="
+ },
"date-format": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz",
@@ -4171,6 +4831,47 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
+ "decompress": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/decompress/-/decompress-0.2.5.tgz",
+ "integrity": "sha1-0hMjPv4GbM2A2RTXk/GzDNmEuEc=",
+ "requires": {
+ "adm-zip": "^0.4.3",
+ "ext-name": "^1.0.0",
+ "get-stdin": "^0.1.0",
+ "mkdirp": "^0.3.5",
+ "nopt": "^2.2.0",
+ "rimraf": "^2.2.2",
+ "stream-combiner": "^0.0.4",
+ "tar": "^0.1.18",
+ "tempfile": "^0.1.2"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc="
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "tar": {
+ "version": "0.1.20",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-0.1.20.tgz",
+ "integrity": "sha1-QpQLrltfIsdEg2mRJvnz8nRJyxM=",
+ "requires": {
+ "block-stream": "*",
+ "fstream": "~0.1.28",
+ "inherits": "2"
+ }
+ }
+ }
+ },
"deep-equal": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
@@ -4185,6 +4886,11 @@
"regexp.prototype.flags": "^1.2.0"
}
},
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
+ },
"default-gateway": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
@@ -4271,6 +4977,85 @@
}
}
},
+ "defined": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
+ },
+ "defs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz",
+ "integrity": "sha1-siYJ8sehG6ej2xFoBcE5scr/qdI=",
+ "requires": {
+ "alter": "~0.2.0",
+ "ast-traverse": "~0.1.1",
+ "breakable": "~1.0.0",
+ "esprima-fb": "~15001.1001.0-dev-harmony-fb",
+ "simple-fmt": "~0.1.0",
+ "simple-is": "~0.2.0",
+ "stringmap": "~0.2.2",
+ "stringset": "~0.2.1",
+ "tryor": "~0.1.2",
+ "yargs": "~3.27.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk="
+ },
+ "cliui": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "requires": {
+ "center-align": "^0.1.1",
+ "right-align": "^0.1.1",
+ "wordwrap": "0.0.2"
+ }
+ },
+ "esprima-fb": {
+ "version": "15001.1001.0-dev-harmony-fb",
+ "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz",
+ "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk="
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+ },
+ "yargs": {
+ "version": "3.27.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz",
+ "integrity": "sha1-ISBUaTFuk5Ex1Z8toMbX+YIh6kA=",
+ "requires": {
+ "camelcase": "^1.2.1",
+ "cliui": "^2.1.0",
+ "decamelize": "^1.0.0",
+ "os-locale": "^1.4.0",
+ "window-size": "^0.1.2",
+ "y18n": "^3.2.0"
+ }
+ }
+ }
+ },
+ "degenerator": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
+ "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=",
+ "requires": {
+ "ast-types": "0.x.x",
+ "escodegen": "1.x.x",
+ "esprima": "3.x.x"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
+ }
+ }
+ },
"del": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
@@ -4364,6 +5149,27 @@
"integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
"dev": true
},
+ "detective": {
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
+ "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==",
+ "requires": {
+ "acorn": "^5.2.1",
+ "defined": "^1.0.0"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "5.7.4",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
+ "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg=="
+ }
+ }
+ },
+ "dethroy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/dethroy/-/dethroy-1.0.2.tgz",
+ "integrity": "sha1-yCADMXaT3LzaP3UrAYLjvxbdRCE="
+ },
"dezalgo": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
@@ -4500,6 +5306,11 @@
"is-obj": "^2.0.0"
}
},
+ "duplexer": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E="
+ },
"duplexify": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
@@ -4557,6 +5368,11 @@
}
}
},
+ "emitter-component": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz",
+ "integrity": "sha1-8E3Rj8PcPpp0y8DzELCIZm5MAW8="
+ },
"emoji-regex": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
@@ -4741,6 +5557,22 @@
"is-symbol": "^1.0.2"
}
},
+ "es6-module-jstransform": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/es6-module-jstransform/-/es6-module-jstransform-0.1.4.tgz",
+ "integrity": "sha1-OtHj6qt0UY9a8jwQFPGCjF6WfAI=",
+ "requires": {
+ "esprima-fb": "~3001.1.0-dev-harmony-fb",
+ "jstransform": "~3.0.0"
+ },
+ "dependencies": {
+ "esprima-fb": {
+ "version": "3001.1.0-dev-harmony-fb",
+ "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz",
+ "integrity": "sha1-t303q8046gt3Qmu4vCkizmtCZBE="
+ }
+ }
+ },
"es6-promise": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
@@ -4767,6 +5599,26 @@
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
+ "escodegen": {
+ "version": "1.14.3",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
+ "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "optional": true
+ }
+ }
+ },
"eslint-scope": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
@@ -4780,8 +5632,7 @@
"esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
},
"esrecurse": {
"version": "4.2.1",
@@ -4795,14 +5646,12 @@
"estraverse": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
},
"esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
},
"etag": {
"version": "1.8.1",
@@ -4810,6 +5659,31 @@
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"dev": true
},
+ "event-stream": {
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.5.tgz",
+ "integrity": "sha512-vyibDcu5JL20Me1fP734QBH/kenBGLZap2n0+XXM7mvuUPzJ20Ydqj1aKcIeMdri1p+PU+4yAKugjN8KCVst+g==",
+ "requires": {
+ "duplexer": "^0.1.1",
+ "from": "^0.1.7",
+ "map-stream": "0.0.7",
+ "pause-stream": "^0.0.11",
+ "split": "^1.0.1",
+ "stream-combiner": "^0.2.2",
+ "through": "^2.3.8"
+ },
+ "dependencies": {
+ "stream-combiner": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
+ "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=",
+ "requires": {
+ "duplexer": "~0.1.1",
+ "through": "~2.3.4"
+ }
+ }
+ }
+ },
"eventemitter3": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
@@ -4979,11 +5853,27 @@
}
}
},
+ "ext-list": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-0.2.0.tgz",
+ "integrity": "sha1-NhTV8pn0pZKolinn3oJfF3TRmr0=",
+ "requires": {
+ "got": "^0.2.0"
+ }
+ },
+ "ext-name": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-1.0.1.tgz",
+ "integrity": "sha1-GCgzVtxAo5NFXFRGDwWZzpfTDgw=",
+ "requires": {
+ "ext-list": "^0.2.0",
+ "underscore.string": "~2.3.3"
+ }
+ },
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"extend-shallow": {
"version": "3.0.2",
@@ -5100,6 +5990,11 @@
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true
},
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
+ },
"fastparse": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
@@ -5140,6 +6035,11 @@
"schema-utils": "^2.6.5"
}
},
+ "file-uri-to-path": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-0.0.2.tgz",
+ "integrity": "sha1-N83RtbkFQEs/BeGyNkW+aU/3D4I="
+ },
"fileset": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
@@ -5345,6 +6245,11 @@
"mime-types": "^2.1.12"
}
},
+ "formidable": {
+ "version": "1.0.14",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz",
+ "integrity": "sha1-Kz9MQRy7X91pXESEPiojUUpDIxo="
+ },
"forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
@@ -5366,6 +6271,11 @@
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"dev": true
},
+ "from": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
+ "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4="
+ },
"from2": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
@@ -5420,12 +6330,78 @@
"dev": true,
"optional": true
},
+ "fstream": {
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz",
+ "integrity": "sha1-czfwWPu7vvqMn1YaKMqwhJICyYg=",
+ "requires": {
+ "graceful-fs": "~3.0.2",
+ "inherits": "~2.0.0",
+ "mkdirp": "0.5",
+ "rimraf": "2"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "3.0.12",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.12.tgz",
+ "integrity": "sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==",
+ "requires": {
+ "natives": "^1.1.3"
+ }
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
+ "ftp": {
+ "version": "0.3.10",
+ "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
+ "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=",
+ "requires": {
+ "readable-stream": "1.1.x",
+ "xregexp": "2.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ }
+ }
+ },
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
+ "generator-supported": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/generator-supported/-/generator-supported-0.0.1.tgz",
+ "integrity": "sha1-kivSIBpsONj6y4FdWT2KA8iYwpk="
+ },
"genfun": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
@@ -5442,6 +6418,11 @@
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
},
+ "get-stdin": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz",
+ "integrity": "sha1-WZivJKr8gC0VyCxoVlfuuLENSpE="
+ },
"get-stream": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
@@ -5451,6 +6432,34 @@
"pump": "^3.0.0"
}
},
+ "get-uri": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-0.1.4.tgz",
+ "integrity": "sha1-NfinlUwSn7Ey/y3fXtgaV8uKnlQ=",
+ "requires": {
+ "data-uri-to-buffer": "0",
+ "debug": "2",
+ "extend": "3",
+ "file-uri-to-path": "0",
+ "ftp": "~0.3.5",
+ "readable-stream": "2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
"get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
@@ -5470,7 +6479,6 @@
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -5528,11 +6536,25 @@
}
}
},
+ "got": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/got/-/got-0.2.0.tgz",
+ "integrity": "sha1-0Awkiyn9zK6pQN+coJlev/MbUaU=",
+ "requires": {
+ "object-assign": "^0.3.0"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-0.3.1.tgz",
+ "integrity": "sha1-Bg4qKifXwNd+x3t48Rqkf9iACNI="
+ }
+ }
+ },
"graceful-fs": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
- "dev": true
+ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
},
"handle-thing": {
"version": "2.0.1",
@@ -5902,7 +6924,6 @@
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
@@ -6174,11 +7195,15 @@
"loose-envify": "^1.0.0"
}
},
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+ },
"ip": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
- "dev": true
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
},
"ip-regex": {
"version": "2.1.0",
@@ -6242,8 +7267,7 @@
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"is-callable": {
"version": "1.1.5",
@@ -6355,6 +7379,11 @@
"integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
"dev": true
},
+ "is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE="
+ },
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@@ -6469,8 +7498,7 @@
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"isbinaryfile": {
"version": "4.0.6",
@@ -6721,6 +7749,11 @@
}
}
},
+ "js-base64": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz",
+ "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4="
+ },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -6812,6 +7845,31 @@
"verror": "1.10.0"
}
},
+ "jstransform": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-3.0.0.tgz",
+ "integrity": "sha1-olkats7o2XvzvoMNv6IxO4fNZAs=",
+ "requires": {
+ "base62": "0.1.1",
+ "esprima-fb": "~3001.1.0-dev-harmony-fb",
+ "source-map": "0.1.31"
+ },
+ "dependencies": {
+ "esprima-fb": {
+ "version": "3001.1.0-dev-harmony-fb",
+ "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz",
+ "integrity": "sha1-t303q8046gt3Qmu4vCkizmtCZBE="
+ },
+ "source-map": {
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz",
+ "integrity": "sha1-n3BNDWnZ4TioG63267T94z0VHGE=",
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
"jszip": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.4.0.tgz",
@@ -7103,6 +8161,19 @@
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
},
+ "lazy-cache": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
"less": {
"version": "3.11.1",
"resolved": "https://registry.npmjs.org/less/-/less-3.11.1.tgz",
@@ -7178,6 +8249,15 @@
"leven": "^3.1.0"
}
},
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
"license-webpack-plugin": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.4.tgz",
@@ -7275,6 +8355,11 @@
"integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==",
"dev": true
},
+ "longest": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
+ },
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -7396,6 +8481,14 @@
}
}
},
+ "makeerror": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "requires": {
+ "tmpl": "1.0.x"
+ }
+ },
"mamacro": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz",
@@ -7408,6 +8501,11 @@
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
+ "map-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz",
+ "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg="
+ },
"map-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
@@ -7806,7 +8904,6 @@
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
"requires": {
"minimist": "^1.2.5"
}
@@ -7887,6 +8984,11 @@
"to-regex": "^3.0.1"
}
},
+ "natives": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz",
+ "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA=="
+ },
"negotiator": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
@@ -7899,6 +9001,16 @@
"integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
"dev": true
},
+ "netmask": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz",
+ "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU="
+ },
+ "netrc": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/netrc/-/netrc-0.1.4.tgz",
+ "integrity": "sha1-a+lPysqNd63gqWcNxGCRTJRHJEQ="
+ },
"nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
@@ -7967,6 +9079,32 @@
"integrity": "sha512-ZQmnWS7adi61A9JsllJ2gdj2PauElcjnOwTp2O011iGzoakTxUsDGSe+6vD7wXbKdqhSFymC0OSx35aAMhrSdw==",
"dev": true
},
+ "nopt": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz",
+ "integrity": "sha1-KqCbfRdoSHs7ianFqlIzW/8Lrqc=",
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "noptify": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz",
+ "integrity": "sha1-WPZUpz2XU98MUdlobckhBKZ/S7s=",
+ "requires": {
+ "nopt": "~2.0.0"
+ },
+ "dependencies": {
+ "nopt": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz",
+ "integrity": "sha1-ynQW8gpeP5w7hhgPlilfo9C1Lg0=",
+ "requires": {
+ "abbrev": "1"
+ }
+ }
+ }
+ },
"normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
@@ -8327,6 +9465,19 @@
}
}
},
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ }
+ },
"ora": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz",
@@ -8431,6 +9582,14 @@
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "requires": {
+ "lcid": "^1.0.0"
+ }
+ },
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
@@ -8495,6 +9654,64 @@
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
"dev": true
},
+ "pac-proxy-agent": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-0.2.0.tgz",
+ "integrity": "sha1-rZApCdkvT+fMLl9Z9b9QYbz6cbI=",
+ "requires": {
+ "agent-base": "~1.0.1",
+ "debug": "2",
+ "extend": "~1.2.1",
+ "get-uri": "~0.1.0",
+ "pac-resolver": "~1.2.1",
+ "proxy-agent": "1",
+ "stream-to-array": "~1.0.0"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-1.0.2.tgz",
+ "integrity": "sha1-aJDT+yFwBLYrcPiSjg+uX4lSpwY="
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "extend": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz",
+ "integrity": "sha1-oPX9bPyDpf5J72mNYOyKYk3UV2w="
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "pac-resolver": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-1.2.6.tgz",
+ "integrity": "sha1-7QOvDFtZM1Bb3T8H91F1Rm1efPs=",
+ "requires": {
+ "co": "~3.0.6",
+ "degenerator": "~1.0.0",
+ "netmask": "~1.0.4",
+ "regenerator": "~0.8.13",
+ "thunkify": "~2.1.1"
+ },
+ "dependencies": {
+ "co": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/co/-/co-3.0.6.tgz",
+ "integrity": "sha1-FEXyJsXrlWE45oyawwFn6n0ua9o="
+ }
+ }
+ },
"pacote": {
"version": "9.5.12",
"resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.12.tgz",
@@ -8800,6 +10017,14 @@
}
}
},
+ "pause-stream": {
+ "version": "0.0.11",
+ "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
+ "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
+ "requires": {
+ "through": "~2.3"
+ }
+ },
"pbkdf2": {
"version": "3.0.17",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
@@ -9561,6 +10786,11 @@
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
"dev": true
},
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
+ },
"prepend-http": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
@@ -9570,8 +10800,7 @@
"private": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
- "dev": true
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
},
"process": {
"version": "0.11.10",
@@ -9582,8 +10811,7 @@
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"promise": {
"version": "7.3.1",
@@ -9995,6 +11223,94 @@
"ipaddr.js": "1.9.1"
}
},
+ "proxy-agent": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-1.1.1.tgz",
+ "integrity": "sha1-/LHu9eWJZcmV+TjwKdcp/IGFi5U=",
+ "requires": {
+ "http-proxy-agent": "0",
+ "https-proxy-agent": "0",
+ "lru-cache": "~2.5.0",
+ "pac-proxy-agent": "0",
+ "socks-proxy-agent": "1"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-1.0.2.tgz",
+ "integrity": "sha1-aJDT+yFwBLYrcPiSjg+uX4lSpwY="
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "http-proxy-agent": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-0.2.7.tgz",
+ "integrity": "sha1-4X/aZfCQLZUs55IeYsf/iGJlWl4=",
+ "requires": {
+ "agent-base": "~1.0.1",
+ "debug": "2",
+ "extend": "3"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-0.3.6.tgz",
+ "integrity": "sha1-cT+jjl01P1DrFKNC/r4pAz7RYZs=",
+ "requires": {
+ "agent-base": "~1.0.1",
+ "debug": "2",
+ "extend": "3"
+ }
+ },
+ "lru-cache": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.2.tgz",
+ "integrity": "sha1-H92tk4quEmPOE4aAvhs/WRwKtBw="
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "smart-buffer": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz",
+ "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY="
+ },
+ "socks": {
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz",
+ "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=",
+ "requires": {
+ "ip": "^1.1.4",
+ "smart-buffer": "^1.0.13"
+ }
+ },
+ "socks-proxy-agent": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-1.0.2.tgz",
+ "integrity": "sha1-Z+BrRH/lY3QX/eVzPL/f7J/+EX8=",
+ "requires": {
+ "agent-base": "~1.0.1",
+ "extend": "~1.2.1",
+ "socks": "~1.1.5"
+ },
+ "dependencies": {
+ "extend": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz",
+ "integrity": "sha1-oPX9bPyDpf5J72mNYOyKYk3UV2w="
+ }
+ }
+ }
+ }
+ },
"prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
@@ -10071,8 +11387,7 @@
"q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
- "dev": true
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
},
"qjobs": {
"version": "1.2.0",
@@ -10236,7 +11551,6 @@
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -10268,6 +11582,39 @@
"picomatch": "^2.2.1"
}
},
+ "recast": {
+ "version": "0.10.33",
+ "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz",
+ "integrity": "sha1-lCgI96oBbx+nFCxGHX5XBKqo1pc=",
+ "requires": {
+ "ast-types": "0.8.12",
+ "esprima-fb": "~15001.1001.0-dev-harmony-fb",
+ "private": "~0.1.5",
+ "source-map": "~0.5.0"
+ },
+ "dependencies": {
+ "ast-types": {
+ "version": "0.8.12",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz",
+ "integrity": "sha1-oNkOQ1G7iHcWyD/WN+v4GK9K38w="
+ },
+ "esprima-fb": {
+ "version": "15001.1001.0-dev-harmony-fb",
+ "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz",
+ "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk="
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ }
+ }
+ },
+ "reduce-component": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz",
+ "integrity": "sha1-4Mk1QsV0UhvqE98PlIjtgqt3xdo="
+ },
"reflect-metadata": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
@@ -10289,6 +11636,32 @@
"regenerate": "^1.4.0"
}
},
+ "regenerator": {
+ "version": "0.8.46",
+ "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.46.tgz",
+ "integrity": "sha1-FUwydoY2HtUsrWmyVF78U6PQdpY=",
+ "requires": {
+ "commoner": "~0.10.3",
+ "defs": "~1.1.0",
+ "esprima-fb": "~15001.1001.0-dev-harmony-fb",
+ "private": "~0.1.5",
+ "recast": "0.10.33",
+ "regenerator-runtime": "~0.9.5",
+ "through": "~2.3.8"
+ },
+ "dependencies": {
+ "esprima-fb": {
+ "version": "15001.1001.0-dev-harmony-fb",
+ "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz",
+ "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk="
+ },
+ "regenerator-runtime": {
+ "version": "0.9.6",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz",
+ "integrity": "sha1-0z65XQ0gAaS+OWWXB8UbDLcc4Ck="
+ }
+ }
+ },
"regenerator-runtime": {
"version": "0.13.5",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
@@ -10377,8 +11750,7 @@
"repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
- "dev": true
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
},
"request": {
"version": "2.88.2",
@@ -10418,6 +11790,11 @@
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
},
+ "requires": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/requires/-/requires-1.0.2.tgz",
+ "integrity": "sha1-djBOghNFYi/j+sCwcRoeTygo8Po="
+ },
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -10493,6 +11870,14 @@
"integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
"dev": true
},
+ "right-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "requires": {
+ "align-text": "^0.1.1"
+ }
+ },
"rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
@@ -10561,8 +11946,33 @@
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "sane": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/sane/-/sane-0.8.1.tgz",
+ "integrity": "sha1-JDpLIECBvlWTwKIrC7sRVzUS/Mc=",
+ "requires": {
+ "minimatch": "~0.2.14",
+ "walker": "~1.0.5",
+ "watch": "~0.10.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI="
+ },
+ "minimatch": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
+ "requires": {
+ "lru-cache": "2",
+ "sigmund": "~1.0.0"
+ }
+ }
+ }
},
"sass": {
"version": "1.26.3",
@@ -10941,12 +12351,27 @@
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true
},
+ "sigmund": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+ "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA="
+ },
"signal-exit": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
"dev": true
},
+ "simple-fmt": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz",
+ "integrity": "sha1-GRv1ZqWeZTBILLJatTtKjchcOms="
+ },
+ "simple-is": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz",
+ "integrity": "sha1-Krt1qt453rXMgVzhDmGRFkhQuvA="
+ },
"simple-swizzle": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
@@ -11466,6 +12891,14 @@
"chalk": "^2.0.1"
}
},
+ "split": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
+ "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
+ "requires": {
+ "through": "2"
+ }
+ },
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
@@ -11510,8 +12943,7 @@
"stable": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
- "dev": true
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
},
"static-extend": {
"version": "0.1.2",
@@ -11537,8 +12969,7 @@
"statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
- "dev": true
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
"stream-browserify": {
"version": "2.0.2",
@@ -11550,6 +12981,14 @@
"readable-stream": "^2.0.2"
}
},
+ "stream-combiner": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
+ "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
+ "requires": {
+ "duplexer": "~0.1.1"
+ }
+ },
"stream-each": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
@@ -11579,6 +13018,11 @@
"integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
"dev": true
},
+ "stream-to-array": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stream-to-array/-/stream-to-array-1.0.0.tgz",
+ "integrity": "sha1-lBZrsp8+ok8ILS+M0+uyzA1uyiw="
+ },
"streamroller": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz",
@@ -11689,11 +13133,20 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
},
+ "stringmap": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz",
+ "integrity": "sha1-VWwTeyWPlCuHdvWy71gqoGnX0bE="
+ },
+ "stringset": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz",
+ "integrity": "sha1-7yWcTjSTRDd/zRyRPdLoSMnAQrU="
+ },
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
@@ -11843,6 +13296,49 @@
}
}
},
+ "superagent": {
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-0.17.0.tgz",
+ "integrity": "sha1-qtzVD75ak+cZkRGNeb8HFNYlu6g=",
+ "requires": {
+ "cookiejar": "1.3.0",
+ "debug": "~0.7.2",
+ "emitter-component": "1.0.0",
+ "extend": "~1.2.1",
+ "formidable": "1.0.14",
+ "methods": "0.0.1",
+ "mime": "1.2.5",
+ "qs": "0.6.5",
+ "reduce-component": "1.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz",
+ "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk="
+ },
+ "extend": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz",
+ "integrity": "sha1-oPX9bPyDpf5J72mNYOyKYk3UV2w="
+ },
+ "methods": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-0.0.1.tgz",
+ "integrity": "sha1-J3yQ+L7zlwlkWoNxxRw7bGSOBow="
+ },
+ "mime": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.5.tgz",
+ "integrity": "sha1-nu0HMCKov14WyFZsaGe4gyv7+hM="
+ },
+ "qs": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz",
+ "integrity": "sha1-KUsmjksNQlD23eGbO4s0k13/FO8="
+ }
+ }
+ },
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -11878,6 +13374,14 @@
"integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
"dev": true
},
+ "syntax-error": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
+ "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
+ "requires": {
+ "acorn-node": "^1.2.0"
+ }
+ },
"tapable": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
@@ -11912,6 +13416,21 @@
}
}
},
+ "tempfile": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-0.1.3.tgz",
+ "integrity": "sha1-fWtxAEcznTn4RzJ6BW2t8YMQMBA=",
+ "requires": {
+ "uuid": "~1.4.0"
+ },
+ "dependencies": {
+ "uuid": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-1.4.2.tgz",
+ "integrity": "sha1-RTAZ9oaWam34PNxSROfJkOzDMvw="
+ }
+ }
+ },
"terser": {
"version": "4.6.10",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.6.10.tgz",
@@ -12019,8 +13538,7 @@
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
- "dev": true
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
},
"through2": {
"version": "2.0.5",
@@ -12032,6 +13550,11 @@
"xtend": "~4.0.1"
}
},
+ "thunkify": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz",
+ "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0="
+ },
"thunky": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
@@ -12053,6 +13576,34 @@
"integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
"dev": true
},
+ "tiny-lr-fork": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz",
+ "integrity": "sha1-Hpnh4qhGm3NquX2X7vqYxx927Qo=",
+ "requires": {
+ "debug": "~0.7.0",
+ "faye-websocket": "~0.4.3",
+ "noptify": "~0.0.3",
+ "qs": "~0.5.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz",
+ "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk="
+ },
+ "faye-websocket": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz",
+ "integrity": "sha1-wUxbO/FNdBf/v9mQwKdJXNnzN7w="
+ },
+ "qs": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz",
+ "integrity": "sha1-MbGtBYVnZRxSaSFQa5qHk5EaA4Q="
+ }
+ }
+ },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -12062,6 +13613,11 @@
"os-tmpdir": "~1.0.2"
}
},
+ "tmpl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE="
+ },
"to-array": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
@@ -12074,6 +13630,11 @@
"integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
"dev": true
},
+ "to-descriptor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-descriptor/-/to-descriptor-1.0.1.tgz",
+ "integrity": "sha1-oOZ4w068fS2uRk2DcrwhR52cK80="
+ },
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -12142,6 +13703,11 @@
"integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
"dev": true
},
+ "tryor": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz",
+ "integrity": "sha1-gUXkynyv9ArN48z5Rui4u3W0Fys="
+ },
"ts-node": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz",
@@ -12219,6 +13785,14 @@
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true
},
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
"type-fest": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
@@ -12253,6 +13827,57 @@
"integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==",
"dev": true
},
+ "underscore.string": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
+ "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0="
+ },
+ "unglob": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/unglob/-/unglob-0.1.2.tgz",
+ "integrity": "sha1-8uwGKE5JGhx3YRp2CouOowAnLDg=",
+ "requires": {
+ "generator-supported": "~0.0.1",
+ "glob": "~3.2.8",
+ "minimatch": "~0.2.14"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "3.2.11",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
+ "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
+ "requires": {
+ "inherits": "2",
+ "minimatch": "0.3"
+ },
+ "dependencies": {
+ "minimatch": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+ "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
+ "requires": {
+ "lru-cache": "2",
+ "sigmund": "~1.0.0"
+ }
+ }
+ }
+ },
+ "lru-cache": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI="
+ },
+ "minimatch": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
+ "requires": {
+ "lru-cache": "2",
+ "sigmund": "~1.0.0"
+ }
+ }
+ }
+ },
"unicode-canonical-property-names-ecmascript": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
@@ -12478,8 +14103,7 @@
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"util-promisify": {
"version": "2.1.0",
@@ -12568,6 +14192,19 @@
"integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
"dev": true
},
+ "walker": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "requires": {
+ "makeerror": "1.0.x"
+ }
+ },
+ "watch": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz",
+ "integrity": "sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw="
+ },
"watchpack": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz",
@@ -13256,6 +14893,26 @@
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
},
+ "win-fork": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/win-fork/-/win-fork-1.1.1.tgz",
+ "integrity": "sha1-j1jgZW/KAK3IyGoriePNLWotXl4="
+ },
+ "window-size": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
+ "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY="
+ },
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
+ },
+ "wordwrap": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
+ },
"worker-farm": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
@@ -13329,6 +14986,15 @@
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
+ "write-to": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/write-to/-/write-to-1.1.1.tgz",
+ "integrity": "sha1-Xu+/aC0SjCqwwF9l3xA4c54GxqM=",
+ "requires": {
+ "dethroy": "1",
+ "mkdirp": "0"
+ }
+ },
"ws": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
@@ -13360,11 +15026,15 @@
"integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
"dev": true
},
+ "xregexp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz",
+ "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM="
+ },
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
},
"y18n": {
"version": "4.0.0",
diff --git a/package.json b/package.json
index 598596f..c10a72f 100644
--- a/package.json
+++ b/package.json
@@ -23,6 +23,7 @@
"@ng-bootstrap/ng-bootstrap": "^6.0.0",
"bootstrap": "^4.4.0",
"chart.js": "^2.9.3",
+ "component": "^1.1.0",
"rxjs": "~6.5.4",
"tslib": "^1.10.0",
"zone.js": "~0.10.2"
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 3109692..9a0b665 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -14,7 +14,8 @@ import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { UserstoryTableComponent } from './userstory-table/userstory-table.component';
import { TaskTableComponent } from './task-table/task-table.component';
import { SprintTableComponent } from './sprint-table/sprint-table.component';
-import { DashboardComponent } from './dashboard/dashboard.component';
+import { DashboardComponent } from './dashboard/dashboard.component';
+import { UserstoryInnerTableComponent } from './userstory-inner-table/userstory-inner-table.component';
@NgModule({
declarations: [
@@ -27,6 +28,7 @@ import { DashboardComponent } from './dashboard/dashboard.component';
SprintFormComponent,
SprintTableComponent,
DashboardComponent,
+ UserstoryInnerTableComponent,
],
imports: [
BrowserModule,
diff --git a/src/app/dashboard/dashboard.component.css b/src/app/dashboard/dashboard.component.css
index bfaa597..e67ab28 100644
--- a/src/app/dashboard/dashboard.component.css
+++ b/src/app/dashboard/dashboard.component.css
@@ -1,3 +1,7 @@
-.text-2em {
- font-size: 2rem;
+.text-large {
+ font-size: 1.2rem;
+}
+
+.text-very-large {
+ font-size: 2.4rem;
}
diff --git a/src/app/dashboard/dashboard.component.html b/src/app/dashboard/dashboard.component.html
index e604953..9e6550d 100644
--- a/src/app/dashboard/dashboard.component.html
+++ b/src/app/dashboard/dashboard.component.html
@@ -1,60 +1,98 @@
-
+
-
-
Dashboard
-
+
+
Dashboard
+
-
-
Current sprint
-
+
-
+
+ Alle Userstories
+ Lege einen Sprint an, um Userstories zu organisieren.
+
-
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+ {{getNumberOfUserstoriesByStatus(status)}}
+
-
-
- {{getRemainingDaysInSprint()}}
-
-
-
-
-
-
-
-
- {{getNumberOfUserstoriesByStatus(status)}}
-
-
-
-
-
+
+
+
+
diff --git a/src/app/dashboard/dashboard.component.ts b/src/app/dashboard/dashboard.component.ts
index 470e6f3..2ea774d 100644
--- a/src/app/dashboard/dashboard.component.ts
+++ b/src/app/dashboard/dashboard.component.ts
@@ -1,79 +1,111 @@
-import {Component, OnInit} from '@angular/core';
+import {Component, OnChanges} from '@angular/core';
+import {forkJoin} from 'rxjs';
import Chart from 'chart.js';
-import {BackendService, ScrumStatus, ScrumUser, ScrumUserstory, ScrumSprint} from '../services/backend.service';
+import {BackendService, ScrumSprint, ScrumStatus, ScrumUserstory} from '../services/backend.service';
@Component({
selector: 'app-dashboard',
templateUrl: 'dashboard.component.html',
styleUrls: ['./dashboard.component.css']
})
-export class DashboardComponent implements OnInit {
+export class DashboardComponent {
/**
* Returns the status that are used by at least one userstory.
*/
public get usedStatus(): ScrumStatus[] {
- return this.status.filter(s => this.userstories.find(us => us.statusid === s.id) !== undefined);
+ return this.status.filter(s => this.selectedSprintUserstories.find(us => us.statusid === s.id) !== undefined);
}
- private status: ScrumStatus[];
- private userstories: ScrumUserstory[];
- private sprints: ScrumSprint[];
+ public get selectedSprintUserstories(): ScrumUserstory[] {
+ if (this.selectedSprint === undefined) {
+ return this.userstories;
+ }
+ return this.userstories.filter(us => us.sprintid === this.selectedSprint.id);
+ }
+
+ public get currentSprint(): ScrumSprint {
+ const now = Date.now();
+ return this.sprints.find(s => Date.parse(s.startDate) < now && Date.parse(s.endDate) > now);
+ }
+
+ private _selectedSprint: ScrumSprint;
+ public get selectedSprint(): ScrumSprint {
+ if (this._selectedSprint === undefined) {
+ if (this.currentSprint === undefined) {
+ return this.sprints[0];
+ }
+ return this.currentSprint;
+ }
+ return this._selectedSprint;
+ }
+
+ public set selectedSprint(value) {
+ this._selectedSprint = value;
+ this.createChart();
+ }
+
+ public status: ScrumStatus[] = [];
+ public userstories: ScrumUserstory[] = [];
+ public sprints: ScrumSprint[] = [];
+
+ public chart: Chart;
constructor(private backendService: BackendService) {
- // backendService.getUserstories().subscribe(response => {
- // if (response.status > 399) {
- // alert('Fehler');
- // } else {
- // this.userstories.push(...response.body);
- // }
- // });
- // backendService.getAllStatus().subscribe(response => {
- // if (response.status > 399) {
- // alert('Fehler');
- // } else {
- // this.status.push(...response.body);
- // }
- // });
- // backendService.getSprints().subscribe(response => {
- // if (response.status > 399) {
- // alert('Fehler');
- // } else {
- // this.sprints.push(...response.body);
- // }
- // });
-
- this.status = [
- {id: 0, title: "In progress", description:""},
- {id: 1, title: "Done", description:""},
- ];
- this.userstories = [
- {statusid: 0, title:""},
- {statusid: 0, title:""},
- {statusid: 0, title:""},
- {statusid: 1, title:""},
- {statusid: 1, title:""},
- ];
- this.sprints = [
- {description:"", title:"", project: 0, startDate: new Date(2020, 5, 22), endDate: new Date(2020, 5, 28)},
- {description:"", title:"", project: 0, startDate: new Date(2020, 5, 29), endDate: new Date(2020, 6, 5)},
- ]
+ // download userstories, status and sprints and update
+ // the chart whenever a new response is there
+ forkJoin([backendService.getUserstories(), backendService.getAllStatus(), backendService.getSprints()])
+ .subscribe(results => {
+ const [userstoryResponse, statusResponse, sprintResponse] = results;
+ if (userstoryResponse.status > 399 || statusResponse.status > 399 || sprintResponse.status > 399) {
+ alert('Fehler');
+ } else {
+ this.userstories.push(...userstoryResponse.body);
+ this.status.push(...statusResponse.body);
+ this.sprints.push(...sprintResponse.body);
+ this.createChart();
+ }
+ });
}
+ /**
+ * Returns the date in the following format: 1.7.2020
+ */
+ public toDateString(isoFormatString) {
+ const date = new Date(isoFormatString);
+ return `${date.getDate()}.${date.getMonth() + 1}.${date.getFullYear()}`;
+ }
- ngOnInit(): void {
+ private createChart() {
// @ts-ignore
const context = document.getElementById('done-stories-chart').getContext('2d');
- const chart = new Chart(context, {
- type: 'pie',
- data: {
- labels: this.usedStatus.map(s => s.title),
- datasets: [{
- label: 'Done stories',
- data: this.usedStatus.map(s => this.getNumberOfUserstoriesByStatus(s)),
- backgroundColor: this.getBackgroundColors(),
- }]
- }
- });
+
+ if (this.usedStatus.length === 0) {
+ this.chart.destroy();
+ }
+
+ else {
+ this.chart = new Chart(context, {
+ type: 'pie',
+ data: {
+ labels: this.usedStatus.map(s => s.title),
+ datasets: [{
+ data: this.usedStatus.map(s => this.getNumberOfUserstoriesByStatus(s)),
+ backgroundColor: this.getBackgroundColors(),
+ options: {
+ legend: {
+ display: true,
+ position: 'right',
+ labels: {
+ fontColor: 'rgba(255, 255, 255, 0.8)'
+ }
+ }
+ }
+ }]
+ }
+ });
+ this.chart.update();
+ this.chart.render();
+ }
}
private getBackgroundColors(): string[] {
@@ -101,27 +133,28 @@ export class DashboardComponent implements OnInit {
}
public getNumberOfUserstoriesByStatus(status: ScrumStatus): number {
- return this.userstories.filter(us => us.statusid === status.id).length;
+ return this.selectedSprintUserstories.filter(us => us.statusid === status.id).length;
}
public getRemainingDaysInSprint(): number {
- const now = new Date();
- const currentSprint = this.sprints.find(s => s.endDate > now && s.startDate < now);
- if (currentSprint === undefined) {
+ if (this.selectedSprint === undefined) {
return undefined;
}
- const daysDelta = Math.floor((currentSprint.endDate.getTime() - now.getTime()) / 86400000);
- return daysDelta;
+ return Math.floor((Date.parse(this.selectedSprint.endDate) - Date.now()) / 86400000);
}
+ /**
+ * Returns the "urgency" of the current sprint (ie what percentage of the sprint is remaining)
+ * as an integer from 0 (most urgent) to 2 (least urgent).
+ */
public getSprintUrgency(): number {
- const now = new Date();
- const currentSprint = this.sprints.find(s => s.endDate > now && s.startDate < now);
- if (currentSprint === undefined) {
+ const now = Date.now();
+ const sprint = this.selectedSprint;
+ if (sprint === undefined) {
return undefined;
}
- const deltaFromNow = currentSprint.endDate.getTime() - now.getTime();
- const deltaFromStart = currentSprint.endDate.getTime() - currentSprint.startDate.getTime();
+ const deltaFromNow = Date.parse(sprint.endDate) - now;
+ const deltaFromStart = Date.parse(sprint.endDate) - Date.parse(sprint.startDate);
return Math.floor(3 * deltaFromNow / deltaFromStart);
}
}
diff --git a/src/app/services/backend.service.ts b/src/app/services/backend.service.ts
index ed9c838..3090626 100644
--- a/src/app/services/backend.service.ts
+++ b/src/app/services/backend.service.ts
@@ -233,8 +233,8 @@ export interface ScrumSprint{
id?: number;
title: string;
description?: string;
- startDate: Date;
- endDate: Date;
+ startDate: string;
+ endDate: string;
project: number;
}
diff --git a/src/app/task-table/task-table.component.ts b/src/app/task-table/task-table.component.ts
index 6e850ad..363b43b 100644
--- a/src/app/task-table/task-table.component.ts
+++ b/src/app/task-table/task-table.component.ts
@@ -13,7 +13,7 @@ import { ActivatedRoute, ParamMap, Router } from '@angular/router';
import { getNumberForPriority } from '../services/sorting.service';
@Component({
- selector: 'app-userstory-table',
+ selector: 'app-task-table',
templateUrl: './task-table.component.html',
styleUrls: ['./task-table.component.css'],
})
diff --git a/src/app/userstory-inner-table/userstory-inner-table.component.css b/src/app/userstory-inner-table/userstory-inner-table.component.css
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/userstory-inner-table/userstory-inner-table.component.html b/src/app/userstory-inner-table/userstory-inner-table.component.html
new file mode 100644
index 0000000..2706790
--- /dev/null
+++ b/src/app/userstory-inner-table/userstory-inner-table.component.html
@@ -0,0 +1,90 @@
+
+
+
\ No newline at end of file
diff --git a/src/app/userstory-inner-table/userstory-inner-table.component.ts b/src/app/userstory-inner-table/userstory-inner-table.component.ts
new file mode 100644
index 0000000..3430dc0
--- /dev/null
+++ b/src/app/userstory-inner-table/userstory-inner-table.component.ts
@@ -0,0 +1,143 @@
+import { Component, Input } from '@angular/core';
+import {
+ BackendService,
+ ScrumTask,
+ ScrumUserstory,
+ ScrumStatus,
+ ScrumCategory,
+} from '../services/backend.service';
+import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
+import { TableComponentBase } from '../services/table-component.base';
+import { getNumberForPriority } from '../services/sorting.service';
+import { UserstoryFormComponent } from '../userstory-form/userstory-form.component';
+import { ActivatedRoute, ParamMap, Router } from '@angular/router';
+
+@Component({
+ selector: 'app-userstory-inner-table',
+ templateUrl: './userstory-inner-table.component.html',
+ styleUrls: ['./userstory-inner-table.component.css']
+})
+export class UserstoryInnerTableComponent extends TableComponentBase
{
+ public tasks: ScrumTask[] = [];
+ public filterPriority: string | null = null;
+ public highlightId: number;
+ public status: ScrumStatus[] = [];
+ public categories: ScrumCategory[] = [];
+
+ @Input() public items: ScrumUserstory[] = [];
+
+ public get filteredItems() {
+ return this.items.filter(
+ (task) =>
+ this.filterPriority === null || task.priority === this.filterPriority
+ );
+ }
+
+ constructor(
+ private backendService: BackendService,
+ private modalService: NgbModal,
+ private route: ActivatedRoute,
+ private router: Router
+ ) {
+ super();
+
+ this.applyFilterParameters(this.route.snapshot.paramMap);
+ this.route.paramMap.subscribe((map) => this.applyFilterParameters(map));
+
+ backendService.getTasks().subscribe((response) => {
+ if (response.status > 399) {
+ alert('Fehler');
+ } else {
+ this.tasks.push(...response.body);
+ }
+ });
+ backendService.getAllStatus().subscribe((response) => {
+ if (response.status > 399) {
+ alert('Fehler');
+ } else {
+ this.status.push(...response.body);
+ }
+ });
+ backendService.getCategories().subscribe((response) => {
+ if (response.status > 399) {
+ alert('Fehler');
+ } else {
+ this.categories.push(...response.body);
+ }
+ });
+ }
+
+ private applyFilterParameters(params: ParamMap) {
+ if (params.has('id')) {
+ this.highlightId = parseInt(params.get('id'));
+ }
+ }
+
+ public deleteUserstory(userstory: ScrumUserstory) {
+ this.backendService.deleteUserstory(userstory).subscribe((response) => {
+ if (response.status > 399) {
+ alert('Fehler');
+ }
+ });
+ const index = this.items.indexOf(userstory);
+ if (index !== -1) {
+ this.items.splice(index, 1);
+ }
+ }
+
+ public openUserstoryForm(editUserstory?: ScrumUserstory) {
+ const modalRef = this.modalService.open(UserstoryFormComponent, {
+ backdrop: 'static',
+ keyboard: true,
+ });
+ if (editUserstory === null) {
+ modalRef.result.then((result) => {
+ this.items.push(result);
+ });
+ }
+ modalRef.componentInstance.userstory = editUserstory;
+ }
+
+ public getNumberOfTasks(userstory: ScrumUserstory) {
+ return this.tasks.filter((t) => t.userstoryid === userstory.id).length;
+ }
+
+ public sortById() {
+ this.doNumericSort('id', (us) => us.id);
+ }
+
+ public sortByTitle() {
+ this.doStringSort('title', (us) => us.title);
+ }
+
+ public sortByPrio() {
+ this.doNumericSort('priority', (us) => getNumberForPriority(us.priority));
+ }
+
+ public sortByTasks() {
+ this.doNumericSort('tasks', (us) => this.getNumberOfTasks(us));
+ }
+
+ sortByStatus() {
+ this.doNumericSort('statusid', (us) => us.statusid);
+ }
+ sortByCategory() {
+ this.doNumericSort('categoryid', (us) => us.categoryid);
+ }
+
+ getStatusTitleById(id) {
+ var status = this.status.find((x) => x.id === id);
+ if (!status) {
+ return 'N/A';
+ }
+ return status.title;
+ }
+
+ getCategoryTitleById(id) {
+ var category = this.categories.find((x) => x.id === id);
+ if (!category) {
+ return 'N/A';
+ }
+ return category.title;
+ }
+}
diff --git a/src/app/userstory-table/userstory-table.component.html b/src/app/userstory-table/userstory-table.component.html
index d06db1c..75b9cf0 100644
--- a/src/app/userstory-table/userstory-table.component.html
+++ b/src/app/userstory-table/userstory-table.component.html
@@ -1,95 +1,4 @@
-
Userstories
-
-
-
-
+
diff --git a/src/app/userstory-table/userstory-table.component.ts b/src/app/userstory-table/userstory-table.component.ts
index ac42ac5..b61809b 100644
--- a/src/app/userstory-table/userstory-table.component.ts
+++ b/src/app/userstory-table/userstory-table.component.ts
@@ -1,49 +1,18 @@
import { Component } from '@angular/core';
import {
BackendService,
- ScrumTask,
ScrumUserstory,
- ScrumStatus,
- ScrumCategory,
} from '../services/backend.service';
-import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
-import { TableComponentBase } from '../services/table-component.base';
-import { getNumberForPriority } from '../services/sorting.service';
-import { UserstoryFormComponent } from '../userstory-form/userstory-form.component';
-import { ActivatedRoute, ParamMap, Router } from '@angular/router';
@Component({
selector: 'app-userstory-table',
templateUrl: './userstory-table.component.html',
styleUrls: ['./userstory-table.component.css'],
})
-export class UserstoryTableComponent extends TableComponentBase<
- ScrumUserstory
-> {
- public tasks: ScrumTask[] = [];
- public filterPriority: string | null = null;
- public highlightId: number;
- public status: ScrumStatus[] = [];
- public categories: ScrumCategory[] = [];
-
- public get filteredItems() {
- return this.items.filter(
- (task) =>
- this.filterPriority === null || task.priority === this.filterPriority
- );
- }
-
- constructor(
- private backendService: BackendService,
- private modalService: NgbModal,
- private route: ActivatedRoute,
- private router: Router
- ) {
- super();
-
- this.applyFilterParameters(this.route.snapshot.paramMap);
- this.route.paramMap.subscribe((map) => this.applyFilterParameters(map));
+export class UserstoryTableComponent {
+ public items: ScrumUserstory[] = [];
+ constructor(private backendService: BackendService) {
backendService.getUserstories().subscribe((response) => {
if (response.status > 399) {
alert('Fehler');
@@ -51,100 +20,5 @@ export class UserstoryTableComponent extends TableComponentBase<
this.items.push(...response.body);
}
});
- backendService.getTasks().subscribe((response) => {
- if (response.status > 399) {
- alert('Fehler');
- } else {
- this.tasks.push(...response.body);
- }
- });
- backendService.getAllStatus().subscribe((response) => {
- if (response.status > 399) {
- alert('Fehler');
- } else {
- this.status.push(...response.body);
- }
- });
- backendService.getCategories().subscribe((response) => {
- if (response.status > 399) {
- alert('Fehler');
- } else {
- this.categories.push(...response.body);
- }
- });
- }
-
- private applyFilterParameters(params: ParamMap) {
- if (params.has('id')) {
- this.highlightId = parseInt(params.get('id'));
- }
- }
-
- public deleteUserstory(userstory: ScrumUserstory) {
- this.backendService.deleteUserstory(userstory).subscribe((response) => {
- if (response.status > 399) {
- alert('Fehler');
- }
- });
- const index = this.items.indexOf(userstory);
- if (index !== -1) {
- this.items.splice(index, 1);
- }
- }
-
- public openUserstoryForm(editUserstory?: ScrumUserstory) {
- const modalRef = this.modalService.open(UserstoryFormComponent, {
- backdrop: 'static',
- keyboard: true,
- });
- if (editUserstory === null) {
- modalRef.result.then((result) => {
- this.items.push(result);
- });
- }
- modalRef.componentInstance.userstory = editUserstory;
- }
-
- public getNumberOfTasks(userstory: ScrumUserstory) {
- return this.tasks.filter((t) => t.userstoryid === userstory.id).length;
- }
-
- public sortById() {
- this.doNumericSort('id', (us) => us.id);
- }
-
- public sortByTitle() {
- this.doStringSort('title', (us) => us.title);
- }
-
- public sortByPrio() {
- this.doNumericSort('priority', (us) => getNumberForPriority(us.priority));
- }
-
- public sortByTasks() {
- this.doNumericSort('tasks', (us) => this.getNumberOfTasks(us));
- }
-
- sortByStatus() {
- this.doNumericSort('statusid', (us) => us.statusid);
- }
- sortByCategory() {
- this.doNumericSort('categoryid', (us) => us.categoryid);
- }
-
- getStatusTitleById(id) {
- var status = this.status.find((x) => x.id === id);
- if (!status) {
- return 'N/A';
- }
- return status.title;
- }
-
- getCategoryTitleById(id) {
- var category = this.categories.find((x) => x.id === id);
- if (!category) {
- return 'N/A';
- }
- return category.title;
}
}
diff --git a/src/styles.css b/src/styles.css
index 90d4ee0..3727e6f 100644
--- a/src/styles.css
+++ b/src/styles.css
@@ -1 +1,9 @@
-/* You can add global styles to this file, and also import other style files */
+/* You can add global styles to this file, and also import other style files */
+.custom-text-secondary {
+ color: white;
+ }
+
+ .white-content .custom-text-secondary {
+ color: black !important;
+ }
+
\ No newline at end of file