From 3278a8c278f1d7e03916931c45049ec6174d3f2f Mon Sep 17 00:00:00 2001 From: Cian Morrin Date: Mon, 14 Oct 2024 21:40:09 +0100 Subject: [PATCH 1/4] fix(ui5-lib-sub-gen): move app info file writing to writing phase --- .changeset/late-onions-compare.md | 5 +++++ packages/ui5-library-sub-generator/src/app/index.ts | 5 +++-- packages/ui5-library-sub-generator/test/unit/app.test.ts | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 .changeset/late-onions-compare.md diff --git a/.changeset/late-onions-compare.md b/.changeset/late-onions-compare.md new file mode 100644 index 0000000000..1c99808807 --- /dev/null +++ b/.changeset/late-onions-compare.md @@ -0,0 +1,5 @@ +--- +'@sap-ux/ui5-library-sub-generator': patch +--- + +move app info file writing to writing phase diff --git a/packages/ui5-library-sub-generator/src/app/index.ts b/packages/ui5-library-sub-generator/src/app/index.ts index ccc9f8d223..de5919dd5e 100644 --- a/packages/ui5-library-sub-generator/src/app/index.ts +++ b/packages/ui5-library-sub-generator/src/app/index.ts @@ -91,10 +91,12 @@ export default class extends Generator implements Ui5LibGenerator { if (this.answers.targetFolder) { this.targetFolder = this.answers.targetFolder; + this.projectPath = join(this.targetFolder, `${this.answers.namespace}.${this.answers.libraryName}`); } try { await generate(this.targetFolder, ui5Lib, this.fs); + writeApplicationInfoSettings(this.projectPath); } catch (e) { ReuseLibGenLogger.logger.error(e); throw new Error(t('error.generatingUi5Lib')); @@ -108,7 +110,7 @@ export default class extends Generator implements Ui5LibGenerator { const npm = platform() === 'win32' ? 'npm.cmd' : 'npm'; ReuseLibGenLogger.logger.info(t('info.installingDependencies')); - this.projectPath = join(this.targetFolder, `${this.answers.namespace}.${this.answers.libraryName}`); + await runner.run(npm, ['install'], { cwd: this.projectPath }); ReuseLibGenLogger.logger.info(t('info.dependenciesInstalled')); } catch (error) { @@ -118,7 +120,6 @@ export default class extends Generator implements Ui5LibGenerator { } async end(): Promise { - writeApplicationInfoSettings(this.projectPath, this.fs); await runPostLibGenHook({ path: this.projectPath, vscodeInstance: this.vscode as VSCodeInstance diff --git a/packages/ui5-library-sub-generator/test/unit/app.test.ts b/packages/ui5-library-sub-generator/test/unit/app.test.ts index 3ce5a276fe..8d623b96c6 100644 --- a/packages/ui5-library-sub-generator/test/unit/app.test.ts +++ b/packages/ui5-library-sub-generator/test/unit/app.test.ts @@ -10,6 +10,7 @@ import yeomanTest from 'yeoman-test'; import ReuseLibGen from '../../src/app'; import { CommandRunner } from '@sap-ux/nodejs-utils'; import type { Editor } from 'mem-fs-editor'; +import * as fioriToolsSettings from '@sap-ux/fiori-tools-settings'; jest.mock('@sap-ux/fiori-generator-shared', () => ({ // eslint-disable-next-line @@ -74,6 +75,7 @@ describe('Test reuse lib generator', () => { it('should run the generator', async () => { fs.mkdirSync(testOutputDir, { recursive: true }); jest.spyOn(ui5LibraryInquirer, 'getPrompts').mockResolvedValue(mockPrompts); + const writeApplicationInfoSettingsSpy = jest.spyOn(fioriToolsSettings, 'writeApplicationInfoSettings'); await yeomanTest .run(ReuseLibGen, { @@ -89,6 +91,7 @@ describe('Test reuse lib generator', () => { }); expect(join(testOutputDir, 'com.sap.library1')).toMatchFolder(join(expectedOutputPath, 'library1')); + expect(writeApplicationInfoSettingsSpy).toHaveBeenCalledWith(join(testOutputDir, 'com.sap.library1')); }); it('should run the generator (typescript)', async () => { From c0ff315f4973f7fa3f6d7533b70407f63f3924b8 Mon Sep 17 00:00:00 2001 From: Cian Morrin Date: Tue, 15 Oct 2024 08:20:59 +0100 Subject: [PATCH 2/4] fix(ui5-lib-sub-gen): logs --- packages/ui5-library-sub-generator/src/app/index.ts | 2 +- .../src/translations/ui5-lib-generator.i18n.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/ui5-library-sub-generator/src/app/index.ts b/packages/ui5-library-sub-generator/src/app/index.ts index de5919dd5e..c1f961203b 100644 --- a/packages/ui5-library-sub-generator/src/app/index.ts +++ b/packages/ui5-library-sub-generator/src/app/index.ts @@ -110,7 +110,6 @@ export default class extends Generator implements Ui5LibGenerator { const npm = platform() === 'win32' ? 'npm.cmd' : 'npm'; ReuseLibGenLogger.logger.info(t('info.installingDependencies')); - await runner.run(npm, ['install'], { cwd: this.projectPath }); ReuseLibGenLogger.logger.info(t('info.dependenciesInstalled')); } catch (error) { @@ -120,6 +119,7 @@ export default class extends Generator implements Ui5LibGenerator { } async end(): Promise { + ReuseLibGenLogger.logger.info(t('info.openingAppInfo')); await runPostLibGenHook({ path: this.projectPath, vscodeInstance: this.vscode as VSCodeInstance diff --git a/packages/ui5-library-sub-generator/src/translations/ui5-lib-generator.i18n.json b/packages/ui5-library-sub-generator/src/translations/ui5-lib-generator.i18n.json index c7c16373ac..1452e3a074 100644 --- a/packages/ui5-library-sub-generator/src/translations/ui5-lib-generator.i18n.json +++ b/packages/ui5-library-sub-generator/src/translations/ui5-lib-generator.i18n.json @@ -1,5 +1,6 @@ { "info": { + "openingAppInfo": "Opening application info...", "installingDependencies": "Installing dependencies...", "dependenciesInstalled": "Library dependencies have been installed." }, From 3b69e56afcec41f8ab1a60eb0d124ee2018d1b49 Mon Sep 17 00:00:00 2001 From: Austin Devine Date: Tue, 15 Oct 2024 11:48:58 +0100 Subject: [PATCH 3/4] refactor: Update variable declarations in getCapModelAndServices function --- packages/project-access/src/project/cap.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/project-access/src/project/cap.ts b/packages/project-access/src/project/cap.ts index f25d908feb..c3511ff219 100644 --- a/packages/project-access/src/project/cap.ts +++ b/packages/project-access/src/project/cap.ts @@ -140,9 +140,9 @@ export async function getCapCustomPaths(capProjectPath: string): Promise } ): Promise<{ model: csn; services: ServiceInfo[]; cdsVersionInfo: CdsVersionInfo }> { - let _projectRoot; - let _logger; - let _pathSelection; + let _projectRoot: string; + let _logger: Logger | undefined; + let _pathSelection: Set | undefined; const defaultPathSelection = new Set(['app', 'srv', 'db']); if (typeof projectRoot === 'object') { _projectRoot = projectRoot.projectRoot; From 4fcb32f759219e3c6606a4a40f48ee8fbd56f99e Mon Sep 17 00:00:00 2001 From: Austin Devine Date: Tue, 15 Oct 2024 12:56:47 +0100 Subject: [PATCH 4/4] Create tough-books-sing.md --- .changeset/tough-books-sing.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/tough-books-sing.md diff --git a/.changeset/tough-books-sing.md b/.changeset/tough-books-sing.md new file mode 100644 index 0000000000..b39df720c3 --- /dev/null +++ b/.changeset/tough-books-sing.md @@ -0,0 +1,5 @@ +--- +"@sap-ux/project-access": patch +--- + +refactor: Update variable declarations in getCapModelAndServices function