@monosmith/plugin-sdk 0.5.0 → 0.7.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.
@@ -1,3 +1,3 @@
1
1
  export { scaffoldProject } from './scaffold-project.use-case.ts';
2
2
  export type { ScaffoldOptions } from './scaffold-project.use-case.ts';
3
- export { scaffoldData } from './scaffold-data.mapper.ts';
3
+ export { scaffoldData } from './template-fields.mapper.ts';
package/scaffold/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export { scaffoldProject } from './scaffold-project.use-case.js';
2
- export { scaffoldData } from './scaffold-data.mapper.js';
2
+ export { scaffoldData } from './template-fields.mapper.js';
@@ -1,5 +1,5 @@
1
1
  import { writeTemplates } from '../templating/index.js';
2
- import { scaffoldData } from './scaffold-data.mapper.js';
2
+ import { scaffoldData } from './template-fields.mapper.js';
3
3
  /**
4
4
  * The answer to `generate` for a scaffold: renders the templates into the new
5
5
  * project, never overwriting a file, and reports what it wrote. A language
package/serve/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { serve, serveStreams } from './serve.use-case.ts';
2
2
  export { capabilitiesOf, implementsMethod } from './capabilities-of.algorithm.ts';
3
- export type { Awaitable, Cancellable, CIContributor, Contributor, DeclarationEditor, DependencyManager, Discoverer, DoctorContributor, Generator, KindChanger, LatestReader, Plugin, PluginDescription, Publisher, RegistryReader, Remover, SmithPlugin, Versioner, } from './plugin.contract.ts';
3
+ export type { APISurfaceReader, Awaitable, Cancellable, CIContributor, ComponentLister, Contributor, DeclarationEditor, DependencyManager, Deriver, Discoverer, DoctorContributor, Generator, KindChanger, LatestReader, Linker, Plugin, PluginDescription, Publisher, RegistryReader, Remover, SmithPlugin, Versioner, } from './plugin.contract.ts';
4
4
  export type { FrameSink, ServeStreams } from './protocol-streams.contract.ts';
@@ -20,7 +20,12 @@ export const PLUGIN_MEMBERS = {
20
20
  'published': { member: 'published', requires: ['published'] },
21
21
  'dependencies/install': { member: 'install', requires: ['install', 'uninstall'] },
22
22
  'dependencies/uninstall': { member: 'uninstall', requires: ['install', 'uninstall'] },
23
+ 'dependencies/link': { member: 'link', requires: ['link', 'unlink'] },
24
+ 'dependencies/unlink': { member: 'unlink', requires: ['link', 'unlink'] },
23
25
  'dependencies/declared': { member: 'declared', requires: ['declared', 'rewrite'] },
24
26
  'dependencies/rewrite': { member: 'rewrite', requires: ['declared', 'rewrite'] },
25
27
  'dependencies/latest': { member: 'latest', requires: ['latest'] },
28
+ 'sbom/components': { member: 'components', requires: ['components'] },
29
+ 'derive': { member: 'derive', requires: ['derive'] },
30
+ 'api/surface': { member: 'apiSurface', requires: ['apiSurface'] },
26
31
  };
@@ -1,4 +1,4 @@
1
- import type { ChangeKindParams, ChangeKindResult, CIParams, CIResult, ContributeParams, ContributeResult, DeclaredParams, DeclaredResult, DependencyResult, DiscoverParams, DiscoverResult, DoctorParams, DoctorResult, GenerateParams, GenerateResult, InitializeParams, InitializeResult, InstallParams, LatestParams, LatestResult, PublishedParams, PublishedResult, PublishParams, PublishResult, RemoveParams, RemoveResult, RewriteParams, UninstallParams, VersionParams, VersionResult } from '../protocol/index.ts';
1
+ import type { DeriveParams, DeriveResult, APISurfaceParams, APISurfaceResult, ChangeKindParams, ChangeKindResult, CIParams, CIResult, ComponentsParams, ComponentsResult, ContributeParams, ContributeResult, DeclaredParams, DeclaredResult, DependencyResult, DiscoverParams, DiscoverResult, DoctorParams, DoctorResult, GenerateParams, GenerateResult, InitializeParams, InitializeResult, InstallParams, LatestParams, LatestResult, LinkParams, LinkResult, PublishedParams, PublishedResult, PublishParams, PublishResult, RemoveParams, RemoveResult, RewriteParams, UninstallParams, UnlinkParams, VersionParams, VersionResult } from '../protocol/index.ts';
2
2
  /** A result now or later: every method of a plugin may be `async`. */
3
3
  export type Awaitable<T> = T | Promise<T>;
4
4
  /** What a plugin says about itself. The serve loop fills in `protocolVersion` and `capabilities`. */
@@ -44,11 +44,28 @@ export interface Remover {
44
44
  export interface KindChanger {
45
45
  changeKind: (params: ChangeKindParams, signal: AbortSignal) => Awaitable<ChangeKindResult>;
46
46
  }
47
+ /** `sbom/components`: the components a project ships, for the SBOM a release attaches. */
48
+ export interface ComponentLister {
49
+ components: (params: ComponentsParams, signal: AbortSignal) => Awaitable<ComponentsResult>;
50
+ }
51
+ /** `derive`: the files the plugin derives from facts and the project graph (smith derive). */
52
+ export interface Deriver {
53
+ derive: (params: DeriveParams, signal: AbortSignal) => Awaitable<DeriveResult>;
54
+ }
55
+ /** `api/surface`: the public API names of a project at a git revision, for the release's version check. */
56
+ export interface APISurfaceReader {
57
+ apiSurface: (params: APISurfaceParams, signal: AbortSignal) => Awaitable<APISurfaceResult>;
58
+ }
47
59
  /** `dependencies/install` and `dependencies/uninstall`: both, or the capability is not advertised. */
48
60
  export interface DependencyManager {
49
61
  install: (params: InstallParams, signal: AbortSignal) => Awaitable<DependencyResult>;
50
62
  uninstall: (params: UninstallParams, signal: AbortSignal) => Awaitable<DependencyResult>;
51
63
  }
64
+ /** `dependencies/link` and `dependencies/unlink`: both, or the capability is not advertised. */
65
+ export interface Linker {
66
+ link: (params: LinkParams, signal: AbortSignal) => Awaitable<LinkResult>;
67
+ unlink: (params: UnlinkParams, signal: AbortSignal) => Awaitable<DependencyResult>;
68
+ }
52
69
  /** `dependencies/declared` and `dependencies/rewrite`: both, or the capability is not advertised. */
53
70
  export interface DeclarationEditor {
54
71
  declared: (params: DeclaredParams, signal: AbortSignal) => Awaitable<DeclaredResult>;
@@ -81,4 +98,4 @@ export interface Cancellable {
81
98
  * from `cancellable`. How many requests it can work on at once is declared in
82
99
  * `describe`'s `concurrency`: omit it for one at a time, in order.
83
100
  */
84
- export type SmithPlugin = Plugin & Partial<Discoverer & Generator & Versioner & Publisher & RegistryReader & CIContributor & DoctorContributor & Remover & KindChanger & DependencyManager & DeclarationEditor & LatestReader & Contributor & Cancellable>;
101
+ export type SmithPlugin = Plugin & Partial<Discoverer & Generator & Versioner & Publisher & RegistryReader & CIContributor & DoctorContributor & Remover & KindChanger & ComponentLister & Deriver & APISurfaceReader & DependencyManager & Linker & DeclarationEditor & LatestReader & Contributor & Cancellable>;