initiative-plugin-sdk 4.0.0 → 4.1.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 +10 -0
- package/dist/build.d.ts +33 -3
- package/dist/build.js +44 -7
- package/dist/build.js.map +1 -1
- package/dist/cli.d.ts +4 -3
- package/dist/cli.js +10 -8
- package/dist/cli.js.map +1 -1
- package/dist/pack.d.ts +4 -2
- package/dist/pack.js +4 -5
- package/dist/pack.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -436,6 +436,16 @@ while `listing.version` is the package's own version: between releases the
|
|
|
436
436
|
package runs ahead of its listing, and a new version is listed at its release,
|
|
437
437
|
with its image's digest. The registry's CI checks and signs what is merged.
|
|
438
438
|
|
|
439
|
+
A plug-in written in another language builds its manifest itself and hands the
|
|
440
|
+
SDK a JSON file in place of `src/plugin.ts`: its `publicId`, `uid` and `name`,
|
|
441
|
+
its `manifest`, and its `listing` as declared above. The manifest is checked as
|
|
442
|
+
a definition's is, and the listing states the version it lists:
|
|
443
|
+
|
|
444
|
+
```sh
|
|
445
|
+
npx initiative-plugin build --manifest plugin.json --registry ../registry/sources
|
|
446
|
+
npx initiative-plugin pack --manifest plugin.json
|
|
447
|
+
```
|
|
448
|
+
|
|
439
449
|
A self-hosted deployment can also publish a plug-in that is in no registry, from
|
|
440
450
|
its listing file: see [A private plug-in](#a-private-plug-in).
|
|
441
451
|
|
package/dist/build.d.ts
CHANGED
|
@@ -15,16 +15,24 @@
|
|
|
15
15
|
* With `--check` nothing is written, and any file that differs from what would
|
|
16
16
|
* be written is a failure.
|
|
17
17
|
*
|
|
18
|
+
* A plug-in built outside TypeScript gives `--manifest <file>` in place of its
|
|
19
|
+
* definition: a JSON file holding its manifest and its listing
|
|
20
|
+
* ({@link BuiltPlugin}). It is checked as a definition's manifest is, and its
|
|
21
|
+
* registry source is written from its listing, which states the version it
|
|
22
|
+
* lists; no `manifest.json` is written beside it.
|
|
23
|
+
*
|
|
18
24
|
* Bundling uses esbuild, which the plug-in installs beside the SDK
|
|
19
25
|
* (`npm install --save-dev esbuild`). Nothing at run time needs it.
|
|
20
26
|
*/
|
|
21
|
-
import { type AnyPlugin } from "./define.js";
|
|
27
|
+
import { type AnyPlugin, type ListingDeclaration } from "./define.js";
|
|
22
28
|
import type { Manifest } from "./contract.js";
|
|
23
29
|
export interface BuildOptions {
|
|
24
30
|
/** The plug-in's package directory. */
|
|
25
31
|
root: string;
|
|
26
32
|
/** The module whose default export is the plug-in's definition, relative to `root`. */
|
|
27
33
|
plugin: string;
|
|
34
|
+
/** A plug-in built outside TypeScript, in place of `plugin`: its {@link BuiltPlugin} file, relative to `root`. */
|
|
35
|
+
manifest?: string;
|
|
28
36
|
/** Where registry sources live; the plug-in's is written under `<publisher>/<uid>/`. */
|
|
29
37
|
registry?: string;
|
|
30
38
|
check: boolean;
|
|
@@ -32,14 +40,36 @@ export interface BuildOptions {
|
|
|
32
40
|
type Esbuild = typeof import("esbuild");
|
|
33
41
|
/** esbuild, or null after saying how to install it. */
|
|
34
42
|
export declare function bundler(command: string): Promise<Esbuild | null>;
|
|
43
|
+
/**
|
|
44
|
+
* A plug-in whose manifest is built outside TypeScript, as `--manifest` reads
|
|
45
|
+
* it: what a definition names beside its manifest, and the manifest itself.
|
|
46
|
+
*/
|
|
47
|
+
export interface BuiltPlugin {
|
|
48
|
+
publicId: string;
|
|
49
|
+
uid: string;
|
|
50
|
+
name: string;
|
|
51
|
+
manifest: Manifest;
|
|
52
|
+
listing?: ListingDeclaration;
|
|
53
|
+
}
|
|
54
|
+
/** What the listing writers read of a plug-in: its definition, or a {@link BuiltPlugin}'s. */
|
|
55
|
+
export type ListedPlugin = Pick<AnyPlugin, "publicId" | "uid" | "name" | "scopes" | "hosts" | "hooks" | "listing">;
|
|
35
56
|
/** What a definition builds: the plug-in and its manifest, or every problem that stops it. */
|
|
36
57
|
export type Compiled = {
|
|
37
|
-
plugin:
|
|
58
|
+
plugin: ListedPlugin;
|
|
38
59
|
manifest: Manifest;
|
|
39
60
|
problems?: never;
|
|
40
61
|
} | {
|
|
41
62
|
problems: string[];
|
|
42
63
|
};
|
|
64
|
+
/**
|
|
65
|
+
* The plug-in `options` names, compiled: from its definition, or from the
|
|
66
|
+
* {@link BuiltPlugin} file `options.manifest` names. Null when its definition
|
|
67
|
+
* needs esbuild and it is not installed.
|
|
68
|
+
*/
|
|
69
|
+
export declare function load(command: string, root: string, options: {
|
|
70
|
+
plugin: string;
|
|
71
|
+
manifest?: string;
|
|
72
|
+
}): Promise<Compiled | null>;
|
|
43
73
|
/**
|
|
44
74
|
* Load the plug-in's definition, bundle its widgets and check the manifest they
|
|
45
75
|
* make, with nothing written.
|
|
@@ -48,5 +78,5 @@ export declare function compile(esbuild: Esbuild, root: string, entry: string):
|
|
|
48
78
|
/** Build, or check, the plug-in's files. Answers the process's exit code. */
|
|
49
79
|
export declare function build(options: BuildOptions): Promise<number>;
|
|
50
80
|
/** A listing's registration: the plug-in's kind, and a container's image and Compose service. */
|
|
51
|
-
export declare function registrationOf(plugin:
|
|
81
|
+
export declare function registrationOf(plugin: ListedPlugin): Record<string, unknown>;
|
|
52
82
|
export {};
|
package/dist/build.js
CHANGED
|
@@ -15,6 +15,12 @@
|
|
|
15
15
|
* With `--check` nothing is written, and any file that differs from what would
|
|
16
16
|
* be written is a failure.
|
|
17
17
|
*
|
|
18
|
+
* A plug-in built outside TypeScript gives `--manifest <file>` in place of its
|
|
19
|
+
* definition: a JSON file holding its manifest and its listing
|
|
20
|
+
* ({@link BuiltPlugin}). It is checked as a definition's manifest is, and its
|
|
21
|
+
* registry source is written from its listing, which states the version it
|
|
22
|
+
* lists; no `manifest.json` is written beside it.
|
|
23
|
+
*
|
|
18
24
|
* Bundling uses esbuild, which the plug-in installs beside the SDK
|
|
19
25
|
* (`npm install --save-dev esbuild`). Nothing at run time needs it.
|
|
20
26
|
*/
|
|
@@ -35,6 +41,33 @@ export async function bundler(command) {
|
|
|
35
41
|
return null;
|
|
36
42
|
}
|
|
37
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* The plug-in `options` names, compiled: from its definition, or from the
|
|
46
|
+
* {@link BuiltPlugin} file `options.manifest` names. Null when its definition
|
|
47
|
+
* needs esbuild and it is not installed.
|
|
48
|
+
*/
|
|
49
|
+
export async function load(command, root, options) {
|
|
50
|
+
if (options.manifest !== undefined)
|
|
51
|
+
return compileBuilt(root, options.manifest);
|
|
52
|
+
const esbuild = await bundler(command);
|
|
53
|
+
return esbuild ? compile(esbuild, root, options.plugin) : null;
|
|
54
|
+
}
|
|
55
|
+
/** A {@link BuiltPlugin} file, checked as a definition's manifest is. */
|
|
56
|
+
function compileBuilt(root, file) {
|
|
57
|
+
let built;
|
|
58
|
+
try {
|
|
59
|
+
built = JSON.parse(readFileSync(resolve(root, file), "utf-8"));
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
return { problems: [`${file}: ${error.message}`] };
|
|
63
|
+
}
|
|
64
|
+
const missing = ["publicId", "uid", "name"].filter((key) => typeof built[key] !== "string");
|
|
65
|
+
if (missing.length || typeof built.manifest !== "object" || built.manifest === null) {
|
|
66
|
+
return { problems: [`${file}: a built plug-in names its ${[...missing, "manifest"].join(", ")}`] };
|
|
67
|
+
}
|
|
68
|
+
const { manifest, ...named } = built;
|
|
69
|
+
return checked({ ...named, scopes: manifest.service?.scopes, hosts: manifest.hosts }, manifest, []);
|
|
70
|
+
}
|
|
38
71
|
/**
|
|
39
72
|
* Load the plug-in's definition, bundle its widgets and check the manifest they
|
|
40
73
|
* make, with nothing written.
|
|
@@ -51,7 +84,10 @@ export async function compile(esbuild, root, entry) {
|
|
|
51
84
|
}
|
|
52
85
|
modules[id] = source;
|
|
53
86
|
}
|
|
54
|
-
|
|
87
|
+
return checked(plugin, manifestOf(plugin, modules), problems);
|
|
88
|
+
}
|
|
89
|
+
/** The plug-in and its manifest, or every problem with them beside `problems`. */
|
|
90
|
+
function checked(plugin, manifest, problems) {
|
|
55
91
|
problems.push(...validateManifest(manifest, { publicId: plugin.publicId }).map((problem) => `manifest${problem.where}: ${problem.message}`));
|
|
56
92
|
problems.push(...kindProblems(plugin));
|
|
57
93
|
if (plugin.listing?.compose)
|
|
@@ -60,11 +96,10 @@ export async function compile(esbuild, root, entry) {
|
|
|
60
96
|
}
|
|
61
97
|
/** Build, or check, the plug-in's files. Answers the process's exit code. */
|
|
62
98
|
export async function build(options) {
|
|
63
|
-
const esbuild = await bundler("build");
|
|
64
|
-
if (!esbuild)
|
|
65
|
-
return 1;
|
|
66
99
|
const root = resolve(options.root);
|
|
67
|
-
const compiled = await
|
|
100
|
+
const compiled = await load("build", root, options);
|
|
101
|
+
if (!compiled)
|
|
102
|
+
return 1;
|
|
68
103
|
if (compiled.problems) {
|
|
69
104
|
for (const problem of compiled.problems)
|
|
70
105
|
process.stderr.write(`${problem}\n`);
|
|
@@ -72,14 +107,16 @@ export async function build(options) {
|
|
|
72
107
|
}
|
|
73
108
|
const { plugin, manifest } = compiled;
|
|
74
109
|
const manifestText = `${JSON.stringify(manifest, null, 2)}\n`;
|
|
75
|
-
const outputs = [[join(root, "manifest.json"), manifestText]];
|
|
110
|
+
const outputs = options.manifest === undefined ? [[join(root, "manifest.json"), manifestText]] : [];
|
|
76
111
|
if (options.registry !== undefined) {
|
|
77
112
|
const listing = plugin.listing;
|
|
78
113
|
if (!listing) {
|
|
79
114
|
process.stderr.write("--registry was given, but the plug-in declares no listing\n");
|
|
80
115
|
return 1;
|
|
81
116
|
}
|
|
82
|
-
const version =
|
|
117
|
+
const version = options.manifest === undefined
|
|
118
|
+
? JSON.parse(readFileSync(join(root, "package.json"), "utf-8")).version
|
|
119
|
+
: listing.version;
|
|
83
120
|
if (version === listing.version) {
|
|
84
121
|
const avatar = readFileSync(resolve(root, listing.avatar));
|
|
85
122
|
const source = resolve(root, options.registry, listing.publisher, plugin.uid);
|
package/dist/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* manifest checks.
|
|
5
5
|
*
|
|
6
6
|
* initiative-plugin init [dir] [--example minimal]
|
|
7
|
-
* initiative-plugin build [--plugin <file>] [--registry <dir>] [--check]
|
|
8
|
-
* initiative-plugin pack [--plugin <file>] [--out <file>]
|
|
7
|
+
* initiative-plugin build [--plugin <file> | --manifest <file>] [--registry <dir>] [--check]
|
|
8
|
+
* initiative-plugin pack [--plugin <file> | --manifest <file>] [--out <file>]
|
|
9
9
|
* initiative-plugin dev --initiative <url> [--api-key <key>] [--plugin <file>]
|
|
10
10
|
* initiative-plugin keygen [--alg RS256|ES256] [--kid <id>] [--out <dir>]
|
|
11
11
|
* initiative-plugin validate <file.json> a manifest, or a served manifest document
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
*
|
|
15
15
|
* `build` reads the plug-in's definition (default `src/plugin.ts`) and writes
|
|
16
16
|
* `manifest.json`, and with `--registry` the plug-in's registry source; see
|
|
17
|
-
* `build.ts
|
|
17
|
+
* `build.ts`; `--manifest` names a plug-in built outside TypeScript in place of
|
|
18
|
+
* its definition. `pack` writes the plug-in's listing file, which a self-hosted
|
|
18
19
|
* deployment publishes as its own plug-in (`pack.ts`), and `dev` uploads it to one
|
|
19
20
|
* and again on each change (`dev.ts`); its key may be given as
|
|
20
21
|
* `INITIATIVE_API_KEY` instead. `init` copies an example (`init.ts`).
|
package/dist/cli.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* manifest checks.
|
|
5
5
|
*
|
|
6
6
|
* initiative-plugin init [dir] [--example minimal]
|
|
7
|
-
* initiative-plugin build [--plugin <file>] [--registry <dir>] [--check]
|
|
8
|
-
* initiative-plugin pack [--plugin <file>] [--out <file>]
|
|
7
|
+
* initiative-plugin build [--plugin <file> | --manifest <file>] [--registry <dir>] [--check]
|
|
8
|
+
* initiative-plugin pack [--plugin <file> | --manifest <file>] [--out <file>]
|
|
9
9
|
* initiative-plugin dev --initiative <url> [--api-key <key>] [--plugin <file>]
|
|
10
10
|
* initiative-plugin keygen [--alg RS256|ES256] [--kid <id>] [--out <dir>]
|
|
11
11
|
* initiative-plugin validate <file.json> a manifest, or a served manifest document
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
*
|
|
15
15
|
* `build` reads the plug-in's definition (default `src/plugin.ts`) and writes
|
|
16
16
|
* `manifest.json`, and with `--registry` the plug-in's registry source; see
|
|
17
|
-
* `build.ts
|
|
17
|
+
* `build.ts`; `--manifest` names a plug-in built outside TypeScript in place of
|
|
18
|
+
* its definition. `pack` writes the plug-in's listing file, which a self-hosted
|
|
18
19
|
* deployment publishes as its own plug-in (`pack.ts`), and `dev` uploads it to one
|
|
19
20
|
* and again on each change (`dev.ts`); its key may be given as
|
|
20
21
|
* `INITIATIVE_API_KEY` instead. `init` copies an example (`init.ts`).
|
|
@@ -33,8 +34,8 @@ function usage() {
|
|
|
33
34
|
process.stderr.write([
|
|
34
35
|
"usage:",
|
|
35
36
|
" initiative-plugin init [dir] [--example minimal]",
|
|
36
|
-
" initiative-plugin build [--plugin <file>] [--registry <dir>] [--check]",
|
|
37
|
-
" initiative-plugin pack [--plugin <file>] [--out <file>]",
|
|
37
|
+
" initiative-plugin build [--plugin <file> | --manifest <file>] [--registry <dir>] [--check]",
|
|
38
|
+
" initiative-plugin pack [--plugin <file> | --manifest <file>] [--out <file>]",
|
|
38
39
|
" initiative-plugin dev --initiative <url> [--api-key <key>] [--plugin <file>]",
|
|
39
40
|
" initiative-plugin keygen [--alg RS256|ES256] [--kid <id>] [--out <dir>]",
|
|
40
41
|
" initiative-plugin validate <file.json>",
|
|
@@ -121,17 +122,18 @@ async function main(argv) {
|
|
|
121
122
|
return init({ dir, example: options.example ?? "minimal" });
|
|
122
123
|
}
|
|
123
124
|
case "build": {
|
|
124
|
-
const options = flags(rest, ["plugin", "registry"], ["check"]);
|
|
125
|
+
const options = flags(rest, ["plugin", "manifest", "registry"], ["check"]);
|
|
125
126
|
return build({
|
|
126
127
|
root: process.cwd(),
|
|
127
128
|
plugin: typeof options.plugin === "string" ? options.plugin : "src/plugin.ts",
|
|
129
|
+
...(typeof options.manifest === "string" ? { manifest: options.manifest } : {}),
|
|
128
130
|
...(typeof options.registry === "string" ? { registry: options.registry } : {}),
|
|
129
131
|
check: options.check === true,
|
|
130
132
|
});
|
|
131
133
|
}
|
|
132
134
|
case "pack": {
|
|
133
|
-
const options = flags(rest, ["plugin", "out"]);
|
|
134
|
-
return pack({ root: process.cwd(), plugin: options.plugin ?? "src/plugin.ts", out: options.out });
|
|
135
|
+
const options = flags(rest, ["plugin", "manifest", "out"]);
|
|
136
|
+
return pack({ root: process.cwd(), plugin: options.plugin ?? "src/plugin.ts", manifest: options.manifest, out: options.out });
|
|
135
137
|
}
|
|
136
138
|
case "dev": {
|
|
137
139
|
const options = flags(rest, ["initiative", "api-key", "plugin"]);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/pack.d.ts
CHANGED
|
@@ -14,13 +14,15 @@
|
|
|
14
14
|
* and WebP; any other picture is left out, and the listing shows the
|
|
15
15
|
* deployment's default mark.
|
|
16
16
|
*/
|
|
17
|
+
import { type ListedPlugin } from "./build.js";
|
|
17
18
|
import type { Manifest } from "./contract.js";
|
|
18
|
-
import type { AnyPlugin } from "./define.js";
|
|
19
19
|
export interface PackOptions {
|
|
20
20
|
/** The plug-in's package directory. */
|
|
21
21
|
root: string;
|
|
22
22
|
/** The module whose default export is the plug-in's definition, relative to `root`. */
|
|
23
23
|
plugin: string;
|
|
24
|
+
/** A plug-in built outside TypeScript, in place of `plugin`: its `BuiltPlugin` file, relative to `root`. */
|
|
25
|
+
manifest?: string;
|
|
24
26
|
/** Where to write the listing file, relative to `root`. Default: `<publicId>-<version>.json`. */
|
|
25
27
|
out?: string;
|
|
26
28
|
}
|
|
@@ -30,6 +32,6 @@ export interface Packed {
|
|
|
30
32
|
avatar: Buffer | null;
|
|
31
33
|
}
|
|
32
34
|
/** The listing file for a plug-in whose manifest `compile` made. */
|
|
33
|
-
export declare function listingFile(plugin:
|
|
35
|
+
export declare function listingFile(plugin: ListedPlugin, manifest: Manifest, root: string): Packed;
|
|
34
36
|
/** Write the plug-in's listing file. Answers the process's exit code. */
|
|
35
37
|
export declare function pack(options: PackOptions): Promise<number>;
|
package/dist/pack.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import { createHash } from "node:crypto";
|
|
18
18
|
import { readFileSync, writeFileSync } from "node:fs";
|
|
19
19
|
import { relative, resolve } from "node:path";
|
|
20
|
-
import {
|
|
20
|
+
import { load, registrationOf } from "./build.js";
|
|
21
21
|
/** Where a deployment serves the pictures uploaded for its listings. */
|
|
22
22
|
const MEDIA_PATH = "/api/v1/marketplace/media/";
|
|
23
23
|
const KEPT_PICTURES = /\.(png|jpe?g|gif|webp)$/i;
|
|
@@ -50,11 +50,10 @@ export function listingFile(plugin, manifest, root) {
|
|
|
50
50
|
}
|
|
51
51
|
/** Write the plug-in's listing file. Answers the process's exit code. */
|
|
52
52
|
export async function pack(options) {
|
|
53
|
-
const esbuild = await bundler("pack");
|
|
54
|
-
if (!esbuild)
|
|
55
|
-
return 1;
|
|
56
53
|
const root = resolve(options.root);
|
|
57
|
-
const compiled = await
|
|
54
|
+
const compiled = await load("pack", root, options);
|
|
55
|
+
if (!compiled)
|
|
56
|
+
return 1;
|
|
58
57
|
if (compiled.problems) {
|
|
59
58
|
for (const problem of compiled.problems)
|
|
60
59
|
process.stderr.write(`${problem}\n`);
|
package/dist/pack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../src/pack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../src/pack.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "initiative-plugin-sdk",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Build a plug-in for Initiative: one typed definition of its endpoints, hooks, schedules, widgets and listing, the server Initiative calls, the client it calls Initiative with, the CLI that builds its manifest, and declarative integrations Initiative runs from the manifest alone.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|