@sap-ux/generator-adp 1.0.7 → 1.0.9

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.
Files changed (41) hide show
  1. package/generators/add-annotations-to-odata/index.js +20 -15
  2. package/generators/add-component-usages/index.js +21 -16
  3. package/generators/add-new-model/index.js +29 -24
  4. package/generators/app/extension-project/index.js +9 -6
  5. package/generators/app/index.js +135 -129
  6. package/generators/app/layer.js +8 -5
  7. package/generators/app/questions/attributes.js +65 -60
  8. package/generators/app/questions/cf-services.js +52 -48
  9. package/generators/app/questions/configuration.js +129 -125
  10. package/generators/app/questions/helper/additional-messages.js +36 -29
  11. package/generators/app/questions/helper/choices.js +25 -16
  12. package/generators/app/questions/helper/conditions.js +23 -14
  13. package/generators/app/questions/helper/default-values.js +13 -8
  14. package/generators/app/questions/helper/message.js +11 -7
  15. package/generators/app/questions/helper/tooltip.js +7 -4
  16. package/generators/app/questions/helper/validators.js +39 -29
  17. package/generators/app/questions/key-user.js +45 -40
  18. package/generators/app/questions/target-env.js +27 -22
  19. package/generators/app/types.js +16 -13
  20. package/generators/base/questions/credentials.js +18 -15
  21. package/generators/base/sub-gen-auth-base.js +30 -24
  22. package/generators/base/sub-gen-base.js +17 -11
  23. package/generators/change-data-source/index.js +13 -8
  24. package/generators/telemetry/collector.js +10 -6
  25. package/generators/telemetry/events.js +5 -2
  26. package/generators/telemetry/index.js +18 -2
  27. package/generators/types.js +5 -2
  28. package/generators/utils/appWizardCache.js +13 -7
  29. package/generators/utils/deps.d.ts +6 -0
  30. package/generators/utils/deps.js +52 -10
  31. package/generators/utils/i18n.js +20 -12
  32. package/generators/utils/logger.js +7 -4
  33. package/generators/utils/opts.js +6 -3
  34. package/generators/utils/parse-json-input.js +9 -5
  35. package/generators/utils/steps.js +48 -37
  36. package/generators/utils/subgenHelpers.js +14 -9
  37. package/generators/utils/templates.d.ts +4 -0
  38. package/generators/utils/templates.js +13 -7
  39. package/generators/utils/type-guards.js +6 -2
  40. package/generators/utils/workspace.js +13 -7
  41. package/package.json +10 -11
@@ -1,14 +1,19 @@
1
- import { MessageType } from '@sap-devx/yeoman-ui-types';
2
- import { ChangeType, generateChange, AnnotationFileSelectType, getPromptsForAddAnnotationsToOData } from '@sap-ux/adp-tooling';
3
- import { getAnnotationNamespaces } from '@sap-ux/odata-service-writer';
4
- import { t } from '../utils/i18n.js';
5
- import { GeneratorTypes } from '../types.js';
6
- import SubGeneratorWithAuthBase from '../base/sub-gen-auth-base.js';
7
- import { getTemplatesOverwritePath } from '../utils/templates.js';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const yeoman_ui_types_1 = require("@sap-devx/yeoman-ui-types");
7
+ const adp_tooling_1 = require("@sap-ux/adp-tooling");
8
+ const odata_service_writer_1 = require("@sap-ux/odata-service-writer");
9
+ const i18n_js_1 = require("../utils/i18n.js");
10
+ const types_js_1 = require("../types.js");
11
+ const sub_gen_auth_base_js_1 = __importDefault(require("../base/sub-gen-auth-base.js"));
12
+ const templates_js_1 = require("../utils/templates.js");
8
13
  /**
9
14
  * Generator for adding annotations to OData services.
10
15
  */
