🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

node-stockfish

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-stockfish

This is a Node.js wrapper around the [Stockfish](https://stockfishchess.org/) chess engine. It can be used to analyse chess positions and get the best lines of play.

0.1.2
latest
npm
Version published
Weekly downloads
1
-88.89%
Maintainers
1
Weekly downloads
 
Created
Source

Node Stockfish

This is a Node.js wrapper around the Stockfish chess engine. It can be used to analyse chess positions and get the best lines of play.

Installation

A quick npm i node-stockfish should do the trick. This will install the necessary node modules, compile the TypeScript code, clone the latest Stockfish source code and compile it. Note that the installation will take a while because of the Stockfish compilation. On my machine, it takes just under a minute to install. The final size of the node_modules/node-stockfish directory is just over 100MB on my setup.

Usage

import { StockfishInstance } from 'node-stockfish'

// Create a Stockfish instance.

const engine = StockfishInstance.getInstance()

// Set the starting position by providing a string of UCI moves.

engine.setBoardstateByMoves('e2e4 e7e5 b1c3')

// We can also set the starting position by providing a FEN string.

engine.setBoardstateByMoves('rnbqkbnr/pppp1ppp/8/4p3/4P3/2N5/PPPP1PPP/R1BQKBNR b KQkq - 0 1')

// Start anaylsing the position.

engine.startAnalysing({
	// Number of lines to include in the analysis.
	lines: 5
})

// Listen for analysis updates.

engine.onAnalysisData(analysisData =>
{
	console.log(`Analysis for depth ${ analysisData.depth }:`)

	for (const line of analysisData.lines)
	{
		console.log(`\t${ line.score }: ${ line.moves.join(' ') }`)
	}

	console.log('')

	if (analysisData.depth >= 15)
	{
		// Stop the analysis and terminate the Stockfish instance.

		engine.terminate()
	}
})

FAQs

Package last updated on 17 May 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts