Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/slheavner/scenegraph-schema
Schema (.xsd) generator for Roku SceneGraph projects
https://github.com/slheavner/scenegraph-schema
brightscript roku scenegraph xml-schema
Last synced: about 2 months ago
JSON representation
Schema (.xsd) generator for Roku SceneGraph projects
- Host: GitHub
- URL: https://github.com/slheavner/scenegraph-schema
- Owner: slheavner
- License: mit
- Created: 2020-04-17T18:25:29.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T03:39:56.000Z (about 2 years ago)
- Last Synced: 2024-10-30T14:27:55.773Z (2 months ago)
- Topics: brightscript, roku, scenegraph, xml-schema
- Language: TypeScript
- Size: 1.03 MB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-roku - scenegraph-schema - A tool to generate an xml schema for a SceneGraph project to work with xml validation extensions (Linters)
README
# SceneGraph Schema ![Node.js CI](https://github.com/slheavner/scenegraph-schema/workflows/Node.js%20CI/badge.svg)
A schema generator for SceneGraph xml projects
## What you get from a schema
- a project specific `.xsd` schema file
- validation on scenegraph component xml files
- `extends` completion, including base components
- component tag completion, including components in `` tag
- `field` attribute completion## Usage
### NPM
```
npm install scenegraph-schema
scenegraph-schema [options]
OR
sgschema [options]
```### From Source
1. clone this repository
2. run `npm run compile`
3. run `npm link`
4. use the `sgschema` or `scenegraph-schema` commands## Options
```
Usage:
scenegraph-schema [options]
sgschema [options]Options:
-c, --components DIR,DIR comma separated list of component directories, default: components
-s, --scripts DIR,DIR comma separated list of script directories, default: components,source
-o, --output FILENAME filename for output, defaults do {dirName}.xsd
-w, --watch watch all directories for changes, experimental
-r, --root root directory for project files, used to create package paths
(https://devtools.web.roku.com/schema/RokuSceneGraph.xsd)
-d, --defineScripts turn on script.uri attribute enumeration, will limit script.uri to
brs files detected in the project, and support autocomplete
-h, --help this thing
-v, --version version duh
```## VScode Setup
1. install the RedHat vscode extension: `redhat.vscode-xml`
1. update `settings.json` with:```
"xml.fileAssociations": [
{
"pattern": "**/*.xml",
"systemId": "./app.xsd"
}
],
```2. (optional) replace `systemId` with your output file name