@nanobpm/nano-ide-ext-types 1.7.0 → 1.8.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 ADDED
@@ -0,0 +1,37 @@
1
+ # @nanobpm/nano-ide-ext-types
2
+
3
+ **TypeScript types for the `nano-ide.ext.json` extension manifest** (ADR 0007).
4
+
5
+ This is the shared type contract for authoring [Nano RAD IDE](https://github.com/Magikcraft/nano-bpm)
6
+ extension packs. Import it in a pack's tooling to get a typed, checked
7
+ `nano-ide.ext.json` — the same manifest shape the host parser
8
+ (`server/src/console/extensions.rs`) validates at load time.
9
+
10
+ It is a **library, not a marketplace pack**: it ships no `nano-ide.ext.json`
11
+ manifest of its own and contributes nothing to the console UI. It exists so pack
12
+ authors and the manifest validator share one source of truth for the extension
13
+ contract (lang, app, example, theme, and trigger pack kinds, plus the theme
14
+ design-token vocabulary).
15
+
16
+ ## Usage
17
+
18
+ ```ts
19
+ import type { ExtManifest } from "@nanobpm/nano-ide-ext-types";
20
+
21
+ const manifest: ExtManifest = {
22
+ id: "my-pack",
23
+ kind: "lang",
24
+ displayName: "My language",
25
+ // …type-checked against the ADR 0007 contract
26
+ };
27
+ ```
28
+
29
+ ## Install
30
+
31
+ ```sh
32
+ npm install --save-dev @nanobpm/nano-ide-ext-types
33
+ ```
34
+
35
+ ## Licence
36
+
37
+ Apache-2.0.
package/dist/index.d.ts CHANGED
@@ -303,6 +303,17 @@ export interface ExtManifest {
303
303
  * out of it being a pack journey.
304
304
  */
305
305
  tours?: TourSpec[];
306
+ /**
307
+ * app packs that front an out-of-process CLI (e.g. this Urban pack →
308
+ * `@nanobpm/urban`'s `urban`/`create-urban-app` bins): opt in to a guarded
309
+ * `npm install` inside the pack after it is fetched, so its runtime
310
+ * dependencies' `node_modules/.bin/*` are materialised (an `npm pack` tarball
311
+ * ships `package.json` but not `node_modules`). Mirrors the host's
312
+ * `ExtManifest.install_deps: bool`. The host installs `--omit=dev`
313
+ * `--ignore-scripts` (until the pack is trusted); default/absent is a pure
314
+ * pack+extract with no network install.
315
+ */
316
+ installDeps?: boolean;
306
317
  }
307
318
  /**
308
319
  * A named gate from the console's shared precondition library
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nanobpm/nano-ide-ext-types",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "TypeScript types for the nano-ide.ext.json extension manifest (ADR 0007).",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -9,13 +9,14 @@
9
9
  },
10
10
  "repository": {
11
11
  "type": "git",
12
- "url": "https://github.com/jwulf/nano-ide.git",
12
+ "url": "git+https://github.com/jwulf/nano-ide.git",
13
13
  "directory": "packages/ext-types"
14
14
  },
15
15
  "main": "./dist/index.js",
16
16
  "types": "./dist/index.d.ts",
17
17
  "files": [
18
- "dist"
18
+ "dist",
19
+ "README.md"
19
20
  ],
20
21
  "scripts": {
21
22
  "build": "tsc -p tsconfig.json",