From 25107caeb2e7949aa596a0cd4d9c03af9b3d58f8 Mon Sep 17 00:00:00 2001 From: inokawa <48897392+inokawa@users.noreply.github.com> Date: Fri, 6 Nov 2020 11:43:17 +0900 Subject: [PATCH 01/66] Fix duplication of lines in docs --- .../npm-browser-packages/template-deep-dive/src-lib-rs.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/src/tutorials/npm-browser-packages/template-deep-dive/src-lib-rs.md b/docs/src/tutorials/npm-browser-packages/template-deep-dive/src-lib-rs.md index 1a0624a..de75b16 100644 --- a/docs/src/tutorials/npm-browser-packages/template-deep-dive/src-lib-rs.md +++ b/docs/src/tutorials/npm-browser-packages/template-deep-dive/src-lib-rs.md @@ -83,9 +83,8 @@ Either way, the contents of `utils.rs` define a single public function `set_pani ```rust // When the `wee_alloc` feature is enabled, use `wee_alloc` as the global - // When the `wee_alloc` feature is enabled, use `wee_alloc` as the global // allocator. - // allocator. #[cfg(feature = "wee_alloc")] - if #[cfg(feature = "wee_alloc")] { #[global_allocator] + // allocator. + if #[cfg(feature = "wee_alloc")] { #[global_allocator] static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; ``` From f66d321ba9bf08d327bccc3e2f2945c0c3b53f69 Mon Sep 17 00:00:00 2001 From: Brennon Loveless Date: Wed, 6 Jan 2021 19:54:06 -0500 Subject: [PATCH 02/66] First look in the local path for the wasm-opt binary. Use whatever binary is found and assume it works --- src/wasm_opt.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/wasm_opt.rs b/src/wasm_opt.rs index 19f33c3..fb8b4bb 100644 --- a/src/wasm_opt.rs +++ b/src/wasm_opt.rs @@ -3,7 +3,7 @@ use crate::child; use crate::install::{self, Tool}; use crate::PBAR; -use binary_install::Cache; +use binary_install::{Cache, Download}; use std::path::Path; use std::process::Command; @@ -58,6 +58,16 @@ pub fn find_wasm_opt( cache: &Cache, install_permitted: bool, ) -> Result { + // First attempt to look up in PATH. If found assume it works. + if let Ok(path) = which::which("wasm-opt") { + PBAR.info(&format!("found wasm-opt at {:?}", path)); + + match path.as_path().parent() { + Some(path) => return Ok(install::Status::Found(Download::at(path))), + _ => {} + } + } + let version = "version_78"; Ok(install::download_prebuilt( &install::Tool::WasmOpt, From fee0938c3417dbcd5d72544a8c1981d761590042 Mon Sep 17 00:00:00 2001 From: Brennon Loveless Date: Wed, 6 Jan 2021 20:05:50 -0500 Subject: [PATCH 03/66] Feel better to explictly declare the arms instead of using a match all --- src/wasm_opt.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wasm_opt.rs b/src/wasm_opt.rs index fb8b4bb..d3ad4c6 100644 --- a/src/wasm_opt.rs +++ b/src/wasm_opt.rs @@ -64,7 +64,7 @@ pub fn find_wasm_opt( match path.as_path().parent() { Some(path) => return Ok(install::Status::Found(Download::at(path))), - _ => {} + None => {} } } From 2620c78081409e8c3ac9570279e063be7820a21a Mon Sep 17 00:00:00 2001 From: Andika Demas Riyandi Date: Sat, 13 Feb 2021 10:07:17 +0700 Subject: [PATCH 04/66] Fix #958: Update binary-install in package.json to fix security alert --- npm/package-lock.json | 159 ++++++++++-------------------------------- npm/package.json | 2 +- 2 files changed, 38 insertions(+), 123 deletions(-) diff --git a/npm/package-lock.json b/npm/package-lock.json index 3ba62bc..a89cc71 100644 --- a/npm/package-lock.json +++ b/npm/package-lock.json @@ -5,12 +5,11 @@ "requires": true, "dependencies": { "axios": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", - "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" + "follow-redirects": "^1.10.0" } }, "balanced-match": { @@ -19,16 +18,13 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "binary-install": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/binary-install/-/binary-install-0.0.1.tgz", - "integrity": "sha512-axr6lqB4ec/pkEOb/JMnZpfcroWv1zT48pVz1oQHG7XmGkS77vmdxmP1btuH79lWQdy9e2MVw/uW0D8siopkRg==", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/binary-install/-/binary-install-0.1.1.tgz", + "integrity": "sha512-DqED0D/6LrS+BHDkKn34vhRqOGjy5gTMgvYZsGK2TpNbdPuz4h+MRlNgGv5QBRd7pWq/jylM4eKNCizgAq3kNQ==", "requires": { - "axios": "^0.19.0", - "env-paths": "^2.2.0", - "mkdirp": "^0.5.1", - "rimraf": "^3.0.0", - "tar": "^5.0.5", - "universal-url": "^2.0.0" + "axios": "^0.21.1", + "rimraf": "^3.0.2", + "tar": "^6.1.0" } }, "brace-expansion": { @@ -41,40 +37,24 @@ } }, "chownr": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "env-paths": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", - "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==" - }, "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - } + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", + "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==" }, "fs-minipass": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.0.0.tgz", - "integrity": "sha512-40Qz+LFXmd9tzYVnnBmZvFfvAADfUA14TXPK1s7IfElJTIZ97rA8w4Kin7Wt5JBrC3ShnnFJO/5vPjPEeJIq9A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "requires": { "minipass": "^3.0.0" } @@ -97,11 +77,6 @@ "path-is-absolute": "^1.0.0" } }, - "hasurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hasurl/-/hasurl-1.0.0.tgz", - "integrity": "sha512-43ypUd3DbwyCT01UYpA99AEZxZ4aKtRxWGBHEIbjcOsUghd9YUON0C+JF6isNjaiwC/UF5neaUudy6JS9jZPZQ==" - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -116,16 +91,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -134,40 +99,27 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, "minipass": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", - "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", "requires": { "yallist": "^4.0.0" } }, "minizlib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", - "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "requires": { "minipass": "^3.0.0", "yallist": "^4.0.0" } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "once": { "version": "1.4.0", @@ -182,64 +134,27 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, "rimraf": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", - "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" } }, "tar": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/tar/-/tar-5.0.5.tgz", - "integrity": "sha512-MNIgJddrV2TkuwChwcSNds/5E9VijOiw7kAc1y5hTNJoLDSuIyid2QtLYiCYNnICebpuvjhPQZsXwUL0O3l7OQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", "requires": { - "chownr": "^1.1.3", + "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^3.0.0", - "minizlib": "^2.1.0", - "mkdirp": "^0.5.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", "yallist": "^4.0.0" } }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "requires": { - "punycode": "^2.1.0" - } - }, - "universal-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universal-url/-/universal-url-2.0.0.tgz", - "integrity": "sha512-3DLtXdm/G1LQMCnPj+Aw7uDoleQttNHp2g5FnNQKR6cP6taNWS1b/Ehjjx4PVyvejKi3TJyu8iBraKM4q3JQPg==", - "requires": { - "hasurl": "^1.0.0", - "whatwg-url": "^7.0.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/npm/package.json b/npm/package.json index c7036f7..a903a48 100644 --- a/npm/package.json +++ b/npm/package.json @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/rustwasm/wasm-pack#readme", "dependencies": { - "binary-install": "0.0.1" + "binary-install": "^0.1.0" } } From 853e9e95f5f43ccb2a8367264f650f00a6e6c958 Mon Sep 17 00:00:00 2001 From: Philip Crotwell Date: Fri, 7 May 2021 09:14:17 -0400 Subject: [PATCH 05/66] remove greenkeeper Greenkeeper said goodbye in June 2020, so no longer good to link to as an example. Alternative would be to link to Snyk instead? --- docs/src/introduction.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/src/introduction.md b/docs/src/introduction.md index b00dd12..06b6456 100644 --- a/docs/src/introduction.md +++ b/docs/src/introduction.md @@ -6,12 +6,10 @@ This tool seeks to be a one-stop shop for building and working with rust- generated WebAssembly that you would like to interop with JavaScript, in the browser or with Node.js. `wasm-pack` helps you build rust-generated WebAssembly packages that you could publish to the npm registry, or otherwise use -alongside any javascript packages in workflows that you already use, such as [webpack] -or [greenkeeper]. +alongside any javascript packages in workflows that you already use, such as [webpack]. [bundler-support]: https://github.com/rustwasm/team/blob/master/goals/bundler-integration.md#details [webpack]: https://webpack.js.org/ -[greenkeeper]: https://greenkeeper.io/ This project is a part of the [rust-wasm] group. You can find more info by visiting that repo! From 13c2fc64b3fb0ceba3f2fe8f6bec61923ba1d4ce Mon Sep 17 00:00:00 2001 From: pione30 Date: Sat, 8 May 2021 19:56:03 +0900 Subject: [PATCH 06/66] fix(docs): remove duplicated "is" --- .../npm-browser-packages/template-deep-dive/wee_alloc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/tutorials/npm-browser-packages/template-deep-dive/wee_alloc.md b/docs/src/tutorials/npm-browser-packages/template-deep-dive/wee_alloc.md index 8dd741d..68102e6 100644 --- a/docs/src/tutorials/npm-browser-packages/template-deep-dive/wee_alloc.md +++ b/docs/src/tutorials/npm-browser-packages/template-deep-dive/wee_alloc.md @@ -15,7 +15,7 @@ responsive. [An analysis](http://fitzgeraldnick.com/2018/02/09/wee-alloc.html) suggests that over half of the bare minimum WebAssembly memory footprint is required by Rust's default memory allocator. Yet, WebAssembly code often does not require a sophisticated allocator, since it often just requests a couple of large initial allocations. `wee_alloc` trades off size for speed. It has a tiny code-size -footprint, but it is is not competitive in terms of performance with the +footprint, but it is not competitive in terms of performance with the default global allocator, for example. For even more details, see the [`wee_alloc` From bc612d970ab3d6ccc0755dcd4569250bb6aaa5d2 Mon Sep 17 00:00:00 2001 From: Martijn Swaagman Date: Tue, 25 May 2021 12:16:37 +0200 Subject: [PATCH 07/66] [doc] fix toc links --- .../npm-browser-packages/template-deep-dive/src-utils-rs.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/tutorials/npm-browser-packages/template-deep-dive/src-utils-rs.md b/docs/src/tutorials/npm-browser-packages/template-deep-dive/src-utils-rs.md index 0c557d1..92ad6fe 100644 --- a/docs/src/tutorials/npm-browser-packages/template-deep-dive/src-utils-rs.md +++ b/docs/src/tutorials/npm-browser-packages/template-deep-dive/src-utils-rs.md @@ -5,8 +5,8 @@ The purpose of `utils.rs` is to define the `utils` module, which contains a sing If the `console_error_panic_hook` feature is not enabled, then `set_panic_hook` is defined to be an inlined empty function. So, there is no run-time performance or code-size penalty incurred by its use. We will discuss: -1. [Defining `set_panic_hook`](#a1-defining-set_panic_hook) -2. [What is `console_error_panic_hook`?](#a2-what-is-console_error_panic_hook) +1. [Defining `set_panic_hook`](#1-defining-set_panic_hook) +2. [What is `console_error_panic_hook`?](#2-what-is-console_error_panic_hook) --- From a763657faa7de242d72afef8575065640d1ed652 Mon Sep 17 00:00:00 2001 From: Gunnlaugur Thor Briem Date: Wed, 2 Jun 2021 15:33:26 +0000 Subject: [PATCH 08/66] cleanup: remove outdated TOC heading That section is gone --- .../npm-browser-packages/template-deep-dive/wee_alloc.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/src/tutorials/npm-browser-packages/template-deep-dive/wee_alloc.md b/docs/src/tutorials/npm-browser-packages/template-deep-dive/wee_alloc.md index 8dd741d..9a040b4 100644 --- a/docs/src/tutorials/npm-browser-packages/template-deep-dive/wee_alloc.md +++ b/docs/src/tutorials/npm-browser-packages/template-deep-dive/wee_alloc.md @@ -2,7 +2,6 @@ 1. [What is `wee_alloc`?](#what-is-wee_alloc) 2. [Enabling `wee_alloc`](#enabling-wee_alloc) -3. [Rust nightly](#rust-nightly) ## What is `wee_alloc`? From 5d959e99600dedd7257d037063097d64f3a40ecd Mon Sep 17 00:00:00 2001 From: Sebastian Imlay Date: Thu, 3 Jun 2021 15:49:24 -0700 Subject: [PATCH 09/66] Updated to use new BinaryInstall api --- npm/binary.js | 2 +- npm/package-lock.json | 216 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 216 insertions(+), 2 deletions(-) diff --git a/npm/binary.js b/npm/binary.js index 4b987c6..15a12a0 100644 --- a/npm/binary.js +++ b/npm/binary.js @@ -25,7 +25,7 @@ const getBinary = () => { const author = "rustwasm"; const name = "wasm-pack"; const url = `https://github.com/${author}/${name}/releases/download/v${version}/${name}-v${version}-${platform}.tar.gz`; - return new Binary(url, { name }); + return new Binary(name, url ); }; const run = () => { diff --git a/npm/package-lock.json b/npm/package-lock.json index a89cc71..e0c7f94 100644 --- a/npm/package-lock.json +++ b/npm/package-lock.json @@ -1,8 +1,222 @@ { "name": "wasm-pack", "version": "0.9.1", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "wasm-pack", + "version": "0.9.1", + "hasInstallScript": true, + "license": "MIT OR Apache-2.0", + "dependencies": { + "binary-install": "^0.1.0" + }, + "bin": { + "wasm-pack": "run.js" + } + }, + "node_modules/axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "dependencies": { + "follow-redirects": "^1.10.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/binary-install": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/binary-install/-/binary-install-0.1.1.tgz", + "integrity": "sha512-DqED0D/6LrS+BHDkKn34vhRqOGjy5gTMgvYZsGK2TpNbdPuz4h+MRlNgGv5QBRd7pWq/jylM4eKNCizgAq3kNQ==", + "dependencies": { + "axios": "^0.21.1", + "rimraf": "^3.0.2", + "tar": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/follow-redirects": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", + "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/tar": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + }, "dependencies": { "axios": { "version": "0.21.1", From 23452046ecc5531082e3dc2061b27fee7c77c82c Mon Sep 17 00:00:00 2001 From: Azriel Hoh Date: Mon, 18 May 2020 14:41:42 +1200 Subject: [PATCH 10/66] Passes `extra_options` to `cargo build --tests` when running `wasm-pack test`. Issue #698 --- src/build/mod.rs | 19 ++++++++++++++-- src/command/test.rs | 2 +- tests/all/test.rs | 53 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 3 deletions(-) diff --git a/src/build/mod.rs b/src/build/mod.rs index f87133d..c19d12a 100644 --- a/src/build/mod.rs +++ b/src/build/mod.rs @@ -112,11 +112,24 @@ pub fn cargo_build_wasm( Ok(()) } -/// Run `cargo build --tests` targetting `wasm32-unknown-unknown`. +/// Runs `cargo build --tests` targeting `wasm32-unknown-unknown`. /// /// This generates the `Cargo.lock` file that we use in order to know which version of /// wasm-bindgen-cli to use when running tests. -pub fn cargo_build_wasm_tests(path: &Path, debug: bool) -> Result<(), Error> { +/// +/// Note that the command to build tests and the command to run tests must use the same parameters, i.e. features to be +/// disabled / enabled must be consistent for both `cargo build` and `cargo test`. +/// +/// # Parameters +/// +/// * `path`: Path to the crate directory to build tests. +/// * `debug`: Whether to build tests in `debug` mode. +/// * `extra_options`: Additional parameters to pass to `cargo` when building tests. +pub fn cargo_build_wasm_tests( + path: &Path, + debug: bool, + extra_options: &[String], +) -> Result<(), Error> { let mut cmd = Command::new("cargo"); cmd.current_dir(path).arg("build").arg("--tests"); @@ -131,6 +144,8 @@ pub fn cargo_build_wasm_tests(path: &Path, debug: bool) -> Result<(), Error> { cmd.arg("--target").arg("wasm32-unknown-unknown"); + cmd.args(extra_options); + child::run(cmd, "cargo build").context("Compilation of your program failed")?; Ok(()) } diff --git a/src/command/test.rs b/src/command/test.rs index cc77a10..2f1a7e4 100644 --- a/src/command/test.rs +++ b/src/command/test.rs @@ -243,7 +243,7 @@ impl Test { fn step_build_tests(&mut self) -> Result<(), Error> { info!("Compiling tests to wasm..."); - build::cargo_build_wasm_tests(&self.crate_path, !self.release)?; + build::cargo_build_wasm_tests(&self.crate_path, !self.release, &self.extra_options)?; info!("Finished compiling tests to wasm."); Ok(()) diff --git a/tests/all/test.rs b/tests/all/test.rs index e0e204a..70083c9 100644 --- a/tests/all/test.rs +++ b/tests/all/test.rs @@ -337,3 +337,56 @@ fn test_output_is_printed_once_in_both_stdout_and_failures() { out.matches("YABBA DABBA DOO").count() == log_cnt * 2 })); } + +#[test] +fn extra_options_is_passed_to_cargo_when_building_tests() { + let fixture = fixture::Fixture::new(); + fixture + .readme() + .file( + "Cargo.toml", + r#" + [package] + name = "foo" + version = "0.1.0" + authors = [] + + [dev-dependencies] + wasm-bindgen-test = "0.2" + + [features] + default = ["native"] + native = [] + "#, + ) + .file( + "src/lib.rs", + r#" + pub fn foo() -> u32 { + #[cfg(feature = "native")] + compile_error!("Test should pass through `--no-default-features` for this to pass."); + + 1 + } + "#, + ) + .file( + "tests/foo.rs", + r#" + extern crate wasm_bindgen_test; + use wasm_bindgen_test::*; + + #[wasm_bindgen_test] + fn smoke() { + foo::foo(); + } + "#, + ) + .install_local_wasm_bindgen(); + let _lock = fixture.lock(); + fixture + .wasm_pack() + .args(&["test", "--node", "--", "--no-default-features"]) + .assert() + .success(); +} From 44e826e8200cb3387a151c4d391070f25b6e8eac Mon Sep 17 00:00:00 2001 From: Azriel Hoh Date: Mon, 18 May 2020 14:55:44 +1200 Subject: [PATCH 11/66] Updates `CHANGELOG.md`. --- CHANGELOG.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17eb651..e00db72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## 🤍 Unreleased + +- ### 🤕 Fixes + + - **Pass through extra options when building tests - [azriel91], [issue/698] [pull/851]** + + `wasm-pack test` accepts extra options to pass through to `cargo` when running tests. + Under the hood, this runs `cargo build` before `cargo test`, and the additional options were only passed through to the `test` command. This meant that crates that enabled native features by default could not be built using `wasm-pack`, as it would attempt to build tests for the `wasm32-unknown-unknown` target with the native features enabled. + + This PR passes through the extra options to `cargo` when building the tests as well. + + [azriel91]: https://github.com/azriel91 + [pull/851]: https://github.com/rustwasm/wasm-pack/pull/851 + [issue/698]: https://github.com/rustwasm/wasm-pack/issues/698 + ## ☁️ 0.9.1 - ### 🤕 Fixes From d1cd431a51c4b7a7212b9caf9cd67bbcf8f8341f Mon Sep 17 00:00:00 2001 From: Azriel Hoh Date: Mon, 18 May 2020 19:39:16 +1200 Subject: [PATCH 12/66] Don't pass through test filter to `cargo build`. --- src/command/test.rs | 10 +++++++++- tests/all/test.rs | 14 +++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/command/test.rs b/src/command/test.rs index 2f1a7e4..10e8737 100644 --- a/src/command/test.rs +++ b/src/command/test.rs @@ -243,7 +243,15 @@ impl Test { fn step_build_tests(&mut self) -> Result<(), Error> { info!("Compiling tests to wasm..."); - build::cargo_build_wasm_tests(&self.crate_path, !self.release, &self.extra_options)?; + // If the user has run `wasm-pack test -- --features "f1" -- test_name`, then we want to only pass through + // `--features "f1"` to `cargo build` + let extra_options = + if let Some(index) = self.extra_options.iter().position(|arg| arg == "--") { + &self.extra_options[..index] + } else { + &self.extra_options + }; + build::cargo_build_wasm_tests(&self.crate_path, !self.release, extra_options)?; info!("Finished compiling tests to wasm."); Ok(()) diff --git a/tests/all/test.rs b/tests/all/test.rs index 70083c9..a013818 100644 --- a/tests/all/test.rs +++ b/tests/all/test.rs @@ -380,13 +380,25 @@ fn extra_options_is_passed_to_cargo_when_building_tests() { fn smoke() { foo::foo(); } + + #[wasm_bindgen_test] + fn fire() { + panic!("This should be filtered from test execution."); + } "#, ) .install_local_wasm_bindgen(); let _lock = fixture.lock(); fixture .wasm_pack() - .args(&["test", "--node", "--", "--no-default-features"]) + .args(&[ + "test", + "--node", + "--", + "--no-default-features", + "--", + "smoke", + ]) .assert() .success(); } From 37685515582f3e34a320d6213c5d733a55a9165a Mon Sep 17 00:00:00 2001 From: Azriel Hoh Date: Sat, 3 Oct 2020 12:14:41 +1300 Subject: [PATCH 13/66] Update `structopt` to `0.3`. --- Cargo.lock | 42 +++++++++++++++++++++++++++++++++++------- Cargo.toml | 2 +- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ac2e51b..8b618e1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "adler32" version = "1.0.4" @@ -1260,6 +1262,30 @@ dependencies = [ "treeline", ] +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2 1.0.8", + "quote 1.0.2", + "syn 1.0.14", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2 1.0.8", + "quote 1.0.2", + "version_check", +] + [[package]] name = "proc-macro2" version = "0.4.30" @@ -1819,24 +1845,26 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "structopt" -version = "0.2.18" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7" +checksum = "5277acd7ee46e63e5168a80734c9f6ee81b1367a7d8772a2d765df2a3705d28c" dependencies = [ "clap", + "lazy_static 1.4.0", "structopt-derive", ] [[package]] name = "structopt-derive" -version = "0.2.18" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107" +checksum = "5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90" dependencies = [ "heck", - "proc-macro2 0.4.30", - "quote 0.6.13", - "syn 0.15.44", + "proc-macro-error", + "proc-macro2 1.0.8", + "quote 1.0.2", + "syn 1.0.14", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 1b91821..158774b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,7 +30,7 @@ serde_ignored = "0.0.4" serde_json = "1.0.26" strsim = "0.8.0" siphasher = "0.2.3" -structopt = "0.2" +structopt = "0.3" toml = "0.4" which = "2.0.0" binary-install = "0.0.2" From b75773a2fe0ab01f7de207e076d92cbc6a6812e4 Mon Sep 17 00:00:00 2001 From: Azriel Hoh Date: Sat, 3 Oct 2020 12:15:08 +1300 Subject: [PATCH 14/66] Use `--manifest-path` for `Cargo.toml`, and modify `AppSettings`. This allows the extra arguments to be forwarded through to `cargo` without requiring `--` beforehand. --- src/command/test.rs | 8 ++++++-- tests/all/test.rs | 9 +-------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/command/test.rs b/src/command/test.rs index 10e8737..388ef01 100644 --- a/src/command/test.rs +++ b/src/command/test.rs @@ -12,12 +12,17 @@ use log::info; use manifest; use std::path::PathBuf; use std::time::Instant; +use structopt::clap::AppSettings; use test::{self, webdriver}; #[derive(Debug, Default, StructOpt)] +#[structopt( + setting = AppSettings::AllowLeadingHyphen, + setting = AppSettings::TrailingVarArg, +)] /// Everything required to configure the `wasm-pack test` command. pub struct TestOptions { - #[structopt(parse(from_os_str))] + #[structopt(parse(from_os_str), long = "manifest-path")] /// The path to the Rust crate. If not set, searches up the path from the current dirctory. pub path: Option, @@ -74,7 +79,6 @@ pub struct TestOptions { /// Build with the release profile. pub release: bool, - #[structopt(last = true)] /// List of extra options to pass to `cargo test` pub extra_options: Vec, } diff --git a/tests/all/test.rs b/tests/all/test.rs index a013818..bc95e8d 100644 --- a/tests/all/test.rs +++ b/tests/all/test.rs @@ -391,14 +391,7 @@ fn extra_options_is_passed_to_cargo_when_building_tests() { let _lock = fixture.lock(); fixture .wasm_pack() - .args(&[ - "test", - "--node", - "--", - "--no-default-features", - "--", - "smoke", - ]) + .args(&["test", "--node", "--no-default-features", "--", "smoke"]) .assert() .success(); } From f4f658859599600e9b146bce9ac426c550c4c2b0 Mon Sep 17 00:00:00 2001 From: Azriel Hoh Date: Sat, 3 Oct 2020 12:34:09 +1300 Subject: [PATCH 15/66] Document why we use `AppSettings`. --- src/command/test.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/command/test.rs b/src/command/test.rs index 388ef01..2fc569f 100644 --- a/src/command/test.rs +++ b/src/command/test.rs @@ -17,7 +17,10 @@ use test::{self, webdriver}; #[derive(Debug, Default, StructOpt)] #[structopt( + // Allows unknown `--option`s to be parsed as positional arguments, so we can forward it to `cargo`. setting = AppSettings::AllowLeadingHyphen, + + // Allows `--` to be parsed as an argument, so we can forward it to `cargo`. setting = AppSettings::TrailingVarArg, )] /// Everything required to configure the `wasm-pack test` command. From 7a7abf934eb03eee490e2b39afc3bd74968cd540 Mon Sep 17 00:00:00 2001 From: Azriel Hoh Date: Sun, 18 Oct 2020 13:42:22 +1300 Subject: [PATCH 16/66] Parse path and extra options together, then split them after. This allows `wasm-pack` to have the same command line interface as `cargo` to pass through options such as `--no-default-features`. --- src/command/test.rs | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/command/test.rs b/src/command/test.rs index 2fc569f..9c5ab9b 100644 --- a/src/command/test.rs +++ b/src/command/test.rs @@ -11,6 +11,7 @@ use lockfile::Lockfile; use log::info; use manifest; use std::path::PathBuf; +use std::str::FromStr; use std::time::Instant; use structopt::clap::AppSettings; use test::{self, webdriver}; @@ -25,10 +26,6 @@ use test::{self, webdriver}; )] /// Everything required to configure the `wasm-pack test` command. pub struct TestOptions { - #[structopt(parse(from_os_str), long = "manifest-path")] - /// The path to the Rust crate. If not set, searches up the path from the current dirctory. - pub path: Option, - #[structopt(long = "node")] /// Run the tests in Node.js. pub node: bool, @@ -82,8 +79,14 @@ pub struct TestOptions { /// Build with the release profile. pub release: bool, - /// List of extra options to pass to `cargo test` - pub extra_options: Vec, + /// Path to the Rust crate, and extra options to pass to `cargo test`. + /// + /// If the path is not provided, this command searches up the path from the current dirctory + /// + /// This is a workaround to allow wasm pack to provide the same command line interface as `cargo`. + /// See for more information. + #[structopt(allow_hyphen_values = true)] + pub path_and_extra_options: Vec, } /// A configured `wasm-pack test` command. @@ -111,7 +114,6 @@ impl Test { /// Construct a test command from the given options. pub fn try_from_opts(test_opts: TestOptions) -> Result { let TestOptions { - path, node, mode, headless, @@ -122,9 +124,23 @@ impl Test { geckodriver, safari, safaridriver, - extra_options, + mut path_and_extra_options, } = test_opts; + let first_arg_is_path = path_and_extra_options + .get(0) + .map(|first_arg| !first_arg.starts_with("-")) + .unwrap_or(false); + + let (path, extra_options) = if first_arg_is_path { + let path = PathBuf::from_str(&path_and_extra_options.remove(0))?; + let extra_options = path_and_extra_options; + + (Some(path), extra_options) + } else { + (None, path_and_extra_options) + }; + let crate_path = get_crate_path(path)?; let crate_data = manifest::CrateData::new(&crate_path, None)?; let any_browser = chrome || firefox || safari; From 1f13f25d0fa2d9628d60273f1725bddeda04e1b9 Mon Sep 17 00:00:00 2001 From: Azriel Hoh Date: Mon, 28 Jun 2021 14:57:37 +1200 Subject: [PATCH 17/66] Update tests with newer crate versions. --- tests/all/build.rs | 4 ++-- tests/all/download.rs | 4 ++-- tests/all/lockfile.rs | 12 ++++++------ tests/all/log_level.rs | 1 - tests/all/utils/fixture.rs | 14 +++++++------- 5 files changed, 17 insertions(+), 18 deletions(-) diff --git a/tests/all/build.rs b/tests/all/build.rs index 7905370..0c59ba8 100644 --- a/tests/all/build.rs +++ b/tests/all/build.rs @@ -146,8 +146,8 @@ fn dash_dash_web_target_has_error_on_old_bindgen() { let output = String::from_utf8(cmd.get_output().stderr.clone()).unwrap(); assert!( - output.contains("0.2.39"), - "Output did not contain '0.2.39', output was {}", + output.contains("Please update your project to wasm-bindgen version >= 0.2.39"), + "Output did not contain 'Please update your project to wasm-bindgen version >= 0.2.39', output was {}", output ); } diff --git a/tests/all/download.rs b/tests/all/download.rs index 3f5dec1..05d9f6d 100644 --- a/tests/all/download.rs +++ b/tests/all/download.rs @@ -12,7 +12,7 @@ fn can_download_prebuilt_wasm_bindgen() { let dir = tempfile::TempDir::new().unwrap(); let cache = Cache::at(dir.path()); if let install::Status::Found(dl) = - install::download_prebuilt(&Tool::WasmBindgen, &cache, "0.2.37", true).unwrap() + install::download_prebuilt(&Tool::WasmBindgen, &cache, "0.2.74", true).unwrap() { assert!(dl.binary("wasm-bindgen").unwrap().is_file()); assert!(dl.binary("wasm-bindgen-test-runner").unwrap().is_file()) @@ -29,7 +29,7 @@ fn can_download_prebuilt_wasm_bindgen() { ))] fn downloading_prebuilt_wasm_bindgen_handles_http_errors() { let dir = tempfile::TempDir::new().unwrap(); - let bad_version = "0.2.37-some-trailing-version-stuff-that-does-not-exist"; + let bad_version = "0.2.74-some-trailing-version-stuff-that-does-not-exist"; let cache = Cache::at(dir.path()); let result = install::download_prebuilt(&Tool::WasmBindgen, &cache, bad_version, true); assert!(result.is_err()); diff --git a/tests/all/lockfile.rs b/tests/all/lockfile.rs index 1a42ce8..f7a8784 100644 --- a/tests/all/lockfile.rs +++ b/tests/all/lockfile.rs @@ -8,7 +8,7 @@ fn it_gets_wasm_bindgen_version() { fixture.cargo_check(); let data = CrateData::new(&fixture.path, None).unwrap(); let lock = Lockfile::new(&data).unwrap(); - assert_eq!(lock.wasm_bindgen_version(), Some("0.2.37"),); + assert_eq!(lock.wasm_bindgen_version(), Some("0.2.74"),); } #[test] @@ -17,7 +17,7 @@ fn it_gets_wasm_bindgen_test_version() { fixture.cargo_check(); let data = CrateData::new(&fixture.path, None).unwrap(); let lock = Lockfile::new(&data).unwrap(); - assert_eq!(lock.wasm_bindgen_test_version(), Some("0.2.37"),); + assert_eq!(lock.wasm_bindgen_test_version(), Some("0.3.24"),); } #[test] @@ -46,7 +46,7 @@ fn it_gets_wasm_bindgen_version_in_crate_inside_workspace() { crate-type = ["cdylib"] [dependencies] - wasm-bindgen = "=0.2.37" + wasm-bindgen = "=0.2.74" "#, ) .file( @@ -62,7 +62,7 @@ fn it_gets_wasm_bindgen_version_in_crate_inside_workspace() { fixture.cargo_check(); let data = CrateData::new(&fixture.path.join("blah"), None).unwrap(); let lock = Lockfile::new(&data).unwrap(); - assert_eq!(lock.wasm_bindgen_version(), Some("0.2.37"),); + assert_eq!(lock.wasm_bindgen_version(), Some("0.2.74"),); } #[test] @@ -91,7 +91,7 @@ fn it_gets_wasm_bindgen_version_from_dependencies() { crate-type = ["cdylib"] [dependencies] - wasm-bindgen = "=0.2.37" + wasm-bindgen = "=0.2.74" "#, ) .file( @@ -130,5 +130,5 @@ fn it_gets_wasm_bindgen_version_from_dependencies() { fixture.cargo_check(); let data = CrateData::new(&fixture.path.join("parent"), None).unwrap(); let lock = Lockfile::new(&data).unwrap(); - assert_eq!(lock.wasm_bindgen_version(), Some("0.2.37"),); + assert_eq!(lock.wasm_bindgen_version(), Some("0.2.74"),); } diff --git a/tests/all/log_level.rs b/tests/all/log_level.rs index d067742..95a08ca 100644 --- a/tests/all/log_level.rs +++ b/tests/all/log_level.rs @@ -9,7 +9,6 @@ fn matches_info() -> impl Predicate + PredicateReflection { contains("[INFO]: Checking for the Wasm target...") .and(contains("[INFO]: Compiling to Wasm...")) .and(contains("[INFO]: License key is set in Cargo.toml but no LICENSE file(s) were found; Please add the LICENSE file(s) to your project directory")) - .and(contains("[INFO]: Installing wasm-bindgen...")) .and(contains("[INFO]: Optimizing wasm binaries with `wasm-opt`...")) .and(contains("[INFO]: :-) Done in ")) .and(contains("[INFO]: :-) Your wasm pkg is ready to publish at ")) diff --git a/tests/all/utils/fixture.rs b/tests/all/utils/fixture.rs index 6c7c1c4..e51d904 100644 --- a/tests/all/utils/fixture.rs +++ b/tests/all/utils/fixture.rs @@ -143,10 +143,10 @@ impl Fixture { # bindgen downloaded is what we expect, and if `=` is # removed then it will download whatever the newest version # of wasm-bindgen is which may not be what's listed here. - wasm-bindgen = "=0.2.37" + wasm-bindgen = "=0.2.74" [dev-dependencies] - wasm-bindgen-test = "0.2" + wasm-bindgen-test = "0.3" "#, name ), @@ -221,7 +221,7 @@ impl Fixture { static INSTALL_WASM_BINDGEN: Once = Once::new(); let cache = self.cache(); - let version = "0.2.37"; + let version = "0.2.74"; let download = || { if let Ok(download) = @@ -417,7 +417,7 @@ pub fn no_cdylib() -> Fixture { wasm-bindgen = "0.2" [dev-dependencies] - wasm-bindgen-test = "0.2" + wasm-bindgen-test = "0.3" "#, ); fixture @@ -590,7 +590,7 @@ pub fn transitive_dependencies() -> Fixture { project_b = { path = "../project_b" } [dev-dependencies] - wasm-bindgen-test = "0.2" + wasm-bindgen-test = "0.3" "#, ); fixture.file( @@ -639,7 +639,7 @@ pub fn transitive_dependencies() -> Fixture { project_b = { path = "../project_b" } [dev-dependencies] - wasm-bindgen-test = "0.2" + wasm-bindgen-test = "0.3" "#, ); fixture.file( @@ -688,7 +688,7 @@ pub fn transitive_dependencies() -> Fixture { wasm-bindgen = "0.2" [dev-dependencies] - wasm-bindgen-test = "0.2" + wasm-bindgen-test = "0.3" "#, ); fixture.file( From 62d25113f438ff56422295e4b91aa88faa16ae39 Mon Sep 17 00:00:00 2001 From: Ashley Williams Date: Mon, 21 Dec 2020 09:50:02 -0600 Subject: [PATCH 18/66] fix(ci): remove appveyor and travis --- .appveyor.yml | 44 ----------------------- .travis.yml | 99 --------------------------------------------------- 2 files changed, 143 deletions(-) delete mode 100644 .appveyor.yml delete mode 100644 .travis.yml diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 58bb395..0000000 --- a/.appveyor.yml +++ /dev/null @@ -1,44 +0,0 @@ -environment: - global: - RUSTFLAGS: -C target-feature=+crt-static - -install: - - ps: Install-Product node 10 - - appveyor-retry appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe - - rustup-init.exe -y --default-host x86_64-pc-windows-msvc --default-toolchain stable - - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin - - set RUST_BACKTRACE=1 - - rustup target add wasm32-unknown-unknown --toolchain stable - - rustc -V - - cargo -V - -build: false - -test_script: - - cargo test --release --tests --locked - - cargo test --release --doc - -before_deploy: - - ps: | - $NAME = "wasm-pack-${env:APPVEYOR_REPO_TAG_NAME}-x86_64-pc-windows-msvc" - New-Item -Path $NAME -ItemType directory - Copy-Item target/release/wasm-pack.exe "${NAME}/" - Copy-Item target/release/wasm-pack.exe wasm-pack-init.exe - Copy-Item LICENSE-MIT "${NAME}/" - Copy-Item LICENSE-APACHE "${NAME}/" - Copy-Item README.md "${NAME}/" - 7z a -ttar "${NAME}.tar" "${NAME}" - 7z a "${NAME}.tar.gz" "${NAME}.tar" - Push-AppveyorArtifact "${NAME}.tar.gz" - Push-AppveyorArtifact wasm-pack-init.exe - -deploy: - artifact: /.*\.tar.gz/, /.*\.exe/ - description: 'Appveyor Automated Release' - provider: GitHub - draft: false - prerelease: false - auth_token: - secure: iHsRUqwGf/Zh7OuYpHOWQL8buaOL+c8/6kXLRly8V2j0LCUo7CcDs0NxQ0vl2bhZ - on: - appveyor_repo_tag: true diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2de24c4..0000000 --- a/.travis.yml +++ /dev/null @@ -1,99 +0,0 @@ -language: rust -sudo: false - -INSTALL_NODE_VIA_NVM: &INSTALL_NODE_VIA_NVM - | - rustup target add wasm32-unknown-unknown - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash - source ~/.nvm/nvm.sh - nvm install lts/carbon - -# Cache `cargo install`ed tools, but don't cache the project's `target` -# directory (which ends up over-caching and filling all disk space!) -cache: - directories: - - /home/travis/.cargo - -GH_TOKEN: &GH_TOKEN - secure: fx0rR5Ii1KcsydexE6QpkDbqItNdj3Lt6L5yFZaKKB/ejw9M555NkXA+0GZqV0sLZ54qfR8zTaXAf6eBFKgcG9etaCl7vTXqsvDrlssth82oki1zufP39uuoOy4WgFq8OfACOtUq7opDAgYmpaGzlFiny+c5j7asGwDtAU1Fc3JeJsvAnxHKg9+0spXFD6kBQd5CWpqDXv2rLFK0b8IM2fHAzd0PiJZQWqz//2Cj/r9rTiewtIzqigctAfOgFwYoQvfdM+0mKb4pefG+zXEGfxxQr4r5hqZ6UMO7hto3Jnm9LRjNR8dNaDQCqQ0bkdLTAMTC3nV/gZPM679yQU3KHueVjg9pleNzuKnuBgYmH9+BrlG1dW68kqA+6Xh+wIJYrLuagWhJDlCtiU6PM5QAbFg3mabPIBG3M2IHTrOVATme+iW5vpROARhgjbQEF235DyvZaT+Tml3+PY+PfcRax2DVUhvGQViv4tzppbT0PjjBlEbGct49cFLGdqZIJBiVrYW24I2QkENTnUgZsFIBuJlVCBHZwZlLo9ldVvu4XTMKw65z42zoTzobjtbC1QPEZPiaJXSxC7W569fqL/ORXwGToFk6rQjXwEqDP2okGiusR75LXrZD6qFibNpqeypRFtqOzntsOfTUGrlaN1yTt/6dz0V0j9uI7a9/CHVcblI= - -DEPLOY_TO_GITHUB: &DEPLOY_TO_GITHUB - before_deploy: - - git config --local user.name "Ashley Williams" - - git config --local user.email "ashley666ashley@gmail.com" - - name="wasm-pack-$TRAVIS_TAG-$TARGET" - - mkdir $name - - cp target/$TARGET/release/wasm-pack $name/ - - cp README.md LICENSE-MIT LICENSE-APACHE $name/ - - tar czvf $name.tar.gz $name - deploy: - provider: releases - api_key: *GH_TOKEN - file: wasm-pack-$TRAVIS_TAG-$TARGET.tar.gz - skip_cleanup: true - on: - branch: master - tags: true - -matrix: - include: - - - name: Tests - env: RUST_BACKTRACE=1 - rust: stable - addons: - firefox: latest - chrome: stable - install: - - *INSTALL_NODE_VIA_NVM - script: - - cargo test --all --locked - - rustup component add rustfmt-preview - - cargo fmt --version - - cargo fmt --all -- --check - - rustup component add clippy-preview - - cargo clippy --version - - cargo clippy - - - name: Book - rust: stable - before_script: - - (test -x $HOME/.cargo/bin/cargo-install-update || cargo install cargo-update) - - (test -x $HOME/.cargo/bin/mdbook || cargo install --vers "^0.2" mdbook) - - cargo install-update -a - script: - - mdbook --version - - (cd docs && mv _theme theme && mdbook build) - - rustc ./docs/_installer/build-installer.rs - - ./build-installer - deploy: - provider: pages - skip-cleanup: true - github-token: *GH_TOKEN - local-dir: docs - keep-history: false - on: - branch: master - - - name: Linux Binary - env: TARGET=x86_64-unknown-linux-musl - rust: stable - before_script: rustup target add $TARGET - script: cargo build --release --target $TARGET --locked --features vendored-openssl - addons: - apt: - packages: - - musl-tools - <<: *DEPLOY_TO_GITHUB - - - name: macOS Binary - env: MACOSX_DEPLOYMENT_TARGET=10.7 TARGET=x86_64-apple-darwin - os: osx - rust: stable - script: cargo build --release --target $TARGET --locked - install: true - <<: *DEPLOY_TO_GITHUB - -notifications: - email: - on_success: never From 59ab6d1f327a9bc9143327fe321077e47ce071c0 Mon Sep 17 00:00:00 2001 From: Ashley Williams Date: Mon, 21 Dec 2020 09:56:17 -0600 Subject: [PATCH 19/66] feat(ci): Run tests in Github actions --- .github/workflows/release.yml | 176 ++++++++++++++++++++++++++++++++++ .github/workflows/test.yml | 63 ++++++++++++ Cargo.toml | 8 ++ 3 files changed, 247 insertions(+) create mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..2499ec5 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,176 @@ +on: + push: + tags: + - "v*" # Run when tag matches v*, i.e. v1.0, v20.15.10 + +name: Release + +env: + RELEASE_BIN: wasm-pack + RELEASE_DIR: artifacts + GITHUB_REF: "${{ github.ref }}" + WINDOWS_TARGET: x86_64-pc-windows-msvc + MACOS_TARGET: x86_64-apple-darwin + LINUX_TARGET: x86_64-unknown-linux-musl + + # Space separated paths to include in the archive. + RELEASE_ADDS: README.md + +jobs: + build: + name: Build artifacts + runs-on: ${{ matrix.os }} + strategy: + matrix: + build: [linux, macos, windows] + include: + - build: linux + os: ubuntu-latest + rust: stable + - build: macos + os: macos-latest + rust: stable + - build: windows + os: windows-latest + rust: stable + + steps: + - uses: actions/checkout@v2 + + - name: Query version number + id: get_version + shell: bash + run: | + echo "using version tag ${GITHUB_REF:10}" + echo ::set-output name=version::"${GITHUB_REF:10}" + + - name: Install Rust + if: matrix.rust + run: | + rustup update ${{ matrix.rust }} --no-self-update + rustup default ${{ matrix.rust }} + + - name: Install musl-tools (Linux) + if: matrix.build == 'linux' + run: | + sudo apt-get update -y + sudo apt-get install musl-tools -y + + - name: Install p7zip (MacOS) + if: matrix.build == 'macos' + run: brew install p7zip + + - name: Build (Linux) + if: matrix.build == 'linux' + run: | + rustup target add ${{ env.LINUX_TARGET }} + cargo build --release --target ${{ env.LINUX_TARGET }} + + - name: Build (MacOS) + if: matrix.build == 'macos' + run: cargo build --release + + - name: Build (Windows) + if: matrix.build == 'windows' + run: cargo build --release + env: + RUSTFLAGS: -Ctarget-feature=+crt-static + + - name: Create artifact directory + run: | + mkdir ${{ env.RELEASE_DIR }} + mkdir dist + + - name: Create tarball (Linux) + if: matrix.build == 'linux' + run: | + mv ./target/${{ env.LINUX_TARGET }}/release/${{ env.RELEASE_BIN }} ./dist/${{ env.RELEASE_BIN }} + mv ${{ env.RELEASE_ADDS }} ./dist + 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz + + - name: Create tarball (Windows) + if: matrix.build == 'windows' + shell: bash + run: | + mv ./target/release/${{ env.RELEASE_BIN }}.exe ./dist/${{ env.RELEASE_BIN }}.exe + mv ${{ env.RELEASE_ADDS }} ./dist + 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz + + - name: Create tarball (MacOS) + if: matrix.build == 'macos' + run: | + mv ./target/release/${{ env.RELEASE_BIN }} ./dist/${{ env.RELEASE_BIN }} + mv ${{ env.RELEASE_ADDS }} ./dist + 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz + + - name: Upload Zip + uses: actions/upload-artifact@v1 + with: + name: ${{ matrix.build }} + path: ./${{ env.RELEASE_DIR }} + + release: + name: GitHub Release + needs: build + runs-on: ubuntu-latest + steps: + - name: Query version number + id: get_version + shell: bash + run: | + echo "using version tag ${GITHUB_REF:10}" + echo ::set-output name=version::"${GITHUB_REF:10}" + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ steps.get_version.outputs.VERSION }} + release_name: ${{ steps.get_version.outputs.VERSION }} + + - name: Download Linux tarball + uses: actions/download-artifact@v1 + with: + name: linux + + - name: Download MacOS tarball + uses: actions/download-artifact@v1 + with: + name: windows + + - name: Download MacOS tarball + uses: actions/download-artifact@v1 + with: + name: macos + + - name: Release Linux tarball + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./linux/wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz + asset_content_type: application/gzip + asset_name: wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz + + - name: Release Windows tarball + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./windows/wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz + asset_content_type: application/gzip + asset_name: wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz + + - name: Release MacOS tarball + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./macos/wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz + asset_content_type: application/gzip + asset_name: wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..0538048 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,63 @@ +name: Tests + +on: [pull_request] + +jobs: + test: + name: Test + + runs-on: ${{ matrix.os }} + strategy: + matrix: + build: [linux-stable, macos-stable, windows-stable] + include: + - build: linux-stable + os: ubuntu-latest + rust: stable + - build: macos-stable + os: macos-latest + rust: stable + - build: windows-stable + os: windows-latest + rust: stable + + steps: + - uses: actions/checkout@v2 + - uses: nanasess/setup-chromedriver@master + - uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + override: true + target: wasm32-unknown-unknown + - uses: actions/setup-node@v2 + + - name: Cache dependencies + uses: actions/cache@v2 + env: + cache-name: cache-dependencies + with: + path: | + ~/.cargo/.crates.toml + ~/.cargo/.crates2.json + ~/.cargo/bin + ~/.cargo/registry/index + ~/.cargo/registry/cache + target + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }} + + - name: Update rust + run: | + rustup update ${{ matrix.rust }} --no-self-update + rustup default ${{ matrix.rust }} + rustup target add wasm32-unknown-unknown --toolchain stable + + - name: Run Tests + run: cargo test --features "strict" --all --locked + env: + RUST_BACKTRACE: 1 + + - name: Clippy + run: cargo clippy + + - name: Cargo fmt + run: cargo fmt --all -- --check diff --git a/Cargo.toml b/Cargo.toml index 158774b..d201d9c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,4 +46,12 @@ serial_test_derive = "0.2" tempfile = "3" [features] +# OpenSSL is vendored by default, can use system OpenSSL through feature flag. +default = ['openssl/vendored'] + +# Treat compiler warnings as a build error. +# This only runs in CI by default +strict = ['openssl/vendored'] +sys-openssl = ['openssl'] +# Keeping feature for users already using this feature flag vendored-openssl = ['openssl/vendored'] From b183a4c0cf6c36df65c534153d7056464651078e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Sat, 19 Jun 2021 14:41:28 +0200 Subject: [PATCH 20/66] fix: Use v0.24.0 of geckodriver --- src/test/webdriver/geckodriver.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/webdriver/geckodriver.rs b/src/test/webdriver/geckodriver.rs index d2c6841..125d0c8 100644 --- a/src/test/webdriver/geckodriver.rs +++ b/src/test/webdriver/geckodriver.rs @@ -186,10 +186,11 @@ fn get_version_from_json(json: impl AsRef) -> Result String { +fn assemble_geckodriver_url(_tag: &str, target: &str, ext: &str) -> String { format!( "https://github.com/mozilla/geckodriver/releases/download/{tag}/geckodriver-{tag}-{target}.{ext}", - tag=tag, + // TODO: Temporary use v0.24.0 instead of latest. Latest is currently not working... + tag="v0.24.0", target=target, ext=ext, ) From 8b021a85e307e5bb68b598c41f939a2394488cf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Tue, 29 Jun 2021 19:36:00 +0200 Subject: [PATCH 21/66] doc: Remove travis and appveyor badges and show github actions --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 91dc907..c52be4a 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,7 @@

