From f1475cd3d79e0a2c536ad7014ebb3e15d759daf3 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 17 Dec 2019 16:17:35 -0700 Subject: [PATCH 1/7] Target NodeJS 10 and minified browser bundle We release with Node 10 currently, so we should use that. The browser bundle is minfied because we want to keep it, so we might as well shave about 1mb off of it. --- .babelrc | 5 +---- package.json | 5 +++-- yarn.lock | 24 ++++++++++++++++++++++-- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/.babelrc b/.babelrc index 253333ac3..76a0651f3 100644 --- a/.babelrc +++ b/.babelrc @@ -3,10 +3,7 @@ "presets": [ ["@babel/preset-env", { "targets": { - "browsers": [ - "last 2 versions" - ], - "node": 12 + "node": 10 }, "modules": "commonjs" }], diff --git a/package.json b/package.json index c96d8450f..7317f157b 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "build": "yarn clean && git rev-parse HEAD > git-revision.txt && yarn build:compile && yarn build:compile-browser && yarn build:types", "build:types": "tsc --emitDeclarationOnly", "build:compile": "babel src -s -d lib --verbose --extensions \".ts,.js\"", - "build:compile-browser": "mkdirp dist && browserify -d src/browser-index.js -p [ tsify -p ./tsconfig.json ] -t [ babelify --sourceMaps=inline ] > dist/browser-matrix.js", + "build:compile-browser": "mkdirp dist && browserify -d src/browser-index.js -p [ tsify -p ./tsconfig.json ] -t [ babelify --sourceMaps=inline ] -t uglifyify > dist/browser-matrix.js", "gendoc": "jsdoc -c jsdoc.json -P package.json", "lint": "yarn lint:types && yarn lint:ts && yarn lint:js", "lint:js": "eslint --max-warnings 93 src spec", @@ -79,7 +79,8 @@ "source-map-support": "^0.5.13", "tsify": "^4.0.1", "tslint": "^5.20.1", - "typescript": "^3.7.3" + "typescript": "^3.7.3", + "uglifyify": "^5.0.2" }, "jest": { "testEnvironment": "node" diff --git a/yarn.lock b/yarn.lock index c953f0bba..70b0e7eb9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5654,7 +5654,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.13, source-map-support@^0.5.16, source-map-support@^0.5.6: +source-map-support@^0.5.13, source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.10: version "0.5.16" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== @@ -5955,6 +5955,15 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.3" +terser@^3.7.5: + version "3.17.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" + integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ== + dependencies: + commander "^2.19.0" + source-map "~0.6.1" + source-map-support "~0.5.10" + test-exclude@^5.2.3: version "5.2.3" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" @@ -5983,7 +5992,7 @@ through2@^2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" -"through@>=2.2.7 <3", through@^2.3.6: +"through@>=2.2.7 <3", through@^2.3.6, through@~2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -6202,6 +6211,17 @@ uglify-to-browserify@~1.0.0: resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc= +uglifyify@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/uglifyify/-/uglifyify-5.0.2.tgz#7d0269885e09faa963208a9ec6721afcaf45fc50" + integrity sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q== + dependencies: + convert-source-map "~1.1.0" + minimatch "^3.0.2" + terser "^3.7.5" + through "~2.3.4" + xtend "^4.0.1" + umd@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf" From 85a0adb00415089f59c9d98fb85e67fe69b9bc6e Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 17 Dec 2019 19:31:53 -0700 Subject: [PATCH 2/7] Reorder babel arguments to leave more of it to the config --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7317f157b..fb83bddda 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "clean": "rimraf lib dist", "build": "yarn clean && git rev-parse HEAD > git-revision.txt && yarn build:compile && yarn build:compile-browser && yarn build:types", "build:types": "tsc --emitDeclarationOnly", - "build:compile": "babel src -s -d lib --verbose --extensions \".ts,.js\"", + "build:compile": "babel -d lib --verbose --extensions \".ts,.js\" src", "build:compile-browser": "mkdirp dist && browserify -d src/browser-index.js -p [ tsify -p ./tsconfig.json ] -t [ babelify --sourceMaps=inline ] -t uglifyify > dist/browser-matrix.js", "gendoc": "jsdoc -c jsdoc.json -P package.json", "lint": "yarn lint:types && yarn lint:ts && yarn lint:js", From e71c4b3bc4803fc56c30a6622a977e21126f5998 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 17 Dec 2019 19:35:00 -0700 Subject: [PATCH 3/7] Publish src to npm as well So downstream projects can use it via /src if they really want to. --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index fb83bddda..c455f3aa6 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "files": [ "lib", "dist", + "src", "git-revision.txt", "CHANGELOG.md", "CONTRIBUTING.rst", From b376a7c39918c226f0b0a4a54ff3ed2e7f36c176 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 19 Dec 2019 12:25:28 -0700 Subject: [PATCH 4/7] Improve minification uglifify was being applied inline, which only resulted in one asset. With this we've gone back to using `terser` to generate the minified version of the browser bundle, which also exports sourcemaps interpretted from browserify. The babelify options have changed to ensure that browser-safe code gets published so terser can more effectively parse it. It doesn't like things like classes it seems, but is fine with let/const and such. The preset-env preset automatically knows it is targeting a browser. --- package.json | 9 +++++---- yarn.lock | 29 +++++++++-------------------- 2 files changed, 14 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index c455f3aa6..71a514b59 100644 --- a/package.json +++ b/package.json @@ -5,10 +5,11 @@ "scripts": { "start": "echo THIS IS FOR LEGACY PURPOSES ONLY. && babel src -w -s -d lib --verbose --extensions \".ts,.js\"", "clean": "rimraf lib dist", - "build": "yarn clean && git rev-parse HEAD > git-revision.txt && yarn build:compile && yarn build:compile-browser && yarn build:types", + "build": "yarn clean && git rev-parse HEAD > git-revision.txt && yarn build:compile && yarn build:compile-browser && yarn build:minify-browser && yarn build:types", "build:types": "tsc --emitDeclarationOnly", "build:compile": "babel -d lib --verbose --extensions \".ts,.js\" src", - "build:compile-browser": "mkdirp dist && browserify -d src/browser-index.js -p [ tsify -p ./tsconfig.json ] -t [ babelify --sourceMaps=inline ] -t uglifyify > dist/browser-matrix.js", + "build:compile-browser": "mkdirp dist && browserify -d src/browser-index.js -p [ tsify -p ./tsconfig.json ] -t [ babelify --sourceMaps=inline --presets [ @babel/preset-env @babel/preset-typescript ] ] > dist/browser-matrix.js", + "build:minify-browser": "terser dist/browser-matrix.js --compress --mangle --source-map \"content=inline\" --output dist/browser-matrix.min.js", "gendoc": "jsdoc -c jsdoc.json -P package.json", "lint": "yarn lint:types && yarn lint:ts && yarn lint:js", "lint:js": "eslint --max-warnings 93 src spec", @@ -78,10 +79,10 @@ "olm": "https://packages.matrix.org/npm/olm/olm-3.1.4.tgz", "rimraf": "^3.0.0", "source-map-support": "^0.5.13", + "terser": "^4.4.3", "tsify": "^4.0.1", "tslint": "^5.20.1", - "typescript": "^3.7.3", - "uglifyify": "^5.0.2" + "typescript": "^3.7.3" }, "jest": { "testEnvironment": "node" diff --git a/yarn.lock b/yarn.lock index 70b0e7eb9..e9602816c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1909,7 +1909,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.12.1, commander@^2.19.0, commander@~2.20.3: +commander@^2.12.1, commander@^2.19.0, commander@^2.20.0, commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -5654,7 +5654,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.13, source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.10: +source-map-support@^0.5.13, source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.12: version "0.5.16" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== @@ -5955,14 +5955,14 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.3" -terser@^3.7.5: - version "3.17.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" - integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ== +terser@^4.4.3: + version "4.4.3" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.4.3.tgz#401abc52b88869cf904412503b1eb7da093ae2f0" + integrity sha512-0ikKraVtRDKGzHrzkCv5rUNDzqlhmhowOBqC0XqUHFpW+vJ45+20/IFBcebwKfiS2Z9fJin6Eo+F1zLZsxi8RA== dependencies: - commander "^2.19.0" + commander "^2.20.0" source-map "~0.6.1" - source-map-support "~0.5.10" + source-map-support "~0.5.12" test-exclude@^5.2.3: version "5.2.3" @@ -5992,7 +5992,7 @@ through2@^2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" -"through@>=2.2.7 <3", through@^2.3.6, through@~2.3.4: +"through@>=2.2.7 <3", through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -6211,17 +6211,6 @@ uglify-to-browserify@~1.0.0: resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc= -uglifyify@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/uglifyify/-/uglifyify-5.0.2.tgz#7d0269885e09faa963208a9ec6721afcaf45fc50" - integrity sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q== - dependencies: - convert-source-map "~1.1.0" - minimatch "^3.0.2" - terser "^3.7.5" - through "~2.3.4" - xtend "^4.0.1" - umd@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf" From 89173be05504614c843654852a50e064d4c71a5d Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 19 Dec 2019 13:42:47 -0700 Subject: [PATCH 5/7] Update README to describe build targets better --- README.md | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 29c2653d0..c252447c4 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,9 @@ https://github.com/matrix-org/matrix-js-sdk/releases/latest and add that as a attached to ``window`` through which you can access the SDK. See below for how to include libolm to enable end-to-end-encryption. -Note that your application will be required to minify the JS if desired - the js-sdk -doesn't guarantee that the output will be minified. +The browser bundle supports recent versions of browsers. Typically this is ES2015 +or `> 0.5%, last 2 versions, Firefox ESR, not dead` if using +[browserlists](https://github.com/browserslist/browserslist). Please check [the working browser example](examples/browser) for more information. @@ -25,13 +26,18 @@ In Node.js Ensure you have the latest LTS version of Node.js installed. -Using `yarn` instead of `npm` is recommended. Please see the Yarn [install guide](https://yarnpkg.com/docs/install/) if you do not have it already. +This SDK targets Node 10 for compatibility, which translates to ES6. If you're using +a bundler like webpack you'll likely have to transpile dependencies, including this +SDK, to match your target browsers. + +Using `yarn` instead of `npm` is recommended. Please see the Yarn [install guide](https://yarnpkg.com/docs/install/) +if you do not have it already. ``yarn add matrix-js-sdk`` ```javascript - var sdk = require("matrix-js-sdk"); - var client = sdk.createClient("https://matrix.org"); + import * as sdk from "matrix-js-sdk"; + const client = sdk.createClient("https://matrix.org"); client.publicRooms(function(err, data) { console.log("Public Rooms: %s", JSON.stringify(data)); }); @@ -62,7 +68,7 @@ client.once('sync', function(state, prevState, res) { To send a message: ```javascript -var content = { +const content = { "body": "message text", "msgtype": "m.text" }; @@ -194,10 +200,10 @@ This section provides some useful code snippets which demonstrate the core functionality of the SDK. These examples assume the SDK is setup like this: ```javascript - var sdk = require("matrix-js-sdk"); - var myUserId = "@example:localhost"; - var myAccessToken = "QGV4YW1wbGU6bG9jYWxob3N0.qPEvLuYfNBjxikiCjP"; - var matrixClient = sdk.createClient({ + import * as sdk from "matrix-js-sdk"; + const myUserId = "@example:localhost"; + const myAccessToken = "QGV4YW1wbGU6bG9jYWxob3N0.qPEvLuYfNBjxikiCjP"; + const matrixClient = sdk.createClient({ baseUrl: "http://localhost:8008", accessToken: myAccessToken, userId: myUserId @@ -250,11 +256,11 @@ Output: ```javascript matrixClient.on("RoomState.members", function(event, state, member) { - var room = matrixClient.getRoom(state.roomId); + const room = matrixClient.getRoom(state.roomId); if (!room) { return; } - var memberList = state.getMembers(); + const memberList = state.getMembers(); console.log(room.name); console.log(Array(room.name.length + 1).join("=")); // underline for (var i = 0; i < memberList.length; i++) { From 975368de8f6f75f31529cab62903e8b3a79640e1 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 19 Dec 2019 13:58:08 -0700 Subject: [PATCH 6/7] Externalize our sourcemaps for the browser bundle --- package.json | 3 ++- yarn.lock | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 71a514b59..c8581cbda 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "build": "yarn clean && git rev-parse HEAD > git-revision.txt && yarn build:compile && yarn build:compile-browser && yarn build:minify-browser && yarn build:types", "build:types": "tsc --emitDeclarationOnly", "build:compile": "babel -d lib --verbose --extensions \".ts,.js\" src", - "build:compile-browser": "mkdirp dist && browserify -d src/browser-index.js -p [ tsify -p ./tsconfig.json ] -t [ babelify --sourceMaps=inline --presets [ @babel/preset-env @babel/preset-typescript ] ] > dist/browser-matrix.js", + "build:compile-browser": "mkdirp dist && browserify -d src/browser-index.js -p [ tsify -p ./tsconfig.json ] -t [ babelify --sourceMaps=inline --presets [ @babel/preset-env @babel/preset-typescript ] ] | exorcist dist/browser-matrix.js.map > dist/browser-matrix.js", "build:minify-browser": "terser dist/browser-matrix.js --compress --mangle --source-map \"content=inline\" --output dist/browser-matrix.min.js", "gendoc": "jsdoc -c jsdoc.json -P package.json", "lint": "yarn lint:types && yarn lint:ts && yarn lint:js", @@ -73,6 +73,7 @@ "eslint-config-google": "^0.7.1", "eslint-plugin-babel": "^5.3.0", "eslint-plugin-jest": "^23.0.4", + "exorcist": "^1.0.1", "jest": "^24.9.0", "jsdoc": "^3.5.5", "matrix-mock-request": "^1.2.3", diff --git a/yarn.lock b/yarn.lock index e9602816c..3f784ebef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2566,6 +2566,16 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= +exorcist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/exorcist/-/exorcist-1.0.1.tgz#79316e3c4885845490f7bb405c0e5b5db1167c52" + integrity sha1-eTFuPEiFhFSQ97tAXA5bXbEWfFI= + dependencies: + is-stream "~1.1.0" + minimist "0.0.5" + mkdirp "~0.5.1" + mold-source-map "~0.4.0" + expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -3375,7 +3385,7 @@ is-set@^2.0.0: resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.0.tgz#ae93342b1de5560c720b4b71599abc799d183cf4" integrity sha512-So5/xwRDzU3X7kOt2vpvrsj/Asx5E7Q5IyX6itksB96FJgyydSe9tFwfCq7IZ8URDS4h45FhNgfENToTgBfmgw== -is-stream@^1.1.0: +is-stream@^1.1.0, is-stream@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -4300,6 +4310,11 @@ minimatch@^3.0.2, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" +minimist@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.5.tgz#d7aa327bcecf518f9106ac6b8f003fa3bcea8566" + integrity sha1-16oye87PUY+RBqxrjwA/o7zqhWY= + minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -4338,7 +4353,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5.0, mkdirp@^0.5.1: +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -4366,6 +4381,14 @@ module-deps@^6.0.0: through2 "^2.0.0" xtend "^4.0.0" +mold-source-map@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/mold-source-map/-/mold-source-map-0.4.0.tgz#cf67e0b31c47ab9badb5c9c25651862127bb8317" + integrity sha1-z2fgsxxHq5uttcnCVlGGISe7gxc= + dependencies: + convert-source-map "^1.1.0" + through "~2.2.7" + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -5997,6 +6020,11 @@ through2@^2.0.0: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= +through@~2.2.7: + version "2.2.7" + resolved "https://registry.yarnpkg.com/through/-/through-2.2.7.tgz#6e8e21200191d4eb6a99f6f010df46aa1c6eb2bd" + integrity sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0= + timers-browserify@^1.0.1: version "1.4.2" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" From 53e838083c190e771aae7e87ad5e412d89a28cb4 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 19 Dec 2019 14:03:35 -0700 Subject: [PATCH 7/7] Fix terser for new sourcemap handling --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c8581cbda..177d683ce 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "build:types": "tsc --emitDeclarationOnly", "build:compile": "babel -d lib --verbose --extensions \".ts,.js\" src", "build:compile-browser": "mkdirp dist && browserify -d src/browser-index.js -p [ tsify -p ./tsconfig.json ] -t [ babelify --sourceMaps=inline --presets [ @babel/preset-env @babel/preset-typescript ] ] | exorcist dist/browser-matrix.js.map > dist/browser-matrix.js", - "build:minify-browser": "terser dist/browser-matrix.js --compress --mangle --source-map \"content=inline\" --output dist/browser-matrix.min.js", + "build:minify-browser": "terser dist/browser-matrix.js --compress --mangle --source-map --output dist/browser-matrix.min.js", "gendoc": "jsdoc -c jsdoc.json -P package.json", "lint": "yarn lint:types && yarn lint:ts && yarn lint:js", "lint:js": "eslint --max-warnings 93 src spec",