/chessboardjsx

:black_square_button: Chessboard built for React

Primary LanguageJavaScriptMIT LicenseMIT

lucena position Carlsen 2016 Championship sicilian defense

A chessboard for React inspired by chessboard.js

Build Status Code Coverage PRs Welcome version MIT License Commitizen friendly semantic-release

Installation

This module is distributed via npm which is bundled with node and should be installed as one of your project's dependencies:

npm install --save chessboardjsx

The package also depends on React. Make sure you have that installed as well.

Usage

Contributing

Please take a look at CONTRIBUTING.md to find out how to contribute.

What is Chessboard.jsx?

Chessboard.jsx is a React component with a flexible "just a board" API modeled from chessboard.js. It's compatible with touch as well as standard HTML5 drag and drop.

What can Chessboard.jsx not do?

The scope of Chessboard.jsx is limited to "just a board." This is intentional and makes Chessboard.jsx flexible for handling a multitude of chess-related problems.

Specifically, Chessboard.jsx does not understand anything about how the game of chess is played: how a knight moves, who's turn is it, is White in check?, etc.

Fortunately, the powerful chess.js library deals with exactly this sort of problem domain and plays nicely with Chessboard.jsx's flexible API.

Here is a list of things that Chessboard.jsx is not:

  • A chess engine
  • A legal move validator
  • A PGN parser

Chessboard.jsx is designed to work well with any of those software components, but the idea behind the library is that the logic that controls the board should be independent of those other domains.

Contributors

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!


Will

💻 📖 💡 ⚠️

Andrew Bashelor

📖

yougotgotyo

🤔

Roger Knapp

🤔

Tiago Serafim

💻 📖

Kef Schecter

🐛

Nils-Helge Garli Hegvik

💻

Levi Durfee

💻 📖

Chris

💻

LICENSE

MIT