gitmyhub

wp-calypso

TypeScript ★ 13k updated 9h ago

The JavaScript and API powered WordPress.com

The open-source JavaScript web interface for WordPress.com that lets you manage posts, settings, and themes across all your WordPress sites from one dynamic single-page app.

TypeScriptJavaScriptNode.jsExpressReactReduxsetup: moderatecomplexity 4/5

Calypso is the frontend interface for WordPress.com, the hosted version of WordPress. Rather than the traditional server-rendered pages you might expect from an older web application, Calypso is a single-page web app, meaning it loads once in the browser and then updates dynamically without full page reloads. It is the interface you use when you manage posts, settings, and themes on WordPress.com.

The technology stack is built on JavaScript throughout. The server layer is lightweight, using Node.js and Express to handle requests and deliver the app. The visible interface is built with React.js, a popular library for building interactive user interfaces, and Redux, which manages the state of the application as you move between sections. It communicates with the WordPress.com REST API to fetch and save content across all of your WordPress sites in one place.

Anyone who wants to run Calypso locally needs Git, Node.js, and Yarn (a JavaScript package manager) installed. The setup requires adding a hostname entry to your local machine's hosts file and then running a couple of commands to install dependencies and start the development server. More detailed instructions are provided in a separate installation document in the repository.

The project is open source and Automattic, the company behind WordPress.com, actively accepts contributions. The README points to a contributing guide with technical details for pull requests, and the project follows the Contributor Covenant code of conduct. Security vulnerabilities can be reported through Automattic's disclosure program or a bug bounty page on HackerOne.

Calypso is licensed under the GNU General Public License version 2 or later and supports the latest two versions of all major browsers.

Where it fits