Skip to content
Snippets Groups Projects
README.md 2.74 KiB
Newer Older
Reiter, Christoph's avatar
Reiter, Christoph committed
# Frontend Toolkit

## Overview

This repository uses [yarn 1.x](https://classic.yarnpkg.com) workspaces to link
multiple separate packages together and to hoist all shared dependencies to the
top level node_modules.

In addition we use [lerna](https://lerna.js.org/) for running commands for all contained packages (until we switch to yarn 2.x which should support this directly).

Reiter, Christoph's avatar
Reiter, Christoph committed
## Setup

```
yarn install
Reiter, Christoph's avatar
Reiter, Christoph committed
```

`cd packges/some-package` and continue development with `yarn run watch` etc.
Reiter, Christoph's avatar
Reiter, Christoph committed

## Other commands

Bekerle, Patrizio's avatar
Bekerle, Patrizio committed
* `yarn run test` -  Run test for all packages
* `yarn run clean` - Removes all `node_modules` directories.

## Publishing packages to npmjs.com

There is an automatic publishing process initiated for each package if code is pushed
to the `master` branch, if the package isn't set to private in its `package.json` and
the version number in its `package.json` is higher than the version number on npmjs.com.

## Reserved attributes

Steinwender, Tamara's avatar
Steinwender, Tamara committed
| Attribute                     | Description                                                                       |
| ----------------------------- | --------------------------------------------------------------------------------- |
| `subscribe`                   | Used in all components to subscribe to attributes set by a provider               |
| `unsubscribe`                 | Reserved for future use                                                           |
| `auth`                        | Authentication information, set by the authentication component                   |
| `lang`                        | Currently selected language, set by the language selector                         |
| `entry-point-url`             | Entry point url for all api requests                                              |
| `requested-login-status`      | Used by the login buttons to trigger a login in auth components                   |
| `initial-file-handling-state` | Used by the file-handling component to sync file source/sink at first time open   |
| `clipboard-files`             | Used by the file-handling component to use the clipboard source and sink          |
| `analytics-event`             | Used to send analytics events to the Matomo component                             |

## Reserved events

| Event              | Description                                                                        |
| ------------------ | ---------------------------------------------------------------------------------- |
| `dbp-subscribe`    | Event to tell a provider that the component wants to subscribe to an attribute     |
| `dbp-unsubscribe`  | Event to tell a provider that the component wants to unsubscribe from an attribute |
| `dbp-set-property` | Event to tell a provider that a property should be changed                         |