diff --git a/.travis.yml b/.travis.yml
index 25640e9f0adc..06bab97c3f85 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -23,17 +23,16 @@ matrix:
sauce_connect: true
script:
- npm run test && if [ "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then npm run test:ci; else exit 0; fi
+ - env: NAME="@sentry/core"
+ install: true
+ script:
+ - cd packages/core && yarn install && yarn test
- env: NAME="@sentry/browser"
install: true
script:
- yarn link
- cd packages/core && yarn link && yarn install && yarn dist
- cd ../browser
- - yarn remove @sentry/core # this has to be removed once we released the package
- yarn link "@sentry/core"
- yarn link "raven-js"
- yarn install && yarn test
- - env: NAME="@sentry/core"
- install: true
- script:
- - cd packages/core && yarn install && yarn test
diff --git a/packages/browser/__tests__/index.ts b/packages/browser/__tests__/index.ts
index 1c15b747a40a..a1a34966f967 100644
--- a/packages/browser/__tests__/index.ts
+++ b/packages/browser/__tests__/index.ts
@@ -34,7 +34,7 @@ describe('Browser Interface', () => {
page.on('request', async request => {
// @ts-ignore
- if (request.resourceType === 'xhr') {
+ if (request.resourceType === 'other' || request.resourceType === 'xhr') {
const data = JSON.parse(request.postData as any);
if (data.exception) {
expect(data.exception).not.toBeUndefined();
diff --git a/packages/browser/lib/SentryBrowser.ts b/packages/browser/lib/SentryBrowser.ts
index 5c834d7315c0..68438f94d8b3 100644
--- a/packages/browser/lib/SentryBrowser.ts
+++ b/packages/browser/lib/SentryBrowser.ts
@@ -23,7 +23,7 @@ export class SentryBrowser implements IAdapter {
return Raven;
}
- public setOptions(options: ISentryBrowserOptions) {
+ public async setOptions(options: ISentryBrowserOptions) {
Object.assign(this.options, options);
Object.assign(Raven._globalOptions, this.options);
return this;
@@ -74,23 +74,28 @@ export class SentryBrowser implements IAdapter {
});
}
- public setUserContext(user?: IUser) {
+ public async setUserContext(user?: IUser) {
Raven.setUserContext(user);
return this;
}
- public setTagsContext(tags?: { [key: string]: any }) {
+ public async setTagsContext(tags?: { [key: string]: any }) {
Raven.setTagsContext(tags);
return this;
}
- public setExtraContext(extra?: { [key: string]: any }) {
+ public async setExtraContext(extra?: { [key: string]: any }) {
Raven.setExtraContext(extra);
return this;
}
- public clearContext() {
+ public async clearContext() {
Raven.clearContext();
return this;
}
+
+ public async setRelease(release: string) {
+ Raven.setRelease(release);
+ return this;
+ }
}
diff --git a/packages/browser/package.json b/packages/browser/package.json
index ce420d15640f..b088d4747dc5 100644
--- a/packages/browser/package.json
+++ b/packages/browser/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/browser",
- "version": "0.0.1",
+ "version": "0.2.1",
"description": "Offical Sentry SDK for browsers",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
@@ -8,28 +8,28 @@
"definition": "dist/index.d.ts"
},
"dependencies": {
- "@sentry/core": "^0.1.0",
- "raven-js": "^3.18.1"
+ "@sentry/core": "^0.2.1",
+ "raven-js": "^3.21.0"
},
"devDependencies": {
- "@types/jest": "^21.1.6",
- "@types/node": "^8.0.51",
- "@types/puppeteer": "^0.12.4",
+ "@types/jest": "^21.1.8",
+ "@types/node": "^8.5.1",
+ "@types/puppeteer": "^0.13.8",
"jest": "^21.2.1",
"npm-run-all": "^4.1.2",
- "prettier": "^1.8.2",
+ "prettier": "^1.9.2",
"puppeteer": "^0.13.0",
"rollup": "^0.52.1",
"rollup-plugin-commonjs": "^8.2.6",
"rollup-plugin-node-resolve": "^3.0.0",
"rollup-plugin-uglify": "^2.0.1",
- "ts-jest": "^21.2.2",
- "ts-loader": "^3.1.1",
- "ts-node": "^3.3.0",
+ "ts-jest": "^21.2.4",
+ "ts-loader": "^3.2.0",
+ "ts-node": "^4.0.2",
"tslint": "^5.8.0",
"tslint-config-prettier": "^1.6.0",
"tslint-eslint-rules": "^4.1.1",
- "typescript": "^2.6.1",
+ "typescript": "^2.6.2",
"vrsource-tslint-rules": "^5.8.0"
},
"engines": {
diff --git a/packages/browser/yarn.lock b/packages/browser/yarn.lock
index 6f3f5a378314..7e09a352fb18 100644
--- a/packages/browser/yarn.lock
+++ b/packages/browser/yarn.lock
@@ -2,27 +2,41 @@
# yarn lockfile v1
-"@sentry/core@file:../core":
- version "0.0.1"
+"@sentry/core@^0.2.1":
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/@sentry/core/-/core-0.2.1.tgz#4ab771ef370397eb24ac03b5686fe805d5ab523a"
-"@types/jest@^21.1.6":
- version "21.1.6"
- resolved "https://registry.yarnpkg.com/@types/jest/-/jest-21.1.6.tgz#9467945ce33261e4fdd14276576951aa130515aa"
+"@types/events@*":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@types/events/-/events-1.1.0.tgz#93b1be91f63c184450385272c47b6496fd028e02"
+
+"@types/jest@^21.1.8":
+ version "21.1.8"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-21.1.8.tgz#d497213725684f1e5a37900b17a47c9c018f1a97"
"@types/node@*":
version "8.0.34"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.34.tgz#55f801fa2ddb2a40dd6dfc15ecfe1dde9c129fe9"
-"@types/node@^8.0.51":
- version "8.0.51"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.51.tgz#b31d716fb8d58eeb95c068a039b9b6292817d5fb"
+"@types/node@^8.5.1":
+ version "8.5.1"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.1.tgz#4ec3020bcdfe2abffeef9ba3fbf26fca097514b5"
-"@types/puppeteer@^0.12.4":
- version "0.12.4"
- resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-0.12.4.tgz#e4572e0983bed3adaeafdab099231c723a30983b"
+"@types/puppeteer@^0.13.8":
+ version "0.13.8"
+ resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-0.13.8.tgz#b52ee91a547bea2647b68b7fc2a2ab6e49597743"
dependencies:
+ "@types/events" "*"
"@types/node" "*"
+"@types/strip-bom@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2"
+
+"@types/strip-json-comments@0.0.30":
+ version "0.0.30"
+ resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1"
+
abab@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e"
@@ -181,6 +195,10 @@ astral-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
+async-each@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
+
async-limiter@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
@@ -327,7 +345,7 @@ babel-register@^6.26.0:
mkdirp "^0.5.1"
source-map-support "^0.4.15"
-babel-runtime@^6.22.0, babel-runtime@^6.26.0:
+babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.9.2:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
dependencies:
@@ -385,6 +403,10 @@ big.js@^3.1.3:
version "3.2.0"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
+binary-extensions@^1.0.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
+
block-stream@*:
version "0.0.9"
resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
@@ -473,7 +495,7 @@ chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
-chalk@^2.0.0, chalk@^2.0.1:
+chalk@^2.0.1:
version "2.1.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e"
dependencies:
@@ -489,6 +511,21 @@ chalk@^2.1.0, chalk@^2.3.0:
escape-string-regexp "^1.0.5"
supports-color "^4.0.0"
+chokidar@^1.6.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
+ dependencies:
+ anymatch "^1.3.0"
+ async-each "^1.0.0"
+ glob-parent "^2.0.0"
+ inherits "^2.0.1"
+ is-binary-path "^1.0.0"
+ is-glob "^2.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.0.0"
+ optionalDependencies:
+ fsevents "^1.0.0"
+
ci-info@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.1.tgz#47b44df118c48d2597b56d342e7e25791060171a"
@@ -573,6 +610,22 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+cpx@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/cpx/-/cpx-1.5.0.tgz#185be018511d87270dedccc293171e37655ab88f"
+ dependencies:
+ babel-runtime "^6.9.2"
+ chokidar "^1.6.0"
+ duplexer "^0.1.1"
+ glob "^7.0.5"
+ glob2base "^0.0.12"
+ minimatch "^3.0.2"
+ mkdirp "^0.5.1"
+ resolve "^1.1.7"
+ safe-buffer "^5.0.1"
+ shell-quote "^1.6.1"
+ subarg "^1.0.0"
+
cross-spawn@^5.0.1, cross-spawn@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
@@ -660,6 +713,10 @@ detect-indent@^4.0.0:
dependencies:
repeating "^2.0.0"
+detect-libc@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+
diff@^3.1.0, diff@^3.2.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c"
@@ -671,7 +728,7 @@ doctrine@^0.7.2:
esutils "^1.1.6"
isarray "0.0.1"
-duplexer@~0.1.1:
+duplexer@^0.1.1, duplexer@~0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
@@ -894,6 +951,10 @@ fill-range@^2.1.0:
repeat-element "^1.1.2"
repeat-string "^1.5.2"
+find-index@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4"
+
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
@@ -945,9 +1006,9 @@ from@~0:
version "0.1.7"
resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
-fs-extra@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b"
+fs-extra@^4.0.2:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
dependencies:
graceful-fs "^4.1.2"
jsonfile "^4.0.0"
@@ -957,6 +1018,13 @@ fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+fsevents@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8"
+ dependencies:
+ nan "^2.3.0"
+ node-pre-gyp "^0.6.39"
+
fsevents@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4"
@@ -1025,6 +1093,12 @@ glob-parent@^2.0.0:
dependencies:
is-glob "^2.0.0"
+glob2base@^0.0.12:
+ version "0.0.12"
+ resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56"
+ dependencies:
+ find-index "^0.1.1"
+
glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
@@ -1191,7 +1265,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3:
+inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
@@ -1213,6 +1287,12 @@ is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+is-binary-path@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ dependencies:
+ binary-extensions "^1.0.0"
+
is-buffer@^1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
@@ -1905,7 +1985,7 @@ minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-minimist@^1.1.1, minimist@^1.2.0:
+minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
@@ -1969,6 +2049,22 @@ node-pre-gyp@^0.6.36:
tar "^2.2.1"
tar-pack "^3.4.0"
+node-pre-gyp@^0.6.39:
+ version "0.6.39"
+ resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649"
+ dependencies:
+ detect-libc "^1.0.2"
+ hawk "3.1.3"
+ mkdirp "^0.5.1"
+ nopt "^4.0.1"
+ npmlog "^4.0.2"
+ rc "^1.1.7"
+ request "2.81.0"
+ rimraf "^2.6.1"
+ semver "^5.3.0"
+ tar "^2.2.1"
+ tar-pack "^3.4.0"
+
nopt@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
@@ -2234,9 +2330,9 @@ preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
-prettier@^1.8.2:
- version "1.8.2"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.8.2.tgz#bff83e7fd573933c607875e5ba3abbdffb96aeb8"
+prettier@^1.9.2:
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.9.2.tgz#96bc2132f7a32338e6078aeb29727178c6335827"
pretty-format@^21.2.1:
version "21.2.1"
@@ -2307,9 +2403,9 @@ randomatic@^1.1.3:
is-number "^3.0.0"
kind-of "^4.0.0"
-raven-js@^3.18.1:
- version "3.18.1"
- resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.18.1.tgz#746339c08fca75c3f402d7e6b633687c3ffc6ee8"
+raven-js@^3.21.0:
+ version "3.21.0"
+ resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.21.0.tgz#609236eb0ec30faf696b552f842a80b426be6258"
rc@^1.1.7:
version "1.2.1"
@@ -2358,7 +2454,7 @@ read-pkg@^3.0.0:
normalize-package-data "^2.3.2"
path-type "^3.0.0"
-readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.2:
+readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
dependencies:
@@ -2370,6 +2466,15 @@ readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.1.4, readable
string_decoder "~1.0.3"
util-deprecate "~1.0.1"
+readdirp@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
+ dependencies:
+ graceful-fs "^4.1.2"
+ minimatch "^3.0.2"
+ readable-stream "^2.0.2"
+ set-immediate-shim "^1.0.1"
+
regenerator-runtime@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1"
@@ -2464,7 +2569,7 @@ resolve@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-resolve@^1.1.6, resolve@^1.3.2, resolve@^1.4.0:
+resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2, resolve@^1.4.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
dependencies:
@@ -2548,6 +2653,10 @@ set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+set-immediate-shim@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
+
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -2591,7 +2700,7 @@ sntp@2.x.x:
dependencies:
hoek "4.x.x"
-source-map-support@^0.4.0, source-map-support@^0.4.15:
+source-map-support@^0.4.15:
version "0.4.18"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
dependencies:
@@ -2731,6 +2840,12 @@ strip-json-comments@^2.0.0, strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+subarg@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2"
+ dependencies:
+ minimist "^1.1.0"
+
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
@@ -2816,49 +2931,51 @@ trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
-ts-jest@^21.2.2:
- version "21.2.2"
- resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-21.2.2.tgz#60bd8a6bc599cf746bfa054600ba5694d3f39ebc"
+ts-jest@^21.2.4:
+ version "21.2.4"
+ resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-21.2.4.tgz#8fbcfbfbf0c58cced10dcc34a5190acc8c5312ef"
dependencies:
babel-core "^6.24.1"
babel-plugin-istanbul "^4.1.4"
babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
babel-preset-jest "^21.2.0"
- fs-extra "^4.0.0"
+ cpx "^1.5.0"
+ fs-extra "^4.0.2"
jest-config "^21.2.1"
- jest-util "^21.2.1"
pkg-dir "^2.0.0"
source-map-support "^0.5.0"
yargs "^10.0.3"
-ts-loader@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-3.1.1.tgz#602d93c12029eaf8fa1ee478a90785d40c5f6658"
+ts-loader@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-3.2.0.tgz#23211922179b81f7448754b7fdfca45b8374a15a"
dependencies:
chalk "^2.3.0"
enhanced-resolve "^3.0.0"
loader-utils "^1.0.2"
semver "^5.0.1"
-ts-node@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-3.3.0.tgz#c13c6a3024e30be1180dd53038fc209289d4bf69"
+ts-node@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-4.0.2.tgz#cb3d039b9898fdc79ad09ab7e69c84564c8c41ee"
dependencies:
arrify "^1.0.0"
- chalk "^2.0.0"
+ chalk "^2.3.0"
diff "^3.1.0"
make-error "^1.1.1"
minimist "^1.2.0"
mkdirp "^0.5.1"
- source-map-support "^0.4.0"
- tsconfig "^6.0.0"
+ source-map-support "^0.5.0"
+ tsconfig "^7.0.0"
v8flags "^3.0.0"
yn "^2.0.0"
-tsconfig@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-6.0.0.tgz#6b0e8376003d7af1864f8df8f89dd0059ffcd032"
+tsconfig@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7"
dependencies:
+ "@types/strip-bom" "^3.0.0"
+ "@types/strip-json-comments" "0.0.30"
strip-bom "^3.0.0"
strip-json-comments "^2.0.0"
@@ -2924,9 +3041,9 @@ typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-typescript@^2.6.1:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.1.tgz#ef39cdea27abac0b500242d6726ab90e0c846631"
+typescript@^2.6.2:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4"
uglify-js@^2.6:
version "2.8.29"
diff --git a/packages/core/__mocks__/MockAdapter.ts b/packages/core/__mocks__/MockAdapter.ts
index 8b9d35fa442a..a6c061e26455 100644
--- a/packages/core/__mocks__/MockAdapter.ts
+++ b/packages/core/__mocks__/MockAdapter.ts
@@ -16,7 +16,7 @@ export class MockAdapter implements Sentry.IAdapter {
return Promise.resolve(true);
}
- public setOptions(options: IMockAdapterOptions) {
+ public async setOptions(options: IMockAdapterOptions) {
// We need nothing here
return this;
}
@@ -43,19 +43,23 @@ export class MockAdapter implements Sentry.IAdapter {
return Promise.resolve(event);
}
- public setUserContext(user?: Sentry.IUser) {
+ public async setUserContext(user?: Sentry.IUser) {
return this;
}
- public setTagsContext(tags?: { [key: string]: any }) {
+ public async setTagsContext(tags?: { [key: string]: any }) {
return this;
}
- public setExtraContext(extra?: { [key: string]: any }) {
+ public async setExtraContext(extra?: { [key: string]: any }) {
return this;
}
- public clearContext() {
+ public async clearContext() {
+ return this;
+ }
+
+ public async setRelease(release: string) {
return this;
}
}
diff --git a/packages/core/__tests__/client.ts b/packages/core/__tests__/client.ts
index 79c71ea39909..5ca9a0f54b61 100644
--- a/packages/core/__tests__/client.ts
+++ b/packages/core/__tests__/client.ts
@@ -29,6 +29,9 @@ describe('Sentry.Client', () => {
expect(() => {
new Sentry.Client('//username:password@domain');
}).toThrow();
+ expect(() => {
+ new Sentry.Client('https://username:@domain');
+ }).toThrow();
expect(() => {
new Sentry.Client('123');
}).toThrow();
@@ -58,6 +61,16 @@ describe('Sentry.Client', () => {
expect(spy2).toHaveBeenCalledTimes(1);
});
+ test('multiple install calls on Adapter should only call once', async () => {
+ expect.assertions(1);
+ const sentry = new Sentry.Client(dsn);
+ sentry.use(MockAdapter, { testOption: true });
+ const spy1 = jest.spyOn(sentry.getAdapter(), 'install');
+ await sentry.install();
+ await sentry.install();
+ expect(spy1).toHaveBeenCalledTimes(1);
+ });
+
test('no registered Adapter', async () => {
expect.assertions(1);
const sentry = new Sentry.Client(dsn);
@@ -147,4 +160,21 @@ describe('Sentry.Client', () => {
sentry.log('This is fine');
expect(spy).toBeCalled();
});
+
+ test('should throw error without calling install', async () => {
+ expect.assertions(1);
+ const sentry = new Sentry.Client(dsn).use(MockAdapter);
+ return expect(sentry.captureException(new Error('oops'))).rejects.toEqual({
+ message: 'Please call install() before calling other methods on Sentry',
+ name: 'SentryError',
+ });
+ });
+
+ test('call setRelease on Adapter', async () => {
+ expect.assertions(1);
+ const sentry = await new Sentry.Client(dsn).use(MockAdapter).install();
+ const spy = jest.spyOn(sentry.getAdapter(), 'setRelease');
+ await sentry.setRelease('#oops');
+ expect(spy).toBeCalled();
+ });
});
diff --git a/packages/core/__tests__/context.ts b/packages/core/__tests__/context.ts
index 9814999bb630..7ac1661595c9 100644
--- a/packages/core/__tests__/context.ts
+++ b/packages/core/__tests__/context.ts
@@ -1,6 +1,6 @@
///
+import { MockAdapter } from '../__mocks__/MockAdapter';
import * as Sentry from '../index';
-import {MockAdapter} from '../__mocks__/MockAdapter';
const dsn = 'https://username:password@domain/path';
@@ -9,60 +9,65 @@ beforeEach(() => {
});
describe('Sentry.Client context', () => {
- test('set tags', () => {
- let sentry = new Sentry.Client('https://username:password@domain/path');
- let adapter = sentry.use(MockAdapter);
- let spy1 = jest.spyOn(adapter, 'setTagsContext');
- sentry.setTagsContext({yo: 12});
- expect(sentry.getContext()).toEqual({tags: {yo: 12}});
+ test('set tags', async () => {
+ expect.assertions(2);
+ const sentry = new Sentry.Client('https://username:password@domain/path');
+ const adapter = await sentry.use(MockAdapter).install();
+ const spy1 = jest.spyOn(adapter, 'setTagsContext');
+ await sentry.setTagsContext({ yo: 12 });
+ expect(sentry.getContext()).toEqual({ tags: { yo: 12 } });
expect(spy1).toHaveBeenCalledTimes(1);
});
- test('set extra and tags', () => {
- let sentry = new Sentry.Client('https://username:password@domain/path');
- let adapter = sentry.use(MockAdapter);
- let spy1 = jest.spyOn(adapter, 'setExtraContext');
- sentry.setTagsContext({yo: 12});
- expect(sentry.getContext()).toEqual({tags: {yo: 12}});
- sentry.setExtraContext({foo: 13});
- expect(sentry.getContext()).toEqual({tags: {yo: 12}, extra: {foo: 13}});
+ test('set extra and tags', async () => {
+ expect.assertions(3);
+ const sentry = new Sentry.Client('https://username:password@domain/path');
+ const adapter = await sentry.use(MockAdapter).install();
+ const spy1 = jest.spyOn(adapter, 'setExtraContext');
+ await sentry.setTagsContext({ yo: 12 });
+ expect(sentry.getContext()).toEqual({ tags: { yo: 12 } });
+ await sentry.setExtraContext({ foo: 13 });
+ expect(sentry.getContext()).toEqual({ tags: { yo: 12 }, extra: { foo: 13 } });
expect(spy1).toHaveBeenCalledTimes(1);
});
- test('clear context', () => {
- let sentry = new Sentry.Client('https://username:password@domain/path');
- let adapter = sentry.use(MockAdapter);
- let spy1 = jest.spyOn(adapter, 'clearContext');
- sentry.setTagsContext({yo: 12});
- expect(sentry.getContext()).toEqual({tags: {yo: 12}});
- sentry.clearContext();
+ test('clear context', async () => {
+ expect.assertions(3);
+ const sentry = new Sentry.Client('https://username:password@domain/path');
+ const adapter = await sentry.use(MockAdapter).install();
+ const spy1 = jest.spyOn(adapter, 'clearContext');
+ await sentry.setTagsContext({ yo: 12 });
+ expect(sentry.getContext()).toEqual({ tags: { yo: 12 } });
+ await sentry.clearContext();
expect(sentry.getContext()).toEqual({});
expect(spy1).toHaveBeenCalledTimes(1);
});
- test('set undefined', () => {
- let sentry = new Sentry.Client('https://username:password@domain/path');
- let adapter = sentry.use(MockAdapter);
- sentry.setTagsContext(undefined);
+ test('set undefined', async () => {
+ expect.assertions(5);
+ const sentry = new Sentry.Client('https://username:password@domain/path');
+ const adapter = await sentry.use(MockAdapter).install();
+ await sentry.setTagsContext(undefined);
expect(sentry.getContext()).toEqual({});
- sentry.setTagsContext({yo: 12});
- expect(sentry.getContext()).toEqual({tags: {yo: 12}});
- sentry.setTagsContext(undefined);
+ await sentry.setTagsContext({ yo: 12 });
+ expect(sentry.getContext()).toEqual({ tags: { yo: 12 } });
+ await sentry.setTagsContext(undefined);
expect(sentry.getContext()).toEqual({});
- sentry.setExtraContext(undefined);
+ await sentry.setExtraContext(undefined);
expect(sentry.getContext()).toEqual({});
- sentry.clearContext();
+ await sentry.clearContext();
expect(sentry.getContext()).toEqual({});
});
- test('set user', () => {
- let sentry = new Sentry.Client('https://username:password@domain/path');
- let adapter = sentry.use(MockAdapter);
- sentry.setUserContext({
- id: 'test'
+ test('set user', async () => {
+ expect.assertions(2);
+ const sentry = new Sentry.Client('https://username:password@domain/path');
+ const adapter = await sentry.use(MockAdapter).install();
+ await sentry.setUserContext({
+ id: 'test',
});
- expect(sentry.getContext()).toEqual({user: {id: 'test'}});
- sentry.clearContext();
+ expect(sentry.getContext()).toEqual({ user: { id: 'test' } });
+ await sentry.clearContext();
expect(sentry.getContext()).toEqual({});
});
});
diff --git a/packages/core/lib/Adapter.ts b/packages/core/lib/Adapter.ts
index eead6802a4ef..c7542ce91130 100644
--- a/packages/core/lib/Adapter.ts
+++ b/packages/core/lib/Adapter.ts
@@ -3,16 +3,16 @@ import { Event, IBreadcrumb, IUser } from './Interfaces';
export interface IAdapter {
readonly options: {};
install(): Promise;
- setOptions(options: {}): IAdapter;
+ setOptions(options: {}): Promise;
send(event: Event): Promise;
captureException(exception: Error): Promise;
captureMessage(message: string): Promise;
captureBreadcrumb(crumb: IBreadcrumb): Promise;
- // These should be removed at some point in the future
- // only the client should handle global stuff
- setUserContext?(user?: IUser): IAdapter;
- setTagsContext?(tags?: { [key: string]: any }): IAdapter;
- setExtraContext?(extra?: { [key: string]: any }): IAdapter;
- clearContext?(): IAdapter;
+ setRelease(release: string): Promise;
+
+ setUserContext(user?: IUser): Promise;
+ setTagsContext(tags?: { [key: string]: any }): Promise;
+ setExtraContext(extra?: { [key: string]: any }): Promise;
+ clearContext(): Promise;
}
diff --git a/packages/core/lib/Client.ts b/packages/core/lib/Client.ts
index 49b01fb04ab1..d99cbda94dcf 100644
--- a/packages/core/lib/Client.ts
+++ b/packages/core/lib/Client.ts
@@ -23,11 +23,6 @@ export class Client {
return this;
}
- public getContext() {
- // TODO: check for cyclic objects
- return JSON.parse(JSON.stringify(this._context));
- }
-
public getAdapter(): A {
if (!this._adapter) {
throw new SentryError('No adapter in use, please call .use()');
@@ -87,49 +82,44 @@ export class Client {
// -----------------------
+ public async setRelease(release: string) {
+ const adapter = await this.awaitAdapter();
+ await adapter.setRelease(release);
+ return this;
+ }
+
// ---------------- CONTEXT
- public setUserContext(user?: IUser) {
+ public getContext() {
+ // TODO: check for cyclic objects
+ return JSON.parse(JSON.stringify(this._context));
+ }
+
+ public async setUserContext(user?: IUser) {
Context.set(this._context, 'user', user);
- // TODO: Remove this once we moved code away from adapters
- const adapter = this.getAdapter();
- if (adapter.setUserContext) {
- adapter.setUserContext(user);
- }
- // -------------------------------------------------------
+ const adapter = await this.awaitAdapter();
+ await adapter.setUserContext(user);
return this;
}
- public setTagsContext(tags?: { [key: string]: any }) {
+ public async setTagsContext(tags?: { [key: string]: any }) {
Context.mergeIn(this._context, 'tags', tags);
- // TODO: Remove this once we moved code away from adapters
- const adapter = this.getAdapter();
- if (adapter.setTagsContext) {
- adapter.setTagsContext(tags);
- }
- // -------------------------------------------------------
+ const adapter = await this.awaitAdapter();
+ await adapter.setTagsContext(tags);
return this;
}
- public setExtraContext(extra?: { [key: string]: any }) {
+ public async setExtraContext(extra?: { [key: string]: any }) {
Context.mergeIn(this._context, 'extra', extra);
- // TODO: Remove this once we moved code away from adapters
- const adapter = this.getAdapter();
- if (adapter.setExtraContext) {
- adapter.setExtraContext(extra);
- }
- // -------------------------------------------------------
+ const adapter = await this.awaitAdapter();
+ await adapter.setExtraContext(extra);
return this;
}
- public clearContext() {
+ public async clearContext() {
this._context = Context.getDefaultContext();
- // TODO: Remove this once we moved code away from adapters
- const adapter = this.getAdapter();
- if (adapter.clearContext) {
- adapter.clearContext();
- }
- // -------------------------------------------------------
+ const adapter = await this.awaitAdapter();
+ await adapter.clearContext();
return this;
}
diff --git a/packages/core/package.json b/packages/core/package.json
index 45c16ccbf5d4..db85f1f9a77a 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@sentry/core",
- "version": "0.0.1",
+ "version": "0.2.1",
"description": "Sentry core implementation for all JavaScript related SDKs",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
@@ -9,17 +9,17 @@
},
"dependencies": {},
"devDependencies": {
- "@types/jest": "^21.1.2",
- "@types/node": "^8.0.32",
+ "@types/jest": "^21.1.8",
+ "@types/node": "^8.5.1",
"jest": "^21.2.1",
"npm-run-all": "^4.1.2",
- "prettier": "^1.8.0",
- "ts-jest": "21.2.2",
- "ts-node": "^3.3.0",
+ "prettier": "^1.9.2",
+ "ts-jest": "^21.2.4",
+ "ts-node": "^4.0.2",
"tslint": "^5.8.0",
"tslint-config-prettier": "^1.6.0",
"tslint-eslint-rules": "^4.1.1",
- "typescript": "2.6.1",
+ "typescript": "2.6.2",
"vrsource-tslint-rules": "^5.8.0"
},
"engines": {
@@ -36,12 +36,18 @@
"test": "npm-run-all dist test:browser test:node"
},
"jest": {
+ "globals": {
+ "ts-jest": {
+ "tsConfigFile": "./tsconfig.json"
+ }
+ },
+ "mapCoverage": true,
"collectCoverage": true,
"coveragePathIgnorePatterns": [
"dist"
],
"transform": {
- "^.+\\.tsx?$": "/node_modules/ts-jest/preprocessor.js"
+ "^.+\\.tsx?$": "ts-jest"
},
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
"moduleFileExtensions": [
diff --git a/packages/core/yarn.lock b/packages/core/yarn.lock
index 8cd069916934..709582d0056c 100644
--- a/packages/core/yarn.lock
+++ b/packages/core/yarn.lock
@@ -2,13 +2,21 @@
# yarn lockfile v1
-"@types/jest@^21.1.2":
- version "21.1.6"
- resolved "https://registry.yarnpkg.com/@types/jest/-/jest-21.1.6.tgz#9467945ce33261e4fdd14276576951aa130515aa"
+"@types/jest@^21.1.8":
+ version "21.1.8"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-21.1.8.tgz#d497213725684f1e5a37900b17a47c9c018f1a97"
-"@types/node@^8.0.32":
- version "8.0.51"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.51.tgz#b31d716fb8d58eeb95c068a039b9b6292817d5fb"
+"@types/node@^8.5.1":
+ version "8.5.1"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.1.tgz#4ec3020bcdfe2abffeef9ba3fbf26fca097514b5"
+
+"@types/strip-bom@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2"
+
+"@types/strip-json-comments@0.0.30":
+ version "0.0.30"
+ resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1"
abab@^1.0.3:
version "1.0.4"
@@ -158,6 +166,10 @@ astral-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
+async-each@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
+
async@^1.4.0:
version "1.5.2"
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
@@ -300,7 +312,7 @@ babel-register@^6.26.0:
mkdirp "^0.5.1"
source-map-support "^0.4.15"
-babel-runtime@^6.22.0, babel-runtime@^6.26.0:
+babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.9.2:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
dependencies:
@@ -354,6 +366,10 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
+binary-extensions@^1.0.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
+
block-stream@*:
version "0.0.9"
resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
@@ -442,7 +458,7 @@ chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
-chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0:
+chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
dependencies:
@@ -450,6 +466,21 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0:
escape-string-regexp "^1.0.5"
supports-color "^4.0.0"
+chokidar@^1.6.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
+ dependencies:
+ anymatch "^1.3.0"
+ async-each "^1.0.0"
+ glob-parent "^2.0.0"
+ inherits "^2.0.1"
+ is-binary-path "^1.0.0"
+ is-glob "^2.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.0.0"
+ optionalDependencies:
+ fsevents "^1.0.0"
+
ci-info@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.1.tgz#47b44df118c48d2597b56d342e7e25791060171a"
@@ -522,6 +553,22 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+cpx@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/cpx/-/cpx-1.5.0.tgz#185be018511d87270dedccc293171e37655ab88f"
+ dependencies:
+ babel-runtime "^6.9.2"
+ chokidar "^1.6.0"
+ duplexer "^0.1.1"
+ glob "^7.0.5"
+ glob2base "^0.0.12"
+ minimatch "^3.0.2"
+ mkdirp "^0.5.1"
+ resolve "^1.1.7"
+ safe-buffer "^5.0.1"
+ shell-quote "^1.6.1"
+ subarg "^1.0.0"
+
cross-spawn@^5.0.1, cross-spawn@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
@@ -624,7 +671,7 @@ doctrine@^0.7.2:
esutils "^1.1.6"
isarray "0.0.1"
-duplexer@~0.1.1:
+duplexer@^0.1.1, duplexer@~0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
@@ -805,6 +852,10 @@ fill-range@^2.1.0:
repeat-element "^1.1.2"
repeat-string "^1.5.2"
+find-index@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4"
+
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
@@ -856,9 +907,9 @@ from@~0:
version "0.1.7"
resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
-fs-extra@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b"
+fs-extra@^4.0.2:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
dependencies:
graceful-fs "^4.1.2"
jsonfile "^4.0.0"
@@ -868,7 +919,7 @@ fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
-fsevents@^1.1.1:
+fsevents@^1.0.0, fsevents@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8"
dependencies:
@@ -936,6 +987,12 @@ glob-parent@^2.0.0:
dependencies:
is-glob "^2.0.0"
+glob2base@^0.0.12:
+ version "0.0.12"
+ resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56"
+ dependencies:
+ find-index "^0.1.1"
+
glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
@@ -1095,7 +1152,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@~2.0.0, inherits@~2.0.3:
+inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
@@ -1117,6 +1174,12 @@ is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+is-binary-path@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ dependencies:
+ binary-extensions "^1.0.0"
+
is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
@@ -1780,7 +1843,7 @@ minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-minimist@^1.1.1, minimist@^1.2.0:
+minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
@@ -2096,9 +2159,9 @@ preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
-prettier@^1.8.0:
- version "1.8.2"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.8.2.tgz#bff83e7fd573933c607875e5ba3abbdffb96aeb8"
+prettier@^1.9.2:
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.9.2.tgz#96bc2132f7a32338e6078aeb29727178c6335827"
pretty-format@^21.2.1:
version "21.2.1"
@@ -2195,7 +2258,7 @@ read-pkg@^3.0.0:
normalize-package-data "^2.3.2"
path-type "^3.0.0"
-readable-stream@^2.0.6, readable-stream@^2.1.4:
+readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4:
version "2.3.3"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
dependencies:
@@ -2207,6 +2270,15 @@ readable-stream@^2.0.6, readable-stream@^2.1.4:
string_decoder "~1.0.3"
util-deprecate "~1.0.1"
+readdirp@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
+ dependencies:
+ graceful-fs "^4.1.2"
+ minimatch "^3.0.2"
+ readable-stream "^2.0.2"
+ set-immediate-shim "^1.0.1"
+
regenerator-runtime@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1"
@@ -2301,7 +2373,7 @@ resolve@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-resolve@^1.3.2:
+resolve@^1.1.7, resolve@^1.3.2:
version "1.5.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
dependencies:
@@ -2349,6 +2421,10 @@ set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+set-immediate-shim@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
+
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -2392,7 +2468,7 @@ sntp@2.x.x:
dependencies:
hoek "4.x.x"
-source-map-support@^0.4.0, source-map-support@^0.4.15:
+source-map-support@^0.4.15:
version "0.4.18"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
dependencies:
@@ -2532,6 +2608,12 @@ strip-json-comments@^2.0.0, strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+subarg@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2"
+ dependencies:
+ minimist "^1.1.0"
+
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
@@ -2613,40 +2695,42 @@ trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
-ts-jest@21.2.2:
- version "21.2.2"
- resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-21.2.2.tgz#60bd8a6bc599cf746bfa054600ba5694d3f39ebc"
+ts-jest@^21.2.4:
+ version "21.2.4"
+ resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-21.2.4.tgz#8fbcfbfbf0c58cced10dcc34a5190acc8c5312ef"
dependencies:
babel-core "^6.24.1"
babel-plugin-istanbul "^4.1.4"
babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
babel-preset-jest "^21.2.0"
- fs-extra "^4.0.0"
+ cpx "^1.5.0"
+ fs-extra "^4.0.2"
jest-config "^21.2.1"
- jest-util "^21.2.1"
pkg-dir "^2.0.0"
source-map-support "^0.5.0"
yargs "^10.0.3"
-ts-node@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-3.3.0.tgz#c13c6a3024e30be1180dd53038fc209289d4bf69"
+ts-node@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-4.0.2.tgz#cb3d039b9898fdc79ad09ab7e69c84564c8c41ee"
dependencies:
arrify "^1.0.0"
- chalk "^2.0.0"
+ chalk "^2.3.0"
diff "^3.1.0"
make-error "^1.1.1"
minimist "^1.2.0"
mkdirp "^0.5.1"
- source-map-support "^0.4.0"
- tsconfig "^6.0.0"
+ source-map-support "^0.5.0"
+ tsconfig "^7.0.0"
v8flags "^3.0.0"
yn "^2.0.0"
-tsconfig@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-6.0.0.tgz#6b0e8376003d7af1864f8df8f89dd0059ffcd032"
+tsconfig@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7"
dependencies:
+ "@types/strip-bom" "^3.0.0"
+ "@types/strip-json-comments" "0.0.30"
strip-bom "^3.0.0"
strip-json-comments "^2.0.0"
@@ -2708,9 +2792,9 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
-typescript@2.6.1:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.1.tgz#ef39cdea27abac0b500242d6726ab90e0c846631"
+typescript@2.6.2:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4"
uglify-js@^2.6:
version "2.8.29"