Sign inSign up

timostollenwerk/plone-react

By timostollenwerk

•Updated about 8 years ago

React-based front-end for plone.restapi

Image
0

605

timostollenwerk/plone-react repository overview

⁠Volto

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 start
⁠Browsing

Go to http://localhost:3000⁠ 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:prod

$ 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.

⁠Running Guillotina Tests

First, start up Guillotina:

docker-compose -f g-api/docker-compose.yml up -d

Then, run the tests:

PYTHONPATH=$(pwd)/tests_guillotina env/bin/pybot -v BROWSER:headlesschrome tests_guillotina;

Tag summary

Content type

Image

Digest

Size

218.3 MB

Last updated

about 8 years ago

docker pull timostollenwerk/plone-react