mailto: application for OpenPaaS
Note: Integrated from https://github.com/linagora/linagora.esn.unifiedinbox/commit/764de58c53d05fd0bf96f0cd8ca1e567e8bd19dd
First, you want to ensure that the application grid component is provided with the necessary information about the apps via the environment variable APP_GRID_ITEMS
:
cp .env.example .env
- APP_GRID_ITEMS: A stringified JSON representation of the apps to show in the application grid. It has the following shape:
[ { "name": "Inbox", "url": "http://localhost:9900/#/unifiedinbox/inbox" }, { "name": "Calendar", "url": "http://localhost:9900/#/calendar" }, ... ]
Then, launch the dev server on http://localhost:9900:
OPENPAAS_URL=https://dev.open-paas.org npm run serve
- OPENPAAS_URL: The OpenPaaS URL to be used by the current SPA application. Defaults to
http://localhost:8080
.
The development server can also be used to serve minified SPA to check that everything is OK:
OPENPAAS_URL=https://dev.open-paas.org npm run serve:prod
Authentication is provided by a dedicated SPA esn-frontend-login-app which is defined in the project devDependencies
.
In order to make it work with the webpack-dev-server launched by the npm run serve
command, you will have to generate it like this:
cd ./node_modules/esn-frontend-login && npm install && npm run build
Go to http://localhost:9900/mailto/ to open the SPA
Generates minified SPA in the ./dist
folder:
npm run build:prod
Regarding APP_GRID_ITEMS, you can also provide it as a system variable for production purposes, e.g.:
APP_GRID_ITEMS="[{ \"name\": \"Calendar\", \"url\": \"https://dev.open-paas.org/calendar/\" }, { \"name\": \"Contacts\", \"url\": \"https://dev.open-paas.org/contacts/\" }, { \"name\": \"Inbox\", \"url\": \"http://dev.open-paas.org/inbox/\" }, { \"name\": \"Admin\", \"url\": \"https://dev.open-paas.org/admin/\" }, { \"name\": \"LinShare\", \"url\": \"https://user.linshare-4-0.integration-linshare.org/\" }]" npm run build:prod
You can run tests by executing the following command:
npm run test
Note that there is a 10000ms timeout by default. If you want to change that, simply pass the TEST_TIMEOUT environment variable:
TEST_TIMEOUT=2000 npm run test