annotate client/README.md @ 5168:a74390e92c3c

client: raise nodejs requirement to v12.16.1 * Raise nodejs requirement to v12.16.1, because v8 is unmaintained now. And even if nodejs is just used for building the single page web application it should be security maintained, e.g. for being able to get the right modules when downloading. * Add check of node version to packages.json in engines section. This can be easily circumvented if someone really wants to try building with a different version, e.g. v10, but most tests will be done with v12 from now on, so it is better to have this check in there. And v12.16.1. is the current stable version, so it should be the minimum.
author Bernhard Reiter <bernhard@intevation.de>
date Tue, 07 Apr 2020 16:34:35 +0200
parents b86367910f86
children da04fa72cee8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
1 * Install dependencies
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
2
5168
a74390e92c3c client: raise nodejs requirement to v12.16.1
Bernhard Reiter <bernhard@intevation.de>
parents: 4503
diff changeset
3 * [Yarn](https://yarnpkg.com/) and a compatible nodejs version
a74390e92c3c client: raise nodejs requirement to v12.16.1
Bernhard Reiter <bernhard@intevation.de>
parents: 4503
diff changeset
4 is needed, see `engines` section in `packages.json`.
4433
b5619087e3e9 client, docs: add yarn and nodejs explicitly
Bernhard Reiter <bernhard@intevation.de>
parents: 1852
diff changeset
5
1802
70573eea890e improve Translation process : improve package.json and update the documentation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1009
diff changeset
6 * Install (`xgettext`) tool (e.g. for Debian xgettext (GNU gettext-tools) 0.19.8.1)
70573eea890e improve Translation process : improve package.json and update the documentation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1009
diff changeset
7
3
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
8 * Javascript
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
9
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
10 `yarn install`
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
11
499
5b7a4327f6c0 Recommend using .env.local instead of copying .env.sample
Tom Gottfried <tom@intevation.de>
parents: 450
diff changeset
12 * Extend or overwrite configuration via `.env.local`-file
3
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
13
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
14 ```
499
5b7a4327f6c0 Recommend using .env.local instead of copying .env.sample
Tom Gottfried <tom@intevation.de>
parents: 450
diff changeset
15 cp .env .env.local
3
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
16 ````
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
17
499
5b7a4327f6c0 Recommend using .env.local instead of copying .env.sample
Tom Gottfried <tom@intevation.de>
parents: 450
diff changeset
18 Modify `.env.local` according to your needs.
5b7a4327f6c0 Recommend using .env.local instead of copying .env.sample
Tom Gottfried <tom@intevation.de>
parents: 450
diff changeset
19
3
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
20 * Start Development servers
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
21
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
22 * Javascript
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
23
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
24 Run webpack-dev-server with `yarn serve`
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
25
1852
72d6fcb2147d client: add dev-server tunnel hint
Bernhard Reiter <bernhard@intevation.de>
parents: 1802
diff changeset
26 Hint: if you want to access the dev-server via a tunnel with hot reload,
72d6fcb2147d client: add dev-server tunnel hint
Bernhard Reiter <bernhard@intevation.de>
parents: 1802
diff changeset
27 you'll may need to explicitely set the url the browser has to call
72d6fcb2147d client: add dev-server tunnel hint
Bernhard Reiter <bernhard@intevation.de>
parents: 1802
diff changeset
28 with public. Example:
72d6fcb2147d client: add dev-server tunnel hint
Bernhard Reiter <bernhard@intevation.de>
parents: 1802
diff changeset
29
72d6fcb2147d client: add dev-server tunnel hint
Bernhard Reiter <bernhard@intevation.de>
parents: 1802
diff changeset
30 ```sh
72d6fcb2147d client: add dev-server tunnel hint
Bernhard Reiter <bernhard@intevation.de>
parents: 1802
diff changeset
31 ssh bern@ourdev.intevation.de -L 8180:localhost:8180
72d6fcb2147d client: add dev-server tunnel hint
Bernhard Reiter <bernhard@intevation.de>
parents: 1802
diff changeset
32 yarn serve --port 8180 --public http://localhost:8180
72d6fcb2147d client: add dev-server tunnel hint
Bernhard Reiter <bernhard@intevation.de>
parents: 1802
diff changeset
33 ```
72d6fcb2147d client: add dev-server tunnel hint
Bernhard Reiter <bernhard@intevation.de>
parents: 1802
diff changeset
34
3
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
35 * Build `yarn build`
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
36
1597506a2241 merge with vue-cli
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
37 builds the production ready assets to `web` folder.
4503
b86367910f86 client: extend docs with remark about production builds
Bernhard Reiter <bernhard@intevation.de>
parents: 4433
diff changeset
38 This is what the `../Makefile` will call, which you should use anyway.
b86367910f86 client: extend docs with remark about production builds
Bernhard Reiter <bernhard@intevation.de>
parents: 4433
diff changeset
39
b86367910f86 client: extend docs with remark about production builds
Bernhard Reiter <bernhard@intevation.de>
parents: 4433
diff changeset
40 For a real production use, edit the `title` tag in `public/index.html`
b86367910f86 client: extend docs with remark about production builds
Bernhard Reiter <bernhard@intevation.de>
parents: 4433
diff changeset
41 to something matching your installation.
b86367910f86 client: extend docs with remark about production builds
Bernhard Reiter <bernhard@intevation.de>
parents: 4433
diff changeset
42
152
a719a3ba2fb4 Client README updated for translations
Thomas Junk <thomas.junk@intevation.de>
parents: 121
diff changeset
43
1009
76e9296d6191 added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents: 499
diff changeset
44 * Build `yarn build-demo`
76e9296d6191 added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents: 499
diff changeset
45 sets the hg revision as a node env var and builds the production ready assets to `web` folder.
76e9296d6191 added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents: 499
diff changeset
46
152
a719a3ba2fb4 Client README updated for translations
Thomas Junk <thomas.junk@intevation.de>
parents: 121
diff changeset
47 * Translation
a719a3ba2fb4 Client README updated for translations
Thomas Junk <thomas.junk@intevation.de>
parents: 121
diff changeset
48 * Extract Messages via `make makemessages`
1802
70573eea890e improve Translation process : improve package.json and update the documentation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1009
diff changeset
49 * Translations are converted via `make translations` which is executed automatically with yarn serve/build
167
a6d7ee20fc96 docs: Adding documentation on how to run tests
Thomas Junk <thomas.junk@intevation.de>
parents: 152
diff changeset
50
168
e4e4a0e6338e docs: Added a developer documentation
Thomas Junk <thomas.junk@intevation.de>
parents: 167
diff changeset
51 For more information see [developer documentation](./docs/developer.md)
e4e4a0e6338e docs: Added a developer documentation
Thomas Junk <thomas.junk@intevation.de>
parents: 167
diff changeset
52
167
a6d7ee20fc96 docs: Adding documentation on how to run tests
Thomas Junk <thomas.junk@intevation.de>
parents: 152
diff changeset
53 * Tests
a6d7ee20fc96 docs: Adding documentation on how to run tests
Thomas Junk <thomas.junk@intevation.de>
parents: 152
diff changeset
54 * Unit tests are started via `yarn test:unit`
a6d7ee20fc96 docs: Adding documentation on how to run tests
Thomas Junk <thomas.junk@intevation.de>
parents: 152
diff changeset
55 * e2e tests are started via `yarn test:e2e`
a6d7ee20fc96 docs: Adding documentation on how to run tests
Thomas Junk <thomas.junk@intevation.de>
parents: 152
diff changeset
56
a6d7ee20fc96 docs: Adding documentation on how to run tests
Thomas Junk <thomas.junk@intevation.de>
parents: 152
diff changeset
57 Vue cli supports the Chrome selenium driver out of the box
a6d7ee20fc96 docs: Adding documentation on how to run tests
Thomas Junk <thomas.junk@intevation.de>
parents: 152
diff changeset
58 If you are interested in using the Firefox variant of the driver
a6d7ee20fc96 docs: Adding documentation on how to run tests
Thomas Junk <thomas.junk@intevation.de>
parents: 152
diff changeset
59 see [Vue CLI Plugin Docs](https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-e2e-nightwatch)
a6d7ee20fc96 docs: Adding documentation on how to run tests
Thomas Junk <thomas.junk@intevation.de>
parents: 152
diff changeset
60 and see also [Nightwatch documentation](http://nightwatchjs.org/gettingstarted#geckodriver)