@sap-ux/generator-adp 0.10.11 → 1.0.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.
Files changed (58) hide show
  1. package/generators/add-annotations-to-odata/index.d.ts +3 -3
  2. package/generators/add-annotations-to-odata/index.js +15 -19
  3. package/generators/add-component-usages/index.d.ts +3 -3
  4. package/generators/add-component-usages/index.js +16 -20
  5. package/generators/add-new-model/index.d.ts +3 -3
  6. package/generators/add-new-model/index.js +24 -28
  7. package/generators/app/extension-project/index.d.ts +1 -1
  8. package/generators/app/extension-project/index.js +6 -9
  9. package/generators/app/index.d.ts +1 -1
  10. package/generators/app/index.js +129 -135
  11. package/generators/app/layer.js +5 -7
  12. package/generators/app/questions/attributes.d.ts +2 -2
  13. package/generators/app/questions/attributes.js +60 -65
  14. package/generators/app/questions/cf-services.js +48 -52
  15. package/generators/app/questions/configuration.d.ts +3 -3
  16. package/generators/app/questions/configuration.js +125 -129
  17. package/generators/app/questions/helper/additional-messages.js +29 -36
  18. package/generators/app/questions/helper/choices.js +16 -25
  19. package/generators/app/questions/helper/conditions.js +14 -23
  20. package/generators/app/questions/helper/default-values.js +8 -13
  21. package/generators/app/questions/helper/message.js +7 -11
  22. package/generators/app/questions/helper/tooltip.js +4 -7
  23. package/generators/app/questions/helper/validators.js +29 -39
  24. package/generators/app/questions/key-user.d.ts +1 -1
  25. package/generators/app/questions/key-user.js +40 -45
  26. package/generators/app/questions/target-env.d.ts +2 -2
  27. package/generators/app/questions/target-env.js +22 -27
  28. package/generators/app/types.js +13 -16
  29. package/generators/base/questions/credentials.d.ts +1 -1
  30. package/generators/base/questions/credentials.js +15 -18
  31. package/generators/base/sub-gen-auth-base.d.ts +3 -3
  32. package/generators/base/sub-gen-auth-base.js +24 -30
  33. package/generators/base/sub-gen-base.d.ts +5 -6
  34. package/generators/base/sub-gen-base.js +11 -17
  35. package/generators/change-data-source/index.d.ts +3 -3
  36. package/generators/change-data-source/index.js +8 -12
  37. package/generators/telemetry/collector.d.ts +1 -1
  38. package/generators/telemetry/collector.js +6 -10
  39. package/generators/telemetry/events.js +2 -5
  40. package/generators/telemetry/index.d.ts +2 -2
  41. package/generators/telemetry/index.js +2 -18
  42. package/generators/types.js +2 -5
  43. package/generators/utils/appWizardCache.d.ts +1 -1
  44. package/generators/utils/appWizardCache.js +7 -13
  45. package/generators/utils/deps.js +10 -45
  46. package/generators/utils/i18n.js +13 -23
  47. package/generators/utils/logger.js +4 -7
  48. package/generators/utils/opts.js +3 -6
  49. package/generators/utils/parse-json-input.d.ts +1 -1
  50. package/generators/utils/parse-json-input.js +5 -9
  51. package/generators/utils/steps.d.ts +1 -1
  52. package/generators/utils/steps.js +37 -48
  53. package/generators/utils/subgenHelpers.js +9 -14
  54. package/generators/utils/templates.js +7 -8
  55. package/generators/utils/type-guards.d.ts +1 -1
  56. package/generators/utils/type-guards.js +2 -6
  57. package/generators/utils/workspace.js +7 -13
  58. package/package.json +19 -17
