@baseplate-dev/project-builder-lib 0.2.6 → 0.3.1
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/dist/compiler/app-compiler-spec.d.ts +1 -1
- package/dist/compiler/app-compiler-spec.d.ts.map +1 -1
- package/dist/definition/apps/app-utils.d.ts +9 -1
- package/dist/definition/apps/app-utils.d.ts.map +1 -1
- package/dist/definition/apps/app-utils.js +13 -5
- package/dist/definition/apps/app-utils.js.map +1 -1
- package/dist/definition/plugins/plugin-utils.d.ts +18 -6
- package/dist/definition/plugins/plugin-utils.d.ts.map +1 -1
- package/dist/definition/plugins/plugin-utils.js +40 -13
- package/dist/definition/plugins/plugin-utils.js.map +1 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +2 -0
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/migration-017-rename-auth-plugin.d.ts +21 -0
- package/dist/migrations/migration-017-rename-auth-plugin.d.ts.map +1 -0
- package/dist/migrations/migration-017-rename-auth-plugin.js +60 -0
- package/dist/migrations/migration-017-rename-auth-plugin.js.map +1 -0
- package/dist/parser/parser.d.ts +10 -1
- package/dist/parser/parser.d.ts.map +1 -1
- package/dist/parser/parser.js +27 -2
- package/dist/parser/parser.js.map +1 -1
- package/dist/plugin-tools/plugin-loader.d.ts +13 -1
- package/dist/plugin-tools/plugin-loader.d.ts.map +1 -1
- package/dist/plugin-tools/plugin-loader.js +95 -36
- package/dist/plugin-tools/plugin-loader.js.map +1 -1
- package/dist/plugins/imports/index.d.ts +1 -0
- package/dist/plugins/imports/index.d.ts.map +1 -1
- package/dist/plugins/imports/index.js +1 -0
- package/dist/plugins/imports/index.js.map +1 -1
- package/dist/plugins/imports/loader.d.ts +2 -2
- package/dist/plugins/imports/loader.d.ts.map +1 -1
- package/dist/plugins/imports/loader.js +4 -4
- package/dist/plugins/imports/loader.js.map +1 -1
- package/dist/plugins/imports/types.d.ts +1 -1
- package/dist/plugins/imports/types.d.ts.map +1 -1
- package/dist/plugins/imports/utils.d.ts +21 -0
- package/dist/plugins/imports/utils.d.ts.map +1 -0
- package/dist/plugins/imports/utils.js +33 -0
- package/dist/plugins/imports/utils.js.map +1 -0
- package/dist/plugins/index.d.ts +0 -1
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +0 -1
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/metadata/types.d.ts +17 -3
- package/dist/plugins/metadata/types.d.ts.map +1 -1
- package/dist/plugins/metadata/types.js +9 -1
- package/dist/plugins/metadata/types.js.map +1 -1
- package/dist/plugins/plugins.test-utils.d.ts.map +1 -1
- package/dist/plugins/plugins.test-utils.js +2 -1
- package/dist/plugins/plugins.test-utils.js.map +1 -1
- package/dist/plugins/spec/auth-config-spec.d.ts +0 -2
- package/dist/plugins/spec/auth-config-spec.d.ts.map +1 -1
- package/dist/plugins/spec/auth-config-spec.js.map +1 -1
- package/dist/plugins/spec/auth-model-config-spec.d.ts +15 -0
- package/dist/plugins/spec/auth-model-config-spec.d.ts.map +1 -0
- package/dist/plugins/spec/auth-model-config-spec.js +6 -0
- package/dist/plugins/spec/auth-model-config-spec.js.map +1 -0
- package/dist/plugins/spec/config-spec.d.ts +2 -2
- package/dist/plugins/spec/config-spec.d.ts.map +1 -1
- package/dist/plugins/spec/index.d.ts +1 -0
- package/dist/plugins/spec/index.d.ts.map +1 -1
- package/dist/plugins/spec/index.js +1 -0
- package/dist/plugins/spec/index.js.map +1 -1
- package/dist/plugins/spec/web-config-spec.d.ts +3 -3
- package/dist/plugins/spec/web-config-spec.d.ts.map +1 -1
- package/dist/plugins/spec/web-config-spec.js +6 -6
- package/dist/plugins/spec/web-config-spec.js.map +1 -1
- package/dist/schema/apps/index.d.ts +0 -1
- package/dist/schema/apps/index.d.ts.map +1 -1
- package/dist/schema/apps/index.js +0 -2
- package/dist/schema/apps/index.js.map +1 -1
- package/dist/schema/apps/web/admin/admin.d.ts +2 -2
- package/dist/schema/apps/web/admin/sections/crud.d.ts +1 -1
- package/dist/schema/apps/web/admin/sections/crud.js +1 -1
- package/dist/schema/apps/web/admin/sections/crud.js.map +1 -1
- package/dist/schema/apps/web/index.d.ts +1 -0
- package/dist/schema/apps/web/index.d.ts.map +1 -1
- package/dist/schema/apps/web/index.js +1 -0
- package/dist/schema/apps/web/index.js.map +1 -1
- package/dist/schema/apps/web/web-app.d.ts +1 -5
- package/dist/schema/apps/web/web-app.d.ts.map +1 -1
- package/dist/schema/apps/web/web-app.js +0 -5
- package/dist/schema/apps/web/web-app.js.map +1 -1
- package/dist/schema/project-definition.d.ts +2 -14
- package/dist/schema/project-definition.d.ts.map +1 -1
- package/dist/web/specs/admin-crud-input-web-spec.d.ts +2 -2
- package/dist/web/specs/admin-crud-input-web-spec.d.ts.map +1 -1
- package/dist/web/specs/model-transformer-web-spec.d.ts +2 -2
- package/dist/web/specs/model-transformer-web-spec.d.ts.map +1 -1
- package/package.json +9 -8
- package/dist/plugins/manifest/manifest.d.ts +0 -13
- package/dist/plugins/manifest/manifest.d.ts.map +0 -1
- package/dist/plugins/manifest/manifest.js +0 -6
- package/dist/plugins/manifest/manifest.js.map +0 -1
|
@@ -1,8 +1,32 @@
|
|
|
1
|
+
import { handleFileNotFoundError, readJsonWithSchema, } from '@baseplate-dev/utils/node';
|
|
1
2
|
import { globby } from 'globby';
|
|
3
|
+
import fsAdapter from 'node:fs';
|
|
2
4
|
import fs from 'node:fs/promises';
|
|
3
5
|
import path from 'node:path';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { pluginMetadataSchema } from '../plugins/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Schema for baseplate configuration in package.json
|
|
10
|
+
*/
|
|
11
|
+
const baseplatePackageConfigSchema = z
|
|
12
|
+
.object({
|
|
13
|
+
baseplate: z
|
|
14
|
+
.object({
|
|
15
|
+
/**
|
|
16
|
+
* Glob patterns to search for plugin.json files.
|
|
17
|
+
* Defaults to built plugins only if not specified.
|
|
18
|
+
*/
|
|
19
|
+
pluginGlobs: z.array(z.string()).optional(),
|
|
20
|
+
/**
|
|
21
|
+
* Web build directory relative to package root.
|
|
22
|
+
* Defaults to dist/web if not specified.
|
|
23
|
+
*/
|
|
24
|
+
webBuildDirectory: z.string().optional(),
|
|
25
|
+
})
|
|
26
|
+
.optional(),
|
|
27
|
+
})
|
|
28
|
+
.optional();
|
|
29
|
+
export class PluginLoaderError extends Error {
|
|
6
30
|
constructor(message, innerError) {
|
|
7
31
|
super(`Error loading plugin (${message}): ${innerError instanceof Error ? innerError.message : String(innerError)}`);
|
|
8
32
|
Object.defineProperty(this, "innerError", {
|
|
@@ -20,27 +44,31 @@ async function fileExists(path) {
|
|
|
20
44
|
.then(() => true)
|
|
21
45
|
.catch(() => false);
|
|
22
46
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Read baseplate configuration from package.json
|
|
49
|
+
*/
|
|
50
|
+
async function readBaseplatePackageConfig(pluginPackageDirectory) {
|
|
51
|
+
const packageJsonPath = path.join(pluginPackageDirectory, 'package.json');
|
|
52
|
+
try {
|
|
53
|
+
const packageConfig = await readJsonWithSchema(packageJsonPath, baseplatePackageConfigSchema).catch(handleFileNotFoundError);
|
|
54
|
+
return packageConfig;
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
// If package.json doesn't exist or is invalid, return undefined (use defaults)
|
|
58
|
+
return undefined;
|
|
27
59
|
}
|
|
28
|
-
return await fs
|
|
29
|
-
.readFile(manifestJsonPath, 'utf8')
|
|
30
|
-
.then((data) => pluginManifestJsonSchema.parse(JSON.parse(data)));
|
|
31
60
|
}
|
|
32
|
-
async function
|
|
33
|
-
const
|
|
61
|
+
async function readPluginMetadata(directory) {
|
|
62
|
+
const pluginJsonFilename = path.join(directory, 'plugin.json');
|
|
34
63
|
try {
|
|
35
|
-
|
|
36
|
-
|
|
64
|
+
const pluginJsonContent = await readJsonWithSchema(pluginJsonFilename, pluginMetadataSchema).catch(handleFileNotFoundError);
|
|
65
|
+
if (!pluginJsonContent) {
|
|
66
|
+
throw new Error(`Plugin configuration file not found: ${pluginJsonFilename}`);
|
|
37
67
|
}
|
|
38
|
-
return
|
|
39
|
-
.readFile(metadataJsonFilename, 'utf8')
|
|
40
|
-
.then((data) => pluginMetadataSchema.parse(JSON.parse(data)));
|
|
68
|
+
return pluginJsonContent;
|
|
41
69
|
}
|
|
42
70
|
catch (error) {
|
|
43
|
-
throw new PluginLoaderError(`Unable to read plugin
|
|
71
|
+
throw new PluginLoaderError(`Unable to read plugin configuration ${pluginJsonFilename}`, error);
|
|
44
72
|
}
|
|
45
73
|
}
|
|
46
74
|
const ENTRYPOINT_TYPES = ['node', 'web', 'common'];
|
|
@@ -90,12 +118,13 @@ async function populatePluginMetadataWithPaths(metadata, packageName, pluginDire
|
|
|
90
118
|
const webEntrypoints = entrypoints.filter((n) => WEB_ENTRYPOINT_TYPES.has(n.type));
|
|
91
119
|
return {
|
|
92
120
|
...metadata,
|
|
93
|
-
// URL safe
|
|
94
|
-
|
|
121
|
+
// URL safe key
|
|
122
|
+
key: `${packageName
|
|
95
123
|
.replace(/^@/, '')
|
|
96
124
|
.replace(/[^a-z0-9/]+/g, '-')
|
|
97
125
|
.replace(/\//g, '_')}_${metadata.name.replace(/[^a-z0-9]+/g, '-')}`,
|
|
98
126
|
packageName,
|
|
127
|
+
fullyQualifiedName: `${packageName}:${metadata.name}`,
|
|
99
128
|
pluginDirectory,
|
|
100
129
|
webBuildDirectory,
|
|
101
130
|
nodeModulePaths: nodeEntrypoints.map((e) => e.path),
|
|
@@ -106,25 +135,46 @@ async function populatePluginMetadataWithPaths(metadata, packageName, pluginDire
|
|
|
106
135
|
throw new PluginLoaderError('Unable to populate plugin metadata with paths', error);
|
|
107
136
|
}
|
|
108
137
|
}
|
|
109
|
-
|
|
110
|
-
|
|
138
|
+
/**
|
|
139
|
+
* Discover plugin directories by scanning for plugin.json files
|
|
140
|
+
*/
|
|
141
|
+
async function discoverPluginDirectories(pluginPackageDirectory, pluginGlobs = ['dist/*/plugin.json']) {
|
|
142
|
+
const pluginJsonFiles = await globby(pluginGlobs, {
|
|
111
143
|
cwd: pluginPackageDirectory,
|
|
112
|
-
onlyDirectories: true,
|
|
113
144
|
expandDirectories: false,
|
|
145
|
+
fs: fsAdapter,
|
|
114
146
|
});
|
|
115
|
-
return
|
|
147
|
+
return pluginJsonFiles.map((pluginJsonFile) => path.join(pluginPackageDirectory, path.dirname(pluginJsonFile)));
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Gets the web build directory for a plugin package, using package.json config or defaults
|
|
151
|
+
*/
|
|
152
|
+
async function getWebBuildDirectory(pluginPackageDirectory) {
|
|
153
|
+
const packageConfig = await readBaseplatePackageConfig(pluginPackageDirectory);
|
|
154
|
+
const webBuildDirectory = packageConfig?.baseplate?.webBuildDirectory ?? 'dist/web';
|
|
155
|
+
return path.join(pluginPackageDirectory, webBuildDirectory);
|
|
116
156
|
}
|
|
117
157
|
/**
|
|
118
158
|
* Finds the available plugins in a package.
|
|
119
159
|
*/
|
|
120
|
-
export async function loadPluginsInPackage(pluginPackageDirectory, packageName) {
|
|
121
|
-
//
|
|
122
|
-
const
|
|
123
|
-
const
|
|
160
|
+
export async function loadPluginsInPackage(pluginPackageDirectory, packageName, options = {}) {
|
|
161
|
+
// Read package.json configuration for defaults
|
|
162
|
+
const packageConfig = await readBaseplatePackageConfig(pluginPackageDirectory);
|
|
163
|
+
const defaultPluginGlobs = packageConfig?.baseplate?.pluginGlobs ?? [
|
|
164
|
+
'dist/*/plugin.json',
|
|
165
|
+
];
|
|
166
|
+
const { pluginGlobs = defaultPluginGlobs } = options;
|
|
167
|
+
// Discover plugin directories using configurable globs
|
|
168
|
+
const pluginDirectories = await discoverPluginDirectories(pluginPackageDirectory, pluginGlobs);
|
|
169
|
+
if (pluginDirectories.length === 0) {
|
|
170
|
+
throw new PluginLoaderError(`No plugins found in package ${packageName}. Searched with globs: ${pluginGlobs.join(', ')}`, undefined);
|
|
171
|
+
}
|
|
172
|
+
// Use configured or conventional web build directory
|
|
173
|
+
const webBuildDirectory = await getWebBuildDirectory(pluginPackageDirectory);
|
|
124
174
|
// Load the plugins
|
|
125
175
|
const plugins = await Promise.all(pluginDirectories.map(async (directory) => {
|
|
126
|
-
const metadata = await
|
|
127
|
-
return populatePluginMetadataWithPaths(metadata, packageName, directory,
|
|
176
|
+
const metadata = await readPluginMetadata(directory);
|
|
177
|
+
return populatePluginMetadataWithPaths(metadata, packageName, directory, webBuildDirectory);
|
|
128
178
|
}));
|
|
129
179
|
return plugins;
|
|
130
180
|
}
|
|
@@ -146,16 +196,25 @@ export function rewriteDistToSrc(directory) {
|
|
|
146
196
|
}
|
|
147
197
|
export async function getModuleFederationTargets(pluginPackageDirectory, options = {}) {
|
|
148
198
|
const { rewritePluginDirectory } = options;
|
|
149
|
-
|
|
150
|
-
const
|
|
151
|
-
const
|
|
152
|
-
|
|
199
|
+
// Read package.json configuration for plugin globs
|
|
200
|
+
const packageConfig = await readBaseplatePackageConfig(pluginPackageDirectory);
|
|
201
|
+
const pluginGlobs = packageConfig?.baseplate?.pluginGlobs ?? [
|
|
202
|
+
'dist/*/plugin.json',
|
|
203
|
+
];
|
|
204
|
+
// Discover plugin directories using configured globs
|
|
205
|
+
const discoveredDirectories = await discoverPluginDirectories(pluginPackageDirectory, pluginGlobs);
|
|
206
|
+
if (discoveredDirectories.length === 0) {
|
|
207
|
+
throw new Error(`No plugins found in ${pluginPackageDirectory}. Looked for plugin.json files.`);
|
|
208
|
+
}
|
|
209
|
+
// Apply rewrite if needed
|
|
210
|
+
const pluginDirectories = rewritePluginDirectory
|
|
211
|
+
? discoveredDirectories.map((directory) => {
|
|
153
212
|
const relativeDirectory = path.relative(pluginPackageDirectory, directory);
|
|
154
213
|
return path.join(pluginPackageDirectory, rewritePluginDirectory(relativeDirectory));
|
|
155
214
|
})
|
|
156
|
-
:
|
|
157
|
-
const targets = await Promise.all(
|
|
158
|
-
const metadata = await
|
|
215
|
+
: discoveredDirectories;
|
|
216
|
+
const targets = await Promise.all(pluginDirectories.map(async (directory) => {
|
|
217
|
+
const metadata = await readPluginMetadata(directory);
|
|
159
218
|
return getModuleFederationTargetsForPlugin(metadata, directory, pluginPackageDirectory);
|
|
160
219
|
}));
|
|
161
220
|
if (targets.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/plugin-tools/plugin-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/plugin-tools/plugin-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/imports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/imports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -2,14 +2,14 @@ import type { PluginSpecImplementation } from '../spec/types.js';
|
|
|
2
2
|
import type { KeyedPluginPlatformModule } from './types.js';
|
|
3
3
|
import { PluginImplementationStore } from '../schema/store.js';
|
|
4
4
|
export interface PluginWithPlatformModules {
|
|
5
|
-
|
|
5
|
+
key: string;
|
|
6
6
|
name: string;
|
|
7
7
|
pluginModules: KeyedPluginPlatformModule[];
|
|
8
8
|
}
|
|
9
9
|
interface KeyedPlatformModuleWithPlugin extends KeyedPluginPlatformModule {
|
|
10
10
|
id: string;
|
|
11
11
|
name: string;
|
|
12
|
-
|
|
12
|
+
pluginKey: string;
|
|
13
13
|
pluginName: string;
|
|
14
14
|
}
|
|
15
15
|
export declare function extractPlatformModulesFromPlugins(plugins: PluginWithPlatformModules[]): KeyedPlatformModuleWithPlugin[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,WAAW,yBAAyB;IACxC,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,yBAAyB,EAAE,CAAC;CAC5C;AAED,UAAU,6BAA8B,SAAQ,yBAAyB;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,yBAAyB,EAAE,GACnC,6BAA6B,EAAE,CAUjC;AAED,wBAAgB,yCAAyC,CACvD,aAAa,EAAE,6BAA6B,EAAE,EAC9C,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GACnE,MAAM,EAAE,CAgDV;AAED,wBAAgB,8BAA8B,CAC5C,oBAAoB,EAAE,6BAA6B,EAAE,EACrD,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,GAC5E,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CA4BnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,yBAAyB,EAAE,EACpC,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GACnE,yBAAyB,CAc3B"}
|
|
@@ -5,9 +5,9 @@ import { PluginImplementationStore } from '../schema/store.js';
|
|
|
5
5
|
export function extractPlatformModulesFromPlugins(plugins) {
|
|
6
6
|
return plugins.flatMap((plugin) => plugin.pluginModules.map((m) => ({
|
|
7
7
|
...m,
|
|
8
|
-
id: `${plugin.
|
|
8
|
+
id: `${plugin.key}/${m.key}`,
|
|
9
9
|
name: `${plugin.name}/${m.key}`,
|
|
10
|
-
|
|
10
|
+
pluginKey: plugin.key,
|
|
11
11
|
pluginName: plugin.name,
|
|
12
12
|
})));
|
|
13
13
|
}
|
|
@@ -46,7 +46,7 @@ export function getOrderedPluginModuleInitializationSteps(pluginModules, initial
|
|
|
46
46
|
}
|
|
47
47
|
export function initializeOrderedPluginModules(orderedPluginModules, initialSpecImplementations) {
|
|
48
48
|
const specImplementations = { ...initialSpecImplementations };
|
|
49
|
-
for (const { name, module,
|
|
49
|
+
for (const { name, module, pluginKey } of orderedPluginModules) {
|
|
50
50
|
const dependencies = module.dependencies
|
|
51
51
|
? stripUndefinedValues(mapValues(module.dependencies, (dep) => {
|
|
52
52
|
const implementation = specImplementations[dep.name];
|
|
@@ -56,7 +56,7 @@ export function initializeOrderedPluginModules(orderedPluginModules, initialSpec
|
|
|
56
56
|
return implementation;
|
|
57
57
|
}))
|
|
58
58
|
: {};
|
|
59
|
-
const context = {
|
|
59
|
+
const context = { pluginKey };
|
|
60
60
|
const exports = module.initialize(dependencies, context);
|
|
61
61
|
Object.entries(module.exports ?? {}).map(([key, spec]) => {
|
|
62
62
|
const exportedImplementation = exports[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/plugins/imports/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAK3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAe/D,MAAM,UAAU,iCAAiC,CAC/C,OAAoC;IAEpC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAChC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,GAAG,CAAC;QACJ,EAAE,EAAE,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/plugins/imports/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAK3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAe/D,MAAM,UAAU,iCAAiC,CAC/C,OAAoC;IAEpC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAChC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,GAAG,CAAC;QACJ,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE;QAC5B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE;QAC/B,SAAS,EAAE,MAAM,CAAC,GAAG;QACrB,UAAU,EAAE,MAAM,CAAC,IAAI;KACxB,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,aAA8C,EAC9C,0BAAoE;IAEpE,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE5D,qDAAqD;IACrD,MAAM,sBAAsB,GAA2B,SAAS,CAC9D,0BAA0B,EAC1B,GAAG,EAAE,CAAC,UAAU,CACjB,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,aAAa,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC;YAE1B,IAAI,UAAU,IAAI,sBAAsB,EAAE,CAAC;gBACzC,MAAM,cAAc,GAClB,iBAAiB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,KAAK,CACb,uCAAuC,UAAU,KAAK,IAAI,QAAQ,cAAc,CAAC,IAAI,GAAG,CACzF,CAAC;YACJ,CAAC;YAED,sBAAsB,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAC3D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,EAAgC,EAAE;QACvC,MAAM,WAAW,GAAG,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBACjB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAC3D,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAClC,CAAC;IAEF,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE7C,OAAO,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,oBAAqD,EACrD,0BAA6E;IAE7E,MAAM,mBAAmB,GAAG,EAAE,GAAG,0BAA0B,EAAE,CAAC;IAE9D,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,oBAAoB,EAAE,CAAC;QAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;YACtC,CAAC,CAAC,oBAAoB,CAClB,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrC,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,uBAAuB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO,cAAc,CAAC;YACxB,CAAC,CAAC,CACH;YACH,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;YACvD,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAE7B,CAAC;YACd,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,mCAAmC,GAAG,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAoC,EACpC,0BAAoE;IAEpE,MAAM,aAAa,GAAG,iCAAiC,CAAC,OAAO,CAAC,CAAC;IAEjE,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,yCAAyC,CAChE,aAAa,EACb,0BAA0B,CAC3B,CAAC;IAEF,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EACjD,0BAA0B,CAC3B,CAAC;IACF,OAAO,IAAI,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -5,7 +5,7 @@ export type ExtractPluginImplementationFromSpecMap<T extends PluginSpecMap> = {
|
|
|
5
5
|
[TKey in keyof T]: PluginSpecImplementationFromSpec<T[TKey]>;
|
|
6
6
|
};
|
|
7
7
|
export interface PluginInitializerContext {
|
|
8
|
-
|
|
8
|
+
pluginKey: string;
|
|
9
9
|
}
|
|
10
10
|
export interface PluginPlatformModule<TImports extends PluginSpecMap = PluginSpecMap, TExports extends PluginSpecMap = PluginSpecMap> {
|
|
11
11
|
dependencies?: TImports;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EACV,gCAAgC,EAChC,yBAAyB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEvD,MAAM,MAAM,sCAAsC,CAAC,CAAC,SAAS,aAAa,IAAI;KAC3E,IAAI,IAAI,MAAM,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;CAC7D,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EACV,gCAAgC,EAChC,yBAAyB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEvD,MAAM,MAAM,sCAAsC,CAAC,CAAC,SAAS,aAAa,IAAI;KAC3E,IAAI,IAAI,MAAM,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;CAC7D,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB,CACnC,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,QAAQ,SAAS,aAAa,GAAG,aAAa;IAE9C,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,CACV,YAAY,EAAE,sCAAsC,CAAC,QAAQ,CAAC,EAC9D,OAAO,EAAE,wBAAwB,KAC9B,sCAAsC,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,SAAS,aAAa,EAC9B,QAAQ,SAAS,aAAa,EAE9B,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAC/C,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAE1C;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE;QAChB,QAAQ,EAAE,uBAAuB,CAAC;QAClC,OAAO,EAAE,yBAAyB,EAAE,CAAC;KACtC,EAAE,CAAC;IACJ,0BAA0B,CAAC,EAAE,CACzB,qBAAqB,GACrB,yBAAyB,CAC5B,EAAE,CAAC;CACL"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { PluginMetadataWithPaths } from '../metadata/types.js';
|
|
2
|
+
import type { PluginStore } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Gets a plugin metadata object by its key.
|
|
5
|
+
*
|
|
6
|
+
* @param pluginStore The plugin store to use
|
|
7
|
+
* @param key The key of the plugin to get
|
|
8
|
+
* @returns The plugin metadata object or undefined if the plugin is not found
|
|
9
|
+
*/
|
|
10
|
+
export declare function getPluginMetadataByKey(pluginStore: PluginStore, key: string): PluginMetadataWithPaths | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Gets a plugin metadata object by its key.
|
|
13
|
+
*
|
|
14
|
+
* @param pluginStore The plugin store to use
|
|
15
|
+
* @param key The key of the plugin to get
|
|
16
|
+
* @returns The plugin metadata object
|
|
17
|
+
* @throws An error if the plugin is not found
|
|
18
|
+
*/
|
|
19
|
+
export declare function getPluginMetadataByKeyOrThrow(pluginStore: PluginStore, key: string): PluginMetadataWithPaths;
|
|
20
|
+
export declare function getManagedPluginsForPlugin(pluginStore: PluginStore, pluginKey: string): PluginMetadataWithPaths[];
|
|
21
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,MAAM,GACV,uBAAuB,GAAG,SAAS,CAGrC;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,MAAM,GACV,uBAAuB,CAMzB;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,GAChB,uBAAuB,EAAE,CAK3B"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gets a plugin metadata object by its key.
|
|
3
|
+
*
|
|
4
|
+
* @param pluginStore The plugin store to use
|
|
5
|
+
* @param key The key of the plugin to get
|
|
6
|
+
* @returns The plugin metadata object or undefined if the plugin is not found
|
|
7
|
+
*/
|
|
8
|
+
export function getPluginMetadataByKey(pluginStore, key) {
|
|
9
|
+
return pluginStore.availablePlugins.find((p) => p.metadata.key === key)
|
|
10
|
+
?.metadata;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Gets a plugin metadata object by its key.
|
|
14
|
+
*
|
|
15
|
+
* @param pluginStore The plugin store to use
|
|
16
|
+
* @param key The key of the plugin to get
|
|
17
|
+
* @returns The plugin metadata object
|
|
18
|
+
* @throws An error if the plugin is not found
|
|
19
|
+
*/
|
|
20
|
+
export function getPluginMetadataByKeyOrThrow(pluginStore, key) {
|
|
21
|
+
const metadata = getPluginMetadataByKey(pluginStore, key);
|
|
22
|
+
if (!metadata) {
|
|
23
|
+
throw new Error(`Could not find plugin with key ${key}`);
|
|
24
|
+
}
|
|
25
|
+
return metadata;
|
|
26
|
+
}
|
|
27
|
+
export function getManagedPluginsForPlugin(pluginStore, pluginKey) {
|
|
28
|
+
const plugin = getPluginMetadataByKeyOrThrow(pluginStore, pluginKey);
|
|
29
|
+
return pluginStore.availablePlugins
|
|
30
|
+
.filter((p) => p.metadata.managedBy === plugin.fullyQualifiedName)
|
|
31
|
+
.map((p) => p.metadata);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/plugins/imports/utils.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAwB,EACxB,GAAW;IAEX,OAAO,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC;QACrE,EAAE,QAAQ,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAC3C,WAAwB,EACxB,GAAW;IAEX,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,WAAwB,EACxB,SAAiB;IAEjB,MAAM,MAAM,GAAG,6BAA6B,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACrE,OAAO,WAAW,CAAC,gBAAgB;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC,kBAAkB,CAAC;SACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC"}
|
package/dist/plugins/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
|
package/dist/plugins/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
|
|
@@ -22,7 +22,7 @@ export declare const pluginSpecDependencySchema: z.ZodObject<{
|
|
|
22
22
|
}>;
|
|
23
23
|
export type PluginSpecDependency = z.infer<typeof pluginSpecDependencySchema>;
|
|
24
24
|
/**
|
|
25
|
-
* Schema for the plugin's metadata
|
|
25
|
+
* Schema for the plugin's metadata (plugin.json)
|
|
26
26
|
*/
|
|
27
27
|
export declare const pluginMetadataSchema: z.ZodObject<{
|
|
28
28
|
/**
|
|
@@ -45,6 +45,14 @@ export declare const pluginMetadataSchema: z.ZodObject<{
|
|
|
45
45
|
* A description of the plugin
|
|
46
46
|
*/
|
|
47
47
|
description: z.ZodString;
|
|
48
|
+
/**
|
|
49
|
+
* The fully qualified name of the plugin that manages this plugin,
|
|
50
|
+
* e.g. "@baseplate-dev/plugin-auth:auth0" would be managed by the "@baseplate-dev/plugin-auth:auth" plugin.
|
|
51
|
+
*
|
|
52
|
+
* Managed plugins do not appear in the plugin list but are managed by the base plugin. If the base
|
|
53
|
+
* plugin is disabled, the managed plugins will also be disabled.
|
|
54
|
+
*/
|
|
55
|
+
managedBy: z.ZodOptional<z.ZodString>;
|
|
48
56
|
/**
|
|
49
57
|
* The version of the plugin using semver
|
|
50
58
|
*/
|
|
@@ -111,6 +119,7 @@ export declare const pluginMetadataSchema: z.ZodObject<{
|
|
|
111
119
|
description: string;
|
|
112
120
|
moduleDirectories?: string[] | undefined;
|
|
113
121
|
icon?: string | undefined;
|
|
122
|
+
managedBy?: string | undefined;
|
|
114
123
|
specs?: {
|
|
115
124
|
exports?: {
|
|
116
125
|
spec: string;
|
|
@@ -129,6 +138,7 @@ export declare const pluginMetadataSchema: z.ZodObject<{
|
|
|
129
138
|
description: string;
|
|
130
139
|
moduleDirectories?: string[] | undefined;
|
|
131
140
|
icon?: string | undefined;
|
|
141
|
+
managedBy?: string | undefined;
|
|
132
142
|
specs?: {
|
|
133
143
|
exports?: {
|
|
134
144
|
spec: string;
|
|
@@ -144,13 +154,17 @@ export declare const pluginMetadataSchema: z.ZodObject<{
|
|
|
144
154
|
export type PluginMetadata = z.infer<typeof pluginMetadataSchema>;
|
|
145
155
|
export interface PluginMetadataWithPaths extends PluginMetadata {
|
|
146
156
|
/**
|
|
147
|
-
* The unique
|
|
157
|
+
* The unique key of the plugin generated for the project (URL-safe, globally unique)
|
|
148
158
|
*/
|
|
149
|
-
|
|
159
|
+
key: string;
|
|
150
160
|
/**
|
|
151
161
|
* The name of the plugin package
|
|
152
162
|
*/
|
|
153
163
|
packageName: string;
|
|
164
|
+
/**
|
|
165
|
+
* The fully qualified name of the plugin, e.g. "@baseplate-dev/plugin-auth:auth0"
|
|
166
|
+
*/
|
|
167
|
+
fullyQualifiedName: string;
|
|
154
168
|
/**
|
|
155
169
|
* The path to the plugin directory
|
|
156
170
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/metadata/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,0BAA0B;;;;;;;;;EAGrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,oBAAoB;IAC/B;;OAEG;;IAKH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;QAGC;;WAEG;;;;;;;;;;;QAEH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIP;;;;OAIG
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/metadata/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,0BAA0B;;;;;;;;;EAGrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,oBAAoB;IAC/B;;OAEG;;IAKH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;;;;OAMG;;IAEH;;OAEG;;IAEH;;OAEG;;QAGC;;WAEG;;;;;;;;;;;QAEH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIP;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B"}
|
|
@@ -10,7 +10,7 @@ export const pluginSpecDependencySchema = z.object({
|
|
|
10
10
|
version: z.string(),
|
|
11
11
|
});
|
|
12
12
|
/**
|
|
13
|
-
* Schema for the plugin's metadata
|
|
13
|
+
* Schema for the plugin's metadata (plugin.json)
|
|
14
14
|
*/
|
|
15
15
|
export const pluginMetadataSchema = z.object({
|
|
16
16
|
/**
|
|
@@ -36,6 +36,14 @@ export const pluginMetadataSchema = z.object({
|
|
|
36
36
|
* A description of the plugin
|
|
37
37
|
*/
|
|
38
38
|
description: z.string(),
|
|
39
|
+
/**
|
|
40
|
+
* The fully qualified name of the plugin that manages this plugin,
|
|
41
|
+
* e.g. "@baseplate-dev/plugin-auth:auth0" would be managed by the "@baseplate-dev/plugin-auth:auth" plugin.
|
|
42
|
+
*
|
|
43
|
+
* Managed plugins do not appear in the plugin list but are managed by the base plugin. If the base
|
|
44
|
+
* plugin is disabled, the managed plugins will also be disabled.
|
|
45
|
+
*/
|
|
46
|
+
managedBy: z.string().optional(),
|
|
39
47
|
/**
|
|
40
48
|
* The version of the plugin using semver
|
|
41
49
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/metadata/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iBAAiB;AACjB,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C;;OAEG;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,cAAc,CAAC;IACxB;;OAEG;IACH,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjD;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB;;OAEG;IACH,OAAO,EAAE,aAAa;IACtB;;OAEG;IACH,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN;;WAEG;QACH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;QACpD;;WAEG;QACH,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;KAC7D,CAAC;SACD,QAAQ,EAAE;IACb;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/metadata/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iBAAiB;AACjB,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C;;OAEG;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,cAAc,CAAC;IACxB;;OAEG;IACH,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjD;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC;;OAEG;IACH,OAAO,EAAE,aAAa;IACtB;;OAEG;IACH,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN;;WAEG;QACH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;QACpD;;WAEG;QACH,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;KAC7D,CAAC;SACD,QAAQ,EAAE;IACb;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.test-utils.d.ts","sourceRoot":"","sources":["../../src/plugins/plugins.test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAM9D;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC/C,uBAAuB,
|
|
1
|
+
{"version":3,"file":"plugins.test-utils.d.ts","sourceRoot":"","sources":["../../src/plugins/plugins.test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAM9D;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC/C,uBAAuB,CAiBzB;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAM,GACvD,yBAAyB,CAa3B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAC7C,qBAAqB,CAQvB"}
|
|
@@ -9,9 +9,10 @@ import { createPluginConfigImplementation, pluginConfigSpec, } from './spec/conf
|
|
|
9
9
|
export function createTestPluginMetadata(overrides = {}) {
|
|
10
10
|
const defaultId = overrides.name ?? 'test-plugin';
|
|
11
11
|
return {
|
|
12
|
-
|
|
12
|
+
key: defaultId,
|
|
13
13
|
name: defaultId,
|
|
14
14
|
packageName: `@test/${defaultId}`,
|
|
15
|
+
fullyQualifiedName: `@test/${defaultId}:${defaultId}`,
|
|
15
16
|
version: '1.0.0',
|
|
16
17
|
displayName: `Test ${defaultId}`,
|
|
17
18
|
description: `A test plugin for ${defaultId}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.test-utils.js","sourceRoot":"","sources":["../../src/plugins/plugins.test-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,gCAAgC,EAChC,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAA8C,EAAE;IAEhD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,IAAI,aAAa,CAAC;IAElD,OAAO;QACL,
|
|
1
|
+
{"version":3,"file":"plugins.test-utils.js","sourceRoot":"","sources":["../../src/plugins/plugins.test-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,gCAAgC,EAChC,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAA8C,EAAE;IAEhD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,IAAI,aAAa,CAAC;IAElD,OAAO;QACL,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS,SAAS,EAAE;QACjC,kBAAkB,EAAE,SAAS,SAAS,IAAI,SAAS,EAAE;QACrD,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,QAAQ,SAAS,EAAE;QAChC,WAAW,EAAE,qBAAqB,SAAS,EAAE;QAC7C,eAAe,EAAE,iBAAiB,SAAS,EAAE;QAC7C,iBAAiB,EAAE,iBAAiB,SAAS,OAAO;QACpD,eAAe,EAAE,CAAC,oBAAoB,CAAC;QACvC,cAAc,EAAE,EAAE;QAClB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mCAAmC,CACjD,aAAsD,EAAE;IAExD,MAAM,yBAAyB,GAAG,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC;IACpE,MAAM,oBAAoB,GAAG,gCAAgC,EAAE,CAAC;IAEhE,sCAAsC;IACtC,KAAK,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvE,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC;IAED,yBAAyB,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAC9D,oBAAoB,CAAC;IAEvB,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAY,EACZ,eAA8C;IAE9C,OAAO;QACL,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACpB,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;SAClE,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -4,13 +4,11 @@ export interface AuthRole {
|
|
|
4
4
|
id: string;
|
|
5
5
|
name: string;
|
|
6
6
|
}
|
|
7
|
-
type UserAccountModelGetter = (definition: ProjectDefinition) => string;
|
|
8
7
|
type AuthRolesGetter = (definition: ProjectDefinition) => AuthRole[];
|
|
9
8
|
/**
|
|
10
9
|
* Spec for allowing plugins to declare standard auth configurations
|
|
11
10
|
*/
|
|
12
11
|
export interface AuthConfigSpec extends PluginSpecImplementation {
|
|
13
|
-
getUserModel: UserAccountModelGetter;
|
|
14
12
|
getAuthRoles: AuthRolesGetter;
|
|
15
13
|
}
|
|
16
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-config-spec.d.ts","sourceRoot":"","sources":["../../../src/plugins/spec/auth-config-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI3D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,
|
|
1
|
+
{"version":3,"file":"auth-config-spec.d.ts","sourceRoot":"","sources":["../../../src/plugins/spec/auth-config-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI3D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,eAAe,GAAG,CAAC,UAAU,EAAE,iBAAiB,KAAK,QAAQ,EAAE,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,wBAAwB;IAC9D,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,iDAG1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-config-spec.js","sourceRoot":"","sources":["../../../src/plugins/spec/auth-config-spec.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-config-spec.js","sourceRoot":"","sources":["../../../src/plugins/spec/auth-config-spec.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAgB9C;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAC5C,kBAAkB,EAClB,EAAE,CACH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ProjectDefinition } from '#src/schema/project-definition.js';
|
|
2
|
+
import type { PluginSpecImplementation } from './types.js';
|
|
3
|
+
type UserAccountModelGetter = (definition: ProjectDefinition) => string;
|
|
4
|
+
/**
|
|
5
|
+
* Spec for allowing plugins to declare user model configurations
|
|
6
|
+
*/
|
|
7
|
+
export interface AuthModelConfigSpec extends PluginSpecImplementation {
|
|
8
|
+
getUserModel: UserAccountModelGetter;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Spec for adding user model config component for plugin
|
|
12
|
+
*/
|
|
13
|
+
export declare const authModelConfigSpec: import("./types.js").PluginSpec<AuthModelConfigSpec>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=auth-model-config-spec.d.ts.map
|