You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.7 KiB
68 lines
1.7 KiB
# @ldo/cli
|
|
|
|
The `@ldo/cli` is a command line interface for initializing LDO and building ShapeTypes.
|
|
|
|
## Setup
|
|
|
|
### Automatic Setup
|
|
To setup LDO, `cd` into your typescript project and run `npx @ldo/cli init`.
|
|
|
|
```bash
|
|
cd my-typescript-project
|
|
npx @ldo/cli init
|
|
```
|
|
|
|
### Manual Setup
|
|
The following is handled by the __automatic setup__:
|
|
|
|
Install the LDO dependencies.
|
|
```bash
|
|
npm install @ldo/ldo
|
|
npm install @ldo/cli --save-dev
|
|
```
|
|
|
|
Create a folder to store your ShEx shapes:
|
|
```bash
|
|
mkdir shapes
|
|
```
|
|
|
|
Create a script to build ShEx shapes and convert them into Linked Data Objects. You can put this script in `package.json`
|
|
```json
|
|
{
|
|
...
|
|
scripts: {
|
|
...
|
|
"build:ldo": "ldo build --input ./shapes --output ./ldo"
|
|
...
|
|
}
|
|
...
|
|
}
|
|
```
|
|
|
|
## Generating a ShapeType
|
|
|
|
@ldo/cli generates shape types using the `*.shex` files in the "input" folder. If you followed the instructions above, run the following command:
|
|
|
|
```bash
|
|
npm run build:ldo
|
|
```
|
|
|
|
This will generate five files:
|
|
- `./ldo/foafProfile.shapeTypes.ts` <-- This is the important file
|
|
- `./ldo/foafProfile.typings.ts`
|
|
- `./ldo/foafProfile.schema.ts`
|
|
- `./ldo/foafProfile.context.ts`
|
|
|
|
## API Details
|
|
- [`init` command](https://ldo.js.org/api/cli/init/)
|
|
- [`build` command](https://ldo.js.org/api/cli/build/)
|
|
```
|
|
|
|
## Sponsorship
|
|
This project was made possible by a grant from NGI Zero Entrust via nlnet. Learn more on the [NLnet project page](https://nlnet.nl/project/SolidUsableApps/).
|
|
|
|
[<img src="https://nlnet.nl/logo/banner.png" alt="nlnet foundation logo" width="300" />](https://nlnet.nl/)
|
|
[<img src="https://nlnet.nl/image/logos/NGI0Entrust_tag.svg" alt="NGI Zero Entrust Logo" width="300" />](https://nlnet.nl/)
|
|
|
|
## Liscense
|
|
MIT |