瀏覽代碼

Added asking for application name when creating new packgage.

Szymon Kupś 9 年之前
父節點
當前提交
fcc9a0a047
共有 3 個文件被更改,包括 21 次插入1 次删除
  1. 7 1
      dev/tasks/dev/tasks/create-package.js
  2. 11 0
      dev/tasks/dev/utils/inquiries.js
  3. 3 0
      dev/tests/dev/create-package.js

+ 7 - 1
dev/tasks/dev/tasks/create-package.js

@@ -55,6 +55,7 @@ module.exports = ( ckeditor5Path, workspaceRoot ) => {
 	};
 
 	let packageName;
+	let packageFullName;
 	let repositoryPath;
 	let packageVersion;
 	let gitHubUrl;
@@ -65,6 +66,11 @@ module.exports = ( ckeditor5Path, workspaceRoot ) => {
 			packageName = result;
 			repositoryPath = path.join( workspaceAbsolutePath, packageName );
 
+			return inquiries.getApplicationName();
+		} )
+		.then( result => {
+			packageFullName = result;
+
 			return inquiries.getPackageVersion();
 		} )
 		.then( result => {
@@ -87,7 +93,7 @@ module.exports = ( ckeditor5Path, workspaceRoot ) => {
 
 			for ( let destination in fileStructure ) {
 				tools.copyTemplateFiles( fileStructure[ destination ], path.join( repositoryPath, destination ), {
-					'{{AppName}}': packageName,
+					'{{AppName}}': packageFullName,
 					'{{GitHubRepositoryPath}}': gitHubUrl,
 					'{{ProjectDescription}}': packageDescription
 				} );

+ 11 - 0
dev/tasks/dev/utils/inquiries.js

@@ -27,6 +27,17 @@ module.exports = {
 		} );
 	},
 
+	getApplicationName() {
+		return new Promise( ( resolve ) => {
+			inquirer.prompt( [ {
+				name: 'applicationName',
+				message: 'Enter application full name:'
+			} ], ( answers ) => {
+				resolve( answers.applicationName );
+			} );
+		} );
+	},
+
 	getPackageVersion( ) {
 		return new Promise( ( resolve ) => {
 			inquirer.prompt( [ {

+ 3 - 0
dev/tests/dev/create-package.js

@@ -22,6 +22,7 @@ describe( 'dev-create-package', () => {
 	const workspaceRoot = '..';
 	const workspacePath = path.join( mainRepositoryPath, workspaceRoot );
 	const packageName = 'package-name';
+	const applicationName = 'Full application name';
 	const packageVersion = '0.0.1';
 	const gitHubUrl = 'ckeditor5/package-name';
 	const packageDescription = 'Package description.';
@@ -34,6 +35,7 @@ describe( 'dev-create-package', () => {
 			linkDirectories: sinon.stub( tools, 'linkDirectories' ),
 			npmInstall: sinon.stub( tools, 'npmInstall' ),
 			getPackageName: sinon.stub( inquiries, 'getPackageName' ).returns( new Promise( ( r ) => r( packageName ) ) ),
+			getApplicationName: sinon.stub( inquiries, 'getApplicationName' ).returns( new Promise( ( r ) => r( applicationName ) ) ),
 			getPackageVersion: sinon.stub( inquiries, 'getPackageVersion' ).returns( new Promise( ( r ) => r( packageVersion ) ) ),
 			getPackageGitHubUrl: sinon.stub( inquiries, 'getPackageGitHubUrl' ).returns( new Promise( ( r ) => r( gitHubUrl ) ) ),
 			getPackageDescription: sinon.stub( inquiries, 'getPackageDescription' ).returns( new Promise( ( r ) => r( packageDescription ) ) ),
@@ -58,6 +60,7 @@ describe( 'dev-create-package', () => {
 	it( 'should create a package', () => {
 		return packageCreateTask( mainRepositoryPath, workspaceRoot ).then( () => {
 			expect( spies.getPackageName.calledOnce ).to.equal( true );
+			expect( spies.getApplicationName.calledOnce ).to.equal( true );
 			expect( spies.getPackageVersion.calledOnce ).to.equal( true );
 			expect( spies.getPackageGitHubUrl.calledOnce ).to.equal( true );
 			expect( spies.getPackageDescription.calledOnce ).to.equal( true );