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
- The Stockfish team
- exoticorn
- ddugovic
- niklasf stockfish.js & stockfish.wasm
- hi-ogawa (faster WASM NNUE evaluation)
License
GPLv3 (see license.txt)