We use the ESLint AirBnB style guide for JavaScript development
(see https://www.npmjs.com/package/eslint-config-airbnb for details).
We use the default ESLint and add a some customization (via .eslintrc) to the project:
{
"parser": "babel-eslint",
"extends": [
"airbnb"
],
"rules": {
"react/jsx-filename-extension": 0,
"no-console": 0,
"no-underscore-dangle": 0,
"react/prop-types": 0
},
"globals": {
"fetch": true
},
"env": {
"jest": true,
"browser": true,
"es6": true
}
}
We would prefer JavaScript ES6. Typescript in general is good, but for us we would need to consider another component in the build process. We would appreciate it if we could use JavaScript ES6 instead.
We will supply a player that can be used locally – there is a configuration option to point the player at a local folder, rather than our deployment system.
The player is an electron based project which will allow you to run the interactive within a sandbox. We use the player as well for deployments to our production environment.
The Jenkins server is currently not accessible externally, but we are in the process of shifting projects to Travis CI. It is likely that this WILL be possible – more discussion is required.
If you are using React JS then there is a starter kit that can be used. The starter kit is on our GITHUB account and can be shared once we set you up. We use Electron (https://electronjs.org/) as the core framework for the player which runs on MS Windows 10. Te Papa uses the player for running the interactives.
Our experience with the player is that testing the application on the Electron player is important as the electron player behaves different compared to view the project via the web-browser.
We encourage automated testing and with Travis-CI. You would have the ability to verify that changes are not breaking your existing test suite. We are happy to set up Travis-CI build steps to support you in the development process and to provide the GitHub repository.
The build system (Travis) is currently building the application on Node.JS Version 8.2.1 using Yarn Version 0.27.5 ( https://yarnpkg.com/en/ ).
Current available versions are Node.JS v8.11 and Yarn v1.5.1.