State of JS
The project is split by surveys, each one has its own folder containing
the dedicated website (
website folder) and data processing logic
You also have a dedicated folder for the homepage
homeis used for stateofjs.com
surveys/2016/websiteis used for 2016.stateofjs.com
surveys/2017/websiteis used for 2017.stateofjs.com
If you're in a hurry, you can run
make, it will list all the available commands
used to work on the project.
- Node.js >= 8.3.0
- docker and docker-compose to be able to run the data processing tools
- GNU Make
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:
And if you only want to work on a specific survey, you can run:
This project use prettier, which you can run using this command:
There's another command which only check if the code was formatted as expected:
The project also uses eslint to enforce good practice and consistency, the configuration is common to the whole project, to run it:
make lintboth run on CI (travis).
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:
This will take screenshots according to the config
Please make sure that the target survey's development server is running prior to running this command, using
make survey_dev_2018for example.
As for install, you have several ways to build the websites and homepage, you can build all using:
or just build the home:
or a specific survey's website:
StateOfJS is Made by:
- Sacha Greif Author of Discover Meteor and creator of VulcanJS, a React+GraphQL open-source framework.