@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 +37 -0
- package/dist/index.d.ts +11 -0
- package/package.json +4 -3
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.
|
|
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",
|