From 9e80765175c7121651f567ab1b8c65b0a166a47c Mon Sep 17 00:00:00 2001 From: Mariusz Nowak Date: Fri, 19 Jul 2019 11:15:50 +0200 Subject: [PATCH] Strip trailing comment when renaming service --- lib/utils/renameService.js | 15 +++++---------- lib/utils/renameService.test.js | 6 +++--- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/lib/utils/renameService.js b/lib/utils/renameService.js index 6f4b67a78..6ab462f81 100644 --- a/lib/utils/renameService.js +++ b/lib/utils/renameService.js @@ -19,16 +19,11 @@ function renameService(name, servicePath) { const serverlessYml = fse .readFileSync(serviceFile, 'utf-8') - .replace(/service\s*:.+/gi, match => { - const fractions = match.split('#'); - fractions[0] = `service: ${name}`; - return fractions.join(' #'); - }) - .replace(/service\s*:\n {2}name:.+/gi, match => { - const fractions = match.split('#'); - fractions[0] = `service:\n name: ${name}`; - return fractions.join(' #'); - }); + .replace(/service\s*:.+/gi, () => `service: ${name}`) + .replace( + /service\s*:\s*\n(\s+)name:.+/gi, + (match, indent) => `service:\n${indent}name: ${name}` + ); fse.writeFileSync(serviceFile, serverlessYml); diff --git a/lib/utils/renameService.test.js b/lib/utils/renameService.test.js index cbfb52f2d..484f472be 100644 --- a/lib/utils/renameService.test.js +++ b/lib/utils/renameService.test.js @@ -56,7 +56,7 @@ describe('renameService', () => { const defaultServiceYml = '# comment\nservice: service-name #comment\n\nprovider:\n name: aws\n# comment'; const newServiceYml = - '# comment\nservice: new-service-name #comment\n\nprovider:\n name: aws\n# comment'; + '# comment\nservice: new-service-name\n\nprovider:\n name: aws\n# comment'; const defaultServiceName = 'service-name'; const newServiceName = 'new-service-name'; @@ -78,7 +78,7 @@ describe('renameService', () => { const defaultServiceYml = '# comment\nservice: service-name #comment\n\nprovider:\n name: aws\n# comment'; const newServiceYml = - '# comment\nservice: new-service-name #comment\n\nprovider:\n name: aws\n# comment'; + '# comment\nservice: new-service-name\n\nprovider:\n name: aws\n# comment'; const serviceFile = path.join(servicePath, 'serverless.yml'); @@ -114,7 +114,7 @@ describe('renameService', () => { const defaultServiceYml = '# comment\nservice:\n name: service-name #comment\n\nprovider:\n name: aws\n# comment'; const newServiceYml = - '# comment\nservice:\n name: new-service-name #comment\n\nprovider:\n name: aws\n# comment'; + '# comment\nservice:\n name: new-service-name\n\nprovider:\n name: aws\n# comment'; const defaultServiceName = 'service-name'; const newServiceName = 'new-service-name';