- Build Status - Build status + Build Status crates.io

@@ -20,7 +19,8 @@ Chat - Built with 🦀🕸 by The Rust and WebAssembly Working Group +Built with 🦀🕸 by The Rust and WebAssembly Working Group + ## About @@ -89,4 +89,4 @@ This project was started by [ashleygwilliams] and is co-maintained by [ashleygwi [ashleygwilliams]: https://github.com/ashleygwilliams [drager]: https://github.com/drager -[rustwasm Working Group]: https://github.com/rustwasm/team +[rustwasm working group]: https://github.com/rustwasm/team From adbaa67db6f1332ce5c02b5875635fd0035d341b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Tue, 29 Jun 2021 19:55:21 +0200 Subject: [PATCH 22/66] chore(ci): Run tests on push --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0538048..27ddfc5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,6 @@ name: Tests -on: [pull_request] +on: [push, pull_request] jobs: test: From 6f02778d26b5f44bb371245196529b78035e3176 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Wed, 30 Jun 2021 21:22:25 +0200 Subject: [PATCH 23/66] chore(ci): Add build and deploy book --- .github/workflows/book.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/book.yml diff --git a/.github/workflows/book.yml b/.github/workflows/book.yml new file mode 100644 index 0000000..c65b532 --- /dev/null +++ b/.github/workflows/book.yml @@ -0,0 +1,38 @@ +name: Build and deploy documentation book + +on: + push: + branches: + - master + +jobs: + book: + name: Build and deploy book + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - name: Install mdbook + run: | + (test -x $HOME/.cargo/bin/cargo-install-update || cargo install cargo-update) + (test -x $HOME/.cargo/bin/mdbook || cargo install --vers "^0.2" mdbook) + cargo install-update -a + + - name: Build book + run: | + mdbook --version + (cd docs && mv _theme theme && mdbook build) + rustc ./docs/_installer/build-installer.rs + ./build-installer + + - name: Deploy book + uses: JamesIves/github-pages-deploy-action@4.1.4 + with: + branch: gh-pages + folder: docs + token: ${{ secrets.GITHUB_TOKEN }} + single-commit: true From 3ff9d5c886a1dc914e24fae88d245e1aa3232a99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Wed, 30 Jun 2021 21:27:46 +0200 Subject: [PATCH 24/66] chore(ci): Only run on master branch --- .github/workflows/test.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 27ddfc5..a154f87 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,12 @@ name: Tests -on: [push, pull_request] +on: + push: + branches: + - master + pull_request: + branches: + - master jobs: test: From d908dcb1bef7161f362ed12ed15f8aec17247c3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Wed, 30 Jun 2021 15:58:18 +0200 Subject: [PATCH 25/66] chore(ci): Update release template --- .github/workflows/release.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2499ec5..2121fc1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,14 +1,14 @@ on: push: tags: - - "v*" # Run when tag matches v*, i.e. v1.0, v20.15.10 + - 'v*' # Run when tag matches v*, i.e. v1.0, v20.15.10 name: Release env: RELEASE_BIN: wasm-pack RELEASE_DIR: artifacts - GITHUB_REF: "${{ github.ref }}" + GITHUB_REF: '${{ github.ref }}' WINDOWS_TARGET: x86_64-pc-windows-msvc MACOS_TARGET: x86_64-apple-darwin LINUX_TARGET: x86_64-unknown-linux-musl @@ -36,6 +36,11 @@ jobs: steps: - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + override: true + target: wasm32-unknown-unknow - name: Query version number id: get_version @@ -44,12 +49,6 @@ jobs: echo "using version tag ${GITHUB_REF:10}" echo ::set-output name=version::"${GITHUB_REF:10}" - - name: Install Rust - if: matrix.rust - run: | - rustup update ${{ matrix.rust }} --no-self-update - rustup default ${{ matrix.rust }} - - name: Install musl-tools (Linux) if: matrix.build == 'linux' run: | From 8d1ea111eac38d742112964bda7635870a8182c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Tue, 29 Jun 2021 20:52:02 +0200 Subject: [PATCH 26/66] 0.10.0 --- .github/workflows/release.yml | 10 +- .github/workflows/test.yml | 6 - CHANGELOG.md | 112 ++++ Cargo.lock | 992 ++++++++++++++++------------- Cargo.toml | 6 +- README.md | 2 +- docs/index.html | 6 +- npm/README.md | 14 +- npm/package-lock.json | 4 +- npm/package.json | 2 +- src/test/webdriver/chromedriver.rs | 2 +- src/test/webdriver/geckodriver.rs | 7 +- 12 files changed, 673 insertions(+), 490 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2121fc1..4756e32 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ env: LINUX_TARGET: x86_64-unknown-linux-musl # Space separated paths to include in the archive. - RELEASE_ADDS: README.md + RELEASE_ADDS: README.md LICENSE-APACHE LICENSE-MIT jobs: build: @@ -40,7 +40,7 @@ jobs: with: toolchain: ${{ matrix.rust }} override: true - target: wasm32-unknown-unknow + target: wasm32-unknown-unknown - name: Query version number id: get_version @@ -85,7 +85,7 @@ jobs: run: | mv ./target/${{ env.LINUX_TARGET }}/release/${{ env.RELEASE_BIN }} ./dist/${{ env.RELEASE_BIN }} mv ${{ env.RELEASE_ADDS }} ./dist - 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz + 7z a -ttar -so -an ./dist/* | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz - name: Create tarball (Windows) if: matrix.build == 'windows' @@ -93,14 +93,14 @@ jobs: run: | mv ./target/release/${{ env.RELEASE_BIN }}.exe ./dist/${{ env.RELEASE_BIN }}.exe mv ${{ env.RELEASE_ADDS }} ./dist - 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz + 7z a -ttar -so -an ./dist/* | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz - name: Create tarball (MacOS) if: matrix.build == 'macos' run: | mv ./target/release/${{ env.RELEASE_BIN }} ./dist/${{ env.RELEASE_BIN }} mv ${{ env.RELEASE_ADDS }} ./dist - 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz + 7z a -ttar -so -an ./dist/* | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz - name: Upload Zip uses: actions/upload-artifact@v1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a154f87..6b1b81c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -51,12 +51,6 @@ jobs: target key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }} - - name: Update rust - run: | - rustup update ${{ matrix.rust }} --no-self-update - rustup default ${{ matrix.rust }} - rustup target add wasm32-unknown-unknown --toolchain stable - - name: Run Tests run: cargo test --features "strict" --all --locked env: diff --git a/CHANGELOG.md b/CHANGELOG.md index e00db72..c9e2d8d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,42 @@ ## 🤍 Unreleased +## 🌦️ 0.10.0 + +- ### ✨ Features + + - **Added keywords - [lucashorward], [issue/707] [pull/838]** + + `package.json` files usually contain a keywords array so that npm can make searching easier. + This PR extracts keywords from `Cargo.toml` and puts them into `package.json`. + + [lucashorward]: https://github.com/lucashorward + [pull/838]: https://github.com/rustwasm/wasm-pack/pull/838 + [issue/707]: https://github.com/rustwasm/wasm-pack/issues/707 + - ### 🤕 Fixes + - **Update binary-install to get fix for axios security vulnerability - [simlay], [Rizary], [issue/958] [pull/973] [pull/1012]** + + Updates `binary-install` npm package to version `^0.1.0` in order to get security fix for a security vulnerability in axios. + + [simlay]: https://github.com/simlay + [rizary]: https://github.com/Rizary + [pull/973]: https://github.com/rustwasm/wasm-pack/pull/973 + [pull/1012]: https://github.com/rustwasm/wasm-pack/pull/1012 + [issue/958]: https://github.com/rustwasm/wasm-pack/issues/958 + + - **Fix cargo-generate installation - [bradyjoslin], [issue/975] [issue/907] [pull/983]** + + `wasm-pack new hello-wasm` didn't work due to a bad link when trying to install `cargo-generate`. + + This PR points the installation to the correct place and makes `wasm-pack new` working again! + + [bradyjoslin]: https://github.com/bradyjoslin + [pull/983]: https://github.com/rustwasm/wasm-pack/pull/983 + [issue/975]: https://github.com/rustwasm/wasm-pack/issues/975 + [issue/907]: https://github.com/rustwasm/wasm-pack/issues/907 + - **Pass through extra options when building tests - [azriel91], [issue/698] [pull/851]** `wasm-pack test` accepts extra options to pass through to `cargo` when running tests. @@ -15,6 +49,84 @@ [pull/851]: https://github.com/rustwasm/wasm-pack/pull/851 [issue/698]: https://github.com/rustwasm/wasm-pack/issues/698 + - **Corrected files included in package.json for bundler / no target - [lucashorward], [issue/837] [pull/839]** + + `wasm-pack build` and `wasm-pack build --target bundler` generates a \_bg.js file, but it was not added to the `package.json`. + The file that is added, \*.js will however reference the \_bg.js, so when the package was distributed (both through pack or publish) it is not usable. + + This PR includes that \_bg.js file in `package.json`. + + [pull/839]: https://github.com/rustwasm/wasm-pack/pull/839 + [issue/837]: https://github.com/rustwasm/wasm-pack/issues/837 + + - **Find the main package if multiple packages have the same name - [ghost], [pull/830]** + + If there were 2 packages with the same name, `wasm-pack` would sometimes use the wrong one and errored. + + [ghost]: https://github.com/ghost + [pull/830]: https://github.com/rustwasm/wasm-pack/pull/830 + [issue/829]: https://github.com/rustwasm/wasm-pack/issues/829 + +- ### 📖 Documentation + + - **Remove duplicated "is" in the wee_alloc tutorial- [pione30], [issue/1003] [pull/1004]** + + [pione30]: https://github.com/pione30 + [pull/1004]: https://github.com/rustwasm/wasm-pack/pull/1004 + [issue/1003]: https://github.com/rustwasm/wasm-pack/issues/1003 + + - **Fix TOC links - [Swaagie], [pull/1007]** + + [swaagie]: https://github.com/Swaagie + [pull/1007]: https://github.com/rustwasm/wasm-pack/pull/1007 + + - **Remove outdated TOC heading- [gthb], [pull/1011]** + + [gthb]: https://github.com/gthb + [pull/1011]: https://github.com/rustwasm/wasm-pack/pull/1011 + + - **Add link to template repo - [milahu], [pull/942]** + + [milahu]: https://github.com/milahu + [pull/942]: https://github.com/rustwasm/wasm-pack/pull/942 + + - **Remove greenkeeper reference - [cdvv7788], [crotwell], [issue/1001] [pull/844] [pull/1002]** + + [cdvv7788]: https://github.com/cdvv7788 + [crotwell]: https://github.com/crotwell + [pull/844]: https://github.com/rustwasm/wasm-pack/pull/844 + [pull/1002]: https://github.com/rustwasm/wasm-pack/pull/1002 + [issue/1001]: https://github.com/rustwasm/wasm-pack/issues/1001 + +- ### 🛠️ Maintenance + + - **Fix CI. Remove appveyor and travis and use Github actions - [ashleygwilliams], [drager], [issue/594] [issue/979] [pull/947]** + + [pull/947]: https://github.com/rustwasm/wasm-pack/pull/947 + [issue/594]: https://github.com/rustwasm/wasm-pack/issues/594 + [issue/979]: https://github.com/rustwasm/wasm-pack/issues/979 + + - **Cargo update - [ashleygwilliams], [pull/800]** + + [ashleygwilliams]: https://github.com/ashleygwilliams + [pull/800]: https://github.com/rustwasm/wasm-pack/pull/800 + + - **Remove dirs dependency - [brightly-salty], [issue/943] [pull/944]** + + [brightly-salty]: https://github.com/brightly-salty + [pull/944]: https://github.com/rustwasm/wasm-pack/pull/944 + [issue/943]: https://github.com/rustwasm/wasm-pack/issues/943 + + - **Fix logs for uniformity - [petosorus], [issue/716] [pull/723]** + + [petosorus]: https://github.com/petosorus + [pull/723]: https://github.com/rustwasm/wasm-pack/pull/723 + [issue/716]: https://github.com/rustwasm/wasm-pack/issues/716 + + - **Fixing build error - [Pauan], [pull/841]** + + [pull/841]: https://github.com/rustwasm/wasm-pack/pull/841 + ## ☁️ 0.9.1 - ### 🤕 Fixes diff --git a/Cargo.lock b/Cargo.lock index 8b618e1..e1e68c2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3,16 +3,25 @@ version = 3 [[package]] -name = "adler32" -version = "1.0.4" +name = "addr2line" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aho-corasick" -version = "0.7.8" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "743ad5a418686aad3b87fd14c43badd828cf26e214a00f92a384291cf22e1811" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" dependencies = [ "memchr", ] @@ -23,7 +32,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" dependencies = [ - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -34,9 +43,9 @@ checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" [[package]] name = "arrayvec" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "assert_cmd" @@ -58,7 +67,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -69,30 +78,23 @@ checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" [[package]] name = "autocfg" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.44" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4036b9bf40f3cf16aba72a3d65e8a520fc4bafcdc7079aea8f848c58c5b5536" -dependencies = [ - "backtrace-sys", - "cfg-if", - "libc", - "rustc-demangle", -] - -[[package]] -name = "backtrace-sys" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491" +checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282" dependencies = [ + "addr2line", "cc", + "cfg-if 1.0.0", "libc", + "miniz_oxide", + "object", + "rustc-demangle", ] [[package]] @@ -106,9 +108,9 @@ dependencies = [ [[package]] name = "base64" -version = "0.11.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" [[package]] name = "binary-install" @@ -135,9 +137,9 @@ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" [[package]] name = "blake2b_simd" -version = "0.5.10" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" +checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" dependencies = [ "arrayref", "arrayvec", @@ -146,9 +148,9 @@ dependencies = [ [[package]] name = "byteorder" -version = "1.3.4" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" @@ -163,9 +165,9 @@ dependencies = [ [[package]] name = "bzip2" -version = "0.3.3" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b" +checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0" dependencies = [ "bzip2-sys", "libc", @@ -173,21 +175,13 @@ dependencies = [ [[package]] name = "bzip2-sys" -version = "0.1.7" +version = "0.1.11+1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6584aa36f5ad4c9247f5323b0a42f37802b37a836f0ad87084d7a33961abe25f" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" dependencies = [ "cc", "libc", -] - -[[package]] -name = "c2-chacha" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" -dependencies = [ - "ppv-lite86", + "pkg-config", ] [[package]] @@ -204,9 +198,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.50" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd" +checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" [[package]] name = "cfg-if" @@ -214,22 +208,30 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + [[package]] name = "chrono" -version = "0.4.10" +version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" dependencies = [ + "libc", "num-integer", "num-traits", "time", + "winapi 0.3.9", ] [[package]] name = "clap" -version = "2.33.0" +version = "2.33.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9" +checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" dependencies = [ "ansi_term", "atty", @@ -249,19 +251,7 @@ dependencies = [ "kernel32-sys", "lazy_static 0.2.11", "libc", - "winapi 0.3.8", -] - -[[package]] -name = "clicolors-control" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e" -dependencies = [ - "atty", - "lazy_static 1.4.0", - "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -280,30 +270,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecd48adf136733979b49e15bc3b4c43cc0d3c85ece7bd08e6daa414c6fcb13e6" dependencies = [ "atty", - "clicolors-control 0.2.0", + "clicolors-control", "lazy_static 1.4.0", "libc", - "parking_lot 0.10.0", + "parking_lot 0.11.1", "regex", "termios", "unicode-width", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "console" -version = "0.9.2" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45e0f3986890b3acbc782009e2629dfe2baa430ac091519ce3be26164a2ae6c0" +checksum = "3993e6445baa160675931ec041a5e03ca84b9c6e32a056150d3aa2bdda0a1f45" dependencies = [ - "clicolors-control 1.0.1", "encode_unicode", "lazy_static 1.4.0", "libc", "regex", - "termios", + "terminal_size", "unicode-width", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -342,9 +331,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.6.4" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" +checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" dependencies = [ "core-foundation-sys", "libc", @@ -352,69 +341,82 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.6.2" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" +checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" [[package]] name = "crc32fast" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" +checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", ] [[package]] name = "crossbeam-deque" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca" +checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" dependencies = [ "crossbeam-epoch", - "crossbeam-utils", + "crossbeam-utils 0.7.2", + "maybe-uninit", ] [[package]] name = "crossbeam-epoch" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac" +checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" dependencies = [ - "autocfg 0.1.7", - "cfg-if", - "crossbeam-utils", + "autocfg 1.0.1", + "cfg-if 0.1.10", + "crossbeam-utils 0.7.2", "lazy_static 1.4.0", + "maybe-uninit", "memoffset", "scopeguard 1.1.0", ] [[package]] name = "crossbeam-queue" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db" +checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" dependencies = [ - "cfg-if", - "crossbeam-utils", + "cfg-if 0.1.10", + "crossbeam-utils 0.7.2", + "maybe-uninit", ] [[package]] name = "crossbeam-utils" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4" +checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" dependencies = [ - "autocfg 0.1.7", - "cfg-if", + "autocfg 1.0.1", + "cfg-if 0.1.10", + "lazy_static 1.4.0", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" +dependencies = [ + "cfg-if 1.0.0", "lazy_static 1.4.0", ] [[package]] name = "curl" -version = "0.4.25" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06aa71e9208a54def20792d877bc663d6aae0732b9852e612c4a933177c31283" +checksum = "003cb79c1c6d1c93344c7e1201bb51c2148f24ec2bd9c253709d6b2efb796515" dependencies = [ "curl-sys", "libc", @@ -422,14 +424,14 @@ dependencies = [ "openssl-sys", "schannel", "socket2", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "curl-sys" -version = "0.4.26" +version = "0.4.44+curl-7.77.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0853fe2a575bb381b1f173610372c7722d9fa9bc4056512ed99fe6a644c388c6" +checksum = "4b6d85e9322b193f117c966e79c2d6929ec08c02f339f950044aba12e20bbaf1" dependencies = [ "cc", "libc", @@ -437,7 +439,7 @@ dependencies = [ "openssl-sys", "pkg-config", "vcpkg", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -446,7 +448,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ad1c29a0368928e78c551354dbff79f103a962ad820519724ef0d74f1c62fa9" dependencies = [ - "console 0.9.2", + "console 0.14.1", "lazy_static 1.4.0", "tempfile 2.2.0", ] @@ -465,20 +467,20 @@ checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" dependencies = [ "libc", "redox_users", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "dtoa" -version = "0.4.5" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4358a9e11b9a09cf52383b451b49a169e8d797b68aa02301ff586d70d9661ea3" +checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" [[package]] name = "either" -version = "1.5.3" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" +checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "encode_unicode" @@ -488,11 +490,11 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encoding_rs" -version = "0.8.22" +version = "0.8.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d03faa7fe0c1431609dfad7bbe827af30f82e1e2ae6f7ee4fca6bd764bc28" +checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", ] [[package]] @@ -504,16 +506,7 @@ dependencies = [ "atty", "humantime", "log", - "termcolor 1.1.0", -] - -[[package]] -name = "error-chain" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d371106cc88ffdfb1eabd7111e432da544f16f3e2d7bf1dfe8bf575f1df045cd" -dependencies = [ - "version_check", + "termcolor", ] [[package]] @@ -530,9 +523,9 @@ dependencies = [ [[package]] name = "failure" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" +checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" dependencies = [ "backtrace", "failure_derive", @@ -540,35 +533,35 @@ dependencies = [ [[package]] name = "failure_derive" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" +checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.8", - "quote 1.0.2", - "syn 1.0.14", + "proc-macro2 1.0.27", + "quote 1.0.9", + "syn 1.0.73", "synstructure", ] [[package]] name = "filetime" -version = "0.2.8" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d" +checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "libc", - "redox_syscall", - "winapi 0.3.8", + "redox_syscall 0.2.9", + "winapi 0.3.9", ] [[package]] name = "flate2" -version = "1.0.13" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f" +checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "crc32fast", "libc", "miniz_oxide", @@ -576,18 +569,18 @@ dependencies = [ [[package]] name = "float-cmp" -version = "0.5.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75224bec9bfe1a65e2d34132933f2de7fe79900c96a0174307554244ece8150e" +checksum = "e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4" dependencies = [ "num-traits", ] [[package]] name = "fnv" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foreign-types" @@ -604,6 +597,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding 2.1.0", +] + [[package]] name = "fuchsia-cprng" version = "0.1.1" @@ -628,9 +631,9 @@ checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" [[package]] name = "futures" -version = "0.1.29" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef" +checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures-cpupool" @@ -644,15 +647,32 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.1.14" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "libc", - "wasi", + "wasi 0.10.2+wasi-snapshot-preview1", ] +[[package]] +name = "gimli" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" + [[package]] name = "glob" version = "0.2.11" @@ -677,20 +697,26 @@ dependencies = [ "tokio-io", ] +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" + [[package]] name = "heck" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" dependencies = [ "unicode-segmentation", ] [[package]] name = "hermit-abi" -version = "0.1.7" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2c55f143919fbc0bc77e427fe2d74cf23786d7c1875666f2fde3ac3c659bb67" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" dependencies = [ "libc", ] @@ -726,25 +752,23 @@ dependencies = [ [[package]] name = "httparse" -version = "1.3.4" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" +checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68" [[package]] name = "human-panic" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21638c5955a6daf3ecc42cae702335fc37a72a4abcc6959ce457b31a7d43bbdd" +checksum = "39f357a500abcbd7c5f967c1d45c8838585b36743823b9d43488f24850534e36" dependencies = [ "backtrace", - "failure", "os_type", "serde", "serde_derive", - "tempdir", - "termcolor 0.3.6", - "toml", - "uuid 0.6.5", + "termcolor", + "toml 0.5.8", + "uuid 0.8.2", ] [[package]] @@ -758,9 +782,9 @@ dependencies = [ [[package]] name = "hyper" -version = "0.12.35" +version = "0.12.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dbe6ed1438e1f8ad955a4701e9a944938e9519f6888d12d8558b645e247d5f6" +checksum = "5c843caf6296fc1f93444735205af9ed4e109a539005abb2564ae1d6fad34c52" dependencies = [ "bytes", "futures", @@ -812,9 +836,9 @@ dependencies = [ [[package]] name = "idna" -version = "0.2.0" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" dependencies = [ "matches", "unicode-bidi", @@ -823,11 +847,21 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.3.2" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +dependencies = [ + "autocfg 1.0.1", + "hashbrown", +] + +[[package]] +name = "instant" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076f042c5b7b98f31d205f1249267e12a6518c1481e9dae9764af19b707d2292" +checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" dependencies = [ - "autocfg 1.0.0", + "cfg-if 1.0.0", ] [[package]] @@ -845,14 +879,14 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "302d553b8abc8187beb7d663e34c065ac4570b273bc9511a50e940e99409c577" dependencies = [ - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "itoa" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e" +checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" [[package]] name = "kernel32-sys" @@ -878,15 +912,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.67" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb147597cdf94ed43ab7a9038716637d2d1bf2bc571da995d0028dec06bd3018" +checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" [[package]] name = "libz-sys" -version = "1.0.25" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe" +checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66" dependencies = [ "cc", "libc", @@ -906,20 +940,29 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.3.3" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" +dependencies = [ + "scopeguard 1.1.0", +] + +[[package]] +name = "lock_api" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79b2de95ecb4691949fea4716ca53cdbcfccb2c612e19644a8bad05edcf9f47b" +checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" dependencies = [ "scopeguard 1.1.0", ] [[package]] name = "log" -version = "0.4.8" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", ] [[package]] @@ -936,17 +979,17 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] name = "memchr" -version = "2.3.2" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53445de381a1f436797497c61d851644d0e8e88e6140f22872ad33a704933978" +checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" [[package]] name = "memoffset" -version = "0.5.3" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9" +checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" dependencies = [ - "rustc_version", + "autocfg 1.0.1", ] [[package]] @@ -957,9 +1000,9 @@ checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" [[package]] name = "mime_guess" -version = "2.0.1" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a0ed03949aef72dbdf3116a383d7b38b4768e6f960528cd6a6044aa9ed68599" +checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212" dependencies = [ "mime", "unicase", @@ -967,20 +1010,21 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.3.6" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa679ff6578b1cddee93d7e82e263b94a575e0bfced07284eb0c037c1d2416a5" +checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" dependencies = [ - "adler32", + "adler", + "autocfg 1.0.1", ] [[package]] name = "mio" -version = "0.6.21" +version = "0.6.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f" +checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "fuchsia-zircon", "fuchsia-zircon-sys", "iovec", @@ -995,9 +1039,9 @@ dependencies = [ [[package]] name = "miow" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" +checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" dependencies = [ "kernel32-sys", "net2", @@ -1007,9 +1051,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.3" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2df1a4c22fd44a62147fd8f13dd0f95c9d8ca7b2610299b2a2f9cf8964274e" +checksum = "b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4" dependencies = [ "lazy_static 1.4.0", "libc", @@ -1020,91 +1064,106 @@ dependencies = [ "schannel", "security-framework", "security-framework-sys", - "tempfile 3.1.0", + "tempfile 3.2.0", ] [[package]] name = "net2" -version = "0.2.33" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" +checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "normalize-line-endings" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e0a1a39eab95caf4f5556da9289b9e68f0aafac901b2ce80daaf020d3b733a8" +checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" [[package]] name = "num-integer" -version = "0.1.42" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" dependencies = [ - "autocfg 1.0.0", + "autocfg 1.0.1", "num-traits", ] [[package]] name = "num-traits" -version = "0.2.11" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" dependencies = [ - "autocfg 1.0.0", + "autocfg 1.0.1", ] [[package]] name = "num_cpus" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46203554f085ff89c235cd12f7075f3233af9b11ed7c9e16dfe2560d03313ce6" +checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" dependencies = [ "hermit-abi", "libc", ] +[[package]] +name = "object" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" + [[package]] name = "openssl" -version = "0.10.28" +version = "0.10.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "973293749822d7dd6370d6da1e523b0d1db19f06c459134c658b2a4261378b52" +checksum = "549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885" dependencies = [ "bitflags", - "cfg-if", + "cfg-if 1.0.0", "foreign-types", - "lazy_static 1.4.0", "libc", + "once_cell", "openssl-sys", ] [[package]] name = "openssl-probe" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" +checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" [[package]] name = "openssl-src" -version = "111.6.1+1.1.1d" +version = "111.15.0+1.1.1k" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c91b04cb43c1a8a90e934e0cd612e2a5715d976d2d6cff4490278a0cddf35005" +checksum = "b1a5f6ae2ac04393b217ea9f700cd04fa9bf3d93fae2872069f3d15d908af70a" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.54" +version = "0.9.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1024c0a59774200a555087a6da3f253a9095a5f344e353b212ac4c8b8e450986" +checksum = "7a7907e3bfa08bb85105209cdfcb6c63d109f8f6c1ed6ca318fff5c1853fbc1d" dependencies = [ - "autocfg 1.0.0", + "autocfg 1.0.1", "cc", "libc", "openssl-src", @@ -1114,18 +1173,18 @@ dependencies = [ [[package]] name = "os_type" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edc011af0ae98b7f88cf7e4a83b70a54a75d2b8cb013d6efd02e5956207e9eb" +checksum = "96eaebe22d9f12429b1af6a0b5dd411ccfc5cb5968710abbb8c512046be9df90" dependencies = [ "regex", ] [[package]] name = "owning_ref" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" +checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce" dependencies = [ "stable_deref_trait", ] @@ -1146,19 +1205,20 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" dependencies = [ - "lock_api 0.3.3", + "lock_api 0.3.4", "parking_lot_core 0.6.2", "rustc_version", ] [[package]] name = "parking_lot" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e98c49ab0b7ce5b222f2cc9193fc4efe11c6d0bd4f648e374684a6857b1cfc" +checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" dependencies = [ - "lock_api 0.3.3", - "parking_lot_core 0.7.0", + "instant", + "lock_api 0.4.4", + "parking_lot_core 0.8.3", ] [[package]] @@ -1170,8 +1230,8 @@ dependencies = [ "libc", "rand 0.5.6", "rustc_version", - "smallvec 0.6.13", - "winapi 0.3.8", + "smallvec 0.6.14", + "winapi 0.3.9", ] [[package]] @@ -1180,27 +1240,27 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "cloudabi", "libc", - "redox_syscall", + "redox_syscall 0.1.57", "rustc_version", - "smallvec 0.6.13", - "winapi 0.3.8", + "smallvec 0.6.14", + "winapi 0.3.9", ] [[package]] name = "parking_lot_core" -version = "0.7.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7582838484df45743c8434fbff785e8edf260c28748353d44bc0da32e0ceabf1" +checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" dependencies = [ - "cfg-if", - "cloudabi", + "cfg-if 1.0.0", + "instant", "libc", - "redox_syscall", - "smallvec 1.2.0", - "winapi 0.3.8", + "redox_syscall 0.2.9", + "smallvec 1.6.1", + "winapi 0.3.9", ] [[package]] @@ -1217,27 +1277,21 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" [[package]] name = "pkg-config" -version = "0.3.17" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" - -[[package]] -name = "podio" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "780fb4b6698bbf9cf2444ea5d22411cef2953f0824b98f33cf454ec5615645bd" +checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" [[package]] name = "ppv-lite86" -version = "0.2.6" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" +checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "predicates" -version = "1.0.2" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9bfe52247e5cc9b2f943682a85a5549fb9662245caf094504e69a2f03fe64d4" +checksum = "f49cfaf7fdaa3bfacc6fa3e7054e65148878354a5cfddcf661df4c851f8021df" dependencies = [ "difference", "float-cmp", @@ -1248,15 +1302,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06075c3a3e92559ff8929e7a280684489ea27fe44805174c3ebd9328dcb37178" +checksum = "57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451" [[package]] name = "predicates-tree" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e63c4859013b38a76eca2414c64911fba30def9e3202ac461a2d22831220124" +checksum = "15f553275e5721409451eb85e15fd9a860a6e5ab4496eb215987502b5f5391f2" dependencies = [ "predicates-core", "treeline", @@ -1269,9 +1323,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.8", - "quote 1.0.2", - "syn 1.0.14", + "proc-macro2 1.0.27", + "quote 1.0.9", + "syn 1.0.73", "version_check", ] @@ -1281,8 +1335,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.8", - "quote 1.0.2", + "proc-macro2 1.0.27", + "quote 1.0.9", "version_check", ] @@ -1297,24 +1351,21 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.8" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" dependencies = [ - "unicode-xid 0.2.0", + "unicode-xid 0.2.2", ] [[package]] name = "publicsuffix" -version = "1.5.4" +version = "1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bbaa49075179162b49acac1c6aa45fb4dafb5f13cf6794276d77bc7fd95757b" +checksum = "95b4ce31ff0a27d93c8de1849cf58162283752f065a90d508f1105fa6c9a213f" dependencies = [ - "error-chain", - "idna 0.2.0", - "lazy_static 1.4.0", - "regex", - "url 2.1.1", + "idna 0.2.3", + "url 2.2.2", ] [[package]] @@ -1334,11 +1385,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.2" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" +checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" dependencies = [ - "proc-macro2 1.0.8", + "proc-macro2 1.0.27", ] [[package]] @@ -1361,7 +1412,7 @@ dependencies = [ "libc", "rand_core 0.3.1", "rdrand", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -1374,7 +1425,7 @@ dependencies = [ "fuchsia-cprng", "libc", "rand_core 0.3.1", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -1393,20 +1444,19 @@ dependencies = [ "rand_os", "rand_pcg", "rand_xorshift", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "rand" -version = "0.7.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" dependencies = [ - "getrandom", "libc", - "rand_chacha 0.2.1", - "rand_core 0.5.1", - "rand_hc 0.2.0", + "rand_chacha 0.3.1", + "rand_core 0.6.3", + "rand_hc 0.3.1", ] [[package]] @@ -1421,12 +1471,12 @@ dependencies = [ [[package]] name = "rand_chacha" -version = "0.2.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ - "c2-chacha", - "rand_core 0.5.1", + "ppv-lite86", + "rand_core 0.6.3", ] [[package]] @@ -1446,11 +1496,11 @@ checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" [[package]] name = "rand_core" -version = "0.5.1" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" dependencies = [ - "getrandom", + "getrandom 0.2.3", ] [[package]] @@ -1464,11 +1514,11 @@ dependencies = [ [[package]] name = "rand_hc" -version = "0.2.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" dependencies = [ - "rand_core 0.5.1", + "rand_core 0.6.3", ] [[package]] @@ -1488,7 +1538,7 @@ checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" dependencies = [ "libc", "rand_core 0.4.2", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -1502,7 +1552,7 @@ dependencies = [ "libc", "rand_core 0.4.2", "rdrand", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -1535,46 +1585,54 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.1.56" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" +checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" + +[[package]] +name = "redox_syscall" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" +dependencies = [ + "bitflags", +] [[package]] name = "redox_users" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431" +checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d" dependencies = [ - "getrandom", - "redox_syscall", + "getrandom 0.1.16", + "redox_syscall 0.1.57", "rust-argon2", ] [[package]] name = "regex" -version = "1.3.4" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322cf97724bea3ee221b78fe25ac9c46114ebb51747ad5babd51a2fc6a8235a8" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" dependencies = [ "aho-corasick", "memchr", "regex-syntax", - "thread_local", ] [[package]] name = "regex-syntax" -version = "0.6.14" +version = "0.6.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b28dfe3fe9badec5dbf0a79a9cccad2cfc2ab5484bdb3e44cbd1ae8b3ba2be06" +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" [[package]] name = "remove_dir_all" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" dependencies = [ - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -1613,21 +1671,21 @@ dependencies = [ [[package]] name = "rust-argon2" -version = "0.7.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" +checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" dependencies = [ - "base64 0.11.0", + "base64 0.13.0", "blake2b_simd", "constant_time_eq", - "crossbeam-utils", + "crossbeam-utils 0.8.5", ] [[package]] name = "rustc-demangle" -version = "0.1.16" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" +checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49" [[package]] name = "rustc_version" @@ -1640,9 +1698,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.2" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8" +checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" [[package]] name = "same-file" @@ -1655,12 +1713,12 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.17" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507a9e6e8ffe0a4e0ebb9a10293e62fdf7657c06f1b8bb07a8fcf697d2abf295" +checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" dependencies = [ "lazy_static 1.4.0", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -1677,10 +1735,11 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "security-framework" -version = "0.3.4" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ef2429d7cefe5fd28bd1d2ed41c944547d4ff84776f5935b456da44593a16df" +checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467" dependencies = [ + "bitflags", "core-foundation", "core-foundation-sys", "libc", @@ -1689,11 +1748,12 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "0.3.3" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e31493fc37615debb8c5090a7aeb4a9730bc61e77ab10b9af59f1a202284f895" +checksum = "7e4effb91b4b8b6fb7732e670b6cee160278ff8e6bf485c7805d9e319d76e284" dependencies = [ "core-foundation-sys", + "libc", ] [[package]] @@ -1714,22 +1774,22 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.104" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449" +checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.104" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64" +checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" dependencies = [ - "proc-macro2 1.0.8", - "quote 1.0.2", - "syn 1.0.14", + "proc-macro2 1.0.27", + "quote 1.0.9", + "syn 1.0.73", ] [[package]] @@ -1743,9 +1803,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.48" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9371ade75d4c2d6cb154141b9752cf3781ec9c05e0e5cf35060e1e70ee7b9c25" +checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" dependencies = [ "itoa", "ryu", @@ -1791,42 +1851,40 @@ checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac" [[package]] name = "slab" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" +checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" [[package]] name = "smallvec" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" +checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" dependencies = [ "maybe-uninit", ] [[package]] name = "smallvec" -version = "1.2.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c2fb2ec9bcd216a5b0d0ccf31ab17b5ed1d627960edff65bbe95d3ce221cefc" +checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "socket2" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" +checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2" dependencies = [ - "cfg-if", "libc", - "redox_syscall", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "stable_deref_trait" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "string" @@ -1862,9 +1920,9 @@ checksum = "5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90" dependencies = [ "heck", "proc-macro-error", - "proc-macro2 1.0.8", - "quote 1.0.2", - "syn 1.0.14", + "proc-macro2 1.0.27", + "quote 1.0.9", + "syn 1.0.73", ] [[package]] @@ -1880,49 +1938,38 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.14" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af6f3550d8dff9ef7dc34d384ac6f107e5d31c8f57d9f28e0081503f547ac8f5" +checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" dependencies = [ - "proc-macro2 1.0.8", - "quote 1.0.2", - "unicode-xid 0.2.0", + "proc-macro2 1.0.27", + "quote 1.0.9", + "unicode-xid 0.2.2", ] [[package]] name = "synstructure" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" +checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" dependencies = [ - "proc-macro2 1.0.8", - "quote 1.0.2", - "syn 1.0.14", - "unicode-xid 0.2.0", + "proc-macro2 1.0.27", + "quote 1.0.9", + "syn 1.0.73", + "unicode-xid 0.2.2", ] [[package]] name = "tar" -version = "0.4.26" +version = "0.4.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3196bfbffbba3e57481b6ea32249fbaf590396a52505a2615adbb79d9d826d3" +checksum = "7d779dc6aeff029314570f666ec83f19df7280bb36ef338442cfa8c604021b80" dependencies = [ "filetime", "libc", - "redox_syscall", "xattr", ] -[[package]] -name = "tempdir" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" -dependencies = [ - "rand 0.4.6", - "remove_dir_all", -] - [[package]] name = "tempfile" version = "2.2.0" @@ -1932,47 +1979,48 @@ dependencies = [ "kernel32-sys", "libc", "rand 0.3.23", - "redox_syscall", + "redox_syscall 0.1.57", "winapi 0.2.8", ] [[package]] name = "tempfile" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" +checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "libc", - "rand 0.7.3", - "redox_syscall", + "rand 0.8.4", + "redox_syscall 0.2.9", "remove_dir_all", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "termcolor" -version = "0.3.6" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4587ead41bf016f11af03e55a624c06568b5a19db4e90fde573d805074f83" +checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" dependencies = [ - "wincolor", + "winapi-util", ] [[package]] -name = "termcolor" -version = "1.1.0" +name = "terminal_size" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f" +checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" dependencies = [ - "winapi-util", + "libc", + "winapi 0.3.9", ] [[package]] name = "termios" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b620c5ea021d75a735c943269bb07d30c9b77d6ac6b236bc8b5c496ef05625" +checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b" dependencies = [ "libc", ] @@ -1987,25 +2035,50 @@ dependencies = [ ] [[package]] -name = "thread_local" -version = "1.0.1" +name = "thiserror" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" +checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6" dependencies = [ - "lazy_static 1.4.0", + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" +dependencies = [ + "proc-macro2 1.0.27", + "quote 1.0.9", + "syn 1.0.73", ] [[package]] name = "time" -version = "0.1.42" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" dependencies = [ "libc", - "redox_syscall", - "winapi 0.3.8", + "winapi 0.3.9", ] +[[package]] +name = "tinyvec" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + [[package]] name = "tokio" version = "0.1.22" @@ -2052,7 +2125,7 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.7.2", "futures", ] @@ -2073,7 +2146,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.7.2", "futures", "lazy_static 1.4.0", "log", @@ -2118,7 +2191,7 @@ checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" dependencies = [ "crossbeam-deque", "crossbeam-queue", - "crossbeam-utils", + "crossbeam-utils 0.7.2", "futures", "lazy_static 1.4.0", "log", @@ -2133,7 +2206,7 @@ version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.7.2", "futures", "slab", "tokio-executor", @@ -2148,6 +2221,15 @@ dependencies = [ "serde", ] +[[package]] +name = "toml" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +dependencies = [ + "serde", +] + [[package]] name = "treeline" version = "0.1.0" @@ -2156,9 +2238,9 @@ checksum = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41" [[package]] name = "try-lock" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try_from" @@ -2166,7 +2248,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", ] [[package]] @@ -2180,33 +2262,33 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" +checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0" dependencies = [ "matches", ] [[package]] name = "unicode-normalization" -version = "0.1.12" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" dependencies = [ - "smallvec 1.2.0", + "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0" +checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796" [[package]] name = "unicode-width" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479" +checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" [[package]] name = "unicode-xid" @@ -2216,9 +2298,9 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" [[package]] name = "unicode-xid" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "url" @@ -2233,60 +2315,60 @@ dependencies = [ [[package]] name = "url" -version = "2.1.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829d4a8476c35c9bf0bbce5a3b23f4106f79728039b726d292bb93bc106787cb" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" dependencies = [ - "idna 0.2.0", + "form_urlencoded", + "idna 0.2.3", "matches", "percent-encoding 2.1.0", ] [[package]] name = "uuid" -version = "0.6.5" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1436e58182935dcd9ce0add9ea0b558e8a87befe01c1a301e6020aeb0876363" +checksum = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a" dependencies = [ - "cfg-if", - "rand 0.4.6", + "rand 0.6.5", ] [[package]] name = "uuid" -version = "0.7.4" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "rand 0.6.5", + "getrandom 0.2.3", ] [[package]] name = "vcpkg" -version = "0.2.8" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vec_map" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" [[package]] name = "version_check" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce" +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" [[package]] name = "walkdir" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" dependencies = [ "same-file", - "winapi 0.3.8", + "winapi 0.3.9", "winapi-util", ] @@ -2307,9 +2389,15 @@ version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" + [[package]] name = "wasm-pack" -version = "0.9.1" +version = "0.10.0" dependencies = [ "assert_cmd", "atty", @@ -2339,8 +2427,8 @@ dependencies = [ "siphasher", "strsim", "structopt", - "tempfile 3.1.0", - "toml", + "tempfile 3.2.0", + "toml 0.4.10", "walkdir", "which", ] @@ -2363,9 +2451,9 @@ checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" [[package]] name = "winapi" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" dependencies = [ "winapi-i686-pc-windows-gnu", "winapi-x86_64-pc-windows-gnu", @@ -2385,11 +2473,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -2398,22 +2486,13 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "wincolor" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeb06499a3a4d44302791052df005d5232b927ed1a9658146d842165c4de7767" -dependencies = [ - "winapi 0.3.8", -] - [[package]] name = "winreg" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" dependencies = [ - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -2437,13 +2516,14 @@ dependencies = [ [[package]] name = "zip" -version = "0.5.4" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e41ff37ba788e2169b19fa70253b70cb53d9f2db9fb9aea9bcfc5047e02c3bae" +checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815" dependencies = [ + "byteorder", "bzip2", "crc32fast", "flate2", - "podio", + "thiserror", "time", ] diff --git a/Cargo.toml b/Cargo.toml index d201d9c..617eada 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "wasm-pack" description = "📦✨ your favorite rust -> wasm workflow tool!" -version = "0.9.1" -authors = ["Ashley Williams "] -repository = "https://github.com/ashleygwilliams/wasm-pack.git" +version = "0.10.0" +authors = ["Ashley Williams ", "Jesper Håkansson "] +repository = "https://github.com/rustwasm/wasm-pack.git" license = "MIT/Apache-2.0" readme = "README.md" categories = ["wasm"] diff --git a/README.md b/README.md index c52be4a..8ba511e 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@

