@eclipse-che/che-devworkspace-generator 7.99.0 → 7.100.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/lib/generate.d.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  ***********************************************************************/
10
10
  import { DevfileContext } from './api/devfile-context';
11
+ export declare const DEVWORKSPACE_METADATA_ANNOTATION = "dw.metadata.annotations";
11
12
  export declare class Generate {
12
13
  private devContainerComponentFinder;
13
14
  generate(devfileContent: string, editorContent: string, outputFile?: string, injectDefaultComponent?: string, defaultComponentImage?: string): Promise<DevfileContext>;
package/lib/generate.js CHANGED
@@ -48,11 +48,13 @@ var __importStar = (this && this.__importStar) || (function () {
48
48
  };
49
49
  })();
50
50
  Object.defineProperty(exports, "__esModule", { value: true });
51
- exports.Generate = void 0;
51
+ exports.Generate = exports.DEVWORKSPACE_METADATA_ANNOTATION = void 0;
52
52
  const inversify_1 = require("inversify");
53
+ const lodash_1 = require("lodash");
53
54
  const jsYaml = __importStar(require("js-yaml"));
54
55
  const fs = __importStar(require("fs-extra"));
55
56
  const dev_container_component_finder_1 = require("./devfile/dev-container-component-finder");
57
+ exports.DEVWORKSPACE_METADATA_ANNOTATION = 'dw.metadata.annotations';
56
58
  let Generate = class Generate {
57
59
  devContainerComponentFinder;
58
60
  async generate(devfileContent, editorContent, outputFile, injectDefaultComponent, defaultComponentImage) {
@@ -87,8 +89,16 @@ let Generate = class Generate {
87
89
  spec: editorDevfile,
88
90
  };
89
91
  // transform it into a devWorkspace
90
- const devfileMetadata = this.createDevWorkspaceMetadata(devfile, true);
91
- const devfileCopy = Object.assign({}, devfile);
92
+ const devfileCopy = (0, lodash_1.cloneDeep)(devfile);
93
+ if (devfileCopy.metadata.attributes) {
94
+ if (devfileCopy.attributes) {
95
+ devfileCopy.attributes = (0, lodash_1.merge)(devfileCopy.attributes, devfileCopy.metadata.attributes);
96
+ }
97
+ else {
98
+ devfileCopy.attributes = devfileCopy.metadata.attributes;
99
+ }
100
+ }
101
+ const devWorkspaceMetadata = this.createDevWorkspaceMetadata(devfileCopy);
92
102
  delete devfileCopy.schemaVersion;
93
103
  delete devfileCopy.metadata;
94
104
  const editorSpecContribution = {
@@ -100,7 +110,7 @@ let Generate = class Generate {
100
110
  const devWorkspace = {
101
111
  apiVersion: 'workspace.devfile.io/v1alpha2',
102
112
  kind: 'DevWorkspace',
103
- metadata: devfileMetadata,
113
+ metadata: devWorkspaceMetadata,
104
114
  spec: {
105
115
  started: true,
106
116
  routingClass: 'che',
@@ -126,7 +136,7 @@ let Generate = class Generate {
126
136
  await this.devContainerComponentFinder.find(context, injectDefaultComponent, defaultComponentImage);
127
137
  return context;
128
138
  }
129
- createDevWorkspaceMetadata(devfile, addDevfileContent = false) {
139
+ createDevWorkspaceMetadata(devfile) {
130
140
  const devWorkspaceMetadata = {};
131
141
  const devfileMetadata = devfile.metadata;
132
142
  if (devfileMetadata.name) {
@@ -135,10 +145,12 @@ let Generate = class Generate {
135
145
  if (devfileMetadata.generateName) {
136
146
  devWorkspaceMetadata.generateName = devfileMetadata.generateName;
137
147
  }
138
- if (addDevfileContent) {
139
- devWorkspaceMetadata.annotations = {
140
- 'che.eclipse.org/devfile': jsYaml.dump(devfile),
141
- };
148
+ if (devfile.attributes?.[exports.DEVWORKSPACE_METADATA_ANNOTATION]) {
149
+ devWorkspaceMetadata.annotations = Object.assign({}, devfile.attributes[exports.DEVWORKSPACE_METADATA_ANNOTATION]);
150
+ delete devfile.attributes[exports.DEVWORKSPACE_METADATA_ANNOTATION];
151
+ if (Object.keys(devfile.attributes).length === 0) {
152
+ delete devfile.attributes;
153
+ }
142
154
  }
143
155
  return devWorkspaceMetadata;
144
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
package/lib/main.d.ts CHANGED
@@ -9,6 +9,8 @@
9
9
  ***********************************************************************/
10
10
  import * as axios from 'axios';
11
11
  import { DevfileContext } from './api/devfile-context';
12
+ export declare const DEVWORKSPACE_DEVFILE = "che.eclipse.org/devfile";
13
+ export declare const DEVWORKSPACE_DEVFILE_SOURCE = "che.eclipse.org/devfile-source";
12
14
  export declare class Main {
13
15
  /**
14
16
  * Default constructor.
package/lib/main.js CHANGED
@@ -42,7 +42,7 @@ var __importStar = (this && this.__importStar) || (function () {
42
42
  };
43
43
  })();
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.Main = void 0;
45
+ exports.Main = exports.DEVWORKSPACE_DEVFILE_SOURCE = exports.DEVWORKSPACE_DEVFILE = void 0;
46
46
  const axios = __importStar(require("axios"));
47
47
  const fs = __importStar(require("fs-extra"));
48
48
  const generate_1 = require("./generate");
@@ -52,6 +52,8 @@ const inversify_binding_1 = require("./inversify/inversify-binding");
52
52
  const url_fetcher_1 = require("./fetch/url-fetcher");
53
53
  const editor_resolver_1 = require("./editor/editor-resolver");
54
54
  const git_url_resolver_1 = require("./resolve/git-url-resolver");
55
+ exports.DEVWORKSPACE_DEVFILE = 'che.eclipse.org/devfile';
56
+ exports.DEVWORKSPACE_DEVFILE_SOURCE = 'che.eclipse.org/devfile-source';
55
57
  class Main {
56
58
  /**
57
59
  * Default constructor.
@@ -82,6 +84,17 @@ class Main {
82
84
  devfileContent = await container.get(url_fetcher_1.UrlFetcher).fetchText(url.getContentUrl('devfile.yaml'));
83
85
  // load content
84
86
  const devfileParsed = jsYaml.load(devfileContent);
87
+ if (!devfileParsed.attributes) {
88
+ devfileParsed.attributes = {};
89
+ }
90
+ devfileParsed.attributes[generate_1.DEVWORKSPACE_METADATA_ANNOTATION] = {
91
+ [exports.DEVWORKSPACE_DEVFILE]: devfileContent,
92
+ [exports.DEVWORKSPACE_DEVFILE_SOURCE]: jsYaml.dump({
93
+ factory: {
94
+ params: 'url=' + params.devfileUrl,
95
+ },
96
+ }),
97
+ };
85
98
  // is there projects in the devfile ?
86
99
  if (devfileParsed && !devfileParsed.projects) {
87
100
  // no, so add the current project being cloned
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-che/che-devworkspace-generator",
3
- "version": "7.99.0",
3
+ "version": "7.100.0",
4
4
  "private": false,
5
5
  "description": "Generates DevWorkspaces by transforming existing devfiles",
6
6
  "main": "lib/entrypoint.js",
@@ -22,12 +22,12 @@
22
22
  "format": "if-env SKIP_FORMAT=true && echo 'skip format check' || prettier --check '{src,tests}/**/*.ts' package.json",
23
23
  "format:fix": "prettier --write '{src,tests}/**/*.ts' package.json",
24
24
  "lint": "if-env SKIP_LINT=true && echo 'skip lint check' || eslint --cache=true --no-error-on-unmatched-pattern=true '{src,tests}/(!model|**)/*.ts'",
25
- "lint:fix": "eslint --fix --cache=true --no-error-on-unmatched-pattern=true \"{src,tests}/(!model|**)/*.ts\"",
25
+ "lint:fix": "eslint --fix --cache=true --no-error-on-unmatched-pattern=true '{src,tests}/(!model|**)/*.ts'",
26
26
  "test": "if-env SKIP_TEST=true && echo 'skip test' || jest --forceExit",
27
27
  "watch": "tsc -w",
28
28
  "license:check": "docker run --rm -t -v ${PWD}/:/workspace/project quay.io/che-incubator/dash-licenses:next --check",
29
29
  "license:generate": "docker run --rm -t -v ${PWD}/:/workspace/project quay.io/che-incubator/dash-licenses:next",
30
- "publish:next": "yarn publish --registry=https://registry.npmjs.org/ --no-git-tag-version --new-version 0.0.1-\"$(date +%s)\""
30
+ "publish:next": "yarn publish --registry=https://registry.npmjs.org/ --no-git-tag-version --new-version 0.0.1-'$(date +%s)'"
31
31
  },
32
32
  "repository": {
33
33
  "type": "git",
@@ -40,13 +40,14 @@
40
40
  },
41
41
  "homepage": "https://github.com/eclipse-che/che-devfile-registry#readme",
42
42
  "dependencies": {
43
- "@devfile/api": "2.3.0-1738342178",
44
- "jsonschema": "^1.4.1",
43
+ "@devfile/api": "2.3.0-1738854228",
45
44
  "axios": "^1.7.4",
46
45
  "fs-extra": "^11.2.0",
47
46
  "inversify": "^6.0.2",
47
+ "lodash": "^4.17.21",
48
48
  "js-yaml": "^4.0.0",
49
49
  "jsonc-parser": "^3.0.0",
50
+ "jsonschema": "^1.4.1",
50
51
  "reflect-metadata": "^0.2.2"
51
52
  },
52
53
  "devDependencies": {
@@ -93,5 +94,6 @@
93
94
  "<rootDir>/lib"
94
95
  ],
95
96
  "preset": "ts-jest"
96
- }
97
+ },
98
+ "packageManager": "yarn@1.22.22"
97
99
  }
package/src/generate.ts CHANGED
@@ -18,6 +18,7 @@ import {
18
18
  V1alpha2DevWorkspaceTemplateSpec,
19
19
  } from '@devfile/api';
20
20
  import { injectable, inject } from 'inversify';
21
+ import { cloneDeep, merge } from 'lodash';
21
22
  import * as jsYaml from 'js-yaml';
22
23
  import * as fs from 'fs-extra';
23
24
  import { DevfileContext } from './api/devfile-context';
@@ -29,6 +30,8 @@ type DevfileLike = V230Devfile & {
29
30
  };
30
31
  };
31
32
 
33
+ export const DEVWORKSPACE_METADATA_ANNOTATION = 'dw.metadata.annotations';
34
+
32
35
  @injectable()
33
36
  export class Generate {
34
37
  @inject(DevContainerComponentFinder)
@@ -91,8 +94,15 @@ export class Generate {
91
94
  };
92
95
 
93
96
  // transform it into a devWorkspace
94
- const devfileMetadata = this.createDevWorkspaceMetadata(devfile, true);
95
- const devfileCopy: V230Devfile = Object.assign({}, devfile);
97
+ const devfileCopy: V230Devfile = cloneDeep(devfile);
98
+ if (devfileCopy.metadata.attributes) {
99
+ if (devfileCopy.attributes) {
100
+ devfileCopy.attributes = merge(devfileCopy.attributes, devfileCopy.metadata.attributes);
101
+ } else {
102
+ devfileCopy.attributes = devfileCopy.metadata.attributes;
103
+ }
104
+ }
105
+ const devWorkspaceMetadata = this.createDevWorkspaceMetadata(devfileCopy as DevfileLike);
96
106
  delete devfileCopy.schemaVersion;
97
107
  delete devfileCopy.metadata;
98
108
  const editorSpecContribution: V1alpha2DevWorkspaceSpecContributions = {
@@ -104,7 +114,7 @@ export class Generate {
104
114
  const devWorkspace: V1alpha2DevWorkspace = {
105
115
  apiVersion: 'workspace.devfile.io/v1alpha2',
106
116
  kind: 'DevWorkspace',
107
- metadata: devfileMetadata,
117
+ metadata: devWorkspaceMetadata,
108
118
  spec: {
109
119
  started: true,
110
120
  routingClass: 'che',
@@ -136,7 +146,7 @@ export class Generate {
136
146
  return context;
137
147
  }
138
148
 
139
- private createDevWorkspaceMetadata(devfile: DevfileLike, addDevfileContent = false): V1alpha2DevWorkspaceMetadata {
149
+ private createDevWorkspaceMetadata(devfile: DevfileLike): V1alpha2DevWorkspaceMetadata {
140
150
  const devWorkspaceMetadata = {} as V1alpha2DevWorkspaceMetadata;
141
151
  const devfileMetadata = devfile.metadata;
142
152
 
@@ -146,10 +156,12 @@ export class Generate {
146
156
  if (devfileMetadata.generateName) {
147
157
  devWorkspaceMetadata.generateName = devfileMetadata.generateName;
148
158
  }
149
- if (addDevfileContent) {
150
- devWorkspaceMetadata.annotations = {
151
- 'che.eclipse.org/devfile': jsYaml.dump(devfile),
152
- };
159
+ if (devfile.attributes?.[DEVWORKSPACE_METADATA_ANNOTATION]) {
160
+ devWorkspaceMetadata.annotations = Object.assign({}, devfile.attributes[DEVWORKSPACE_METADATA_ANNOTATION]);
161
+ delete devfile.attributes[DEVWORKSPACE_METADATA_ANNOTATION];
162
+ if (Object.keys(devfile.attributes).length === 0) {
163
+ delete devfile.attributes;
164
+ }
153
165
  }
154
166
 
155
167
  return devWorkspaceMetadata;
package/src/main.ts CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  import * as axios from 'axios';
12
12
  import * as fs from 'fs-extra';
13
- import { Generate } from './generate';
13
+ import { Generate, DEVWORKSPACE_METADATA_ANNOTATION } from './generate';
14
14
  import { DevfileSchemaValidator } from './devfile-schema/devfile-schema-validator';
15
15
  import * as jsYaml from 'js-yaml';
16
16
  import { InversifyBinding } from './inversify/inversify-binding';
@@ -21,6 +21,9 @@ import { DevfileContext } from './api/devfile-context';
21
21
  import { GitUrlResolver } from './resolve/git-url-resolver';
22
22
  import { ValidatorResult } from 'jsonschema';
23
23
 
24
+ export const DEVWORKSPACE_DEVFILE = 'che.eclipse.org/devfile';
25
+ export const DEVWORKSPACE_DEVFILE_SOURCE = 'che.eclipse.org/devfile-source';
26
+
24
27
  export class Main {
25
28
  /**
26
29
  * Default constructor.
@@ -70,6 +73,18 @@ export class Main {
70
73
  // load content
71
74
  const devfileParsed = jsYaml.load(devfileContent);
72
75
 
76
+ if (!devfileParsed.attributes) {
77
+ devfileParsed.attributes = {};
78
+ }
79
+ devfileParsed.attributes[DEVWORKSPACE_METADATA_ANNOTATION] = {
80
+ [DEVWORKSPACE_DEVFILE]: devfileContent,
81
+ [DEVWORKSPACE_DEVFILE_SOURCE]: jsYaml.dump({
82
+ factory: {
83
+ params: 'url=' + params.devfileUrl,
84
+ },
85
+ }),
86
+ };
87
+
73
88
  // is there projects in the devfile ?
74
89
  if (devfileParsed && !devfileParsed.projects) {
75
90
  // no, so add the current project being cloned