@nanobpm/nano-ide-ext-types 1.0.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.
@@ -0,0 +1,38 @@
1
+ export type ExtKind = "lang" | "app" | "example";
2
+ export interface FileType {
3
+ /** File extension including the dot, e.g. ".rs". */
4
+ ext: string;
5
+ /** Monaco language id; the editor lazy-loads it only for matching files. */
6
+ monacoLang: string;
7
+ }
8
+ export interface Toolchain {
9
+ /** Probe argv proving the toolchain is installed (e.g. ["cargo","--version"]). */
10
+ detect?: string[];
11
+ /** argv to run the project (cwd = project dir). Empty => built-in Deno runner. */
12
+ run?: string[];
13
+ /** argv to compile the project. Empty => Deno compile. */
14
+ compile?: string[];
15
+ /** Cross-compile target triples this toolchain offers. */
16
+ targets?: string[];
17
+ }
18
+ export interface TemplateSpec {
19
+ id: string;
20
+ label: string;
21
+ }
22
+ export interface ExtManifest {
23
+ id: string;
24
+ kind: ExtKind;
25
+ displayName: string;
26
+ fileTypes?: FileType[];
27
+ templates?: TemplateSpec[];
28
+ toolchain?: Toolchain;
29
+ /** example packs: lang pack ids required to build/run this example. */
30
+ requires?: string[];
31
+ /** example packs: subdir holding the ready-to-copy project. */
32
+ appDir?: string;
33
+ /** example packs: one-line description for the picker. */
34
+ summary?: string;
35
+ /** Built-in packs set this; published packs omit it. */
36
+ builtin?: boolean;
37
+ }
38
+ export declare const MANIFEST_FILE = "nano-ide.ext.json";
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ // nano-ide.ext.json manifest contract (ADR 0007). Mirrors the host parser in
2
+ // nanobpmn server/src/console/extensions.rs — keep in sync.
3
+ export const MANIFEST_FILE = "nano-ide.ext.json";
package/package.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "@nanobpm/nano-ide-ext-types",
3
+ "version": "1.0.0",
4
+ "description": "TypeScript types for the nano-ide.ext.json extension manifest (ADR 0007).",
5
+ "license": "Apache-2.0",
6
+ "type": "module",
7
+ "publishConfig": { "access": "public" },
8
+ "repository": { "type": "git", "url": "https://github.com/jwulf/nano-ide.git", "directory": "packages/ext-types" },
9
+ "main": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "files": ["dist"],
12
+ "scripts": {
13
+ "build": "tsc -p tsconfig.json",
14
+ "typecheck": "tsc --noEmit"
15
+ }
16
+ }