Build Status - crates.io + crates.io

diff --git a/docs/index.html b/docs/index.html index f42db00..fbec2ba 100644 --- a/docs/index.html +++ b/docs/index.html @@ -42,9 +42,9 @@

📦✨ your favorite rust -> wasm workflow tool!

- ✨ Install wasm-pack 0.9.1 ✨ -

7 Feb 2020 | - + ✨ Install wasm-pack 0.10.0 ✨ +

2 Jul 2021 | + Release Notes

diff --git a/npm/README.md b/npm/README.md index 44a1e56..8ba511e 100644 --- a/npm/README.md +++ b/npm/README.md @@ -7,9 +7,8 @@

- Build Status - Build status - crates.io + Build Status + crates.io

@@ -20,7 +19,8 @@ Chat

- Built with 🦀🕸 by The Rust and WebAssembly Working Group +Built with 🦀🕸 by The Rust and WebAssembly Working Group +
## About @@ -29,12 +29,10 @@ This tool seeks to be a one-stop shop for building and working with rust- generated WebAssembly that you would like to interop with JavaScript, in the browser or with Node.js. `wasm-pack` helps you build rust-generated WebAssembly packages that you could publish to the npm registry, or otherwise use -alongside any javascript packages in workflows that you already use, such as [webpack] -or [greenkeeper]. +alongside any javascript packages in workflows that you already use, such as [webpack]. [bundler-support]: https://github.com/rustwasm/team/blob/master/goals/bundler-integration.md#details [webpack]: https://webpack.js.org/ -[greenkeeper]: https://greenkeeper.io/ This project is a part of the [rust-wasm] group. You can find more info by visiting that repo! @@ -91,4 +89,4 @@ This project was started by [ashleygwilliams] and is co-maintained by [ashleygwi [ashleygwilliams]: https://github.com/ashleygwilliams [drager]: https://github.com/drager -[rustwasm Working Group]: https://github.com/rustwasm/team +[rustwasm working group]: https://github.com/rustwasm/team diff --git a/npm/package-lock.json b/npm/package-lock.json index e0c7f94..2bbf475 100644 --- a/npm/package-lock.json +++ b/npm/package-lock.json @@ -1,12 +1,12 @@ { "name": "wasm-pack", - "version": "0.9.1", + "version": "0.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wasm-pack", - "version": "0.9.1", + "version": "0.10.0", "hasInstallScript": true, "license": "MIT OR Apache-2.0", "dependencies": { diff --git a/npm/package.json b/npm/package.json index a903a48..a7f493a 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "wasm-pack", - "version": "0.9.1", + "version": "0.10.0", "description": "📦✨ your favorite rust -> wasm workflow tool!", "main": "binary.js", "scripts": { diff --git a/src/test/webdriver/chromedriver.rs b/src/test/webdriver/chromedriver.rs index 212c96f..c1c96ad 100644 --- a/src/test/webdriver/chromedriver.rs +++ b/src/test/webdriver/chromedriver.rs @@ -9,7 +9,7 @@ use target; // Keep it up to date with each `wasm-pack` release. // https://chromedriver.storage.googleapis.com/LATEST_RELEASE -const DEFAULT_CHROMEDRIVER_VERSION: &str = "79.0.3945.36"; +const DEFAULT_CHROMEDRIVER_VERSION: &str = "91.0.4472.101"; const CHROMEDRIVER_LAST_UPDATED_STAMP: &str = "chromedriver_last_updated"; const CHROMEDRIVER_VERSION_STAMP: &str = "chromedriver_version"; diff --git a/src/test/webdriver/geckodriver.rs b/src/test/webdriver/geckodriver.rs index 125d0c8..f19eaee 100644 --- a/src/test/webdriver/geckodriver.rs +++ b/src/test/webdriver/geckodriver.rs @@ -9,7 +9,7 @@ use target; // Keep it up to date with each `wasm-pack` release. // https://github.com/mozilla/geckodriver/releases/latest -const DEFAULT_GECKODRIVER_VERSION: &str = "v0.26.0"; +const DEFAULT_GECKODRIVER_VERSION: &str = "v0.29.1"; const DEFAULT_WINDOWS_GECKODRIVER_VERSION: &str = "v0.24.0"; const GECKODRIVER_LAST_UPDATED_STAMP: &str = "geckodriver_last_updated"; @@ -186,11 +186,10 @@ fn get_version_from_json(json: impl AsRef) -> Result String { +fn assemble_geckodriver_url(tag: &str, target: &str, ext: &str) -> String { format!( "https://github.com/mozilla/geckodriver/releases/download/{tag}/geckodriver-{tag}-{target}.{ext}", - // TODO: Temporary use v0.24.0 instead of latest. Latest is currently not working... - tag="v0.24.0", + tag=tag, target=target, ext=ext, ) From 260d79ac89152d0c9b112ee4420420710fc4a029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Fri, 2 Jul 2021 19:10:54 +0200 Subject: [PATCH 27/66] fix(ci): Fix release tarballs --- .github/workflows/release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4756e32..a09516c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -85,7 +85,7 @@ jobs: run: | mv ./target/${{ env.LINUX_TARGET }}/release/${{ env.RELEASE_BIN }} ./dist/${{ env.RELEASE_BIN }} mv ${{ env.RELEASE_ADDS }} ./dist - 7z a -ttar -so -an ./dist/* | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz + 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz - name: Create tarball (Windows) if: matrix.build == 'windows' @@ -93,14 +93,14 @@ jobs: run: | mv ./target/release/${{ env.RELEASE_BIN }}.exe ./dist/${{ env.RELEASE_BIN }}.exe mv ${{ env.RELEASE_ADDS }} ./dist - 7z a -ttar -so -an ./dist/* | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz + 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz - name: Create tarball (MacOS) if: matrix.build == 'macos' run: | mv ./target/release/${{ env.RELEASE_BIN }} ./dist/${{ env.RELEASE_BIN }} mv ${{ env.RELEASE_ADDS }} ./dist - 7z a -ttar -so -an ./dist/* | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz + 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz - name: Upload Zip uses: actions/upload-artifact@v1 From a8423bdab9e130bd8edb2d00e7c9f74b82004764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Sun, 4 Jul 2021 13:06:54 +0200 Subject: [PATCH 28/66] fix(ci): Upload window init exe file --- .github/workflows/release.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a09516c..1ab3d9e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,8 +91,10 @@ jobs: if: matrix.build == 'windows' shell: bash run: | - mv ./target/release/${{ env.RELEASE_BIN }}.exe ./dist/${{ env.RELEASE_BIN }}.exe + cp ./target/release/${{ env.RELEASE_BIN }}.exe ./dist/${{ env.RELEASE_BIN }}.exe + cp ./target/release/${{ env.RELEASE_BIN }}.exe wasm-pack-init.exe mv ${{ env.RELEASE_ADDS }} ./dist + mv wasm-pack-init.exe ${{ env.RELEASE_DIR }} 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz - name: Create tarball (MacOS) @@ -134,7 +136,7 @@ jobs: with: name: linux - - name: Download MacOS tarball + - name: Download Windows tarball uses: actions/download-artifact@v1 with: name: windows @@ -164,6 +166,16 @@ jobs: asset_content_type: application/gzip asset_name: wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz + - name: Release Windows init exe + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./windows/wasm-pack-init.exe + asset_content_type: application/vnd.microsoft.portable-executable + asset_name: wasm-pack-init.exe + - name: Release MacOS tarball uses: actions/upload-release-asset@v1 env: From 175173c0a68d166ceb881091fd4f209f5beb65c9 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sun, 4 Jul 2021 17:42:29 +0100 Subject: [PATCH 29/66] Automically approve new PRs for running Github test actions --- .github/workflows/approve.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/workflows/approve.yml diff --git a/.github/workflows/approve.yml b/.github/workflows/approve.yml new file mode 100644 index 0000000..ffe7e12 --- /dev/null +++ b/.github/workflows/approve.yml @@ -0,0 +1,15 @@ +name: Automatic Approve +on: + schedule: + - cron: "0 0 * * *" + workflow_dispatch: +jobs: + automatic-approve: + name: Automatic Approve + runs-on: ubuntu-latest + steps: + - name: Automatic Approve + uses: mheap/automatic-approve-action@v1.1.0 + with: + token: ${{ secrets.GITHUB_TOKEN }} + workflows: "test.yml" From d79e72189c523586debcee2ebbf6a2fd065e8abf Mon Sep 17 00:00:00 2001 From: Joao Neves Date: Tue, 2 Mar 2021 13:38:26 +0100 Subject: [PATCH 30/66] Implements RFC 8, fixing #606 --- src/command/utils.rs | 1 + src/manifest/mod.rs | 43 +++++++++++++++++++++++++----- src/manifest/npm/commonjs.rs | 4 +++ src/manifest/npm/esmodules.rs | 4 +++ src/manifest/npm/nomodules.rs | 4 +++ tests/all/manifest.rs | 50 ++++++++++++++++++++++++++++++++++- tests/all/utils/manifest.rs | 8 +++++- 7 files changed, 105 insertions(+), 9 deletions(-) diff --git a/src/command/utils.rs b/src/command/utils.rs index 4a735e2..7c6ec0c 100644 --- a/src/command/utils.rs +++ b/src/command/utils.rs @@ -37,6 +37,7 @@ fn find_manifest_from_cwd() -> Result { /// Construct our `pkg` directory in the crate. pub fn create_pkg_dir(out_dir: &Path) -> Result<(), failure::Error> { + let _ = fs::remove_dir_all(&out_dir); // Clean up any existing directory and ignore errors fs::create_dir_all(&out_dir)?; fs::write(out_dir.join(".gitignore"), "*")?; Ok(()) diff --git a/src/manifest/mod.rs b/src/manifest/mod.rs index e82451c..8e88c02 100644 --- a/src/manifest/mod.rs +++ b/src/manifest/mod.rs @@ -8,8 +8,8 @@ mod npm; -use std::fs; use std::path::Path; +use std::{collections::HashMap, fs}; use self::npm::{ repository::Repository, CommonJSPackage, ESModulesPackage, NoModulesPackage, NpmPackage, @@ -575,14 +575,25 @@ impl CrateData { target: Target, ) -> Result<(), Error> { let pkg_file_path = out_dir.join("package.json"); + // Check if a `package.json` was already generated by wasm-bindgen, if so + // we merge the NPM dependencies already specified in it. + let existing_deps = if pkg_file_path.exists() { + // It's just a map of dependency names to versions + Some(serde_json::from_str::>( + &fs::read_to_string(&pkg_file_path)?, + )?) + } else { + None + }; let npm_data = match target { - Target::Nodejs => self.to_commonjs(scope, disable_dts, out_dir), - Target::NoModules => self.to_nomodules(scope, disable_dts, out_dir), - Target::Bundler => self.to_esmodules(scope, disable_dts, out_dir), - Target::Web => self.to_web(scope, disable_dts, out_dir), + Target::Nodejs => self.to_commonjs(scope, disable_dts, existing_deps, out_dir), + Target::NoModules => self.to_nomodules(scope, disable_dts, existing_deps, out_dir), + Target::Bundler => self.to_esmodules(scope, disable_dts, existing_deps, out_dir), + Target::Web => self.to_web(scope, disable_dts, existing_deps, out_dir), }; let npm_json = serde_json::to_string_pretty(&npm_data)?; + fs::write(&pkg_file_path, npm_json) .with_context(|_| format!("failed to write: {}", pkg_file_path.display()))?; Ok(()) @@ -657,7 +668,13 @@ impl CrateData { }) } - fn to_commonjs(&self, scope: &Option, disable_dts: bool, out_dir: &Path) -> NpmPackage { + fn to_commonjs( + &self, + scope: &Option, + disable_dts: bool, + dependencies: Option>, + out_dir: &Path, + ) -> NpmPackage { let data = self.npm_data(scope, false, disable_dts, out_dir); let pkg = &self.data.packages[self.current_idx]; @@ -683,6 +700,7 @@ impl CrateData { homepage: data.homepage, types: data.dts_file, keywords: data.keywords, + dependencies, }) } @@ -690,6 +708,7 @@ impl CrateData { &self, scope: &Option, disable_dts: bool, + dependencies: Option>, out_dir: &Path, ) -> NpmPackage { let data = self.npm_data(scope, true, disable_dts, out_dir); @@ -718,10 +737,17 @@ impl CrateData { types: data.dts_file, side_effects: false, keywords: data.keywords, + dependencies, }) } - fn to_web(&self, scope: &Option, disable_dts: bool, out_dir: &Path) -> NpmPackage { + fn to_web( + &self, + scope: &Option, + disable_dts: bool, + dependencies: Option>, + out_dir: &Path, + ) -> NpmPackage { let data = self.npm_data(scope, false, disable_dts, out_dir); let pkg = &self.data.packages[self.current_idx]; @@ -748,6 +774,7 @@ impl CrateData { types: data.dts_file, side_effects: false, keywords: data.keywords, + dependencies, }) } @@ -755,6 +782,7 @@ impl CrateData { &self, scope: &Option, disable_dts: bool, + dependencies: Option>, out_dir: &Path, ) -> NpmPackage { let data = self.npm_data(scope, false, disable_dts, out_dir); @@ -782,6 +810,7 @@ impl CrateData { homepage: data.homepage, types: data.dts_file, keywords: data.keywords, + dependencies, }) } diff --git a/src/manifest/npm/commonjs.rs b/src/manifest/npm/commonjs.rs index e421c9c..eaf681d 100644 --- a/src/manifest/npm/commonjs.rs +++ b/src/manifest/npm/commonjs.rs @@ -1,3 +1,5 @@ +use std::collections::HashMap; + use manifest::npm::repository::Repository; #[derive(Serialize)] @@ -21,4 +23,6 @@ pub struct CommonJSPackage { pub types: Option, #[serde(skip_serializing_if = "Option::is_none")] pub keywords: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub dependencies: Option>, } diff --git a/src/manifest/npm/esmodules.rs b/src/manifest/npm/esmodules.rs index 640a926..b3b541b 100644 --- a/src/manifest/npm/esmodules.rs +++ b/src/manifest/npm/esmodules.rs @@ -1,3 +1,5 @@ +use std::collections::HashMap; + use manifest::npm::repository::Repository; #[derive(Serialize)] @@ -23,4 +25,6 @@ pub struct ESModulesPackage { pub side_effects: bool, #[serde(skip_serializing_if = "Option::is_none")] pub keywords: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub dependencies: Option>, } diff --git a/src/manifest/npm/nomodules.rs b/src/manifest/npm/nomodules.rs index 6ac2508..20567cc 100644 --- a/src/manifest/npm/nomodules.rs +++ b/src/manifest/npm/nomodules.rs @@ -1,3 +1,5 @@ +use std::collections::HashMap; + use manifest::npm::repository::Repository; #[derive(Serialize)] @@ -21,4 +23,6 @@ pub struct NoModulesPackage { pub types: Option, #[serde(skip_serializing_if = "Option::is_none")] pub keywords: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub dependencies: Option>, } diff --git a/tests/all/manifest.rs b/tests/all/manifest.rs index c25c3e5..c5f0fbf 100644 --- a/tests/all/manifest.rs +++ b/tests/all/manifest.rs @@ -1,5 +1,5 @@ use assert_cmd::prelude::*; -use std::collections::HashSet; +use std::collections::{HashMap, HashSet}; use std::fs; use std::path::PathBuf; use utils::{self, fixture}; @@ -314,6 +314,54 @@ fn it_creates_a_package_json_with_correct_keys_when_types_are_skipped() { assert_eq!(actual_files, expected_files); } +#[test] +fn it_creates_a_package_json_with_npm_dependencies_provided_by_wasm_bindgen() { + let fixture = fixture::js_hello_world(); + let out_dir = fixture.path.join("pkg"); + let crate_data = manifest::CrateData::new(&fixture.path, None).unwrap(); + wasm_pack::command::utils::create_pkg_dir(&out_dir).unwrap(); + // Write a `package.json` in the out_dir, as wasm-bindgen does: + utils::manifest::create_wbg_package_json( + &out_dir, + r#" + { "foo": "^1.2.3" } + "#, + ) + .unwrap(); + assert!(crate_data + .write_package_json(&out_dir, &None, true, Target::Bundler) + .is_ok()); + let package_json_path = &out_dir.join("package.json"); + fs::metadata(package_json_path).unwrap(); + utils::manifest::read_package_json(&fixture.path, &out_dir).unwrap(); + let pkg = utils::manifest::read_package_json(&fixture.path, &out_dir).unwrap(); + assert_eq!(pkg.name, "js-hello-world"); + assert_eq!(pkg.repository.ty, "git"); + assert_eq!( + pkg.repository.url, + "https://github.com/rustwasm/wasm-pack.git" + ); + assert_eq!(pkg.module, "js_hello_world.js"); + + let actual_files: HashSet = pkg.files.into_iter().collect(); + let expected_files: HashSet = [ + "js_hello_world_bg.wasm", + "js_hello_world_bg.js", + "js_hello_world.js", + ] + .iter() + .map(|&s| String::from(s)) + .collect(); + assert_eq!(actual_files, expected_files); + + let dependencies: Option> = pkg.dependencies; + assert!(dependencies.is_some()); + let mut expected_dependencies: HashMap = HashMap::new(); + expected_dependencies.insert("foo".to_owned(), "^1.2.3".to_owned()); + + assert_eq!(dependencies.unwrap(), expected_dependencies); +} + #[test] fn it_errors_when_wasm_bindgen_is_not_declared() { let fixture = fixture::bad_cargo_toml(); diff --git a/tests/all/utils/manifest.rs b/tests/all/utils/manifest.rs index c261bc1..eeeb4e6 100644 --- a/tests/all/utils/manifest.rs +++ b/tests/all/utils/manifest.rs @@ -1,6 +1,6 @@ -use std::fs::File; use std::io::prelude::*; use std::path::Path; +use std::{collections::HashMap, fs::File}; use failure::Error; use serde_json; @@ -25,6 +25,7 @@ pub struct NpmPackage { pub side_effects: bool, pub homepage: Option, pub keywords: Option>, + pub dependencies: Option>, } fn default_none() -> String { @@ -50,3 +51,8 @@ pub fn read_package_json(path: &Path, out_dir: &Path) -> Result Result<(), Error> { + let manifest_path = out_dir.join("package.json"); + Ok(std::fs::write(manifest_path, contents)?) +} From 137731225033cb330913f5aafab493499774eae3 Mon Sep 17 00:00:00 2001 From: Riley Shea Date: Fri, 9 Jul 2021 20:11:25 -0400 Subject: [PATCH 31/66] fix docs: warning label appearing offscreen --- docs/_theme/header.hbs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/_theme/header.hbs b/docs/_theme/header.hbs index 61e24cf..7fab25f 100644 --- a/docs/_theme/header.hbs +++ b/docs/_theme/header.hbs @@ -35,10 +35,12 @@ }
- This is the unpublished documentation of - wasm-pack, the published documentation is available - - on the main Rust and WebAssembly documentation site - . Features documented here may not be available in released versions of - wasm-pack. +

