From b9404683e1fff67e49634bc90e11a81d707dea7b Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Fri, 19 Jun 2020 04:09:13 +0530 Subject: [PATCH 1/6] Improve extension support --- .github/workflows/experimental-workflow.yml | 88 -------------------- .github/workflows/workflow.yml | 2 +- README.md | 2 +- __tests__/coverage.test.ts | 19 ----- __tests__/extensions.test.ts | 18 ++-- dist/index.js | 52 +++++++----- src/bin/php_nts_pcov.dll | Bin 31744 -> 0 bytes src/bin/php_ts_pcov.dll | Bin 31744 -> 0 bytes src/coverage.ts | 10 --- src/extensions.ts | 47 +++++++---- src/scripts/darwin.sh | 14 +++- src/scripts/linux.sh | 3 +- src/scripts/win32.ps1 | 3 +- 13 files changed, 93 insertions(+), 165 deletions(-) delete mode 100644 .github/workflows/experimental-workflow.yml delete mode 100644 src/bin/php_nts_pcov.dll delete mode 100644 src/bin/php_ts_pcov.dll diff --git a/.github/workflows/experimental-workflow.yml b/.github/workflows/experimental-workflow.yml deleted file mode 100644 index 001a8c6b..00000000 --- a/.github/workflows/experimental-workflow.yml +++ /dev/null @@ -1,88 +0,0 @@ -name: Experimental workflow -on: - pull_request: - branches: - - nightly - - master - - develop - - verbose - paths-ignore: - - '**.md' - - 'examples/**' - push: - branches: - - nightly - - master - - develop - - verbose - paths-ignore: - - '**.md' - - 'examples/**' -jobs: - run: - name: Run - runs-on: ${{ matrix.operating-system }} - strategy: - fail-fast: false - matrix: - operating-system: [ubuntu-20.04, ubuntu-18.04, ubuntu-16.04, windows-latest, macos-latest] - php-versions: ['8.0'] - env: - extensions: xml, opcache, pcov - key: cache-v2 - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup cache environment - id: cache-env - uses: shivammathur/cache-extensions@develop - with: - php-version: ${{ matrix.php-versions }} - extensions: ${{ env.extensions }} - key: ${{ env.key }} - - - name: Cache extensions - uses: actions/cache@v2 - with: - path: ${{ steps.cache-env.outputs.dir }} - key: ${{ steps.cache-env.outputs.key }} - restore-keys: ${{ steps.cache-env.outputs.key }} - - - name: Setup PHP with extensions and custom config - run: node dist/index.js - env: - php-version: ${{ matrix.php-versions }} - extensions: ${{ env.extensions }} - ini-values: post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata - coverage: pcov - - - name: Testing PHP version - run: | - php -v - php -r "if(strpos(phpversion(), '${{ matrix.php-versions }}') === false) {throw new Exception('Wrong PHP version Installed');}" - - - name: Testing Composer version - run: | - composer -V - php -r "if(strpos(@exec('composer -V'), 'Composer version') === false) {throw new Exception('Composer not found');}" - - name: Testing Extensions - run: | - php -m - php -r "if(! extension_loaded('mbstring')) {throw new Exception('mbstring not found');}" - php -r "if(! extension_loaded('pcov')) {throw new Exception('PCOV not found');}" - - name: Testing ini values - run: | - php -r "if(ini_get('post_max_size')!='256M') {throw new Exception('post_max_size not added');}" - php -r "if(ini_get('short_open_tag')!=1) {throw new Exception('short_open_tag not added');}" - php -r "if(ini_get('date.timezone')!='Asia/Kolkata') {throw new Exception('date.timezone not added');}" - - name: Test JIT - run: | - php -r "if(! extension_loaded('Zend OPcache')) {throw new Exception('Zend OPcache not found');}" - php -r "if(ini_get('opcache.jit_buffer_size')!='256M') {throw new Exception('opcache.jit_buffer_size not set');}" - php -r "if(ini_get('opcache.jit')!=1235) {throw new Exception('opcache.jit not set');}" - php -r "if(ini_get('pcre.jit')!=1) {throw new Exception('pcre.jit not set');}" - - name: Benchmark JIT - run: | - curl -o bench.php https://raw.githubusercontent.com/php/php-src/master/Zend/bench.php - php bench.php \ No newline at end of file diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index e15b78d9..ba51afe6 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -24,7 +24,7 @@ jobs: fail-fast: false matrix: operating-system: [ubuntu-20.04, ubuntu-18.04, ubuntu-16.04, windows-latest, macos-latest] - php-versions: ['5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4'] + php-versions: ['5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0'] env: extensions: xml, opcache, xdebug, pcov key: cache-v2 diff --git a/README.md b/README.md index 31c45c46..88c2463a 100644 --- a/README.md +++ b/README.md @@ -185,7 +185,7 @@ with: ### Xdebug Specify `coverage: xdebug` to use `Xdebug`. -Runs on all [PHP versions supported](#tada-php-support "List of PHP versions supported on this GitHub Action") except `8.0`. +Runs on all [PHP versions supported](#tada-php-support "List of PHP versions supported on this GitHub Action"). ```yaml uses: shivammathur/setup-php@v2 diff --git a/__tests__/coverage.test.ts b/__tests__/coverage.test.ts index ad9a9bb6..30ab8ca1 100644 --- a/__tests__/coverage.test.ts +++ b/__tests__/coverage.test.ts @@ -36,21 +36,11 @@ describe('Config tests', () => { expect(win32).toContain('add_extension xdebug'); }); - it('checking addCoverage with Xdebug on windows', async () => { - const win32: string = await coverage.addCoverage('xdebug', '8.0', 'win32'); - expect(win32).toContain('Xdebug currently only supports PHP 7.4 or lower'); - }); - it('checking addCoverage with Xdebug on linux', async () => { const linux: string = await coverage.addCoverage('xdebug', '7.4', 'linux'); expect(linux).toContain('add_extension xdebug'); }); - it('checking addCoverage with Xdebug on linux', async () => { - const linux: string = await coverage.addCoverage('xdebug', '8.0', 'linux'); - expect(linux).toContain('Xdebug currently only supports PHP 7.4 or lower'); - }); - it('checking addCoverage with Xdebug on darwin', async () => { const darwin: string = await coverage.addCoverage( 'xdebug', @@ -60,15 +50,6 @@ describe('Config tests', () => { expect(darwin).toContain('add_extension xdebug'); }); - it('checking addCoverage with Xdebug on darwin', async () => { - const darwin: string = await coverage.addCoverage( - 'xdebug', - '8.0', - 'darwin' - ); - expect(darwin).toContain('Xdebug currently only supports PHP 7.4 or lower'); - }); - it('checking disableCoverage windows', async () => { const win32 = await coverage.addCoverage('none', '7.4', 'win32'); expect(win32).toContain('Remove-Extension xdebug'); diff --git a/__tests__/extensions.test.ts b/__tests__/extensions.test.ts index 81734487..a32f3da7 100644 --- a/__tests__/extensions.test.ts +++ b/__tests__/extensions.test.ts @@ -1,6 +1,12 @@ import * as extensions from '../src/extensions'; describe('Extension tests', () => { + it('checking getXdebugVersion', async () => { + expect(await extensions.getXdebugVersion('5.3')).toContain('2.2.7'); + expect(await extensions.getXdebugVersion('5.4')).toContain('2.4.1'); + expect(await extensions.getXdebugVersion('5.5')).toContain('2.5.5'); + expect(await extensions.getXdebugVersion('5.6')).toContain('2.9.6'); + }); it('checking addExtensionOnWindows', async () => { let win32: string = await extensions.addExtension( 'Xdebug, pcov, sqlite, :intl, phalcon4, ast-beta, grpc-1.2.3, inotify-1.2.3alpha2', @@ -104,8 +110,8 @@ describe('Extension tests', () => { '7.2', 'darwin' ); - expect(darwin).toContain('sudo pecl install -f xdebug'); - expect(darwin).toContain('sudo pecl install -f pcov'); + expect(darwin).toContain('add_brew_extension xdebug'); + expect(darwin).toContain('add_brew_extension pcov'); expect(darwin).toContain('sudo pecl install -f sqlite3'); expect(darwin).toContain('remove_extension intl'); expect(darwin).toContain('add_unstable_extension ast beta extension'); @@ -121,7 +127,7 @@ describe('Extension tests', () => { expect(darwin).toContain('sudo pecl install -f pcov'); darwin = await extensions.addExtension('pcov', '7.2', 'darwin'); - expect(darwin).toContain('sudo pecl install -f pcov'); + expect(darwin).toContain('add_brew_extension pcov'); darwin = await extensions.addExtension('xdebug', '5.3', 'darwin'); expect(darwin).toContain('sudo pecl install -f xdebug-2.2.7'); @@ -133,13 +139,13 @@ describe('Extension tests', () => { expect(darwin).toContain('sudo pecl install -f xdebug-2.5.5'); darwin = await extensions.addExtension('xdebug', '5.6', 'darwin'); - expect(darwin).toContain('sudo pecl install -f xdebug-2.5.5'); + expect(darwin).toContain('add_brew_extension xdebug'); darwin = await extensions.addExtension('xdebug', '7.0', 'darwin'); - expect(darwin).toContain('sudo pecl install -f xdebug-2.9.0'); + expect(darwin).toContain('add_brew_extension xdebug'); darwin = await extensions.addExtension('xdebug', '7.2', 'darwin'); - expect(darwin).toContain('sudo pecl install -f xdebug'); + expect(darwin).toContain('add_brew_extension xdebug'); darwin = await extensions.addExtension('redis', '5.6', 'darwin'); expect(darwin).toContain('sudo pecl install -f redis-2.2.8'); diff --git a/dist/index.js b/dist/index.js index 0e9af736..3bbbd003 100644 --- a/dist/index.js +++ b/dist/index.js @@ -2148,9 +2148,6 @@ const config = __importStar(__webpack_require__(641)); */ async function addCoverageXdebug(version, os_version, pipe) { switch (version) { - case '8.0': - return ('\n' + - (await utils.addLog('$cross', 'xdebug', 'Xdebug currently only supports PHP 7.4 or lower', os_version))); case '7.4': default: return ((await extensions.addExtension('xdebug', version, os_version, true)) + @@ -2685,9 +2682,27 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.addExtension = exports.addExtensionLinux = exports.addExtensionWindows = exports.addExtensionDarwin = void 0; +exports.addExtension = exports.addExtensionLinux = exports.addExtensionWindows = exports.addExtensionDarwin = exports.getXdebugVersion = void 0; const path = __importStar(__webpack_require__(622)); const utils = __importStar(__webpack_require__(163)); +/** + * Function to get Xdebug version compatible with php versions + * + * @param version + */ +async function getXdebugVersion(version) { + switch (version) { + case '5.3': + return '2.2.7'; + case '5.4': + return '2.4.1'; + case '5.5': + return '2.5.5'; + default: + return '2.9.6'; + } +} +exports.getXdebugVersion = getXdebugVersion; /** * Install and enable extensions for darwin * @@ -2741,25 +2756,22 @@ async function addExtensionDarwin(extension_csv, version, pipe) { ' ' + ext_prefix; return; - // match 5.3xdebug - case /5\.3xdebug/.test(version_extension): - command = command_prefix + 'xdebug-2.2.7' + pipe; + // match 5.3xdebug...5.5xdebug + case /5\.[3-5]xdebug/.test(version_extension): + command = + command_prefix + 'xdebug-' + (await getXdebugVersion(version)); break; - // match 5.4xdebug - case /5\.4xdebug/.test(version_extension): - command = command_prefix + 'xdebug-2.4.1' + pipe; + // match 5.6xdebug, 7.0xdebug...7.4xdebug, 8.0xdebug + case /(5\.6|7\.[0-4]|8\.[0-9])xdebug/.test(version_extension): + command = 'add_brew_extension xdebug'; break; - // match 5.5xdebug and 5.6xdebug - case /5\.[5-6]xdebug/.test(version_extension): - command = command_prefix + 'xdebug-2.5.5' + pipe; - break; - // match 7.0redis - case /7\.0xdebug/.test(version_extension): - command = command_prefix + 'xdebug-2.9.0' + pipe; + // match 7.1pcov...7.4pcov, 8.0pcov + case /(7\.[1-4]|8\.[0-9])pcov/.test(version_extension): + command = 'add_brew_extension pcov'; break; // match 5.6redis case /5\.6redis/.test(version_extension): - command = command_prefix + 'redis-2.2.8' + pipe; + command = command_prefix + 'redis-2.2.8'; break; // match imagick case /^imagick$/.test(extension): @@ -2774,7 +2786,7 @@ async function addExtensionDarwin(extension_csv, version, pipe) { // match sqlite case /^sqlite$/.test(extension): extension = 'sqlite3'; - command = command_prefix + extension + pipe; + command = command_prefix + extension; break; // match 7.0phalcon3...7.3phalcon3 and 7.2phalcon4...7.4phalcon4 case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$/.test(version_extension): @@ -2787,7 +2799,7 @@ async function addExtensionDarwin(extension_csv, version, pipe) { version; return; default: - command = command_prefix + extension + pipe; + command = command_prefix + extension; break; } add_script += diff --git a/src/bin/php_nts_pcov.dll b/src/bin/php_nts_pcov.dll deleted file mode 100644 index 20970b0b3731084ea74900710d8e9486e3750d83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31744 zcmeHw3w%`7wfCN6CYijL0Wuhn$ACdm2n?Bs2?;twX5b7=AQHe-(aCE`^BWlY-ZO{F$ea=5Xfk%!ySd?lQ~SQ1B#Kz0-e2=zyQW-NhK*khU0ylTb~K-r0{FTj`^@F3tF zgxtf}mwLc1#>~`7v8$W0dl9x=&)C`+?i_Fj(y5<@uL|U$4*!~KzUXZek+#!@2UUpL z9$zk^X2vS!`)ex2O6Un9tOEBe+{z?mZ2zeX3 zkVpbW-QzDC@$(1#)j)EYKsGEDw-0yRW#e?-hGr0wj952rDt9yPxXY%rE)MhGFDQh! zWa|a#thIap9;nG@4+|0yz0bui+f_p7gHl1#ebx>GVbYZ`CP-(5&Td185h4}B8?q|| z>E7*-oY47(q2m;ofcjb>gs_-hXFbJfAER{1W)upFjfPvE<3ukBk&LHqBd#;nQ0{I+ zCuzJOQG&=5l41!zLJqg2OCq+Bm07MxX;ul?$)+u(j8V=fc+QLukxl44A}*rB^W70g zwv9p-r}YTH9PkD(;}&F753&joceYJ7ExVGq1cOT17GC!EfD@#9c*`OgKfjeK+Cn%g zE|s@{Cn|+RGHwS2m1XO5WD6Onj%@O97RR{+4gzyZR|lf@{U;C>=gOvyNFTgdDKx|j zn8tHJZi3V&NF>|P;ZjepY;sdVI8l)L4aQ_4G|+As&kV-ZM#Ff)XfQ4}8^+trh+7c1 zAZ|n4hIlFBrHEG`ULizoYe&h5`V8akLk6SXFh0d#w1J5oOaw4-fr$-F>|i2*i3?0@ zU}A>~EU!aD!~_{qSzb;-{VAK)7UT$CW3CE)N{wUsBS?pZaGlw{*1q0Os#GC_%k^&Q z6Cvy~T0a!RZCS2^Ddx@k?um@Ke)m&UuREEs+FHYm4umm~^K*WPkfGyRXq!t~mK9Sr zNq4qW>5PuUpc_%HJW@-pLvy9ZSogmq>Vpoo4SjfPXpwKhX1#t2G%71ErEWZ85Lv4B!!2oi@n zn2ABJAYEnLk7_a@bZD|{T92vCEiE@9qbt-s8QLsJ$D`v4fyGcQ?MvjO(o22C+GW(Z zNXFq?0AOTFF{;XyQI(>Wgc9-xF(UpdgfAB&*BK!`@RfwD@G8_k;}Fk@QFf#REDCa} z5D%sZ;Y+`Rz+ftjR5_=x2;pg~5OPVsmraeRAlbIgzshpkM9>uR8t;jsHUmB&1?gb+ z4&L;~v$<)I?#piH@tX(AZcYXe+}YFbmRaf|Mego(6Y8N<${| zHG(|bgPO(@BMdSmELs^$;Q1|fF4OSZY_s$_=`*ad)7ov1T$wDJW`U=gz9HM}lzKpr z1OlwnsGky%%!3fB8A)Hj#5y7?K66Bt{#iEt2?dR0c1Lt?(jbXs{0UTGpC+501O*>m z$52_>^d_Px8YD|WX^)hq%cgz6b##m8W7zzfH&6p53X!lQx(~j948t0sPxl~ZV;PsV zyH9sN!djAEpYEp!k{0yoeiB254qL8?NmG%ZQsPl4g7mslrb8)nJj%55GIbMp?`ouH zWzzyAqK+ix7@wG!(HnCVZnuD&!t2Zms=qS9Q5qx#CBd*qE5A?5M^+xB6J^u$AXT(j zHa$e8dl$(+lk$-u&V-S1+Ib3wrw5AYNjwF5n>^lPXtuS7I)s+oAk125)uZJWYcus9aI}hw;4D=LQl~=YT35^ zBnl(df+@JD4W@w9vzF74dS(Iz^~^Y}sAo9GdJ|P3r$_-g1SF^cSED&2S~Q|ROKIFG z`VX$8KZ7U_75QX2=KOsUm2T*Km2i=aYdKqtK-sj0S{lg+0fT;5BER5~d?oT4kIYpf zA8aME=}Kf5kBp~?l(89++8u)Q9juBban!R|kp(|O(hF1?q+q6{(R9g95)vSriVx&h5Ta|WX!sDL!K0^% z--kRKDUTHk0!MZQA0QdCxkh)xw2YHYZ74-SPgl^;7o@^x)6$L3>{rObVg(7)KX?C=P$_Okd~YRaP_>Wb0_}QRrs-?<6WYIRk!SD z->PTg2I5*SNL#Vm)YFKPzMCcVysHxuKNAZ7DCV}`s80%BAV?F1!q3G8w4iYpE;R|`uu(#;`nX(w zLZ0tzA_e3|5@O?44TeIz%rL`2GMea;Fc$BiFq)7hm7!)Zv4LU*ku0btT)M_c_T~4n zZ3^{bY*rnCWFJGD<}r~LIdia-c@lh-;V~ZLRvE#!0cY5ou?IHz0Q!kk$N9|mj4rat z$Q94_EBtO4=GOy#RQO${@T)+6>oJvC**Tb@ngSM4MqCgZewcSE>Jxq1a0O$1C-pDfA_y zXIS5Iy%s>(EhP$?WI@&N4@WqCwF;OO_ct*%oS^7a*qyCkS9X;UX~^C$Z2Mpj=leR` zEQ0hRIyIR~|6*z@hM0iyCE4^v$wAB%UtR%Z*!fnU^F6YGgT{xLjMgN`SfrG^6?VP{ zQ{av`-@;BuHYF2>ZHI}y=bCG=!lLb10$MMdp0jc0hK}SUjP~$BzFBcg`6Zn)7A86> zfT=wm7n>6_wdfZooe0X>O6j&X3_YvB7x$=BJ>bt-8=> zGa@*mlG`Z*DI}WF>XbGXxq43ON)k8P?6h%ohrKr&I*l3(_^U9vlsth|L!_kDz7H(g zk>gdD^r~UJ^9kI2(O;%Pb=E!Mw4UlbX1MbWDn%;!oe=r1ao9f~UH7GQxzO{D&Xwq~ zsR|al=?pVO?j`cVw+x|e2#h!x40~68;|}}zksWq$5!4eUqRqj}!3-XvOkl8z_^6Rr z1qmWV)PCbsM=-Vh#-gI2mMgEK!2a*MCGX8tW3&Mq@*$zHC#Z83z9|~*GWO|D+Z=_T z8tzz3t7d8IM%aQEmJr)*`yd@bDm6MJTb8Tm1ZJs2LU`THZm5N;@Tj39H38C7{Uhz0 z^_Uvp%=dw7O34bO0E=aOLzYWHXc6LPy@1{9w}M*;FUrLE}n z_t5EE(dka=^sUK;&gn?{+D?CExYG}$#CQ5YT&Ejm*jQYDUpu!cmKyXPzQ0nK#zSx_is&hOO1xFs=!;LRp2770@rdi zaKU0xXLXig7b!^Sc8Nwi^dof0Olm+X(5d5z8UG5;2^5Arw{EGKmTZYcbNc!4N9~tRS!IF%O^pkO&9@pVx2Kd9V4yQe+>tM_vxqdg&;WjKQ z#t!$sQT_egIfwhLi%0dhTp#Q2P6+&)`WwCFMQ?q}ke{RWw+l-_cj2I+^J?CmTQ|b8 zf2>&XlRh%Q7xMlsX?07ANp?%BiIxI$u~q3xC5ckCA3a(w(Ug7WN%ruGB%qDt@iv&n+kR0@h_<6gra-EQI)E(?L$k z6MluD_0;~WIEyX$m>MZ4VOP2UDdcC`1vuctDneb;gENLw%LPIt(+ME~4USbHqG`X2 zN-n2rUhitYY6s%MsahKj=ZeidU4A&5V(q#;g=0yHO##C`P9D zuZfYJ;AH4ka9hjCf(sStNG}jMN}LM&(HoU!QwwXud1yOt@^2R@ZOI>O<$T?cso;*R z*1LYQfo)({;C6=>lteO1O9~GKa_t8Sx{>?I1bm^ z!}h-+hyQIVO}t7kgwR)7wNTe^p$T|Bb{;Ru&A-qv%{iM~mWOBL#wE0aE=w zNmY7*dLsq-@hYnGJ&4>L33dLYuxo%rXMinGM8{S`m5$W~{fz2aFwM)ZW@J%ThO--+pt5zCTh`jwsc--4oYoHw7h|Y7b5A<3 z-Jn&!UFvp(YqHI-JM~r?GYF?fk4rit zyf_d#p%K#hKNW!e)KK32so^`iY$$-?s#AumjsWwt(D@;9A^rJ5EaaaOq~}NFA{yKq z`f0_@5b3Wq%teL~@J!LSUfkFJ!c=do>fL$t2M-wTm8NQiduiF~gl z-H}b(ICxau(o--Sn7R|qROG?ze&F2^)0(4rSMr7{d~=qRj1l<#Ub#D*jIEKhzKGUt z%h3b}`n?;}wIlCO-O_b7hxDvn`bg;c6IO;~s+k)@ij_O1b1hEZDK zAw%e25k42qtwa-gUZXIy4gNbK39(2QMFwk~ohLV?2-VJXA@QlfaS~w939XQL>u%(A zN7~Hx_A^enbhv9%rpTmjm`I_K3XpCru?4V}ltG)KV?x+Piq-)f!6p zQcZYW?zYQ4NOKgf@@?snmWedSJPzjIjNqLQ@gR72AVAH&wH*K&)oYhBnWVjk*uO^X z?-8UsDa|f9^jb(`DtdzYO6jLau|`cdID4hzM5K2}FM)0fr;~d*B|7$XUejS#=?c}v zb5Nn?nAeS{x@fqg3Wf)2bQps+@wmIX*Cj>m;Th1nBv`lY$q5)>7{1*DCWM6Q61{8g zvkt0M;`2h!SsfRL6JC2RD0`$_qv~7dF{vMwI<9J45jriVZ5D(F>glB{*vY+M7|)DU zRAmO`TvlWVG0>wG#Bo?ATo?oIDooPRb6@51qSANOC7Ht9RW=k6xmq(^Wr%C=hbTXN zU>@3k%9*JN&Je2CrBiiY5)xk#dOp`l>GyOV;UmV55p$12>Xmy3rhy#!G6(*QT78r5 zL#Jsg=8#I^4ERrMs*hsjBrY+`puWc5u1$|||ExH}Rc(}eg}Lid!*i92jxr--@b_d9 zs9+NQn8rFFjbV{V{g4%P1Rw1&`TzP$$k3U&TPvo}fFAfc;=5A~9XkPq&`sE9cK#4S zp0+~?Xa{bifZ@Q0sRLUPa!K7Ty#F|-`EJD2^bgwZII}&8o9(wTY1$%?9tozq1R<+$4PO%5Gl@c zhv8fgCpx7=2xSU=#ZxI6Fk6MBQ?esmW(?g_gf<;(sdH6#>|y zx{Ha$&d%;Oy>w`2DrIqP! zsRb(7FZ8^vbA_Hh;ZFPnR$w9s<~HsZFhW*|iNLrUu_&P0HLBz-Iia2Tq~Z1mP-B&S_FARveR z)Ur&x53(XShQ(-dSj$95xJ^4SaTI0d;L9V~^n-n&gW26A*{vy56BIXSuuG`Y$lQhT zYnR@qm9Gt^QL;f23GV9taB=2}NG4y~kW|fo*Xm{&-YX3ck7LTx<{4Vr91^5wMvbW9 zrA^%MFe~e9Hx-BF&3??97$>sn-b+ZLgj5HL5LtmUW^ZF>iVe40GLxUsg#|Ng_ESP( ze`_k%I~Tjc+U&t9K5&o%O~c56x4?~8N+2=v1grpEbMcM^NZAzT#n2X>mxT<#^u(lc<^yBVVVJMHFBW--bo(FDdL1t=zxI?V)(S ztD23`fLG+FNPo0zJ-QkHHF3d)N_SPO|k9uQsADVK?tgX*L_?VEM~m zmDlleLf6_ic&@wlnqI8cpF;0Cu}naZQ+zrkgMU|B)QK zG$|7%q$eh-(F_Fw2TrkqGIZk%6DA-D2%}1b{0nxUU*g`2y8vs<3$g$G1Ys+n z4fg`zlzQt&U5TS&dX07rVpOsYiKEjs+ED~bgyS@tSW04&l4lqZOVB4L$F?>c3Xd8 z?>XpHUP^GLYoD*uAMkntqPxJJ6|8LEgfsKkgg)1_t{)~#4`#deHCA~zB_~_FZIc;U z{K17pId7QK7&Hq9HhM)*jkmU5D7Z2!XcP`Kd22i^Cp1`AN;^{NsQu5EJwgDaua3ae~fMJS`_UEwn z@qr+@Y|)v-_GTXoriN}7nW5uitRbkoOR2ldsk`gkcqj)s@S-A%_EXk3tRI4=qQK)b z+&Kk(h#fECNA^RlZLY*qq08YEj8Zo))7qt}x8XGiI`_>G4ni0rM+v{uh!ag4(93w4 zg&lD}%^cFv;`S|?sVwLqd0QeYu&#eww-nv4nL2N7k*0Op(o+u2v=q^V{oi<3L^$C} zgv+^f7P+Z{2DvyrRBV*N8f=5RLN^*&a1yO9r8GMx5FC`!_a)I%Yw$`EG1d`Cv`guz z-P@?$bK6{ch7lmy^$#&UYY)z~pLUv2SFJe3E%or7ry#AixujP}0@1fIzYL~9N7Ass zL)TQuPho+TUfAqY`qOEB!%^T74R`*Mi|H8Gf46j7J6IM=S|ino)^x7K!y#-M40rsJ zC%BDTNM-?clXodY;$?dMGeg~95akw}-ROoh>`?HN!DLBDFAk?;(aZUkBp$NU`ewLI zp-rIwjveo_v9r7qOi?6_GcbKdwAb$7>EMTTY2h>AHy@;0w9p=AYJ)l7rBb@li9I22 zzoJXgx9RApQY68b z3yt0y&)RJSJMqH!EU-5u#WA@`N9RgEM=o-#jmb3yx$M{;h7MuljPAPQI~W(_uO5$0 zC_k6u#%P;EL#~bnUpWm!c)t%@?6g*hvz0U<$+NGX89N)S#21f=&l(d?<#9UlQX<*0 z7JJ4ey%^0v>$vepIsCkht;{K5Rrb0)^v)T#bi{s&Y2DI`;za7%lIl|J>ErIi7lrD6 z_XRJys(V*RnMNF(FiNy?E7oJsBpSpt8b^tt6GQIAezz6H9Jyv-8p`4G=;+6Yze*^~ zu;WzSr@;wAPmi(obdM~58cg`KSLiun9QYk9#^{XC9U6n7c44pL#$x0|=uB^@O=fMc(4G#EtE2D0KN}r~ zSoBgnupED827!zx0itH?)?i^Sj(%4mr{(&Olyr&GKTjj3Q^6EQh1qiD+nVBAK7$B8;)!sPm`pJWb>lMaj^v1^f1N-9YYPti9y?N zne*bx6!EE$u1v`pOo3+x(}HCX%O9nF_?`$Xlv)fXS>K>kI(EGwyAAz;<9Qw&&{Nk} z&}ZsAvr9UIF9@VhFi3*BC`}xAF@WR!v~Czy0`$LU;4WAx^!xDl3-seB*<uF^vT@&-^%&nT!adHgQ5`f z;vEiLS2#CLRgj!mRy%RvFbgrMTUbcpOeGvCF)Q(OiaX87X2c|G7OV(cokqdhBkZRo z4Sg#tT!4smq$t7Q=s`DZ6R404FdV0kB6>YVp$#~n2HQ-Eh7HsbX(j{|#JkN9^kBp~ zKL`0<4Ev8GdsRq)orz>jMtp!QEza6aLm20+RS163_fQofq|c7Ns|4_Bj%F|_EBZ6o zcnEwZUh!#X)23L!1U0CGe?rW(b`J@LUuB$x;R}A0tIPv9%ygP;8|B@o>bgN{&j1?9uQ7DGw%uCD1oa2tQEx#dw84*MY-Q$TT6^qC}FTjR*{W z5SKrC4KUI5c&JFq4<(4(52=IpEEzbA+kt2|3?r<~q|g_d;COCK1nGHvJSdy4=8A|T z25_xl?aoItK42ibZlnJ23{YO))*Cq!5ubi#kiDh`4Lk{4^!EyPUGy@qU=rT*wYwwf z&j{hnY**onI99zP-Cfw@PsP41vBzE5?S}{L(44`y@ahkf7HLXmXmd8(N}*KfWfC9` z+CffPy^4%(e=XVz(OQo|E@>Ta;DdzQOq0kqa#6`#Kf)~f6b2qY z=rCm8cNF~;T>&%<$B=AF%0x)|Nfcy4%@TQf*0u?%m3Pou)*m(q@ed&QIRP*@0iFmF08HQ>)B?UlJx;6o2b7UY<5TH} zSl%aBX^+?1EaOudc<(QL+YVTB3=h?8)_204fbuHEcZ4A9nvvr$a=(% z7edaoe#8CtZJ*XRdC9-)OnV0QM=PC$)b;RkrU$VR$>>`OVa*=8LN+YvPSP-O&XS6x z1SZa0;v+Ccx99AaSYw%6vju#nNdM40!_RsGnGQ*}53_+i)DL&6?%xp{Oa^Wz0{dX! z@g1V@Md8qv3#qOs-67E$MjI>JaNwPkK&msX2YJ7XEPXmFDni^H;S39ch6C?q8bWs~ zi1UGX5~h@er)4T>=La@{Vrn1&_L`&EmYRjMqulpS3kdV9-o?Gat0djKcJlD(`*g1$ zKnfn#y@ZhcRIgdg5A~b-bO#Yd_afl{Li<2<)N#RaN8#}xc1+-ueWK_@Fe8-lW2D-` z)9wbKUY$dWV|?;~0czyiI6mz`N37iix(*Ow+US*Me{Lk{P90CrQ#^czKNb9!JY36D zE&REdKa2Qt8Gq*U=L-IGD|qC3?zughUX&HTdcff4*U0`$K4Du2g)zgmc6*79Y{|6) zcfblf7l$@SHv_YSC-#mcD8z5zz@dV}7UF$D(nwH4IQQwLgFBM3;Zxe=I(^bQtbIx< zqEkUmoGchDD1zs(9@&-;`QnU2kJJM^ME%d}|BwVGwJVH2zgdANRQQYvA6MazRCtpL zuUFxE73QmOstWZg{OBfy@9Qf3+ZHAMkqYOvEAiNK(pDvOi3;;nc)1GKtI({%SibFQ z{6{L>slxA#p?gz}|3ZcDtME$|=BxFbq{5>reytjBP+_dxr`7a>DvaT;R@>L4!dq1M zWt&2=TaD+d@HrJm)%0U3+^fP_YI=GMZc_N1x>13DP~ia;-lxKL6;`QmsS2}In5n|Q zZC3bvq{5>rd|ZX}g*IJVR9LIRRVrMp!Z|9;RN*PLp2t-9s0zQY!WI>7P~lP)UZ}#~ zs_mt3!RWe4g*7THRbjpgXQ?n%g@0~U@|{%SaTPwJ!UHPYt-^a%_%CX?ZE9TM0;9B) zwQCSDmMSoY|DT4i%*;%WiV1l5FrBk5deEYP?U{rJI}f*QG9DFE@GwrL&~!ZZ(1Xpu zZ8YQ2O%K~lxL3L{nXseuI6;pgdZ6OK(S!elk#8A7xO|lgj6HXFm3AQyZ|8Q6l484O zbbGs0Iuym}h%6o6?A&)T*W~|lO#TGqpMd=TtCz33xn;h$sj{lUTSL4Ssth^4rrz(Z z7MuMT8wy=pbwjYmOC&sA-&8NwS2oOV^fnUFqD!q-yk6zksPx+U25$gAX@&R23+G$r zUzStjZ2=YivQk5R6|405*nBnLw}JNB(Rx9e9Di*elinVmh_JZH$Lo(OiC+Jh#B)TC zj^UR+hDL4L80^Luxw4+BwtlTUH#8QOTiM%}@G3mr+f}Fy-kx z)O1y?m^qf;d~W_0HNE?5(v?!a{z?75As|-zMTJI^>8gHFygk-Fio{*9_Qj#j8T3{AhxL~T?4_<;%fbT7!rc6MtJapyTVJ-2 zt8nadgBTO~_<%k?h+VPtb!-(Yj>Gf%S2i@n=y<%o3F9VE--42P+)LvqF5cqx2kM)f zD34PeijMlg@R%fgY4Pgy=0MQrYgQ!7<8k?#nwxmLW;Zm{n5#C4G~OsodABrFa=kY< z1_S)}@ivUE)jYF;7_QblbF*K?QB$^5q5S4RpdLm7zpE#DH+uc%W)xoA(A-Ktw71#Y zRD*Z*Fe9F7WN5CQbFq2O?9D;*C1yM?raCB>(Wbys6@u^GiXINB5PSPk7tzOlBad`^ zDaCKVeI=!gq|vy<=AXTZv^U43(aWX^WFA7=keUV*zxeCoSmb{rJibF|*I1U8Y6YLK z!gdwXbjz=xX0%DGQRx3({f@EuN8y?>N7)mPuKxV=9s1R`|M;($G+$!fOl1}?-hkg% zydI-9peRY(qPz`jycn(*HfP2HE=!B$Kcrf zj>cV0xYAKL7pE&9jpK9`qj061u5L7r)A>f>)^fVG(Kt?r{$=ebfBweW`WlQ$h7n2P zn7^^UQbgQ{_;&arV!v-lx=jZbm3a2%&6{hg$Pku7YP_9(u{zsjSL#0scePUgc-&fr zu5J`gq4NPpPKEhx%I_e?eg|^CSBcZ_LDG^|m3=OPEDsi&#+Zt;5>5b)e&12WGj4isSZ_ev8qp0Zw7h%y(n4NbRl)kW{b;MY-QRcPJ}>=D)v~ZCQvQs{pQ) z%A((7%(n145&oMljV^)dL^y@uDoXlZf^X(bEt^@B!E|})d>MQNI-?D;n8{E$@a!vi zbjDY3s4Mct@@i(KvsvNp3jGFTkyDMjEfXmd71g&=ta=v6Ma%NBxj@R6Y_&9G~H`h+m$T zukCMy!4Xw{wAPQsCr{S0RJ0-WSd#Ayw5$TGc-{R8CwP4z3)&I<68Gbj|NJC&{-3pM z5}fQh)Pv)Zb}&}|nk4o(;;GZH8&Jy|8y}Si<;C-l)qNPIXjlr#O>GNpM^@st`4rj2 z$5q)^%uLs^bWxG7(F~i0yFsOok84t??MW;(H_117PBJ@BGewhfBH5Qzp|fa986$ag zL$7D*wM_r=ERFW?ObwgE*d@4k6F+?d)BpJb4aGmcgt5bF8Drz|c{G!CY_et&%kZUJ z(olxNV>~NGNB;@8@w>py(z977C$K3mPh=AgXEJ?_iKm@Kx|z};Gop=;$LH5vl*TTq z)3F(c&L5h5;=H4#?uot$72`{d7WD1(bT(Z~W7BI=+4Qw3Y&E?awI11Lp%GrYQVmMlH(_BE;B@V_e#T|>QeOfx6_Z7y?nj|0P#pq?t zpt}?I#cJLfgdfDcRE_@<;RA8$6n`=Q~Z-oWcnsn5MQeAC!l%F$=G`E zA*hb!QjH-AvPfnIw84;@=F^aFRw14A!>{!vR>X~W@X=&wSw>z8%g9YCO(B`gg5IcQ zT(FX{f5&|X${@&Php;A7&oW^jGBLI?QBG#A(Wf!#Ah!d|q}j)kh$c>Nl{%q5dFZDJ zX+9LofAx;w{jjvup4fda;`ib1!fl(0F%5_nYHU)k!P1XTb>b(KgAHD!bOkA0xlV3j zth`dO|1q4Nd{PyR9mkvyyIO$T0h}=|Z_7=XAArk`!~F|zL%?m1!|emkhBD4|O=?%L z|MVj&a`>koQIW$x{fLSj#`+QWrt?i2JT{)H=4LG4n>;o30bfJqCa>R9UBwdF>ZWzH z_VT)$Y3H3Z94{07d@r6bj9Cf>*m*IJw~_DmY_@!M4`Q``ub0AiGmnRtrX;h|Oo`T2 z2I@TIGqTyNxonG4BaW=`;#hg}Cd$lO;_%f}QI6dchYj+2+HAR4Z8pT=D{E>va(f)E zzNyCB=82^=#-#v<2KdBH9_(fsy-lbUw*EKAQPd(cN3uv9R^d33CabM$^0s0R?5|W> zaa)?YDF(t*6ZBCdddF>Usci80M8Bs7UN!cqmTYZneUmlUQ;pxL_lV6NuixL)%u;o6 zDLzjSNA-hE^+bb3`{*>X&{dl}^)-zBHJ+ajESp-0Wh-NUJ4Z@Ttj$-Fzc@!~bN4wECgp^jU*Sjp{aem2z!13%f*9iCrx^CeY-A=8Ls#i&Bc;yRkk1_N2ld z=!?G|PL?SO&tTIzQ-7nj0vQ@;SREdTqed83kN{)9*NFjtqsQ;9Y#@2Djxps?R_aZN ztVv|Ik4aS-4X0n3NR_W|s%`f0`g=rjBzfw*l{Ij9t~qxqB#&*xxzki{Ug^10;re0h zw+ZA|^N=pmCn#|D)}T2XA^7Ub>N+nwpX(5(X{;2hVFem}4Q%=d)>rLCmBFKyO&g7^ z@p7zFk#kEU_b@>P_<*UaY^rJS`niR;PNNp>_iSuvuBvRnYUbw}Z=1I|h`~03`=c^4 zRbmf0aM@&~Uld~KLL2K>sW2$vF^*|vs!FHm=pWVI40r;KaCmyE{FP1Bb$kVtKc7}l z>?Q3Qv7xxqC!%%5&G3@q?^?W0ICpdN4ME>BeB30$$?JsS zK<~ayDeLR;5maTvx+YW%qv)V+U6azKHO{tbuaC%=sqZOnBu)C->7?Ug~Ve^V*kx@5kas?iF_ z0XAd$SGl`t*sM70+B#@V4UlYzuw|QICmYv7g!TX$;H40orBQv_3bDH$!^OX;7>X8P z4T&!0RT8?t%ng+lz>eL5+B&>d!Hw`Y$7-ppZvOfFe^mmzQSm(!=?C0KUpDo<&UO{D z*n2RO;{V2*>2{v!JO#pM#p8HIt>D%7T=W|qbPd0MHLB?f`dgnn)bi6+enu5$sxV81 zF-Ff{Yd%){vMk3=KnL%Qr6`bIW>AQ#m4JJJ84tS7DBvrCP|*MXK8Lt(VLHa}5MDf-p)lYl zxLGsqIDcro|CIcwui~Bu8iHTowjoT=0>5Y}!UQkFU4wAEuatbIpW)sDJi#?n;Ojt` zj!obzKh}kCye~7}&l&FnCEw^RxIX|rLF07P7i$56%W)eKCb$Z>8DTn%@c?cM!gx>2 zKE<7naJ=u6e4>BGEdWn2$;{XWgpGhP|0lr*af`qc{5kGB5bg$CFcZEZgya2)@jgcK zH9mb2=4JT(2!4QjEy4s(T78hQIGVgy|4V4$iPVhp+{(2KNxcbgsp|9OWYH0Q@!XlL&VM zHVF9s9AScY;ij?<0=}w-j|0+==@UMazN1jX1g}-Y6@c5-Fu|Xw;VwXiFG?)rvm=O` z_z-lcVS*9dRL>oN=fkf^;i-U+!P@1--~< zxD??OTMX}GmB4R8Eh{+@o@bOBb)>*fRZ zdeC7K#pMGJAKLFjYBOuWS*;q>8rxf3dH92PBRtlFhaX%<^5%ou!tWg9@*+3Ge%63I z)Mk;>H=(`_akVZ*J6A*cW~8=pnx;`a%dtb%;I9^XAwkMXQt_ePB-M?mD>i)Rz?s=Y z;P_4Qus~bl`K|@WN?z+mKtH>IOB{0(mt{YL>^hnHCj9?d8z z2nmaEk{Br~pUZhP-B@X#OV*2U%231BL62e3aglUHNNX`$fPbz0-+aWWhv%aOUM@Y@ zeb8#q2h{FZi$=7Rv1~rF6bVu9G=MT*XHv9#v_tkd{Fa5Y%-DC<*TNaRUO5r9WERc~&Qh`yO^fwgnOJ9C zo@zFmi{Lg4h%R`+{?5X4m3+vG%mH{4{Pp4{&WfWr+VA~t5S8=Rl=|yiu&>?d4g8(l z)mja+8qLnhy%*T+yS**m26F>Fm&~dRxSCp;Z}9qOnS=HAYTDEm3&8-3RW#*im(W&Z@H*XF8maD5~$*dc#moBvCR~1y|Tv}7GC?~JB zswOAjn_H7pnVXkq$<4jAw!m7sl>`)*b2Q8N0`tGUz`V-b+T47vHRn=mRY6W(Uf#l- zs>*`uoSH=iHF=eJm5aRA{C}Xp`3t|j$c43wE?ZQ6*`l0$i+5p8Uaqwur{L16s+@dl zjiq)`jisjYvVWk+g_dtGG2d&cy{vL!ZcbHgl@(I;=I21hm*(W<*VbHWsa$wzWx>}= zwP?ZE&MjInN)x#J<2B&hHHjO9xKUF?E;6VHykK-RR2_GVTLZaEX4Q$JZ}EZ!s%4o! zY+2@`5(~;oTnli*bI}4-$6^ddRFi8V7%e70dnp|7_Ewx_yqw-U6fO8Fo~#ScvS3V= zlva+G1w^CTz{^YRrFMtIwQ6~Jxf=NI7^m|AwDz$4EdOW5omo5Q?9AV3+gZA^d}rOx zww*h6-n(=6&V4(N?mWITy7SCV;{#a_%y}UH0o#KW5AJ!8?b7cu?lSM1v&*u}woBMm zx~pPW-7ep*_Fda|?by||Yxk}_yKK9S4`)4$5BeX`KVp2u@(3;Z=AgW+E_2tME=yN_ jm#s_aD(x!os_XJ~b#?9T+S9eKtGf#%|GfS$NZ`K!N#K#; diff --git a/src/bin/php_ts_pcov.dll b/src/bin/php_ts_pcov.dll deleted file mode 100644 index a7086b362ea0b8329655823a12724b122974bd09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31744 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 { switch (version) { - case '8.0': - return ( - '\n' + - (await utils.addLog( - '$cross', - 'xdebug', - 'Xdebug currently only supports PHP 7.4 or lower', - os_version - )) - ); case '7.4': default: return ( diff --git a/src/extensions.ts b/src/extensions.ts index 1381cb79..49d30d04 100644 --- a/src/extensions.ts +++ b/src/extensions.ts @@ -1,6 +1,24 @@ import * as path from 'path'; import * as utils from './utils'; +/** + * Function to get Xdebug version compatible with php versions + * + * @param version + */ +export async function getXdebugVersion(version: string): Promise { + switch (version) { + case '5.3': + return '2.2.7'; + case '5.4': + return '2.4.1'; + case '5.5': + return '2.5.5'; + default: + return '2.9.6'; + } +} + /** * Install and enable extensions for darwin * @@ -60,25 +78,22 @@ export async function addExtensionDarwin( ' ' + ext_prefix; return; - // match 5.3xdebug - case /5\.3xdebug/.test(version_extension): - command = command_prefix + 'xdebug-2.2.7' + pipe; + // match 5.3xdebug...5.5xdebug + case /5\.[3-5]xdebug/.test(version_extension): + command = + command_prefix + 'xdebug-' + (await getXdebugVersion(version)); break; - // match 5.4xdebug - case /5\.4xdebug/.test(version_extension): - command = command_prefix + 'xdebug-2.4.1' + pipe; + // match 5.6xdebug, 7.0xdebug...7.4xdebug, 8.0xdebug + case /(5\.6|7\.[0-4]|8\.[0-9])xdebug/.test(version_extension): + command = 'add_brew_extension xdebug'; break; - // match 5.5xdebug and 5.6xdebug - case /5\.[5-6]xdebug/.test(version_extension): - command = command_prefix + 'xdebug-2.5.5' + pipe; - break; - // match 7.0redis - case /7\.0xdebug/.test(version_extension): - command = command_prefix + 'xdebug-2.9.0' + pipe; + // match 7.1pcov...7.4pcov, 8.0pcov + case /(7\.[1-4]|8\.[0-9])pcov/.test(version_extension): + command = 'add_brew_extension pcov'; break; // match 5.6redis case /5\.6redis/.test(version_extension): - command = command_prefix + 'redis-2.2.8' + pipe; + command = command_prefix + 'redis-2.2.8'; break; // match imagick case /^imagick$/.test(extension): @@ -93,7 +108,7 @@ export async function addExtensionDarwin( // match sqlite case /^sqlite$/.test(extension): extension = 'sqlite3'; - command = command_prefix + extension + pipe; + command = command_prefix + extension; break; // match 7.0phalcon3...7.3phalcon3 and 7.2phalcon4...7.4phalcon4 case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$/.test(version_extension): @@ -106,7 +121,7 @@ export async function addExtensionDarwin( version; return; default: - command = command_prefix + extension + pipe; + command = command_prefix + extension; break; } add_script += diff --git a/src/scripts/darwin.sh b/src/scripts/darwin.sh index 4e7a845c..c15bf516 100644 --- a/src/scripts/darwin.sh +++ b/src/scripts/darwin.sh @@ -91,6 +91,16 @@ add_pecl_extension() { fi } +# Function to install a php extension from shivammathur/extensions tap. +add_brew_extension() { + extension=$1 + if ! brew tap | grep shivammathur/extensions; then + brew tap --shallow shivammathur/extensions + fi + brew install "$extension@$version" + sudo cp "$(brew --prefix)/opt/$extension@$version/$extension.so" "$ext_dir" +} + # Function to setup extensions add_extension() { extension=$1 @@ -172,7 +182,7 @@ add_composertool() { add_blackfire() { sudo mkdir -p usr/local/var/run - brew tap blackfireio/homebrew-blackfire >/dev/null 2>&1 + brew tap --shallow blackfireio/homebrew-blackfire >/dev/null 2>&1 brew install blackfire-agent >/dev/null 2>&1 if [[ -n $BLACKFIRE_SERVER_ID ]] && [[ -n $BLACKFIRE_SERVER_TOKEN ]]; then sudo blackfire-agent --register --server-id="$BLACKFIRE_SERVER_ID" --server-token="$BLACKFIRE_SERVER_TOKEN" >/dev/null 2>&1 @@ -212,7 +222,7 @@ update_formulae() { setup_php() { action=$1 export HOMEBREW_NO_INSTALL_CLEANUP=TRUE - brew tap shivammathur/homebrew-php + brew tap --shallow shivammathur/homebrew-php if brew list php@"$version" 2>/dev/null | grep -q "Error" && [ "$action" != "upgrade" ]; then brew unlink php@"$version" else diff --git a/src/scripts/linux.sh b/src/scripts/linux.sh index 793f9833..3e16b940 100644 --- a/src/scripts/linux.sh +++ b/src/scripts/linux.sh @@ -120,7 +120,8 @@ add_pdo_extension() { add_log "$tick" "$pdo_ext" "Enabled" else read -r ext ext_name <<< "$1 $1" - sudo rm -rf "$scan_dir"/*pdo.ini >/dev/null 2>&1 && echo "extension=pdo.so" >> "$ini_file" + sudo rm -rf "$scan_dir"/*pdo.ini >/dev/null 2>&1 + if ! check_extension "pdo"; then echo "extension=pdo.so" >> "$ini_file"; fi if [ "$ext" = "mysql" ]; then enable_extension "mysqlnd" "extension" ext_name="mysqli" diff --git a/src/scripts/win32.ps1 b/src/scripts/win32.ps1 index fe0982b3..8f2eba4f 100644 --- a/src/scripts/win32.ps1 +++ b/src/scripts/win32.ps1 @@ -362,7 +362,8 @@ if($version -lt "5.5") { } Update-PhpCAInfo -Path $php_dir -Source $cert_source if ($version -eq 'master') { - Copy-Item $dir"\..\src\bin\php_$env:PHPTS`_pcov.dll" -Destination $ext_dir"\php_pcov.dll" + Invoke-WebRequest -UseBasicParsing -Uri "https://github.com/shivammathur/php-extensions-windows/releases/latest/download/php_$env:phpts`_$arch`_pcov.dll" -OutFile $ext_dir"\php_pcov.dll" >$null 2>&1 + Invoke-WebRequest -UseBasicParsing -Uri "https://github.com/shivammathur/php-extensions-windows/releases/latest/download/php_$env:phpts`_$arch`_xdebug.dll" -OutFile $ext_dir"\php_xdebug.dll" >$null 2>&1 Set-PhpIniKey -Key 'opcache.jit_buffer_size' -Value '256M' -Path $php_dir Set-PhpIniKey -Key 'opcache.jit' -Value '1235' -Path $php_dir } From 52691651dcbbd4715f01258142d41be5fe575b6b Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Sat, 20 Jun 2020 06:25:19 +0530 Subject: [PATCH 2/6] Add support for Xdebug3 on stable PHP --- __tests__/coverage.test.ts | 24 ++++++++++------- __tests__/extensions.test.ts | 12 +++++++-- __tests__/utils.test.ts | 1 + dist/index.js | 52 +++++++++++++++++++++++++----------- src/config.ts | 4 +-- src/coverage.ts | 39 +++++++++++++++++---------- src/extensions.ts | 12 ++++++++- src/scripts/linux.sh | 21 +++++++++++++++ src/utils.ts | 12 ++++++--- 9 files changed, 130 insertions(+), 47 deletions(-) diff --git a/__tests__/coverage.test.ts b/__tests__/coverage.test.ts index 30ab8ca1..cc158312 100644 --- a/__tests__/coverage.test.ts +++ b/__tests__/coverage.test.ts @@ -1,15 +1,9 @@ import * as coverage from '../src/coverage'; -jest.mock('../src/extensions', () => ({ - addExtension: jest.fn().mockImplementation(extension => { - return 'add_extension ' + extension + '\n'; - }) -})); - describe('Config tests', () => { it('checking addCoverage with PCOV on windows', async () => { let win32: string = await coverage.addCoverage('PCOV', '7.4', 'win32'); - expect(win32).toContain('add_extension pcov'); + expect(win32).toContain('Add-Extension pcov'); expect(win32).toContain('Remove-Extension xdebug'); win32 = await coverage.addCoverage('pcov', '7.0', 'win32'); @@ -33,14 +27,26 @@ describe('Config tests', () => { it('checking addCoverage with Xdebug on windows', async () => { const win32: string = await coverage.addCoverage('xdebug', '7.4', 'win32'); - expect(win32).toContain('add_extension xdebug'); + expect(win32).toContain('Add-Extension xdebug'); }); it('checking addCoverage with Xdebug on linux', async () => { - const linux: string = await coverage.addCoverage('xdebug', '7.4', 'linux'); + const linux: string = await coverage.addCoverage('xdebug', '8.0', 'linux'); expect(linux).toContain('add_extension xdebug'); }); + it('checking addCoverage with Xdebug3 on linux', async () => { + const linux: string = await coverage.addCoverage('xdebug3', '7.4', 'linux'); + expect(linux).toContain('add_extension_from_source xdebug'); + expect(linux).toContain('echo "xdebug.mode=coverage"'); + }); + + it('checking addCoverage with Xdebug3 on linux', async () => { + const linux: string = await coverage.addCoverage('xdebug3', '8.0', 'linux'); + expect(linux).toContain('add_extension xdebug'); + expect(linux).toContain('echo "xdebug.mode=coverage"'); + }); + it('checking addCoverage with Xdebug on darwin', async () => { const darwin: string = await coverage.addCoverage( 'xdebug', diff --git a/__tests__/extensions.test.ts b/__tests__/extensions.test.ts index a32f3da7..0931f65d 100644 --- a/__tests__/extensions.test.ts +++ b/__tests__/extensions.test.ts @@ -56,11 +56,14 @@ describe('Extension tests', () => { it('checking addExtensionOnLinux', async () => { let linux: string = await extensions.addExtension( - 'Xdebug, pcov, sqlite, :intl, ast, uopz, ast-beta, pdo_mysql, pdo-odbc, xdebug-alpha, grpc-1.2.3', + 'Xdebug, xdebug3, pcov, sqlite, :intl, ast, uopz, ast-beta, pdo_mysql, pdo-odbc, xdebug-alpha, grpc-1.2.3', '7.4', 'linux' ); - expect(linux).toContain('update_extension xdebug 2.9.3'); + expect(linux).toContain('update_extension xdebug 2.9.6'); + expect(linux).toContain( + 'add_extension_from_source xdebug xdebug/xdebug master --enable-xdebug zend_extension' + ); expect(linux).toContain('sudo $debconf_fix apt-get install -y php7.4-pcov'); expect(linux).toContain( 'sudo $debconf_fix apt-get install -y php7.4-sqlite3' @@ -76,6 +79,11 @@ describe('Extension tests', () => { 'add_unstable_extension xdebug alpha zend_extension' ); + linux = await extensions.addExtension('xdebug3', '8.0', 'linux'); + expect(linux).toContain( + 'sudo $debconf_fix apt-get install -y php8.0-xdebug' + ); + linux = await extensions.addExtension('gearman', '7.0', 'linux'); expect(linux).toContain('gearman.sh 7.0'); linux = await extensions.addExtension('gearman', '7.1', 'linux'); diff --git a/__tests__/utils.test.ts b/__tests__/utils.test.ts index 0880ff41..8b0dcc2e 100644 --- a/__tests__/utils.test.ts +++ b/__tests__/utils.test.ts @@ -155,6 +155,7 @@ describe('Utils tests', () => { ); expect(await utils.getExtensionPrefix('xsl')).toEqual('extension'); expect(await utils.getExtensionPrefix('xdebug')).toEqual('zend_extension'); + expect(await utils.getExtensionPrefix('xdebug3')).toEqual('zend_extension'); expect(await utils.getExtensionPrefix('opcache')).toEqual('zend_extension'); }); diff --git a/dist/index.js b/dist/index.js index 3bbbd003..aa7ea308 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1218,13 +1218,17 @@ exports.CSVArray = CSVArray; * @param extension */ async function getExtensionPrefix(extension) { - const zend = ['xdebug', 'opcache', 'ioncube', 'eaccelerator']; + const zend = [ + 'xdebug', + 'xdebug3', + 'opcache', + 'ioncube', + 'eaccelerator' + ]; switch (zend.indexOf(extension)) { - case 0: - case 1: + default: return 'zend_extension'; case -1: - default: return 'extension'; } } @@ -2142,18 +2146,24 @@ const config = __importStar(__webpack_require__(641)); /** * Function to setup Xdebug * + * @param extension * @param version * @param os_version * @param pipe */ -async function addCoverageXdebug(version, os_version, pipe) { - switch (version) { - case '7.4': +async function addCoverageXdebug(extension, version, os_version, pipe) { + const xdebug = (await extensions.addExtension(extension, version, os_version, true)) + + pipe; + const ini = (await config.addINIValues('xdebug.mode=coverage', os_version, true)) + + pipe; + const log = await utils.addLog('$tick', extension, 'Xdebug enabled as coverage driver', os_version); + switch (true) { + case /^xdebug3$/.test(extension): + case /^8\.0$/.test(version): + return '\n' + xdebug + '\n' + ini + '\n' + log; + case /^xdebug$/.test(extension): default: - return ((await extensions.addExtension('xdebug', version, os_version, true)) + - pipe + - '\n' + - (await utils.addLog('$tick', 'xdebug', 'Xdebug enabled as coverage driver', os_version))); + return '\n' + xdebug + '\n' + log; } } exports.addCoverageXdebug = addCoverageXdebug; @@ -2234,7 +2244,9 @@ async function addCoverage(coverage_driver, version, os_version) { case 'pcov': return script + (await addCoveragePCOV(version, os_version, pipe)); case 'xdebug': - return script + (await addCoverageXdebug(version, os_version, pipe)); + case 'xdebug3': + return (script + + (await addCoverageXdebug(coverage_driver, version, os_version, pipe))); case 'none': return script + (await disableCoverage(version, os_version, pipe)); default: @@ -2280,10 +2292,10 @@ const utils = __importStar(__webpack_require__(163)); */ async function addINIValuesUnix(ini_values_csv) { const ini_values = await utils.CSVArray(ini_values_csv); - let script = '\n'; + let script = ''; await utils.asyncForEach(ini_values, async function (line) { script += - (await utils.addLog('$tick', line, 'Added to php.ini', 'linux')) + '\n'; + '\n' + (await utils.addLog('$tick', line, 'Added to php.ini', 'linux')); }); return 'echo "' + ini_values.join('\n') + '" >> $ini_file' + script; } @@ -2961,10 +2973,20 @@ async function addExtensionLinux(extension_csv, version, pipe) { ' ' + version; return; + // match 7.2xdebug3..7.4xdebug3 + case /^7\.[2-4]xdebug3$/.test(version_extension): + add_script += + '\nadd_extension_from_source xdebug xdebug/xdebug master --enable-xdebug zend_extension'; + return; + // match 8.0xdebug3 + case /^8\.[0-9]xdebug3$/.test(version_extension): + extension = 'xdebug'; + command = command_prefix + version + '-' + extension + pipe; + break; // match 7.1xdebug..7.4xdebug case /^7\.[1-4]xdebug$/.test(version_extension): add_script += - '\nupdate_extension xdebug 2.9.3' + + '\nupdate_extension xdebug 2.9.6' + pipe + '\n' + (await utils.addLog('$tick', 'xdebug', 'Enabled', 'linux')); diff --git a/src/config.ts b/src/config.ts index f445b1d2..6f25b367 100644 --- a/src/config.ts +++ b/src/config.ts @@ -9,10 +9,10 @@ export async function addINIValuesUnix( ini_values_csv: string ): Promise { const ini_values: Array = await utils.CSVArray(ini_values_csv); - let script = '\n'; + let script = ''; await utils.asyncForEach(ini_values, async function (line: string) { script += - (await utils.addLog('$tick', line, 'Added to php.ini', 'linux')) + '\n'; + '\n' + (await utils.addLog('$tick', line, 'Added to php.ini', 'linux')); }); return 'echo "' + ini_values.join('\n') + '" >> $ini_file' + script; } diff --git a/src/coverage.ts b/src/coverage.ts index d46c11fd..19dccfcb 100644 --- a/src/coverage.ts +++ b/src/coverage.ts @@ -5,29 +5,36 @@ import * as config from './config'; /** * Function to setup Xdebug * + * @param extension * @param version * @param os_version * @param pipe */ export async function addCoverageXdebug( + extension: string, version: string, os_version: string, pipe: string ): Promise { - switch (version) { - case '7.4': + const xdebug = + (await extensions.addExtension(extension, version, os_version, true)) + + pipe; + const ini = + (await config.addINIValues('xdebug.mode=coverage', os_version, true)) + + pipe; + const log = await utils.addLog( + '$tick', + extension, + 'Xdebug enabled as coverage driver', + os_version + ); + switch (true) { + case /^xdebug3$/.test(extension): + case /^8\.0$/.test(version): + return '\n' + xdebug + '\n' + ini + '\n' + log; + case /^xdebug$/.test(extension): default: - return ( - (await extensions.addExtension('xdebug', version, os_version, true)) + - pipe + - '\n' + - (await utils.addLog( - '$tick', - 'xdebug', - 'Xdebug enabled as coverage driver', - os_version - )) - ); + return '\n' + xdebug + '\n' + log; } } @@ -141,7 +148,11 @@ export async function addCoverage( case 'pcov': return script + (await addCoveragePCOV(version, os_version, pipe)); case 'xdebug': - return script + (await addCoverageXdebug(version, os_version, pipe)); + case 'xdebug3': + return ( + script + + (await addCoverageXdebug(coverage_driver, version, os_version, pipe)) + ); case 'none': return script + (await disableCoverage(version, os_version, pipe)); default: diff --git a/src/extensions.ts b/src/extensions.ts index 49d30d04..7b34bbfd 100644 --- a/src/extensions.ts +++ b/src/extensions.ts @@ -298,10 +298,20 @@ export async function addExtensionLinux( ' ' + version; return; + // match 7.2xdebug3..7.4xdebug3 + case /^7\.[2-4]xdebug3$/.test(version_extension): + add_script += + '\nadd_extension_from_source xdebug xdebug/xdebug master --enable-xdebug zend_extension'; + return; + // match 8.0xdebug3 + case /^8\.[0-9]xdebug3$/.test(version_extension): + extension = 'xdebug'; + command = command_prefix + version + '-' + extension + pipe; + break; // match 7.1xdebug..7.4xdebug case /^7\.[1-4]xdebug$/.test(version_extension): add_script += - '\nupdate_extension xdebug 2.9.3' + + '\nupdate_extension xdebug 2.9.6' + pipe + '\n' + (await utils.addLog('$tick', 'xdebug', 'Enabled', 'linux')); diff --git a/src/scripts/linux.sh b/src/scripts/linux.sh index 3e16b940..413c749a 100644 --- a/src/scripts/linux.sh +++ b/src/scripts/linux.sh @@ -201,6 +201,27 @@ update_extension() { fi } +# Function to install extension from source +add_extension_from_source() { + extension=$1 + repo=$2 + release=$3 + args=$4 + prefix=$5 + ( + add_devtools + delete_extension "$extension" + curl -o /tmp/"$extension".tar.gz -sSL https://github.com/"$repo"/archive/"$release".tar.gz + tar xf /tmp/"$extension".tar.gz -C /tmp + cd /tmp/"$extension-$release" || exit 1 + phpize && ./configure "$args" && make && sudo make install + enable_extension "$extension" "$prefix" + ) >/dev/null 2>&1 + ( + check_extension "$extension" && add_log "$tick" "$extension" "Installed and enabled" + ) || add_log "$cross" "$extension" "Could not install $extension-$release on PHP $semver" +} + # Function to setup a remote tool. add_tool() { url=$1 diff --git a/src/utils.ts b/src/utils.ts index 7aee19a5..f63a3c69 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -224,13 +224,17 @@ export async function CSVArray(values_csv: string): Promise> { * @param extension */ export async function getExtensionPrefix(extension: string): Promise { - const zend: Array = ['xdebug', 'opcache', 'ioncube', 'eaccelerator']; + const zend: Array = [ + 'xdebug', + 'xdebug3', + 'opcache', + 'ioncube', + 'eaccelerator' + ]; switch (zend.indexOf(extension)) { - case 0: - case 1: + default: return 'zend_extension'; case -1: - default: return 'extension'; } } From 2907f8a5846084ea366f373c66633275b8e906a7 Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Fri, 19 Jun 2020 04:26:37 +0530 Subject: [PATCH 3/6] Remove dashes from step ids --- .github/workflows/workflow.yml | 8 ++++---- README.md | 16 ++++++++-------- examples/bedrock.yml | 4 ++-- examples/cakephp-mysql.yml | 12 ++++++------ examples/cakephp-postgres.yml | 12 ++++++------ examples/cakephp.yml | 12 ++++++------ examples/codeigniter.yml | 4 ++-- examples/laravel-mysql.yml | 4 ++-- examples/laravel-postgres.yml | 4 ++-- examples/laravel.yml | 4 ++-- examples/lumen-mysql.yml | 4 ++-- examples/lumen-postgres.yml | 4 ++-- examples/lumen.yml | 4 ++-- examples/phalcon-mysql.yml | 4 ++-- examples/phalcon-postgres.yml | 4 ++-- examples/sage.yml | 4 ++-- examples/slim-framework.yml | 4 ++-- examples/symfony-mysql.yml | 4 ++-- examples/symfony-postgres.yml | 4 ++-- examples/symfony.yml | 4 ++-- examples/yii2-mysql.yml | 4 ++-- examples/yii2-postgres.yml | 4 ++-- examples/zend-framework.yml | 4 ++-- 23 files changed, 66 insertions(+), 66 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index ba51afe6..aa72f54b 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -33,7 +33,7 @@ jobs: uses: actions/checkout@v2 - name: Setup cache environment - id: cache-env + id: extcache uses: shivammathur/cache-extensions@develop with: php-version: ${{ matrix.php-versions }} @@ -43,9 +43,9 @@ jobs: - name: Cache extensions uses: actions/cache@v2 with: - path: ${{ steps.cache-env.outputs.dir }} - key: ${{ steps.cache-env.outputs.key }} - restore-keys: ${{ steps.cache-env.outputs.key }} + path: ${{ steps.extcache.outputs.dir }} + key: ${{ steps.extcache.outputs.key }} + restore-keys: ${{ steps.extcache.outputs.key }} - name: Setup PHP with extensions and custom config run: node dist/index.js diff --git a/README.md b/README.md index 88c2463a..b2bde785 100644 --- a/README.md +++ b/README.md @@ -470,7 +470,7 @@ steps: uses: actions/checkout@v2 - name: Setup cache environment - id: cache-env + id: extcache uses: shivammathur/cache-extensions@v1 with: php-version: ${{ matrix.php-versions }} @@ -480,9 +480,9 @@ steps: - name: Cache extensions uses: actions/cache@v2 with: - path: ${{ steps.cache-env.outputs.dir }} - key: ${{ steps.cache-env.outputs.key }} - restore-keys: ${{ steps.cache-env.outputs.key }} + path: ${{ steps.extcache.outputs.dir }} + key: ${{ steps.extcache.outputs.key }} + restore-keys: ${{ steps.extcache.outputs.key }} - name: Setup PHP uses: shivammathur/setup-php@v2 @@ -499,13 +499,13 @@ If your project uses composer, you can persist composer's internal cache directo ```yaml - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- @@ -527,13 +527,13 @@ If your project has node.js dependencies, you can persist npm's or yarn's cache ```yaml - name: Get node.js cache directory - id: node-cache-dir + id: nodecache run: echo "::set-output name=dir::$(npm config get cache)" # Use $(yarn cache dir) for yarn - name: Cache dependencies uses: actions/cache@v2 with: - path: ${{ steps.node-cache-dir.outputs.dir }} + path: ${{ steps.nodecache.outputs.dir }} key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} # Use '**/yarn.lock' for yarn restore-keys: ${{ runner.os }}-node- ``` diff --git a/examples/bedrock.yml b/examples/bedrock.yml index 9a6d5b23..a4fc930c 100644 --- a/examples/bedrock.yml +++ b/examples/bedrock.yml @@ -17,11 +17,11 @@ jobs: with: php-version: ${{ matrix.php-versions }} - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/cakephp-mysql.yml b/examples/cakephp-mysql.yml index 6272ae40..8b2c986a 100644 --- a/examples/cakephp-mysql.yml +++ b/examples/cakephp-mysql.yml @@ -37,12 +37,12 @@ jobs: - name: Start mysql service run: sudo /etc/init.d/mysql start - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} @@ -70,12 +70,12 @@ jobs: php-version: '7.3' extensions: mbstring, intl - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} @@ -98,12 +98,12 @@ jobs: extensions: mbstring, intl tools: phpstan - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/cakephp-postgres.yml b/examples/cakephp-postgres.yml index 57831770..f31c408a 100644 --- a/examples/cakephp-postgres.yml +++ b/examples/cakephp-postgres.yml @@ -35,12 +35,12 @@ jobs: extensions: mbstring, intl, redis, pdo_pgsql coverage: pcov - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} @@ -68,12 +68,12 @@ jobs: php-version: '7.3' extensions: mbstring, intl - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} @@ -96,12 +96,12 @@ jobs: extensions: mbstring, intl tools: phpstan - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/cakephp.yml b/examples/cakephp.yml index 044fd82c..168c57c0 100644 --- a/examples/cakephp.yml +++ b/examples/cakephp.yml @@ -19,12 +19,12 @@ jobs: extensions: mbstring, intl, pdo_sqlite, pdo_mysql coverage: pcov #optional - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} @@ -48,12 +48,12 @@ jobs: php-version: '7.3' extensions: mbstring, intl - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} @@ -76,12 +76,12 @@ jobs: extensions: mbstring, intl tools: phpstan - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/codeigniter.yml b/examples/codeigniter.yml index 9fa2efd9..2a7a02f3 100644 --- a/examples/codeigniter.yml +++ b/examples/codeigniter.yml @@ -18,12 +18,12 @@ jobs: extensions: mbstring, intl, curl, dom coverage: xdebug #optional - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/laravel-mysql.yml b/examples/laravel-mysql.yml index 8e9ad645..a8b29663 100644 --- a/examples/laravel-mysql.yml +++ b/examples/laravel-mysql.yml @@ -44,12 +44,12 @@ jobs: - name: Start mysql service run: sudo /etc/init.d/mysql start - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/laravel-postgres.yml b/examples/laravel-postgres.yml index aaf8b3e2..af77064d 100644 --- a/examples/laravel-postgres.yml +++ b/examples/laravel-postgres.yml @@ -44,12 +44,12 @@ jobs: extensions: mbstring, dom, fileinfo, pgsql coverage: xdebug #optional - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/laravel.yml b/examples/laravel.yml index 5498c88c..8b41f2f7 100644 --- a/examples/laravel.yml +++ b/examples/laravel.yml @@ -20,12 +20,12 @@ jobs: extensions: mbstring, dom, fileinfo coverage: xdebug #optional - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/lumen-mysql.yml b/examples/lumen-mysql.yml index ecf27230..393a35e9 100644 --- a/examples/lumen-mysql.yml +++ b/examples/lumen-mysql.yml @@ -44,12 +44,12 @@ jobs: - name: Start mysql service run: sudo /etc/init.d/mysql start - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/lumen-postgres.yml b/examples/lumen-postgres.yml index a68cbe98..6795d7ab 100644 --- a/examples/lumen-postgres.yml +++ b/examples/lumen-postgres.yml @@ -44,12 +44,12 @@ jobs: extensions: mbstring, dom, fileinfo, pgsql coverage: xdebug #optional - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/lumen.yml b/examples/lumen.yml index b905cbd3..33cddc2c 100644 --- a/examples/lumen.yml +++ b/examples/lumen.yml @@ -20,12 +20,12 @@ jobs: extensions: mbstring, dom, fileinfo, mysql coverage: xdebug #optional - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/phalcon-mysql.yml b/examples/phalcon-mysql.yml index 10fd1c9c..945312a8 100644 --- a/examples/phalcon-mysql.yml +++ b/examples/phalcon-mysql.yml @@ -44,12 +44,12 @@ jobs: - name: Start mysql service run: sudo /etc/init.d/mysql start - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/phalcon-postgres.yml b/examples/phalcon-postgres.yml index ee2b6ed6..02d93b35 100644 --- a/examples/phalcon-postgres.yml +++ b/examples/phalcon-postgres.yml @@ -43,12 +43,12 @@ jobs: extensions: mbstring, dom, zip, phalcon4, pgsql #use phalcon3 for the phalcon 3.x coverage: xdebug #optional - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/sage.yml b/examples/sage.yml index f664c6fc..eff35f94 100644 --- a/examples/sage.yml +++ b/examples/sage.yml @@ -33,12 +33,12 @@ jobs: key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: ${{ runner.os }}-yarn- - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/slim-framework.yml b/examples/slim-framework.yml index 5263cf58..66065f33 100644 --- a/examples/slim-framework.yml +++ b/examples/slim-framework.yml @@ -18,12 +18,12 @@ jobs: extensions: mbstring, simplexml, dom coverage: xdebug #optional - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/symfony-mysql.yml b/examples/symfony-mysql.yml index a694f211..ae636323 100644 --- a/examples/symfony-mysql.yml +++ b/examples/symfony-mysql.yml @@ -31,12 +31,12 @@ jobs: - name: Start mysql service run: sudo /etc/init.d/mysql start - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/symfony-postgres.yml b/examples/symfony-postgres.yml index 7297e25e..56f68de2 100644 --- a/examples/symfony-postgres.yml +++ b/examples/symfony-postgres.yml @@ -29,12 +29,12 @@ jobs: extensions: mbstring, xml, ctype, iconv, intl, pdo_sqlite, pgsql coverage: xdebug #optional - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/symfony.yml b/examples/symfony.yml index 8e3bef1d..049c0734 100644 --- a/examples/symfony.yml +++ b/examples/symfony.yml @@ -20,12 +20,12 @@ jobs: extensions: mbstring, xml, ctype, iconv, intl, pdo_sqlite coverage: xdebug #optional - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/yii2-mysql.yml b/examples/yii2-mysql.yml index 6dab880d..204b0c13 100644 --- a/examples/yii2-mysql.yml +++ b/examples/yii2-mysql.yml @@ -41,12 +41,12 @@ jobs: - name: Start mysql service run: sudo /etc/init.d/mysql start - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/yii2-postgres.yml b/examples/yii2-postgres.yml index 4e854e06..358090d2 100644 --- a/examples/yii2-postgres.yml +++ b/examples/yii2-postgres.yml @@ -39,12 +39,12 @@ jobs: extensions: mbstring, intl, gd, imagick, zip, dom, pgsql coverage: xdebug #optional - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/examples/zend-framework.yml b/examples/zend-framework.yml index 960e2303..fc324570 100644 --- a/examples/zend-framework.yml +++ b/examples/zend-framework.yml @@ -18,12 +18,12 @@ jobs: extensions: mbstring, bcmath, curl, intl coverage: xdebug #optional - name: Get composer cache directory - id: composer-cache + id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies uses: actions/cache@v2 with: - path: ${{ steps.composer-cache.outputs.dir }} + path: ${{ steps.composercache.outputs.dir }} # Use composer.json for key, if composer.lock is not committed. # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} From e0ed1ad0ef925a7d647b78d0fcc2179d0f4ce46c Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Fri, 19 Jun 2020 10:52:35 +0530 Subject: [PATCH 4/6] Remove --no-suggest flag in examples --- examples/bedrock.yml | 2 +- examples/cakephp-mysql.yml | 6 +++--- examples/cakephp-postgres.yml | 6 +++--- examples/cakephp.yml | 6 +++--- examples/codeigniter.yml | 2 +- examples/laravel-mysql.yml | 2 +- examples/laravel-postgres.yml | 2 +- examples/laravel.yml | 2 +- examples/lumen-mysql.yml | 2 +- examples/lumen-postgres.yml | 2 +- examples/lumen.yml | 2 +- examples/phalcon-mysql.yml | 2 +- examples/phalcon-postgres.yml | 2 +- examples/sage.yml | 2 +- examples/slim-framework.yml | 2 +- examples/symfony-mysql.yml | 2 +- examples/symfony-postgres.yml | 2 +- examples/symfony.yml | 2 +- examples/yii2-mysql.yml | 2 +- examples/yii2-postgres.yml | 2 +- examples/zend-framework.yml | 2 +- 21 files changed, 27 insertions(+), 27 deletions(-) diff --git a/examples/bedrock.yml b/examples/bedrock.yml index a4fc930c..6cf64c26 100644 --- a/examples/bedrock.yml +++ b/examples/bedrock.yml @@ -27,6 +27,6 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies - run: composer install -n --prefer-dist + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: PHP test run: composer test \ No newline at end of file diff --git a/examples/cakephp-mysql.yml b/examples/cakephp-mysql.yml index 8b2c986a..7a01b949 100644 --- a/examples/cakephp-mysql.yml +++ b/examples/cakephp-mysql.yml @@ -49,7 +49,7 @@ jobs: restore-keys: ${{ runner.os }}-composer- - name: Install dependencies run: | - composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + composer install --no-progress --prefer-dist --optimize-autoloader composer run-script post-install-cmd --no-interaction # Add a step to run migrations if required - name: Test with phpunit @@ -81,7 +81,7 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: PHP CodeSniffer run: composer cs-check @@ -109,6 +109,6 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Static Analysis using PHPStan run: phpstan analyse --no-progress src/ \ No newline at end of file diff --git a/examples/cakephp-postgres.yml b/examples/cakephp-postgres.yml index f31c408a..86e5396d 100644 --- a/examples/cakephp-postgres.yml +++ b/examples/cakephp-postgres.yml @@ -47,7 +47,7 @@ jobs: restore-keys: ${{ runner.os }}-composer- - name: Install dependencies run: | - composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + composer install --no-progress --prefer-dist --optimize-autoloader composer run-script post-install-cmd --no-interaction # Add a step to run migrations if required - name: Test with phpunit @@ -79,7 +79,7 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: PHP CodeSniffer run: composer cs-check @@ -107,6 +107,6 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Static Analysis using PHPStan run: phpstan analyse --no-progress src/ \ No newline at end of file diff --git a/examples/cakephp.yml b/examples/cakephp.yml index 168c57c0..e6f36181 100644 --- a/examples/cakephp.yml +++ b/examples/cakephp.yml @@ -31,7 +31,7 @@ jobs: restore-keys: ${{ runner.os }}-composer- - name: Install dependencies run: | - composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + composer install --no-progress --prefer-dist --optimize-autoloader composer run-script post-install-cmd --no-interaction - name: Test with phpunit run: vendor/bin/phpunit --coverage-text @@ -59,7 +59,7 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: PHP CodeSniffer run: composer cs-check @@ -87,6 +87,6 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Static Analysis using PHPStan run: phpstan analyse --no-progress src/ diff --git a/examples/codeigniter.yml b/examples/codeigniter.yml index 2a7a02f3..3e3f1c6b 100644 --- a/examples/codeigniter.yml +++ b/examples/codeigniter.yml @@ -29,6 +29,6 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Test with phpunit run: vendor/bin/phpunit --coverage-text \ No newline at end of file diff --git a/examples/laravel-mysql.yml b/examples/laravel-mysql.yml index a8b29663..65b5d967 100644 --- a/examples/laravel-mysql.yml +++ b/examples/laravel-mysql.yml @@ -55,7 +55,7 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Prepare the application run: | php -r "file_exists('.env') || copy('.env.example', '.env');" diff --git a/examples/laravel-postgres.yml b/examples/laravel-postgres.yml index af77064d..56e9e664 100644 --- a/examples/laravel-postgres.yml +++ b/examples/laravel-postgres.yml @@ -55,7 +55,7 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Prepare the application run: | php -r "file_exists('.env') || copy('.env.example', '.env');" diff --git a/examples/laravel.yml b/examples/laravel.yml index 8b41f2f7..b8149986 100644 --- a/examples/laravel.yml +++ b/examples/laravel.yml @@ -31,7 +31,7 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Prepare the application run: | php -r "file_exists('.env') || copy('.env.example', '.env');" diff --git a/examples/lumen-mysql.yml b/examples/lumen-mysql.yml index 393a35e9..2424978e 100644 --- a/examples/lumen-mysql.yml +++ b/examples/lumen-mysql.yml @@ -56,7 +56,7 @@ jobs: restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies run: | - composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + composer install --no-progress --prefer-dist --optimize-autoloader composer require predis/predis illuminate/redis - name: Prepare the application run: php -r "file_exists('.env') || copy('.env.example', '.env');" diff --git a/examples/lumen-postgres.yml b/examples/lumen-postgres.yml index 6795d7ab..11bef805 100644 --- a/examples/lumen-postgres.yml +++ b/examples/lumen-postgres.yml @@ -56,7 +56,7 @@ jobs: restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies run: | - composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + composer install --no-progress --prefer-dist --optimize-autoloader composer require predis/predis illuminate/redis - name: Prepare the application run: php -r "file_exists('.env') || copy('.env.example', '.env');" diff --git a/examples/lumen.yml b/examples/lumen.yml index 33cddc2c..d96ff454 100644 --- a/examples/lumen.yml +++ b/examples/lumen.yml @@ -31,7 +31,7 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Prepare the application run: php -r "file_exists('.env') || copy('.env.example', '.env');" - name: Test with phpunit diff --git a/examples/phalcon-mysql.yml b/examples/phalcon-mysql.yml index 945312a8..8d2dc382 100644 --- a/examples/phalcon-mysql.yml +++ b/examples/phalcon-mysql.yml @@ -55,7 +55,7 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Prepare the application run: php -r "file_exists('.env') || copy('.env.example', '.env');" - name: Run Migration diff --git a/examples/phalcon-postgres.yml b/examples/phalcon-postgres.yml index 02d93b35..93b2ca35 100644 --- a/examples/phalcon-postgres.yml +++ b/examples/phalcon-postgres.yml @@ -54,7 +54,7 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Prepare the application run: php -r "file_exists('.env') || copy('.env.example', '.env');" - name: Run Migration diff --git a/examples/sage.yml b/examples/sage.yml index eff35f94..bd0f3c26 100644 --- a/examples/sage.yml +++ b/examples/sage.yml @@ -46,7 +46,7 @@ jobs: - name: Install yarn dependencies run: yarn -V - name: Install Composer dependencies - run: composer install -o --prefer-dist --no-interaction + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Yarn test and build run: | yarn run test diff --git a/examples/slim-framework.yml b/examples/slim-framework.yml index 66065f33..de883dfa 100644 --- a/examples/slim-framework.yml +++ b/examples/slim-framework.yml @@ -29,6 +29,6 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Test with phpunit run: vendor/bin/phpunit --coverage-text \ No newline at end of file diff --git a/examples/symfony-mysql.yml b/examples/symfony-mysql.yml index ae636323..2cf6e7da 100644 --- a/examples/symfony-mysql.yml +++ b/examples/symfony-mysql.yml @@ -43,7 +43,7 @@ jobs: restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies run: | - composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + composer install --no-progress --prefer-dist --optimize-autoloader - name: Run Migration run: | composer require symfony/orm-pack diff --git a/examples/symfony-postgres.yml b/examples/symfony-postgres.yml index 56f68de2..a67a0933 100644 --- a/examples/symfony-postgres.yml +++ b/examples/symfony-postgres.yml @@ -41,7 +41,7 @@ jobs: restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies run: | - composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + composer install --no-progress --prefer-dist --optimize-autoloader - name: Run Migration run: | composer require symfony/orm-pack diff --git a/examples/symfony.yml b/examples/symfony.yml index 049c0734..c5bb2767 100644 --- a/examples/symfony.yml +++ b/examples/symfony.yml @@ -33,6 +33,6 @@ jobs: - name: Install Composer dependencies run: | composer require symfony/orm-pack - composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + composer install --no-progress --prefer-dist --optimize-autoloader - name: Run Tests run: php bin/phpunit --coverage-text \ No newline at end of file diff --git a/examples/yii2-mysql.yml b/examples/yii2-mysql.yml index 204b0c13..7fa576a2 100644 --- a/examples/yii2-mysql.yml +++ b/examples/yii2-mysql.yml @@ -52,7 +52,7 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Prepare the application run: | php -r "file_exists('.env') || copy('.env.dist', '.env');" diff --git a/examples/yii2-postgres.yml b/examples/yii2-postgres.yml index 358090d2..ad86a1af 100644 --- a/examples/yii2-postgres.yml +++ b/examples/yii2-postgres.yml @@ -50,7 +50,7 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Prepare the application run: | php -r "file_exists('.env') || copy('.env.dist', '.env');" diff --git a/examples/zend-framework.yml b/examples/zend-framework.yml index fc324570..f3d0d8b9 100644 --- a/examples/zend-framework.yml +++ b/examples/zend-framework.yml @@ -30,7 +30,7 @@ jobs: restore-keys: ${{ runner.os }}-composer- - name: Install dependencies run: | - composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader + composer install --no-progress --prefer-dist --optimize-autoloader composer require --dev phpunit/phpunit squizlabs/php_codesniffer zendframework/zend-test - name: Test with phpunit run: vendor/bin/phpunit --coverage-text \ No newline at end of file From c5e40d90670a77b7373aafbe8a21f2f095b9e604 Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Fri, 19 Jun 2020 14:47:34 +0530 Subject: [PATCH 5/6] Fix Xdebug coverage --- __tests__/coverage.test.ts | 6 ++++++ dist/index.js | 2 +- src/coverage.ts | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/__tests__/coverage.test.ts b/__tests__/coverage.test.ts index cc158312..455f6ed1 100644 --- a/__tests__/coverage.test.ts +++ b/__tests__/coverage.test.ts @@ -47,6 +47,12 @@ describe('Config tests', () => { expect(linux).toContain('echo "xdebug.mode=coverage"'); }); + it('checking addCoverage with Xdebug on linux', async () => { + const linux: string = await coverage.addCoverage('xdebug', '8.0', 'linux'); + expect(linux).toContain('add_extension xdebug'); + expect(linux).toContain('echo "xdebug.mode=coverage"'); + }); + it('checking addCoverage with Xdebug on darwin', async () => { const darwin: string = await coverage.addCoverage( 'xdebug', diff --git a/dist/index.js b/dist/index.js index aa7ea308..1ffe2e6f 100644 --- a/dist/index.js +++ b/dist/index.js @@ -2163,7 +2163,7 @@ async function addCoverageXdebug(extension, version, os_version, pipe) { return '\n' + xdebug + '\n' + ini + '\n' + log; case /^xdebug$/.test(extension): default: - return '\n' + xdebug + '\n' + log; + return xdebug + '\n' + log; } } exports.addCoverageXdebug = addCoverageXdebug; diff --git a/src/coverage.ts b/src/coverage.ts index 19dccfcb..182c280e 100644 --- a/src/coverage.ts +++ b/src/coverage.ts @@ -34,7 +34,7 @@ export async function addCoverageXdebug( return '\n' + xdebug + '\n' + ini + '\n' + log; case /^xdebug$/.test(extension): default: - return '\n' + xdebug + '\n' + log; + return xdebug + '\n' + log; } } From 248d04f73cc39b71071f47b0ab5aab5c39d646bc Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Fri, 19 Jun 2020 15:02:23 +0530 Subject: [PATCH 6/6] Bump version to 2.3.1 --- README.md | 3 +- package-lock.json | 356 ++++++++++++++++++++++------------------------ package.json | 14 +- 3 files changed, 181 insertions(+), 192 deletions(-) diff --git a/README.md b/README.md index b2bde785..a7c97b0a 100644 --- a/README.md +++ b/README.md @@ -338,7 +338,8 @@ steps: > Setup PHP on a self-hosted runner. - To setup a dockerized self-hosted runner, refer to this [guide](https://github.com/shivammathur/setup-php/wiki/Dockerized-self-hosted-runner-on-Ubuntu) to setup in an `Ubuntu` container and refer to this [guide](https://github.com/shivammathur/setup-php/wiki/Dockerized-self-hosted-runner-on-Windows) to setup in a `Windows` container. -- To setup the runner directly on the host OS or in a VM, follow this [requirements guide](https://github.com/shivammathur/setup-php/wiki/Requirements-for-self-hosted-runners "Requirements guide for self-hosted runner to run setup-php") before setting up the self-hosted runner. +- To setup the runner directly on the host OS or in a virtual machine, follow this [requirements guide](https://github.com/shivammathur/setup-php/wiki/Requirements-for-self-hosted-runners "Requirements guide for self-hosted runner to run setup-php") before setting up the self-hosted runner. +- If your workflow uses [services](https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idservices "GitHub Actions Services"), then setup the runner on a Linux host or in a Linux virtual machine. GitHub Actions does not support nested virtualization on Linux, so services will not work in a dockerized container. Specify the environment variable `runner` with the value `self-hosted`. Without this your workflow will fail. diff --git a/package-lock.json b/package-lock.json index 1d54641f..f3bfd1d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "setup-php", - "version": "2.3.0", + "version": "2.3.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -310,6 +310,15 @@ "@babel/helper-plugin-utils": "^7.10.1" } }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.1.tgz", + "integrity": "sha512-ypC4jwfIVF72og0dgvEcFRdOM2V9Qm1tu7RGmdZOlhsccyK0wisXmMObGuWEOd5jQ+K9wcIgSNftCpk2vkjUfQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -538,9 +547,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -597,9 +606,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -641,9 +650,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -678,9 +687,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -713,9 +722,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -770,9 +779,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -817,9 +826,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -877,9 +886,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -981,9 +990,9 @@ } }, "@types/istanbul-lib-coverage": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz", - "integrity": "sha512-rsZg7eL+Xcxsxk2XlBt9KcG8nOp9iYdKCOikY9x2RFJCyOdNj4MKPQty0e8oZr29vVAzKXr1BmR+kZauti3o1w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", "dev": true }, "@types/istanbul-lib-report": { @@ -1006,9 +1015,9 @@ } }, "@types/jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", - "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.0.tgz", + "integrity": "sha512-/yeMsH9HQ1RLORlXAwoLXe8S98xxvhNtUz3yrgrwbaxYjT+6SFPZZRksmRKRA6L5vsUtSHeN71viDOTTyYAD+g==", "dev": true, "requires": { "jest-diff": "^25.2.1", @@ -1016,9 +1025,9 @@ } }, "@types/json-schema": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", - "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", + "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", "dev": true }, "@types/json5": { @@ -1028,9 +1037,9 @@ "dev": true }, "@types/node": { - "version": "14.0.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.12.tgz", - "integrity": "sha512-/sjzehvjkkpvLpYtN6/2dv5kg41otMGuHQUt9T2aiAuIfleCQRQHXXzF1eAw/qkZTj5Kcf4JSTf7EIizHocy6Q==", + "version": "14.0.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.13.tgz", + "integrity": "sha512-rouEWBImiRaSJsVA+ITTFM6ZxibuAlTuNOCyxVbwreu6k6+ujs7DfnU9o+PShFhET78pMBl3eH+AGSI5eOTkPA==", "dev": true }, "@types/normalize-package-data": { @@ -1073,12 +1082,12 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.2.0.tgz", - "integrity": "sha512-t9RTk/GyYilIXt6BmZurhBzuMT9kLKw3fQoJtK9ayv0tXTlznXEAnx07sCLXdkN3/tZDep1s1CEV95CWuARYWA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.3.0.tgz", + "integrity": "sha512-Ybx/wU75Tazz6nU2d7nN6ll0B98odoiYLXwcuwS5WSttGzK46t0n7TPRQ4ozwcTv82UY6TQoIvI+sJfTzqK9dQ==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "3.2.0", + "@typescript-eslint/experimental-utils": "3.3.0", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.0.0", "semver": "^7.3.2", @@ -1086,33 +1095,33 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.2.0.tgz", - "integrity": "sha512-UbJBsk+xO9dIFKtj16+m42EvUvsjZbbgQ2O5xSTSfVT1Z3yGkL90DVu0Hd3029FZ5/uBgl+F3Vo8FAcEcqc6aQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.3.0.tgz", + "integrity": "sha512-d4pGIAbu/tYsrPrdHCQ5xfadJGvlkUxbeBB56nO/VGmEDi/sKmfa5fGty5t5veL1OyJBrUmSiRn1R1qfVDydrg==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "3.2.0", + "@typescript-eslint/typescript-estree": "3.3.0", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" } }, "@typescript-eslint/parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.2.0.tgz", - "integrity": "sha512-Vhu+wwdevDLVDjK1lIcoD6ZbuOa93fzqszkaO3iCnmrScmKwyW/AGkzc2UvfE5TCoCXqq7Jyt6SOXjsIlpqF4A==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.3.0.tgz", + "integrity": "sha512-a7S0Sqn/+RpOOWTcaLw6RD4obsharzxmgMfdK24l364VxuBODXjuJM7ImCkSXEN7oz52aiZbXSbc76+2EsE91w==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "3.2.0", - "@typescript-eslint/typescript-estree": "3.2.0", + "@typescript-eslint/experimental-utils": "3.3.0", + "@typescript-eslint/typescript-estree": "3.3.0", "eslint-visitor-keys": "^1.1.0" } }, "@typescript-eslint/typescript-estree": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.2.0.tgz", - "integrity": "sha512-uh+Y2QO7dxNrdLw7mVnjUqkwO/InxEqwN0wF+Za6eo3coxls9aH9kQ/5rSvW2GcNanebRTmsT5w1/92lAOb1bA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.3.0.tgz", + "integrity": "sha512-3SqxylENltEvJsjjMSDCUx/edZNSC7wAqifUU1Ywp//0OWEZwMZJfecJud9XxJ/40rAKEbJMKBOQzeOjrLJFzQ==", "dev": true, "requires": { "debug": "^4.1.1", @@ -1137,9 +1146,9 @@ "dev": true }, "acorn": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz", - "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", + "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", "dev": true }, "acorn-globals": { @@ -1159,9 +1168,9 @@ "dev": true }, "acorn-walk": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", - "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true }, "ajv": { @@ -1353,9 +1362,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -1389,14 +1398,15 @@ } }, "babel-preset-current-node-syntax": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz", - "integrity": "sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz", + "integrity": "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==", "dev": true, "requires": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -2008,22 +2018,22 @@ } }, "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", "object-inspect": "^1.7.0", "object-keys": "^1.1.1", "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" } }, "es-to-primitive": { @@ -2142,9 +2152,9 @@ }, "dependencies": { "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -2163,9 +2173,9 @@ } }, "eslint-import-resolver-node": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz", - "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, "requires": { "debug": "^2.6.9", @@ -2217,9 +2227,9 @@ } }, "eslint-plugin-import": { - "version": "2.21.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.21.1.tgz", - "integrity": "sha512-qYOOsgUv63vHof7BqbzuD+Ud34bXHxFJxntuAC1ZappFZXYbRIek3aJ7jc9i2dHDGDyZ/0zlO0cpioES265Lsw==", + "version": "2.21.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.21.2.tgz", + "integrity": "sha512-FEmxeGI6yaz+SnEB6YgNHlQK1Bs2DKLM+YF+vuTk5H8J9CLbJLtlPvRFgZZ2+sXiKAlN5dpdlrWOjK8ZoZJpQA==", "dev": true, "requires": { "array-includes": "^3.1.1", @@ -2303,9 +2313,9 @@ } }, "eslint-plugin-prettier": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz", - "integrity": "sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz", + "integrity": "sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" @@ -2322,9 +2332,9 @@ } }, "eslint-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", - "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" @@ -2546,9 +2556,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -3068,9 +3078,9 @@ }, "dependencies": { "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -3255,9 +3265,9 @@ "dev": true }, "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.2.0.tgz", + "integrity": "sha512-E0c4rPwr9ByePfNlTIB8z51kK1s2n6jrHuJeEHENl/sbq2G/S1auvibgEwNR4uSyiU+PiYHqSwsgGiXjG8p5ZQ==", "dev": true, "requires": { "ansi-escapes": "^4.2.1", @@ -3592,9 +3602,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -3648,9 +3658,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -3739,9 +3749,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -3801,9 +3811,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -3877,9 +3887,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -3933,9 +3943,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -3970,9 +3980,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4021,9 +4031,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4070,9 +4080,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4116,9 +4126,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4170,9 +4180,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4246,9 +4256,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4279,9 +4289,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4331,9 +4341,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4458,9 +4468,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4509,9 +4519,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4567,9 +4577,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4629,9 +4639,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4702,9 +4712,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4746,9 +4756,9 @@ "dev": true }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4802,9 +4812,9 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -5296,9 +5306,9 @@ } }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", "dev": true }, "object-keys": { @@ -6458,28 +6468,6 @@ "es-abstract": "^1.17.5" } }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" - } - }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" - } - }, "string.prototype.trimstart": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", diff --git a/package.json b/package.json index dfb511bd..4c08b2ac 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "setup-php", - "version": "2.3.0", + "version": "2.3.1", "private": false, "description": "Setup PHP for use with GitHub Actions", "main": "dist/index.js", @@ -30,16 +30,16 @@ "fs": "0.0.1-security" }, "devDependencies": { - "@types/jest": "^25.2.3", - "@types/node": "^14.0.12", - "@typescript-eslint/eslint-plugin": "^3.2.0", - "@typescript-eslint/parser": "^3.2.0", + "@types/jest": "^26.0.0", + "@types/node": "^14.0.13", + "@typescript-eslint/eslint-plugin": "^3.3.0", + "@typescript-eslint/parser": "^3.3.0", "@zeit/ncc": "^0.22.3", "eslint": "^7.2.0", "eslint-config-prettier": "^6.11.0", - "eslint-plugin-import": "^2.21.1", + "eslint-plugin-import": "^2.21.2", "eslint-plugin-jest": "^23.13.2", - "eslint-plugin-prettier": "^3.1.3", + "eslint-plugin-prettier": "^3.1.4", "husky": "^4.2.5", "jest": "^26.0.1", "jest-circus": "^26.0.1",