@scrolled/nav-graph 0.1.0 → 0.1.1-dev.7c21e18

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.
Files changed (2) hide show
  1. package/README.md +26 -17
  2. package/package.json +4 -1
package/README.md CHANGED
@@ -52,25 +52,34 @@ against the trust relationship npm has on file for this package + workflow.
52
52
  That's it — npm will accept publishes only from this workflow file in this
53
53
  repo. No long-lived credentials live anywhere.
54
54
 
55
- **Cutting a release:**
56
- 1. Bump `version` in `package.json` (semver: `0.x.y` while pre-stable).
57
- 2. Commit + push to `main`.
58
- 3. Tag the commit `nav-graph-v<version>` and push the tag:
59
- ```
60
- git tag nav-graph-v0.1.0
61
- git push origin nav-graph-v0.1.0
62
- ```
63
- 4. The [Publish workflow](../../.github/workflows/nav-graph-publish.yml) runs
64
- typecheck + tests + `tsc` build, verifies the tag matches the package
65
- version, then calls `npm publish --provenance`. The OIDC handshake happens
66
- inside the npm CLI; the published tarball gets a Sigstore-signed
67
- provenance attestation that shows on the package page.
55
+ **Release flow (pre-1.0 — fast iteration).** The
56
+ [publish workflow](../../.github/workflows/nav-graph-publish.yml) runs on
57
+ every push to `main` that touches `packages/nav-graph/**` and picks a mode
58
+ based on whether `package.json`'s version is already on npm:
59
+
60
+ | `package.json` version | What ships | npm dist-tag | Pull with |
61
+ |---|---|---|---|
62
+ | Not yet on npm (you bumped) | The version as-is | `latest` | `npm i @scrolled/nav-graph` |
63
+ | Already on npm (unchanged) | `<version>-dev.<sha7>` | `dev` | `npm i @scrolled/nav-graph@dev` |
64
+
65
+ So the day-to-day loop is just: edit code, commit, push. Each push gets a
66
+ unique `0.1.0-dev.<sha7>` build under the `dev` tag — pullable immediately,
67
+ pinnable by full version, never overwritten. When you're ready to cut a
68
+ stable release, bump the version in `package.json` to a value that isn't on
69
+ npm yet, push, and that publishes to `latest`.
70
+
71
+ Either mode runs typecheck + tests + `tsc` build, then `npm publish
72
+ --provenance`. The OIDC handshake happens inside the npm CLI; the tarball
73
+ gets a Sigstore-signed provenance attestation that shows on the package
74
+ page.
68
75
 
69
76
  **Dry-run a build without publishing:** trigger the workflow manually from
70
77
  the Actions tab with `dry_run: true`. It uploads the packed tarball as an
71
- artifact so you can inspect it.
78
+ artifact so you can inspect it before flipping the toggle off.
72
79
 
73
80
  The published tarball contains only `dist/` (compiled JS + .d.ts +
74
- sourcemaps), `LICENSE`, and `README.md`. `publishConfig` in `package.json`
75
- rewrites `main`/`types`/`exports` to point at `dist/` so workspace consumers
76
- inside this monorepo continue to read `src/*.ts` directly.
81
+ sourcemaps), `LICENSE`, and `README.md`. `main`/`types`/`exports` in
82
+ `package.json` point directly at `dist/`; running tests or the export CLI
83
+ inside this monorepo works without consulting the exports field (Vitest and
84
+ the CLI use relative imports), so the dist-only exports don't get in the way
85
+ of source-tree dev.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrolled/nav-graph",
3
- "version": "0.1.0",
3
+ "version": "0.1.1-dev.7c21e18",
4
4
  "type": "module",
5
5
  "description": "Framework-agnostic graph core: IR types + Zod schema, an authoring DSL, a compiler (IR → runtime adjacency), and pathfinding (BFS + eligibility). The engine behind Scrolled Navigator; usable standalone in Node and the browser.",
6
6
  "license": "Apache-2.0",
@@ -29,6 +29,9 @@
29
29
  "README.md",
30
30
  "LICENSE"
31
31
  ],
32
+ "main": "./src/index.ts",
33
+ "module": "./src/index.ts",
34
+ "types": "./src/index.ts",
32
35
  "exports": {
33
36
  ".": "./src/index.ts",
34
37
  "./ir": "./src/ir/index.ts",