@contractspec/lib.plugins 1.57.0 → 1.58.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/dist/browser/config.js +59 -0
- package/dist/browser/index.js +61 -0
- package/dist/browser/registry.js +37 -0
- package/dist/browser/types.js +0 -0
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +60 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +62 -0
- package/dist/node/config.js +59 -0
- package/dist/node/index.js +61 -0
- package/dist/node/registry.js +37 -0
- package/dist/node/types.js +0 -0
- package/dist/registry.d.ts +11 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +38 -0
- package/dist/types.d.ts +95 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/package.json +48 -17
- package/dist/index.d.mts +0 -113
- package/dist/index.d.mts.map +0 -1
- package/dist/index.mjs +0 -66
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// src/registry.ts
|
|
2
|
+
class SimpleRegistry {
|
|
3
|
+
entries = new Map;
|
|
4
|
+
register(entry) {
|
|
5
|
+
this.entries.set(entry.id, entry);
|
|
6
|
+
}
|
|
7
|
+
list() {
|
|
8
|
+
return Array.from(this.entries.values());
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
class PluginRegistries {
|
|
13
|
+
generators;
|
|
14
|
+
validators;
|
|
15
|
+
adapters;
|
|
16
|
+
formatters;
|
|
17
|
+
registryResolvers;
|
|
18
|
+
constructor() {
|
|
19
|
+
this.generators = new SimpleRegistry;
|
|
20
|
+
this.validators = new SimpleRegistry;
|
|
21
|
+
this.adapters = new SimpleRegistry;
|
|
22
|
+
this.formatters = new SimpleRegistry;
|
|
23
|
+
this.registryResolvers = new SimpleRegistry;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
var defaultPluginRegistryConfig = {
|
|
27
|
+
plugins: [],
|
|
28
|
+
registry: {
|
|
29
|
+
resolutionOrder: ["workspace", "npm", "remote"],
|
|
30
|
+
allowPrerelease: false,
|
|
31
|
+
sources: {}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// src/config.ts
|
|
36
|
+
function mergePluginConfig(config) {
|
|
37
|
+
return {
|
|
38
|
+
...defaultPluginRegistryConfig,
|
|
39
|
+
...config,
|
|
40
|
+
registry: {
|
|
41
|
+
...defaultPluginRegistryConfig.registry ?? {
|
|
42
|
+
resolutionOrder: ["workspace", "npm", "remote"]
|
|
43
|
+
},
|
|
44
|
+
...config?.registry,
|
|
45
|
+
resolutionOrder: config?.registry?.resolutionOrder ?? defaultPluginRegistryConfig.registry?.resolutionOrder ?? [
|
|
46
|
+
"workspace",
|
|
47
|
+
"npm",
|
|
48
|
+
"remote"
|
|
49
|
+
],
|
|
50
|
+
sources: {
|
|
51
|
+
...defaultPluginRegistryConfig.registry?.sources ?? {},
|
|
52
|
+
...config?.registry?.sources ?? {}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
mergePluginConfig
|
|
59
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// src/registry.ts
|
|
2
|
+
class SimpleRegistry {
|
|
3
|
+
entries = new Map;
|
|
4
|
+
register(entry) {
|
|
5
|
+
this.entries.set(entry.id, entry);
|
|
6
|
+
}
|
|
7
|
+
list() {
|
|
8
|
+
return Array.from(this.entries.values());
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
class PluginRegistries {
|
|
13
|
+
generators;
|
|
14
|
+
validators;
|
|
15
|
+
adapters;
|
|
16
|
+
formatters;
|
|
17
|
+
registryResolvers;
|
|
18
|
+
constructor() {
|
|
19
|
+
this.generators = new SimpleRegistry;
|
|
20
|
+
this.validators = new SimpleRegistry;
|
|
21
|
+
this.adapters = new SimpleRegistry;
|
|
22
|
+
this.formatters = new SimpleRegistry;
|
|
23
|
+
this.registryResolvers = new SimpleRegistry;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
var defaultPluginRegistryConfig = {
|
|
27
|
+
plugins: [],
|
|
28
|
+
registry: {
|
|
29
|
+
resolutionOrder: ["workspace", "npm", "remote"],
|
|
30
|
+
allowPrerelease: false,
|
|
31
|
+
sources: {}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// src/config.ts
|
|
36
|
+
function mergePluginConfig(config) {
|
|
37
|
+
return {
|
|
38
|
+
...defaultPluginRegistryConfig,
|
|
39
|
+
...config,
|
|
40
|
+
registry: {
|
|
41
|
+
...defaultPluginRegistryConfig.registry ?? {
|
|
42
|
+
resolutionOrder: ["workspace", "npm", "remote"]
|
|
43
|
+
},
|
|
44
|
+
...config?.registry,
|
|
45
|
+
resolutionOrder: config?.registry?.resolutionOrder ?? defaultPluginRegistryConfig.registry?.resolutionOrder ?? [
|
|
46
|
+
"workspace",
|
|
47
|
+
"npm",
|
|
48
|
+
"remote"
|
|
49
|
+
],
|
|
50
|
+
sources: {
|
|
51
|
+
...defaultPluginRegistryConfig.registry?.sources ?? {},
|
|
52
|
+
...config?.registry?.sources ?? {}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
mergePluginConfig,
|
|
59
|
+
defaultPluginRegistryConfig,
|
|
60
|
+
PluginRegistries
|
|
61
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// src/registry.ts
|
|
2
|
+
class SimpleRegistry {
|
|
3
|
+
entries = new Map;
|
|
4
|
+
register(entry) {
|
|
5
|
+
this.entries.set(entry.id, entry);
|
|
6
|
+
}
|
|
7
|
+
list() {
|
|
8
|
+
return Array.from(this.entries.values());
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
class PluginRegistries {
|
|
13
|
+
generators;
|
|
14
|
+
validators;
|
|
15
|
+
adapters;
|
|
16
|
+
formatters;
|
|
17
|
+
registryResolvers;
|
|
18
|
+
constructor() {
|
|
19
|
+
this.generators = new SimpleRegistry;
|
|
20
|
+
this.validators = new SimpleRegistry;
|
|
21
|
+
this.adapters = new SimpleRegistry;
|
|
22
|
+
this.formatters = new SimpleRegistry;
|
|
23
|
+
this.registryResolvers = new SimpleRegistry;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
var defaultPluginRegistryConfig = {
|
|
27
|
+
plugins: [],
|
|
28
|
+
registry: {
|
|
29
|
+
resolutionOrder: ["workspace", "npm", "remote"],
|
|
30
|
+
allowPrerelease: false,
|
|
31
|
+
sources: {}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
export {
|
|
35
|
+
defaultPluginRegistryConfig,
|
|
36
|
+
PluginRegistries
|
|
37
|
+
};
|
|
File without changes
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGvD,wBAAgB,iBAAiB,CAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACrC,oBAAoB,CAqBtB"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// src/registry.ts
|
|
3
|
+
class SimpleRegistry {
|
|
4
|
+
entries = new Map;
|
|
5
|
+
register(entry) {
|
|
6
|
+
this.entries.set(entry.id, entry);
|
|
7
|
+
}
|
|
8
|
+
list() {
|
|
9
|
+
return Array.from(this.entries.values());
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
class PluginRegistries {
|
|
14
|
+
generators;
|
|
15
|
+
validators;
|
|
16
|
+
adapters;
|
|
17
|
+
formatters;
|
|
18
|
+
registryResolvers;
|
|
19
|
+
constructor() {
|
|
20
|
+
this.generators = new SimpleRegistry;
|
|
21
|
+
this.validators = new SimpleRegistry;
|
|
22
|
+
this.adapters = new SimpleRegistry;
|
|
23
|
+
this.formatters = new SimpleRegistry;
|
|
24
|
+
this.registryResolvers = new SimpleRegistry;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
var defaultPluginRegistryConfig = {
|
|
28
|
+
plugins: [],
|
|
29
|
+
registry: {
|
|
30
|
+
resolutionOrder: ["workspace", "npm", "remote"],
|
|
31
|
+
allowPrerelease: false,
|
|
32
|
+
sources: {}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
// src/config.ts
|
|
37
|
+
function mergePluginConfig(config) {
|
|
38
|
+
return {
|
|
39
|
+
...defaultPluginRegistryConfig,
|
|
40
|
+
...config,
|
|
41
|
+
registry: {
|
|
42
|
+
...defaultPluginRegistryConfig.registry ?? {
|
|
43
|
+
resolutionOrder: ["workspace", "npm", "remote"]
|
|
44
|
+
},
|
|
45
|
+
...config?.registry,
|
|
46
|
+
resolutionOrder: config?.registry?.resolutionOrder ?? defaultPluginRegistryConfig.registry?.resolutionOrder ?? [
|
|
47
|
+
"workspace",
|
|
48
|
+
"npm",
|
|
49
|
+
"remote"
|
|
50
|
+
],
|
|
51
|
+
sources: {
|
|
52
|
+
...defaultPluginRegistryConfig.registry?.sources ?? {},
|
|
53
|
+
...config?.registry?.sources ?? {}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export {
|
|
59
|
+
mergePluginConfig
|
|
60
|
+
};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { AdapterCapability, AdapterRegistry, ContractSpecPlugin, FormatterCapability, FormatterRegistry, GeneratorCapability, GeneratorRegistry, PluginCapabilityType, PluginContext, PluginMeta, PluginRegistryConfig, PluginRegistryItem, RegistryResolverCapability, RegistryResolverRegistry, SpecRegistryEntry, ValidatorCapability, ValidatorRegistry, } from './types.js';
|
|
2
|
+
export { PluginRegistries, defaultPluginRegistryConfig } from './registry.js';
|
|
3
|
+
export { mergePluginConfig } from './config.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// src/registry.ts
|
|
3
|
+
class SimpleRegistry {
|
|
4
|
+
entries = new Map;
|
|
5
|
+
register(entry) {
|
|
6
|
+
this.entries.set(entry.id, entry);
|
|
7
|
+
}
|
|
8
|
+
list() {
|
|
9
|
+
return Array.from(this.entries.values());
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
class PluginRegistries {
|
|
14
|
+
generators;
|
|
15
|
+
validators;
|
|
16
|
+
adapters;
|
|
17
|
+
formatters;
|
|
18
|
+
registryResolvers;
|
|
19
|
+
constructor() {
|
|
20
|
+
this.generators = new SimpleRegistry;
|
|
21
|
+
this.validators = new SimpleRegistry;
|
|
22
|
+
this.adapters = new SimpleRegistry;
|
|
23
|
+
this.formatters = new SimpleRegistry;
|
|
24
|
+
this.registryResolvers = new SimpleRegistry;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
var defaultPluginRegistryConfig = {
|
|
28
|
+
plugins: [],
|
|
29
|
+
registry: {
|
|
30
|
+
resolutionOrder: ["workspace", "npm", "remote"],
|
|
31
|
+
allowPrerelease: false,
|
|
32
|
+
sources: {}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
// src/config.ts
|
|
37
|
+
function mergePluginConfig(config) {
|
|
38
|
+
return {
|
|
39
|
+
...defaultPluginRegistryConfig,
|
|
40
|
+
...config,
|
|
41
|
+
registry: {
|
|
42
|
+
...defaultPluginRegistryConfig.registry ?? {
|
|
43
|
+
resolutionOrder: ["workspace", "npm", "remote"]
|
|
44
|
+
},
|
|
45
|
+
...config?.registry,
|
|
46
|
+
resolutionOrder: config?.registry?.resolutionOrder ?? defaultPluginRegistryConfig.registry?.resolutionOrder ?? [
|
|
47
|
+
"workspace",
|
|
48
|
+
"npm",
|
|
49
|
+
"remote"
|
|
50
|
+
],
|
|
51
|
+
sources: {
|
|
52
|
+
...defaultPluginRegistryConfig.registry?.sources ?? {},
|
|
53
|
+
...config?.registry?.sources ?? {}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export {
|
|
59
|
+
mergePluginConfig,
|
|
60
|
+
defaultPluginRegistryConfig,
|
|
61
|
+
PluginRegistries
|
|
62
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// src/registry.ts
|
|
2
|
+
class SimpleRegistry {
|
|
3
|
+
entries = new Map;
|
|
4
|
+
register(entry) {
|
|
5
|
+
this.entries.set(entry.id, entry);
|
|
6
|
+
}
|
|
7
|
+
list() {
|
|
8
|
+
return Array.from(this.entries.values());
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
class PluginRegistries {
|
|
13
|
+
generators;
|
|
14
|
+
validators;
|
|
15
|
+
adapters;
|
|
16
|
+
formatters;
|
|
17
|
+
registryResolvers;
|
|
18
|
+
constructor() {
|
|
19
|
+
this.generators = new SimpleRegistry;
|
|
20
|
+
this.validators = new SimpleRegistry;
|
|
21
|
+
this.adapters = new SimpleRegistry;
|
|
22
|
+
this.formatters = new SimpleRegistry;
|
|
23
|
+
this.registryResolvers = new SimpleRegistry;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
var defaultPluginRegistryConfig = {
|
|
27
|
+
plugins: [],
|
|
28
|
+
registry: {
|
|
29
|
+
resolutionOrder: ["workspace", "npm", "remote"],
|
|
30
|
+
allowPrerelease: false,
|
|
31
|
+
sources: {}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// src/config.ts
|
|
36
|
+
function mergePluginConfig(config) {
|
|
37
|
+
return {
|
|
38
|
+
...defaultPluginRegistryConfig,
|
|
39
|
+
...config,
|
|
40
|
+
registry: {
|
|
41
|
+
...defaultPluginRegistryConfig.registry ?? {
|
|
42
|
+
resolutionOrder: ["workspace", "npm", "remote"]
|
|
43
|
+
},
|
|
44
|
+
...config?.registry,
|
|
45
|
+
resolutionOrder: config?.registry?.resolutionOrder ?? defaultPluginRegistryConfig.registry?.resolutionOrder ?? [
|
|
46
|
+
"workspace",
|
|
47
|
+
"npm",
|
|
48
|
+
"remote"
|
|
49
|
+
],
|
|
50
|
+
sources: {
|
|
51
|
+
...defaultPluginRegistryConfig.registry?.sources ?? {},
|
|
52
|
+
...config?.registry?.sources ?? {}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
mergePluginConfig
|
|
59
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// src/registry.ts
|
|
2
|
+
class SimpleRegistry {
|
|
3
|
+
entries = new Map;
|
|
4
|
+
register(entry) {
|
|
5
|
+
this.entries.set(entry.id, entry);
|
|
6
|
+
}
|
|
7
|
+
list() {
|
|
8
|
+
return Array.from(this.entries.values());
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
class PluginRegistries {
|
|
13
|
+
generators;
|
|
14
|
+
validators;
|
|
15
|
+
adapters;
|
|
16
|
+
formatters;
|
|
17
|
+
registryResolvers;
|
|
18
|
+
constructor() {
|
|
19
|
+
this.generators = new SimpleRegistry;
|
|
20
|
+
this.validators = new SimpleRegistry;
|
|
21
|
+
this.adapters = new SimpleRegistry;
|
|
22
|
+
this.formatters = new SimpleRegistry;
|
|
23
|
+
this.registryResolvers = new SimpleRegistry;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
var defaultPluginRegistryConfig = {
|
|
27
|
+
plugins: [],
|
|
28
|
+
registry: {
|
|
29
|
+
resolutionOrder: ["workspace", "npm", "remote"],
|
|
30
|
+
allowPrerelease: false,
|
|
31
|
+
sources: {}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// src/config.ts
|
|
36
|
+
function mergePluginConfig(config) {
|
|
37
|
+
return {
|
|
38
|
+
...defaultPluginRegistryConfig,
|
|
39
|
+
...config,
|
|
40
|
+
registry: {
|
|
41
|
+
...defaultPluginRegistryConfig.registry ?? {
|
|
42
|
+
resolutionOrder: ["workspace", "npm", "remote"]
|
|
43
|
+
},
|
|
44
|
+
...config?.registry,
|
|
45
|
+
resolutionOrder: config?.registry?.resolutionOrder ?? defaultPluginRegistryConfig.registry?.resolutionOrder ?? [
|
|
46
|
+
"workspace",
|
|
47
|
+
"npm",
|
|
48
|
+
"remote"
|
|
49
|
+
],
|
|
50
|
+
sources: {
|
|
51
|
+
...defaultPluginRegistryConfig.registry?.sources ?? {},
|
|
52
|
+
...config?.registry?.sources ?? {}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
mergePluginConfig,
|
|
59
|
+
defaultPluginRegistryConfig,
|
|
60
|
+
PluginRegistries
|
|
61
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// src/registry.ts
|
|
2
|
+
class SimpleRegistry {
|
|
3
|
+
entries = new Map;
|
|
4
|
+
register(entry) {
|
|
5
|
+
this.entries.set(entry.id, entry);
|
|
6
|
+
}
|
|
7
|
+
list() {
|
|
8
|
+
return Array.from(this.entries.values());
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
class PluginRegistries {
|
|
13
|
+
generators;
|
|
14
|
+
validators;
|
|
15
|
+
adapters;
|
|
16
|
+
formatters;
|
|
17
|
+
registryResolvers;
|
|
18
|
+
constructor() {
|
|
19
|
+
this.generators = new SimpleRegistry;
|
|
20
|
+
this.validators = new SimpleRegistry;
|
|
21
|
+
this.adapters = new SimpleRegistry;
|
|
22
|
+
this.formatters = new SimpleRegistry;
|
|
23
|
+
this.registryResolvers = new SimpleRegistry;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
var defaultPluginRegistryConfig = {
|
|
27
|
+
plugins: [],
|
|
28
|
+
registry: {
|
|
29
|
+
resolutionOrder: ["workspace", "npm", "remote"],
|
|
30
|
+
allowPrerelease: false,
|
|
31
|
+
sources: {}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
export {
|
|
35
|
+
defaultPluginRegistryConfig,
|
|
36
|
+
PluginRegistries
|
|
37
|
+
};
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AdapterRegistry, FormatterRegistry, GeneratorRegistry, PluginRegistryConfig, RegistryResolverRegistry, ValidatorRegistry } from './types.js';
|
|
2
|
+
export declare class PluginRegistries {
|
|
3
|
+
readonly generators: GeneratorRegistry;
|
|
4
|
+
readonly validators: ValidatorRegistry;
|
|
5
|
+
readonly adapters: AdapterRegistry;
|
|
6
|
+
readonly formatters: FormatterRegistry;
|
|
7
|
+
readonly registryResolvers: RegistryResolverRegistry;
|
|
8
|
+
constructor();
|
|
9
|
+
}
|
|
10
|
+
export declare const defaultPluginRegistryConfig: PluginRegistryConfig;
|
|
11
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAEf,iBAAiB,EAEjB,iBAAiB,EACjB,oBAAoB,EAEpB,wBAAwB,EAExB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAcpB,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;;CAStD;AAED,eAAO,MAAM,2BAA2B,EAAE,oBAOzC,CAAC"}
|
package/dist/registry.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// src/registry.ts
|
|
3
|
+
class SimpleRegistry {
|
|
4
|
+
entries = new Map;
|
|
5
|
+
register(entry) {
|
|
6
|
+
this.entries.set(entry.id, entry);
|
|
7
|
+
}
|
|
8
|
+
list() {
|
|
9
|
+
return Array.from(this.entries.values());
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
class PluginRegistries {
|
|
14
|
+
generators;
|
|
15
|
+
validators;
|
|
16
|
+
adapters;
|
|
17
|
+
formatters;
|
|
18
|
+
registryResolvers;
|
|
19
|
+
constructor() {
|
|
20
|
+
this.generators = new SimpleRegistry;
|
|
21
|
+
this.validators = new SimpleRegistry;
|
|
22
|
+
this.adapters = new SimpleRegistry;
|
|
23
|
+
this.formatters = new SimpleRegistry;
|
|
24
|
+
this.registryResolvers = new SimpleRegistry;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
var defaultPluginRegistryConfig = {
|
|
28
|
+
plugins: [],
|
|
29
|
+
registry: {
|
|
30
|
+
resolutionOrder: ["workspace", "npm", "remote"],
|
|
31
|
+
allowPrerelease: false,
|
|
32
|
+
sources: {}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
export {
|
|
36
|
+
defaultPluginRegistryConfig,
|
|
37
|
+
PluginRegistries
|
|
38
|
+
};
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { AnySchemaModel } from '@contractspec/lib.schema';
|
|
2
|
+
export type SpecDefinition = unknown;
|
|
3
|
+
export type PluginCapabilityType = 'generator' | 'validator' | 'adapter' | 'formatter' | 'registryResolver';
|
|
4
|
+
export interface PluginMeta {
|
|
5
|
+
id: string;
|
|
6
|
+
version: string;
|
|
7
|
+
type: PluginCapabilityType;
|
|
8
|
+
provides: string[];
|
|
9
|
+
description?: string;
|
|
10
|
+
compatibility?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface PluginContext {
|
|
13
|
+
workspaceRoot: string;
|
|
14
|
+
configPath?: string;
|
|
15
|
+
generators: GeneratorRegistry;
|
|
16
|
+
validators: ValidatorRegistry;
|
|
17
|
+
adapters: AdapterRegistry;
|
|
18
|
+
formatters: FormatterRegistry;
|
|
19
|
+
registryResolvers: RegistryResolverRegistry;
|
|
20
|
+
}
|
|
21
|
+
export interface PluginRegistryItem {
|
|
22
|
+
id: string;
|
|
23
|
+
package: string;
|
|
24
|
+
capabilities: PluginCapabilityType[];
|
|
25
|
+
options?: Record<string, unknown>;
|
|
26
|
+
}
|
|
27
|
+
export interface PluginRegistryConfig {
|
|
28
|
+
plugins: PluginRegistryItem[];
|
|
29
|
+
registry?: {
|
|
30
|
+
resolutionOrder: ('workspace' | 'npm' | 'remote')[];
|
|
31
|
+
allowPrerelease?: boolean;
|
|
32
|
+
sources?: Record<string, string>;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface GeneratorCapability {
|
|
36
|
+
id: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
generate: (specs: SpecDefinition[], context: PluginContext) => Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
export interface ValidatorCapability {
|
|
41
|
+
id: string;
|
|
42
|
+
description?: string;
|
|
43
|
+
validate: (specs: SpecDefinition[], context: PluginContext) => Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
export interface AdapterCapability {
|
|
46
|
+
id: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
create: (context: PluginContext) => Promise<unknown>;
|
|
49
|
+
}
|
|
50
|
+
export interface FormatterCapability {
|
|
51
|
+
id: string;
|
|
52
|
+
description?: string;
|
|
53
|
+
format: (output: string, context: PluginContext) => Promise<string>;
|
|
54
|
+
}
|
|
55
|
+
export interface RegistryResolverCapability {
|
|
56
|
+
id: string;
|
|
57
|
+
description?: string;
|
|
58
|
+
resolve: (request: {
|
|
59
|
+
package: string;
|
|
60
|
+
}) => Promise<Record<string, unknown>>;
|
|
61
|
+
}
|
|
62
|
+
export interface ContractSpecPlugin {
|
|
63
|
+
meta: PluginMeta;
|
|
64
|
+
register: (context: PluginContext) => void | Promise<void>;
|
|
65
|
+
configure?: (options: Record<string, unknown>, context: PluginContext) => void | Promise<void>;
|
|
66
|
+
validate?: (specs: SpecDefinition[], context: PluginContext) => void | Promise<void>;
|
|
67
|
+
generate?: (specs: SpecDefinition[], context: PluginContext) => void | Promise<void>;
|
|
68
|
+
dispose?: () => void | Promise<void>;
|
|
69
|
+
}
|
|
70
|
+
export interface GeneratorRegistry {
|
|
71
|
+
register: (generator: GeneratorCapability) => void;
|
|
72
|
+
list: () => GeneratorCapability[];
|
|
73
|
+
}
|
|
74
|
+
export interface ValidatorRegistry {
|
|
75
|
+
register: (validator: ValidatorCapability) => void;
|
|
76
|
+
list: () => ValidatorCapability[];
|
|
77
|
+
}
|
|
78
|
+
export interface AdapterRegistry {
|
|
79
|
+
register: (adapter: AdapterCapability) => void;
|
|
80
|
+
list: () => AdapterCapability[];
|
|
81
|
+
}
|
|
82
|
+
export interface FormatterRegistry {
|
|
83
|
+
register: (formatter: FormatterCapability) => void;
|
|
84
|
+
list: () => FormatterCapability[];
|
|
85
|
+
}
|
|
86
|
+
export interface RegistryResolverRegistry {
|
|
87
|
+
register: (resolver: RegistryResolverCapability) => void;
|
|
88
|
+
list: () => RegistryResolverCapability[];
|
|
89
|
+
}
|
|
90
|
+
export interface SpecRegistryEntry {
|
|
91
|
+
id: string;
|
|
92
|
+
spec: SpecDefinition;
|
|
93
|
+
schemas: Record<string, AnySchemaModel>;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// @bun
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contractspec/lib.plugins",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.58.0",
|
|
4
4
|
"description": "Plugin API and registry for ContractSpec extensions",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"contractspec",
|
|
@@ -17,32 +17,33 @@
|
|
|
17
17
|
"scripts": {
|
|
18
18
|
"publish:pkg": "bun publish --tolerate-republish --ignore-scripts --verbose",
|
|
19
19
|
"publish:pkg:canary": "bun publish:pkg --tag canary",
|
|
20
|
-
"build": "bun build:
|
|
21
|
-
"build:bundle": "
|
|
22
|
-
"build:types": "
|
|
23
|
-
"dev": "bun
|
|
20
|
+
"build": "bun run prebuild && bun run build:bundle && bun run build:types",
|
|
21
|
+
"build:bundle": "contractspec-bun-build transpile",
|
|
22
|
+
"build:types": "contractspec-bun-build types",
|
|
23
|
+
"dev": "contractspec-bun-build dev",
|
|
24
24
|
"clean": "rimraf dist .turbo",
|
|
25
25
|
"lint": "bun lint:fix",
|
|
26
26
|
"lint:fix": "eslint src --fix",
|
|
27
27
|
"lint:check": "eslint src",
|
|
28
|
-
"test": "bun test"
|
|
28
|
+
"test": "bun test",
|
|
29
|
+
"prebuild": "contractspec-bun-build prebuild",
|
|
30
|
+
"typecheck": "tsc --noEmit"
|
|
29
31
|
},
|
|
30
32
|
"dependencies": {
|
|
31
|
-
"@contractspec/lib.contracts": "1.
|
|
32
|
-
"@contractspec/lib.schema": "1.
|
|
33
|
+
"@contractspec/lib.contracts": "1.58.0",
|
|
34
|
+
"@contractspec/lib.schema": "1.58.0",
|
|
33
35
|
"zod": "^4.3.5"
|
|
34
36
|
},
|
|
35
37
|
"devDependencies": {
|
|
36
|
-
"@contractspec/tool.
|
|
37
|
-
"
|
|
38
|
-
"
|
|
38
|
+
"@contractspec/tool.typescript": "1.58.0",
|
|
39
|
+
"typescript": "^5.9.3",
|
|
40
|
+
"@contractspec/tool.bun": "1.57.0"
|
|
39
41
|
},
|
|
40
42
|
"exports": {
|
|
41
|
-
".": "./
|
|
42
|
-
"./
|
|
43
|
-
"./
|
|
44
|
-
"./
|
|
45
|
-
"./*": "./*"
|
|
43
|
+
".": "./src/index.ts",
|
|
44
|
+
"./config": "./src/config.ts",
|
|
45
|
+
"./registry": "./src/registry.ts",
|
|
46
|
+
"./types": "./src/types.ts"
|
|
46
47
|
},
|
|
47
48
|
"files": [
|
|
48
49
|
"dist",
|
|
@@ -50,7 +51,37 @@
|
|
|
50
51
|
],
|
|
51
52
|
"publishConfig": {
|
|
52
53
|
"access": "public",
|
|
53
|
-
"registry": "https://registry.npmjs.org/"
|
|
54
|
+
"registry": "https://registry.npmjs.org/",
|
|
55
|
+
"exports": {
|
|
56
|
+
".": {
|
|
57
|
+
"types": "./dist/index.d.ts",
|
|
58
|
+
"bun": "./dist/index.js",
|
|
59
|
+
"node": "./dist/node/index.mjs",
|
|
60
|
+
"browser": "./dist/browser/index.js",
|
|
61
|
+
"default": "./dist/index.js"
|
|
62
|
+
},
|
|
63
|
+
"./config": {
|
|
64
|
+
"types": "./dist/config.d.ts",
|
|
65
|
+
"bun": "./dist/config.js",
|
|
66
|
+
"node": "./dist/node/config.mjs",
|
|
67
|
+
"browser": "./dist/browser/config.js",
|
|
68
|
+
"default": "./dist/config.js"
|
|
69
|
+
},
|
|
70
|
+
"./registry": {
|
|
71
|
+
"types": "./dist/registry.d.ts",
|
|
72
|
+
"bun": "./dist/registry.js",
|
|
73
|
+
"node": "./dist/node/registry.mjs",
|
|
74
|
+
"browser": "./dist/browser/registry.js",
|
|
75
|
+
"default": "./dist/registry.js"
|
|
76
|
+
},
|
|
77
|
+
"./types": {
|
|
78
|
+
"types": "./dist/types.d.ts",
|
|
79
|
+
"bun": "./dist/types.js",
|
|
80
|
+
"node": "./dist/node/types.mjs",
|
|
81
|
+
"browser": "./dist/browser/types.js",
|
|
82
|
+
"default": "./dist/types.js"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
54
85
|
},
|
|
55
86
|
"license": "MIT",
|
|
56
87
|
"repository": {
|
package/dist/index.d.mts
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { AnySchemaModel } from "@contractspec/lib.schema";
|
|
2
|
-
|
|
3
|
-
//#region src/types.d.ts
|
|
4
|
-
type SpecDefinition = unknown;
|
|
5
|
-
type PluginCapabilityType = 'generator' | 'validator' | 'adapter' | 'formatter' | 'registryResolver';
|
|
6
|
-
interface PluginMeta {
|
|
7
|
-
id: string;
|
|
8
|
-
version: string;
|
|
9
|
-
type: PluginCapabilityType;
|
|
10
|
-
provides: string[];
|
|
11
|
-
description?: string;
|
|
12
|
-
compatibility?: string;
|
|
13
|
-
}
|
|
14
|
-
interface PluginContext {
|
|
15
|
-
workspaceRoot: string;
|
|
16
|
-
configPath?: string;
|
|
17
|
-
generators: GeneratorRegistry;
|
|
18
|
-
validators: ValidatorRegistry;
|
|
19
|
-
adapters: AdapterRegistry;
|
|
20
|
-
formatters: FormatterRegistry;
|
|
21
|
-
registryResolvers: RegistryResolverRegistry;
|
|
22
|
-
}
|
|
23
|
-
interface PluginRegistryItem {
|
|
24
|
-
id: string;
|
|
25
|
-
package: string;
|
|
26
|
-
capabilities: PluginCapabilityType[];
|
|
27
|
-
options?: Record<string, unknown>;
|
|
28
|
-
}
|
|
29
|
-
interface PluginRegistryConfig {
|
|
30
|
-
plugins: PluginRegistryItem[];
|
|
31
|
-
registry?: {
|
|
32
|
-
resolutionOrder: ('workspace' | 'npm' | 'remote')[];
|
|
33
|
-
allowPrerelease?: boolean;
|
|
34
|
-
sources?: Record<string, string>;
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
interface GeneratorCapability {
|
|
38
|
-
id: string;
|
|
39
|
-
description?: string;
|
|
40
|
-
generate: (specs: SpecDefinition[], context: PluginContext) => Promise<void>;
|
|
41
|
-
}
|
|
42
|
-
interface ValidatorCapability {
|
|
43
|
-
id: string;
|
|
44
|
-
description?: string;
|
|
45
|
-
validate: (specs: SpecDefinition[], context: PluginContext) => Promise<void>;
|
|
46
|
-
}
|
|
47
|
-
interface AdapterCapability {
|
|
48
|
-
id: string;
|
|
49
|
-
description?: string;
|
|
50
|
-
create: (context: PluginContext) => Promise<unknown>;
|
|
51
|
-
}
|
|
52
|
-
interface FormatterCapability {
|
|
53
|
-
id: string;
|
|
54
|
-
description?: string;
|
|
55
|
-
format: (output: string, context: PluginContext) => Promise<string>;
|
|
56
|
-
}
|
|
57
|
-
interface RegistryResolverCapability {
|
|
58
|
-
id: string;
|
|
59
|
-
description?: string;
|
|
60
|
-
resolve: (request: {
|
|
61
|
-
package: string;
|
|
62
|
-
}) => Promise<Record<string, unknown>>;
|
|
63
|
-
}
|
|
64
|
-
interface ContractSpecPlugin {
|
|
65
|
-
meta: PluginMeta;
|
|
66
|
-
register: (context: PluginContext) => void | Promise<void>;
|
|
67
|
-
configure?: (options: Record<string, unknown>, context: PluginContext) => void | Promise<void>;
|
|
68
|
-
validate?: (specs: SpecDefinition[], context: PluginContext) => void | Promise<void>;
|
|
69
|
-
generate?: (specs: SpecDefinition[], context: PluginContext) => void | Promise<void>;
|
|
70
|
-
dispose?: () => void | Promise<void>;
|
|
71
|
-
}
|
|
72
|
-
interface GeneratorRegistry {
|
|
73
|
-
register: (generator: GeneratorCapability) => void;
|
|
74
|
-
list: () => GeneratorCapability[];
|
|
75
|
-
}
|
|
76
|
-
interface ValidatorRegistry {
|
|
77
|
-
register: (validator: ValidatorCapability) => void;
|
|
78
|
-
list: () => ValidatorCapability[];
|
|
79
|
-
}
|
|
80
|
-
interface AdapterRegistry {
|
|
81
|
-
register: (adapter: AdapterCapability) => void;
|
|
82
|
-
list: () => AdapterCapability[];
|
|
83
|
-
}
|
|
84
|
-
interface FormatterRegistry {
|
|
85
|
-
register: (formatter: FormatterCapability) => void;
|
|
86
|
-
list: () => FormatterCapability[];
|
|
87
|
-
}
|
|
88
|
-
interface RegistryResolverRegistry {
|
|
89
|
-
register: (resolver: RegistryResolverCapability) => void;
|
|
90
|
-
list: () => RegistryResolverCapability[];
|
|
91
|
-
}
|
|
92
|
-
interface SpecRegistryEntry {
|
|
93
|
-
id: string;
|
|
94
|
-
spec: SpecDefinition;
|
|
95
|
-
schemas: Record<string, AnySchemaModel>;
|
|
96
|
-
}
|
|
97
|
-
//#endregion
|
|
98
|
-
//#region src/registry.d.ts
|
|
99
|
-
declare class PluginRegistries {
|
|
100
|
-
readonly generators: GeneratorRegistry;
|
|
101
|
-
readonly validators: ValidatorRegistry;
|
|
102
|
-
readonly adapters: AdapterRegistry;
|
|
103
|
-
readonly formatters: FormatterRegistry;
|
|
104
|
-
readonly registryResolvers: RegistryResolverRegistry;
|
|
105
|
-
constructor();
|
|
106
|
-
}
|
|
107
|
-
declare const defaultPluginRegistryConfig: PluginRegistryConfig;
|
|
108
|
-
//#endregion
|
|
109
|
-
//#region src/config.d.ts
|
|
110
|
-
declare function mergePluginConfig(config?: Partial<PluginRegistryConfig>): PluginRegistryConfig;
|
|
111
|
-
//#endregion
|
|
112
|
-
export { type AdapterCapability, type AdapterRegistry, type ContractSpecPlugin, type FormatterCapability, type FormatterRegistry, type GeneratorCapability, type GeneratorRegistry, type PluginCapabilityType, type PluginContext, type PluginMeta, PluginRegistries, type PluginRegistryConfig, type PluginRegistryItem, type RegistryResolverCapability, type RegistryResolverRegistry, type SpecRegistryEntry, type ValidatorCapability, type ValidatorRegistry, defaultPluginRegistryConfig, mergePluginConfig };
|
|
113
|
-
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/registry.ts","../src/config.ts"],"mappings":";;;KAEY,cAAA;AAAA,KAEA,oBAAA;AAAA,UAOK,UAAA;EACf,EAAA;EACA,OAAA;EACA,IAAA,EAAM,oBAAA;EACN,QAAA;EACA,WAAA;EACA,aAAA;AAAA;AAAA,UAGe,aAAA;EACf,aAAA;EACA,UAAA;EACA,UAAA,EAAY,iBAAA;EACZ,UAAA,EAAY,iBAAA;EACZ,QAAA,EAAU,eAAA;EACV,UAAA,EAAY,iBAAA;EACZ,iBAAA,EAAmB,wBAAA;AAAA;AAAA,UAGJ,kBAAA;EACf,EAAA;EACA,OAAA;EACA,YAAA,EAAc,oBAAA;EACd,OAAA,GAAU,MAAA;AAAA;AAAA,UAGK,oBAAA;EACf,OAAA,EAAS,kBAAA;EACT,QAAA;IACE,eAAA;IACA,eAAA;IACA,OAAA,GAAU,MAAA;EAAA;AAAA;AAAA,UAIG,mBAAA;EACf,EAAA;EACA,WAAA;EACA,QAAA,GAAW,KAAA,EAAO,cAAA,IAAkB,OAAA,EAAS,aAAA,KAAkB,OAAA;AAAA;AAAA,UAGhD,mBAAA;EACf,EAAA;EACA,WAAA;EACA,QAAA,GAAW,KAAA,EAAO,cAAA,IAAkB,OAAA,EAAS,aAAA,KAAkB,OAAA;AAAA;AAAA,UAGhD,iBAAA;EACf,EAAA;EACA,WAAA;EACA,MAAA,GAAS,OAAA,EAAS,aAAA,KAAkB,OAAA;AAAA;AAAA,UAGrB,mBAAA;EACf,EAAA;EACA,WAAA;EACA,MAAA,GAAS,MAAA,UAAgB,OAAA,EAAS,aAAA,KAAkB,OAAA;AAAA;AAAA,UAGrC,0BAAA;EACf,EAAA;EACA,WAAA;EACA,OAAA,GAAU,OAAA;IAAW,OAAA;EAAA,MAAsB,OAAA,CAAQ,MAAA;AAAA;AAAA,UAGpC,kBAAA;EACf,IAAA,EAAM,UAAA;EACN,QAAA,GAAW,OAAA,EAAS,aAAA,YAAyB,OAAA;EAC7C,SAAA,IACE,OAAA,EAAS,MAAA,mBACT,OAAA,EAAS,aAAA,YACC,OAAA;EACZ,QAAA,IACE,KAAA,EAAO,cAAA,IACP,OAAA,EAAS,aAAA,YACC,OAAA;EACZ,QAAA,IACE,KAAA,EAAO,cAAA,IACP,OAAA,EAAS,aAAA,YACC,OAAA;EACZ,OAAA,gBAAuB,OAAA;AAAA;AAAA,UAGR,iBAAA;EACf,QAAA,GAAW,SAAA,EAAW,mBAAA;EACtB,IAAA,QAAY,mBAAA;AAAA;AAAA,UAGG,iBAAA;EACf,QAAA,GAAW,SAAA,EAAW,mBAAA;EACtB,IAAA,QAAY,mBAAA;AAAA;AAAA,UAGG,eAAA;EACf,QAAA,GAAW,OAAA,EAAS,iBAAA;EACpB,IAAA,QAAY,iBAAA;AAAA;AAAA,UAGG,iBAAA;EACf,QAAA,GAAW,SAAA,EAAW,mBAAA;EACtB,IAAA,QAAY,mBAAA;AAAA;AAAA,UAGG,wBAAA;EACf,QAAA,GAAW,QAAA,EAAU,0BAAA;EACrB,IAAA,QAAY,0BAAA;AAAA;AAAA,UAGG,iBAAA;EACf,EAAA;EACA,IAAA,EAAM,cAAA;EACN,OAAA,EAAS,MAAA,SAAe,cAAA;AAAA;;;cChGb,gBAAA;EAAA,SACF,UAAA,EAAY,iBAAA;EAAA,SACZ,UAAA,EAAY,iBAAA;EAAA,SACZ,QAAA,EAAU,eAAA;EAAA,SACV,UAAA,EAAY,iBAAA;EAAA,SACZ,iBAAA,EAAmB,wBAAA;;;cAWjB,2BAAA,EAA6B,oBAAA;;;iBCvC1B,iBAAA,CACd,MAAA,GAAS,OAAA,CAAQ,oBAAA,IAChB,oBAAA"}
|
package/dist/index.mjs
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
//#region src/registry.ts
|
|
2
|
-
var SimpleRegistry = class {
|
|
3
|
-
entries = /* @__PURE__ */ new Map();
|
|
4
|
-
register(entry) {
|
|
5
|
-
this.entries.set(entry.id, entry);
|
|
6
|
-
}
|
|
7
|
-
list() {
|
|
8
|
-
return Array.from(this.entries.values());
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
var PluginRegistries = class {
|
|
12
|
-
generators;
|
|
13
|
-
validators;
|
|
14
|
-
adapters;
|
|
15
|
-
formatters;
|
|
16
|
-
registryResolvers;
|
|
17
|
-
constructor() {
|
|
18
|
-
this.generators = new SimpleRegistry();
|
|
19
|
-
this.validators = new SimpleRegistry();
|
|
20
|
-
this.adapters = new SimpleRegistry();
|
|
21
|
-
this.formatters = new SimpleRegistry();
|
|
22
|
-
this.registryResolvers = new SimpleRegistry();
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
const defaultPluginRegistryConfig = {
|
|
26
|
-
plugins: [],
|
|
27
|
-
registry: {
|
|
28
|
-
resolutionOrder: [
|
|
29
|
-
"workspace",
|
|
30
|
-
"npm",
|
|
31
|
-
"remote"
|
|
32
|
-
],
|
|
33
|
-
allowPrerelease: false,
|
|
34
|
-
sources: {}
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
//#endregion
|
|
39
|
-
//#region src/config.ts
|
|
40
|
-
function mergePluginConfig(config) {
|
|
41
|
-
return {
|
|
42
|
-
...defaultPluginRegistryConfig,
|
|
43
|
-
...config,
|
|
44
|
-
registry: {
|
|
45
|
-
...defaultPluginRegistryConfig.registry ?? { resolutionOrder: [
|
|
46
|
-
"workspace",
|
|
47
|
-
"npm",
|
|
48
|
-
"remote"
|
|
49
|
-
] },
|
|
50
|
-
...config?.registry,
|
|
51
|
-
resolutionOrder: config?.registry?.resolutionOrder ?? defaultPluginRegistryConfig.registry?.resolutionOrder ?? [
|
|
52
|
-
"workspace",
|
|
53
|
-
"npm",
|
|
54
|
-
"remote"
|
|
55
|
-
],
|
|
56
|
-
sources: {
|
|
57
|
-
...defaultPluginRegistryConfig.registry?.sources ?? {},
|
|
58
|
-
...config?.registry?.sources ?? {}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
//#endregion
|
|
65
|
-
export { PluginRegistries, defaultPluginRegistryConfig, mergePluginConfig };
|
|
66
|
-
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/registry.ts","../src/config.ts"],"sourcesContent":["import type {\n AdapterCapability,\n AdapterRegistry,\n FormatterCapability,\n FormatterRegistry,\n GeneratorCapability,\n GeneratorRegistry,\n PluginRegistryConfig,\n RegistryResolverCapability,\n RegistryResolverRegistry,\n ValidatorCapability,\n ValidatorRegistry,\n} from './types.js';\n\nclass SimpleRegistry<T extends { id: string }> {\n private readonly entries = new Map<string, T>();\n\n register(entry: T): void {\n this.entries.set(entry.id, entry);\n }\n\n list(): T[] {\n return Array.from(this.entries.values());\n }\n}\n\nexport class PluginRegistries {\n readonly generators: GeneratorRegistry;\n readonly validators: ValidatorRegistry;\n readonly adapters: AdapterRegistry;\n readonly formatters: FormatterRegistry;\n readonly registryResolvers: RegistryResolverRegistry;\n\n constructor() {\n this.generators = new SimpleRegistry<GeneratorCapability>();\n this.validators = new SimpleRegistry<ValidatorCapability>();\n this.adapters = new SimpleRegistry<AdapterCapability>();\n this.formatters = new SimpleRegistry<FormatterCapability>();\n this.registryResolvers = new SimpleRegistry<RegistryResolverCapability>();\n }\n}\n\nexport const defaultPluginRegistryConfig: PluginRegistryConfig = {\n plugins: [],\n registry: {\n resolutionOrder: ['workspace', 'npm', 'remote'],\n allowPrerelease: false,\n sources: {},\n },\n};\n","import type { PluginRegistryConfig } from './types.js';\nimport { defaultPluginRegistryConfig } from './registry.js';\n\nexport function mergePluginConfig(\n config?: Partial<PluginRegistryConfig>\n): PluginRegistryConfig {\n return {\n ...defaultPluginRegistryConfig,\n ...config,\n registry: {\n ...(defaultPluginRegistryConfig.registry ?? {\n resolutionOrder: ['workspace', 'npm', 'remote'],\n }),\n ...config?.registry,\n resolutionOrder: config?.registry?.resolutionOrder ??\n defaultPluginRegistryConfig.registry?.resolutionOrder ?? [\n 'workspace',\n 'npm',\n 'remote',\n ],\n sources: {\n ...(defaultPluginRegistryConfig.registry?.sources ?? {}),\n ...(config?.registry?.sources ?? {}),\n },\n },\n };\n}\n"],"mappings":";AAcA,IAAM,iBAAN,MAA+C;CAC7C,AAAiB,0BAAU,IAAI,KAAgB;CAE/C,SAAS,OAAgB;AACvB,OAAK,QAAQ,IAAI,MAAM,IAAI,MAAM;;CAGnC,OAAY;AACV,SAAO,MAAM,KAAK,KAAK,QAAQ,QAAQ,CAAC;;;AAI5C,IAAa,mBAAb,MAA8B;CAC5B,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CAET,cAAc;AACZ,OAAK,aAAa,IAAI,gBAAqC;AAC3D,OAAK,aAAa,IAAI,gBAAqC;AAC3D,OAAK,WAAW,IAAI,gBAAmC;AACvD,OAAK,aAAa,IAAI,gBAAqC;AAC3D,OAAK,oBAAoB,IAAI,gBAA4C;;;AAI7E,MAAa,8BAAoD;CAC/D,SAAS,EAAE;CACX,UAAU;EACR,iBAAiB;GAAC;GAAa;GAAO;GAAS;EAC/C,iBAAiB;EACjB,SAAS,EAAE;EACZ;CACF;;;;AC9CD,SAAgB,kBACd,QACsB;AACtB,QAAO;EACL,GAAG;EACH,GAAG;EACH,UAAU;GACR,GAAI,4BAA4B,YAAY,EAC1C,iBAAiB;IAAC;IAAa;IAAO;IAAS,EAChD;GACD,GAAG,QAAQ;GACX,iBAAiB,QAAQ,UAAU,mBACjC,4BAA4B,UAAU,mBAAmB;IACvD;IACA;IACA;IACD;GACH,SAAS;IACP,GAAI,4BAA4B,UAAU,WAAW,EAAE;IACvD,GAAI,QAAQ,UAAU,WAAW,EAAE;IACpC;GACF;EACF"}
|