@backstage/plugin-catalog-node 1.3.4-next.2 → 1.3.5-next.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/CHANGELOG.md +26 -0
- package/alpha/package.json +1 -1
- package/dist/index.cjs.js +60 -0
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +19 -2
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# @backstage/plugin-catalog-node
|
|
2
2
|
|
|
3
|
+
## 1.3.5-next.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
- @backstage/backend-plugin-api@0.5.1-next.0
|
|
9
|
+
- @backstage/catalog-client@1.4.0
|
|
10
|
+
- @backstage/catalog-model@1.2.1
|
|
11
|
+
- @backstage/errors@1.1.5
|
|
12
|
+
- @backstage/types@1.0.2
|
|
13
|
+
- @backstage/plugin-catalog-common@1.0.12
|
|
14
|
+
|
|
15
|
+
## 1.3.4
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- e675f902980: Added `locationSpecToMetadataName` and `locationSpecToLocationEntity` as their new home, moved over from the backend package where they now are marked as deprecated.
|
|
20
|
+
- 928a12a9b3e: Internal refactor of `/alpha` exports.
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
- @backstage/catalog-client@1.4.0
|
|
23
|
+
- @backstage/errors@1.1.5
|
|
24
|
+
- @backstage/backend-plugin-api@0.5.0
|
|
25
|
+
- @backstage/catalog-model@1.2.1
|
|
26
|
+
- @backstage/plugin-catalog-common@1.0.12
|
|
27
|
+
- @backstage/types@1.0.2
|
|
28
|
+
|
|
3
29
|
## 1.3.4-next.2
|
|
4
30
|
|
|
5
31
|
### Patch Changes
|
package/alpha/package.json
CHANGED
package/dist/index.cjs.js
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var errors = require('@backstage/errors');
|
|
6
|
+
var catalogModel = require('@backstage/catalog-model');
|
|
7
|
+
var crypto = require('crypto');
|
|
6
8
|
|
|
7
9
|
const processingResult = Object.freeze({
|
|
8
10
|
notFoundError(atLocation, message) {
|
|
@@ -36,5 +38,63 @@ const processingResult = Object.freeze({
|
|
|
36
38
|
}
|
|
37
39
|
});
|
|
38
40
|
|
|
41
|
+
function locationSpecToMetadataName(location) {
|
|
42
|
+
const hash = crypto.createHash("sha1").update(`${location.type}:${location.target}`).digest("hex");
|
|
43
|
+
return `generated-${hash}`;
|
|
44
|
+
}
|
|
45
|
+
function locationSpecToLocationEntity(opts) {
|
|
46
|
+
var _a, _b;
|
|
47
|
+
const location = opts.location;
|
|
48
|
+
const parentEntity = opts.parentEntity;
|
|
49
|
+
let ownLocation;
|
|
50
|
+
let originLocation;
|
|
51
|
+
if (parentEntity) {
|
|
52
|
+
const maybeOwnLocation = (_a = parentEntity.metadata.annotations) == null ? void 0 : _a[catalogModel.ANNOTATION_LOCATION];
|
|
53
|
+
if (!maybeOwnLocation) {
|
|
54
|
+
throw new Error(
|
|
55
|
+
`Parent entity '${catalogModel.stringifyEntityRef(
|
|
56
|
+
parentEntity
|
|
57
|
+
)}' of location '${catalogModel.stringifyLocationRef(
|
|
58
|
+
location
|
|
59
|
+
)}' does not have a location annotation`
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
ownLocation = maybeOwnLocation;
|
|
63
|
+
const maybeOriginLocation = (_b = parentEntity.metadata.annotations) == null ? void 0 : _b[catalogModel.ANNOTATION_ORIGIN_LOCATION];
|
|
64
|
+
if (!maybeOriginLocation) {
|
|
65
|
+
throw new Error(
|
|
66
|
+
`Parent entity '${catalogModel.stringifyEntityRef(
|
|
67
|
+
parentEntity
|
|
68
|
+
)}' of location '${catalogModel.stringifyLocationRef(
|
|
69
|
+
location
|
|
70
|
+
)}' does not have an origin location annotation`
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
originLocation = maybeOriginLocation;
|
|
74
|
+
} else {
|
|
75
|
+
ownLocation = catalogModel.stringifyLocationRef(location);
|
|
76
|
+
originLocation = ownLocation;
|
|
77
|
+
}
|
|
78
|
+
const result = {
|
|
79
|
+
apiVersion: "backstage.io/v1alpha1",
|
|
80
|
+
kind: "Location",
|
|
81
|
+
metadata: {
|
|
82
|
+
name: locationSpecToMetadataName(location),
|
|
83
|
+
annotations: {
|
|
84
|
+
[catalogModel.ANNOTATION_LOCATION]: ownLocation,
|
|
85
|
+
[catalogModel.ANNOTATION_ORIGIN_LOCATION]: originLocation
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
spec: {
|
|
89
|
+
type: location.type,
|
|
90
|
+
target: location.target,
|
|
91
|
+
presence: location.presence
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
exports.locationSpecToLocationEntity = locationSpecToLocationEntity;
|
|
98
|
+
exports.locationSpecToMetadataName = locationSpecToMetadataName;
|
|
39
99
|
exports.processingResult = processingResult;
|
|
40
100
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/api/processingResult.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InputError, NotFoundError } from '@backstage/errors';\nimport { Entity } from '@backstage/catalog-model';\nimport { CatalogProcessorResult } from './processor';\nimport { EntityRelationSpec } from './common';\nimport { LocationSpec } from '@backstage/plugin-catalog-common';\n\n/**\n * Factory functions for the standard processing result types.\n *\n * @public\n */\nexport const processingResult = Object.freeze({\n notFoundError(\n atLocation: LocationSpec,\n message: string,\n ): CatalogProcessorResult {\n return {\n type: 'error',\n location: atLocation,\n error: new NotFoundError(message),\n };\n },\n\n inputError(\n atLocation: LocationSpec,\n message: string,\n ): CatalogProcessorResult {\n return {\n type: 'error',\n location: atLocation,\n error: new InputError(message),\n };\n },\n\n generalError(\n atLocation: LocationSpec,\n message: string,\n ): CatalogProcessorResult {\n return { type: 'error', location: atLocation, error: new Error(message) };\n },\n\n location(newLocation: LocationSpec): CatalogProcessorResult {\n return { type: 'location', location: newLocation };\n },\n\n entity(atLocation: LocationSpec, newEntity: Entity): CatalogProcessorResult {\n return { type: 'entity', location: atLocation, entity: newEntity };\n },\n\n relation(spec: EntityRelationSpec): CatalogProcessorResult {\n return { type: 'relation', relation: spec };\n },\n\n refresh(key: string): CatalogProcessorResult {\n return { type: 'refresh', key };\n },\n} as const);\n"],"names":["NotFoundError","InputError"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/api/processingResult.ts","../src/conversion.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InputError, NotFoundError } from '@backstage/errors';\nimport { Entity } from '@backstage/catalog-model';\nimport { CatalogProcessorResult } from './processor';\nimport { EntityRelationSpec } from './common';\nimport { LocationSpec } from '@backstage/plugin-catalog-common';\n\n/**\n * Factory functions for the standard processing result types.\n *\n * @public\n */\nexport const processingResult = Object.freeze({\n notFoundError(\n atLocation: LocationSpec,\n message: string,\n ): CatalogProcessorResult {\n return {\n type: 'error',\n location: atLocation,\n error: new NotFoundError(message),\n };\n },\n\n inputError(\n atLocation: LocationSpec,\n message: string,\n ): CatalogProcessorResult {\n return {\n type: 'error',\n location: atLocation,\n error: new InputError(message),\n };\n },\n\n generalError(\n atLocation: LocationSpec,\n message: string,\n ): CatalogProcessorResult {\n return { type: 'error', location: atLocation, error: new Error(message) };\n },\n\n location(newLocation: LocationSpec): CatalogProcessorResult {\n return { type: 'location', location: newLocation };\n },\n\n entity(atLocation: LocationSpec, newEntity: Entity): CatalogProcessorResult {\n return { type: 'entity', location: atLocation, entity: newEntity };\n },\n\n relation(spec: EntityRelationSpec): CatalogProcessorResult {\n return { type: 'relation', relation: spec };\n },\n\n refresh(key: string): CatalogProcessorResult {\n return { type: 'refresh', key };\n },\n} as const);\n","/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Entity,\n LocationEntityV1alpha1,\n ANNOTATION_LOCATION,\n ANNOTATION_ORIGIN_LOCATION,\n stringifyEntityRef,\n stringifyLocationRef,\n} from '@backstage/catalog-model';\nimport { createHash } from 'crypto';\nimport { LocationSpec } from '@backstage/plugin-catalog-common';\n\n/**\n * A standard way of producing a machine generated name for a location.\n *\n * @public\n */\nexport function locationSpecToMetadataName(location: LocationSpec) {\n const hash = createHash('sha1')\n .update(`${location.type}:${location.target}`)\n .digest('hex');\n return `generated-${hash}`;\n}\n\n/**\n * A standard way of producing a machine generated Location kind entity for a\n * location.\n *\n * @public\n */\nexport function locationSpecToLocationEntity(opts: {\n location: LocationSpec;\n parentEntity?: Entity;\n}): LocationEntityV1alpha1 {\n const location = opts.location;\n const parentEntity = opts.parentEntity;\n\n let ownLocation: string;\n let originLocation: string;\n if (parentEntity) {\n const maybeOwnLocation =\n parentEntity.metadata.annotations?.[ANNOTATION_LOCATION];\n if (!maybeOwnLocation) {\n throw new Error(\n `Parent entity '${stringifyEntityRef(\n parentEntity,\n )}' of location '${stringifyLocationRef(\n location,\n )}' does not have a location annotation`,\n );\n }\n ownLocation = maybeOwnLocation;\n const maybeOriginLocation =\n parentEntity.metadata.annotations?.[ANNOTATION_ORIGIN_LOCATION];\n if (!maybeOriginLocation) {\n throw new Error(\n `Parent entity '${stringifyEntityRef(\n parentEntity,\n )}' of location '${stringifyLocationRef(\n location,\n )}' does not have an origin location annotation`,\n );\n }\n originLocation = maybeOriginLocation;\n } else {\n ownLocation = stringifyLocationRef(location);\n originLocation = ownLocation;\n }\n\n const result: LocationEntityV1alpha1 = {\n apiVersion: 'backstage.io/v1alpha1',\n kind: 'Location',\n metadata: {\n name: locationSpecToMetadataName(location),\n annotations: {\n [ANNOTATION_LOCATION]: ownLocation,\n [ANNOTATION_ORIGIN_LOCATION]: originLocation,\n },\n },\n spec: {\n type: location.type,\n target: location.target,\n presence: location.presence,\n },\n };\n\n return result;\n}\n"],"names":["NotFoundError","InputError","createHash","ANNOTATION_LOCATION","stringifyEntityRef","stringifyLocationRef","ANNOTATION_ORIGIN_LOCATION"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { CompoundEntityRef, Entity } from '@backstage/catalog-model';
|
|
2
|
+
import { CompoundEntityRef, Entity, LocationEntityV1alpha1 } from '@backstage/catalog-model';
|
|
3
3
|
import { JsonValue } from '@backstage/types';
|
|
4
4
|
import { LocationSpec as LocationSpec$1 } from '@backstage/plugin-catalog-common';
|
|
5
5
|
|
|
@@ -250,4 +250,21 @@ interface EntityProvider {
|
|
|
250
250
|
connect(connection: EntityProviderConnection): Promise<void>;
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
-
|
|
253
|
+
/**
|
|
254
|
+
* A standard way of producing a machine generated name for a location.
|
|
255
|
+
*
|
|
256
|
+
* @public
|
|
257
|
+
*/
|
|
258
|
+
declare function locationSpecToMetadataName(location: LocationSpec$1): string;
|
|
259
|
+
/**
|
|
260
|
+
* A standard way of producing a machine generated Location kind entity for a
|
|
261
|
+
* location.
|
|
262
|
+
*
|
|
263
|
+
* @public
|
|
264
|
+
*/
|
|
265
|
+
declare function locationSpecToLocationEntity(opts: {
|
|
266
|
+
location: LocationSpec$1;
|
|
267
|
+
parentEntity?: Entity;
|
|
268
|
+
}): LocationEntityV1alpha1;
|
|
269
|
+
|
|
270
|
+
export { CatalogProcessor, CatalogProcessorCache, CatalogProcessorEmit, CatalogProcessorEntityResult, CatalogProcessorErrorResult, CatalogProcessorLocationResult, CatalogProcessorParser, CatalogProcessorRefreshKeysResult, CatalogProcessorRelationResult, CatalogProcessorResult, DeferredEntity, EntityProvider, EntityProviderConnection, EntityProviderMutation, EntityProviderRefreshOptions, EntityRelationSpec, LocationSpec, locationSpecToLocationEntity, locationSpecToMetadataName, processingResult };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-catalog-node",
|
|
3
3
|
"description": "The plugin-catalog-node module for @backstage/plugin-catalog-backend",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.5-next.0",
|
|
5
5
|
"main": "./dist/index.cjs.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -34,17 +34,17 @@
|
|
|
34
34
|
"postpack": "backstage-cli package postpack"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@backstage/backend-plugin-api": "^0.
|
|
38
|
-
"@backstage/catalog-client": "^1.4.0
|
|
39
|
-
"@backstage/catalog-model": "^1.2.1
|
|
40
|
-
"@backstage/errors": "^1.1.5
|
|
41
|
-
"@backstage/plugin-catalog-common": "^1.0.12
|
|
37
|
+
"@backstage/backend-plugin-api": "^0.5.1-next.0",
|
|
38
|
+
"@backstage/catalog-client": "^1.4.0",
|
|
39
|
+
"@backstage/catalog-model": "^1.2.1",
|
|
40
|
+
"@backstage/errors": "^1.1.5",
|
|
41
|
+
"@backstage/plugin-catalog-common": "^1.0.12",
|
|
42
42
|
"@backstage/types": "^1.0.2"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@backstage/backend-common": "^0.18.
|
|
46
|
-
"@backstage/backend-test-utils": "^0.1.
|
|
47
|
-
"@backstage/cli": "^0.22.
|
|
45
|
+
"@backstage/backend-common": "^0.18.4-next.0",
|
|
46
|
+
"@backstage/backend-test-utils": "^0.1.36-next.0",
|
|
47
|
+
"@backstage/cli": "^0.22.6-next.0"
|
|
48
48
|
},
|
|
49
49
|
"files": [
|
|
50
50
|
"dist",
|