proschi 0.12.0 → 0.14.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/README.md +33 -0
- package/dist/cli.cjs +3047 -862
- package/dist/render.cjs +347 -204
- package/dist/server.cjs +1171 -128
- package/grammar/proschi.tmLanguage.json +90 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -16,6 +16,9 @@ proschi analyze shortener.proschi # load, latency, availability and cost per n
|
|
|
16
16
|
proschi import mermaid arch.mmd # Mermaid flowchart/sequence diagram to Proschi (also: import openapi spec.yaml)
|
|
17
17
|
proschi problem check # validate practice problem folders (see docs/PRACTICE.md)
|
|
18
18
|
proschi problem new seat-map # scaffold a practice problem
|
|
19
|
+
proschi imports sync # fetch git:, https:// and cloud: imports into proschi.lock and .proschi/cache
|
|
20
|
+
proschi login # sign in to your proschi.app account (for cloud: imports and versions)
|
|
21
|
+
proschi versions diff orders v1 # what changed in a saved diagram since version v1
|
|
19
22
|
proschi-language-server --stdio # for any editor with an LSP client
|
|
20
23
|
```
|
|
21
24
|
|
|
@@ -44,6 +47,36 @@ page's test suite; `problem new <id> [--dir <dir>]` scaffolds one. Inside the
|
|
|
44
47
|
repository both default to `frontend/src/practice/problems`. The format and
|
|
45
48
|
the rules: [docs/PRACTICE.md](https://github.com/gvart/proschi/blob/main/docs/PRACTICE.md).
|
|
46
49
|
|
|
50
|
+
## Remote imports, sign-in and versions
|
|
51
|
+
|
|
52
|
+
`proschi imports sync [--frozen | --update [<cloud:spec>...]] [<file|dir>...]` downloads the `git:`,
|
|
53
|
+
`https://` and `cloud:` imports of the files into `.proschi/cache` and pins
|
|
54
|
+
each in `proschi.lock` (commit it): a git ref to its commit, an https file
|
|
55
|
+
to its sha256, and `cloud:<name>` (the newest saved version) or
|
|
56
|
+
`cloud:<name>:<tag>` to the version's concrete tag, seq and sha256. A pinned
|
|
57
|
+
import stays pinned on later syncs. `--update` moves the given
|
|
58
|
+
`cloud:<name>` imports (default: every one) to the newest saved version and
|
|
59
|
+
prints each old and new tag; a concrete `cloud:<name>:<tag>` never moves (to
|
|
60
|
+
move a git or https pin, delete its entry from `proschi.lock`). `--frozen` (for CI) fails instead of changing the lock. Every other
|
|
61
|
+
command (`check`, `render`, `share-link`, the language server) reads the lock
|
|
62
|
+
and the cache only and never fetches.
|
|
63
|
+
|
|
64
|
+
`cloud:` imports are diagrams saved in your own account, so they need
|
|
65
|
+
`proschi login` first. It opens the browser to sign in (and prints the link,
|
|
66
|
+
for a machine without one), takes the answer on a one-time
|
|
67
|
+
`http://127.0.0.1:<port>/callback`, and stores the tokens in
|
|
68
|
+
`$XDG_CONFIG_HOME/proschi/credentials.json` (`~/.config/proschi/…`, or
|
|
69
|
+
`%APPDATA%\proschi\…` on Windows), readable by you only. `proschi logout`
|
|
70
|
+
ends the sign-in and deletes them; `proschi whoami` prints the account.
|
|
71
|
+
|
|
72
|
+
`proschi versions list <name>` prints a diagram's saved versions, and
|
|
73
|
+
`proschi versions diff <name> <base-tag> [<target-tag>|<file.proschi>]` what
|
|
74
|
+
changed from one to another (default: latest) or to a local file: nodes,
|
|
75
|
+
edges, use cases, scenarios, requirements, traffic, capacity and systems,
|
|
76
|
+
with `--json` for scripts. They only read the account. `--base <url>` points
|
|
77
|
+
`login`, `logout`, `whoami`, `versions` and `imports sync` at another site
|
|
78
|
+
(https, or http://localhost for development).
|
|
79
|
+
|
|
47
80
|
## Rendering
|
|
48
81
|
|
|
49
82
|
```
|