@norskvideo/ctl-dev-kit 0.1.3 → 0.1.4

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/build/flake.nix CHANGED
@@ -3,12 +3,13 @@
3
3
  # root for `nix develop`; it can't pull one from an npm package at CI bootstrap).
4
4
  # The copy is drift-gated (Workstream I), same model as the fenced CLAUDE.md core.
5
5
  #
6
- # Two shells:
7
- # nix develop -> build tools only (bun, cargo/rustc, git). This is what
8
- # CI (build-image) uses; it must stay lean and must NOT
9
- # depend on fetching the ctl binary.
10
- # nix develop .#dev -> the above PLUS the pinned `norsk-ctl` daemon on PATH,
11
- # for the local product dev loop (serve + product add).
6
+ # Three shells:
7
+ # nix develop -> build tools (bun, cargo/rustc, git) + the pinned
8
+ # nix develop .#dev `norsk-ctl` daemon on PATH. The everyday product dev
9
+ # shell; the two are equivalent.
10
+ # nix develop .#build -> build tools only, no ctl. What CI (build-image /
11
+ # integration) uses, so image builds never depend on the
12
+ # ctl binary channel.
12
13
  #
13
14
  # `norsk-ctl` is the released daemon binary pulled from the S3 channel and pinned
14
15
  # by version+hash (reproducible). It is NOT built from source here — a product
@@ -77,14 +78,19 @@
77
78
  pkgs.git
78
79
  ];
79
80
  in {
80
- # CI (build-image) uses this lean, no ctl fetch.
81
+ # Everyday dev shell — build tools + the pinned norsk-ctl daemon.
82
+ # `nix develop` and `nix develop .#dev` are equivalent.
81
83
  default = pkgs.mkShell {
82
- buildInputs = buildTools;
84
+ buildInputs = buildTools ++ [ (mkCtl system) ];
83
85
  };
84
- # Local product dev loop — build tools + the pinned daemon on PATH.
85
86
  dev = pkgs.mkShell {
86
87
  buildInputs = buildTools ++ [ (mkCtl system) ];
87
88
  };
89
+ # Lean shell for CI (build-image / integration) — no ctl fetch, so
90
+ # image builds never depend on the ctl binary channel.
91
+ build = pkgs.mkShell {
92
+ buildInputs = buildTools;
93
+ };
88
94
  });
89
95
  };
90
96
  }
@@ -13,8 +13,9 @@ dependency; it is the released binary, pinned by version+hash in the repo's
13
13
  it on `PATH`:
14
14
 
15
15
  ```sh
16
- nix develop .#dev # build tools (bun, cargo/rustc, git) + the pinned norsk-ctl
17
- # nix develop # build-only shell — no ctl (this is what CI build-image uses)
16
+ nix develop # build tools (bun, cargo/rustc, git) + the pinned norsk-ctl
17
+ # nix develop .#dev # equivalent alias
18
+ # nix develop .#build # lean shell, no ctl — what CI (build-image/integration) uses
18
19
 
19
20
  norsk-ctl serve # daemon on :8333, oauth2 proxy on :9443
20
21
  norsk-ctl --version # confirm the pinned build
@@ -102,9 +103,9 @@ Leave the hooks unset to launch the pinned tags the product declares.
102
103
  Use this when you are changing the **daemon itself** (packages/norsk-ctl) and
103
104
  want the product to launch through your build instead of the pinned binary. The
104
105
  daemon is a single process on `:8333` — where you start it from is irrelevant, so
105
- just run it out of your checkout and drive it with the same checkout's CLI. Skip
106
- `nix develop .#dev` (its pinned `norsk-ctl` would shadow yours); the plain
107
- `nix develop` shell is enough on the product side.
106
+ just run it out of your checkout and drive it with the same checkout's CLI. Use
107
+ `nix develop .#build` on the product side so the flake's pinned `norsk-ctl`
108
+ doesn't shadow the one you're running from source.
108
109
 
109
110
  ```sh
110
111
  # 1. daemon, from your ctl checkout (root `cli` script -> packages/norsk-ctl cli)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norskvideo/ctl-dev-kit",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./package.json": "./package.json"