stockfish

The Stockfish chess engine in Web Assembly (WASM)

Usage no npm install needed!

<script type="module">
  import stockfish from 'https://cdn.skypack.dev/stockfish';
</script>

README

Stockfish.js

Stockfish.js is a WASM implementation of Stockfish chess engine.

Stockfish.js is currently updated to Stockfish 14.1.

NOTE: Stockfish.js 14.1 reqiures some of the latest features and does not work in every browser.

This is a multi-threaded engine, and will only run in newer browsers and node.js versions. For an older JS and WASM version, see the Stockfish.js 11 branch.

API

You can run Stockfish.js directly from the command line with Node.js 14.4+. You may need to add some command line flags to get it to run:

node --experimental-wasm-threads --experimental-wasm-simd stockfish.js

Stockfish.js can be found in the npm repository and installed like this: npm install stockfish.

If you want to use it from the command line, you may want to simply install it globally: npm install -g stockfish. Then you can simply run stockfishjs.

In Node.js, you can either run it directly from the command line (i.e., node src/stockfish.js) or require() it as a module (i.e., var stockfish = require("stockfish");).

Compiling

You need to have the emscripten compiler installed and in your path (tested with 2.0.26). Then you can compile Stockfish.js with the build script: ./build.js. See ./build.js --help for details.

Example

There are examples in the example folder. You will need to run the example/server.js server to veiw the client-side examples.

There are also example using Node.js.

Thanks

License

GPLv3 (see license.txt)