@eriknaslund/skiss 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +7 -2
- package/dist/cli.js +616 -24
- package/dist/index.d.ts +43 -4
- package/dist/index.js +578 -16
- package/package.json +4 -2
- package/dist/cli.js.map +0 -1
- package/dist/index.js.map +0 -1
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -64,7 +64,9 @@ Or without installing: `npx @eriknaslund/skiss diagram model.skiss`.
|
|
|
64
64
|
|
|
65
65
|
`skiss compile model.skiss` writes a LinkML schema instead, as YAML on standard output. `--json` writes the same schema as JSON, `--name` sets the schema name (it defaults to the file name without its extension, and to `sketch` when reading standard input), and `-o`, `-`, `--strict` and the diagnostics work exactly as they do for `diagram`.
|
|
66
66
|
|
|
67
|
-
`
|
|
67
|
+
`skiss import schema.linkml.yaml` goes the other way: it reads a LinkML schema, YAML or JSON, and writes Skiss. What the projection could not carry — `is_a`, patterns, `required`, the names it had to convert — is one line on standard error before the diagnostics, because a sketch is a smaller language than LinkML and that line says by how much. `-o`, `-` and the diagnostics work as they do for `compile`; `--strict` exits 1 when the projected sketch has a diagnostic, and also when anything was dropped. An input that is not a schema at all — not YAML, or YAML no schema can be read out of — produces no sketch, says why on standard error, and exits 2, the code every command uses for unreadable input.
|
|
68
|
+
|
|
69
|
+
`npm install @eriknaslund/skiss` also gives you the library: `compile`, `formatDiagnostic`, `parse`, `resolve`, `toLinkML`, `serialize`, `toMermaid`, `toSkiss`, `fromLinkML`, `formatDropped`, `importLinkML` and `VERSION`, browser-safe.
|
|
68
70
|
|
|
69
71
|
Editors that render Skiss live are separate projects built on this package. This repository is the language, the library and the command line.
|
|
70
72
|
|
|
@@ -77,11 +79,14 @@ Editors that render Skiss live are separate projects built on this package. This
|
|
|
77
79
|
| [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | How the code is organised. |
|
|
78
80
|
| [docs/adr/](docs/adr/) | Architecture decision records. |
|
|
79
81
|
| [docs/ROADMAP.md](docs/ROADMAP.md) | What comes next. |
|
|
82
|
+
| [docs/RELEASING.md](docs/RELEASING.md) | How a version reaches npm. |
|
|
80
83
|
| [AGENTS.md](AGENTS.md) | How this repository is built. |
|
|
81
84
|
|
|
82
85
|
## Status
|
|
83
86
|
|
|
84
|
-
|
|
87
|
+
0.4.0, published on npm as [`@eriknaslund/skiss`](https://www.npmjs.com/package/@eriknaslund/skiss). The language parses, resolves and diagnoses; `skiss diagram` draws it, `skiss compile` writes LinkML that the real LinkML toolchain validates in CI, and `skiss import` reads a LinkML schema back into a sketch. The library exports the same in both directions and is browser-safe.
|
|
88
|
+
|
|
89
|
+
The [specification](docs/SPEC.md) is at 0.2 and moves when the language does, which is not with every release. Not built: inheritance, and editing a projected schema so that what Skiss cannot express survives the edit (SPEC §8.1). [CHANGELOG.md](CHANGELOG.md) is what changed when.
|
|
85
90
|
|
|
86
91
|
## License
|
|
87
92
|
|