@versu/core 3.1.0 → 3.1.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/factories/adapter-identifier-registry.d.ts.map +1 -1
- package/dist/factories/adapter-identifier-registry.js +4 -3
- package/dist/factories/adapter-identifier-registry.js.map +1 -1
- package/dist/plugins/manual/index.d.ts.map +1 -1
- package/dist/plugins/manual/index.js +2 -16
- package/dist/plugins/manual/index.js.map +1 -1
- package/dist/plugins/manual/services/manual-adapter-identifier.d.ts +7 -0
- package/dist/plugins/manual/services/manual-adapter-identifier.d.ts.map +1 -1
- package/dist/plugins/manual/services/manual-adapter-identifier.js +22 -0
- package/dist/plugins/manual/services/manual-adapter-identifier.js.map +1 -1
- package/dist/plugins/schema.d.ts +10 -7
- package/dist/plugins/schema.d.ts.map +1 -1
- package/dist/plugins/schema.js +11 -2
- package/dist/plugins/schema.js.map +1 -1
- package/dist/plugins/types.d.ts +2 -2
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/services/adapter-identifier-factory.d.ts +6 -0
- package/dist/services/adapter-identifier-factory.d.ts.map +1 -0
- package/dist/services/adapter-identifier-factory.js +2 -0
- package/dist/services/adapter-identifier-factory.js.map +1 -0
- package/dist/services/adapter-identifier-registry.d.ts +6 -5
- package/dist/services/adapter-identifier-registry.d.ts.map +1 -1
- package/dist/services/adapter-identifier-registry.js +22 -11
- package/dist/services/adapter-identifier-registry.js.map +1 -1
- package/dist/services/adapter-metadata-provider.js +1 -1
- package/dist/services/adapter-metadata-provider.js.map +1 -1
- package/dist/utils/version.d.ts +1 -1
- package/dist/utils/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-identifier-registry.d.ts","sourceRoot":"","sources":["../../src/factories/adapter-identifier-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter-identifier-registry.d.ts","sourceRoot":"","sources":["../../src/factories/adapter-identifier-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,cAAc,EAAE,EACzB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,yBAAyB,CAAC,CAiBpC"}
|
|
@@ -7,12 +7,13 @@ import { AdapterIdentifierRegistry } from "../services/adapter-identifier-regist
|
|
|
7
7
|
export async function createAdapterIdentifierRegistry(plugins, configDirectory) {
|
|
8
8
|
// Array of all registered adapter identifiers
|
|
9
9
|
// Order matters: first matching adapter is selected during auto-detection
|
|
10
|
-
const
|
|
10
|
+
const identifiersFactoryMap = new Map();
|
|
11
11
|
const adapters = plugins.flatMap((x) => x.adapters);
|
|
12
12
|
for (const adapter of adapters) {
|
|
13
|
-
|
|
13
|
+
const adapterIdentifierFactory = await adapter.adapterIdentifierFactory(configDirectory);
|
|
14
|
+
identifiersFactoryMap.set(adapterIdentifierFactory.id, adapterIdentifierFactory);
|
|
14
15
|
}
|
|
15
16
|
// Create and return the registry with all registered identifiers
|
|
16
|
-
return new AdapterIdentifierRegistry(
|
|
17
|
+
return new AdapterIdentifierRegistry(identifiersFactoryMap);
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=adapter-identifier-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-identifier-registry.js","sourceRoot":"","sources":["../../src/factories/adapter-identifier-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter-identifier-registry.js","sourceRoot":"","sources":["../../src/factories/adapter-identifier-registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,OAAyB,EACzB,eAAuB;IAEvB,8CAA8C;IAC9C,0EAA0E;IAC1E,MAAM,qBAAqB,GACzB,IAAI,GAAG,EAAE,CAAC;IACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,wBAAwB,GAC5B,MAAM,OAAO,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAC1D,qBAAqB,CAAC,GAAG,CACvB,wBAAwB,CAAC,EAAE,EAC3B,wBAAwB,CACzB,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,OAAO,IAAI,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/manual/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/manual/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpD,QAAA,MAAM,YAAY,EAAE,qBAkBnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ManualAdapterIdentifierFactory } from "./services/manual-adapter-identifier.js";
|
|
2
2
|
import { ManualModuleSystemFactory } from "./services/manual-module-system-factory.js";
|
|
3
3
|
import { AUTHORS, VERSION } from "../../utils/version.js";
|
|
4
4
|
import { MANUAL_ID } from "./constants.js";
|
|
5
|
-
import { getProjectInformationPath, readRawProjectInformation, } from "../../services/project-information.js";
|
|
6
|
-
import { exists } from "../../utils/file.js";
|
|
7
5
|
import { LOWEST_PRECEDENCE } from "../plugin-loader.js";
|
|
8
6
|
const manualPlugin = {
|
|
9
7
|
id: MANUAL_ID,
|
|
@@ -15,19 +13,7 @@ const manualPlugin = {
|
|
|
15
13
|
adapters: [
|
|
16
14
|
{
|
|
17
15
|
id: MANUAL_ID,
|
|
18
|
-
|
|
19
|
-
const projectInformationPath = getProjectInformationPath(configDirectory);
|
|
20
|
-
const hasProjectInformationFile = await exists(projectInformationPath);
|
|
21
|
-
if (!hasProjectInformationFile) {
|
|
22
|
-
throw new Error("Project Information file not found");
|
|
23
|
-
}
|
|
24
|
-
const projectInformation = await readRawProjectInformation(configDirectory);
|
|
25
|
-
const metadata = {
|
|
26
|
-
id: MANUAL_ID,
|
|
27
|
-
capabilities: projectInformation.capabilities,
|
|
28
|
-
};
|
|
29
|
-
return new ManualAdapterIdentifier(metadata, true);
|
|
30
|
-
},
|
|
16
|
+
adapterIdentifierFactory: async (configDirectory) => new ManualAdapterIdentifierFactory(configDirectory),
|
|
31
17
|
moduleSystemFactory: async (repoRoot, configDirectory) => new ManualModuleSystemFactory(repoRoot, configDirectory),
|
|
32
18
|
},
|
|
33
19
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/manual/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/manual/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,YAAY,GAA0B;IAC1C,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,gEAAgE;QAChE,sFAAsF;IACxF,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE;QACR;YACE,EAAE,EAAE,SAAS;YACb,wBAAwB,EAAE,KAAK,EAAE,eAAuB,EAAE,EAAE,CAC1D,IAAI,8BAA8B,CAAC,eAAe,CAAC;YACrD,mBAAmB,EAAE,KAAK,EAAE,QAAgB,EAAE,eAAuB,EAAE,EAAE,CACvE,IAAI,yBAAyB,CAAC,QAAQ,EAAE,eAAe,CAAC;SAC3D;KACF;IACD,KAAK,EAAE,iBAAiB;CACzB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
import { AdapterIdentifierFactory } from "../../../services/adapter-identifier-factory.js";
|
|
1
2
|
import { type AdapterMetadata, type AdapterIdentifier } from "../../../services/adapter-identifier.js";
|
|
3
|
+
export declare class ManualAdapterIdentifierFactory implements AdapterIdentifierFactory {
|
|
4
|
+
private readonly configDirectory;
|
|
5
|
+
readonly id: string;
|
|
6
|
+
constructor(configDirectory: string);
|
|
7
|
+
create(): Promise<AdapterIdentifier>;
|
|
8
|
+
}
|
|
2
9
|
/**
|
|
3
10
|
* Adapter identifier for Manually configured projects.
|
|
4
11
|
* Detects Manually configured projects by looking for project-information.json in the config directory.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manual-adapter-identifier.d.ts","sourceRoot":"","sources":["../../../../src/plugins/manual/services/manual-adapter-identifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manual-adapter-identifier.d.ts","sourceRoot":"","sources":["../../../../src/plugins/manual/services/manual-adapter-identifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACvB,MAAM,yCAAyC,CAAC;AAKjD,qBAAa,8BAA+B,YAAW,wBAAwB;IAK3E,OAAO,CAAC,QAAQ,CAAC,eAAe;IAHlC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAa;gBAGb,eAAe,EAAE,MAAM;IAGpC,MAAM,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAmB3C;AAED;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAE7D,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;gBADjC,QAAQ,EAAE,eAAe,EACjB,yBAAyB,EAAE,OAAO;IAGrD;;;;OAIG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAMrD"}
|
|
@@ -1,4 +1,26 @@
|
|
|
1
|
+
import { exists, getProjectInformationPath, readRawProjectInformation } from "../../../index.js";
|
|
1
2
|
import { logger } from "../../../utils/logger.js";
|
|
3
|
+
import { MANUAL_ID } from "../constants.js";
|
|
4
|
+
export class ManualAdapterIdentifierFactory {
|
|
5
|
+
configDirectory;
|
|
6
|
+
id = MANUAL_ID;
|
|
7
|
+
constructor(configDirectory) {
|
|
8
|
+
this.configDirectory = configDirectory;
|
|
9
|
+
}
|
|
10
|
+
async create() {
|
|
11
|
+
const projectInformationPath = getProjectInformationPath(this.configDirectory);
|
|
12
|
+
const hasProjectInformationFile = await exists(projectInformationPath);
|
|
13
|
+
if (!hasProjectInformationFile) {
|
|
14
|
+
throw new Error("Project Information file not found");
|
|
15
|
+
}
|
|
16
|
+
const projectInformation = await readRawProjectInformation(this.configDirectory);
|
|
17
|
+
const metadata = {
|
|
18
|
+
id: MANUAL_ID,
|
|
19
|
+
capabilities: projectInformation.capabilities,
|
|
20
|
+
};
|
|
21
|
+
return new ManualAdapterIdentifier(metadata, true);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
2
24
|
/**
|
|
3
25
|
* Adapter identifier for Manually configured projects.
|
|
4
26
|
* Detects Manually configured projects by looking for project-information.json in the config directory.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manual-adapter-identifier.js","sourceRoot":"","sources":["../../../../src/plugins/manual/services/manual-adapter-identifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manual-adapter-identifier.js","sourceRoot":"","sources":["../../../../src/plugins/manual/services/manual-adapter-identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAMjG,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,OAAO,8BAA8B;IAKtB;IAHV,EAAE,GAAW,SAAS,CAAC;IAEhC,YACmB,eAAuB;QAAvB,oBAAe,GAAf,eAAe,CAAQ;IACvC,CAAC;IAEJ,KAAK,CAAC,MAAM;QACV,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE/E,MAAM,yBAAyB,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAEvE,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,kBAAkB,GACtB,MAAM,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAoB;YAChC,EAAE,EAAE,SAAS;YACb,YAAY,EAAE,kBAAkB,CAAC,YAAY;SAC9C,CAAC;QAEF,OAAO,IAAI,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAEvB;IACQ;IAFnB,YACW,QAAyB,EACjB,yBAAkC;QAD1C,aAAQ,GAAR,QAAQ,CAAiB;QACjB,8BAAyB,GAAzB,yBAAyB,CAAS;IAClD,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,YAAoB;QAC/B,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YACvC,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;SAC1D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;CACF"}
|
package/dist/plugins/schema.d.ts
CHANGED
|
@@ -7,14 +7,17 @@ export declare const pluginContractSchema: z.ZodObject<{
|
|
|
7
7
|
authors: z.ZodArray<z.ZodString>;
|
|
8
8
|
adapters: z.ZodArray<z.ZodObject<{
|
|
9
9
|
id: z.ZodString;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
adapterIdentifierFactory: z.ZodFunction<z.ZodTuple<readonly [z.ZodString], null>, z.ZodPromise<z.ZodObject<{
|
|
11
|
+
id: z.ZodString;
|
|
12
|
+
create: z.ZodFunction<z.ZodTuple<readonly [], null>, z.ZodPromise<z.ZodObject<{
|
|
13
|
+
metadata: z.ZodObject<{
|
|
14
|
+
id: z.ZodString;
|
|
15
|
+
capabilities: z.ZodObject<{
|
|
16
|
+
supportsSnapshots: z.ZodBoolean;
|
|
17
|
+
}, z.core.$loose>;
|
|
15
18
|
}, z.core.$loose>;
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
accept: z.ZodFunction<z.ZodTuple<readonly [z.ZodString], null>, z.ZodPromise<z.ZodBoolean>>;
|
|
20
|
+
}, z.core.$loose>>>;
|
|
18
21
|
}, z.core.$loose>>>;
|
|
19
22
|
moduleSystemFactory: z.ZodFunction<z.ZodTuple<readonly [z.ZodString, z.ZodString], null>, z.ZodPromise<z.ZodObject<{
|
|
20
23
|
createDetector: z.ZodFunction<z.ZodTuple<readonly [z.ZodString], null>, z.ZodPromise<z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/plugins/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/plugins/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4IxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASvB,CAAC"}
|
package/dist/plugins/schema.js
CHANGED
|
@@ -24,6 +24,15 @@ const adapterIdentifierSchema = z
|
|
|
24
24
|
}),
|
|
25
25
|
})
|
|
26
26
|
.loose();
|
|
27
|
+
const adapterIdentifierFactorySchema = z
|
|
28
|
+
.object({
|
|
29
|
+
id: z.string(),
|
|
30
|
+
create: z.function({
|
|
31
|
+
input: [],
|
|
32
|
+
output: z.promise(adapterIdentifierSchema),
|
|
33
|
+
}),
|
|
34
|
+
})
|
|
35
|
+
.loose();
|
|
27
36
|
const versionSchema = z
|
|
28
37
|
.object({
|
|
29
38
|
major: z.number(),
|
|
@@ -105,9 +114,9 @@ const moduleSystemFactorySchema = z
|
|
|
105
114
|
const adapterPluginContractSchema = z
|
|
106
115
|
.object({
|
|
107
116
|
id: z.string(),
|
|
108
|
-
|
|
117
|
+
adapterIdentifierFactory: z.function({
|
|
109
118
|
input: [z.string()],
|
|
110
|
-
output: z.promise(
|
|
119
|
+
output: z.promise(adapterIdentifierFactorySchema),
|
|
111
120
|
}),
|
|
112
121
|
moduleSystemFactory: z.function({
|
|
113
122
|
input: [z.string(), z.string()],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/plugins/schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/plugins/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AdapterIdentifierFactory } from "../services/adapter-identifier-factory.js";
|
|
2
2
|
import { ModuleSystemFactory } from "../services/module-system-factory.js";
|
|
3
3
|
import { Ordered } from "../utils/ordered.js";
|
|
4
4
|
export type PluginContract = {
|
|
@@ -12,7 +12,7 @@ export type PluginContract = {
|
|
|
12
12
|
export type OrderedPluginContract = PluginContract & Ordered;
|
|
13
13
|
export type AdapterPluginContract = {
|
|
14
14
|
readonly id: string;
|
|
15
|
-
|
|
15
|
+
adapterIdentifierFactory: (configDirectory: string) => Promise<AdapterIdentifierFactory>;
|
|
16
16
|
moduleSystemFactory: (repoRoot: string, configDirectory: string) => Promise<ModuleSystemFactory>;
|
|
17
17
|
};
|
|
18
18
|
export type PluginInformation = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG,OAAO,CAAC;AAE7D,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,wBAAwB,EAAE,CACxB,eAAe,EAAE,MAAM,KACpB,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC,mBAAmB,EAAE,CACnB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,KACpB,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,OAAO,IAAI,qBAAqB,EAAE,CAAC;IACvC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,UAAU,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-identifier-factory.d.ts","sourceRoot":"","sources":["../../src/services/adapter-identifier-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,MAAM,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-identifier-factory.js","sourceRoot":"","sources":["../../src/services/adapter-identifier-factory.ts"],"names":[],"mappings":""}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
+
import { AdapterIdentifierFactory } from "./adapter-identifier-factory.js";
|
|
1
2
|
import { AdapterIdentifier } from "./adapter-identifier.js";
|
|
2
3
|
/**
|
|
3
4
|
* Registry for managing and discovering adapter identifiers.
|
|
4
5
|
* Provides automatic project adapter detection, fast lookup by ID, and discovery of supported adapters.
|
|
5
6
|
*/
|
|
6
7
|
export declare class AdapterIdentifierRegistry {
|
|
7
|
-
private readonly
|
|
8
|
+
private readonly identifiersFactory;
|
|
8
9
|
/**
|
|
9
10
|
* Internal map of adapter identifiers keyed by their unique ID.
|
|
10
11
|
*/
|
|
11
|
-
private readonly
|
|
12
|
+
private readonly identifiers;
|
|
12
13
|
/**
|
|
13
14
|
* Cached array of all supported adapter IDs.
|
|
14
15
|
*/
|
|
15
16
|
private readonly supportedAdapters;
|
|
16
17
|
/**
|
|
17
18
|
* Creates a new adapter identifier registry.
|
|
18
|
-
* @param identifiers -
|
|
19
|
+
* @param identifiers - Map of adapter identifiers to register, keyed by their unique ID
|
|
19
20
|
*/
|
|
20
|
-
constructor(
|
|
21
|
+
constructor(identifiersFactory: ReadonlyMap<string, AdapterIdentifierFactory>);
|
|
21
22
|
/**
|
|
22
23
|
* Automatically identifies which adapter can handle the specified project.
|
|
23
24
|
* @param projectRoot - The absolute path to the root directory of the project to analyze
|
|
@@ -29,7 +30,7 @@ export declare class AdapterIdentifierRegistry {
|
|
|
29
30
|
* @param id - The unique identifier of the adapter to retrieve
|
|
30
31
|
* @returns The adapter if found, or `null` if not registered
|
|
31
32
|
*/
|
|
32
|
-
getIdentifierById(id: string): AdapterIdentifier | null
|
|
33
|
+
getIdentifierById(id: string): Promise<AdapterIdentifier | null>;
|
|
33
34
|
/**
|
|
34
35
|
* Returns a list of all supported adapter IDs in this registry.
|
|
35
36
|
* @returns An array of adapter ID strings
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-identifier-registry.d.ts","sourceRoot":"","sources":["../../src/services/adapter-identifier-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;GAGG;AACH,qBAAa,yBAAyB;
|
|
1
|
+
{"version":3,"file":"adapter-identifier-registry.d.ts","sourceRoot":"","sources":["../../src/services/adapter-identifier-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;GAGG;AACH,qBAAa,yBAAyB;IAgBlC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAfrC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAE7D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAW;IAE7C;;;OAGG;gBAEgB,kBAAkB,EAAE,WAAW,CAC9C,MAAM,EACN,wBAAwB,CACzB;IAMH;;;;OAIG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAuBtE;;;;OAIG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAYtE;;;OAGG;IACH,oBAAoB,IAAI,MAAM,EAAE;CAGjC"}
|
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
* Provides automatic project adapter detection, fast lookup by ID, and discovery of supported adapters.
|
|
4
4
|
*/
|
|
5
5
|
export class AdapterIdentifierRegistry {
|
|
6
|
-
|
|
6
|
+
identifiersFactory;
|
|
7
7
|
/**
|
|
8
8
|
* Internal map of adapter identifiers keyed by their unique ID.
|
|
9
9
|
*/
|
|
10
|
-
|
|
10
|
+
identifiers;
|
|
11
11
|
/**
|
|
12
12
|
* Cached array of all supported adapter IDs.
|
|
13
13
|
*/
|
|
14
14
|
supportedAdapters;
|
|
15
15
|
/**
|
|
16
16
|
* Creates a new adapter identifier registry.
|
|
17
|
-
* @param identifiers -
|
|
17
|
+
* @param identifiers - Map of adapter identifiers to register, keyed by their unique ID
|
|
18
18
|
*/
|
|
19
|
-
constructor(
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
22
|
-
this.supportedAdapters = Array.from(this.
|
|
19
|
+
constructor(identifiersFactory) {
|
|
20
|
+
this.identifiersFactory = identifiersFactory;
|
|
21
|
+
this.identifiers = new Map();
|
|
22
|
+
this.supportedAdapters = Array.from(this.identifiersFactory.keys());
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Automatically identifies which adapter can handle the specified project.
|
|
@@ -27,8 +27,11 @@ export class AdapterIdentifierRegistry {
|
|
|
27
27
|
* @returns A promise that resolves to the first matching adapter, or `null` if no adapter can handle the project
|
|
28
28
|
*/
|
|
29
29
|
async identify(projectRoot) {
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
for (const id of this.supportedAdapters) {
|
|
31
|
+
const identifier = await this.getIdentifierById(id);
|
|
32
|
+
if (!identifier) {
|
|
33
|
+
throw new Error(`Adapter identifier for '${id}' is not registered in the registry.`);
|
|
34
|
+
}
|
|
32
35
|
try {
|
|
33
36
|
const result = await identifier.accept(projectRoot);
|
|
34
37
|
if (result) {
|
|
@@ -48,8 +51,16 @@ export class AdapterIdentifierRegistry {
|
|
|
48
51
|
* @param id - The unique identifier of the adapter to retrieve
|
|
49
52
|
* @returns The adapter if found, or `null` if not registered
|
|
50
53
|
*/
|
|
51
|
-
getIdentifierById(id) {
|
|
52
|
-
|
|
54
|
+
async getIdentifierById(id) {
|
|
55
|
+
let identifier = this.identifiers.get(id);
|
|
56
|
+
if (identifier)
|
|
57
|
+
return identifier;
|
|
58
|
+
const factory = this.identifiersFactory.get(id);
|
|
59
|
+
if (!factory)
|
|
60
|
+
return null;
|
|
61
|
+
identifier = await factory.create();
|
|
62
|
+
this.identifiers.set(id, identifier);
|
|
63
|
+
return identifier;
|
|
53
64
|
}
|
|
54
65
|
/**
|
|
55
66
|
* Returns a list of all supported adapter IDs in this registry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-identifier-registry.js","sourceRoot":"","sources":["../../src/services/adapter-identifier-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter-identifier-registry.js","sourceRoot":"","sources":["../../src/services/adapter-identifier-registry.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,OAAO,yBAAyB;IAgBjB;IAfnB;;OAEG;IACc,WAAW,CAAiC;IAE7D;;OAEG;IACc,iBAAiB,CAAW;IAE7C;;;OAGG;IACH,YACmB,kBAGhB;QAHgB,uBAAkB,GAAlB,kBAAkB,CAGlC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,WAAmB;QAChC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,2BAA2B,EAAE,sCAAsC,CACpE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACpD,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,oDAAoD;gBACpD,qEAAqE;gBACrE,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAChC,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;QAElC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACrC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -39,7 +39,7 @@ export class AdapterMetadataProvider {
|
|
|
39
39
|
async getSpecifiedAdapter() {
|
|
40
40
|
if (!this.adapterId)
|
|
41
41
|
return null;
|
|
42
|
-
const identifier = this.adapterIdentifierRegistry.getIdentifierById(this.adapterId);
|
|
42
|
+
const identifier = await this.adapterIdentifierRegistry.getIdentifierById(this.adapterId);
|
|
43
43
|
if (!identifier) {
|
|
44
44
|
throw new Error(`Unsupported adapter '${this.adapterId}'. Supported adapters: ${this.adapterIdentifierRegistry
|
|
45
45
|
.getSupportedAdapters()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-metadata-provider.js","sourceRoot":"","sources":["../../src/services/adapter-metadata-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmB5C;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAYf;IACA;IAZnB;;OAEG;IACc,SAAS,CAAqB;IAE/C;;;;OAIG;IACH,YACmB,yBAAoD,EACpD,OAAuC;QADvC,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,YAAO,GAAP,OAAO,CAAgC;QAExD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"adapter-metadata-provider.js","sourceRoot":"","sources":["../../src/services/adapter-metadata-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmB5C;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAYf;IACA;IAZnB;;OAEG;IACc,SAAS,CAAqB;IAE/C;;;;OAIG;IACH,YACmB,yBAAoD,EACpD,OAAuC;QADvC,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,YAAO,GAAP,OAAO,CAAgC;QAExD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CACvE,IAAI,CAAC,SAAS,CACf,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,SAAS,0BAA0B,IAAI,CAAC,yBAAyB;iBAC3F,oBAAoB,EAAE;iBACtB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;YAC/C,OAAO,EAAE,IAAI,CAAC,SAAS;SACxB,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,sBAAsB;QAClC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CACtB,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,6CAA6C;gBAC3C,kEAAkE;gBAClE,sBAAsB;gBACtB,IAAI,CAAC,yBAAyB,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChE,gDAAgD,CACnD,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAE1E,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
package/dist/utils/version.d.ts
CHANGED
package/dist/utils/version.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// This file is auto-generated. Do not edit manually.
|
|
2
2
|
// Run 'npm run generate-version' to update this file.
|
|
3
|
-
export const VERSION = "3.1.
|
|
3
|
+
export const VERSION = "3.1.1";
|
|
4
4
|
export const PACKAGE_NAME = "@versu/core";
|
|
5
5
|
export const AUTHORS = ["tvcsantos"];
|
|
6
6
|
//# sourceMappingURL=version.js.map
|