From 000c01d05cb1864a6ec88e77c0f844e20f932b40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Smyrek?= Date: Mon, 30 Dec 2024 12:01:45 +0100 Subject: [PATCH] Suggest default global name for UMD build from the plugin name. --- packages/ckeditor5-package-generator/lib/index.js | 5 ++++- .../lib/utils/set-global-name.js | 8 +++++--- packages/ckeditor5-package-generator/tests/index.js | 2 +- .../tests/utils/set-global-name.js | 7 ++++--- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/ckeditor5-package-generator/lib/index.js b/packages/ckeditor5-package-generator/lib/index.js index b41a7df9..89635699 100755 --- a/packages/ckeditor5-package-generator/lib/index.js +++ b/packages/ckeditor5-package-generator/lib/index.js @@ -35,7 +35,10 @@ export default async function init( packageName, options ) { const packageManager = await choosePackageManager( useNpm, useYarn ); const programmingLanguage = await chooseProgrammingLanguage( logger, lang ); const installationMethodOfPackage = await chooseInstallationMethods( logger, installationMethods ); - const validatedGlobalName = await setGlobalName( logger, globalName ); + + const defaultGlobalName = 'CK' + formattedNames.plugin.pascalCase; + const validatedGlobalName = await setGlobalName( logger, globalName, defaultGlobalName ); + const packageVersions = getDependenciesVersions( logger, dev ); copyFiles( logger, { diff --git a/packages/ckeditor5-package-generator/lib/utils/set-global-name.js b/packages/ckeditor5-package-generator/lib/utils/set-global-name.js index 1c0f0cd8..b43833ed 100644 --- a/packages/ckeditor5-package-generator/lib/utils/set-global-name.js +++ b/packages/ckeditor5-package-generator/lib/utils/set-global-name.js @@ -13,9 +13,10 @@ import validateGlobalName from './validate-global-name.js'; * * @param {Logger} logger * @param {String} globalName + * @param {String} defaultGlobalName * @returns {Promise.} */ -export default async function setGlobalName( logger, globalName ) { +export default async function setGlobalName( logger, globalName, defaultGlobalName ) { if ( globalName ) { if ( validateGlobalName( logger, globalName ) ) { return globalName; @@ -28,10 +29,11 @@ export default async function setGlobalName( logger, globalName ) { const globalNameFromInput = await inquirer.prompt( { required: true, - message: 'Enter the global name for plugin for UMD build', + message: 'Enter the global name for UMD build:', type: 'input', name: 'globalName', - validate: validateGlobalName.bind( this, logger ) + validate: validateGlobalName.bind( this, logger ), + default: defaultGlobalName } ); return globalNameFromInput.globalName; diff --git a/packages/ckeditor5-package-generator/tests/index.js b/packages/ckeditor5-package-generator/tests/index.js index 535394d3..0362fe6f 100644 --- a/packages/ckeditor5-package-generator/tests/index.js +++ b/packages/ckeditor5-package-generator/tests/index.js @@ -199,7 +199,7 @@ describe( 'lib/index', () => { await index( packageName, options ); expect( setGlobalName ).toHaveBeenCalledTimes( 1 ); - expect( setGlobalName ).toHaveBeenCalledWith( expect.any( Logger ), 'GLOBAL' ); + expect( setGlobalName ).toHaveBeenCalledWith( expect.any( Logger ), 'GLOBAL', 'CKBarBaz' ); } ); it( 'gets the versions of the dependencies', async () => { diff --git a/packages/ckeditor5-package-generator/tests/utils/set-global-name.js b/packages/ckeditor5-package-generator/tests/utils/set-global-name.js index be7d160f..3a8f4810 100644 --- a/packages/ckeditor5-package-generator/tests/utils/set-global-name.js +++ b/packages/ckeditor5-package-generator/tests/utils/set-global-name.js @@ -30,15 +30,16 @@ describe( 'lib/utils/set-global-name', () => { } ); it( 'calls prompt() with correct arguments', async () => { - await setGlobalName( stubs.logger ); + await setGlobalName( stubs.logger, '', 'CKCustomPlugin' ); expect( inquirer.prompt ).toHaveBeenCalledTimes( 1 ); expect( inquirer.prompt ).toHaveBeenCalledWith( { required: true, - message: 'Enter the global name for plugin for UMD build', + message: 'Enter the global name for UMD build:', type: 'input', name: 'globalName', - validate: expect.any( Function ) + validate: expect.any( Function ), + default: 'CKCustomPlugin' } ); } );