Skip to content

Commit

Permalink
Repo cleanup and developer docs (#34)
Browse files Browse the repository at this point in the history
* Remove types.ts

* Remove VSCode settings.json

* Developer docs

* fix typo

---------

Co-authored-by: Dan Delany <daniel.t.delany@jpl.nasa.gov>
  • Loading branch information
cartermak and dandelany authored Jan 18, 2025
1 parent 0b7f905 commit c153e91
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 440 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ seq-json-schema/*.json
build
dist
node_modules
types.ts
3 changes: 0 additions & 3 deletions .vscode/settings.json

This file was deleted.

21 changes: 21 additions & 0 deletions DEVELOPER.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# SeqJSON Schema Developer Docs

## Overview

This repository version controls the SeqJSON schema and generates libraries to access the schema in TS/JS and Python via NPM and PyPI packages, respectively. The NPM package distribution provides a Typescript library with auto-generated types and interfaces from the schema. A [Github Pages website](https://nasa-ammos.github.io/seq-json-schema/) ([`static-valdiation-site/`](static-validation-site/)) provides an easy way for SeqJSON authors to validate their sequences against the schema.

## Developer Workflow

Once a change request has been approved for implementation and a developer has been assigned (see [Governance](GOVERNANCE.md)), make schema changes directly to [`schema.json`](schema.json). Updates to either the schema or the distribution packages merit version increments according to the [Semantic Versioning](https://semver.org/) standard. The Pull Request which makes the specified changes should increment the version in the following places:

- [`package.json`](package.json)
- [`package-lock.json`](package-lock.json)
- [`schema.json`](schema.json) (in the `$id` property)

The Python package dynamically retrieves the version from [`package.json`](package.json).

## Deployment Workflow

Once a Pull Request with changes and a version increment has been merged, create a new Github Release with a version number tag of the form `vX.X.X`. This will trigger Github Actions to build and deploy the NPM and PyPI packages. The included script [`generate-types.js`](scripts/generate-types.js) auto-generates the `types.ts` file used in the NPM distribution.

Github Pages is automatically deployed on any push to `develop`.
Loading

0 comments on commit c153e91

Please sign in to comment.