@@ -1,32 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getWizardPages = getWizardPages;
4
- exports.updateCfWizardSteps = updateCfWizardSteps;
5
- exports.getFlpPages = getFlpPages;
6
- exports.updateFlpWizardSteps = updateFlpWizardSteps;
7
- exports.getDeployPage = getDeployPage;
8
- exports.getKeyUserImportPage = getKeyUserImportPage;
9
- exports.updateWizardSteps = updateWizardSteps;
10
- exports.getSubGenErrorPage = getSubGenErrorPage;
11
- exports.getSubGenAuthPages = getSubGenAuthPages;
12
- const i18n_1 = require("./i18n");
13
- const types_1 = require("../types");
1
+ import { t } from './i18n.js';
2
+ import { GeneratorTypes } from '../types.js';
14
3
  /**
15
4
  * Returns the list of base wizard pages used in the Adaptation Project.
16
5
  *
17
6
  * @param {boolean} shouldShowTargetEnv - Whether to show the target environment page.
18
7
  * @returns {IPrompt[]} The list of static wizard steps to show initially.
19
8
  */
20
- function getWizardPages(shouldShowTargetEnv) {
9
+ export function getWizardPages(shouldShowTargetEnv) {
21
10
  return [
22
11
  ...(shouldShowTargetEnv ? [{ name: 'Target Environment', description: '' }] : []),
23
12
  {
24
- name: (0, i18n_1.t)('yuiNavSteps.configurationName'),
25
- description: (0, i18n_1.t)('yuiNavSteps.configurationDescr')
13
+ name: t('yuiNavSteps.configurationName'),
14
+ description: t('yuiNavSteps.configurationDescr')
26
15
  },
27
16
  {
28
- name: (0, i18n_1.t)('yuiNavSteps.projectAttributesName'),
29
- description: (0, i18n_1.t)('yuiNavSteps.projectAttributesDescr')
17
+ name: t('yuiNavSteps.projectAttributesName'),
18
+ description: t('yuiNavSteps.projectAttributesDescr')
30
19
  }
31
20
  ];
32
21
  }
@@ -36,13 +25,13 @@ function getWizardPages(shouldShowTargetEnv) {
36
25
  * @param {boolean} isCFEnv - Whether the target environment is Cloud Foundry.
37
26
  * @param {YeomanUiSteps} prompts - The Yeoman UI Prompts container object.
38
27
  */
39
- function updateCfWizardSteps(isCFEnv, prompts) {
28
+ export function updateCfWizardSteps(isCFEnv, prompts) {
40
29
  if (isCFEnv) {
41
30
  prompts.splice(1, prompts['items'].length - 1, [
42
31
  { name: 'Project Path', description: 'Provide path to MTA project.' },
43
32
  {
44
- name: (0, i18n_1.t)('yuiNavSteps.projectAttributesName'),
45
- description: (0, i18n_1.t)('yuiNavSteps.projectAttributesDescr')
33
+ name: t('yuiNavSteps.projectAttributesName'),
34
+ description: t('yuiNavSteps.projectAttributesDescr')
46
35
  },
47
36
  { name: 'Application Details', description: 'Setup application details.' }
48
37
  ]);
@@ -55,17 +44,17 @@ function updateCfWizardSteps(isCFEnv, prompts) {
55
44
  * @param {string} projectName - The name of the project.
56
45
  * @returns {IPrompt} The FLP configuration wizard page.
57
46
  */
58
- function getFlpPages(showTileSettingsPage, projectName) {
47
+ export function getFlpPages(showTileSettingsPage, projectName) {
59
48
  const pages = [
60
49
  {
61
- name: (0, i18n_1.t)('yuiNavSteps.flpConfigName'),
50
+ name: t('yuiNavSteps.flpConfigName'),
62
51
  description: ''
63
52
  }
64
53
  ];
65
54
  if (showTileSettingsPage) {
66
55
  pages.unshift({
67
- name: (0, i18n_1.t)('yuiNavSteps.tileSettingsName'),
68
- description: (0, i18n_1.t)('yuiNavSteps.tileSettingsDescr', { projectName })
56
+ name: t('yuiNavSteps.tileSettingsName'),
57
+ description: t('yuiNavSteps.tileSettingsDescr', { projectName })
69
58
  });
70
59
  }
71
60
  return pages;
@@ -78,30 +67,30 @@ function getFlpPages(showTileSettingsPage, projectName) {
78
67
  * @param {string} projectName - The name of the project.
79
68
  * @param {boolean} shouldAdd - Whether to add (`true`) or remove (`false`) the steps.
80
69
  */
81
- function updateFlpWizardSteps(hasBaseAppInbound, prompts, projectName, shouldAdd) {
70
+ export function updateFlpWizardSteps(hasBaseAppInbound, prompts, projectName, shouldAdd) {
82
71
  const pages = getFlpPages(hasBaseAppInbound, projectName);
83
72
  if (pages.length === 2) {
84
- updateWizardSteps(prompts, pages[0], (0, i18n_1.t)('yuiNavSteps.deployConfigName'), shouldAdd);
85
- updateWizardSteps(prompts, pages[1], (0, i18n_1.t)('yuiNavSteps.tileSettingsName'), shouldAdd);
73
+ updateWizardSteps(prompts, pages[0], t('yuiNavSteps.deployConfigName'), shouldAdd);
74
+ updateWizardSteps(prompts, pages[1], t('yuiNavSteps.tileSettingsName'), shouldAdd);
86
75
  return;
87
76
  }
88
- updateWizardSteps(prompts, pages[0], (0, i18n_1.t)('yuiNavSteps.deployConfigName'), shouldAdd);
77
+ updateWizardSteps(prompts, pages[0], t('yuiNavSteps.deployConfigName'), shouldAdd);
89
78
  }
90
79
  /**
91
80
  * Returns the deploy configuration page step.
92
81
  *
93
82
  * @returns {IPrompt} The deployment configuration wizard page.
94
83
  */
95
- function getDeployPage() {
96
- return { name: (0, i18n_1.t)('yuiNavSteps.deployConfigName'), description: (0, i18n_1.t)('yuiNavSteps.deployConfigDescr') };
84
+ export function getDeployPage() {
85
+ return { name: t('yuiNavSteps.deployConfigName'), description: t('yuiNavSteps.deployConfigDescr') };
97
86
  }
98
87
  /**
99
88
  * Returns the key user import page step.
100
89
  *
101
90
  * @returns {IPrompt} The key user import wizard page.
102
91
  */
103
- function getKeyUserImportPage() {
104
- return { name: (0, i18n_1.t)('yuiNavSteps.keyUserImportName'), description: (0, i18n_1.t)('yuiNavSteps.keyUserImportDescr') };
92
+ export function getKeyUserImportPage() {
93
+ return { name: t('yuiNavSteps.keyUserImportName'), description: t('yuiNavSteps.keyUserImportDescr') };
105
94
  }
106
95
  /**
107
96
  * Dynamically adds or removes a step in the Yeoman UI wizard.
@@ -118,7 +107,7 @@ function getKeyUserImportPage() {
118
107
  * @param {string} [insertAfter] - Optional name of the step after which to insert.
119
108
  * @param {boolean} [shouldAdd] - Whether to add (`true`) or remove (`false`) the step.
120
109
  */
121
- function updateWizardSteps(prompts, step, insertAfter = '', shouldAdd = true) {
110
+ export function updateWizardSteps(prompts, step, insertAfter = '', shouldAdd = true) {
122
111
  const pages = prompts['items'];
123
112
  const existingIdx = pages.findIndex((p) => p.name === step.name);
124
113
  if (shouldAdd) {
@@ -150,12 +139,12 @@ function updateWizardSteps(prompts, step, insertAfter = '', shouldAdd = true) {
150
139
  * @param {GeneratorTypes} subGenType - The type of sub generator.
151
140
  * @returns {IPrompt[]} The error page for the given sub generator type.
152
141
  */
153
- function getSubGenErrorPage(subGenType) {
142
+ export function getSubGenErrorPage(subGenType) {
154
143
  switch (subGenType) {
155
- case types_1.GeneratorTypes.ADD_ANNOTATIONS_TO_DATA:
156
- return [{ name: (0, i18n_1.t)('yuiNavSteps.addLocalAnnotationFileName'), description: '' }];
157
- case types_1.GeneratorTypes.CHANGE_DATA_SOURCE:
158
- return [{ name: (0, i18n_1.t)('yuiNavSteps.replaceODataServiceName'), description: '' }];
144
+ case GeneratorTypes.ADD_ANNOTATIONS_TO_DATA:
145
+ return [{ name: t('yuiNavSteps.addLocalAnnotationFileName'), description: '' }];
146
+ case GeneratorTypes.CHANGE_DATA_SOURCE:
147
+ return [{ name: t('yuiNavSteps.replaceODataServiceName'), description: '' }];
159
148
  default:
160
149
  return [];
161
150
  }
@@ -170,26 +159,26 @@ function getSubGenErrorPage(subGenType) {
170
159
  * @param {string} destination - ID of the destination system (used only for UI text).
171
160
  * @returns {IPrompt[]} The page definitions consumed by Yeoman-UI <Prompts>.
172
161
  */
173
- function getSubGenAuthPages(type, destination) {
162
+ export function getSubGenAuthPages(type, destination) {
174
163
  const getCredentialsPageProps = (nameBase) => ({
175
164
  name: `${nameBase} - Credentials`,
176
165
  description: `Enter credentials for your adaptation project's system (${destination})`
177
166
  });
178
167
  switch (type) {
179
- case types_1.GeneratorTypes.ADD_ANNOTATIONS_TO_DATA:
168
+ case GeneratorTypes.ADD_ANNOTATIONS_TO_DATA:
180
169
  return [
181
- getCredentialsPageProps((0, i18n_1.t)('yuiNavSteps.addLocalAnnotationFileName')),
170
+ getCredentialsPageProps(t('yuiNavSteps.addLocalAnnotationFileName')),
182
171
  {
183
- name: (0, i18n_1.t)('yuiNavSteps.addLocalAnnotationFileName'),
184
- description: (0, i18n_1.t)('yuiNavSteps.addLocalAnnotationFileDescr')
172
+ name: t('yuiNavSteps.addLocalAnnotationFileName'),
173
+ description: t('yuiNavSteps.addLocalAnnotationFileDescr')
185
174
  }
186
175
  ];
187
- case types_1.GeneratorTypes.CHANGE_DATA_SOURCE:
176
+ case GeneratorTypes.CHANGE_DATA_SOURCE:
188
177
  return [
189
- getCredentialsPageProps((0, i18n_1.t)('yuiNavSteps.replaceODataServiceName')),
178
+ getCredentialsPageProps(t('yuiNavSteps.replaceODataServiceName')),
190
179
  {
191
- name: (0, i18n_1.t)('yuiNavSteps.replaceODataServiceName'),
192
- description: (0, i18n_1.t)('yuiNavSteps.replaceODataServiceDescr')
180
+ name: t('yuiNavSteps.replaceODataServiceName'),
181
+ description: t('yuiNavSteps.replaceODataServiceDescr')
193
182
  }
194
183
  ];
195
184
  default:
@@ -1,11 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addFlpGen = addFlpGen;
4
- exports.addDeployGen = addDeployGen;
5
- exports.addExtProjectGen = addExtProjectGen;
6
- const i18n_1 = require("./i18n");
7
- const extension_project_1 = require("../app/extension-project");
8
- const axios_extension_1 = require("@sap-ux/axios-extension");
1
+ import { t } from './i18n.js';
2
+ import { getExtensionProjectData } from '../app/extension-project/index.js';
3
+ import { AdaptationProjectType } from '@sap-ux/axios-extension';
9
4
  /**
10
5
  * Static validation configuration for package prompts in ADP deployment.
11
6
  */
@@ -25,7 +20,7 @@ const PACKAGE_ADDITIONAL_VALIDATION = {
25
20
  * @param {ToolsLogger} logger - Logger instance for tracking operations and errors.
26
21
  * @param {AppWizard} appWizard - AppWizard instance for interacting with the UI (optional).
27
22
  */
28
- async function addFlpGen({ projectRootPath, vscode, inbounds, layer, prompts, isCfProject }, composeWith, logger, appWizard) {
23
+ export async function addFlpGen({ projectRootPath, vscode, inbounds, layer, prompts, isCfProject }, composeWith, logger, appWizard) {
29
24
  try {
30
25
  /**
31
26
  * We are using this namespace for now because '@sap/fiori:adp-flp-config' is not yet bundled in '@sap/generator-fiori'.
@@ -60,9 +55,9 @@ async function addFlpGen({ projectRootPath, vscode, inbounds, layer, prompts, is
60
55
  * @param {ToolsLogger} logger - Logger for info and error output
61
56
  * @param {AppWizard} appWizard - Optional AppWizard instance for displaying UI messages
62
57
  */
63
- async function addDeployGen({ projectName, projectPath, connectedSystem, system, projectType }, composeWith, logger, appWizard) {
58
+ export async function addDeployGen({ projectName, projectPath, connectedSystem, system, projectType }, composeWith, logger, appWizard) {
64
59
  try {
65
- const hideIfOnPremise = projectType === axios_extension_1.AdaptationProjectType.ON_PREMISE;
60
+ const hideIfOnPremise = projectType === AdaptationProjectType.ON_PREMISE;
66
61
  const subGenPromptOptions = {
67
62
  ui5AbapRepo: { hideIfOnPremise },
68
63
  transportInputChoice: { hideIfOnPremise },
@@ -109,9 +104,9 @@ async function addDeployGen({ projectName, projectPath, connectedSystem, system,
109
104
  * @param {ToolsLogger} logger - Logger instance for tracking operations and errors.
110
105
  * @param {AppWizard} appWizard - AppWizard instance for interacting with the UI (optional).
111
106
  */
112
- async function addExtProjectGen({ configAnswers, attributeAnswers, systemLookup }, composeWith, logger, appWizard) {
107
+ export async function addExtProjectGen({ configAnswers, attributeAnswers, systemLookup }, composeWith, logger, appWizard) {
113
108
  try {
114
- const data = await (0, extension_project_1.getExtensionProjectData)(configAnswers, attributeAnswers, systemLookup);
109
+ const data = await getExtensionProjectData(configAnswers, attributeAnswers, systemLookup);
115
110
  await composeWith('@bas-dev/extensibility-sub', {
116
111
  arguments: [JSON.stringify(data)],
117
112
  appWizard
@@ -119,7 +114,7 @@ async function addExtProjectGen({ configAnswers, attributeAnswers, systemLookup
119
114
  logger.info(`'@bas-dev/generator-extensibility-sub' was called.`);
120
115
  }
121
116
  catch (e) {
122
- logger.info((0, i18n_1.t)('error.creatingExtensionProjectError'));
117
+ logger.info(t('error.creatingExtensionProjectError'));
123
118
  logger.error(e);
124
119
  throw new Error(`Could not call '@bas-dev/generator-extensibility-sub' sub-generator: ${e.message}`);
125
120
  }
@@ -1,17 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTemplatesOverwritePath = getTemplatesOverwritePath;
4
- const node_fs_1 = require("node:fs");
5
- const node_path_1 = require("node:path");
1
+ import { existsSync } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ const __dirname = dirname(fileURLToPath(import.meta.url));
6
5
  /**
7
6
  * This function is used to get the path to the templates directory when this generator is bundled inside `@sap/generator-fiori`.
8
7
  * It is used to overwrite the templates directory.
9
8
  *
10
9
  * @returns {string | undefined} The path to the templates directory.
11
10
  */
12
- function getTemplatesOverwritePath() {
13
- const templatePath = (0, node_path_1.join)(__dirname, 'templates');
14
- if ((0, node_fs_1.existsSync)(templatePath)) {
11
+ export function getTemplatesOverwritePath() {
12
+ const templatePath = join(__dirname, 'templates');
13
+ if (existsSync(templatePath)) {
15
14
  return templatePath;
16
15
  }
17
16
  return undefined;
@@ -1,4 +1,4 @@
1
- import type { JsonInput } from '../app/types';
1
+ import type { JsonInput } from '../app/types.js';
2
2
  /**
3
3
  * Type guard for a string values.
4
4
  *
@@ -1,14 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isString = isString;
4
- exports.isJsonInput = isJsonInput;
5
1
  /**
6
2
  * Type guard for a string values.
7
3
  *
8
4
  * @param {unknown} value - The value being checked.
9
5
  * @returns {boolean} True if the value is of type string.
10
6
  */
11
- function isString(value) {
7
+ export function isString(value) {
12
8
  return typeof value === 'string';
13
9
  }
14
10
  /**
@@ -17,7 +13,7 @@ function isString(value) {
17
13
  * @param {unknown} value - The value being checked.
18
14
  * @returns {boolean} True if the value conforms to the AdpJsonInput interface.
19
15
  */
20
- function isJsonInput(value) {
16
+ export function isJsonInput(value) {
21
17
  if (!isPlainObject(value)) {
22
18
  return false;
23
19
  }
@@ -1,11 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.workspaceChoices = void 0;
4
- exports.existsInWorkspace = existsInWorkspace;
5
- exports.showWorkspaceFolderWarning = showWorkspaceFolderWarning;
6
- exports.handleWorkspaceFolderChoice = handleWorkspaceFolderChoice;
7
- const i18n_1 = require("./i18n");
8
- exports.workspaceChoices = {
1
+ import { t } from './i18n.js';
2
+ export const workspaceChoices = {
9
3
  OPEN_FOLDER: 'Open Folder',
10
4
  ADD_TO_WORKSPACE: 'Add Project to Workspace'
11
5
  };
@@ -16,7 +10,7 @@ exports.workspaceChoices = {
16
10
  * @param {string} path - The path to check
17
11
  * @returns {boolean} True if the path exists in the workspace, false otherwise
18
12
  */
19
- function existsInWorkspace(vscode, path) {
13
+ export function existsInWorkspace(vscode, path) {
20
14
  const uri = vscode?.Uri?.file(path);
21
15
  return !!vscode.workspace.getWorkspaceFolder(uri);
22
16
  }
@@ -27,8 +21,8 @@ function existsInWorkspace(vscode, path) {
27
21
  * @param {string} path - The path of the project
28
22
  * @returns {Promise<WorkspaceChoice | undefined>} The user's choice or undefined if dismissed
29
23
  */
30
- async function showWorkspaceFolderWarning(vscode, path) {
31
- return vscode.window.showWarningMessage((0, i18n_1.t)('prompts.projectNotInWorkspace', { path }), { modal: true }, exports.workspaceChoices.OPEN_FOLDER, exports.workspaceChoices.ADD_TO_WORKSPACE);
24
+ export async function showWorkspaceFolderWarning(vscode, path) {
25
+ return vscode.window.showWarningMessage(t('prompts.projectNotInWorkspace', { path }), { modal: true }, workspaceChoices.OPEN_FOLDER, workspaceChoices.ADD_TO_WORKSPACE);
32
26
  }
33
27
  /**
34
28
  * Handles the user's choice for workspace folder operations.
@@ -37,10 +31,10 @@ async function showWorkspaceFolderWarning(vscode, path) {
37
31
  * @param {string} path - The path of the project
38
32
  * @param {WorkspaceChoice} userChoice - The user's choice from the warning dialog
39
33
  */
40
- async function handleWorkspaceFolderChoice(vscode, path, userChoice) {
34
+ export async function handleWorkspaceFolderChoice(vscode, path, userChoice) {
41
35
  const { workspace, commands } = vscode;
42
36
  const uri = vscode?.Uri?.file(path);
43
- if (userChoice === exports.workspaceChoices.OPEN_FOLDER) {
37
+ if (userChoice === workspaceChoices.OPEN_FOLDER) {
44
38
  await commands.executeCommand('vscode.openFolder', uri);
45
39
  }
46
40
  else {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "displayName": "SAPUI5 Adaptation Project",
4
4
  "homepage": "https://help.sap.com/viewer/584e0bcbfd4a4aff91c815cefa0bce2d/Cloud/en-US/ada9567b767941aba8d49fdb4fdedea7.html",
5
5
  "description": "Adaptation project allows you to create an app variant for an existing SAP Fiori elements-based or SAPUI5 freestyle application, without changing the original application.",
6
- "version": "0.10.11",
6
+ "version": "1.0.0",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "https://github.com/SAP/open-ux-tools.git",
@@ -12,6 +12,7 @@
12
12
  "bugs": {
13
13
  "url": "https://github.com/SAP/open-ux-tools/issues?q=is%3Aopen+is%3Aissue"
14
14
  },
15
+ "type": "module",
15
16
  "license": "Apache-2.0",
16
17
  "main": "generators/app/index.js",
17
18
  "files": [
@@ -30,21 +31,22 @@
30
31
  "i18next": "25.10.10",
31
32
  "yeoman-generator": "5.10.0",
32
33
  "uuid": "11.1.1",
33
- "@sap-ux/adp-tooling": "0.19.10",
34
- "@sap-ux/axios-extension": "1.26.1",
35
- "@sap-ux/btp-utils": "1.2.1",
36
- "@sap-ux/feature-toggle": "0.4.0",
37
- "@sap-ux/inquirer-common": "0.13.5",
38
- "@sap-ux/logger": "0.9.0",
39
- "@sap-ux/project-access": "1.38.1",
40
- "@sap-ux/store": "1.6.1",
41
- "@sap-ux/system-access": "0.8.2",
42
- "@sap-ux/project-input-validator": "0.7.2",
43
- "@sap-ux/fiori-generator-shared": "0.15.6",
44
- "@sap-ux/odata-service-writer": "0.32.2",
45
- "@sap-ux/telemetry": "0.7.5"
34
+ "@sap-ux/adp-tooling": "1.0.0",
35
+ "@sap-ux/axios-extension": "2.0.0",
36
+ "@sap-ux/btp-utils": "2.0.0",
37
+ "@sap-ux/feature-toggle": "1.0.0",
38
+ "@sap-ux/inquirer-common": "1.0.0",
39
+ "@sap-ux/logger": "1.0.0",
40
+ "@sap-ux/project-access": "2.0.0",
41
+ "@sap-ux/store": "2.0.0",
42
+ "@sap-ux/system-access": "1.0.0",
43
+ "@sap-ux/project-input-validator": "1.0.0",
44
+ "@sap-ux/fiori-generator-shared": "1.0.0",
45
+ "@sap-ux/odata-service-writer": "1.0.0",
46
+ "@sap-ux/telemetry": "1.0.0"
46
47
  },
47
48
  "devDependencies": {
49
+ "@jest/globals": "30.3.0",
48
50
  "@jest/types": "30.3.0",
49
51
  "@types/fs-extra": "11.0.4",
50
52
  "@types/inquirer": "8.2.6",
@@ -57,7 +59,7 @@
57
59
  "fs-extra": "11.3.4",
58
60
  "rimraf": "6.1.3",
59
61
  "yeoman-test": "6.3.0",
60
- "@sap-ux/deploy-config-sub-generator": "0.6.11"
62
+ "@sap-ux/deploy-config-sub-generator": "1.0.0"
61
63
  },
62
64
  "engines": {
63
65
  "node": ">=22.x"
@@ -75,8 +77,8 @@
75
77
  "watch": "tsc --watch",
76
78
  "lint": "eslint",
77
79
  "lint:fix": "eslint --fix",
78
- "test": "jest --ci --forceExit --detectOpenHandles --colors",
79
- "test-u": "jest --ci --forceExit --detectOpenHandles --colors -u",
80
+ "test": "cross-env NODE_OPTIONS='--experimental-vm-modules' jest --ci --forceExit --detectOpenHandles --colors",
81
+ "test-u": "cross-env NODE_OPTIONS='--experimental-vm-modules' jest --ci --forceExit --detectOpenHandles --colors -u",
80
82
  "test:abap": "jest --ci --forceExit --detectOpenHandles --colors test/app.test.ts --testNamePattern=\"ABAP Environment\"",
81
83
  "test:cf": "jest --ci --forceExit --detectOpenHandles --colors test/app.test.ts --testNamePattern=\"CF Environment\"",
82
84
  "link": "pnpm link --global",