From 5c4074b01aeb2328b842f1eeb9a6618bf026c0c4 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Fri, 30 Oct 2020 11:35:39 +0100 Subject: [PATCH] Adjust filtered composer version --- __tests__/tools.test.ts | 12 ++++++++++-- dist/index.js | 4 ++-- src/tools.ts | 4 ++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/__tests__/tools.test.ts b/__tests__/tools.test.ts index 9f512a9f..295699cc 100644 --- a/__tests__/tools.test.ts +++ b/__tests__/tools.test.ts @@ -240,9 +240,17 @@ describe('Tools tests', () => { 'a', 'b' ]); + expect(await tools.addComposer(['a', 'b', 'composer:1.2'])).toStrictEqual([ + 'composer', + 'a', + 'b' + ]); expect( await tools.addComposer(['a', 'b', 'composer:1.2.3']) - ).toStrictEqual(['composer', 'a', 'b']); + ).toStrictEqual(['composer:1.2.3', 'a', 'b']); + expect( + await tools.addComposer(['a', 'b', 'composer:v1.2.3']) + ).toStrictEqual(['composer:1.2.3', 'a', 'b']); expect( await tools.addComposer(['a', 'b', 'composer:snapshot']) ).toStrictEqual(['composer:snapshot', 'a', 'b']); @@ -324,7 +332,7 @@ describe('Tools tests', () => { const tools_list: string[] = await tools.getCleanedToolsList( 'tool, composer:1.2.3, robmorgan/phinx' ); - expect(tools_list).toStrictEqual(['composer', 'tool', 'phinx']); + expect(tools_list).toStrictEqual(['composer:1.2.3', 'tool', 'phinx']); }); it('checking addArchive', async () => { diff --git a/dist/index.js b/dist/index.js index d94e575f..c8def310 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1894,7 +1894,7 @@ exports.getSymfonyUri = getSymfonyUri; */ async function addComposer(tools_list) { const regex_any = /^composer($|:.*)/; - const regex_valid = /^composer:?($|preview$|snapshot$|v?[1-2]$)/; + const regex_valid = /^composer:?($|preview$|snapshot$|v?[1-2]$|v?\d+\.\d+\.\d+[\w-]*$)/; const regex_composer1_tools = /hirak|prestissimo|narrowspark|composer-prefetcher/; const matches = tools_list.filter(tool => regex_valid.test(tool)); let composer = 'composer'; @@ -1906,7 +1906,7 @@ async function addComposer(tools_list) { case matches[0] == undefined: break; default: - composer = matches[matches.length - 1].replace(/v([1-2])/, '$1'); + composer = matches[matches.length - 1].replace(/v(\d\S*)/, '$1'); break; } tools_list.unshift(composer); diff --git a/src/tools.ts b/src/tools.ts index c63e3dbe..e46a5471 100644 --- a/src/tools.ts +++ b/src/tools.ts @@ -282,7 +282,7 @@ export async function getSymfonyUri( */ export async function addComposer(tools_list: string[]): Promise { const regex_any = /^composer($|:.*)/; - const regex_valid = /^composer:?($|preview$|snapshot$|v?[1-2]$)/; + const regex_valid = /^composer:?($|preview$|snapshot$|v?[1-2]$|v?\d+\.\d+\.\d+[\w-]*$)/; const regex_composer1_tools = /hirak|prestissimo|narrowspark|composer-prefetcher/; const matches: string[] = tools_list.filter(tool => regex_valid.test(tool)); let composer = 'composer'; @@ -294,7 +294,7 @@ export async function addComposer(tools_list: string[]): Promise { case matches[0] == undefined: break; default: - composer = matches[matches.length - 1].replace(/v([1-2])/, '$1'); + composer = matches[matches.length - 1].replace(/v(\d\S*)/, '$1'); break; } tools_list.unshift(composer);