![]() |
7 days ago | |
---|---|---|
.. | ||
example-init-placeholder | 4 months ago | |
src | 7 days ago | |
test | 8 months ago | |
.eslintrc | 2 years ago | |
.gitignore | 8 months ago | |
LICENSE.txt | 2 years ago | |
README.md | 6 months ago | |
jest.config.cjs | 4 months ago | |
package.json | 2 weeks ago | |
tsconfig.cjs.json | 4 months ago |
README.md
@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
.
cd my-typescript-project
npx @ldo/cli init
Manual Setup
The following is handled by the __automatic setup__:Install the LDO dependencies.
npm install @ldo/ldo
npm install @ldo/cli --save-dev
Create a folder to store your ShEx shapes:
mkdir shapes
Create a script to build ShEx shapes and convert them into Linked Data Objects. You can put this script in package.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:
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
Creating a new project to distribure shapes
Sometimes, you might want to distribute shapes to others. The easiest way to do that is to deploy them to NPM. The LDO CLI has an easy-to-use command for generating a standalone project just for your shapes.
npx @ldo/cli create ./my-project
This script will generate a project with a place to put your shapes. Running npm publish
will build the shapes and push to project to NPM for you.
API Details
Sponsorship
This project was made possible by a grant from NGI Zero Entrust via nlnet. Learn more on the NLnet project page.
Liscense
MIT