Showing
9 changed files
with
0 additions
and
210 deletions
www/.bin/create-wasm-app.js
deleted
100755 → 0
1 | -#!/usr/bin/env node | |
2 | - | |
3 | -const { spawn } = require("child_process"); | |
4 | -const fs = require("fs"); | |
5 | - | |
6 | -let folderName = '.'; | |
7 | - | |
8 | -if (process.argv.length >= 3) { | |
9 | - folderName = process.argv[2]; | |
10 | - if (!fs.existsSync(folderName)) { | |
11 | - fs.mkdirSync(folderName); | |
12 | - } | |
13 | -} | |
14 | - | |
15 | -const clone = spawn("git", ["clone", "https://github.com/rustwasm/create-wasm-app.git", folderName]); | |
16 | - | |
17 | -clone.on("close", code => { | |
18 | - if (code !== 0) { | |
19 | - console.error("cloning the template failed!") | |
20 | - process.exit(code); | |
21 | - } else { | |
22 | - console.log("🦀 Rust + 🕸 Wasm = ❤"); | |
23 | - } | |
24 | -}); |
www/.gitignore
deleted
100644 → 0
www/README.md
deleted
100644 → 0
1 | -<div align="center"> | |
2 | - | |
3 | - <h1><code>create-wasm-app</code></h1> | |
4 | - | |
5 | - <strong>An <code>npm init</code> template for kick starting a project that uses NPM packages containing Rust-generated WebAssembly and bundles them with Webpack.</strong> | |
6 | - | |
7 | - <p> | |
8 | - <a href="https://travis-ci.org/rustwasm/create-wasm-app"><img src="https://img.shields.io/travis/rustwasm/create-wasm-app.svg?style=flat-square" alt="Build Status" /></a> | |
9 | - </p> | |
10 | - | |
11 | - <h3> | |
12 | - <a href="#usage">Usage</a> | |
13 | - <span> | </span> | |
14 | - <a href="https://discordapp.com/channels/442252698964721669/443151097398296587">Chat</a> | |
15 | - </h3> | |
16 | - | |
17 | - <sub>Built with 🦀🕸 by <a href="https://rustwasm.github.io/">The Rust and WebAssembly Working Group</a></sub> | |
18 | -</div> | |
19 | - | |
20 | -## About | |
21 | - | |
22 | -This template is designed for depending on NPM packages that contain | |
23 | -Rust-generated WebAssembly and using them to create a Website. | |
24 | - | |
25 | -* Want to create an NPM package with Rust and WebAssembly? [Check out | |
26 | - `wasm-pack-template`.](https://github.com/rustwasm/wasm-pack-template) | |
27 | -* Want to make a monorepo-style Website without publishing to NPM? Check out | |
28 | - [`rust-webpack-template`](https://github.com/rustwasm/rust-webpack-template) | |
29 | - and/or | |
30 | - [`rust-parcel-template`](https://github.com/rustwasm/rust-parcel-template). | |
31 | - | |
32 | -## 🚴 Usage | |
33 | - | |
34 | -``` | |
35 | -npm init wasm-app | |
36 | -``` | |
37 | - | |
38 | -## 🔋 Batteries Included | |
39 | - | |
40 | -- `.gitignore`: ignores `node_modules` | |
41 | -- `LICENSE-APACHE` and `LICENSE-MIT`: most Rust projects are licensed this way, so these are included for you | |
42 | -- `README.md`: the file you are reading now! | |
43 | -- `index.html`: a bare bones html document that includes the webpack bundle | |
44 | -- `index.js`: example js file with a comment showing how to import and use a wasm pkg | |
45 | -- `package.json` and `package-lock.json`: | |
46 | - - pulls in devDependencies for using webpack: | |
47 | - - [`webpack`](https://www.npmjs.com/package/webpack) | |
48 | - - [`webpack-cli`](https://www.npmjs.com/package/webpack-cli) | |
49 | - - [`webpack-dev-server`](https://www.npmjs.com/package/webpack-dev-server) | |
50 | - - defines a `start` script to run `webpack-dev-server` | |
51 | -- `webpack.config.js`: configuration file for bundling your js with webpack | |
52 | - | |
53 | -## License | |
54 | - | |
55 | -Licensed under either of | |
56 | - | |
57 | -* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) | |
58 | -* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) | |
59 | - | |
60 | -at your option. | |
61 | - | |
62 | -### Contribution | |
63 | - | |
64 | -Unless you explicitly state otherwise, any contribution intentionally | |
65 | -submitted for inclusion in the work by you, as defined in the Apache-2.0 | |
66 | -license, shall be dual licensed as above, without any additional terms or | |
67 | -conditions. |
www/bootstrap.js
deleted
100644 → 0
www/index.html
deleted
100644 → 0
1 | -<!DOCTYPE html> | |
2 | -<html> | |
3 | - <head> | |
4 | - <meta charset="utf-8"> | |
5 | - <title>wasm-game-of-life!</title> | |
6 | - <style> | |
7 | - body { | |
8 | - position: absolute; | |
9 | - top: 0; | |
10 | - left: 0; | |
11 | - width: 100%; | |
12 | - height: 100%; | |
13 | - display: flex; | |
14 | - flex-direction: column; | |
15 | - align-items: center; | |
16 | - justify-content: center; | |
17 | - } | |
18 | - </style> | |
19 | - </head> | |
20 | - <body> | |
21 | - <canvas id="view3d"></canvas> | |
22 | - <script src="./bootstrap.js"></script> | |
23 | - </body> | |
24 | -</html> |
www/index.js
deleted
100644 → 0
1 | -import { View3d } from "wasm-game-of-life"; | |
2 | -import { memory } from "wasm-game-of-life/wasm_game_of_life_bg"; | |
3 | - | |
4 | -// 3D canvas stuff | |
5 | -const view3d = View3d.new(300, 300); | |
6 | - | |
7 | -const view3d_canvas = document.getElementById("view3d"); | |
8 | -view3d_canvas.width = view3d.width(); | |
9 | -view3d_canvas.height = view3d.height(); | |
10 | -const view3d_ctx = view3d_canvas.getContext('2d'); | |
11 | - | |
12 | -const view3d_renderLoop = () => { | |
13 | - view3d.update(); | |
14 | - drawView3d(); | |
15 | - | |
16 | - requestAnimationFrame(view3d_renderLoop); | |
17 | -} | |
18 | - | |
19 | -const drawView3d = () => { | |
20 | - const view3d_imagePtr = view3d.image(); | |
21 | - const view3d_image = new ImageData( | |
22 | - new Uint8ClampedArray( memory.buffer | |
23 | - , view3d.image() | |
24 | - , view3d.width() * view3d.height() * 4 ) | |
25 | - , view3d.width() | |
26 | - , view3d.height() ); | |
27 | - | |
28 | - view3d_ctx.putImageData(view3d_image, 0, 0); | |
29 | -} | |
30 | - | |
31 | -// start everything ... | |
32 | -view3d.update(); | |
33 | -drawView3d(); | |
34 | -requestAnimationFrame(view3d_renderLoop); |
www/package-lock.json
deleted
100644 → 0
This diff could not be displayed because it is too large.
www/package.json
deleted
100644 → 0
1 | -{ | |
2 | - "name": "create-wasm-app", | |
3 | - "version": "0.1.0", | |
4 | - "description": "create an app to consume rust-generated wasm packages", | |
5 | - "main": "index.js", | |
6 | - "bin": { | |
7 | - "create-wasm-app": ".bin/create-wasm-app.js" | |
8 | - }, | |
9 | - "scripts": { | |
10 | - "build": "webpack --config webpack.config.js", | |
11 | - "start": "webpack-dev-server" | |
12 | - }, | |
13 | - "repository": { | |
14 | - "type": "git", | |
15 | - "url": "git+https://github.com/rustwasm/create-wasm-app.git" | |
16 | - }, | |
17 | - "keywords": [ | |
18 | - "webassembly", | |
19 | - "wasm", | |
20 | - "rust", | |
21 | - "webpack" | |
22 | - ], | |
23 | - "author": "Ashley Williams <ashley666ashley@gmail.com>", | |
24 | - "license": "(MIT OR Apache-2.0)", | |
25 | - "bugs": { | |
26 | - "url": "https://github.com/rustwasm/create-wasm-app/issues" | |
27 | - }, | |
28 | - "homepage": "https://github.com/rustwasm/create-wasm-app#readme", | |
29 | - "devDependencies": { | |
30 | - "wasm-game-of-life": "file:../pkg", | |
31 | - "hello-wasm-pack": "^0.1.0", | |
32 | - "webpack": "^4.29.3", | |
33 | - "webpack-cli": "^3.1.0", | |
34 | - "webpack-dev-server": "^3.1.5", | |
35 | - "copy-webpack-plugin": "^5.0.0" | |
36 | - }, | |
37 | - "dependencies": { | |
38 | - "wasm-game-of-life": "file:../pkg" | |
39 | - } | |
40 | -} |
www/webpack.config.js
deleted
100644 → 0
1 | -const CopyWebpackPlugin = require("copy-webpack-plugin"); | |
2 | -const path = require('path'); | |
3 | - | |
4 | -module.exports = { | |
5 | - entry: "./bootstrap.js", | |
6 | - output: { | |
7 | - path: path.resolve(__dirname, "dist"), | |
8 | - filename: "bootstrap.js", | |
9 | - }, | |
10 | - mode: "development", | |
11 | - plugins: [ | |
12 | - new CopyWebpackPlugin(['index.html']) | |
13 | - ], | |
14 | -}; |
Please
register
or
login
to post a comment