enso/tools/simple-library-server/README.md

58 lines
1.9 KiB
Markdown
Raw Normal View History

2021-06-22 14:35:15 +03:00
# Simple Enso Library Server
A simple server for hosting custom Enso library repositories.
## Usage
You need Node.JS to use this version of the server.
To install the dependencies, run `npm install` in the root directory of the
application. Then you can run the `main.js` file to start the server. See
`./main.js --help` for available commandline options.
## Repository structure
When launching the server, you need to provide it with a directory that is the
root of the server. This directory should contain a `libraries` directory or
`editions` directory (or both). Each of them should have the directory structure
as described in [the Enso documentation](../../docs/libraries/repositories.md).
For example, the root directory may look like this:
```
root
├── libraries
│ ├── Foo
│ │ └── Bar
│ │ ├── 1.2.3
│ │ │ ├── meta
│ │ │ │ ├── preview.png
│ │ │ │ └── icon.png
│ │ │ ├── main.tgz
│ │ │ ├── tests.tgz
│ │ │ ├── LICENSE.md
│ │ │ ├── package.yaml
│ │ │ └── manifest.yaml
│ │ └── 1.2.4-SNAPSHOT.2021-06-24
│ │ └── ... # Truncated for clarity
│ └── Standard
│ ├── Base
│ │ └── 1.0.0
│ │ └── ...
│ └── Table
│ └── 1.0.0
│ └── ...
└── editions
├── manifest.yaml
├── 2021.1.yaml
├── foo.yaml
└── bar.yaml
```
Then to add this repository as an edition provider you can append
`http://hostname:port/editions` to the `edition-providers` field in
`global-config.yaml`.
To use libraries from this repository, the editions should define the repository
with URL `http://hostname:port/libraries`.