https://github.com/solidlabresearch/solid-sdx-cli
https://github.com/solidlabresearch/solid-sdx-cli
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/solidlabresearch/solid-sdx-cli
- Owner: SolidLabResearch
- Created: 2023-11-09T12:01:48.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-30T11:53:28.000Z (about 2 years ago)
- Last Synced: 2025-09-27T21:28:57.142Z (5 months ago)
- Language: TypeScript
- Size: 2.09 MB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Solid SDX CLI
The Solid Development eXperience CLI is meant to bootstrap Solid application development in JS/TS.
## Main Features
- Bootstrap your application work directory
- Search the [SolidLab Catalog](https://catalog.solidlab.be) for shapes via CLI
- Install shape packages from the [SolidLab Catalog](https://catalog.solidlab.be) via CLI
- Generate a (SDL) GraphQL Schema
- Generate TS type information for intellisense support in your favorite IDE
- Generate a client proxy to read/write to (remote) Pods
## Installation
Globally installing allows you to use `sdx` as a CLI binary.
_Requires at least node 18.0.0__
```bash
npm i -g @solidlab/solid-sdx-cli
```
## Usage
```bash
# Print out the options in CLI
sdx help
```
### Init workspace
Initializes a workspace for Solid Application Development.
```bash
sdx init [--force] [--noLibs] [name]
```
You can provide an optional name for your project. If omitted, it will be asked through the interactive shell prompt.
**Parameters**
- `--force`: If a `package.json`` already exists, use `--force` to merge setup into the existing `package.json`
- `--noLibs`: By default extra libraries that are needed will be installed, if for some reason you don't want this, you can use this trigger.
Initialisation will write three important files:
* `.solidmanifest`: manifest of your application
* `.sdxconfig`: config file for the sdx toolkit
* `package.json`: starting package.json for this project
### Search type packages
Search for a Solid type package.
```bash
sdx search [query]
```
Will search the central SolidLab Catalog for potential matches.
### Install shape package
Install a Solid shape package.
```bash
sdx install package [UriOrIndex]
// or
sdx package install [UriOrIndex]
```
Install a shape package into your local project. It will be added to the .solidmanifest file and will - by default - update the generated GraphQL Schema (and generated sdk if applicable).
A full URI can be used, or the index from the latest results table generated by the cli (eg. from `sdx search`).
### Uninstall shape package
Install a Solid shape package.
```bash
sdx uninstall package [UriOrIndex]
// or
sdx package uninstall [UriOrIndex]
```
Uninstall a shape package from your local project. It will be removed from the .solidmanifest file and will - by default - update the generated GraphQL Schema (and generated sdk if applicable).
A full URI can be used, or the index from the latest results table generated by the cli (eg. from `sdx list packages`).
### List shape packages
List all installed Solid shape packages.
```bash
sdx list packages
// or
sdx packages list
```
Lists all installed shape packages.
### Generate schema
Manually trigger GraphQL Schema generation, based on the installed shape packages.
```bash
sdx generate schema
```
The GraphQL Schema will be used to generate typings and a Sdk SolidClient class.
### Generate typings
Manually trigger generation of typings, based on the installed shape packages.
```bash
sdx generate typings
```
The generated typings can be used by an IDE for intellisense autocompletion and strong typing language support.
### Generate sdk client
Manually trigger a SolidClient sdk client, based on the generated GraphQL Schema and the user-created GraphQL Queries in the `src/gql/` folder.
```bash
sdx generate sdk
```
The generated Sdk Client can then be used with the @solidlab/solid-sdx-ts library to interface with accessible pods.