@kapeta/local-cluster-service 0.40.2 → 0.40.4
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/CHANGELOG.md +14 -0
- package/dist/cjs/src/assets/routes.js +9 -0
- package/dist/cjs/src/codeGeneratorManager.js +2 -2
- package/dist/cjs/src/definitionsManager.d.ts +2 -1
- package/dist/cjs/src/definitionsManager.js +13 -2
- package/dist/esm/src/assets/routes.js +9 -0
- package/dist/esm/src/codeGeneratorManager.js +2 -2
- package/dist/esm/src/definitionsManager.d.ts +2 -1
- package/dist/esm/src/definitionsManager.js +13 -2
- package/package.json +4 -4
- package/src/assets/routes.ts +9 -0
- package/src/codeGeneratorManager.ts +2 -2
- package/src/definitionsManager.ts +17 -6
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
## [0.40.4](https://github.com/kapetacom/local-cluster-service/compare/v0.40.3...v0.40.4) (2024-04-04)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* Add assets/issues endpoint + bump cluster-config ([#134](https://github.com/kapetacom/local-cluster-service/issues/134)) ([121b510](https://github.com/kapetacom/local-cluster-service/commit/121b510c00525e5f65b88a9d5ccdc00ee642cff4))
|
7
|
+
|
8
|
+
## [0.40.3](https://github.com/kapetacom/local-cluster-service/compare/v0.40.2...v0.40.3) (2024-03-26)
|
9
|
+
|
10
|
+
|
11
|
+
### Bug Fixes
|
12
|
+
|
13
|
+
* codegen for 'core/block-type.*' regexp ([8e544b0](https://github.com/kapetacom/local-cluster-service/commit/8e544b0ca91acf0b467e60ee0249a5a96ece6393))
|
14
|
+
|
1
15
|
## [0.40.2](https://github.com/kapetacom/local-cluster-service/compare/v0.40.1...v0.40.2) (2024-03-11)
|
2
16
|
|
3
17
|
|
@@ -162,4 +162,13 @@ router.put('/install', async (req, res) => {
|
|
162
162
|
res.status(400).send({ error: err.message });
|
163
163
|
}
|
164
164
|
});
|
165
|
+
router.get('/issues', async (req, res) => {
|
166
|
+
try {
|
167
|
+
const issues = await definitionsManager_1.definitionsManager.getDefinitionErrors();
|
168
|
+
res.send(issues);
|
169
|
+
}
|
170
|
+
catch (err) {
|
171
|
+
res.status(500).send({ error: err.message });
|
172
|
+
}
|
173
|
+
});
|
165
174
|
exports.default = router;
|
@@ -15,7 +15,7 @@ const assetManager_1 = require("./assetManager");
|
|
15
15
|
const nodejs_utils_1 = require("@kapeta/nodejs-utils");
|
16
16
|
const repositoryManager_1 = require("./repositoryManager");
|
17
17
|
const TARGET_KIND = 'core/language-target';
|
18
|
-
const
|
18
|
+
const BLOCK_TYPE_REGEX = /^core\/block-type.*/;
|
19
19
|
class CodeGeneratorManager {
|
20
20
|
async ensureLanguageTargetInRegistry(path, version, definition) {
|
21
21
|
const key = `${definition.metadata.name}:${version}`;
|
@@ -63,7 +63,7 @@ class CodeGeneratorManager {
|
|
63
63
|
return false;
|
64
64
|
}
|
65
65
|
const kindUri = (0, nodejs_utils_1.parseKapetaUri)(yamlContent.kind);
|
66
|
-
const blockTypes = await definitionsManager_1.definitionsManager.getDefinitions(
|
66
|
+
const blockTypes = await definitionsManager_1.definitionsManager.getDefinitions([BLOCK_TYPE_REGEX]);
|
67
67
|
const blockTypeKinds = blockTypes.map((blockType) => (0, nodejs_utils_1.parseKapetaUri)(blockType.definition.metadata.name).fullName);
|
68
68
|
return blockTypeKinds.includes(kindUri.fullName);
|
69
69
|
}
|
@@ -8,9 +8,10 @@ declare class DefinitionsManager {
|
|
8
8
|
private resolveDefinitionsAndSamples;
|
9
9
|
private prepareSample;
|
10
10
|
private applyFilters;
|
11
|
-
getDefinitions(kindFilter?: string | string[]): Promise<DefinitionInfo[]>;
|
11
|
+
getDefinitions(kindFilter?: string | (string | RegExp)[]): Promise<DefinitionInfo[]>;
|
12
12
|
exists(ref: string): Promise<boolean>;
|
13
13
|
getProviderDefinitions(): Promise<DefinitionInfo[]>;
|
14
|
+
getDefinitionErrors(): Promise<import("@kapeta/local-cluster-config").DefinitionError[]>;
|
14
15
|
getDefinition(ref: string): Promise<DefinitionInfo | undefined>;
|
15
16
|
getLatestDefinition(name: string): Promise<DefinitionInfo | undefined>;
|
16
17
|
getVersions(assetName: string): Promise<DefinitionInfo[]>;
|
@@ -38,7 +38,7 @@ function normalizeFilters(kindFilter) {
|
|
38
38
|
resolvedFilters = [kindFilter];
|
39
39
|
}
|
40
40
|
}
|
41
|
-
return resolvedFilters
|
41
|
+
return resolvedFilters;
|
42
42
|
}
|
43
43
|
class DefinitionsManager {
|
44
44
|
async resolveDefinitionsAndSamples() {
|
@@ -120,7 +120,15 @@ class DefinitionsManager {
|
|
120
120
|
return definitions;
|
121
121
|
}
|
122
122
|
return definitions.filter((d) => {
|
123
|
-
|
123
|
+
const kind = d.definition.kind.toLowerCase();
|
124
|
+
return kindFilter.some((filter) => {
|
125
|
+
if (filter instanceof RegExp) {
|
126
|
+
return filter.test(kind);
|
127
|
+
}
|
128
|
+
else {
|
129
|
+
return kind === filter.toLowerCase();
|
130
|
+
}
|
131
|
+
});
|
124
132
|
});
|
125
133
|
}
|
126
134
|
async getDefinitions(kindFilter) {
|
@@ -134,6 +142,9 @@ class DefinitionsManager {
|
|
134
142
|
async getProviderDefinitions() {
|
135
143
|
return (0, cacheManager_1.doCached)('definitionsManager:providers', () => local_cluster_config_1.default.getProviderDefinitions());
|
136
144
|
}
|
145
|
+
async getDefinitionErrors() {
|
146
|
+
return local_cluster_config_1.default.getDefinitionErrors();
|
147
|
+
}
|
137
148
|
async getDefinition(ref) {
|
138
149
|
const uri = (0, nodejs_utils_1.parseKapetaUri)(ref);
|
139
150
|
const definitions = await this.getDefinitions();
|
@@ -162,4 +162,13 @@ router.put('/install', async (req, res) => {
|
|
162
162
|
res.status(400).send({ error: err.message });
|
163
163
|
}
|
164
164
|
});
|
165
|
+
router.get('/issues', async (req, res) => {
|
166
|
+
try {
|
167
|
+
const issues = await definitionsManager_1.definitionsManager.getDefinitionErrors();
|
168
|
+
res.send(issues);
|
169
|
+
}
|
170
|
+
catch (err) {
|
171
|
+
res.status(500).send({ error: err.message });
|
172
|
+
}
|
173
|
+
});
|
165
174
|
exports.default = router;
|
@@ -15,7 +15,7 @@ const assetManager_1 = require("./assetManager");
|
|
15
15
|
const nodejs_utils_1 = require("@kapeta/nodejs-utils");
|
16
16
|
const repositoryManager_1 = require("./repositoryManager");
|
17
17
|
const TARGET_KIND = 'core/language-target';
|
18
|
-
const
|
18
|
+
const BLOCK_TYPE_REGEX = /^core\/block-type.*/;
|
19
19
|
class CodeGeneratorManager {
|
20
20
|
async ensureLanguageTargetInRegistry(path, version, definition) {
|
21
21
|
const key = `${definition.metadata.name}:${version}`;
|
@@ -63,7 +63,7 @@ class CodeGeneratorManager {
|
|
63
63
|
return false;
|
64
64
|
}
|
65
65
|
const kindUri = (0, nodejs_utils_1.parseKapetaUri)(yamlContent.kind);
|
66
|
-
const blockTypes = await definitionsManager_1.definitionsManager.getDefinitions(
|
66
|
+
const blockTypes = await definitionsManager_1.definitionsManager.getDefinitions([BLOCK_TYPE_REGEX]);
|
67
67
|
const blockTypeKinds = blockTypes.map((blockType) => (0, nodejs_utils_1.parseKapetaUri)(blockType.definition.metadata.name).fullName);
|
68
68
|
return blockTypeKinds.includes(kindUri.fullName);
|
69
69
|
}
|
@@ -8,9 +8,10 @@ declare class DefinitionsManager {
|
|
8
8
|
private resolveDefinitionsAndSamples;
|
9
9
|
private prepareSample;
|
10
10
|
private applyFilters;
|
11
|
-
getDefinitions(kindFilter?: string | string[]): Promise<DefinitionInfo[]>;
|
11
|
+
getDefinitions(kindFilter?: string | (string | RegExp)[]): Promise<DefinitionInfo[]>;
|
12
12
|
exists(ref: string): Promise<boolean>;
|
13
13
|
getProviderDefinitions(): Promise<DefinitionInfo[]>;
|
14
|
+
getDefinitionErrors(): Promise<import("@kapeta/local-cluster-config").DefinitionError[]>;
|
14
15
|
getDefinition(ref: string): Promise<DefinitionInfo | undefined>;
|
15
16
|
getLatestDefinition(name: string): Promise<DefinitionInfo | undefined>;
|
16
17
|
getVersions(assetName: string): Promise<DefinitionInfo[]>;
|
@@ -38,7 +38,7 @@ function normalizeFilters(kindFilter) {
|
|
38
38
|
resolvedFilters = [kindFilter];
|
39
39
|
}
|
40
40
|
}
|
41
|
-
return resolvedFilters
|
41
|
+
return resolvedFilters;
|
42
42
|
}
|
43
43
|
class DefinitionsManager {
|
44
44
|
async resolveDefinitionsAndSamples() {
|
@@ -120,7 +120,15 @@ class DefinitionsManager {
|
|
120
120
|
return definitions;
|
121
121
|
}
|
122
122
|
return definitions.filter((d) => {
|
123
|
-
|
123
|
+
const kind = d.definition.kind.toLowerCase();
|
124
|
+
return kindFilter.some((filter) => {
|
125
|
+
if (filter instanceof RegExp) {
|
126
|
+
return filter.test(kind);
|
127
|
+
}
|
128
|
+
else {
|
129
|
+
return kind === filter.toLowerCase();
|
130
|
+
}
|
131
|
+
});
|
124
132
|
});
|
125
133
|
}
|
126
134
|
async getDefinitions(kindFilter) {
|
@@ -134,6 +142,9 @@ class DefinitionsManager {
|
|
134
142
|
async getProviderDefinitions() {
|
135
143
|
return (0, cacheManager_1.doCached)('definitionsManager:providers', () => local_cluster_config_1.default.getProviderDefinitions());
|
136
144
|
}
|
145
|
+
async getDefinitionErrors() {
|
146
|
+
return local_cluster_config_1.default.getDefinitionErrors();
|
147
|
+
}
|
137
148
|
async getDefinition(ref) {
|
138
149
|
const uri = (0, nodejs_utils_1.parseKapetaUri)(ref);
|
139
150
|
const definitions = await this.getDefinitions();
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@kapeta/local-cluster-service",
|
3
|
-
"version": "0.40.
|
3
|
+
"version": "0.40.4",
|
4
4
|
"description": "Manages configuration, ports and service discovery for locally running Kapeta systems",
|
5
5
|
"type": "commonjs",
|
6
6
|
"exports": {
|
@@ -49,7 +49,8 @@
|
|
49
49
|
"homepage": "https://github.com/kapetacom/local-cluster-service#readme",
|
50
50
|
"dependencies": {
|
51
51
|
"@kapeta/codegen": "^1.3.0",
|
52
|
-
"@kapeta/
|
52
|
+
"@kapeta/config-mapper": "^1.1.1",
|
53
|
+
"@kapeta/local-cluster-config": "^0.4.1",
|
53
54
|
"@kapeta/nodejs-api-client": ">=0.2.0 <2",
|
54
55
|
"@kapeta/nodejs-process": "^1.2.0",
|
55
56
|
"@kapeta/nodejs-registry-utils": ">=0.11.1 <2",
|
@@ -78,8 +79,7 @@
|
|
78
79
|
"stream-json": "^1.8.0",
|
79
80
|
"tar-stream": "^3.1.6",
|
80
81
|
"typescript": "^5.1.6",
|
81
|
-
"yaml": "^1.6.0"
|
82
|
-
"@kapeta/config-mapper": "^1.1.1"
|
82
|
+
"yaml": "^1.6.0"
|
83
83
|
},
|
84
84
|
"devDependencies": {
|
85
85
|
"@kapeta/eslint-config": "^0.7.0",
|
package/src/assets/routes.ts
CHANGED
@@ -180,4 +180,13 @@ router.put('/install', async (req: Request, res: Response) => {
|
|
180
180
|
}
|
181
181
|
});
|
182
182
|
|
183
|
+
router.get('/issues', async (req: Request, res: Response) => {
|
184
|
+
try {
|
185
|
+
const issues = await definitionsManager.getDefinitionErrors();
|
186
|
+
res.send(issues);
|
187
|
+
} catch (err: any) {
|
188
|
+
res.status(500).send({ error: err.message });
|
189
|
+
}
|
190
|
+
});
|
191
|
+
|
183
192
|
export default router;
|
@@ -13,7 +13,7 @@ import { normalizeKapetaUri, parseKapetaUri } from '@kapeta/nodejs-utils';
|
|
13
13
|
import { repositoryManager } from './repositoryManager';
|
14
14
|
|
15
15
|
const TARGET_KIND = 'core/language-target';
|
16
|
-
const
|
16
|
+
const BLOCK_TYPE_REGEX = /^core\/block-type.*/;
|
17
17
|
|
18
18
|
class CodeGeneratorManager {
|
19
19
|
private async ensureLanguageTargetInRegistry(path: string, version: string, definition: Definition) {
|
@@ -68,7 +68,7 @@ class CodeGeneratorManager {
|
|
68
68
|
|
69
69
|
const kindUri = parseKapetaUri(yamlContent.kind);
|
70
70
|
|
71
|
-
const blockTypes = await definitionsManager.getDefinitions(
|
71
|
+
const blockTypes = await definitionsManager.getDefinitions([BLOCK_TYPE_REGEX]);
|
72
72
|
const blockTypeKinds = blockTypes.map(
|
73
73
|
(blockType) => parseKapetaUri(blockType.definition.metadata.name).fullName
|
74
74
|
);
|
@@ -27,8 +27,8 @@ function applyHandleChange(definition: DefinitionInfo, targetHandle: string) {
|
|
27
27
|
return definition;
|
28
28
|
}
|
29
29
|
|
30
|
-
function normalizeFilters(kindFilter?: string | string[]) {
|
31
|
-
let resolvedFilters:
|
30
|
+
function normalizeFilters(kindFilter?: string | (string | RegExp)[]) {
|
31
|
+
let resolvedFilters: any[] = [];
|
32
32
|
|
33
33
|
if (kindFilter) {
|
34
34
|
if (Array.isArray(kindFilter)) {
|
@@ -38,7 +38,7 @@ function normalizeFilters(kindFilter?: string | string[]) {
|
|
38
38
|
}
|
39
39
|
}
|
40
40
|
|
41
|
-
return resolvedFilters
|
41
|
+
return resolvedFilters;
|
42
42
|
}
|
43
43
|
|
44
44
|
class DefinitionsManager {
|
@@ -138,17 +138,24 @@ class DefinitionsManager {
|
|
138
138
|
console.log('Rewrite done for sample plan');
|
139
139
|
}
|
140
140
|
|
141
|
-
private applyFilters(definitions: DefinitionInfo[], kindFilter: string[]): DefinitionInfo[] {
|
141
|
+
private applyFilters(definitions: DefinitionInfo[], kindFilter: (string | RegExp)[]): DefinitionInfo[] {
|
142
142
|
if (kindFilter.length === 0) {
|
143
143
|
return definitions;
|
144
144
|
}
|
145
145
|
|
146
146
|
return definitions.filter((d) => {
|
147
|
-
|
147
|
+
const kind = d.definition.kind.toLowerCase();
|
148
|
+
return kindFilter.some((filter) => {
|
149
|
+
if (filter instanceof RegExp) {
|
150
|
+
return filter.test(kind);
|
151
|
+
} else {
|
152
|
+
return kind === filter.toLowerCase();
|
153
|
+
}
|
154
|
+
});
|
148
155
|
});
|
149
156
|
}
|
150
157
|
|
151
|
-
public async getDefinitions(kindFilter?: string | string[]): Promise<DefinitionInfo[]> {
|
158
|
+
public async getDefinitions(kindFilter?: string | (string | RegExp)[]): Promise<DefinitionInfo[]> {
|
152
159
|
kindFilter = normalizeFilters(kindFilter);
|
153
160
|
|
154
161
|
const definitions = await doCached<Promise<DefinitionInfo[]>>('definitionsManager:all', () =>
|
@@ -168,6 +175,10 @@ class DefinitionsManager {
|
|
168
175
|
);
|
169
176
|
}
|
170
177
|
|
178
|
+
public async getDefinitionErrors() {
|
179
|
+
return ClusterConfiguration.getDefinitionErrors();
|
180
|
+
}
|
181
|
+
|
171
182
|
public async getDefinition(ref: string) {
|
172
183
|
const uri = parseKapetaUri(ref);
|
173
184
|
const definitions = await this.getDefinitions();
|