11
- class AddAnnotationsToDataGenerator extends SubGeneratorWithAuthBase {
16
+ class AddAnnotationsToDataGenerator extends sub_gen_auth_base_js_1.default {
12
17
  /**
13
18
  * The answers from the prompts.
14
19
  */
@@ -24,7 +29,7 @@ class AddAnnotationsToDataGenerator extends SubGeneratorWithAuthBase {
24
29
  * @param {GeneratorOpts} opts - The options for the generator.
25
30
  */
26
31
  constructor(args, opts) {
27
- super(args, opts, GeneratorTypes.ADD_ANNOTATIONS_TO_DATA);
32
+ super(args, opts, types_js_1.GeneratorTypes.ADD_ANNOTATIONS_TO_DATA);
28
33
  }
29
34
  async initializing() {
30
35
  await this.onInit();
@@ -33,7 +38,7 @@ class AddAnnotationsToDataGenerator extends SubGeneratorWithAuthBase {
33
38
  try {
34
39
  const manifest = await this.getManifest();
35
40
  this.dataSources = manifest?.['sap.app']?.dataSources ?? {};
36
- this.answers = await this.prompt(getPromptsForAddAnnotationsToOData(this.projectPath, this.dataSources));
41
+ this.answers = await this.prompt((0, adp_tooling_1.getPromptsForAddAnnotationsToOData)(this.projectPath, this.dataSources));
37
42
  this.logger.log(`Current OData services\n${JSON.stringify(this.answers, null, 2)}`);
38
43
  }
39
44
  catch (e) {
@@ -53,18 +58,18 @@ class AddAnnotationsToDataGenerator extends SubGeneratorWithAuthBase {
53
58
  if (!this.answers.filePath) {
54
59
  if (!this.isCFProject) {
55
60
  const metadata = await this.manifestService.getDataSourceMetadata(this.answers.id);
56
- changeData.annotation.namespaces = getAnnotationNamespaces({ metadata });
61
+ changeData.annotation.namespaces = (0, odata_service_writer_1.getAnnotationNamespaces)({ metadata });
57
62
  }
58
63
  }
59
- await generateChange(this.projectPath, ChangeType.ADD_ANNOTATIONS_TO_ODATA, changeData, this.fs, getTemplatesOverwritePath());
64
+ await (0, adp_tooling_1.generateChange)(this.projectPath, adp_tooling_1.ChangeType.ADD_ANNOTATIONS_TO_ODATA, changeData, this.fs, (0, templates_js_1.getTemplatesOverwritePath)());
60
65
  this.logger.log('Change written to changes folder');
61
- if (this.answers.fileSelectOption === AnnotationFileSelectType.NewEmptyFile) {
62
- this.appWizard.showInformation(t('prompts.emptyAnnotationFile'), MessageType.notification);
66
+ if (this.answers.fileSelectOption === adp_tooling_1.AnnotationFileSelectType.NewEmptyFile) {
67
+ this.appWizard.showInformation((0, i18n_js_1.t)('prompts.emptyAnnotationFile'), yeoman_ui_types_1.MessageType.notification);
63
68
  }
64
69
  }
65
70
  end() {
66
71
  this.logger.log('Successfully created annotation file!');
67
72
  }
68
73
  }
69
- export default AddAnnotationsToDataGenerator;
74
+ exports.default = AddAnnotationsToDataGenerator;
70
75
  //# sourceMappingURL=index.js.map
@@ -1,12 +1,17 @@
1
- import { MessageType, Prompts } from '@sap-devx/yeoman-ui-types';
2
- import { ChangeType, generateChange, getPromptsForAddComponentUsages, getVariant } from '@sap-ux/adp-tooling';
3
- import { GeneratorTypes } from '../types.js';
4
- import { initI18n, t } from '../utils/i18n.js';
5
- import SubGeneratorBase from '../base/sub-gen-base.js';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const yeoman_ui_types_1 = require("@sap-devx/yeoman-ui-types");
7
+ const adp_tooling_1 = require("@sap-ux/adp-tooling");
8
+ const types_js_1 = require("../types.js");
9
+ const i18n_js_1 = require("../utils/i18n.js");
10
+ const sub_gen_base_js_1 = __importDefault(require("../base/sub-gen-base.js"));
6
11
  /**
7
12
  * Generator for adding component usages to a project.
8
13
  */
9
- class AddComponentUsagesGenerator extends SubGeneratorBase {
14
+ class AddComponentUsagesGenerator extends sub_gen_base_js_1.default {
10
15
  /**
11
16
  * The answers from the prompts.
12
17
  */
@@ -26,24 +31,24 @@ class AddComponentUsagesGenerator extends SubGeneratorBase {
26
31
  * @param {GeneratorOpts} opts - The options for the generator.
27
32
  */
28
33
  constructor(args, opts) {
29
- super(args, opts, GeneratorTypes.ADD_COMPONENT_USAGES);
34
+ super(args, opts, types_js_1.GeneratorTypes.ADD_COMPONENT_USAGES);
30
35
  if (opts.data) {
31
36
  this.projectPath = opts.data.path;
32
37
  }
33
38
  }
34
39
  async initializing() {
35
- await initI18n();
40
+ await (0, i18n_js_1.initI18n)();
36
41
  try {
37
- this._registerPrompts(new Prompts([
42
+ this._registerPrompts(new yeoman_ui_types_1.Prompts([
38
43
  {
39
- name: t('yuiNavSteps.addComponentUsagesName'),
40
- description: t('yuiNavSteps.addComponentUsagesDescr')
44
+ name: (0, i18n_js_1.t)('yuiNavSteps.addComponentUsagesName'),
45
+ description: (0, i18n_js_1.t)('yuiNavSteps.addComponentUsagesDescr')
41
46
  }
42
47
  ]));
43
- this.variant = await getVariant(this.projectPath);
48
+ this.variant = await (0, adp_tooling_1.getVariant)(this.projectPath);
44
49
  }
45
50
  catch (e) {
46
- this.appWizard.showError(e.message, MessageType.notification);
51
+ this.appWizard.showError(e.message, yeoman_ui_types_1.MessageType.notification);
47
52
  this.validationError = e;
48
53
  this.logger.error(e);
49
54
  }
@@ -53,11 +58,11 @@ class AddComponentUsagesGenerator extends SubGeneratorBase {
53
58
  await this.handleRuntimeCrash(this.validationError.message);
54
59
  return;
55
60
  }
56
- this.answers = await this.prompt(getPromptsForAddComponentUsages(this.projectPath, this.variant.layer));
61
+ this.answers = await this.prompt((0, adp_tooling_1.getPromptsForAddComponentUsages)(this.projectPath, this.variant.layer));
57
62
  this.logger.log(`Current answers\n${JSON.stringify(this.answers, null, 2)}`);
58
63
  }
59
64
  async writing() {
60
- await generateChange(this.projectPath, ChangeType.ADD_COMPONENT_USAGES, this._createComponentUsageData(), this.fs);
65
+ await (0, adp_tooling_1.generateChange)(this.projectPath, adp_tooling_1.ChangeType.ADD_COMPONENT_USAGES, this._createComponentUsageData(), this.fs);
61
66
  this.logger.log(`Changes written to changes folder`);
62
67
  }
63
68
  end() {
@@ -88,5 +93,5 @@ class AddComponentUsagesGenerator extends SubGeneratorBase {
88
93
  };
89
94
  }
90
95
  }
91
- export default AddComponentUsagesGenerator;
96
+ exports.default = AddComponentUsagesGenerator;
92
97
  //# sourceMappingURL=index.js.map
@@ -1,13 +1,18 @@
1
- import { MessageType, Prompts } from '@sap-devx/yeoman-ui-types';
2
- import { generateChange, ChangeType, getPromptsForNewModel, getVariant, createNewModelData, isCFEnvironment, isLoggedInCf, loadCfConfig, extractCfBuildTask, readUi5Config } from '@sap-ux/adp-tooling';
3
- import { setYeomanEnvConflicterForce } from '@sap-ux/fiori-generator-shared';
4
- import { GeneratorTypes } from '../types.js';
5
- import { initI18n, t } from '../utils/i18n.js';
6
- import SubGeneratorBase from '../base/sub-gen-base.js';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const yeoman_ui_types_1 = require("@sap-devx/yeoman-ui-types");
7
+ const adp_tooling_1 = require("@sap-ux/adp-tooling");
8
+ const fiori_generator_shared_1 = require("@sap-ux/fiori-generator-shared");
9
+ const types_js_1 = require("../types.js");
10
+ const i18n_js_1 = require("../utils/i18n.js");
11
+ const sub_gen_base_js_1 = __importDefault(require("../base/sub-gen-base.js"));
7
12
  /**
8
13
  * Generator for adding a new model to an OData service.
9
14
  */
10
- class AddNewModelGenerator extends SubGeneratorBase {
15
+ class AddNewModelGenerator extends sub_gen_base_js_1.default {
11
16
  /**
12
17
  * The answers from the prompts.
13
18
  */
@@ -31,30 +36,30 @@ class AddNewModelGenerator extends SubGeneratorBase {
31
36
  * @param {GeneratorOpts} opts - The options for the generator.
32
37
  */
33
38
  constructor(args, opts) {
34
- super(args, opts, GeneratorTypes.ADD_NEW_MODEL);
39
+ super(args, opts, types_js_1.GeneratorTypes.ADD_NEW_MODEL);
35
40
  if (opts.data) {
36
41
  this.projectPath = opts.data.path;
37
42
  }
38
43
  }
39
44
  async initializing() {
40
- await initI18n();
41
- setYeomanEnvConflicterForce(this.env, true);
45
+ await (0, i18n_js_1.initI18n)();
46
+ (0, fiori_generator_shared_1.setYeomanEnvConflicterForce)(this.env, true);
42
47
  try {
43
- if (await isCFEnvironment(this.projectPath)) {
44
- this.cfConfig = loadCfConfig(this.logger);
45
- const loggedIn = await isLoggedInCf(this.cfConfig, this.logger);
48
+ if (await (0, adp_tooling_1.isCFEnvironment)(this.projectPath)) {
49
+ this.cfConfig = (0, adp_tooling_1.loadCfConfig)(this.logger);
50
+ const loggedIn = await (0, adp_tooling_1.isLoggedInCf)(this.cfConfig, this.logger);
46
51
  if (!loggedIn) {
47
- throw new Error(t('error.cfNotLoggedIn'));
52
+ throw new Error((0, i18n_js_1.t)('error.cfNotLoggedIn'));
48
53
  }
49
54
  await this._checkCfTargetMismatch();
50
55
  }
51
- this._registerPrompts(new Prompts([
52
- { name: t('yuiNavSteps.addNewModelName'), description: t('yuiNavSteps.addNewModelDescr') }
56
+ this._registerPrompts(new yeoman_ui_types_1.Prompts([
57
+ { name: (0, i18n_js_1.t)('yuiNavSteps.addNewModelName'), description: (0, i18n_js_1.t)('yuiNavSteps.addNewModelDescr') }
53
58
  ]));
54
- this.variant = await getVariant(this.projectPath);
59
+ this.variant = await (0, adp_tooling_1.getVariant)(this.projectPath);
55
60
  }
56
61
  catch (e) {
57
- this.appWizard.showError(e.message, MessageType.notification);
62
+ this.appWizard.showError(e.message, yeoman_ui_types_1.MessageType.notification);
58
63
  this.validationError = e;
59
64
  this.logger.error(e);
60
65
  }
@@ -66,8 +71,8 @@ class AddNewModelGenerator extends SubGeneratorBase {
66
71
  async _checkCfTargetMismatch() {
67
72
  let buildTask;
68
73
  try {
69
- const ui5Config = await readUi5Config(this.projectPath, 'ui5.yaml');
70
- buildTask = extractCfBuildTask(ui5Config);
74
+ const ui5Config = await (0, adp_tooling_1.readUi5Config)(this.projectPath, 'ui5.yaml');
75
+ buildTask = (0, adp_tooling_1.extractCfBuildTask)(ui5Config);
71
76
  }
72
77
  catch (e) {
73
78
  this.logger.error(e.message);
@@ -76,7 +81,7 @@ class AddNewModelGenerator extends SubGeneratorBase {
76
81
  const orgMismatch = this.cfConfig?.org.GUID !== buildTask.org;
77
82
  const spaceMismatch = this.cfConfig?.space.GUID !== buildTask.space;
78
83
  if (orgMismatch || spaceMismatch) {
79
- throw new Error(t('error.cfTargetMismatch'));
84
+ throw new Error((0, i18n_js_1.t)('error.cfTargetMismatch'));
80
85
  }
81
86
  }
82
87
  async prompting() {
@@ -84,16 +89,16 @@ class AddNewModelGenerator extends SubGeneratorBase {
84
89
  await this.handleRuntimeCrash(this.validationError.message);
85
90
  return;
86
91
  }
87
- this.answers = await this.prompt(await getPromptsForNewModel(this.projectPath, this.variant.layer, this.logger, this.appWizard));
92
+ this.answers = await this.prompt(await (0, adp_tooling_1.getPromptsForNewModel)(this.projectPath, this.variant.layer, this.logger, this.appWizard));
88
93
  this.logger.log(`Current answers\n${JSON.stringify(this.answers, null, 2)}`);
89
94
  }
90
95
  async writing() {
91
- await generateChange(this.projectPath, ChangeType.ADD_NEW_MODEL, await createNewModelData(this.projectPath, this.variant, this.answers, this.logger), this.fs);
96
+ await (0, adp_tooling_1.generateChange)(this.projectPath, adp_tooling_1.ChangeType.ADD_NEW_MODEL, await (0, adp_tooling_1.createNewModelData)(this.projectPath, this.variant, this.answers, this.logger), this.fs);
92
97
  this.logger.log('Change written to changes folder');
93
98
  }
94
99
  end() {
95
100
  this.logger.log('Successfully created change!');
96
101
  }
97
102
  }
98
- export default AddNewModelGenerator;
103
+ exports.default = AddNewModelGenerator;
99
104
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,8 @@
1
- import { getFormattedVersion } from '@sap-ux/adp-tooling';
2
- import { t } from '../../utils/i18n.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getExtensionProjectData = getExtensionProjectData;
4
+ const adp_tooling_1 = require("@sap-ux/adp-tooling");
5
+ const i18n_js_1 = require("../../utils/i18n.js");
3
6
  /**
4
7
  * Prepares data required for generating an extension project.
5
8
  *
@@ -8,14 +11,14 @@ import { t } from '../../utils/i18n.js';
8
11
  * @param {SystemLookup} systemLookup - The lookup service for system destination info.
9
12
  * @returns {Promise<ExtensionProjectData>} A promise resolving to the prepared extension project data object.
10
13
  */
11
- export async function getExtensionProjectData(configAnswers, attributeAnswers, systemLookup) {
14
+ async function getExtensionProjectData(configAnswers, attributeAnswers, systemLookup) {
12
15
  const { application, system, username, password } = configAnswers;
13
16
  if (!application) {
14
- throw new Error(t('error.appParameterMissing'));
17
+ throw new Error((0, i18n_js_1.t)('error.appParameterMissing'));
15
18
  }
16
19
  const destinationInfo = await systemLookup.getSystemByName(system);
17
20
  if (!destinationInfo) {
18
- throw new Error(t('error.destinationInfoMissing'));
21
+ throw new Error((0, i18n_js_1.t)('error.destinationInfoMissing'));
19
22
  }
20
23
  const { projectName, namespace, ui5Version } = attributeAnswers;
21
24
  return {
@@ -29,7 +32,7 @@ export async function getExtensionProjectData(configAnswers, attributeAnswers, s
29
32
  },
30
33
  applicationNS: namespace,
31
34
  applicationName: projectName,
32
- userUI5Ver: getFormattedVersion(ui5Version),
35
+ userUI5Ver: (0, adp_tooling_1.getFormattedVersion)(ui5Version),
33
36
  BSPUrl: application.bspUrl,
34
37
  namespace: application.id
35
38
  };