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'
} );
} );