The State of JS website
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cli
data-pipeline
home
surveys
typeform
.env.template
.eslintrc.yml
.gitignore
.nvmrc
.prettierignore
.prettierrc
.travis.yml
Makefile
README.md
package.json Re-enable CSS Oct 5, 2018
yarn.lock

README.md

State of JS

Travis CI

Structure

The project is split by surveys, each one has its own folder containing the dedicated website (website folder) and data processing logic (data_processing folder).

You also have a dedicated folder for the homepage home.

Development

If you're in a hurry, you can run make, it will list all the available commands used to work on the project.

Requirements

  • Node.js >= 8.3.0
  • Yarn
  • docker and docker-compose to be able to run the data processing tools
  • GNU Make

Installation

Please make sure to use yarn if you go for manual install as we only provide lock files for this tool.

You have several options to install project dependencies, you can either install them manually using standard yarn install inside the various directories you're planing to work on or use custom make targets.

Another option is to install all dependencies using the following command:

make install

And if you only want to work on a specific survey, you can run:

make survey_install_2018

Coding style

This project use prettier, which you can run using this command:

make fmt

There's another command which only check if the code was formatted as expected:

make fmt_check

The project also uses eslint to enforce good practice and consistency, the configuration is common to the whole project, to run it:

make lint

make fmt_check and make lint both run on CI (travis).

Captures

In order to improve sharing on social networks, we generate screenshots of the charts, to generate those screenshots for a specific survey, you can run the following command:

make survey_capture_2018

This will take screenshots according to the config defined in surveys/2018/config/captures.yml.

Please make sure that the target survey's development server is running prior to running this command, using make survey_dev_2018 for example.

Deployment

Build

As for install, you have several ways to build the websites and homepage, you can build all using:

make build

or just build the home:

make home_build

or a specific survey's website:

make survey_build_2018

Deploy

@todo

Authors

StateOfJS is Made by:

  • Raphaël Benitte Creator of the Nivo JavaScript data visualization library as well as Mozaik, a tool for building beautiful dashboards.
  • Sacha Greif Author of Discover Meteor and creator of VulcanJS, a React+GraphQL open-source framework.
  • Michael Rambeau Creator of Best of JavaScript, a platform that provides insights and resources about JavaScript libraries.