+ This is the unpublished documentation of + wasm-pack, the published documentation is available + + on the main Rust and WebAssembly documentation site + . Features documented here may not be available in released versions of + wasm-pack. +

From 0fff34cbb15f45a122617024ccf7cfbe64e73217 Mon Sep 17 00:00:00 2001 From: iuslkae Date: Fri, 9 Jul 2021 23:42:39 -0500 Subject: [PATCH 32/66] feat(docs): Under prerequisites, considerations for nodejs --- docs/src/SUMMARY.md | 1 + docs/src/prerequisites/considerations.md | 38 ++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 docs/src/prerequisites/considerations.md diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md index 9e18324..7e367c7 100644 --- a/docs/src/SUMMARY.md +++ b/docs/src/SUMMARY.md @@ -4,6 +4,7 @@ - [Quickstart](./quickstart.md) - [Prerequisites](./prerequisites/index.md) - [npm (optional)](./prerequisites/npm.md) + - [considerations](./prerequisites/considerations.md) - [Non-`rustup` setups](./prerequisites/non-rustup-setups.md) - [Commands](./commands/index.md) - [`new`](./commands/new.md) diff --git a/docs/src/prerequisites/considerations.md b/docs/src/prerequisites/considerations.md new file mode 100644 index 0000000..b4bd082 --- /dev/null +++ b/docs/src/prerequisites/considerations.md @@ -0,0 +1,38 @@ +# nodejs + +Currently, `wasm-pack` generated npm modules require us to you have [fetch] polyfill in your node project. + +If there is a module from `wasm-pack build --target nodejs` you may encounter some errors regarding global `Headers`, `Request`, `Response` and `fetch` Web APIs. + +## Common errors: + +```js +ReqwestError(reqwest::Error { kind: Builder, source: "JsValue(ReferenceError: Headers is not defined +ReqwestError(reqwest::Error { kind: Builder, source: "JsValue(ReferenceError: Request is not defined + + var ret = getObject(arg0) instanceof Response; +ReferenceError: Response is not defined +``` + +## Workarround +Import or declare fetch and objects: Headers, Request, Response + +```ts +// CommonJS +const fetch = require('node-fetch'); + +// ES Module +import fetch from 'node-fetch'; + +// @ts-ignore +global.fetch = fetch; +// @ts-ignore +global.Headers = fetch.Headers; +// @ts-ignore +global.Request = fetch.Request; +// @ts-ignore +global.Response = fetch.Response; +``` + +[fetch]: https://github.com/node-fetch/node-fetch + From b242938066485f1e50bb78ba08f21602feb80d4c Mon Sep 17 00:00:00 2001 From: Frederic Kettelhoit Date: Tue, 20 Jul 2021 20:18:32 +0200 Subject: [PATCH 33/66] Fix example commands in docs broken by PR #851 --- docs/src/commands/build.md | 10 +++++----- docs/src/commands/test.md | 12 ++++++------ .../template-deep-dive/wee_alloc.md | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/src/commands/build.md b/docs/src/commands/build.md index fa9b7dd..9f4bae4 100644 --- a/docs/src/commands/build.md +++ b/docs/src/commands/build.md @@ -127,13 +127,13 @@ wasm-pack build examples/js-hello-world --mode no-install ## Extra options -The `build` command can pass extra options straight to `cargo build` even if they are not -supported in wasm-pack. To use them you should add standalone `--` argument at the very -end of your command, and all the arguments you want to pass to cargo should go after. -For example, to build the previous example using cargo's offline feature: +The `build` command can pass extra options straight to `cargo build` even if +they are not supported in wasm-pack. To use them simply add the extra arguments +at the very end of your command, just as you would for `cargo build`. For +example, to build the previous example using cargo's offline feature: ``` -wasm-pack build examples/js-hello-world --mode no-install -- --offline +wasm-pack build examples/js-hello-world --mode no-install --offline ```
diff --git a/docs/src/commands/test.md b/docs/src/commands/test.md index 08c8b73..b851b0a 100644 --- a/docs/src/commands/test.md +++ b/docs/src/commands/test.md @@ -44,8 +44,8 @@ wasm-pack test --node --firefox --chrome --safari --headless The `test` command can pass extra options straight to `cargo test` even if they are not supported in wasm-pack. -To use them you should add standalone `--` argument at the very -end of your command, and all the arguments you want to pass to cargo should go after. +To use them simply add the extra arguments at the very end of your command, just +as you would for `cargo test`. `cargo test -h` for a list of all options that you can pass through. @@ -72,16 +72,16 @@ $ tree crates/foo ``` # Run all tests in tests/diff_patch.rs in Firefox -wasm-pack test crates/foo --firefox --headless -- --test diff_patch +wasm-pack test crates/foo --firefox --headless --test diff_patch # Run all tests in tests/diff_patch.rs that contain the word "replace" -wasm-pack test crates/foo --firefox --headless -- --test diff_patch replace +wasm-pack test crates/foo --firefox --headless --test diff_patch replace # Run all tests inside of a `tests` module inside of src/lib/diff.rs -wasm-pack test crates/foo --firefox --headless -- --lib diff::tests +wasm-pack test crates/foo --firefox --headless --lib diff::tests # Same as the above, but only if they contain the word replace -wasm-pack test crates/foo --firefox --headless -- --lib diff::tests::replace +wasm-pack test crates/foo --firefox --headless --lib diff::tests::replace ``` Note that you can also filter tests by location in which they're supposed to diff --git a/docs/src/tutorials/npm-browser-packages/template-deep-dive/wee_alloc.md b/docs/src/tutorials/npm-browser-packages/template-deep-dive/wee_alloc.md index 3b9f15a..f95b244 100644 --- a/docs/src/tutorials/npm-browser-packages/template-deep-dive/wee_alloc.md +++ b/docs/src/tutorials/npm-browser-packages/template-deep-dive/wee_alloc.md @@ -40,7 +40,7 @@ allocator, but only if the `wee_alloc` feature is enabled at compile time. The feature can be enabled by passing extra options while building: ``` -$ wasm-pack build -- --features wee_alloc +$ wasm-pack build --features wee_alloc ``` or alternatively you could turn it on by default in `Cargo.toml`: From ca1f6d838cf6afc472d56d77ef54cbfc5694eebc Mon Sep 17 00:00:00 2001 From: Frederic Kettelhoit Date: Tue, 20 Jul 2021 20:57:35 +0200 Subject: [PATCH 34/66] Use same syntax for extra arguments as wasm-pack test --- src/command/build.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/command/build.rs b/src/command/build.rs index b1b6eb5..df3accd 100644 --- a/src/command/build.rs +++ b/src/command/build.rs @@ -18,6 +18,7 @@ use std::fmt; use std::path::PathBuf; use std::str::FromStr; use std::time::Instant; +use structopt::clap::AppSettings; use PBAR; /// Everything required to configure and run the `wasm-pack build` command. @@ -101,6 +102,13 @@ pub enum BuildProfile { /// Everything required to configure and run the `wasm-pack build` command. #[derive(Debug, StructOpt)] +#[structopt( + // Allows unknown `--option`s to be parsed as positional arguments, so we can forward it to `cargo`. + setting = AppSettings::AllowLeadingHyphen, + + // Allows `--` to be parsed as an argument, so we can forward it to `cargo`. + setting = AppSettings::TrailingVarArg, +)] pub struct BuildOptions { /// The path to the Rust crate. If not set, searches up the path from the current directory. #[structopt(parse(from_os_str))] @@ -148,7 +156,7 @@ pub struct BuildOptions { /// Sets the output file names. Defaults to package name. pub out_name: Option, - #[structopt(last = true)] + #[structopt(allow_hyphen_values = true)] /// List of extra options to pass to `cargo build` pub extra_options: Vec, } From a14035d546c4ddd6f9d278473bea15728c03c335 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Aug 2021 18:39:33 +0100 Subject: [PATCH 35/66] Run book build on all branches --- .github/workflows/book.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/book.yml b/.github/workflows/book.yml index c65b532..748e627 100644 --- a/.github/workflows/book.yml +++ b/.github/workflows/book.yml @@ -2,8 +2,7 @@ name: Build and deploy documentation book on: push: - branches: - - master + pull_request: jobs: book: @@ -31,6 +30,7 @@ jobs: - name: Deploy book uses: JamesIves/github-pages-deploy-action@4.1.4 + if: ${{ github.ref == 'refs/heads/master' }} with: branch: gh-pages folder: docs From 58ac4f1c51c9e95fafd40e663fc0b9bc3aa15951 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Aug 2021 18:42:38 +0100 Subject: [PATCH 36/66] Cache mdbook --- .github/workflows/book.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/book.yml b/.github/workflows/book.yml index 748e627..393ae5d 100644 --- a/.github/workflows/book.yml +++ b/.github/workflows/book.yml @@ -15,6 +15,19 @@ jobs: toolchain: stable override: true + - name: Cache dependencies + uses: actions/cache@v2 + env: + cache-name: cache-mdbook + with: + path: | + ~/.cargo/.crates.toml + ~/.cargo/.crates2.json + ~/.cargo/bin + ~/.cargo/registry/index + ~/.cargo/registry/cache + key: ${{ runner.os }}-build-${{ env.cache-name }}-0.2 }} + - name: Install mdbook run: | (test -x $HOME/.cargo/bin/cargo-install-update || cargo install cargo-update) From b3655b86f909b4cba5c689e619ca92ecb5ef410b Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Aug 2021 19:59:46 +0100 Subject: [PATCH 37/66] Upgrade mdbook to 0.3 --- .github/workflows/book.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/book.yml b/.github/workflows/book.yml index 393ae5d..4d06b70 100644 --- a/.github/workflows/book.yml +++ b/.github/workflows/book.yml @@ -26,12 +26,12 @@ jobs: ~/.cargo/bin ~/.cargo/registry/index ~/.cargo/registry/cache - key: ${{ runner.os }}-build-${{ env.cache-name }}-0.2 }} + key: ${{ runner.os }}-build-${{ env.cache-name }}-0.3 }} - name: Install mdbook run: | (test -x $HOME/.cargo/bin/cargo-install-update || cargo install cargo-update) - (test -x $HOME/.cargo/bin/mdbook || cargo install --vers "^0.2" mdbook) + (test -x $HOME/.cargo/bin/mdbook || cargo install --vers "^0.3" mdbook) cargo install-update -a - name: Build book From d8e64684e6c431b75dfe48376f8426d44e931e50 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Wed, 27 Jan 2021 22:59:17 +0000 Subject: [PATCH 38/66] Remove direct usage of serial_test_derive --- Cargo.lock | 16 +++++++++------- Cargo.toml | 3 +-- tests/all/main.rs | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e1e68c2..d3f60e9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1826,21 +1826,24 @@ dependencies = [ [[package]] name = "serial_test" -version = "0.2.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bfbc39343545618d97869d77f38ed43e48dd77432717dbc7ed39d797f3ecbe" +checksum = "f74862f16557830c73deefde614c906f8af0157e064b64f156e32a0b12d7114c" dependencies = [ "lazy_static 1.4.0", + "parking_lot 0.9.0", + "serial_test_derive", ] [[package]] name = "serial_test_derive" -version = "0.2.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89dd85be2e2ad75b041c9df2892ac078fa6e0b90024028b2b9fb4125b7530f01" +checksum = "3c188479c8b700998829c168d7a4c21032660b0dd2ed87a0b166c85811750740" dependencies = [ - "quote 0.6.13", - "syn 0.15.44", + "proc-macro2 1.0.8", + "quote 1.0.2", + "syn 1.0.14", ] [[package]] @@ -2423,7 +2426,6 @@ dependencies = [ "serde_ignored", "serde_json", "serial_test", - "serial_test_derive", "siphasher", "strsim", "structopt", diff --git a/Cargo.toml b/Cargo.toml index 617eada..eec41b2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,8 +41,7 @@ chrono = "0.4.6" assert_cmd = "0.11" lazy_static = "1.1.0" predicates = "1.0.0" -serial_test = "0.2" -serial_test_derive = "0.2" +serial_test = "0.3" tempfile = "3" [features] diff --git a/tests/all/main.rs b/tests/all/main.rs index 0a306ab..20a25ae 100644 --- a/tests/all/main.rs +++ b/tests/all/main.rs @@ -8,7 +8,7 @@ extern crate serde_derive; extern crate binary_install; extern crate serde_json; #[macro_use] -extern crate serial_test_derive; +extern crate serial_test; extern crate structopt; extern crate tempfile; extern crate wasm_pack; From a807401673bb3e95227e109800d40820069dd0bc Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Aug 2021 20:04:09 +0100 Subject: [PATCH 39/66] Update Cargo.lock --- Cargo.lock | 93 +++++++++++++++++------------------------------------- 1 file changed, 29 insertions(+), 64 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d3f60e9..2705458 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -537,9 +537,9 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.27", - "quote 1.0.9", - "syn 1.0.73", + "proc-macro2", + "quote", + "syn", "synstructure", ] @@ -1323,9 +1323,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.27", - "quote 1.0.9", - "syn 1.0.73", + "proc-macro2", + "quote", + "syn", "version_check", ] @@ -1335,27 +1335,18 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.27", - "quote 1.0.9", + "proc-macro2", + "quote", "version_check", ] -[[package]] -name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -dependencies = [ - "unicode-xid 0.1.0", -] - [[package]] name = "proc-macro2" version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" dependencies = [ - "unicode-xid 0.2.2", + "unicode-xid", ] [[package]] @@ -1374,22 +1365,13 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" -[[package]] -name = "quote" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -dependencies = [ - "proc-macro2 0.4.30", -] - [[package]] name = "quote" version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" dependencies = [ - "proc-macro2 1.0.27", + "proc-macro2", ] [[package]] @@ -1787,9 +1769,9 @@ version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" dependencies = [ - "proc-macro2 1.0.27", - "quote 1.0.9", - "syn 1.0.73", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -1841,9 +1823,9 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c188479c8b700998829c168d7a4c21032660b0dd2ed87a0b166c85811750740" dependencies = [ - "proc-macro2 1.0.8", - "quote 1.0.2", - "syn 1.0.14", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -1923,20 +1905,9 @@ checksum = "5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90" dependencies = [ "heck", "proc-macro-error", - "proc-macro2 1.0.27", - "quote 1.0.9", - "syn 1.0.73", -] - -[[package]] -name = "syn" -version = "0.15.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "unicode-xid 0.1.0", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -1945,9 +1916,9 @@ version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" dependencies = [ - "proc-macro2 1.0.27", - "quote 1.0.9", - "unicode-xid 0.2.2", + "proc-macro2", + "quote", + "unicode-xid", ] [[package]] @@ -1956,10 +1927,10 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" dependencies = [ - "proc-macro2 1.0.27", - "quote 1.0.9", - "syn 1.0.73", - "unicode-xid 0.2.2", + "proc-macro2", + "quote", + "syn", + "unicode-xid", ] [[package]] @@ -2052,9 +2023,9 @@ version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" dependencies = [ - "proc-macro2 1.0.27", - "quote 1.0.9", - "syn 1.0.73", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -2293,12 +2264,6 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" - [[package]] name = "unicode-xid" version = "0.2.2" From 5b1bd1af1f49a8dde84ee1157e38d202f9ffd2ac Mon Sep 17 00:00:00 2001 From: Frederic Kettelhoit Date: Wed, 4 Aug 2021 11:01:54 +0200 Subject: [PATCH 40/66] Fix build test by using new syntax --- tests/all/build.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/all/build.rs b/tests/all/build.rs index 0c59ba8..4524498 100644 --- a/tests/all/build.rs +++ b/tests/all/build.rs @@ -264,7 +264,6 @@ fn build_with_arbitrary_cargo_options() { fixture .wasm_pack() .arg("build") - .arg("--") .arg("--no-default-features") .assert() .success(); From dafc83d49dd5cc89a93de689ccac5d893c00e41a Mon Sep 17 00:00:00 2001 From: Frederic Kettelhoit Date: Thu, 5 Aug 2021 12:00:47 +0200 Subject: [PATCH 41/66] Only parse first build argument as path if it does not start with hyphens --- src/command/build.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/command/build.rs b/src/command/build.rs index df3accd..e18a77c 100644 --- a/src/command/build.rs +++ b/src/command/build.rs @@ -184,7 +184,15 @@ type BuildStep = fn(&mut Build) -> Result<(), Error>; impl Build { /// Construct a build command from the given options. - pub fn try_from_opts(build_opts: BuildOptions) -> Result { + pub fn try_from_opts(mut build_opts: BuildOptions) -> Result { + if let Some(path) = &build_opts.path { + if path.to_string_lossy().starts_with("--") { + let path = build_opts.path.take().unwrap(); + build_opts + .extra_options + .insert(0, path.to_string_lossy().into_owned().to_string()); + } + } let crate_path = get_crate_path(build_opts.path)?; let crate_data = manifest::CrateData::new(&crate_path, build_opts.out_name.clone())?; let out_dir = crate_path.join(PathBuf::from(build_opts.out_dir)); From e5e5b1eba1549f005f16a4927dca746d28bd9381 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Sat, 4 Sep 2021 17:18:40 -0700 Subject: [PATCH 42/66] fix: typos in comments --- src/emoji.rs | 2 +- src/installer.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/emoji.rs b/src/emoji.rs index 3365ad6..d4bcb8e 100644 --- a/src/emoji.rs +++ b/src/emoji.rs @@ -1,4 +1,4 @@ -//! Emoji contants used by `wasm-pack`. +//! Emoji constants used by `wasm-pack`. //! //! For the woefully unfamiliar: //! diff --git a/src/installer.rs b/src/installer.rs index ce89667..47e64ec 100644 --- a/src/installer.rs +++ b/src/installer.rs @@ -12,7 +12,7 @@ //! downloaded via curl/sh, and then the shell script downloads this executable //! and runs it. //! -//! This may get more complicated over time (self upates anyone?) but for now +//! This may get more complicated over time (self updates anyone?) but for now //! it's pretty simple! We're largely just moving over our currently running //! executable to a different path. From 8aaef72af004bb71ca5708500bb3cbe5827475ae Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Sat, 4 Sep 2021 20:51:15 -0700 Subject: [PATCH 43/66] fix: mem::take TODO --- src/test/webdriver.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/test/webdriver.rs b/src/test/webdriver.rs index 7b4223d..f0f34e8 100644 --- a/src/test/webdriver.rs +++ b/src/test/webdriver.rs @@ -39,8 +39,7 @@ struct Collector(Vec); impl Collector { pub fn take_content(&mut self) -> Vec { - // TODO: replace with `std::mem::take` once stable - std::mem::replace(&mut self.0, Vec::default()) + std::mem::take(&mut self.0) } } From 69c5624b17c8df3f0de0a02d2b50c890c20bbf16 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Sat, 4 Sep 2021 20:51:59 -0700 Subject: [PATCH 44/66] fix: remove needless clones, borrows --- src/bindgen.rs | 18 +++++++++--------- src/build/wasm_target.rs | 4 ++-- src/command/build.rs | 6 +++--- src/install/mod.rs | 10 +++++----- src/manifest/mod.rs | 2 +- src/test/webdriver.rs | 4 ++-- 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/bindgen.rs b/src/bindgen.rs index 02d02dc..535d6b8 100644 --- a/src/bindgen.rs +++ b/src/bindgen.rs @@ -6,7 +6,7 @@ use failure::{self, ResultExt}; use install::{self, Tool}; use manifest::CrateData; use semver; -use std::path::{Path, PathBuf}; +use std::path::Path; use std::process::Command; /// Run the `wasm-bindgen` CLI to generate bindings for the current crate's @@ -49,7 +49,7 @@ pub fn wasm_bindgen_build( .arg(dts_arg); let target_arg = build_target_arg(target, &bindgen_path)?; - if supports_dash_dash_target(bindgen_path.to_path_buf())? { + if supports_dash_dash_target(&bindgen_path)? { cmd.arg("--target").arg(target_arg); } else { cmd.arg(target_arg); @@ -75,7 +75,7 @@ pub fn wasm_bindgen_build( } /// Check if the `wasm-bindgen` dependency is locally satisfied for the web target -fn supports_web_target(cli_path: &PathBuf) -> Result { +fn supports_web_target(cli_path: &Path) -> Result { let cli_version = semver::Version::parse(&install::get_cli_version( &install::Tool::WasmBindgen, cli_path, @@ -85,30 +85,30 @@ fn supports_web_target(cli_path: &PathBuf) -> Result { } /// Check if the `wasm-bindgen` dependency is locally satisfied for the --target flag -fn supports_dash_dash_target(cli_path: PathBuf) -> Result { +fn supports_dash_dash_target(cli_path: &Path) -> Result { let cli_version = semver::Version::parse(&install::get_cli_version( &install::Tool::WasmBindgen, - &cli_path, + cli_path, )?)?; let expected_version = semver::Version::parse("0.2.40")?; Ok(cli_version >= expected_version) } -fn build_target_arg(target: Target, cli_path: &PathBuf) -> Result { - if !supports_dash_dash_target(cli_path.to_path_buf())? { +fn build_target_arg(target: Target, cli_path: &Path) -> Result { + if !supports_dash_dash_target(cli_path)? { Ok(build_target_arg_legacy(target, cli_path)?) } else { Ok(target.to_string()) } } -fn build_target_arg_legacy(target: Target, cli_path: &PathBuf) -> Result { +fn build_target_arg_legacy(target: Target, cli_path: &Path) -> Result { log::info!("Your version of wasm-bindgen is out of date. You should consider updating your Cargo.toml to a version >= 0.2.40."); let target_arg = match target { Target::Nodejs => "--nodejs", Target::NoModules => "--no-modules", Target::Web => { - if supports_web_target(&cli_path)? { + if supports_web_target(cli_path)? { "--web" } else { bail!("Your current version of wasm-bindgen does not support the 'web' target. Please update your project to wasm-bindgen version >= 0.2.39.") diff --git a/src/build/wasm_target.rs b/src/build/wasm_target.rs index 27fb2ca..f3cdf11 100644 --- a/src/build/wasm_target.rs +++ b/src/build/wasm_target.rs @@ -5,7 +5,7 @@ use emoji; use failure::{Error, ResultExt}; use log::info; use std::fmt; -use std::path::PathBuf; +use std::path::{Path, PathBuf}; use std::process::Command; use PBAR; @@ -81,7 +81,7 @@ fn get_rustc_sysroot() -> Result { } /// Checks if the wasm32-unknown-unknown is present in rustc's sysroot. -fn is_wasm32_target_in_sysroot(sysroot: &PathBuf) -> bool { +fn is_wasm32_target_in_sysroot(sysroot: &Path) -> bool { let wasm32_target = "wasm32-unknown-unknown"; let rustlib_path = sysroot.join("lib/rustlib"); diff --git a/src/command/build.rs b/src/command/build.rs index e18a77c..b680270 100644 --- a/src/command/build.rs +++ b/src/command/build.rs @@ -190,7 +190,7 @@ impl Build { let path = build_opts.path.take().unwrap(); build_opts .extra_options - .insert(0, path.to_string_lossy().into_owned().to_string()); + .insert(0, path.to_string_lossy().into_owned()); } } let crate_path = get_crate_path(build_opts.path)?; @@ -370,7 +370,7 @@ impl Build { let bindgen = install::download_prebuilt_or_cargo_install( Tool::WasmBindgen, &self.cache, - &bindgen_version, + bindgen_version, self.mode.install_permitted(), )?; self.bindgen = Some(bindgen); @@ -382,7 +382,7 @@ impl Build { info!("Building the wasm bindings..."); bindgen::wasm_bindgen_build( &self.crate_data, - &self.bindgen.as_ref().unwrap(), + self.bindgen.as_ref().unwrap(), &self.out_dir, &self.out_name, self.disable_dts, diff --git a/src/install/mod.rs b/src/install/mod.rs index 071c821..06bf72a 100644 --- a/src/install/mod.rs +++ b/src/install/mod.rs @@ -10,7 +10,7 @@ use log::debug; use log::{info, warn}; use std::env; use std::fs; -use std::path::PathBuf; +use std::path::Path; use std::process::Command; use target; use which::which; @@ -71,7 +71,7 @@ pub fn download_prebuilt_or_cargo_install( let msg = format!("{}Installing {}...", emoji::DOWN_ARROW, tool); PBAR.info(&msg); - let dl = download_prebuilt(&tool, &cache, version, install_permitted); + let dl = download_prebuilt(&tool, cache, version, install_permitted); match dl { Ok(dl) => return Ok(dl), Err(e) => { @@ -82,13 +82,13 @@ pub fn download_prebuilt_or_cargo_install( } } - cargo_install(tool, &cache, version, install_permitted) + cargo_install(tool, cache, version, install_permitted) } /// Check if the tool dependency is locally satisfied. pub fn check_version( tool: &Tool, - path: &PathBuf, + path: &Path, expected_version: &str, ) -> Result { let expected_version = if expected_version == "latest" { @@ -107,7 +107,7 @@ pub fn check_version( } /// Fetches the version of a CLI tool -pub fn get_cli_version(tool: &Tool, path: &PathBuf) -> Result { +pub fn get_cli_version(tool: &Tool, path: &Path) -> Result { let mut cmd = Command::new(path); cmd.arg("--version"); let stdout = child::run_capture_stdout(cmd, tool)?; diff --git a/src/manifest/mod.rs b/src/manifest/mod.rs index e82451c..898de42 100644 --- a/src/manifest/mod.rs +++ b/src/manifest/mod.rs @@ -644,7 +644,7 @@ impl CrateData { files, main: js_file, homepage: self.manifest.package.homepage.clone(), - keywords: keywords, + keywords, } } diff --git a/src/test/webdriver.rs b/src/test/webdriver.rs index f0f34e8..93de546 100644 --- a/src/test/webdriver.rs +++ b/src/test/webdriver.rs @@ -23,13 +23,13 @@ fn get_and_notify( name: &str, url: &str, ) -> Result, failure::Error> { - if let Some(dl) = cache.download(false, name, &[name], &url)? { + if let Some(dl) = cache.download(false, name, &[name], url)? { return Ok(Some(dl.binary(name)?)); } if installation_allowed { PBAR.info(&format!("Getting {}...", name)); } - match cache.download(installation_allowed, name, &[name], &url)? { + match cache.download(installation_allowed, name, &[name], url)? { Some(dl) => Ok(Some(dl.binary(name)?)), None => Ok(None), } From 5a25b971c9b487a2b6cc928202c0cfb18cbfa43e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Sun, 5 Sep 2021 15:46:08 +0200 Subject: [PATCH 45/66] fix: Add exe to binary name if windows --- npm/binary.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/npm/binary.js b/npm/binary.js index 15a12a0..d66bf98 100644 --- a/npm/binary.js +++ b/npm/binary.js @@ -1,13 +1,14 @@ const { Binary } = require("binary-install"); const os = require("os"); -const { join } = require("path"); + +const windows = "x86_64-pc-windows-msvc"; const getPlatform = () => { const type = os.type(); const arch = os.arch(); if (type === "Windows_NT" && arch === "x64") { - return "x86_64-pc-windows-msvc"; + return windows; } if (type === "Linux" && arch === "x64") { return "x86_64-unknown-linux-musl"; @@ -25,7 +26,7 @@ const getBinary = () => { const author = "rustwasm"; const name = "wasm-pack"; const url = `https://github.com/${author}/${name}/releases/download/v${version}/${name}-v${version}-${platform}.tar.gz`; - return new Binary(name, url ); + return new Binary(platform === windows ? "wasm-pack.exe" : "wasm-pack", url); }; const run = () => { @@ -46,5 +47,5 @@ const uninstall = () => { module.exports = { install, run, - uninstall + uninstall, }; From 6d81411605afcf6418b73866d77c32616e86d442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Sun, 5 Sep 2021 15:47:58 +0200 Subject: [PATCH 46/66] chore: Update package-lock --- npm/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/npm/package-lock.json b/npm/package-lock.json index 2bbf475..e837284 100644 --- a/npm/package-lock.json +++ b/npm/package-lock.json @@ -191,9 +191,9 @@ } }, "node_modules/tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -357,9 +357,9 @@ } }, "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", From d37c2d63de9f15870cb324f1c69b319e0ef165e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Sun, 5 Sep 2021 15:46:08 +0200 Subject: [PATCH 47/66] fix: Add exe to binary name if windows --- npm/binary.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/npm/binary.js b/npm/binary.js index 15a12a0..d66bf98 100644 --- a/npm/binary.js +++ b/npm/binary.js @@ -1,13 +1,14 @@ const { Binary } = require("binary-install"); const os = require("os"); -const { join } = require("path"); + +const windows = "x86_64-pc-windows-msvc"; const getPlatform = () => { const type = os.type(); const arch = os.arch(); if (type === "Windows_NT" && arch === "x64") { - return "x86_64-pc-windows-msvc"; + return windows; } if (type === "Linux" && arch === "x64") { return "x86_64-unknown-linux-musl"; @@ -25,7 +26,7 @@ const getBinary = () => { const author = "rustwasm"; const name = "wasm-pack"; const url = `https://github.com/${author}/${name}/releases/download/v${version}/${name}-v${version}-${platform}.tar.gz`; - return new Binary(name, url ); + return new Binary(platform === windows ? "wasm-pack.exe" : "wasm-pack", url); }; const run = () => { @@ -46,5 +47,5 @@ const uninstall = () => { module.exports = { install, run, - uninstall + uninstall, }; From e9b620c123340be73e72d2aa4c4da203e54ef1ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Sun, 5 Sep 2021 15:47:58 +0200 Subject: [PATCH 48/66] chore: Update package-lock --- npm/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/npm/package-lock.json b/npm/package-lock.json index 2bbf475..e837284 100644 --- a/npm/package-lock.json +++ b/npm/package-lock.json @@ -191,9 +191,9 @@ } }, "node_modules/tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -357,9 +357,9 @@ } }, "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", From ec6f0c2e22b7c15613a2e4a0779a04e067e17ae7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Sun, 5 Sep 2021 16:23:15 +0200 Subject: [PATCH 49/66] 0.10.1 --- Cargo.lock | 223 +++++++++++++++++++++--------------------- Cargo.toml | 2 +- docs/index.html | 6 +- npm/package-lock.json | 4 +- npm/package.json | 2 +- 5 files changed, 117 insertions(+), 120 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e1e68c2..7b05553 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a" +checksum = "3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd" dependencies = [ "gimli", ] @@ -84,9 +84,9 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282" +checksum = "e7a905d892734eea339e896738c14b9afce22b5318f64b951e70bf3844419b01" dependencies = [ "addr2line", "cc", @@ -131,9 +131,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "1.2.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "blake2b_simd" @@ -198,9 +198,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.68" +version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" +checksum = "d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0" [[package]] name = "cfg-if" @@ -273,7 +273,7 @@ dependencies = [ "clicolors-control", "lazy_static 1.4.0", "libc", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "regex", "termios", "unicode-width", @@ -356,9 +356,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" +checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed" dependencies = [ "crossbeam-epoch", "crossbeam-utils 0.7.2", @@ -429,9 +429,9 @@ dependencies = [ [[package]] name = "curl-sys" -version = "0.4.44+curl-7.77.0" +version = "0.4.45+curl-7.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b6d85e9322b193f117c966e79c2d6929ec08c02f339f950044aba12e20bbaf1" +checksum = "de9e5a72b1c744eb5dd20b2be4d7eb84625070bb5c4ab9b347b70464ab1e62eb" dependencies = [ "cc", "libc", @@ -537,29 +537,29 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.27", + "proc-macro2 1.0.29", "quote 1.0.9", - "syn 1.0.73", + "syn 1.0.76", "synstructure", ] [[package]] name = "filetime" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8" +checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.9", + "redox_syscall 0.2.10", "winapi 0.3.9", ] [[package]] name = "flate2" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0" +checksum = "80edafed416a46fb378521624fab1cfa2eb514784fd8921adbe8a8d8321da811" dependencies = [ "cfg-if 1.0.0", "crc32fast", @@ -669,9 +669,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" +checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7" [[package]] name = "glob" @@ -752,9 +752,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.4.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68" +checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" [[package]] name = "human-panic" @@ -857,9 +857,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" +checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d" dependencies = [ "cfg-if 1.0.0", ] @@ -884,9 +884,9 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "kernel32-sys" @@ -912,9 +912,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.97" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" +checksum = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21" [[package]] name = "libz-sys" @@ -949,9 +949,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" +checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" dependencies = [ "scopeguard 1.1.0", ] @@ -967,9 +967,9 @@ dependencies = [ [[package]] name = "matches" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "maybe-uninit" @@ -979,9 +979,9 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] name = "memchr" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" +checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" [[package]] name = "memoffset" @@ -1051,9 +1051,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4" +checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d" dependencies = [ "lazy_static 1.4.0", "libc", @@ -1115,9 +1115,9 @@ dependencies = [ [[package]] name = "object" -version = "0.25.3" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7" +checksum = "39f37e50073ccad23b6d09bcb5b263f4e76d3bb6038e4a3c08e52162ffa8abc2" dependencies = [ "memchr", ] @@ -1130,9 +1130,9 @@ checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" [[package]] name = "openssl" -version = "0.10.35" +version = "0.10.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885" +checksum = "8d9facdb76fec0b73c406f125d44d86fdad818d66fef0531eec9233ca425ff4a" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -1150,18 +1150,18 @@ checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" [[package]] name = "openssl-src" -version = "111.15.0+1.1.1k" +version = "111.16.0+1.1.1l" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a5f6ae2ac04393b217ea9f700cd04fa9bf3d93fae2872069f3d15d908af70a" +checksum = "7ab2173f69416cf3ec12debb5823d244127d23a9b127d5a5189aa97c5fa2859f" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.65" +version = "0.9.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a7907e3bfa08bb85105209cdfcb6c63d109f8f6c1ed6ca318fff5c1853fbc1d" +checksum = "1996d2d305e561b70d1ee0c53f1542833f4e1ac6ce9a6708b6ff2738ca67dc82" dependencies = [ "autocfg 1.0.1", "cc", @@ -1212,13 +1212,13 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", - "lock_api 0.4.4", - "parking_lot_core 0.8.3", + "lock_api 0.4.5", + "parking_lot_core 0.8.5", ] [[package]] @@ -1251,14 +1251,14 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" +checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" dependencies = [ "cfg-if 1.0.0", "instant", "libc", - "redox_syscall 0.2.9", + "redox_syscall 0.2.10", "smallvec 1.6.1", "winapi 0.3.9", ] @@ -1308,9 +1308,9 @@ checksum = "57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451" [[package]] name = "predicates-tree" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f553275e5721409451eb85e15fd9a860a6e5ab4496eb215987502b5f5391f2" +checksum = "d7dd0fd014130206c9352efbdc92be592751b2b9274dff685348341082c6ea3d" dependencies = [ "predicates-core", "treeline", @@ -1323,9 +1323,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.27", + "proc-macro2 1.0.29", "quote 1.0.9", - "syn 1.0.73", + "syn 1.0.76", "version_check", ] @@ -1335,7 +1335,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.27", + "proc-macro2 1.0.29", "quote 1.0.9", "version_check", ] @@ -1351,9 +1351,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.27" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" +checksum = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d" dependencies = [ "unicode-xid 0.2.2", ] @@ -1389,7 +1389,7 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" dependencies = [ - "proc-macro2 1.0.27", + "proc-macro2 1.0.29", ] [[package]] @@ -1591,9 +1591,9 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "redox_syscall" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" +checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" dependencies = [ "bitflags", ] @@ -1683,9 +1683,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49" +checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" [[package]] name = "rustc_version" @@ -1735,9 +1735,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "security-framework" -version = "2.3.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467" +checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87" dependencies = [ "bitflags", "core-foundation", @@ -1748,9 +1748,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.3.0" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4effb91b4b8b6fb7732e670b6cee160278ff8e6bf485c7805d9e319d76e284" +checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e" dependencies = [ "core-foundation-sys", "libc", @@ -1774,22 +1774,22 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.126" +version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" +checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.126" +version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" +checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" dependencies = [ - "proc-macro2 1.0.27", + "proc-macro2 1.0.29", "quote 1.0.9", - "syn 1.0.73", + "syn 1.0.76", ] [[package]] @@ -1803,9 +1803,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.64" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" +checksum = "a7f9e390c27c3c0ce8bc5d725f6e4d30a29d26659494aa4b17535f7522c5c950" dependencies = [ "itoa", "ryu", @@ -1851,9 +1851,9 @@ checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac" [[package]] name = "slab" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" +checksum = "c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590" [[package]] name = "smallvec" @@ -1872,9 +1872,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "socket2" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2" +checksum = "765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad" dependencies = [ "libc", "winapi 0.3.9", @@ -1903,9 +1903,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "structopt" -version = "0.3.21" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5277acd7ee46e63e5168a80734c9f6ee81b1367a7d8772a2d765df2a3705d28c" +checksum = "bf9d950ef167e25e0bdb073cf1d68e9ad2795ac826f2f3f59647817cf23c0bfa" dependencies = [ "clap", "lazy_static 1.4.0", @@ -1914,15 +1914,15 @@ dependencies = [ [[package]] name = "structopt-derive" -version = "0.4.14" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90" +checksum = "134d838a2c9943ac3125cf6df165eda53493451b719f3255b2a26b85f772d0ba" dependencies = [ "heck", "proc-macro-error", - "proc-macro2 1.0.27", + "proc-macro2 1.0.29", "quote 1.0.9", - "syn 1.0.73", + "syn 1.0.76", ] [[package]] @@ -1938,32 +1938,32 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.73" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" +checksum = "c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84" dependencies = [ - "proc-macro2 1.0.27", + "proc-macro2 1.0.29", "quote 1.0.9", "unicode-xid 0.2.2", ] [[package]] name = "synstructure" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" +checksum = "474aaa926faa1603c40b7885a9eaea29b444d1cb2850cb7c0e37bb1a4182f4fa" dependencies = [ - "proc-macro2 1.0.27", + "proc-macro2 1.0.29", "quote 1.0.9", - "syn 1.0.73", + "syn 1.0.76", "unicode-xid 0.2.2", ] [[package]] name = "tar" -version = "0.4.35" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d779dc6aeff029314570f666ec83f19df7280bb36ef338442cfa8c604021b80" +checksum = "d6f5515d3add52e0bbdcad7b83c388bb36ba7b754dda3b5f5bc2d38640cdba5c" dependencies = [ "filetime", "libc", @@ -1992,7 +1992,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "rand 0.8.4", - "redox_syscall 0.2.9", + "redox_syscall 0.2.10", "remove_dir_all", "winapi 0.3.9", ] @@ -2036,22 +2036,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.25" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6" +checksum = "602eca064b2d83369e2b2f34b09c70b605402801927c65c11071ac911d299b88" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.25" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" +checksum = "bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c" dependencies = [ - "proc-macro2 1.0.27", + "proc-macro2 1.0.29", "quote 1.0.9", - "syn 1.0.73", + "syn 1.0.76", ] [[package]] @@ -2066,9 +2066,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" +checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338" dependencies = [ "tinyvec_macros", ] @@ -2262,12 +2262,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0" -dependencies = [ - "matches", -] +checksum = "246f4c42e67e7a4e3c6106ff716a5d067d4132a642840b242e357e468a2a0085" [[package]] name = "unicode-normalization" @@ -2280,9 +2277,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796" +checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" [[package]] name = "unicode-width" @@ -2397,7 +2394,7 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" [[package]] name = "wasm-pack" -version = "0.10.0" +version = "0.10.1" dependencies = [ "assert_cmd", "atty", diff --git a/Cargo.toml b/Cargo.toml index 617eada..5a49003 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "wasm-pack" description = "📦✨ your favorite rust -> wasm workflow tool!" -version = "0.10.0" +version = "0.10.1" authors = ["Ashley Williams ", "Jesper Håkansson "] repository = "https://github.com/rustwasm/wasm-pack.git" license = "MIT/Apache-2.0" diff --git a/docs/index.html b/docs/index.html index fbec2ba..4e183d2 100644 --- a/docs/index.html +++ b/docs/index.html @@ -42,9 +42,9 @@

📦✨ your favorite rust -> wasm workflow tool!

- ✨ Install wasm-pack 0.10.0 ✨ -

2 Jul 2021 | - + ✨ Install wasm-pack 0.10.1 ✨ +

5 Sep 2021 | + Release Notes

diff --git a/npm/package-lock.json b/npm/package-lock.json index e837284..b0c22aa 100644 --- a/npm/package-lock.json +++ b/npm/package-lock.json @@ -1,12 +1,12 @@ { "name": "wasm-pack", - "version": "0.10.0", + "version": "0.10.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wasm-pack", - "version": "0.10.0", + "version": "0.10.1", "hasInstallScript": true, "license": "MIT OR Apache-2.0", "dependencies": { diff --git a/npm/package.json b/npm/package.json index a7f493a..8ce22f6 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "wasm-pack", - "version": "0.10.0", + "version": "0.10.1", "description": "📦✨ your favorite rust -> wasm workflow tool!", "main": "binary.js", "scripts": { From 3a9fae4775f7b83fd6813f6a920623f090a62641 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Sun, 4 Jul 2021 13:06:54 +0200 Subject: [PATCH 50/66] fix(ci): Upload window init exe file --- .github/workflows/release.yml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4756e32..c23dad1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,9 +91,11 @@ jobs: if: matrix.build == 'windows' shell: bash run: | - mv ./target/release/${{ env.RELEASE_BIN }}.exe ./dist/${{ env.RELEASE_BIN }}.exe + cp ./target/release/${{ env.RELEASE_BIN }}.exe ./dist/${{ env.RELEASE_BIN }}.exe + cp ./target/release/${{ env.RELEASE_BIN }}.exe wasm-pack-init.exe mv ${{ env.RELEASE_ADDS }} ./dist - 7z a -ttar -so -an ./dist/* | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz + mv wasm-pack-init.exe ${{ env.RELEASE_DIR }} + 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz - name: Create tarball (MacOS) if: matrix.build == 'macos' @@ -134,7 +136,7 @@ jobs: with: name: linux - - name: Download MacOS tarball + - name: Download Windows tarball uses: actions/download-artifact@v1 with: name: windows @@ -164,6 +166,16 @@ jobs: asset_content_type: application/gzip asset_name: wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz + - name: Release Windows init exe + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./windows/wasm-pack-init.exe + asset_content_type: application/vnd.microsoft.portable-executable + asset_name: wasm-pack-init.exe + - name: Release MacOS tarball uses: actions/upload-release-asset@v1 env: From e60f29fc19669b9f05f4df0b6500c90692eafca4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Fri, 2 Jul 2021 19:10:54 +0200 Subject: [PATCH 51/66] fix(ci): Fix release tarballs --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c23dad1..1ab3d9e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -85,7 +85,7 @@ jobs: run: | mv ./target/${{ env.LINUX_TARGET }}/release/${{ env.RELEASE_BIN }} ./dist/${{ env.RELEASE_BIN }} mv ${{ env.RELEASE_ADDS }} ./dist - 7z a -ttar -so -an ./dist/* | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz + 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz - name: Create tarball (Windows) if: matrix.build == 'windows' @@ -102,7 +102,7 @@ jobs: run: | mv ./target/release/${{ env.RELEASE_BIN }} ./dist/${{ env.RELEASE_BIN }} mv ${{ env.RELEASE_ADDS }} ./dist - 7z a -ttar -so -an ./dist/* | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz + 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz - name: Upload Zip uses: actions/upload-artifact@v1 From b1e67d3d22b17bcfe60d5d8258bd4609bcb9bf55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Sun, 5 Sep 2021 19:37:31 +0200 Subject: [PATCH 52/66] doc: Update CHANGELOG --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9e2d8d..bf70a74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ ## 🤍 Unreleased +## 🌦️ 0.10.1 + +- ### 🤕 Fixes + + - **Add exe to binary name if windows - [drager], [issue/1038] [pull/1055]** + + [pull/1055]: https://github.com/rustwasm/wasm-pack/pull/1055 + [issue/1038]: https://github.com/rustwasm/wasm-pack/issues/1038 + ## 🌦️ 0.10.0 - ### ✨ Features From 7ccacca9370c418d2108d7bf70e797908a7b6538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20H=C3=A5kansson?= Date: Mon, 6 Sep 2021 19:39:25 +0200 Subject: [PATCH 53/66] fix(ci): Make folder in tar named full name instead of dist --- .github/workflows/release.yml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1ab3d9e..8a425a7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -78,31 +78,33 @@ jobs: - name: Create artifact directory run: | mkdir ${{ env.RELEASE_DIR }} - mkdir dist + mkdir -p ${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }} + mkdir -p ${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }} + mkdir -p ${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }} - name: Create tarball (Linux) if: matrix.build == 'linux' run: | - mv ./target/${{ env.LINUX_TARGET }}/release/${{ env.RELEASE_BIN }} ./dist/${{ env.RELEASE_BIN }} - mv ${{ env.RELEASE_ADDS }} ./dist - 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz + mv ./target/${{ env.LINUX_TARGET }}/release/${{ env.RELEASE_BIN }} ${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}/${{ env.RELEASE_BIN }} + mv ${{ env.RELEASE_ADDS }} ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }} + 7z a -ttar -so -an ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }} | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz - name: Create tarball (Windows) if: matrix.build == 'windows' shell: bash run: | - cp ./target/release/${{ env.RELEASE_BIN }}.exe ./dist/${{ env.RELEASE_BIN }}.exe + cp ./target/release/${{ env.RELEASE_BIN }}.exe ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}/${{ env.RELEASE_BIN }}.exe cp ./target/release/${{ env.RELEASE_BIN }}.exe wasm-pack-init.exe - mv ${{ env.RELEASE_ADDS }} ./dist + mv ${{ env.RELEASE_ADDS }} ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }} mv wasm-pack-init.exe ${{ env.RELEASE_DIR }} - 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz + 7z a -ttar -so -an ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }} | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz - name: Create tarball (MacOS) if: matrix.build == 'macos' run: | - mv ./target/release/${{ env.RELEASE_BIN }} ./dist/${{ env.RELEASE_BIN }} - mv ${{ env.RELEASE_ADDS }} ./dist - 7z a -ttar -so -an ./dist | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz + mv ./target/release/${{ env.RELEASE_BIN }} ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}/${{ env.RELEASE_BIN }} + mv ${{ env.RELEASE_ADDS }} ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }} + 7z a -ttar -so -an ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }} | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz - name: Upload Zip uses: actions/upload-artifact@v1 From 1272e4c530b3a91450c2a06f9973887fa646bbcf Mon Sep 17 00:00:00 2001 From: Nick Cardin Date: Thu, 30 Sep 2021 14:25:09 +0000 Subject: [PATCH 54/66] Add linux/arm64 to release --- .github/workflows/release.yml | 98 ++++++++++++++++++----------------- 1 file changed, 51 insertions(+), 47 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8a425a7..ac5eb21 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,7 +11,8 @@ env: GITHUB_REF: '${{ github.ref }}' WINDOWS_TARGET: x86_64-pc-windows-msvc MACOS_TARGET: x86_64-apple-darwin - LINUX_TARGET: x86_64-unknown-linux-musl + LINUX_AMD64_TARGET: x86_64-unknown-linux-musl + LINUX_ARM64_TARGET: aarch64-unknown-linux-musl # Space separated paths to include in the archive. RELEASE_ADDS: README.md LICENSE-APACHE LICENSE-MIT @@ -22,15 +23,17 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - build: [linux, macos, windows] include: - - build: linux + - target: ${{ env.LINUX_AMD64_TARGET }} os: ubuntu-latest rust: stable - - build: macos + - target: ${{ env.LINUX_ARM64_TARGET }} + os: ubuntu-latest + rust: stable + - target: ${{ env.MACOS_TARGET }} os: macos-latest rust: stable - - build: windows + - target: ${{ env.WINDOWS_TARGET }} os: windows-latest rust: stable @@ -50,66 +53,52 @@ jobs: echo ::set-output name=version::"${GITHUB_REF:10}" - name: Install musl-tools (Linux) - if: matrix.build == 'linux' + if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update -y sudo apt-get install musl-tools -y - name: Install p7zip (MacOS) - if: matrix.build == 'macos' + if: matrix.os == 'macos-latest' run: brew install p7zip - - name: Build (Linux) - if: matrix.build == 'linux' - run: | - rustup target add ${{ env.LINUX_TARGET }} - cargo build --release --target ${{ env.LINUX_TARGET }} + - name: Add rustup target + run: rustup target add ${{ matrix.target }} - - name: Build (MacOS) - if: matrix.build == 'macos' - run: cargo build --release + - name: Build + run: cargo build --release --target ${{ matrix.target }} - - name: Build (Windows) - if: matrix.build == 'windows' - run: cargo build --release - env: - RUSTFLAGS: -Ctarget-feature=+crt-static + - name: Set RUSTFLAGS (Windows) + if: matrix.os == 'windows-latest' + run: echo "RUSTFLAGS=-Ctarget-feature=+crt-static" >> $GITHUB_ENV - name: Create artifact directory run: | mkdir ${{ env.RELEASE_DIR }} - mkdir -p ${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }} - mkdir -p ${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }} - mkdir -p ${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }} + mkdir -p ${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ matrix.target }} - - name: Create tarball (Linux) - if: matrix.build == 'linux' + - name: Move binaries (Linux/MacOS) + if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' run: | - mv ./target/${{ env.LINUX_TARGET }}/release/${{ env.RELEASE_BIN }} ${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}/${{ env.RELEASE_BIN }} - mv ${{ env.RELEASE_ADDS }} ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }} - 7z a -ttar -so -an ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }} | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz + mv ./target/${{ matrix.target }}/release/${{ env.RELEASE_BIN }} ${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ matrix.target }}/${{ env.RELEASE_BIN }} + mv ${{ env.RELEASE_ADDS }} ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ matrix.target }} - - name: Create tarball (Windows) - if: matrix.build == 'windows' + - name: Move binaries (Windows) + if: matrix.os == 'windows-latest' shell: bash run: | - cp ./target/release/${{ env.RELEASE_BIN }}.exe ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}/${{ env.RELEASE_BIN }}.exe + cp ./target/release/${{ env.RELEASE_BIN }}.exe ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ matrix.target }}/${{ env.RELEASE_BIN }}.exe cp ./target/release/${{ env.RELEASE_BIN }}.exe wasm-pack-init.exe - mv ${{ env.RELEASE_ADDS }} ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }} + mv ${{ env.RELEASE_ADDS }} ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ matrix.target }} mv wasm-pack-init.exe ${{ env.RELEASE_DIR }} - 7z a -ttar -so -an ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }} | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz - - name: Create tarball (MacOS) - if: matrix.build == 'macos' - run: | - mv ./target/release/${{ env.RELEASE_BIN }} ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}/${{ env.RELEASE_BIN }} - mv ${{ env.RELEASE_ADDS }} ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }} - 7z a -ttar -so -an ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }} | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz + - name: Create tarball + run: 7z a -ttar -so -an ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ matrix.target }} | 7z a -si ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ matrix.target }}.tar.gz - name: Upload Zip uses: actions/upload-artifact@v1 with: - name: ${{ matrix.build }} + name: ${{ matrix.target }} path: ./${{ env.RELEASE_DIR }} release: @@ -133,30 +122,45 @@ jobs: tag_name: ${{ steps.get_version.outputs.VERSION }} release_name: ${{ steps.get_version.outputs.VERSION }} - - name: Download Linux tarball + - name: Download Linux amd64 tarball + uses: actions/download-artifact@v1 + with: + name: ${{ env.LINUX_AMD64_TARGET }} + + - name: Download Linux arm64 tarball uses: actions/download-artifact@v1 with: - name: linux + name: ${{ env.LINUX_ARM64_TARGET }} - name: Download Windows tarball uses: actions/download-artifact@v1 with: - name: windows + name: ${{ env.WINDOWS_TARGET }} - name: Download MacOS tarball uses: actions/download-artifact@v1 with: - name: macos + name: ${{ env.MACOS_TARGET }} + + - name: Release Linux amd64 tarball + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./linux/wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_AMD64_TARGET }}.tar.gz + asset_content_type: application/gzip + asset_name: wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_AMD64_TARGET }}.tar.gz - - name: Release Linux tarball + - name: Release Linux arm64 tarball uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./linux/wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz + asset_path: ./linux/wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_ARM64_TARGET }}.tar.gz asset_content_type: application/gzip - asset_name: wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.tar.gz + asset_name: wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_ARM64_TARGET }}.tar.gz - name: Release Windows tarball uses: actions/upload-release-asset@v1 From 8d2e4baf6e8a8196be432f4ceac4e36e54dd4ee4 Mon Sep 17 00:00:00 2001 From: Nick Cardin Date: Thu, 30 Sep 2021 14:35:22 +0000 Subject: [PATCH 55/66] remove env from matrix --- .github/workflows/release.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ac5eb21..b468bb7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,16 +24,16 @@ jobs: strategy: matrix: include: - - target: ${{ env.LINUX_AMD64_TARGET }} + - target: x86_64-unknown-linux-musl os: ubuntu-latest rust: stable - - target: ${{ env.LINUX_ARM64_TARGET }} + - target: aarch64-unknown-linux-musl os: ubuntu-latest rust: stable - - target: ${{ env.MACOS_TARGET }} + - target: x86_64-apple-darwin os: macos-latest rust: stable - - target: ${{ env.WINDOWS_TARGET }} + - target: x86_64-pc-windows-msvc os: windows-latest rust: stable From 3737ed523e70b12a2b89cca8270383677d76940d Mon Sep 17 00:00:00 2001 From: Nick Cardin Date: Thu, 30 Sep 2021 14:53:24 +0000 Subject: [PATCH 56/66] add gcc for aarch64 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b468bb7..4856baf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -56,7 +56,7 @@ jobs: if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update -y - sudo apt-get install musl-tools -y + sudo apt-get install musl-tools gcc-10-aarch64-linux-gnu -y - name: Install p7zip (MacOS) if: matrix.os == 'macos-latest' From c139f6d8c6069e10bac143ff0b3235b929b2dad8 Mon Sep 17 00:00:00 2001 From: Nick Cardin Date: Thu, 30 Sep 2021 14:57:31 +0000 Subject: [PATCH 57/66] set TARGET_CC --- .github/workflows/release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4856baf..aeeb991 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -56,7 +56,8 @@ jobs: if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update -y - sudo apt-get install musl-tools gcc-10-aarch64-linux-gnu -y + sudo apt-get install clang -y + echo "TARGET_CC=clang" >> $GITHUB_ENV - name: Install p7zip (MacOS) if: matrix.os == 'macos-latest' From 28abdfb2926aea798cc4d63f0186a57135b3affc Mon Sep 17 00:00:00 2001 From: Nick Cardin Date: Thu, 30 Sep 2021 15:07:10 +0000 Subject: [PATCH 58/66] add libc6-dev-arm64-cross --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index aeeb991..3b396cb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -56,7 +56,7 @@ jobs: if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update -y - sudo apt-get install clang -y + sudo apt-get install clang libc6-dev-arm64-cross -y echo "TARGET_CC=clang" >> $GITHUB_ENV - name: Install p7zip (MacOS) From d8a4964300046ba2665402af80006245be5120f9 Mon Sep 17 00:00:00 2001 From: Nick Cardin Date: Thu, 30 Sep 2021 15:34:59 +0000 Subject: [PATCH 59/66] set arm linker --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3b396cb..e18caca 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -58,6 +58,7 @@ jobs: sudo apt-get update -y sudo apt-get install clang libc6-dev-arm64-cross -y echo "TARGET_CC=clang" >> $GITHUB_ENV + echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=/usr/aarch64-linux-gnu/bin/ld" >> $GITHUB_ENV - name: Install p7zip (MacOS) if: matrix.os == 'macos-latest' From ce69931d7c18ebc74138b5a7d1e1f17e61adee65 Mon Sep 17 00:00:00 2001 From: Nick Cardin Date: Thu, 30 Sep 2021 15:39:06 +0000 Subject: [PATCH 60/66] set cflags --- .github/workflows/release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e18caca..0740669 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,12 +52,13 @@ jobs: echo "using version tag ${GITHUB_REF:10}" echo ::set-output name=version::"${GITHUB_REF:10}" - - name: Install musl-tools (Linux) + - name: Install C compilation tooling (Linux) if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update -y sudo apt-get install clang libc6-dev-arm64-cross -y echo "TARGET_CC=clang" >> $GITHUB_ENV + echo "CFLAGS_aarch64_unknown_linux_musl=--sysroot=/usr/aarch64-linux-gnu" >> $GITHUB_ENV echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=/usr/aarch64-linux-gnu/bin/ld" >> $GITHUB_ENV - name: Install p7zip (MacOS) From a2cc5f577c26a4fdf7571f76979781a21254265c Mon Sep 17 00:00:00 2001 From: Nick Cardin Date: Thu, 30 Sep 2021 15:55:34 +0000 Subject: [PATCH 61/66] update gcc --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0740669..670c320 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -56,7 +56,7 @@ jobs: if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update -y - sudo apt-get install clang libc6-dev-arm64-cross -y + sudo apt-get install clang gcc-aarch64-linux-gnu -y echo "TARGET_CC=clang" >> $GITHUB_ENV echo "CFLAGS_aarch64_unknown_linux_musl=--sysroot=/usr/aarch64-linux-gnu" >> $GITHUB_ENV echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=/usr/aarch64-linux-gnu/bin/ld" >> $GITHUB_ENV From 89f73e338a765517624dd109e9aaaf1f798ff24b Mon Sep 17 00:00:00 2001 From: Nick Cardin Date: Thu, 30 Sep 2021 16:12:05 +0000 Subject: [PATCH 62/66] fix windows --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 670c320..e896e83 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -90,8 +90,8 @@ jobs: if: matrix.os == 'windows-latest' shell: bash run: | - cp ./target/release/${{ env.RELEASE_BIN }}.exe ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ matrix.target }}/${{ env.RELEASE_BIN }}.exe - cp ./target/release/${{ env.RELEASE_BIN }}.exe wasm-pack-init.exe + cp ./target/${{ matrix.target }}/release/${{ env.RELEASE_BIN }}.exe ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ matrix.target }}/${{ env.RELEASE_BIN }}.exe + cp ./target/${{ matrix.target }}/release/${{ env.RELEASE_BIN }}.exe wasm-pack-init.exe mv ${{ env.RELEASE_ADDS }} ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ matrix.target }} mv wasm-pack-init.exe ${{ env.RELEASE_DIR }} From d1d40f995435e6b8a8009990a8702189e308018e Mon Sep 17 00:00:00 2001 From: Nick Cardin Date: Thu, 30 Sep 2021 16:55:40 +0000 Subject: [PATCH 63/66] use download-artifact@v2 --- .github/workflows/release.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e896e83..ea3891b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -126,22 +126,22 @@ jobs: release_name: ${{ steps.get_version.outputs.VERSION }} - name: Download Linux amd64 tarball - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v2 with: name: ${{ env.LINUX_AMD64_TARGET }} - name: Download Linux arm64 tarball - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v2 with: name: ${{ env.LINUX_ARM64_TARGET }} - name: Download Windows tarball - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v2 with: name: ${{ env.WINDOWS_TARGET }} - name: Download MacOS tarball - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v2 with: name: ${{ env.MACOS_TARGET }} @@ -151,7 +151,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./linux/wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_AMD64_TARGET }}.tar.gz + asset_path: ./wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_AMD64_TARGET }}.tar.gz asset_content_type: application/gzip asset_name: wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_AMD64_TARGET }}.tar.gz @@ -161,7 +161,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./linux/wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_ARM64_TARGET }}.tar.gz + asset_path: ./wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_ARM64_TARGET }}.tar.gz asset_content_type: application/gzip asset_name: wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_ARM64_TARGET }}.tar.gz @@ -171,7 +171,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./windows/wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz + asset_path: ./wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz asset_content_type: application/gzip asset_name: wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.tar.gz @@ -181,7 +181,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./windows/wasm-pack-init.exe + asset_path: ./wasm-pack-init.exe asset_content_type: application/vnd.microsoft.portable-executable asset_name: wasm-pack-init.exe @@ -191,6 +191,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./macos/wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz + asset_path: ./wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz asset_content_type: application/gzip asset_name: wasm-pack-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.tar.gz From a8da03cf01971a5f691cfcad56a5a3c0832637bc Mon Sep 17 00:00:00 2001 From: Fichtelcoder Date: Sat, 23 Oct 2021 11:22:10 +0200 Subject: [PATCH 64/66] Fix #1059. This is the correct way to pass extra arguments, such as features to cargo. --- docs/src/commands/build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/commands/build.md b/docs/src/commands/build.md index 9f4bae4..616fd24 100644 --- a/docs/src/commands/build.md +++ b/docs/src/commands/build.md @@ -133,7 +133,7 @@ at the very end of your command, just as you would for `cargo build`. For example, to build the previous example using cargo's offline feature: ``` -wasm-pack build examples/js-hello-world --mode no-install --offline +wasm-pack build examples/js-hello-world --mode no-install -- --offline ```
From 713868b204f151acd1989c3f29ff9d3bc944c306 Mon Sep 17 00:00:00 2001 From: Dominic Elm Date: Fri, 3 Dec 2021 19:58:33 +0100 Subject: [PATCH 65/66] feat: add support for macos aarch64 --- src/install/mod.rs | 2 +- src/target.rs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/install/mod.rs b/src/install/mod.rs index 06bf72a..6474d1e 100644 --- a/src/install/mod.rs +++ b/src/install/mod.rs @@ -172,7 +172,7 @@ fn prebuilt_url(tool: &Tool, version: &str) -> Result { Tool::WasmOpt => "x86-linux", _ => bail!("Unrecognized target!"), } - } else if target::MACOS && target::x86_64 { + } else if target::MACOS && (target::x86_64 || target::aarch64) { "x86_64-apple-darwin" } else if target::WINDOWS && target::x86_64 { match tool { diff --git a/src/target.rs b/src/target.rs index cfaff6a..0a6d38f 100644 --- a/src/target.rs +++ b/src/target.rs @@ -13,3 +13,5 @@ pub const WINDOWS: bool = cfg!(target_os = "windows"); pub const x86_64: bool = cfg!(target_arch = "x86_64"); #[allow(non_upper_case_globals)] pub const x86: bool = cfg!(target_arch = "x86"); +#[allow(non_upper_case_globals)] +pub const aarch64: bool = cfg!(target_arch = "aarch64"); From 08825f20113f8be2fc2fcedddd51dedca9669f97 Mon Sep 17 00:00:00 2001 From: Dominic Elm Date: Tue, 14 Dec 2021 08:56:09 +0100 Subject: [PATCH 66/66] fix: add support for arm64 when using npm --- npm/binary.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/binary.js b/npm/binary.js index d66bf98..41b33d8 100644 --- a/npm/binary.js +++ b/npm/binary.js @@ -13,7 +13,7 @@ const getPlatform = () => { if (type === "Linux" && arch === "x64") { return "x86_64-unknown-linux-musl"; } - if (type === "Darwin" && arch === "x64") { + if (type === "Darwin" && (arch === "x64" || arch === "arm64")) { return "x86_64-apple-darwin"; }