React-based front-end for plone.restapi
JavaScript Jupyter Notebook CSS RobotFramework Dockerfile Makefile
Clone or download
Permalink
Failed to load latest commit information.
api Load plone.restapi tiles profile for testing layer. Jul 22, 2018
docs Added some examples Sep 24, 2017
locales Add all missing German translations. Jul 27, 2018
scripts Added change password Apr 29, 2017
src Don't reset total and batching on pending search. Aug 6, 2018
tests Wait Jul 22, 2018
theme Slight CSS improvement Jul 25, 2018
webpack Merge branch 'master' into newiconssystem Jul 19, 2018
.babelrc Add first draft of the config module implementation with support for … Jul 21, 2018
.eslintignore feat: Initial commit May 15, 2016
.eslintrc Add first draft of the config module implementation with support for … Jul 21, 2018
.flowconfig Fixed flow build. Sep 23, 2017
.gitignore Add gitignore for vscode Jul 3, 2018
.nvmrc Update Node version Jul 14, 2018
.travis.yml Merge branch 'travis-chrome' into robot-login Jul 22, 2018
.yarnrc Upgraded dependencies. Apr 13, 2017
CHANGELOG.md Don't reset total and batching on pending search. Aug 6, 2018
LICENSE.md Switch to MIT license. Jan 4, 2018
Makefile Add root Makefile for runnin acceptance tests with 'make test-accepta… Mar 14, 2018
README.md Fix merging. Jul 21, 2018
jest-preprocessor.js Added jest testrunner. Mar 29, 2017
jest-svgsystem-transform.js Mock jest tests with a special transform for the svg from the Pastana… Jul 14, 2018
jsconfig.json Upgrade to node 8. Feb 13, 2018
jsdoc.json feat: Initial commit May 15, 2016
package.json Prepare for release 0.7.0 Jul 31, 2018
server.babel.js feat: Initial commit May 15, 2016
styleguide.config.js Introduced the doc and theme/manage/mosaic group Sep 24, 2017
test-setup.js enzyme configured Feb 20, 2018
tests.webpack.js feat: Initial commit May 15, 2016
yarn.lock Add helper BodyClass for appending classes to the body tag from View … Jul 28, 2018

README.md

Plone in React

Build Status Coverage Dependencies Dev Dependencies NPM

Installation

Prerequisites

Install dependencies

$ yarn

Install backend

$ cd api
$ ./bootstrap.sh

Development

Run backend

$ cd api
$ ./bin/instance fg

or

$ docker-compose -f api/docker-compose.yml up

Run frontend

$ yarn dev

Browsing

Go to http://localhost:4300 in your browser.

Testing

$ yarn test

Acceptance testing

$ make test-acceptance

Alternatively individual acceptances test case files can be run with a pure Robot Framework virtual environment, assuming that backend and frontend is running

$ docker-compose -f api/docker-compose.yml up
$ yarn && yarn build && API_PATH=http://localhost:55001/plone yarn start

$ virtualenv robotenv --no-site-packages
$ robotenv/bin/pip install robotframework robotframework-seleniumlibrary robotframework-webpack
$ robotenv/bin/pybot tests/test_login.robot

Another alternative for developing Robot Framework acceptane tests is to use Jupyter notebook

$ make -C api/jupyter

Static Code Analysis

Prettier

Please refer this link for all usages.

CLI

Run Prettier through the CLI with this script. Run it without any arguments to see the options.

To format a file in-place, use --write. You may want to consider committing your code before doing that, just in case. prettier [opts] [filename ...] In practice, this may look something like:
prettier --single-quote --trailing-comma es5 --write "{app,__{tests,mocks}__}/**/*.js"

Using Plugins

Plugins are automatically loaded if you have them installed in your package.json. Prettier plugin package names must start with @prettier/plugin- or prettier-plugin- to be registered. If the plugin is unable to be found automatically, you can load them with:

  1. The CLI, via the --plugin flag:

prettier --write main.foo --plugin=./foo-plugin

  1. Or the API, via the plugins field:
  parser: "foo",
  plugins: ["./foo-plugin"]
});
Pre commit hook

You can use Prettier with a pre-commit tool. This can re-format your files that are marked as "staged" via git add before you commit.

  1. Lint staged Use Case: Useful for when you need to use other tools on top of Prettier (e.g. ESLint)

Install it along with husky:

yarn add lint-staged husky --dev

and add this config to your package.json:

{
  "scripts": {
    "precommit": "lint-staged"
  },
  "lint-staged": {
    "*.{js,json,css,md}": ["prettier --write", "git add"]
  }
}
  1. Pretty-quick Use Case: Great for when you want an entire file formatting on your changed/staged files.

yarn add pretty-quick husky --dev

and add this config to your package.json:

{
  "scripts": {
    "precommit": "pretty-quick --staged"
  }
}

More Precommit hooks can be found here

License

MIT License. Copyrights hold the Plone Foundation. See LICENSE.md for details.