-
Notifications
You must be signed in to change notification settings - Fork 412
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Deploying to gh-pages from @ abc6078 🚀
- Loading branch information
0 parents
commit 7c709a7
Showing
130 changed files
with
19,711 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
use std::fs; | ||
|
||
fn main() { | ||
fs::create_dir_all("docs/installer").unwrap(); | ||
fs::copy( | ||
"docs/_installer/wasm-pack.js", | ||
"docs/installer/wasm-pack.js", | ||
).unwrap(); | ||
let index = fs::read_to_string("docs/_installer/index.html").unwrap(); | ||
fs::write( | ||
"docs/installer/index.html", | ||
fixup(&index), | ||
).unwrap(); | ||
|
||
let init = fs::read_to_string("docs/_installer/init.sh").unwrap(); | ||
fs::write( | ||
"docs/installer/init.sh", | ||
fixup(&init), | ||
).unwrap(); | ||
} | ||
|
||
fn fixup(input: &str) -> String { | ||
let manifest = fs::read_to_string("Cargo.toml").unwrap(); | ||
let version = manifest.lines() | ||
.find(|line| line.starts_with("version =")) | ||
.unwrap(); | ||
let version = &version[version.find('"').unwrap() + 1..version.rfind('"').unwrap()]; | ||
|
||
input.replace("$VERSION", &format!("v{}", version)) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
<!DOCTYPE html> | ||
<head> | ||
<meta charset="utf-8"> | ||
<title>wasm-pack</title> | ||
<link href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css" rel="stylesheet"> | ||
<link rel="stylesheet" href="../public/custom.css"/> | ||
<style> | ||
.winlink { | ||
display: block; | ||
} | ||
</style> | ||
<link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png"> | ||
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png"> | ||
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png"> | ||
<link rel="manifest" href="../site.webmanifest"> | ||
<link rel="mask-icon" href="../safari-pinned-tab.svg" color="#5bbad5"> | ||
<meta name="msapplication-TileColor" content="#00aba9"> | ||
<meta name="theme-color" content="#ffffff"> | ||
</head> | ||
<body> | ||
<nav class="navbar"> | ||
<div class="container"> | ||
<ul class="navbar-list"> | ||
<li class="navbar-logo"> | ||
<a href="/wasm-pack"> | ||
<img src="../public/img/rustwasm.png"> | ||
</a> | ||
</li> | ||
<li class="navbar-item"> | ||
<a href="https://github.com/rustwasm/wasm-pack/issues/new/choose">File an Issue</a> | ||
</li> | ||
<li class="navbar-item"> | ||
<a href="/wasm-pack/book">Documentation</a> | ||
</li> | ||
<li class="navbar-item"> | ||
<a href="/wasm-pack/installer">Install</a> | ||
</li> | ||
</ul> | ||
</div> | ||
</nav> | ||
<section id="installer"> | ||
<img src="../public/img/wasm-ferris.png"> | ||
<h1>Install <code>wasm-pack</code></h1> | ||
<div class="container"> | ||
<div id="platform-instructions-unix" style="display: none;"> | ||
<p> | ||
You appear to be running a *nix system (Unix, Linux, MacOS). | ||
Install by running: | ||
</p> | ||
<pre class="primary">curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh</pre> | ||
<p> | ||
If you're not on *nix, or you don't like installing from <b>curl</b>, | ||
follow the alternate instructions below. | ||
</p> | ||
</div> | ||
|
||
<div id="platform-instructions-win64" style="display: none;"> | ||
<p> | ||
You appear to be running Windows 64-bit. Download and run | ||
<a class="winlink" href="https://github.com/rustwasm/wasm-pack/releases/download/$VERSION/wasm-pack-init.exe">wasm-pack-init.exe</a> | ||
then follow the onscreen instructions. | ||
</p> | ||
<hr/> | ||
<p> | ||
If you're a Windows Subsystem for Linux user, run the following in your | ||
terminal, then follow the onscreen instructions to install wasm-pack. | ||
</p> | ||
<pre class="primary">curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh</pre> | ||
<p>If you're not on Windows 64-bit, follow the alternate instructions below.</p> | ||
</div> | ||
|
||
<div id="platform-instructions-unknown" style="display: none;"> | ||
<p>I don't recognize your platform.</p> | ||
<p> | ||
We would appreciate it if you | ||
<a href="https://github.com/rustwasm/wasm-pack/issues/new">reported an issue</a>, | ||
along with the following values: | ||
</p> | ||
<div> | ||
<div>navigator.platform:</div> | ||
<div id="nav-plat"></div> | ||
<div>navigator.appVersion:</div> | ||
<div id="nav-app"></div> | ||
</div> | ||
</div> | ||
|
||
<hr /> | ||
|
||
<div id="generic-instructions"> | ||
<p> | ||
To install from source on any platform: | ||
</p> | ||
<p><code>cargo install wasm-pack</code></p> | ||
<p> | ||
On supported platforms, you can also use <b>npm</b> or <b>yarn</b> to download a precompiled binary: | ||
</p> | ||
<p><code>npm install -g wasm-pack</code> or <code>yarn global add wasm-pack</code></p> | ||
</div> | ||
</div> | ||
</section> | ||
<script type="text/javascript" src="wasm-pack.js"></script> | ||
</body> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,211 @@ | ||
#!/bin/bash | ||
# Copyright 2016 The Rust Project Developers. See the COPYRIGHT | ||
# file at the top-level directory of this distribution and at | ||
# http://rust-lang.org/COPYRIGHT. | ||
# | ||
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | ||
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | ||
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | ||
# option. This file may not be copied, modified, or distributed | ||
# except according to those terms. | ||
|
||
# This is just a little script that can be downloaded from the internet to | ||
# install wasm-pack. It just does platform detection, downloads the installer | ||
# and runs it. | ||
|
||
set -u | ||
|
||
UPDATE_ROOT="https://github.com/rustwasm/wasm-pack/releases/download/$VERSION" | ||
|
||
main() { | ||
downloader --check | ||
need_cmd uname | ||
need_cmd mktemp | ||
need_cmd chmod | ||
need_cmd mkdir | ||
need_cmd rm | ||
need_cmd rmdir | ||
need_cmd tar | ||
need_cmd which | ||
need_cmd dirname | ||
|
||
get_architecture || return 1 | ||
local _arch="$RETVAL" | ||
assert_nz "$_arch" "arch" | ||
|
||
local _ext="" | ||
case "$_arch" in | ||
*windows*) | ||
_ext=".exe" | ||
;; | ||
esac | ||
|
||
which rustup > /dev/null 2>&1 | ||
need_ok "failed to find Rust installation, is rustup installed?" | ||
local _rustup=$(which rustup) | ||
local _tardir="wasm-pack-$VERSION-${_arch}" | ||
local _url="$UPDATE_ROOT/${_tardir}.tar.gz" | ||
local _dir="$(mktemp -d 2>/dev/null || ensure mktemp -d -t wasm-pack)" | ||
local _file="$_dir/input.tar.gz" | ||
local _wasmpack="$_dir/wasm-pack$_ext" | ||
local _wasmpackinit="$_dir/wasm-pack-init$_ext" | ||
|
||
printf '%s\n' 'info: downloading wasm-pack' 1>&2 | ||
|
||
ensure mkdir -p "$_dir" | ||
downloader "$_url" "$_file" | ||
if [ $? != 0 ]; then | ||
say "failed to download $_url" | ||
say "this may be a standard network error, but it may also indicate" | ||
say "that wasm-pack's release process is not working. When in doubt" | ||
say "please feel free to open an issue!" | ||
exit 1 | ||
fi | ||
ensure tar xf "$_file" --strip-components 1 -C "$_dir" | ||
mv "$_wasmpack" "$_wasmpackinit" | ||
|
||
# The installer may want to ask for confirmation on stdin for various | ||
# operations. We were piped through `sh` though so we probably don't have | ||
# access to a tty naturally. If it looks like we're attached to a terminal | ||
# (`-t 1`) then pass the tty down to the installer explicitly. | ||
if [ -t 1 ]; then | ||
"$_wasmpackinit" "$@" < /dev/tty | ||
else | ||
"$_wasmpackinit" "$@" | ||
fi | ||
|
||
local _retval=$? | ||
|
||
ignore rm -rf "$_dir" | ||
|
||
return "$_retval" | ||
} | ||
|
||
get_architecture() { | ||
local _ostype="$(uname -s)" | ||
local _cputype="$(uname -m)" | ||
|
||
# This is when installing inside docker, or can be useful to side-step | ||
# the script's built-in platform detection heuristic (if it drifts again in the future) | ||
set +u | ||
if [ -n "$TARGETOS" ]; then | ||
_ostype="$TARGETOS" # probably always linux | ||
fi | ||
|
||
if [ -n "$TARGETARCH" ]; then | ||
_cputype="$TARGETARCH" | ||
fi | ||
set -u | ||
|
||
|
||
if [ "$_ostype" = Darwin ] && [ "$_cputype" = i386 ]; then | ||
# Darwin `uname -s` lies | ||
if sysctl hw.optional.x86_64 | grep -q ': 1'; then | ||
local _cputype=x86_64 | ||
fi | ||
fi | ||
|
||
case "$_ostype" in | ||
Linux | linux) | ||
local _ostype=unknown-linux-musl | ||
;; | ||
|
||
Darwin) | ||
local _ostype=apple-darwin | ||
;; | ||
|
||
MINGW* | MSYS* | CYGWIN*) | ||
local _ostype=pc-windows-msvc | ||
;; | ||
|
||
*) | ||
err "no precompiled binaries available for OS: $_ostype" | ||
;; | ||
esac | ||
|
||
case "$_cputype" in | ||
x86_64 | x86-64 | x64 | amd64) | ||
local _cputype=x86_64 | ||
;; | ||
arm64 | aarch64) | ||
local _cputype=aarch64 | ||
;; | ||
*) | ||
err "no precompiled binaries available for CPU architecture: $_cputype" | ||
|
||
esac | ||
|
||
# See https://github.com/rustwasm/wasm-pack/pull/1088 | ||
if [ "$_cputype" = "aarch64" ] && [ "$_ostype" = "apple-darwin" ]; then | ||
_cputype="x86_64" | ||
fi | ||
|
||
local _arch="$_cputype-$_ostype" | ||
|
||
RETVAL="$_arch" | ||
} | ||
|
||
say() { | ||
echo "wasm-pack-init: $1" | ||
} | ||
|
||
err() { | ||
say "$1" >&2 | ||
exit 1 | ||
} | ||
|
||
need_cmd() { | ||
if ! check_cmd "$1" | ||
then err "need '$1' (command not found)" | ||
fi | ||
} | ||
|
||
check_cmd() { | ||
command -v "$1" > /dev/null 2>&1 | ||
return $? | ||
} | ||
|
||
need_ok() { | ||
if [ $? != 0 ]; then err "$1"; fi | ||
} | ||
|
||
assert_nz() { | ||
if [ -z "$1" ]; then err "assert_nz $2"; fi | ||
} | ||
|
||
# Run a command that should never fail. If the command fails execution | ||
# will immediately terminate with an error showing the failing | ||
# command. | ||
ensure() { | ||
"$@" | ||
need_ok "command failed: $*" | ||
} | ||
|
||
# This is just for indicating that commands' results are being | ||
# intentionally ignored. Usually, because it's being executed | ||
# as part of error handling. | ||
ignore() { | ||
"$@" | ||
} | ||
|
||
# This wraps curl or wget. Try curl first, if not installed, | ||
# use wget instead. | ||
downloader() { | ||
if check_cmd curl | ||
then _dld=curl | ||
elif check_cmd wget | ||
then _dld=wget | ||
else _dld='curl or wget' # to be used in error message of need_cmd | ||
fi | ||
|
||
if [ "$1" = --check ] | ||
then need_cmd "$_dld" | ||
elif [ "$_dld" = curl ] | ||
then curl -sSfL "$1" -o "$2" | ||
elif [ "$_dld" = wget ] | ||
then wget "$1" -O "$2" | ||
else err "Unknown downloader" # should not reach here | ||
fi | ||
} | ||
|
||
main "$@" || exit 1 |
Oops, something went wrong.