From daeccb99e926ed911d16718fb3d7acee53b8ac63 Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Wed, 29 Jul 2020 09:19:39 -0700 Subject: [PATCH 01/33] updating to latest karma --- package-lock.json | 695 ++++++++++++++++++++++++++++++---------------- package.json | 4 +- 2 files changed, 452 insertions(+), 247 deletions(-) diff --git a/package-lock.json b/package-lock.json index 07212d72..c34b05cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -745,6 +745,12 @@ "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==", "dev": true }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, "@types/dom-mediacapture-record": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@types/dom-mediacapture-record/-/dom-mediacapture-record-1.0.4.tgz", @@ -2442,9 +2448,9 @@ "dev": true }, "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", "dev": true }, "basic-auth": { @@ -2690,28 +2696,6 @@ "isarray": "^1.0.0" } }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -3414,9 +3398,9 @@ } }, "date-format": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", - "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", + "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==", "dev": true }, "debug": { @@ -3785,64 +3769,91 @@ } }, "engine.io": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", - "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.2.tgz", + "integrity": "sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==", "dev": true, "requires": { "accepts": "~1.3.4", - "base64id": "1.0.0", + "base64id": "2.0.0", "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "^7.1.2" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, "engine.io-client": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", - "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.3.tgz", + "integrity": "sha512-0NGY+9hioejTEJCaSJZfWZLk4FPI9dN+1H1C4+wj2iuFba47UgZbJzfWs4aNFajnX/qAaYKbe2lLTfEEWzCmcw==", "dev": true, "requires": { - "component-emitter": "1.2.1", + "component-emitter": "~1.3.0", "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", "has-cors": "1.1.0", "indexof": "0.0.1", "parseqs": "0.0.5", "parseuri": "0.0.5", - "ws": "~3.3.1", + "ws": "~6.1.0", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" }, "dependencies": { + "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 + }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" } } } }, "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", + "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", "dev": true, "requires": { "after": "0.8.2", @@ -6443,13 +6454,10 @@ "dev": true }, "isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", - "dev": true, - "requires": { - "buffer-alloc": "^1.2.0" - } + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz", + "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==", + "dev": true }, "isexe": { "version": "2.0.0", @@ -6759,43 +6767,57 @@ } }, "karma": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/karma/-/karma-4.4.1.tgz", - "integrity": "sha512-L5SIaXEYqzrh6b1wqYC42tNsFMx2PWuxky84pK9coK09MvmL7mxii3G3bZBh/0rvD27lqDd0le9jyhzvwif73A==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-5.1.1.tgz", + "integrity": "sha512-xAlOr5PMqUbiKXSv5PCniHWV3aiwj6wIZ0gUVcwpTCPVQm/qH2WAMFWxtnpM6KJqhkRWrIpovR4Rb0rn8GtJzQ==", "dev": true, "requires": { - "bluebird": "^3.3.0", - "body-parser": "^1.16.1", + "body-parser": "^1.19.0", "braces": "^3.0.2", "chokidar": "^3.0.0", - "colors": "^1.1.0", - "connect": "^3.6.0", + "colors": "^1.4.0", + "connect": "^3.7.0", "di": "^0.0.1", - "dom-serialize": "^2.2.0", - "flatted": "^2.0.0", - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "http-proxy": "^1.13.0", - "isbinaryfile": "^3.0.0", - "lodash": "^4.17.14", - "log4js": "^4.0.0", - "mime": "^2.3.1", - "minimatch": "^3.0.2", - "optimist": "^0.6.1", - "qjobs": "^1.1.4", - "range-parser": "^1.2.0", - "rimraf": "^2.6.0", - "safe-buffer": "^5.0.1", - "socket.io": "2.1.1", + "dom-serialize": "^2.2.1", + "flatted": "^2.0.2", + "glob": "^7.1.6", + "graceful-fs": "^4.2.4", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.6", + "lodash": "^4.17.15", + "log4js": "^6.2.1", + "mime": "^2.4.5", + "minimatch": "^3.0.4", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^2.3.0", "source-map": "^0.6.1", - "tmp": "0.0.33", - "useragent": "2.3.0" + "tmp": "0.2.1", + "ua-parser-js": "0.7.21", + "yargs": "^15.3.1" }, "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", "dev": true }, "braces": { @@ -6808,9 +6830,9 @@ } }, "chokidar": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", - "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz", + "integrity": "sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==", "dev": true, "requires": { "anymatch": "~3.1.1", @@ -6820,9 +6842,47 @@ "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.3.0" + "readdirp": "~3.4.0" } }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -6832,22 +6892,58 @@ "to-regex-range": "^5.0.1" } }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, "fsevents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", - "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", "dev": true, "optional": true }, + "glob": { + "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", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, + "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 + }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -6857,25 +6953,64 @@ "binary-extensions": "^2.0.0" } }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", + "dev": true + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "dev": true }, "readdirp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", - "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", "dev": true, "requires": { - "picomatch": "^2.0.7" + "picomatch": "^2.2.1" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" } }, "source-map": { @@ -6884,6 +7019,35 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -6892,6 +7056,52 @@ "requires": { "is-number": "^7.0.0" } + }, + "ua-parser-js": { + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz", + "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -6960,20 +7170,12 @@ } }, "karma-mocha": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz", - "integrity": "sha1-7qrH/8DiAetjxGdEDStpx883eL8=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-2.0.1.tgz", + "integrity": "sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==", "dev": true, "requires": { - "minimist": "1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } + "minimist": "^1.2.3" } }, "karma-safari-launcher": { @@ -7666,16 +7868,16 @@ } }, "log4js": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.5.1.tgz", - "integrity": "sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", + "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", "dev": true, "requires": { - "date-format": "^2.0.0", + "date-format": "^3.0.0", "debug": "^4.1.1", - "flatted": "^2.0.0", + "flatted": "^2.0.1", "rfdc": "^1.1.4", - "streamroller": "^1.0.6" + "streamroller": "^2.2.4" }, "dependencies": { "debug": { @@ -7687,6 +7889,12 @@ "ms": "^2.1.1" } }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -8568,30 +8776,6 @@ "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", "dev": true }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } - } - }, "optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", @@ -8788,6 +8972,12 @@ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", "dev": true }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -9913,27 +10103,33 @@ } }, "socket.io": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", - "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", + "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", "dev": true, "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", + "debug": "~4.1.0", + "engine.io": "~3.4.0", "has-binary2": "~1.0.2", "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" + "socket.io-client": "2.3.0", + "socket.io-parser": "~3.4.0" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -9944,56 +10140,34 @@ "dev": true }, "socket.io-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", - "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", "dev": true, "requires": { "backo2": "1.0.2", "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.2.0", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", "has-binary2": "~1.0.2", "has-cors": "1.1.0", "indexof": "0.0.1", "object-component": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", - "socket.io-parser": "~3.2.0", + "socket.io-parser": "~3.3.0", "to-array": "0.1.4" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.0.0" - } - } - } - }, - "socket.io-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", - "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "isarray": { @@ -10001,6 +10175,74 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "socket.io-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", + "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + } + } + }, + "socket.io-parser": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", + "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -10193,47 +10435,31 @@ "dev": true }, "streamroller": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz", - "integrity": "sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz", + "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==", "dev": true, "requires": { - "async": "^2.6.2", - "date-format": "^2.0.0", - "debug": "^3.2.6", - "fs-extra": "^7.0.1", - "lodash": "^4.17.14" + "date-format": "^2.1.0", + "debug": "^4.1.1", + "fs-extra": "^8.1.0" }, "dependencies": { - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } + "date-format": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", + "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", + "dev": true }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { "ms": "^2.1.1" } }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -10941,12 +11167,6 @@ } } }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, "union": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", @@ -11109,16 +11329,6 @@ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, - "useragent": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", - "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", - "dev": true, - "requires": { - "lru-cache": "4.1.x", - "tmp": "0.0.x" - } - }, "util": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", @@ -11640,15 +11850,10 @@ } }, "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", + "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", + "dev": true }, "xml-name-validator": { "version": "3.0.0", diff --git a/package.json b/package.json index 36324d26..947a6e7a 100644 --- a/package.json +++ b/package.json @@ -78,11 +78,11 @@ "http-server": "^0.12.3", "istanbul-instrumenter-loader": "^3.0.1", "jsdom": "^16.3.0", - "karma": "^4.4.1", + "karma": "^5.1.1", "karma-chrome-launcher": "^2.2.0", "karma-coverage": "^2.0.2", "karma-firefox-launcher": "^1.3.0", - "karma-mocha": "^1.3.0", + "karma-mocha": "^2.0.1", "karma-safari-launcher": "^1.0.0", "karma-sourcemap-loader": "^0.3.7", "karma-spec-reporter": "0.0.32", From 078160603ad6362624069f9dff310bdc22c72e67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Jul 2020 01:27:07 +0000 Subject: [PATCH 02/33] Bump elliptic from 6.4.0 to 6.5.3 Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.0 to 6.5.3. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.4.0...v6.5.3) Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index c34b05cb..74168b7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3716,9 +3716,9 @@ "dev": true }, "elliptic": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", "dev": true, "requires": { "bn.js": "^4.4.0", From 3577ddac9b16b26b06c64b254529c5943482eb1b Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Sun, 2 Aug 2020 14:29:36 -0700 Subject: [PATCH 03/33] adding portamento tests --- test/helper/InstrumentTests.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/helper/InstrumentTests.ts b/test/helper/InstrumentTests.ts index a0ddaa82..bc4976f9 100644 --- a/test/helper/InstrumentTests.ts +++ b/test/helper/InstrumentTests.ts @@ -218,5 +218,17 @@ export function InstrumentTest(Constr, note, constrArg?, optionsIndex?): void { } }, 3); }); + + it("can do portamento glide between notes", () => { + return Offline(() => { + const instance = new Constr(constrArg); + if (instance instanceof Monophonic) { + instance.portamento = 0.5; + instance.triggerAttackRelease("C4", 0.2, 0); + expect(instance.getLevelAtTime(0.4)).to.be.greaterThan(0); + instance.triggerAttackRelease("C2", 0.2, 0.4); + } + }, 0.5); + }); }); } From a58f326e41dd46a19796ef41154c589a0b3bf3d6 Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Mon, 3 Aug 2020 18:21:17 -0700 Subject: [PATCH 04/33] better examples in comments --- Tone/core/context/Context.ts | 2 ++ Tone/core/context/ToneWithContext.ts | 13 +++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Tone/core/context/Context.ts b/Tone/core/context/Context.ts index a629a675..a0630351 100644 --- a/Tone/core/context/Context.ts +++ b/Tone/core/context/Context.ts @@ -382,6 +382,8 @@ export class Context extends BaseContext { * const context = new Tone.Context({ latencyHint: "playback" }); * // set this context as the global Context * Tone.setContext(context); + * // the global context is gettable with Tone.getContext() + * console.log(Tone.getContext().latencyHint); */ get latencyHint(): ContextLatencyHint | Seconds { return this._latencyHint; diff --git a/Tone/core/context/ToneWithContext.ts b/Tone/core/context/ToneWithContext.ts index c7807fa5..52ebc8ed 100644 --- a/Tone/core/context/ToneWithContext.ts +++ b/Tone/core/context/ToneWithContext.ts @@ -95,10 +95,13 @@ export abstract class ToneWithContext ex } /** - * Convert the incoming time to seconds + * Convert the incoming time to seconds. + * This is calculated against the current [[Tone.Transport]] bpm * @example * const gain = new Tone.Gain(); - * console.log(gain.toSeconds("4n")); + * setInterval(() => console.log(gain.toSeconds("4n")), 100); + * // ramp the tempo to 60 bpm over 30 seconds + * Tone.getTransport().bpm.rampTo(60, 30); */ toSeconds(time?: Time): Seconds { return new TimeClass(this.context, time).toSeconds(); @@ -173,12 +176,14 @@ export abstract class ToneWithContext ex /** * Set multiple properties at once with an object. * @example - * const filter = new Tone.Filter(); + * const filter = new Tone.Filter().toDestination(); * // set values using an object * filter.set({ - * frequency: 300, + * frequency: "C6", * type: "highpass" * }); + * const player = new Tone.Player("https://tonejs.github.io/audio/berklee/Analogsynth_octaves_highmid.mp3").connect(filter); + * player.autostart = true; */ set(props: RecursivePartial): this { Object.keys(props).forEach(attribute => { From ed8bb4ddcf51d8f4a26faad20ce8cf6f274e8515 Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Thu, 6 Aug 2020 12:58:02 -0700 Subject: [PATCH 05/33] updating omnioscillator options --- Tone/instrument/ModulationSynth.ts | 4 ++-- Tone/instrument/MonoSynth.ts | 2 +- Tone/instrument/Synth.ts | 4 ++-- Tone/source/oscillator/OmniOscillator.ts | 8 ++++---- Tone/source/oscillator/OscillatorInterface.ts | 11 +---------- 5 files changed, 10 insertions(+), 19 deletions(-) diff --git a/Tone/instrument/ModulationSynth.ts b/Tone/instrument/ModulationSynth.ts index 3c3bd03c..b67dd834 100644 --- a/Tone/instrument/ModulationSynth.ts +++ b/Tone/instrument/ModulationSynth.ts @@ -140,7 +140,7 @@ export abstract class ModulationSynth ex { type: "sine" } - ), + ) as OmniOscillatorSynthOptions, envelope: Object.assign( omitFromObject( Envelope.getDefaults(), @@ -162,7 +162,7 @@ export abstract class ModulationSynth ex { type: "square" } - ), + ) as OmniOscillatorSynthOptions, modulationEnvelope: Object.assign( omitFromObject( Envelope.getDefaults(), diff --git a/Tone/instrument/MonoSynth.ts b/Tone/instrument/MonoSynth.ts index ff627cc6..a9efe911 100644 --- a/Tone/instrument/MonoSynth.ts +++ b/Tone/instrument/MonoSynth.ts @@ -131,7 +131,7 @@ export class MonoSynth extends Monophonic { { type: "sawtooth", }, - ), + ) as OmniOscillatorSynthOptions, }); } diff --git a/Tone/instrument/Synth.ts b/Tone/instrument/Synth.ts index adff154c..27ff67ef 100644 --- a/Tone/instrument/Synth.ts +++ b/Tone/instrument/Synth.ts @@ -7,7 +7,7 @@ import { readOnly } from "../core/util/Interface"; import { RecursivePartial } from "../core/util/Interface"; import { Signal } from "../signal/Signal"; import { OmniOscillator } from "../source/oscillator/OmniOscillator"; -import { OmniOscillatorSynthOptions } from "../source/oscillator/OscillatorInterface"; +import { OmniOscillatorOptions, OmniOscillatorSynthOptions } from "../source/oscillator/OscillatorInterface"; import { Source } from "../source/Source"; import { Monophonic, MonophonicOptions } from "./Monophonic"; @@ -94,7 +94,7 @@ export class Synth extends Monophon { type: "triangle", }, - ), + ) as OmniOscillatorOptions, }); } diff --git a/Tone/source/oscillator/OmniOscillator.ts b/Tone/source/oscillator/OmniOscillator.ts index d6c5afd3..a21f6f9f 100644 --- a/Tone/source/oscillator/OmniOscillator.ts +++ b/Tone/source/oscillator/OmniOscillator.ts @@ -10,7 +10,7 @@ import { FMOscillator } from "./FMOscillator"; import { Oscillator } from "./Oscillator"; import { generateWaveform, - OmniOscillatorConstructorOptions, OmniOscillatorOptions, + OmniOscillatorOptions, OmniOscillatorType, ToneOscillatorInterface, ToneOscillatorType } from "./OscillatorInterface"; import { PulseOscillator } from "./PulseOscillator"; @@ -69,7 +69,7 @@ const OmniOscillatorSourceMap: { * @category Source */ export class OmniOscillator - extends Source + extends Source implements Omit { readonly name: string = "OmniOscillator"; @@ -92,7 +92,7 @@ export class OmniOscillator * @param type The type of the oscillator. */ constructor(frequency?: Frequency, type?: OmniOscillatorType); - constructor(options?: Partial); + constructor(options?: Partial); constructor() { super(optionsFromArguments(OmniOscillator.getDefaults(), arguments, ["frequency", "type"])); @@ -212,7 +212,7 @@ export class OmniOscillator } } - set(props: Partial): this { + set(props: Partial): this { // make sure the type is set first if (Reflect.has(props, "type") && props.type) { this.type = props.type; diff --git a/Tone/source/oscillator/OscillatorInterface.ts b/Tone/source/oscillator/OscillatorInterface.ts index 61367154..f3996d80 100644 --- a/Tone/source/oscillator/OscillatorInterface.ts +++ b/Tone/source/oscillator/OscillatorInterface.ts @@ -442,22 +442,13 @@ export type OmniOscillatorType = "amsine" | "amsquare" | "amsawtooth" | "amtriangle" | "amcustom" | AMTypeWithPartials | TypeWithPartials | OscillatorType | "pulse" | "pwm"; -export type OmniOscillatorConstructorOptions = +export type OmniOscillatorOptions = PulseOscillatorOptions | PWMOscillatorOptions | OmniFatCustomOscillatorOptions | OmniFatTypeOscillatorOptions | OmniFatPartialsOscillatorOptions | OmniFMCustomOscillatorOptions | OmniFMTypeOscillatorOptions | OmniFMPartialsOscillatorOptions | OmniAMCustomOscillatorOptions | OmniAMTypeOscillatorOptions | OmniAMPartialsOscillatorOptions | ToneOscillatorConstructorOptions; -// export type OmniOscillatorSourceOptions = OmniOscillatorConstructorOptions & SourceOptions; - -export type OmniOscillatorOptions = - PulseOscillatorOptions & PWMOscillatorOptions & - OmniFatCustomOscillatorOptions & OmniFatTypeOscillatorOptions & OmniFatPartialsOscillatorOptions & - OmniFMCustomOscillatorOptions & OmniFMTypeOscillatorOptions & OmniFMPartialsOscillatorOptions & - OmniAMCustomOscillatorOptions & OmniAMTypeOscillatorOptions & OmniAMPartialsOscillatorOptions & - ToneOscillatorConstructorOptions; - type OmitSourceOptions = Omit; /** From 826a51d5943e87776869522640b41feff7cf3daf Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Sat, 22 Aug 2020 10:13:32 -0400 Subject: [PATCH 06/33] clearing the 'implicitEnd' event off the timeline fixes #711 --- Tone/source/buffer/Player.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tone/source/buffer/Player.ts b/Tone/source/buffer/Player.ts index b1dd1750..c950a1df 100644 --- a/Tone/source/buffer/Player.ts +++ b/Tone/source/buffer/Player.ts @@ -159,6 +159,8 @@ export class Player extends Source { this._activeSources.delete(source); if (this._activeSources.size === 0 && !this._synced && this._state.getValueAtTime(this.now()) === "started") { + // remove the 'implicitEnd' event and replace with an explicit end + this._state.cancel(this.now()); this._state.setStateAtTime("stopped", this.now()); } } From 75f591a40a05dacdf65759b3c3a63f1540ef5f85 Mon Sep 17 00:00:00 2001 From: Astray-git Date: Wed, 26 Aug 2020 16:58:14 +0800 Subject: [PATCH 07/33] fix: should set _sync in this.sync --- Tone/instrument/Instrument.ts | 15 +++++++++++++-- Tone/instrument/NoiseSynth.ts | 6 ++++-- Tone/instrument/PolySynth.ts | 6 ++++-- Tone/instrument/Sampler.ts | 6 ++++-- test/helper/InstrumentTests.ts | 33 +++++++++++++++++++++++++++++++++ 5 files changed, 58 insertions(+), 8 deletions(-) diff --git a/Tone/instrument/Instrument.ts b/Tone/instrument/Instrument.ts index 6ee6e8d1..a7e20f1a 100644 --- a/Tone/instrument/Instrument.ts +++ b/Tone/instrument/Instrument.ts @@ -80,14 +80,25 @@ export abstract class Instrument extends Tone * Tone.Transport.start(); */ sync(): this { - if (!this._synced) { - this._synced = true; + if (this._syncState()) { this._syncMethod("triggerAttack", 1); this._syncMethod("triggerRelease", 0); } return this; } + /** + * set _sync + */ + protected _syncState(): boolean { + let changed = false; + if (!this._synced) { + this._synced = true; + changed = true; + } + return changed; + } + /** * Wrap the given method so that it can be synchronized * @param method Which method to wrap and sync diff --git a/Tone/instrument/NoiseSynth.ts b/Tone/instrument/NoiseSynth.ts index 78584f7f..38781e05 100644 --- a/Tone/instrument/NoiseSynth.ts +++ b/Tone/instrument/NoiseSynth.ts @@ -103,8 +103,10 @@ export class NoiseSynth extends Instrument { } sync(): this { - this._syncMethod("triggerAttack", 0); - this._syncMethod("triggerRelease", 0); + if (this._syncState()) { + this._syncMethod("triggerAttack", 0); + this._syncMethod("triggerRelease", 0); + } return this; } diff --git a/Tone/instrument/PolySynth.ts b/Tone/instrument/PolySynth.ts index ad0ad93d..8daa23b7 100644 --- a/Tone/instrument/PolySynth.ts +++ b/Tone/instrument/PolySynth.ts @@ -334,8 +334,10 @@ export class PolySynth = Synth> extends Instrument } sync(): this { - this._syncMethod("triggerAttack", 1); - this._syncMethod("triggerRelease", 1); + if (this._syncState()) { + this._syncMethod("triggerAttack", 1); + this._syncMethod("triggerRelease", 1); + } return this; } diff --git a/Tone/instrument/Sampler.ts b/Tone/instrument/Sampler.ts index 4e50833e..c7ba3951 100644 --- a/Tone/instrument/Sampler.ts +++ b/Tone/instrument/Sampler.ts @@ -254,8 +254,10 @@ export class Sampler extends Instrument { } sync(): this { - this._syncMethod("triggerAttack", 1); - this._syncMethod("triggerRelease", 1); + if (this._syncState()) { + this._syncMethod("triggerAttack", 1); + this._syncMethod("triggerRelease", 1); + } return this; } diff --git a/test/helper/InstrumentTests.ts b/test/helper/InstrumentTests.ts index bc4976f9..eecb3e86 100644 --- a/test/helper/InstrumentTests.ts +++ b/test/helper/InstrumentTests.ts @@ -5,6 +5,10 @@ import { Offline } from "./Offline"; import { OutputAudio } from "./OutputAudio"; import { Monophonic } from "Tone/instrument/Monophonic"; +function wait(time) { + return new Promise(done => setTimeout(done, time)); +} + export function InstrumentTest(Constr, note, constrArg?, optionsIndex?): void { context("Instrument Tests", () => { @@ -167,6 +171,35 @@ export function InstrumentTest(Constr, note, constrArg?, optionsIndex?): void { }); }); + + it("can unsync and re-sync triggerAttack to the Transport", () => { + return Offline(async ({ transport }) => { + const instance = new Constr(constrArg); + instance.toDestination(); + + instance.sync(); + if (note) { + instance.triggerAttack(note, 0.1); + } else { + instance.triggerAttack(0.1); + } + transport.start(0.1); + await wait(100); + instance.unsync(); + transport.stop(); + + instance.sync(); + if (note) { + instance.triggerAttack(note, 0.1); + } else { + instance.triggerAttack(0.1); + } + transport.start(0.1); + }, 1).then((buffer) => { + expect(buffer.getTimeOfFirstSound()).to.be.within(0.19, 0.25); + }); + }); + it("calling sync and unsync multiple times has no effect", () => { return Offline(({ transport }) => { const instance = new Constr(constrArg); From 940ed7c12ce9e1bed3d10b39716f944b33cc53b8 Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Wed, 26 Aug 2020 11:36:52 -0400 Subject: [PATCH 08/33] noting breaking change addresses #723 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d5661b70..ad94fc92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,7 @@ * Buffer.on("loaded") is should now use: `Tone.loaded(): Promise` * Removing bower ([71c8b3b](https://github.com/Tonejs/Tone.js/commit/71c8b3bbb96e45cfc4aa2cce8a2d8c61a092c91e)), closes [#197](https://github.com/Tonejs/Tone.js/issues/197) * Removing Ctrl classes ([51d06bd](https://github.com/Tonejs/Tone.js/commit/51d06bd9873b2f1936a3169930f9696f1ccfb845)) +* `Players.get(name: string)` is renamed to `Players.player(name: string)` # 13.8.25 From d967fa1e38e2830a3347b601ccc646261034fd99 Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Wed, 26 Aug 2020 11:37:08 -0400 Subject: [PATCH 09/33] linting --- test/karma.conf.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/karma.conf.js b/test/karma.conf.js index 7acba067..0914a470 100644 --- a/test/karma.conf.js +++ b/test/karma.conf.js @@ -2,9 +2,9 @@ // Karma configuration const path = require("path"); const argv = require("yargs") - .alias("i", "file") - .alias("d", "dir") - .argv; + .alias("i", "file") + .alias("d", "dir") + .argv; let BROWSERS = ["HeadlessChrome", "HeadlessFirefox", "Safari"]; @@ -28,7 +28,7 @@ if (process.env.BROWSER === "chrome") { BROWSERS = ["HeadlessChrome", "HeadlessFirefox"]; } -module.exports = function (config) { +module.exports = function(config) { const configuration = { // base path that will be used to resolve all patterns (eg. files, exclude) From 5949b77e0e2a9e25c77b885c55d68dccd8d0e55a Mon Sep 17 00:00:00 2001 From: Marcel Blum Date: Wed, 2 Sep 2020 00:07:45 -0400 Subject: [PATCH 10/33] docs example bugfixes, typo corrections, minor additions for clarity, legacy link update --- .github/CONTRIBUTING.md | 2 +- Tone/component/channel/Channel.ts | 4 +++- Tone/component/channel/PanVol.ts | 4 +++- Tone/core/context/AbstractParam.ts | 21 ++++++++++++++++----- Tone/core/context/ToneAudioBuffers.ts | 2 +- 5 files changed, 24 insertions(+), 9 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 9cc7ff10..2224777a 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -10,7 +10,7 @@ To contribute examples, please follow the current style of the examples. Add you There is always more work that can be done on documentation. Especially adding good examples to methods and members to make the docs more informative and useful for people coming from diverse musical and technical backgrounds. -All of the docs are written in [jsdoc](http://usejsdoc.org/)-style comments in the source code. If you catch a mistake, please send a pull request. +All of the docs are written in [TypeDoc](https://typedoc.org/)-style comments in the source code. If you catch a mistake, please send a pull request. Along with this, it'd be great to integrate more visuals and references in the docs to help illustrate concepts. diff --git a/Tone/component/channel/Channel.ts b/Tone/component/channel/Channel.ts index 7dc1d753..faa32cf9 100644 --- a/Tone/component/channel/Channel.ts +++ b/Tone/component/channel/Channel.ts @@ -41,7 +41,9 @@ export class Channel extends ToneAudioNode { private _panVol: PanVol; /** - * The L/R panning control. + * The L/R panning control. -1 = hard left, 1 = hard right. + * @min -1 + * @max 1 */ readonly pan: Param<"audioRange">; diff --git a/Tone/component/channel/PanVol.ts b/Tone/component/channel/PanVol.ts index 048da06b..5eb355b3 100644 --- a/Tone/component/channel/PanVol.ts +++ b/Tone/component/channel/PanVol.ts @@ -34,7 +34,9 @@ export class PanVol extends ToneAudioNode { private _panner: Panner; /** - * The L/R panning control. + * The L/R panning control. -1 = hard left, 1 = hard right. + * @min -1 + * @max 1 */ readonly pan: Param<"audioRange">; diff --git a/Tone/core/context/AbstractParam.ts b/Tone/core/context/AbstractParam.ts index 5891059d..b53c8217 100644 --- a/Tone/core/context/AbstractParam.ts +++ b/Tone/core/context/AbstractParam.ts @@ -56,7 +56,7 @@ export abstract class AbstractParam { * @example * return Tone.Offline(() => { * const signal = new Tone.Signal(0).toDestination(); - * // the ramp is starts from the previously scheduled value + * // the ramp starts from the previously scheduled value * signal.setValueAtTime(0, 0.1); * signal.linearRampToValueAtTime(1, 0.4); * }, 0.5, 1); @@ -68,10 +68,10 @@ export abstract class AbstractParam { * the previous scheduled parameter value to the given value. * @example * return Tone.Offline(() => { - * const signal = new Tone.Signal(0).toDestination(); - * // the ramp is starts from the previously scheduled value - * signal.setValueAtTime(0, 0.1); - * signal.exponentialRampToValueAtTime(1, 0.4); + * const signal = new Tone.Signal(1).toDestination(); + * // the ramp starts from the previously scheduled value, which must be positive + * signal.setValueAtTime(1, 0.1); + * signal.exponentialRampToValueAtTime(0, 0.4); * }, 0.5, 1); */ abstract exponentialRampToValueAtTime(value: UnitMap[TypeName], time: Time): this; @@ -90,6 +90,11 @@ export abstract class AbstractParam { * const noise = new Tone.Noise().connect(delay).start().stop("+0.1"); * // making the delay time shorter over time will also make the pitch rise * delay.delayTime.exponentialRampTo(0.01, 20); + * @example + * return Tone.Offline(() => { + * const signal = new Tone.Signal(.1).toDestination(); + * signal.exponentialRampTo(5, 0.3, 0.1); + * }, 0.5, 1); */ abstract exponentialRampTo(value: UnitMap[TypeName], rampTime: Time, startTime?: Time): this; @@ -104,6 +109,12 @@ export abstract class AbstractParam { * @param startTime When the ramp should start. * @returns {Param} this * @example + * const delay = new Tone.FeedbackDelay(0.5, 0.98).toDestination(); + * // a short burst of noise through the feedback delay + * const noise = new Tone.Noise().connect(delay).start().stop("+0.1"); + * // making the delay time shorter over time will also make the pitch rise + * delay.delayTime.linearRampTo(0.01, 20); + * @example * return Tone.Offline(() => { * const signal = new Tone.Signal(1).toDestination(); * signal.linearRampTo(0, 0.3, 0.1); diff --git a/Tone/core/context/ToneAudioBuffers.ts b/Tone/core/context/ToneAudioBuffers.ts index 81455b42..44f86465 100644 --- a/Tone/core/context/ToneAudioBuffers.ts +++ b/Tone/core/context/ToneAudioBuffers.ts @@ -27,7 +27,7 @@ interface ToneAudioBuffersOptions { * }, () => { * const player = new Tone.Player().toDestination(); * // play one of the samples when they all load - * player.buffer = pianoSamples.get("C2"); + * player.buffer = pianoSamples.get("A2"); * player.start(); * }); * @example From 0e2b5b942d7ff879cc92f55b7d71aedabed78440 Mon Sep 17 00:00:00 2001 From: Marcel Blum Date: Wed, 2 Sep 2020 16:53:38 -0400 Subject: [PATCH 11/33] adding @category definitions for docs, fixing some typos/mistakes along the way --- Tone/component/channel/MidSideMerge.ts | 5 +++-- Tone/component/channel/MidSideSplit.ts | 1 + Tone/component/channel/Recorder.ts | 1 + Tone/component/dynamics/Gate.ts | 1 + Tone/component/dynamics/Limiter.ts | 1 + Tone/component/dynamics/MidSideCompressor.ts | 1 + Tone/component/dynamics/MultibandCompressor.ts | 1 + Tone/component/envelope/FrequencyEnvelope.ts | 1 + Tone/core/Tone.ts | 1 + Tone/core/clock/TickParam.ts | 1 + Tone/core/clock/TickSignal.ts | 1 + Tone/core/clock/TickSource.ts | 1 + Tone/core/clock/Ticker.ts | 1 + Tone/core/context/Param.ts | 1 + Tone/core/util/Emitter.ts | 1 + Tone/core/util/IntervalTimeline.ts | 1 + Tone/core/util/StateTimeline.ts | 1 + Tone/core/util/Timeline.ts | 1 + Tone/effect/Effect.ts | 1 + Tone/effect/FeedbackEffect.ts | 1 + Tone/effect/MidSideEffect.ts | 1 + Tone/effect/StereoEffect.ts | 1 + Tone/effect/StereoFeedbackEffect.ts | 13 ++----------- Tone/effect/StereoXFeedbackEffect.ts | 1 + Tone/instrument/Instrument.ts | 1 + Tone/instrument/ModulationSynth.ts | 1 + Tone/signal/GreaterThan.ts | 1 + Tone/signal/GreaterThanZero.ts | 1 + Tone/signal/ScaleExp.ts | 1 + Tone/source/Source.ts | 1 + 30 files changed, 33 insertions(+), 13 deletions(-) diff --git a/Tone/component/channel/MidSideMerge.ts b/Tone/component/channel/MidSideMerge.ts index 293d10cc..45934e51 100644 --- a/Tone/component/channel/MidSideMerge.ts +++ b/Tone/component/channel/MidSideMerge.ts @@ -9,11 +9,12 @@ import { optionsFromArguments } from "../../core/util/Defaults"; export type MidSideMergeOptions = ToneAudioNodeOptions; /** - * MidSideMerge merges the mid and side signal after they've been separated by [[MidSideMerge]] + * MidSideMerge merges the mid and side signal after they've been separated by [[MidSideSplit]] * ``` * Mid = (Left+Right)/sqrt(2); // obtain mid-signal from left and right - * Side = (Left-Right)/sqrt(2); // obtain side-signal from left and righ + * Side = (Left-Right)/sqrt(2); // obtain side-signal from left and right * ``` + * @category Component */ export class MidSideMerge extends ToneAudioNode { diff --git a/Tone/component/channel/MidSideSplit.ts b/Tone/component/channel/MidSideSplit.ts index 0f266c13..ab2bccbb 100644 --- a/Tone/component/channel/MidSideSplit.ts +++ b/Tone/component/channel/MidSideSplit.ts @@ -14,6 +14,7 @@ export type MidSideSplitOptions = ToneAudioNodeOptions; * Mid = (Left+Right)/sqrt(2); // obtain mid-signal from left and right * Side = (Left-Right)/sqrt(2); // obtain side-signal from left and right * ``` + * @category Component */ export class MidSideSplit extends ToneAudioNode { diff --git a/Tone/component/channel/Recorder.ts b/Tone/component/channel/Recorder.ts index c97173a9..2fd99f59 100644 --- a/Tone/component/channel/Recorder.ts +++ b/Tone/component/channel/Recorder.ts @@ -34,6 +34,7 @@ export interface RecorderOptions extends ToneAudioNodeOptions { * anchor.href = url; * anchor.click(); * }, 4000); + * @category Component */ export class Recorder extends ToneAudioNode { diff --git a/Tone/component/dynamics/Gate.ts b/Tone/component/dynamics/Gate.ts index 7c9204b6..52f9c580 100644 --- a/Tone/component/dynamics/Gate.ts +++ b/Tone/component/dynamics/Gate.ts @@ -21,6 +21,7 @@ export interface GateOptions extends ToneAudioNodeOptions { * const mic = new Tone.UserMedia().connect(gate); * // the gate will only pass through the incoming * // signal when it's louder than -30db + * @category Component */ export class Gate extends ToneAudioNode { diff --git a/Tone/component/dynamics/Limiter.ts b/Tone/component/dynamics/Limiter.ts index c8197d11..a01a0f08 100644 --- a/Tone/component/dynamics/Limiter.ts +++ b/Tone/component/dynamics/Limiter.ts @@ -21,6 +21,7 @@ export interface LimiterOptions extends ToneAudioNodeOptions { * const limiter = new Tone.Limiter(-20).toDestination(); * const oscillator = new Tone.Oscillator().connect(limiter); * oscillator.start(); + * @category Component */ export class Limiter extends ToneAudioNode { diff --git a/Tone/component/dynamics/MidSideCompressor.ts b/Tone/component/dynamics/MidSideCompressor.ts index 65f48452..e4922bc3 100644 --- a/Tone/component/dynamics/MidSideCompressor.ts +++ b/Tone/component/dynamics/MidSideCompressor.ts @@ -13,6 +13,7 @@ export interface MidSideCompressorOptions extends ToneAudioNodeOptions { /** * MidSideCompressor applies two different compressors to the [[mid]] * and [[side]] signal components of the input. See [[MidSideSplit]] and [[MidSideMerge]]. + * @category Component */ export class MidSideCompressor extends ToneAudioNode { diff --git a/Tone/component/dynamics/MultibandCompressor.ts b/Tone/component/dynamics/MultibandCompressor.ts index e67e7d47..5c78336f 100644 --- a/Tone/component/dynamics/MultibandCompressor.ts +++ b/Tone/component/dynamics/MultibandCompressor.ts @@ -26,6 +26,7 @@ export interface MultibandCompressorOptions extends ToneAudioNodeOptions { * threshold: -12 * } * }); + * @category Component */ export class MultibandCompressor extends ToneAudioNode { diff --git a/Tone/component/envelope/FrequencyEnvelope.ts b/Tone/component/envelope/FrequencyEnvelope.ts index 923aeace..b9d5b6f4 100644 --- a/Tone/component/envelope/FrequencyEnvelope.ts +++ b/Tone/component/envelope/FrequencyEnvelope.ts @@ -23,6 +23,7 @@ export interface FrequencyEnvelopeOptions extends EnvelopeOptions { * }); * freqEnv.connect(oscillator.frequency); * freqEnv.triggerAttack(); + * @category Component */ export class FrequencyEnvelope extends Envelope { diff --git a/Tone/core/Tone.ts b/Tone/core/Tone.ts index 53b9a388..3fa7660e 100644 --- a/Tone/core/Tone.ts +++ b/Tone/core/Tone.ts @@ -17,6 +17,7 @@ export interface BaseToneOptions { } /** * @class Tone is the base class of all other classes. + * @category Core * @constructor */ export abstract class Tone { diff --git a/Tone/core/clock/TickParam.ts b/Tone/core/clock/TickParam.ts index b9ed6255..bff68e92 100644 --- a/Tone/core/clock/TickParam.ts +++ b/Tone/core/clock/TickParam.ts @@ -16,6 +16,7 @@ interface TickParamOptions extends ParamOptions extends Param { diff --git a/Tone/core/clock/TickSignal.ts b/Tone/core/clock/TickSignal.ts index dd1a49cb..6b916ebd 100644 --- a/Tone/core/clock/TickSignal.ts +++ b/Tone/core/clock/TickSignal.ts @@ -17,6 +17,7 @@ interface TickSignalOptions extends SignalOptions extends Signal { diff --git a/Tone/core/clock/TickSource.ts b/Tone/core/clock/TickSource.ts index 119ae4b6..d788ae34 100644 --- a/Tone/core/clock/TickSource.ts +++ b/Tone/core/clock/TickSource.ts @@ -21,6 +21,7 @@ interface TickSourceOffsetEvent { /** * Uses [TickSignal](TickSignal) to track elapsed ticks with complex automation curves. + * @category Source */ export class TickSource extends ToneWithContext { diff --git a/Tone/core/clock/Ticker.ts b/Tone/core/clock/Ticker.ts index c84faf35..320e1fb4 100644 --- a/Tone/core/clock/Ticker.ts +++ b/Tone/core/clock/Ticker.ts @@ -5,6 +5,7 @@ export type TickerClockSource = "worker" | "timeout" | "offline"; /** * A class which provides a reliable callback using either * a Web Worker, or if that isn't supported, falls back to setTimeout. + * @category Core */ export class Ticker { diff --git a/Tone/core/context/Param.ts b/Tone/core/context/Param.ts index e5db5bb8..537756a0 100644 --- a/Tone/core/context/Param.ts +++ b/Tone/core/context/Param.ts @@ -46,6 +46,7 @@ export type AutomationEvent = NormalAutomationEvent | TargetAutomationEvent; * additional unit conversion functionality. It also * serves as a base-class for classes which have a single, * automatable parameter. + * @category Core */ export class Param extends ToneWithContext> diff --git a/Tone/core/util/Emitter.ts b/Tone/core/util/Emitter.ts index 08b01f41..5ea0cdc2 100644 --- a/Tone/core/util/Emitter.ts +++ b/Tone/core/util/Emitter.ts @@ -10,6 +10,7 @@ export interface EmitterEventObject { * the ability to listen for and emit events. * Inspiration and reference from Jerome Etienne's [MicroEvent](https://github.com/jeromeetienne/microevent.js). * MIT (c) 2011 Jerome Etienne. + * @category Core */ export class Emitter extends Tone { diff --git a/Tone/core/util/IntervalTimeline.ts b/Tone/core/util/IntervalTimeline.ts index c43f1bda..e7c8eb95 100644 --- a/Tone/core/util/IntervalTimeline.ts +++ b/Tone/core/util/IntervalTimeline.ts @@ -20,6 +20,7 @@ type IteratorCallback = (event: IntervalTimelineEvent) => void; * for querying an intersection point with the timeline * events. Internally uses an [Interval Tree](https://en.wikipedia.org/wiki/Interval_tree) * to represent the data. + * @category Core */ export class IntervalTimeline extends Tone { diff --git a/Tone/core/util/StateTimeline.ts b/Tone/core/util/StateTimeline.ts index 6cef05a1..a3d1d565 100644 --- a/Tone/core/util/StateTimeline.ts +++ b/Tone/core/util/StateTimeline.ts @@ -12,6 +12,7 @@ export interface StateTimelineEvent extends TimelineEvent { /** * A Timeline State. Provides the methods: `setStateAtTime("state", time)` and `getValueAtTime(time)` * @param initial The initial state of the StateTimeline. Defaults to `undefined` + * @category Core */ export class StateTimeline extends Timeline { diff --git a/Tone/core/util/Timeline.ts b/Tone/core/util/Timeline.ts index d724b760..02ee4c83 100644 --- a/Tone/core/util/Timeline.ts +++ b/Tone/core/util/Timeline.ts @@ -26,6 +26,7 @@ export interface TimelineEvent { * along a timeline. All events must have a "time" property. * Internally, events are stored in time order for fast * retrieval. + * @category Core */ export class Timeline extends Tone { diff --git a/Tone/effect/Effect.ts b/Tone/effect/Effect.ts index 9a2205ff..3a94d395 100644 --- a/Tone/effect/Effect.ts +++ b/Tone/effect/Effect.ts @@ -12,6 +12,7 @@ export interface EffectOptions extends ToneAudioNodeOptions { * Effect is the base class for effects. Connect the effect between * the effectSend and effectReturn GainNodes, then control the amount of * effect which goes to the output using the wet control. + * @category Effect */ export abstract class Effect extends ToneAudioNode { diff --git a/Tone/effect/FeedbackEffect.ts b/Tone/effect/FeedbackEffect.ts index 1206c09e..54eeb25c 100644 --- a/Tone/effect/FeedbackEffect.ts +++ b/Tone/effect/FeedbackEffect.ts @@ -21,6 +21,7 @@ export interface FeedbackEffectOptions extends EffectOptions { /** * FeedbackEffect provides a loop between an audio source and its own output. * This is a base-class for feedback effects. + * @category Effect */ export abstract class FeedbackEffect extends Effect { diff --git a/Tone/effect/MidSideEffect.ts b/Tone/effect/MidSideEffect.ts index 5262bc1a..350f69e4 100644 --- a/Tone/effect/MidSideEffect.ts +++ b/Tone/effect/MidSideEffect.ts @@ -13,6 +13,7 @@ export type MidSideEffectOptions = EffectOptions; * Applies a Mid/Side seperation and recombination. * Algorithm found in [kvraudio forums](http://www.kvraudio.com/forum/viewtopic.php?t=212587). * This is a base-class for Mid/Side Effects. + * @category Effect */ export abstract class MidSideEffect extends Effect { diff --git a/Tone/effect/StereoEffect.ts b/Tone/effect/StereoEffect.ts index 5f5de6f8..2bf9de21 100644 --- a/Tone/effect/StereoEffect.ts +++ b/Tone/effect/StereoEffect.ts @@ -11,6 +11,7 @@ export type StereoEffectOptions = EffectOptions; /** * Base class for Stereo effects. + * @category Effect */ export class StereoEffect extends ToneAudioNode { diff --git a/Tone/effect/StereoFeedbackEffect.ts b/Tone/effect/StereoFeedbackEffect.ts index c17605f1..dc9a9cbd 100644 --- a/Tone/effect/StereoFeedbackEffect.ts +++ b/Tone/effect/StereoFeedbackEffect.ts @@ -11,17 +11,8 @@ export interface StereoFeedbackEffectOptions extends StereoEffectOptions { } /** - * Just like a stereo feedback effect, but the feedback is routed from left to right - * and right to left instead of on the same channel. - * ``` - * +--------------------------------+ feedbackL <-----------------------------------+ - * | | - * +--> +-----> +----> +---+ - * feedbackMerge +--> split (EFFECT) merge +--> feedbackSplit - * +--> +-----> +----> +---+ - * | | - * +--------------------------------+ feedbackR <-----------------------------------+ - * ``` + * Base class for stereo feedback effects where the effectReturn is fed back into the same channel. + * @category Effect */ export class StereoFeedbackEffect extends StereoEffect { diff --git a/Tone/effect/StereoXFeedbackEffect.ts b/Tone/effect/StereoXFeedbackEffect.ts index 9e906dd5..62f54ec0 100644 --- a/Tone/effect/StereoXFeedbackEffect.ts +++ b/Tone/effect/StereoXFeedbackEffect.ts @@ -18,6 +18,7 @@ export interface StereoXFeedbackEffectOptions extends StereoFeedbackEffectOption * | | * +--------------------------------+ feedbackR <-------------------------------------+ * ``` + * @category Effect */ export class StereoXFeedbackEffect extends StereoFeedbackEffect { diff --git a/Tone/instrument/Instrument.ts b/Tone/instrument/Instrument.ts index 6ee6e8d1..b6808811 100644 --- a/Tone/instrument/Instrument.ts +++ b/Tone/instrument/Instrument.ts @@ -11,6 +11,7 @@ export interface InstrumentOptions extends ToneAudioNodeOptions { /** * Base-class for all instruments + * @category Instrument */ export abstract class Instrument extends ToneAudioNode { diff --git a/Tone/instrument/ModulationSynth.ts b/Tone/instrument/ModulationSynth.ts index b67dd834..ee4fab28 100644 --- a/Tone/instrument/ModulationSynth.ts +++ b/Tone/instrument/ModulationSynth.ts @@ -20,6 +20,7 @@ export interface ModulationSynthOptions extends SynthOptions { } /** * Base class for both AM and FM synths + * @category Instrument */ export abstract class ModulationSynth extends Monophonic { diff --git a/Tone/signal/GreaterThan.ts b/Tone/signal/GreaterThan.ts index 8e85dee0..530a1d5a 100644 --- a/Tone/signal/GreaterThan.ts +++ b/Tone/signal/GreaterThan.ts @@ -17,6 +17,7 @@ export type GreaterThanOptions = SignalOptions<"number">; * const gt = new Tone.GreaterThan(2).toDestination(); * const sig = new Tone.Signal(4).connect(gt); * }, 0.1, 1); + * @category Signal */ export class GreaterThan extends Signal<"number"> { diff --git a/Tone/signal/GreaterThanZero.ts b/Tone/signal/GreaterThanZero.ts index c31cbe15..bab08cbe 100644 --- a/Tone/signal/GreaterThanZero.ts +++ b/Tone/signal/GreaterThanZero.ts @@ -14,6 +14,7 @@ export type GreaterThanZeroOptions = SignalOperatorOptions * const sig = new Tone.Signal(0.5).connect(gt0); * sig.setValueAtTime(-1, 0.05); * }, 0.1, 1); + * @category Signal */ export class GreaterThanZero extends SignalOperator { diff --git a/Tone/signal/ScaleExp.ts b/Tone/signal/ScaleExp.ts index 042f3646..fdfdccfa 100644 --- a/Tone/signal/ScaleExp.ts +++ b/Tone/signal/ScaleExp.ts @@ -14,6 +14,7 @@ export interface ScaleExpOptions extends ScaleOptions { * @example * const scaleExp = new Tone.ScaleExp(0, 100, 2); * const signal = new Tone.Signal(0.5).connect(scaleExp); + * @category Signal */ export class ScaleExp extends Scale { diff --git a/Tone/source/Source.ts b/Tone/source/Source.ts index 9c3e07b5..49d97ce1 100644 --- a/Tone/source/Source.ts +++ b/Tone/source/Source.ts @@ -35,6 +35,7 @@ export interface SourceOptions extends ToneAudioNodeOptions { * // BAD * state.start("+0.3").stop("+0.2"); * ``` + * @category Source */ export abstract class Source extends ToneAudioNode { From 3715149b8b7bdf50470dec9b7999ca9cab53ee34 Mon Sep 17 00:00:00 2001 From: Marcel Blum Date: Wed, 2 Sep 2020 18:01:49 -0400 Subject: [PATCH 12/33] un-categorizing some internal-use-only classes so they don't surface to the docs --- Tone/core/clock/TickParam.ts | 1 - Tone/core/clock/TickSignal.ts | 1 - Tone/core/clock/TickSource.ts | 1 - Tone/core/clock/Ticker.ts | 1 - Tone/core/util/IntervalTimeline.ts | 1 - Tone/core/util/StateTimeline.ts | 1 - Tone/core/util/Timeline.ts | 1 - Tone/effect/Effect.ts | 1 - Tone/effect/FeedbackEffect.ts | 1 - Tone/effect/StereoEffect.ts | 1 - Tone/effect/StereoFeedbackEffect.ts | 1 - Tone/instrument/Instrument.ts | 1 - Tone/instrument/ModulationSynth.ts | 1 - Tone/source/Source.ts | 1 - 14 files changed, 14 deletions(-) diff --git a/Tone/core/clock/TickParam.ts b/Tone/core/clock/TickParam.ts index bff68e92..b9ed6255 100644 --- a/Tone/core/clock/TickParam.ts +++ b/Tone/core/clock/TickParam.ts @@ -16,7 +16,6 @@ interface TickParamOptions extends ParamOptions extends Param { diff --git a/Tone/core/clock/TickSignal.ts b/Tone/core/clock/TickSignal.ts index 6b916ebd..dd1a49cb 100644 --- a/Tone/core/clock/TickSignal.ts +++ b/Tone/core/clock/TickSignal.ts @@ -17,7 +17,6 @@ interface TickSignalOptions extends SignalOptions extends Signal { diff --git a/Tone/core/clock/TickSource.ts b/Tone/core/clock/TickSource.ts index d788ae34..119ae4b6 100644 --- a/Tone/core/clock/TickSource.ts +++ b/Tone/core/clock/TickSource.ts @@ -21,7 +21,6 @@ interface TickSourceOffsetEvent { /** * Uses [TickSignal](TickSignal) to track elapsed ticks with complex automation curves. - * @category Source */ export class TickSource extends ToneWithContext { diff --git a/Tone/core/clock/Ticker.ts b/Tone/core/clock/Ticker.ts index 320e1fb4..c84faf35 100644 --- a/Tone/core/clock/Ticker.ts +++ b/Tone/core/clock/Ticker.ts @@ -5,7 +5,6 @@ export type TickerClockSource = "worker" | "timeout" | "offline"; /** * A class which provides a reliable callback using either * a Web Worker, or if that isn't supported, falls back to setTimeout. - * @category Core */ export class Ticker { diff --git a/Tone/core/util/IntervalTimeline.ts b/Tone/core/util/IntervalTimeline.ts index e7c8eb95..c43f1bda 100644 --- a/Tone/core/util/IntervalTimeline.ts +++ b/Tone/core/util/IntervalTimeline.ts @@ -20,7 +20,6 @@ type IteratorCallback = (event: IntervalTimelineEvent) => void; * for querying an intersection point with the timeline * events. Internally uses an [Interval Tree](https://en.wikipedia.org/wiki/Interval_tree) * to represent the data. - * @category Core */ export class IntervalTimeline extends Tone { diff --git a/Tone/core/util/StateTimeline.ts b/Tone/core/util/StateTimeline.ts index a3d1d565..6cef05a1 100644 --- a/Tone/core/util/StateTimeline.ts +++ b/Tone/core/util/StateTimeline.ts @@ -12,7 +12,6 @@ export interface StateTimelineEvent extends TimelineEvent { /** * A Timeline State. Provides the methods: `setStateAtTime("state", time)` and `getValueAtTime(time)` * @param initial The initial state of the StateTimeline. Defaults to `undefined` - * @category Core */ export class StateTimeline extends Timeline { diff --git a/Tone/core/util/Timeline.ts b/Tone/core/util/Timeline.ts index 02ee4c83..d724b760 100644 --- a/Tone/core/util/Timeline.ts +++ b/Tone/core/util/Timeline.ts @@ -26,7 +26,6 @@ export interface TimelineEvent { * along a timeline. All events must have a "time" property. * Internally, events are stored in time order for fast * retrieval. - * @category Core */ export class Timeline extends Tone { diff --git a/Tone/effect/Effect.ts b/Tone/effect/Effect.ts index 3a94d395..9a2205ff 100644 --- a/Tone/effect/Effect.ts +++ b/Tone/effect/Effect.ts @@ -12,7 +12,6 @@ export interface EffectOptions extends ToneAudioNodeOptions { * Effect is the base class for effects. Connect the effect between * the effectSend and effectReturn GainNodes, then control the amount of * effect which goes to the output using the wet control. - * @category Effect */ export abstract class Effect extends ToneAudioNode { diff --git a/Tone/effect/FeedbackEffect.ts b/Tone/effect/FeedbackEffect.ts index 54eeb25c..1206c09e 100644 --- a/Tone/effect/FeedbackEffect.ts +++ b/Tone/effect/FeedbackEffect.ts @@ -21,7 +21,6 @@ export interface FeedbackEffectOptions extends EffectOptions { /** * FeedbackEffect provides a loop between an audio source and its own output. * This is a base-class for feedback effects. - * @category Effect */ export abstract class FeedbackEffect extends Effect { diff --git a/Tone/effect/StereoEffect.ts b/Tone/effect/StereoEffect.ts index 2bf9de21..5f5de6f8 100644 --- a/Tone/effect/StereoEffect.ts +++ b/Tone/effect/StereoEffect.ts @@ -11,7 +11,6 @@ export type StereoEffectOptions = EffectOptions; /** * Base class for Stereo effects. - * @category Effect */ export class StereoEffect extends ToneAudioNode { diff --git a/Tone/effect/StereoFeedbackEffect.ts b/Tone/effect/StereoFeedbackEffect.ts index dc9a9cbd..2d77b70a 100644 --- a/Tone/effect/StereoFeedbackEffect.ts +++ b/Tone/effect/StereoFeedbackEffect.ts @@ -12,7 +12,6 @@ export interface StereoFeedbackEffectOptions extends StereoEffectOptions { /** * Base class for stereo feedback effects where the effectReturn is fed back into the same channel. - * @category Effect */ export class StereoFeedbackEffect extends StereoEffect { diff --git a/Tone/instrument/Instrument.ts b/Tone/instrument/Instrument.ts index b6808811..6ee6e8d1 100644 --- a/Tone/instrument/Instrument.ts +++ b/Tone/instrument/Instrument.ts @@ -11,7 +11,6 @@ export interface InstrumentOptions extends ToneAudioNodeOptions { /** * Base-class for all instruments - * @category Instrument */ export abstract class Instrument extends ToneAudioNode { diff --git a/Tone/instrument/ModulationSynth.ts b/Tone/instrument/ModulationSynth.ts index ee4fab28..b67dd834 100644 --- a/Tone/instrument/ModulationSynth.ts +++ b/Tone/instrument/ModulationSynth.ts @@ -20,7 +20,6 @@ export interface ModulationSynthOptions extends SynthOptions { } /** * Base class for both AM and FM synths - * @category Instrument */ export abstract class ModulationSynth extends Monophonic { diff --git a/Tone/source/Source.ts b/Tone/source/Source.ts index 49d97ce1..9c3e07b5 100644 --- a/Tone/source/Source.ts +++ b/Tone/source/Source.ts @@ -35,7 +35,6 @@ export interface SourceOptions extends ToneAudioNodeOptions { * // BAD * state.start("+0.3").stop("+0.2"); * ``` - * @category Source */ export abstract class Source extends ToneAudioNode { From b5f582ee1aa1428f386e6ce70e25d1b11118e2ac Mon Sep 17 00:00:00 2001 From: Jouni Airaksinen Date: Mon, 7 Sep 2020 14:06:24 +0300 Subject: [PATCH 13/33] Reverse Emitter off callback loop for correct removal of duplicate events --- Tone/core/util/Emitter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tone/core/util/Emitter.ts b/Tone/core/util/Emitter.ts index 08b01f41..48bd85af 100644 --- a/Tone/core/util/Emitter.ts +++ b/Tone/core/util/Emitter.ts @@ -73,7 +73,7 @@ export class Emitter extends Tone { this._events[event] = []; } else { const eventList = this._events[event]; - for (let i = 0; i < eventList.length; i++) { + for (let i = eventList.length - 1; i >= 0; i--) { if (eventList[i] === callback) { eventList.splice(i, 1); } From d5c8a25a082552e2aefe2654833af9217494b876 Mon Sep 17 00:00:00 2001 From: Jouni Airaksinen Date: Mon, 7 Sep 2020 14:14:53 +0300 Subject: [PATCH 14/33] Add test for duplicate events --- Tone/core/util/Emitter.test.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Tone/core/util/Emitter.test.ts b/Tone/core/util/Emitter.test.ts index bca5a785..3f7ffa9a 100644 --- a/Tone/core/util/Emitter.test.ts +++ b/Tone/core/util/Emitter.test.ts @@ -29,6 +29,19 @@ describe("Emitter", () => { emitter.dispose(); }); + it("can unbind duplicate events", () => { + const emitter = new Emitter(); + const callback = () => { + throw new Error("should call this"); + }; + emitter.on("something", callback); + emitter.on("something", callback); + emitter.on("something", callback); + emitter.off("something", callback); + emitter.emit("something"); + emitter.dispose(); + }); + it("'off' does nothing if there is no event scheduled", () => { const emitter = new Emitter(); const callback = () => { From dca2e4fd2bcb7c4920c4fb84fade8b4a8d5bc34d Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Mon, 7 Sep 2020 09:12:36 -0400 Subject: [PATCH 15/33] removing unnecessary category --- Tone/effect/StereoXFeedbackEffect.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/Tone/effect/StereoXFeedbackEffect.ts b/Tone/effect/StereoXFeedbackEffect.ts index 62f54ec0..9e906dd5 100644 --- a/Tone/effect/StereoXFeedbackEffect.ts +++ b/Tone/effect/StereoXFeedbackEffect.ts @@ -18,7 +18,6 @@ export interface StereoXFeedbackEffectOptions extends StereoFeedbackEffectOption * | | * +--------------------------------+ feedbackR <-------------------------------------+ * ``` - * @category Effect */ export class StereoXFeedbackEffect extends StereoFeedbackEffect { From 82d1074228c4cddafd042cdd61c803d1981f594d Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Mon, 7 Sep 2020 21:58:55 -0400 Subject: [PATCH 16/33] updating webpack to latest --- package-lock.json | 1099 ++++++++++++++------------------------------- package.json | 4 +- 2 files changed, 329 insertions(+), 774 deletions(-) diff --git a/package-lock.json b/package-lock.json index 74168b7b..ee51f8ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1269,9 +1269,9 @@ "dev": true }, "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true }, "ansi-colors": { @@ -1455,7 +1455,8 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true + "dev": true, + "optional": true }, "async-limiter": { "version": "1.0.1", @@ -2484,10 +2485,11 @@ "dev": true }, "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true, + "optional": true }, "bindings": { "version": "1.5.0", @@ -2506,9 +2508,9 @@ "dev": true }, "bluebird": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", - "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "bn.js": { @@ -2758,15 +2760,6 @@ "yallist": "^3.0.2" } }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -2856,44 +2849,57 @@ "dev": true }, "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", + "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", "dev": true, + "optional": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" }, "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, + "optional": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "optional": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^7.0.0" } } } @@ -4331,21 +4337,6 @@ "safe-buffer": "^5.1.1" } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -4800,555 +4791,11 @@ "dev": true }, "fsevents": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz", - "integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "3.2.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.9.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "nopt": { - "version": "4.0.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.1", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.13", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.1.1", - "bundled": true, - "dev": true, - "optional": true - } - } + "optional": true }, "function-bind": { "version": "1.1.1", @@ -5374,15 +4821,6 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -5413,24 +4851,13 @@ } }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "dev": true, + "optional": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } + "is-glob": "^4.0.1" } }, "global-modules": { @@ -6234,12 +5661,13 @@ "dev": true }, "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "optional": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "^2.0.0" } }, "is-buffer": { @@ -8802,17 +8230,6 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -8970,7 +8387,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "dev": true, + "optional": true }, "path-exists": { "version": "4.0.0", @@ -9040,17 +8458,6 @@ "dev": true, "requires": { "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - } } }, "plotly.js-dist": { @@ -9295,14 +8702,22 @@ } }, "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", "dev": true, + "optional": true, "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "picomatch": "^2.2.1" + }, + "dependencies": { + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "optional": true + } } }, "rechoir": { @@ -9395,7 +8810,8 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "dev": true, + "optional": true }, "renderkid": { "version": "2.0.1", @@ -9628,37 +9044,12 @@ "dev": true }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { - "glob": "^7.0.5" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "glob": "^7.1.3" } }, "ripemd160": { @@ -9740,9 +9131,9 @@ }, "dependencies": { "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -9752,9 +9143,9 @@ } }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "json-schema-traverse": { @@ -9787,6 +9178,26 @@ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + }, + "dependencies": { + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + } + } + }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -10640,9 +10051,9 @@ } }, "terser": { - "version": "4.6.13", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz", - "integrity": "sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -10659,28 +10070,22 @@ } }, "terser-webpack-plugin": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", - "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", + "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", "worker-farm": "^1.7.0" }, "dependencies": { - "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -11262,7 +10667,8 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "dev": true, + "optional": true }, "upper-case": { "version": "1.1.3", @@ -11420,14 +10826,134 @@ } }, "watchpack": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.1.tgz", - "integrity": "sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", + "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", "dev": true, "requires": { - "chokidar": "^2.1.8", + "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } } }, "wcwidth": { @@ -11446,9 +10972,9 @@ "dev": true }, "webpack": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", - "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.1.tgz", + "integrity": "sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -11459,7 +10985,7 @@ "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", + "enhanced-resolve": "^4.3.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", @@ -11472,7 +10998,7 @@ "schema-utils": "^1.0.0", "tapable": "^1.1.3", "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.1", + "watchpack": "^1.7.4", "webpack-sources": "^1.4.1" }, "dependencies": { @@ -11483,9 +11009,9 @@ "dev": true }, "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -11506,10 +11032,33 @@ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, + "enhanced-resolve": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "json-schema-traverse": { @@ -11547,22 +11096,22 @@ } }, "webpack-cli": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz", - "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", + "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", "dev": true, "requires": { - "chalk": "2.4.2", - "cross-spawn": "6.0.5", - "enhanced-resolve": "4.1.0", - "findup-sync": "3.0.0", - "global-modules": "2.0.0", - "import-local": "2.0.0", - "interpret": "1.2.0", - "loader-utils": "1.2.3", - "supports-color": "6.1.0", - "v8-compile-cache": "2.0.3", - "yargs": "13.2.4" + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.1", + "findup-sync": "^3.0.0", + "global-modules": "^2.0.0", + "import-local": "^2.0.0", + "interpret": "^1.4.0", + "loader-utils": "^1.4.0", + "supports-color": "^6.1.0", + "v8-compile-cache": "^2.1.1", + "yargs": "^13.3.2" }, "dependencies": { "ansi-regex": { @@ -11619,16 +11168,17 @@ "wrap-ansi": "^5.1.0" } }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" - } + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true }, "json5": { "version": "1.0.1", @@ -11640,13 +11190,13 @@ } }, "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { "big.js": "^5.2.2", - "emojis-list": "^2.0.0", + "emojis-list": "^3.0.0", "json5": "^1.0.1" } }, @@ -11679,6 +11229,12 @@ "has-flag": "^3.0.0" } }, + "v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -11691,22 +11247,21 @@ } }, "yargs": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", - "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, "requires": { "cliui": "^5.0.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.1.0" + "yargs-parser": "^13.1.2" } } } diff --git a/package.json b/package.json index 947a6e7a..e59cdb75 100644 --- a/package.json +++ b/package.json @@ -97,8 +97,8 @@ "typedoc": "^0.17.6", "typescript": "^3.8.3", "ua-parser-js": "^0.7.20", - "webpack": "^4.43.0", - "webpack-cli": "^3.3.11", + "webpack": "^4.44.1", + "webpack-cli": "^3.3.12", "yargs": "^13.2.0" }, "dependencies": { From 0ac1da5aa165d04e11a1c62e6e06b4d8a419b262 Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Mon, 7 Sep 2020 22:14:58 -0400 Subject: [PATCH 17/33] correctly offset phase for each oscillator fixes #733 --- Tone/source/oscillator/FatOscillator.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tone/source/oscillator/FatOscillator.ts b/Tone/source/oscillator/FatOscillator.ts index 80db3f99..5f220aac 100644 --- a/Tone/source/oscillator/FatOscillator.ts +++ b/Tone/source/oscillator/FatOscillator.ts @@ -206,7 +206,7 @@ export class FatOscillator extends Source implements ToneO } set phase(phase: Degrees) { this._phase = phase; - this._forEach(osc => osc.phase = phase); + this._forEach((osc, i) => osc.phase = this._phase + (i / this.count) * 360); } get baseType(): OscillatorType { From ada9646ed723cd1d2d0e3e2aeb82d206bbf3b6de Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Wed, 9 Sep 2020 08:51:36 -0400 Subject: [PATCH 18/33] starting Transport in Part docs fixes #736 --- Tone/event/Part.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tone/event/Part.ts b/Tone/event/Part.ts index bbab4e4d..20d4d085 100644 --- a/Tone/event/Part.ts +++ b/Tone/event/Part.ts @@ -28,6 +28,7 @@ interface PartOptions extends Omit>, "value" * // will be passed in as the second argument * synth.triggerAttackRelease(note, "8n", time); * }), [[0, "C2"], ["0:2", "C3"], ["0:3:2", "G2"]]); + * Tone.Transport.start(); * @example * const synth = new Tone.Synth().toDestination(); * // use an array of objects as long as the object has a "time" attribute @@ -37,6 +38,7 @@ interface PartOptions extends Omit>, "value" * }), [{ time: 0, note: "C3", velocity: 0.9 }, * { time: "0:2", note: "C4", velocity: 0.5 } * ]).start(0); + * Tone.Transport.start(); * @category Event */ export class Part extends ToneEvent { From 2e7d5916f22284d6e3733f22a2f44d99e057a816 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 12 Sep 2020 15:56:01 +0000 Subject: [PATCH 19/33] Bump node-fetch from 2.6.0 to 2.6.1 Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1. - [Release notes](https://github.com/bitinn/node-fetch/releases) - [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md) - [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1) Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ee51f8ea..a9665640 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7972,9 +7972,9 @@ } }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", "dev": true }, "node-libs-browser": { From ad9dd643a605e4fbddce141ad29cbbaef8518d99 Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Tue, 15 Sep 2020 08:22:16 -0400 Subject: [PATCH 20/33] fixing envelope example --- Tone/component/envelope/Envelope.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tone/component/envelope/Envelope.ts b/Tone/component/envelope/Envelope.ts index ccab544a..94ca0ac3 100644 --- a/Tone/component/envelope/Envelope.ts +++ b/Tone/component/envelope/Envelope.ts @@ -433,7 +433,7 @@ export class Envelope extends ToneAudioNode { * @example * const env = new Tone.Envelope(0.5, 1, 0.4, 2); * env.triggerAttackRelease(2); - * setInterval(() => console.log(env.getValueAtTime), 100); + * setInterval(() => console.log(env.getValueAtTime(Tone.now())), 100); */ getValueAtTime(time: Time): NormalRange { return this._sig.getValueAtTime(time); From 65ecf56b36988518b9b94002bd98227f1d23d13b Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Tue, 15 Sep 2020 23:27:15 -0400 Subject: [PATCH 21/33] adding import example fixes #744 --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index dd332731..c5bce9af 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,12 @@ Or to install the 'next' version npm install tone@next ``` +To import Tone.js: + +```js +import * as Tone from 'tone' +``` + # Hello Tone ```javascript From 8915e1bcfa1931c6b7c8e11dcb8d298cbdf10733 Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Thu, 17 Sep 2020 18:38:22 -0400 Subject: [PATCH 22/33] latest std-audio-context fixes #720 --- package-lock.json | 46 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index a9665640..30d0d05d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -524,17 +524,17 @@ "dev": true }, "@babel/runtime": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", - "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz", + "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==", "requires": { "regenerator-runtime": "^0.13.4" }, "dependencies": { "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" } } }, @@ -1483,18 +1483,18 @@ "dev": true }, "automation-events": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/automation-events/-/automation-events-2.0.5.tgz", - "integrity": "sha512-z8xGgGJd9LyYj0qw78B03cOijK2vnsUIndGg+1TdgRqYLDVCbVYUQXNz/HojihXMwmvCdokZBjAZoEDFkpU5+g==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/automation-events/-/automation-events-3.0.0.tgz", + "integrity": "sha512-FmlIBl/cUuja7iwRScTCFgsiFZvnCsHrUGMnUJqCPbCA+2iY1HuQcp0e4gcxCW5TUkj7cGihjvPnm1UZTC1zLw==", "requires": { - "@babel/runtime": "^7.9.2", - "tslib": "^1.11.1" + "@babel/runtime": "^7.11.2", + "tslib": "^2.0.1" }, "dependencies": { "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" } } }, @@ -9748,19 +9748,19 @@ } }, "standardized-audio-context": { - "version": "24.1.5", - "resolved": "https://registry.npmjs.org/standardized-audio-context/-/standardized-audio-context-24.1.5.tgz", - "integrity": "sha512-um6Yvn2HWJJL0yiPzeDOy3i5wcahSp6U39oauhbssbfzr+dVXuDxAJfRhofhCrRpN3q+vDnDSjYjN5mJ7ANsog==", + "version": "25.0.3", + "resolved": "https://registry.npmjs.org/standardized-audio-context/-/standardized-audio-context-25.0.3.tgz", + "integrity": "sha512-Tk43aX9XtKs2Xcc58xkDO47rYSvUMMzS5vsUIqSSUwXSUl5z4U3a1n5NPK7ylH28HYsxWTBNrHCXgC1PLg/KLQ==", "requires": { - "@babel/runtime": "^7.9.2", - "automation-events": "^2.0.5", - "tslib": "^1.11.1" + "@babel/runtime": "^7.11.2", + "automation-events": "^3.0.0", + "tslib": "^2.0.1" }, "dependencies": { "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" } } }, diff --git a/package.json b/package.json index e59cdb75..3cb9aca7 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "yargs": "^13.2.0" }, "dependencies": { - "standardized-audio-context": "^24.1.5", + "standardized-audio-context": "^25.0.3", "tslib": "^1.10.0" }, "prettier": { From 846e536e4e5b1b866384e8a6d1a0ad1e55f3a529 Mon Sep 17 00:00:00 2001 From: sarahBuisson Date: Mon, 21 Sep 2020 02:31:29 +0200 Subject: [PATCH 23/33] Update Defaults.ts --- Tone/core/util/Defaults.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tone/core/util/Defaults.ts b/Tone/core/util/Defaults.ts index 23f65e16..b7a5930d 100644 --- a/Tone/core/util/Defaults.ts +++ b/Tone/core/util/Defaults.ts @@ -46,7 +46,7 @@ export function deepMerge(target: any, ...sources: any[]): any { /** * Returns true if the two arrays have the same value for each of the elements */ -export function deepEquals(arrayA: number[] | string[], arrayB: number[] | string[]): boolean { +export function deepEquals(arrayA: any[], arrayB: any[]): boolean { return arrayA.length === arrayB.length && arrayA.every((element, index) => arrayB[index] === element); } From c60840eec4b5700d7d94d6e10c13609e2922141a Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Mon, 21 Sep 2020 09:05:54 -0400 Subject: [PATCH 24/33] latest version of deps --- package-lock.json | 50 ++++++++++++++++++++++++++++------------------- package.json | 4 ++-- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index 30d0d05d..8f49a0c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1489,13 +1489,6 @@ "requires": { "@babel/runtime": "^7.11.2", "tslib": "^2.0.1" - }, - "dependencies": { - "tslib": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" - } } }, "aws-sign2": { @@ -2917,6 +2910,14 @@ "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } } }, "cipher-base": { @@ -9087,6 +9088,14 @@ "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } } }, "safe-buffer": { @@ -9748,20 +9757,13 @@ } }, "standardized-audio-context": { - "version": "25.0.3", - "resolved": "https://registry.npmjs.org/standardized-audio-context/-/standardized-audio-context-25.0.3.tgz", - "integrity": "sha512-Tk43aX9XtKs2Xcc58xkDO47rYSvUMMzS5vsUIqSSUwXSUl5z4U3a1n5NPK7ylH28HYsxWTBNrHCXgC1PLg/KLQ==", + "version": "25.0.4", + "resolved": "https://registry.npmjs.org/standardized-audio-context/-/standardized-audio-context-25.0.4.tgz", + "integrity": "sha512-Y00AJuT+4eFaWuqBJ5D/v+HMGCI2ozIDMgago7la110+LVg8P8HYg86JAHVe5vZu7PNNN0Gdr97/StqyMc45cw==", "requires": { "@babel/runtime": "^7.11.2", "automation-events": "^3.0.0", "tslib": "^2.0.1" - }, - "dependencies": { - "tslib": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" - } } }, "static-extend": { @@ -10438,9 +10440,9 @@ } }, "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" }, "tsutils": { "version": "3.17.1", @@ -10449,6 +10451,14 @@ "dev": true, "requires": { "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } } }, "tty-browserify": { diff --git a/package.json b/package.json index 3cb9aca7..ffc7730a 100644 --- a/package.json +++ b/package.json @@ -102,8 +102,8 @@ "yargs": "^13.2.0" }, "dependencies": { - "standardized-audio-context": "^25.0.3", - "tslib": "^1.10.0" + "standardized-audio-context": "^25.0.4", + "tslib": "^2.0.1" }, "prettier": { "trailingComma": "es5", From 61d27b93b6144504977c9503de23322b71b02589 Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Mon, 21 Sep 2020 09:23:12 -0400 Subject: [PATCH 25/33] fixing example formatting --- Tone/component/channel/Panner.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tone/component/channel/Panner.ts b/Tone/component/channel/Panner.ts index d85461ea..fc7fbd80 100644 --- a/Tone/component/channel/Panner.ts +++ b/Tone/component/channel/Panner.ts @@ -13,10 +13,10 @@ interface TonePannerOptions extends ToneAudioNodeOptions { * Panner is an equal power Left/Right Panner. It is a wrapper around the StereoPannerNode. * @example * return Tone.Offline(() => { - * // move the input signal from right to left - * const panner = new Tone.Panner(1).toDestination(); - * panner.pan.rampTo(-1, 0.5); - * const osc = new Tone.Oscillator(100).connect(panner).start(); + * // move the input signal from right to left + * const panner = new Tone.Panner(1).toDestination(); + * panner.pan.rampTo(-1, 0.5); + * const osc = new Tone.Oscillator(100).connect(panner).start(); * }, 0.5, 2); * @category Component */ From 7ec918e5b4bab2f94c5bc06698703c5a9df228ce Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Mon, 21 Sep 2020 09:26:22 -0400 Subject: [PATCH 26/33] making arguments generic --- Tone/core/util/Defaults.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tone/core/util/Defaults.ts b/Tone/core/util/Defaults.ts index b7a5930d..74297309 100644 --- a/Tone/core/util/Defaults.ts +++ b/Tone/core/util/Defaults.ts @@ -46,7 +46,7 @@ export function deepMerge(target: any, ...sources: any[]): any { /** * Returns true if the two arrays have the same value for each of the elements */ -export function deepEquals(arrayA: any[], arrayB: any[]): boolean { +export function deepEquals(arrayA: T[], arrayB: T[]): boolean { return arrayA.length === arrayB.length && arrayA.every((element, index) => arrayB[index] === element); } From 0ca04b9ac553afbe84c1c029e643f665f712e852 Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Mon, 21 Sep 2020 09:34:29 -0400 Subject: [PATCH 27/33] making sure that classes doesn't re-export globals addresses #699 --- Tone/core/index.ts | 6 +++--- Tone/fromContext.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Tone/core/index.ts b/Tone/core/index.ts index dc3f26ec..275b6d97 100644 --- a/Tone/core/index.ts +++ b/Tone/core/index.ts @@ -1,10 +1,10 @@ export * from "./clock/Clock"; -export * from "./clock/Transport"; +// export * from "./clock/Transport"; export * from "./context/Context"; export * from "./context/BaseContext"; export * from "./context/Delay"; -export * from "./context/Destination"; +// export * from "./context/Destination"; export * from "./context/Gain"; export * from "./context/Offline"; export * from "./context/OfflineContext"; @@ -19,7 +19,7 @@ export * from "./type/Time"; export * from "./type/Ticks"; export * from "./type/TransportTime"; -export * from "./util/Draw"; +// export * from "./util/Draw"; export * from "./util/Emitter"; export * from "./util/IntervalTimeline"; export * from "./util/StateTimeline"; diff --git a/Tone/fromContext.ts b/Tone/fromContext.ts index d170488a..a4a36a82 100644 --- a/Tone/fromContext.ts +++ b/Tone/fromContext.ts @@ -10,7 +10,7 @@ import { TimeClass } from "./core/type/Time"; import { TransportTimeClass } from "./core/type/TransportTime"; import { isDefined, isFunction } from "./core/util/TypeCheck"; import { omitFromObject } from "./core/util/Defaults"; -import { Draw } from "./classes"; +import { Draw } from "./core/util/Draw"; type ClassesWithoutSingletons = Omit; From 840c77cfe1c448716a653cdc5d5d3b6c5bec9dcd Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Mon, 21 Sep 2020 09:44:20 -0400 Subject: [PATCH 28/33] import Draw for side-effects --- Tone/core/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tone/core/index.ts b/Tone/core/index.ts index 275b6d97..1d3b4f18 100644 --- a/Tone/core/index.ts +++ b/Tone/core/index.ts @@ -19,7 +19,7 @@ export * from "./type/Time"; export * from "./type/Ticks"; export * from "./type/TransportTime"; -// export * from "./util/Draw"; +import "./util/Draw"; export * from "./util/Emitter"; export * from "./util/IntervalTimeline"; export * from "./util/StateTimeline"; From e6f5259ce693ef05731e7f4ace8ac170881e1f6a Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Mon, 21 Sep 2020 09:44:29 -0400 Subject: [PATCH 29/33] updating to latest typescript --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8f49a0c7..895df3e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10547,9 +10547,9 @@ } }, "typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.3.tgz", + "integrity": "sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==", "dev": true }, "ua-parser-js": { diff --git a/package.json b/package.json index ffc7730a..7263712a 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "ts-loader": "^7.0.1", "ts-node": "^8.4.1", "typedoc": "^0.17.6", - "typescript": "^3.8.3", + "typescript": "^4.0.3", "ua-parser-js": "^0.7.20", "webpack": "^4.44.1", "webpack-cli": "^3.3.12", From a84317f03a88b92cbbaa4768c0e79b2207311139 Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Mon, 21 Sep 2020 09:50:17 -0400 Subject: [PATCH 30/33] updating to bionic distribution --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a2f7a702..5827ab2f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ sudo: false -dist: trusty +dist: bionic language: node_js node_js: - '11' From 1572dcf67a08828f1059777d321612679e3e4aea Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Mon, 21 Sep 2020 10:10:43 -0400 Subject: [PATCH 31/33] adjusting threshold --- Tone/effect/Vibrato.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tone/effect/Vibrato.test.ts b/Tone/effect/Vibrato.test.ts index cc8f2c41..7fb056d2 100644 --- a/Tone/effect/Vibrato.test.ts +++ b/Tone/effect/Vibrato.test.ts @@ -5,7 +5,7 @@ import { expect } from "chai"; import { CompareToFile } from "test/helper/CompareToFile"; import { Oscillator } from "Tone/source/oscillator/Oscillator"; -describe("Effect", () => { +describe("Vibrato", () => { BasicTests(Vibrato); EffectTests(Vibrato); @@ -13,7 +13,7 @@ describe("Effect", () => { return CompareToFile(() => { const vibrato = new Vibrato(4, 1).toDestination(); const osc = new Oscillator().connect(vibrato).start(); - }, "vibrato.wav", 0.01); + }, "vibrato.wav", 0.02); }); context("API", () => { From 00135f82bd5d2bbf803b4f37f025782a250b23e9 Mon Sep 17 00:00:00 2001 From: sarahBuisson Date: Wed, 23 Sep 2020 20:10:43 +0200 Subject: [PATCH 32/33] Update Ticker.ts fix small ts error --- Tone/core/clock/Ticker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tone/core/clock/Ticker.ts b/Tone/core/clock/Ticker.ts index c84faf35..61273d78 100644 --- a/Tone/core/clock/Ticker.ts +++ b/Tone/core/clock/Ticker.ts @@ -81,7 +81,7 @@ export class Ticker { this._timeout = setTimeout(() => { this._createTimeout(); this._callback(); - }, this._updateInterval * 1000); + }, this._updateInterval * 1000).valueOf(); } /** From 9c1b303bcf7765b9b7b679a7379780c04f799782 Mon Sep 17 00:00:00 2001 From: Yotam Mann Date: Wed, 23 Sep 2020 21:24:53 -0400 Subject: [PATCH 33/33] updating the type of _timeout --- Tone/core/clock/Ticker.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tone/core/clock/Ticker.ts b/Tone/core/clock/Ticker.ts index 61273d78..0dc49baa 100644 --- a/Tone/core/clock/Ticker.ts +++ b/Tone/core/clock/Ticker.ts @@ -26,7 +26,7 @@ export class Ticker { /** * track the callback interval */ - private _timeout!: number; + private _timeout!: ReturnType; /** * private reference to the worker @@ -81,7 +81,7 @@ export class Ticker { this._timeout = setTimeout(() => { this._createTimeout(); this._callback(); - }, this._updateInterval * 1000).valueOf(); + }, this._updateInterval * 1000); } /**