diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 2a0e4fdb8..ba2c71861 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -8,7 +8,7 @@ Please note that this project is released with a [Contributor Code of Conduct](C
* Fork the project.
* Make your bug fix or feature addition.
-* Add tests for it. This is important so we don't break it in a future version unintentionally.
+* Add tests for it, so we don't break it in a future version unintentionally.
* If editing the scripts, create a demo integration test.
* Send a pull request to the develop branch with all the details.
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index ec175d389..09e78faa7 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -11,7 +11,7 @@ assignees: 'shivammathur'
**Version**
-- [ ] I have checked releases and the bug exists in the latest patch version of `v1` or `v2`.
+- [ ] I have checked releases, and the bug exists in the latest patch version of `v1` or `v2`.
- [ ] `v2`
- [ ] `v1`
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index 0d22598ea..c88e80706 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -11,7 +11,7 @@ assignees: 'shivammathur'
**Version**
-- [ ] I have checked releases and the feature is missing in the latest patch version of `v2`.
+- [ ] I have checked releases, and the feature is missing in the latest patch version of `v2`.
**Underlying issue**
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 624739194..6eb548a2c 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -5,12 +5,12 @@ labels: bug or enhancement
---
-## A Pull Request should be associated with an Issue.
+## A Pull Request should be associated with a Discussion.
-> If you're fixing a bug, adding a new feature or improving something please provide the details in Issues,
+> If you're fixing a bug, adding a new feature or improving something please provide the details in discussions,
> so that the development can be pointed in the intended direction.
-Related issue:
+Related discussion:
> Further notes in [Contribution Guidelines](.github/CONTRIBUTING.md)
> Thank you for your contribution.
diff --git a/.github/SECURITY.md b/.github/SECURITY.md
index d303e78ee..7da35960c 100644
--- a/.github/SECURITY.md
+++ b/.github/SECURITY.md
@@ -7,7 +7,7 @@ The following versions of this project are supported for security updates.
| Version | Supported |
| ------- | ------------------ |
| 1.9.x | :white_check_mark: |
-| 2.5.x | :white_check_mark: |
+| 2.6.x | :white_check_mark: |
## Supported PHP Versions
diff --git a/README.md b/README.md
index 53e9f9cde..177514ebb 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
-
+
@@ -168,7 +168,7 @@ Both `GitHub-hosted` runners and `self-hosted` runners are supported on the foll
These tools can be setup globally using the `tools` input.
-`blackfire`, `blackfire-player`, `codeception`, `composer`, `composer-normalize`, `composer-prefetcher`, `composer-require-checker`, `composer-unused`, `cs2pr`, `deployer`, `flex`, `grpc_php_plugin`, `infection`, `pecl`, `phan`, `phing`, `phinx`, `phive`, `phpcbf`, `phpcpd`, `php-config`, `php-cs-fixer`, `phpcs`, `phpize`, `phpmd`, `phpstan`, `phpunit`, `prestissimo`, `protoc`, `psalm`, `symfony`, `vapor-cli`
+`behat`, `blackfire`, `blackfire-player`, `codeception`, `composer`, `composer-normalize`, `composer-prefetcher`, `composer-require-checker`, `composer-unused`, `cs2pr`, `deployer`, `flex`, `grpc_php_plugin`, `infection`, `pecl`, `phan`, `phing`, `phinx`, `phive`, `phpcbf`, `phpcpd`, `php-config`, `php-cs-fixer`, `phpcs`, `phpize`, `phpmd`, `phpspec`, `phpstan`, `phpunit`, `prestissimo`, `protoc`, `psalm`, `symfony`, `vapor-cli`
```yaml
- name: Setup PHP with tools
@@ -204,6 +204,7 @@ For example to setup `PHPUnit` on `PHP 7.2`.
```
**Notes**
+- This is useful to set up tools which you only use in GitHub Actions, thus keeping your `composer.json` tidy.
- If you have a tool in your `composer.json`, do not setup it globally using this action as the two instances of the tool might conflict.
- Tools which cannot be setup gracefully leave an error message in the logs, the action is not interrupted.
@@ -275,6 +276,7 @@ Consider disabling the coverage using this PHP action for these reasons.
- Specify the PHP version you want to setup.
- Accepts a `string`. For example `'7.4'`.
+- Accepts `latest` to set up the latest stable PHP version.
- See [PHP support](#tada-php-support) for supported PHP versions.
#### `extensions` (optional)
@@ -564,9 +566,11 @@ If you have a number of workflows which setup multiple tools or have many compos
### Problem Matchers
+Problem matchers are `json` configurations which identify errors and warnings in your logs and surface that information prominently in the GitHub Actions UI by highlighting them and creating code annotations.
+
#### PHP
-Setup problem matchers for your `PHP` output by adding this step after the `setup-php` step. This will scan the logs for PHP errors and warnings, and surface them prominently in the GitHub Actions UI by creating annotations and log file decorations.
+Setup problem matchers for your `PHP` output by adding this step after the `setup-php` step.
```yaml
- name: Setup problem matchers for PHP
@@ -575,29 +579,59 @@ Setup problem matchers for your `PHP` output by adding this step after the `setu
#### PHPUnit
-Setup problem matchers for your `PHPUnit` output by adding this step after the `setup-php` step. This will scan the logs for failing tests and surface that information prominently in the GitHub Actions UI by creating annotations and log file decorations.
+Setup problem matchers for your `PHPUnit` output by adding this step after the `setup-php` step.
```yaml
- name: Setup problem matchers for PHPUnit
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
```
-#### Other Tools
+#### PHPStan
+
+PHPStan supports error reporting in GitHub Actions, so no problem matchers are required.
+
+```yaml
+- name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: '7.4'
+ tools: phpstan
+
+- name: Run PHPStan
+ run: phpstan analyse src
+```
+
+#### Psalm
+
+Psalm supports error reporting in GitHub Actions with an output format `github`.
+
+```yaml
+- name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: '7.4'
+ tools: psalm
+
+- name: Run Psalm
+ run: psalm --output-format=github
+```
+
+#### Tools with checkstyle support
For tools that support `checkstyle` reporting like `phpstan`, `psalm`, `php-cs-fixer` and `phpcs` you can use `cs2pr` to annotate your code.
-For examples refer to [cs2pr documentation](https://github.com/staabm/annotate-pull-request-from-checkstyle).
+For examples refer to [cs2pr documentation](https://github.com/staabm/annotate-pull-request-from-checkstyle).
-> Here is an example with `phpstan`.
+> Here is an example with `phpcs`.
```yaml
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
- tools: cs2pr, phpstan
+ tools: cs2pr, phpcs
-- name: PHPStan
- run: phpstan analyse src --error-format=checkstyle | cs2pr
+- name: Run phpcs
+ run: phpcs -q --report=checkstyle src | cs2pr
```
### Examples
diff --git a/__tests__/install.test.ts b/__tests__/install.test.ts
index 8bccd293f..ffc1ca121 100644
--- a/__tests__/install.test.ts
+++ b/__tests__/install.test.ts
@@ -1,10 +1,11 @@
import * as install from '../src/install';
+import * as utils from '../src/utils';
/**
* Mock install.ts
*/
jest.mock('../src/install', () => ({
- build: jest.fn().mockImplementation(
+ getScript: jest.fn().mockImplementation(
async (
filename: string,
version: string,
@@ -39,24 +40,18 @@ jest.mock('../src/install', () => ({
run: jest.fn().mockImplementation(
async (): Promise => {
const os_version: string = process.env['RUNNER_OS'] || '';
- let version: string = process.env['php-version'] || '';
- version = version.length > 1 ? version.slice(0, 3) : version + '.0';
- let script = '';
- switch (os_version) {
- case 'darwin':
- case 'linux':
- script = await install.build(os_version + '.sh', version, os_version);
- script += 'bash script.sh ' + version + ' ' + __dirname;
- break;
- case 'win32':
- script = await install.build(os_version + '.sh', version, os_version);
- script += 'pwsh script.ps1 ' + version + ' ' + __dirname;
- break;
- default:
- script += os_version + ' is not supported';
- }
-
- return script;
+ const version: string = await utils.parseVersion(
+ await utils.getInput('php-version', true)
+ );
+ const tool = await utils.scriptTool(os_version);
+ const filename = os_version + (await utils.scriptExtension(os_version));
+ return [
+ await install.getScript(filename, version, os_version),
+ tool,
+ filename,
+ version,
+ __dirname
+ ].join(' ');
}
)
}));
@@ -93,13 +88,13 @@ describe('Install', () => {
let script: string = '' + (await install.run());
expect(script).toContain('initial script');
- expect(script).toContain('pwsh script.ps1 7.0 ' + __dirname);
+ expect(script).toContain('pwsh win32.ps1 7.0 ' + __dirname);
setEnv('7.3', 'win32', '', '', '', '');
script = '' + (await install.run());
expect(script).toContain('initial script');
- expect(script).toContain('pwsh script.ps1 7.3 ' + __dirname);
+ expect(script).toContain('pwsh win32.ps1 7.3 ' + __dirname);
setEnv('7.3', 'win32', 'a, b', 'a=b', 'x', '');
@@ -108,7 +103,7 @@ describe('Install', () => {
expect(script).toContain('install extensions');
expect(script).toContain('edit php.ini');
expect(script).toContain('set coverage driver');
- expect(script).toContain('pwsh script.ps1 7.3 ' + __dirname);
+ expect(script).toContain('pwsh win32.ps1 7.3 ' + __dirname);
});
it('Test install on linux', async () => {
@@ -116,7 +111,13 @@ describe('Install', () => {
let script: string = '' + (await install.run());
expect(script).toContain('initial script');
- expect(script).toContain('bash script.sh 7.3 ');
+ expect(script).toContain('bash linux.sh 7.3 ');
+
+ setEnv('latest', 'linux', '', '', '', '');
+
+ script = '' + (await install.run());
+ expect(script).toContain('initial script');
+ expect(script).toContain('bash linux.sh 7.4 ');
setEnv('7.3', 'linux', 'a, b', 'a=b', 'x', 'phpunit');
@@ -125,7 +126,7 @@ describe('Install', () => {
expect(script).toContain('install extensions');
expect(script).toContain('edit php.ini');
expect(script).toContain('set coverage driver');
- expect(script).toContain('bash script.sh 7.3');
+ expect(script).toContain('bash linux.sh 7.3');
expect(script).toContain('add_tool');
});
@@ -134,7 +135,7 @@ describe('Install', () => {
let script: string = '' + (await install.run());
expect(script).toContain('initial script');
- expect(script).toContain('bash script.sh 7.3 ' + __dirname);
+ expect(script).toContain('bash darwin.sh 7.3 ' + __dirname);
setEnv('7.3', 'darwin', 'a, b', 'a=b', 'x', '');
@@ -143,7 +144,7 @@ describe('Install', () => {
expect(script).toContain('install extensions');
expect(script).toContain('edit php.ini');
expect(script).toContain('set coverage driver');
- expect(script).toContain('bash script.sh 7.3 ' + __dirname);
+ expect(script).toContain('bash darwin.sh 7.3 ' + __dirname);
});
it('Test malformed version inputs', async () => {
@@ -151,18 +152,18 @@ describe('Install', () => {
let script: string = '' + '' + (await install.run());
expect(script).toContain('initial script');
- expect(script).toContain('bash script.sh 7.4 ' + __dirname);
+ expect(script).toContain('bash darwin.sh 7.4 ' + __dirname);
setEnv(8.0, 'darwin', '', '', '', '');
script = '' + (await install.run());
expect(script).toContain('initial script');
- expect(script).toContain('bash script.sh 8.0 ' + __dirname);
+ expect(script).toContain('bash darwin.sh 8.0 ' + __dirname);
setEnv(8, 'darwin', '', '', '', '');
script = '' + (await install.run());
expect(script).toContain('initial script');
- expect(script).toContain('bash script.sh 8.0 ' + __dirname);
+ expect(script).toContain('bash darwin.sh 8.0 ' + __dirname);
});
});
diff --git a/__tests__/matchers.test.ts b/__tests__/matchers.test.ts
deleted file mode 100644
index 780ac2bb5..000000000
--- a/__tests__/matchers.test.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import * as io from '@actions/io';
-import * as matchers from '../src/matchers';
-
-jest.mock('@actions/io');
-
-describe('Matchers', () => {
- it('Add matchers', async () => {
- process.env['RUNNER_TOOL_CACHE'] = __dirname;
- await matchers.addMatchers();
- const spy = jest.spyOn(io, 'cp');
- expect(spy).toHaveBeenCalledTimes(2);
- });
-
- it('Test PHPUnit Regex', async () => {
- const regex1 = /^\d+\)\s.*$/;
- const regex2 = /^(.*Failed\sasserting\sthat.*)$/;
- const regex3 = /^\s*$/;
- const regex4 = /^(.*):(\d+)$/;
- expect(regex1.test('1) Tests\\Test::it_tests')).toBe(true);
- expect(regex2.test('Failed asserting that false is true')).toBe(true);
- expect(regex3.test('\n')).toBe(true);
- expect(regex4.test('/path/to/file.php:42')).toBe(true);
- });
-
- it('Test PHP Regex', async () => {
- const regex1 = /^(.*error):\s+\s+(.+) in (.+) on line (\d+)$/;
- const regex2 = /^(.*Warning|.*Deprecated|.*Notice):\s+\s+(.+) in (.+) on line (\d+)$/;
- expect(
- regex1.test('PHP Parse error: error_message in file.php on line 10')
- ).toBe(true);
- expect(
- regex2.test('PHP Notice: info_message in file.php on line 10')
- ).toBe(true);
- expect(
- regex2.test('PHP Warning: warning_message in file.php on line 10')
- ).toBe(true);
- expect(
- regex2.test('PHP Deprecated: deprecated_message in file.php on line 10')
- ).toBe(true);
- });
-});
diff --git a/__tests__/tools.test.ts b/__tests__/tools.test.ts
index 79a62574e..d8009e64a 100644
--- a/__tests__/tools.test.ts
+++ b/__tests__/tools.test.ts
@@ -277,14 +277,19 @@ describe('Tools tests', () => {
it('checking getCleanedToolsList', async () => {
const tools_list: string[] = await tools.getCleanedToolsList(
- 'tool, composer:1.2.3, robmorgan/phinx, hirak/prestissimo, narrowspark/automatic-composer-prefetcher'
+ 'tool, composer:1.2.3, behat/behat, icanhazstring/composer-unused, laravel/vapor-cli, robmorgan/phinx, hirak/prestissimo, narrowspark/automatic-composer-prefetcher, phpspec/phpspec, symfony/flex'
);
expect(tools_list).toStrictEqual([
'composer',
'tool',
+ 'behat',
+ 'composer-unused',
+ 'vapor-cli',
'phinx',
'prestissimo',
- 'composer-prefetcher'
+ 'composer-prefetcher',
+ 'phpspec',
+ 'flex'
]);
});
@@ -301,44 +306,46 @@ describe('Tools tests', () => {
let script: string = await tools.addArchive(
'tool',
'https://tool.com/tool.phar',
- 'linux'
+ 'linux',
+ '-v'
);
expect(script).toContain('add_tool https://tool.com/tool.phar tool');
script = await tools.addArchive(
'tool',
'https://tool.com/tool.phar',
- 'darwin'
+ 'darwin',
+ '-v'
);
expect(script).toContain('add_tool https://tool.com/tool.phar tool');
script = await tools.addArchive(
'tool',
'https://tool.com/tool.phar',
- 'win32'
+ 'win32',
+ '-v'
);
expect(script).toContain('Add-Tool https://tool.com/tool.phar tool');
script = await tools.addArchive(
'tool',
'https://tool.com/tool.phar',
- 'openbsd'
+ 'openbsd',
+ '-v'
);
expect(script).toContain('Platform openbsd is not supported');
});
it('checking addDevTools', async () => {
let script: string = await tools.addDevTools('phpize', 'linux');
- expect(script).toContain('add_devtools');
- expect(script).toContain('add_log "$tick" "phpize" "Added"');
+ expect(script).toContain('add_devtools phpize');
script = await tools.addDevTools('php-config', 'linux');
- expect(script).toContain('add_devtools');
- expect(script).toContain('add_log "$tick" "php-config" "Added"');
+ expect(script).toContain('add_devtools php-config');
script = await tools.addDevTools('phpize', 'darwin');
- expect(script).toContain('add_log "$tick" "phpize" "Added"');
+ expect(script).toContain('add_devtools phpize');
script = await tools.addDevTools('php-config', 'darwin');
- expect(script).toContain('add_log "$tick" "php-config" "Added"');
+ expect(script).toContain('add_devtools php-config');
script = await tools.addDevTools('phpize', 'win32');
expect(script).toContain(
@@ -381,34 +388,34 @@ describe('Tools tests', () => {
);
expect(script).toContain('add_blackfire');
expect(script).toContain(
- 'add_tool https://get.blackfire.io/blackfire-player.phar blackfire-player'
+ 'add_tool https://get.blackfire.io/blackfire-player.phar blackfire-player "-V"'
);
expect(script).toContain(
'add_tool https://github.com/shivammathur/composer-cache/releases/latest/download/composer-stable.phar,https://getcomposer.org/composer-stable.phar composer'
);
expect(script).toContain(
- 'add_tool https://github.com/staabm/annotate-pull-request-from-checkstyle/releases/latest/download/cs2pr cs2pr'
+ 'add_tool https://github.com/staabm/annotate-pull-request-from-checkstyle/releases/latest/download/cs2pr cs2pr "-V"'
);
expect(script).toContain(
- 'add_tool https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/latest/download/php-cs-fixer.phar php-cs-fixer'
+ 'add_tool https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/latest/download/php-cs-fixer.phar php-cs-fixer "-V"'
);
expect(script).toContain(
- 'add_tool https://github.com/phpstan/phpstan/releases/latest/download/phpstan.phar phpstan'
+ 'add_tool https://github.com/phpstan/phpstan/releases/latest/download/phpstan.phar phpstan "-V"'
);
expect(script).toContain(
- 'add_tool https://www.phing.info/get/phing-latest.phar phing'
+ 'add_tool https://www.phing.info/get/phing-latest.phar phing "-v"'
);
expect(script).toContain(
- 'add_tool https://phar.io/releases/phive.phar phive'
+ 'add_tool https://phar.io/releases/phive.phar phive status'
);
expect(script).toContain(
- 'add_tool https://phar.phpunit.de/phpunit.phar phpunit'
+ 'add_tool https://phar.phpunit.de/phpunit.phar phpunit "--version"'
);
expect(script).toContain(
- 'add_tool https://github.com/symfony/cli/releases/latest/download/symfony_linux_amd64 symfony'
+ 'add_tool https://github.com/symfony/cli/releases/latest/download/symfony_linux_amd64 symfony version'
);
expect(script).toContain(
- 'add_tool https://github.com/wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true wp-cli'
+ 'add_tool https://github.com/wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true wp-cli "--version"'
);
expect(script).toContain('add_protoc latest');
expect(script).toContain('add_grpc_php_plugin latest');
@@ -417,12 +424,12 @@ describe('Tools tests', () => {
expect(script).toContain('add_composertool phinx phinx robmorgan/');
expect(script).toContain('add_composertool phplint phplint overtrue/');
expect(script).toContain('add_composertool phinx phinx:1.2.3 robmorgan/');
- expect(script).toContain('add_devtools');
- expect(script).toContain('add_log "$tick" "php-config" "Added"');
- expect(script).toContain('add_log "$tick" "phpize" "Added"');
+ expect(script).toContain('add_devtools php-config');
+ expect(script).toContain('add_devtools phpize');
});
it('checking addTools on darwin', async () => {
const listOfTools = [
+ 'behat',
'blackfire',
'blackfire-player',
'composer-normalize',
@@ -444,6 +451,7 @@ describe('Tools tests', () => {
'phpcs',
'phpize',
'phpmd',
+ 'phpspec',
'protoc:v1.2.3',
'psalm',
'symfony',
@@ -460,72 +468,74 @@ describe('Tools tests', () => {
expect(script).toContain('add_blackfire');
expect(script).toContain(
- 'add_tool https://get.blackfire.io/blackfire-player.phar blackfire-player'
+ 'add_tool https://get.blackfire.io/blackfire-player.phar blackfire-player "-V"'
);
expect(script).toContain(
'add_tool https://github.com/shivammathur/composer-cache/releases/latest/download/composer-stable.phar,https://getcomposer.org/composer-stable.phar composer'
);
expect(script).toContain(
- 'add_tool https://github.com/ergebnis/composer-normalize/releases/latest/download/composer-normalize.phar composer-normalize'
+ 'add_tool https://github.com/ergebnis/composer-normalize/releases/latest/download/composer-normalize.phar composer-normalize "-V"'
);
expect(script).toContain(
- 'add_tool https://github.com/maglnet/ComposerRequireChecker/releases/latest/download/composer-require-checker.phar composer-require-checker'
+ 'add_tool https://github.com/maglnet/ComposerRequireChecker/releases/latest/download/composer-require-checker.phar composer-require-checker "-V"'
);
expect(script).toContain(
- 'add_tool https://github.com/composer-unused/composer-unused/releases/latest/download/composer-unused.phar composer-unused'
+ 'add_tool https://github.com/staabm/annotate-pull-request-from-checkstyle/releases/download/1.2.3/cs2pr cs2pr "-V"'
);
expect(script).toContain(
- 'add_tool https://github.com/staabm/annotate-pull-request-from-checkstyle/releases/download/1.2.3/cs2pr cs2pr'
+ 'add_tool https://github.com/infection/infection/releases/latest/download/infection.phar infection "-V"'
);
expect(script).toContain(
- 'add_tool https://github.com/infection/infection/releases/latest/download/infection.phar infection'
+ 'add_tool https://github.com/phan/phan/releases/latest/download/phan.phar phan "-v"'
);
expect(script).toContain(
- 'add_tool https://github.com/phan/phan/releases/latest/download/phan.phar phan'
+ 'add_tool https://www.phing.info/get/phing-1.2.3.phar phing "-v"'
);
expect(script).toContain(
- 'add_tool https://www.phing.info/get/phing-1.2.3.phar phing'
+ 'add_tool https://github.com/squizlabs/PHP_CodeSniffer/releases/latest/download/phpcs.phar phpcs "--version"'
);
expect(script).toContain(
- 'add_tool https://github.com/squizlabs/PHP_CodeSniffer/releases/latest/download/phpcs.phar phpcs'
+ 'add_tool https://github.com/squizlabs/PHP_CodeSniffer/releases/latest/download/phpcbf.phar phpcbf "--version"'
);
expect(script).toContain(
- 'add_tool https://github.com/squizlabs/PHP_CodeSniffer/releases/latest/download/phpcbf.phar phpcbf'
+ 'add_tool https://phar.phpunit.de/phpcpd.phar phpcpd "--version"'
);
expect(script).toContain(
- 'add_tool https://phar.phpunit.de/phpcpd.phar phpcpd'
+ 'add_tool https://github.com/phpmd/phpmd/releases/latest/download/phpmd.phar phpmd "--version"'
);
expect(script).toContain(
- 'add_tool https://github.com/phpmd/phpmd/releases/latest/download/phpmd.phar phpmd'
- );
- expect(script).toContain(
- 'https://github.com/vimeo/psalm/releases/latest/download/psalm.phar psalm'
+ 'https://github.com/vimeo/psalm/releases/latest/download/psalm.phar psalm "-v"'
);
expect(script).toContain('add_grpc_php_plugin 1.2.3');
expect(script).toContain('add_protoc 1.2.3');
+ expect(script).toContain('add_composertool behat behat behat/');
+ expect(script).toContain('add_composertool phpspec phpspec phpspec/');
expect(script).toContain('add_composertool vapor-cli vapor-cli laravel/');
expect(script).toContain('add_composertool flex flex symfony/');
expect(script).toContain('add_composertool phinx phinx robmorgan/');
expect(script).toContain(
- 'add_tool https://github.com/phan/phan/releases/download/2.7.2/phan.phar phan'
+ 'add_tool https://github.com/phan/phan/releases/download/2.7.2/phan.phar phan "-v"'
);
expect(script).toContain(
'add_tool https://github.com/phar-io/phive/releases/download/1.2.3/phive-1.2.3.phar phive'
);
+ expect(script).toContain(
+ 'add_composertool composer-unused composer-unused icanhazstring/'
+ );
expect(script).toContain(
'add_composertool composer-prefetcher composer-prefetcher:1.2.3 narrowspark/automatic-'
);
expect(script).toContain(
- 'add_tool https://github.com/symfony/cli/releases/latest/download/symfony_darwin_amd64 symfony'
+ 'add_tool https://github.com/symfony/cli/releases/latest/download/symfony_darwin_amd64 symfony version'
);
expect(script).toContain(
- 'add_tool https://github.com/symfony/cli/releases/download/v1.2.3/symfony_darwin_amd64 symfony'
+ 'add_tool https://github.com/symfony/cli/releases/download/v1.2.3/symfony_darwin_amd64 symfony version'
);
expect(script).toContain(
- 'add_tool https://github.com/wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true wp-cli'
+ 'add_tool https://github.com/wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true wp-cli "--version"'
);
- expect(script).toContain('add_log "$tick" "phpize" "Added"');
- expect(script).toContain('add_log "$tick" "php-config" "Added"');
+ expect(script).toContain('add_devtools phpize');
+ expect(script).toContain('add_devtools php-config');
});
it('checking addTools on windows', async () => {
const listOfTools = [
@@ -554,31 +564,31 @@ describe('Tools tests', () => {
expect(script).toContain('Add-Blackfire');
expect(script).toContain(
- 'Add-Tool https://get.blackfire.io/blackfire-player-v1.8.1.phar blackfire-player'
+ 'Add-Tool https://get.blackfire.io/blackfire-player-v1.8.1.phar blackfire-player "-V"'
);
expect(script).toContain(
'Add-Tool https://github.com/shivammathur/composer-cache/releases/latest/download/composer-stable.phar,https://getcomposer.org/composer-stable.phar composer'
);
expect(script).toContain(
- 'Add-Tool https://github.com/staabm/annotate-pull-request-from-checkstyle/releases/latest/download/cs2pr cs2pr'
+ 'Add-Tool https://github.com/staabm/annotate-pull-request-from-checkstyle/releases/latest/download/cs2pr cs2pr "-V"'
);
expect(script).toContain('Add-Composertool flex flex symfony/');
expect(script).toContain(
- 'Add-Tool https://deployer.org/deployer.phar deployer'
+ 'Add-Tool https://deployer.org/deployer.phar deployer "-V"'
);
expect(script).toContain('Add-Composertool prestissimo prestissimo hirak/');
expect(script).toContain(
- 'Add-Tool https://github.com/phpmd/phpmd/releases/latest/download/phpmd.phar phpmd'
+ 'Add-Tool https://github.com/phpmd/phpmd/releases/latest/download/phpmd.phar phpmd "--version"'
);
expect(script).toContain('Add-Composertool phinx phinx robmorgan/');
expect(script).toContain(
- 'Add-Tool https://github.com/phar-io/phive/releases/download/0.13.2/phive-0.13.2.phar phive'
+ 'Add-Tool https://github.com/phar-io/phive/releases/download/0.13.2/phive-0.13.2.phar phive status'
);
expect(script).toContain(
- 'Add-Tool https://github.com/symfony/cli/releases/latest/download/symfony_windows_amd64.exe symfony'
+ 'Add-Tool https://github.com/symfony/cli/releases/latest/download/symfony_windows_amd64.exe symfony version'
);
expect(script).toContain(
- 'Add-Tool https://github.com/wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true wp-cli'
+ 'Add-Tool https://github.com/wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true wp-cli "--version"'
);
expect(script).toContain('phpize is not a windows tool');
expect(script).toContain('php-config is not a windows tool');
@@ -621,7 +631,7 @@ describe('Tools tests', () => {
script = await tools.addTools('composer:preview', '7.4', 'linux');
expect(script).toContain(
- 'add_tool https://github.com/shivammathur/composer-cache/releases/latest/download/composer-preview.phar,https://getcomposer.org/composer-preview.phar composer'
+ 'add_tool https://github.com/shivammathur/composer-cache/releases/latest/download/composer-preview.phar,https://getcomposer.org/composer-preview.phar composer preview'
);
script = await tools.addTools(
'composer:v1, composer:preview, composer:snapshot',
@@ -629,7 +639,7 @@ describe('Tools tests', () => {
'linux'
);
expect(script).toContain(
- 'add_tool https://github.com/shivammathur/composer-cache/releases/latest/download/composer-snapshot.phar,https://getcomposer.org/composer.phar composer'
+ 'add_tool https://github.com/shivammathur/composer-cache/releases/latest/download/composer-snapshot.phar,https://getcomposer.org/composer.phar composer snapshot'
);
});
});
diff --git a/__tests__/utils.test.ts b/__tests__/utils.test.ts
index d8bd303e7..b7b23430f 100644
--- a/__tests__/utils.test.ts
+++ b/__tests__/utils.test.ts
@@ -17,13 +17,26 @@ async function cleanup(path: string): Promise {
}
describe('Utils tests', () => {
+ it('checking readEnv', async () => {
+ process.env['test'] = 'setup-php';
+ expect(await utils.readEnv('test')).toBe('setup-php');
+ expect(await utils.readEnv('undefined')).toBe('');
+ });
+
it('checking getInput', async () => {
process.env['test'] = 'setup-php';
- process.env['undefined'] = '';
expect(await utils.getInput('test', false)).toBe('setup-php');
- expect(await utils.getInput('undefined', false)).toBe('');
expect(await utils.getInput('setup-php', false)).toBe('setup-php');
expect(await utils.getInput('DoesNotExist', false)).toBe('');
+ expect(async () => {
+ await utils.getInput('DoesNotExist', true);
+ }).rejects.toThrow('Input required and not supplied: DoesNotExist');
+ });
+
+ it('checking parseVersion', async () => {
+ expect(await utils.parseVersion('7')).toBe('7.0');
+ expect(await utils.parseVersion('7.4')).toBe('7.4');
+ expect(await utils.parseVersion('latest')).toBe('7.4');
});
it('checking asyncForEach', async () => {
@@ -196,6 +209,15 @@ describe('Utils tests', () => {
);
});
+ it('checking scriptTool', async () => {
+ expect(await utils.scriptTool('linux')).toBe('bash');
+ expect(await utils.scriptTool('darwin')).toBe('bash');
+ expect(await utils.scriptTool('win32')).toBe('pwsh');
+ expect(await utils.scriptTool('openbsd')).toContain(
+ 'Platform openbsd is not supported'
+ );
+ });
+
it('checking customPackage', async () => {
const script_path: string = path.join('ext', 'pkg.sh');
expect(await utils.customPackage('pkg', 'ext', '1.2.3', 'linux')).toContain(
diff --git a/dist/index.js b/dist/index.js
index 8afc200d7..cf37cf209 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -953,46 +953,29 @@ class ExecState extends events.EventEmitter {
/***/ }),
-/***/ 86:
-/***/ (function(__unusedmodule, exports, __webpack_require__) {
+/***/ 82:
+/***/ (function(__unusedmodule, exports) {
"use strict";
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
+// We use any as a valid input type
+/* eslint-disable @typescript-eslint/no-explicit-any */
Object.defineProperty(exports, "__esModule", { value: true });
-exports.addMatchers = void 0;
-const path = __importStar(__webpack_require__(622));
-const utils = __importStar(__webpack_require__(163));
-const io = __importStar(__webpack_require__(1));
/**
- * Cache json files for problem matchers
+ * Sanitizes an input into a string so it can be passed into issueCommand safely
+ * @param input input to sanitize into a string
*/
-async function addMatchers() {
- const config_path = path.join(__dirname, '..', 'src', 'configs');
- const runner_dir = await utils.getInput('RUNNER_TOOL_CACHE', false);
- await io.cp(path.join(config_path, 'phpunit.json'), runner_dir);
- await io.cp(path.join(config_path, 'php.json'), runner_dir);
+function toCommandValue(input) {
+ if (input === null || input === undefined) {
+ return '';
+ }
+ else if (typeof input === 'string' || input instanceof String) {
+ return input;
+ }
+ return JSON.stringify(input);
}
-exports.addMatchers = addMatchers;
-
+exports.toCommandValue = toCommandValue;
+//# sourceMappingURL=utils.js.map
/***/ }),
@@ -1003,6 +986,42 @@ module.exports = require("os");
/***/ }),
+/***/ 102:
+/***/ (function(__unusedmodule, exports, __webpack_require__) {
+
+"use strict";
+
+// For internal use, subject to change.
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+ result["default"] = mod;
+ return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+// We use any as a valid input type
+/* eslint-disable @typescript-eslint/no-explicit-any */
+const fs = __importStar(__webpack_require__(747));
+const os = __importStar(__webpack_require__(87));
+const utils_1 = __webpack_require__(82);
+function issueCommand(command, message) {
+ const filePath = process.env[`GITHUB_${command}`];
+ if (!filePath) {
+ throw new Error(`Unable to find environment variable for file command ${command}`);
+ }
+ if (!fs.existsSync(filePath)) {
+ throw new Error(`Missing file at path: ${filePath}`);
+ }
+ fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {
+ encoding: 'utf8'
+ });
+}
+exports.issueCommand = issueCommand;
+//# sourceMappingURL=file-command.js.map
+
+/***/ }),
+
/***/ 129:
/***/ (function(module) {
@@ -1035,10 +1054,25 @@ var __importStar = (this && this.__importStar) || function (mod) {
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
-exports.customPackage = exports.scriptExtension = exports.joins = exports.getCommand = exports.getUnsupportedLog = exports.suppressOutput = exports.getExtensionPrefix = exports.CSVArray = exports.extensionArray = exports.writeScript = exports.readScript = exports.addLog = exports.stepLog = exports.log = exports.color = exports.asyncForEach = exports.getInput = void 0;
+exports.customPackage = exports.scriptTool = exports.scriptExtension = exports.joins = exports.getCommand = exports.getUnsupportedLog = exports.suppressOutput = exports.getExtensionPrefix = exports.CSVArray = exports.extensionArray = exports.writeScript = exports.readScript = exports.addLog = exports.stepLog = exports.log = exports.color = exports.asyncForEach = exports.parseVersion = exports.getInput = exports.readEnv = void 0;
const fs = __importStar(__webpack_require__(747));
const path = __importStar(__webpack_require__(622));
const core = __importStar(__webpack_require__(470));
+/**
+ * Function to read environment variable and return a string value.
+ *
+ * @param property
+ */
+async function readEnv(property) {
+ const value = process.env[property];
+ switch (value) {
+ case undefined:
+ return '';
+ default:
+ return value;
+ }
+}
+exports.readEnv = readEnv;
/**
* Function to get inputs from both with and env annotations.
*
@@ -1046,16 +1080,39 @@ const core = __importStar(__webpack_require__(470));
* @param mandatory
*/
async function getInput(name, mandatory) {
- const input = process.env[name];
- switch (input) {
- case '':
- case undefined:
- return core.getInput(name, { required: mandatory });
- default:
+ const input = core.getInput(name);
+ const env_input = await readEnv(name);
+ switch (true) {
+ case input != '':
return input;
+ case input == '' && env_input != '':
+ return env_input;
+ case input == '' && env_input == '' && mandatory:
+ throw new Error(`Input required and not supplied: ${name}`);
+ default:
+ return '';
}
}
exports.getInput = getInput;
+/**
+ * Function to parse PHP version.
+ *
+ * @param version
+ */
+async function parseVersion(version) {
+ switch (version) {
+ case 'latest':
+ return '7.4';
+ default:
+ switch (true) {
+ case version.length > 1:
+ return version.slice(0, 3);
+ default:
+ return version + '.0';
+ }
+ }
+}
+exports.parseVersion = parseVersion;
/**
* Async foreach loop
*
@@ -1307,6 +1364,23 @@ async function scriptExtension(os_version) {
}
}
exports.scriptExtension = scriptExtension;
+/**
+ * Function to get script tool
+ *
+ * @param os_version
+ */
+async function scriptTool(os_version) {
+ switch (os_version) {
+ case 'win32':
+ return 'pwsh';
+ case 'linux':
+ case 'darwin':
+ return 'bash';
+ default:
+ return await log('Platform ' + os_version + ' is not supported', os_version, 'error');
+ }
+}
+exports.scriptTool = scriptTool;
/**
* Function to get script to add tools with custom support.
*
@@ -1348,6 +1422,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
const os = __importStar(__webpack_require__(87));
+const utils_1 = __webpack_require__(82);
/**
* Commands
*
@@ -1401,28 +1476,14 @@ class Command {
return cmdStr;
}
}
-/**
- * Sanitizes an input into a string so it can be passed into issueCommand safely
- * @param input input to sanitize into a string
- */
-function toCommandValue(input) {
- if (input === null || input === undefined) {
- return '';
- }
- else if (typeof input === 'string' || input instanceof String) {
- return input;
- }
- return JSON.stringify(input);
-}
-exports.toCommandValue = toCommandValue;
function escapeData(s) {
- return toCommandValue(s)
+ return utils_1.toCommandValue(s)
.replace(/%/g, '%25')
.replace(/\r/g, '%0D')
.replace(/\n/g, '%0A');
}
function escapeProperty(s) {
- return toCommandValue(s)
+ return utils_1.toCommandValue(s)
.replace(/%/g, '%25')
.replace(/\r/g, '%0D')
.replace(/\n/g, '%0A')
@@ -1456,6 +1517,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
const command_1 = __webpack_require__(431);
+const file_command_1 = __webpack_require__(102);
+const utils_1 = __webpack_require__(82);
const os = __importStar(__webpack_require__(87));
const path = __importStar(__webpack_require__(622));
/**
@@ -1482,9 +1545,17 @@ var ExitCode;
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function exportVariable(name, val) {
- const convertedVal = command_1.toCommandValue(val);
+ const convertedVal = utils_1.toCommandValue(val);
process.env[name] = convertedVal;
- command_1.issueCommand('set-env', { name }, convertedVal);
+ const filePath = process.env['GITHUB_ENV'] || '';
+ if (filePath) {
+ const delimiter = '_GitHubActionsFileCommandDelimeter_';
+ const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`;
+ file_command_1.issueCommand('ENV', commandValue);
+ }
+ else {
+ command_1.issueCommand('set-env', { name }, convertedVal);
+ }
}
exports.exportVariable = exportVariable;
/**
@@ -1500,7 +1571,13 @@ exports.setSecret = setSecret;
* @param inputPath
*/
function addPath(inputPath) {
- command_1.issueCommand('add-path', {}, inputPath);
+ const filePath = process.env['GITHUB_PATH'] || '';
+ if (filePath) {
+ file_command_1.issueCommand('PATH', inputPath);
+ }
+ else {
+ command_1.issueCommand('add-path', {}, inputPath);
+ }
process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
}
exports.addPath = addPath;
@@ -1837,14 +1914,14 @@ async function addPhive(version, os_version) {
switch (version) {
case 'latest':
return ((await utils.getCommand(os_version, 'tool')) +
- 'https://phar.io/releases/phive.phar phive');
+ 'https://phar.io/releases/phive.phar phive status');
default:
return ((await utils.getCommand(os_version, 'tool')) +
'https://github.com/phar-io/phive/releases/download/' +
version +
'/phive-' +
version +
- '.phar phive');
+ '.phar phive status');
}
}
exports.addPhive = addPhive;
@@ -1976,7 +2053,7 @@ async function getCleanedToolsList(tools_csv) {
.map(function (extension) {
return extension
.trim()
- .replace(/-agent|hirak\/|laravel\/|narrowspark\/automatic-|overtrue\/|robmorgan\/|symfony\//, '');
+ .replace(/-agent|behat\/|hirak\/|icanhazstring\/|laravel\/|narrowspark\/automatic-|overtrue\/|phpspec\/|robmorgan\/|symfony\//, '');
})
.filter(Boolean);
return [...new Set(tools_list)];
@@ -1988,9 +2065,11 @@ exports.getCleanedToolsList = getCleanedToolsList;
* @param tool
* @param url
* @param os_version
+ * @param ver_param
*/
-async function addArchive(tool, url, os_version) {
- return (await utils.getCommand(os_version, 'tool')) + url + ' ' + tool;
+async function addArchive(tool, url, os_version, ver_param) {
+ return ((await utils.getCommand(os_version, 'tool')) +
+ (await utils.joins(url, tool, ver_param)));
}
exports.addArchive = addArchive;
/**
@@ -2002,11 +2081,8 @@ exports.addArchive = addArchive;
async function addDevTools(tool, os_version) {
switch (os_version) {
case 'linux':
- return ('add_devtools' +
- '\n' +
- (await utils.addLog('$tick', tool, 'Added', 'linux')));
case 'darwin':
- return await utils.addLog('$tick', tool, 'Added', 'darwin');
+ return 'add_devtools ' + tool;
case 'win32':
return await utils.addLog('$cross', tool, tool + ' is not a windows tool', 'win32');
default:
@@ -2051,24 +2127,28 @@ async function addTools(tools_csv, php_version, os_version) {
case 'protoc':
script += await utils.customPackage(tool, 'tools', version, os_version);
break;
+ case 'behat':
+ case 'phpspec':
+ script += await addPackage(tool, release, tool + '/', os_version);
+ break;
case 'blackfire-player':
url = await getPharUrl('https://get.blackfire.io', tool, 'v', version);
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'codeception':
url =
'https://codeception.com/' +
(await getCodeceptionUri(version, php_version));
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'composer':
url = await getComposerUrl(version);
- script += await addArchive('composer', url, os_version);
+ script += await addArchive('composer', url, os_version, version);
break;
case 'composer-normalize':
uri = await getUri(tool, '.phar', version, 'releases', '', 'download');
url = github + 'ergebnis/composer-normalize/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'composer-prefetcher':
script += await addPackage(tool, release, 'narrowspark/automatic-', os_version);
@@ -2076,39 +2156,37 @@ async function addTools(tools_csv, php_version, os_version) {
case 'composer-require-checker':
uri = await getUri(tool, '.phar', version, 'releases', '', 'download');
url = github + 'maglnet/ComposerRequireChecker/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'composer-unused':
- uri = await getUri(tool, '.phar', version, 'releases', '', 'download');
- url = github + 'composer-unused/composer-unused/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addPackage(tool, release, 'icanhazstring/', os_version);
break;
case 'cs2pr':
uri = await getUri(tool, '', version, 'releases', '', 'download');
url = github + 'staabm/annotate-pull-request-from-checkstyle/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'deployer':
url = await getDeployerUrl(version);
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'flex':
script += await addPackage(tool, release, 'symfony/', os_version);
break;
case 'infection':
url = github + 'infection/infection/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'pecl':
script += await utils.getCommand(os_version, 'pecl');
break;
case 'phan':
url = github + 'phan/phan/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-v"');
break;
case 'phing':
url = 'https://www.phing.info/get/phing-' + version + '.phar';
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-v"');
break;
case 'phinx':
script += await addPackage(tool, release, 'robmorgan/', os_version);
@@ -2123,48 +2201,48 @@ async function addTools(tools_csv, php_version, os_version) {
case 'php-cs-fixer':
uri = await getUri(tool, '.phar', version, 'releases', 'v', 'download');
url = github + 'FriendsOfPHP/PHP-CS-Fixer/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'phpcbf':
case 'phpcs':
url = github + 'squizlabs/PHP_CodeSniffer/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"--version"');
break;
case 'phpcpd':
case 'phpunit':
url = await getPharUrl('https://phar.phpunit.de', tool, '', version);
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"--version"');
break;
case 'phplint':
script += await addPackage(tool, release, 'overtrue/', os_version);
break;
case 'phpmd':
url = github + 'phpmd/phpmd/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"--version"');
break;
case 'phpstan':
url = github + 'phpstan/phpstan/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'prestissimo':
script += await addPackage(tool, release, 'hirak/', os_version);
break;
case 'psalm':
url = github + 'vimeo/psalm/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-v"');
break;
case 'symfony':
case 'symfony-cli':
uri = await getSymfonyUri(version, os_version);
url = github + 'symfony/cli/' + uri;
- script += await addArchive('symfony', url, os_version);
+ script += await addArchive('symfony', url, os_version, 'version');
break;
case 'vapor-cli':
script += await addPackage(tool, release, 'laravel/', os_version);
break;
case 'wp-cli':
url = github + (await getWpCliUrl(version));
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"--version"');
break;
default:
script += await utils.addLog('$cross', tool, 'Tool ' + tool + ' is not supported', os_version);
@@ -2453,7 +2531,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
-exports.run = exports.build = void 0;
+exports.run = exports.getScript = void 0;
const exec_1 = __webpack_require__(986);
const core = __importStar(__webpack_require__(470));
const config = __importStar(__webpack_require__(641));
@@ -2461,7 +2539,6 @@ const coverage = __importStar(__webpack_require__(635));
const extensions = __importStar(__webpack_require__(911));
const tools = __importStar(__webpack_require__(534));
const utils = __importStar(__webpack_require__(163));
-const matchers = __importStar(__webpack_require__(86));
/**
* Build the script
*
@@ -2469,19 +2546,15 @@ const matchers = __importStar(__webpack_require__(86));
* @param version
* @param os_version
*/
-async function build(filename, version, os_version) {
+async function getScript(filename, version, os_version) {
const name = 'setup-php';
- const url = 'setup-php.com/support';
+ const url = 'https://setup-php.com/support';
// taking inputs
- const extension_csv = (await utils.getInput('extensions', false)) ||
- (await utils.getInput('extension', false));
+ const extension_csv = await utils.getInput('extensions', false);
const ini_values_csv = await utils.getInput('ini-values', false);
const coverage_driver = await utils.getInput('coverage', false);
- const pecl = await utils.getInput('pecl', false);
let tools_csv = await utils.getInput('tools', false);
- if (pecl == 'true' ||
- /.*-(beta|alpha|devel|snapshot).*/.test(extension_csv) ||
- /.*-(\d+\.\d+\.\d+).*/.test(extension_csv)) {
+ if (/.*-(beta|alpha|devel|snapshot|\d+\.\d+\.\d+).*/.test(extension_csv)) {
tools_csv = 'pecl, ' + tools_csv;
}
let script = await utils.readScript(filename);
@@ -2499,29 +2572,18 @@ async function build(filename, version, os_version) {
script += '\n' + (await utils.addLog('$tick', name, url, os_version));
return await utils.writeScript(filename, script);
}
-exports.build = build;
+exports.getScript = getScript;
/**
* Run the script
*/
async function run() {
try {
- let version = await utils.getInput('php-version', true);
- version = version.length > 1 ? version.slice(0, 3) : version + '.0';
+ const version = await utils.parseVersion(await utils.getInput('php-version', true));
const os_version = process.platform;
- // check the os version and run the respective script
- let script_path = '';
- switch (os_version) {
- case 'darwin':
- case 'linux':
- script_path = await build(os_version + '.sh', version, os_version);
- await exec_1.exec('bash ' + script_path + ' ' + version + ' ' + __dirname);
- break;
- case 'win32':
- script_path = await build('win32.ps1', version, os_version);
- await exec_1.exec('pwsh ' + script_path + ' ' + version + ' ' + __dirname);
- break;
- }
- await matchers.addMatchers();
+ const tool = await utils.scriptTool(os_version);
+ const script = os_version + (await utils.scriptExtension(os_version));
+ const location = await getScript(script, version, os_version);
+ await exec_1.exec(await utils.joins(tool, location, version, __dirname));
}
catch (error) {
core.setFailed(error.message);
diff --git a/package-lock.json b/package-lock.json
index c604b2ef7..28f10e318 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,13 +1,13 @@
{
"name": "setup-php",
- "version": "2.5.0",
+ "version": "2.6.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@actions/core": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.5.tgz",
- "integrity": "sha512-mwpoNjHSWWh0IiALdDEQi3tru124JKn0yVNziIBzTME8QRv7thwoghVuT1jBRjFvdtoHsqD58IRHy1nf86paRg=="
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz",
+ "integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA=="
},
"@actions/exec": {
"version": "1.0.4",
@@ -547,23 +547,23 @@
"dev": true
},
"@jest/console": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.3.0.tgz",
- "integrity": "sha512-/5Pn6sJev0nPUcAdpJHMVIsA8sKizL2ZkcKPE5+dJrCccks7tcM7c9wbgHudBJbxXLoTbqsHkG1Dofoem4F09w==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.5.0.tgz",
+ "integrity": "sha512-oh59scth4yf8XUgMJb8ruY7BHm0X5JZDNgGGsVnlOt2XQuq9s2NMllIrN4n70Yds+++bjrTGZ9EoOKraaPKPlg==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"@types/node": "*",
"chalk": "^4.0.0",
- "jest-message-util": "^26.3.0",
- "jest-util": "^26.3.0",
+ "jest-message-util": "^26.5.0",
+ "jest-util": "^26.5.0",
"slash": "^3.0.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -595,34 +595,34 @@
}
},
"@jest/core": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.4.2.tgz",
- "integrity": "sha512-sDva7YkeNprxJfepOctzS8cAk9TOekldh+5FhVuXS40+94SHbiicRO1VV2tSoRtgIo+POs/Cdyf8p76vPTd6dg==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.5.0.tgz",
+ "integrity": "sha512-hDtgfzYxnrQn54+0JlbqpXM4+bqDfK0ooMlNE4Nn3VBsB4RbmytAn4/kVVIcMa+aYwRr/fwzWuGJwBETVg1sDw==",
"dev": true,
"requires": {
- "@jest/console": "^26.3.0",
- "@jest/reporters": "^26.4.1",
- "@jest/test-result": "^26.3.0",
- "@jest/transform": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "@jest/console": "^26.5.0",
+ "@jest/reporters": "^26.5.0",
+ "@jest/test-result": "^26.5.0",
+ "@jest/transform": "^26.5.0",
+ "@jest/types": "^26.5.0",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
- "jest-changed-files": "^26.3.0",
- "jest-config": "^26.4.2",
- "jest-haste-map": "^26.3.0",
- "jest-message-util": "^26.3.0",
+ "jest-changed-files": "^26.5.0",
+ "jest-config": "^26.5.0",
+ "jest-haste-map": "^26.5.0",
+ "jest-message-util": "^26.5.0",
"jest-regex-util": "^26.0.0",
- "jest-resolve": "^26.4.0",
- "jest-resolve-dependencies": "^26.4.2",
- "jest-runner": "^26.4.2",
- "jest-runtime": "^26.4.2",
- "jest-snapshot": "^26.4.2",
- "jest-util": "^26.3.0",
- "jest-validate": "^26.4.2",
- "jest-watcher": "^26.3.0",
+ "jest-resolve": "^26.5.0",
+ "jest-resolve-dependencies": "^26.5.0",
+ "jest-runner": "^26.5.0",
+ "jest-runtime": "^26.5.0",
+ "jest-snapshot": "^26.5.0",
+ "jest-util": "^26.5.0",
+ "jest-validate": "^26.5.0",
+ "jest-watcher": "^26.5.0",
"micromatch": "^4.0.2",
"p-each-series": "^2.1.0",
"rimraf": "^3.0.0",
@@ -631,9 +631,9 @@
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -674,21 +674,21 @@
}
},
"@jest/environment": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.3.0.tgz",
- "integrity": "sha512-EW+MFEo0DGHahf83RAaiqQx688qpXgl99wdb8Fy67ybyzHwR1a58LHcO376xQJHfmoXTu89M09dH3J509cx2AA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.5.0.tgz",
+ "integrity": "sha512-0F3G9EyZU2NAP0/c/5EqVx4DmldQtRxj0gMl3p3ciSCdyMiCyDmpdE7O0mKTSiFDyl1kU4TfgEVf0r0vMkmYcw==",
"dev": true,
"requires": {
- "@jest/fake-timers": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "@jest/fake-timers": "^26.5.0",
+ "@jest/types": "^26.5.0",
"@types/node": "*",
- "jest-mock": "^26.3.0"
+ "jest-mock": "^26.5.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -720,23 +720,23 @@
}
},
"@jest/fake-timers": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.3.0.tgz",
- "integrity": "sha512-ZL9ytUiRwVP8ujfRepffokBvD2KbxbqMhrXSBhSdAhISCw3gOkuntisiSFv+A6HN0n0fF4cxzICEKZENLmW+1A==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.5.0.tgz",
+ "integrity": "sha512-sQK6xUembaZ0qLnZpSjJJuJiKvyrjCJhaYjbmatFpj5+cM8h2D7YEkeEBC26BMzvF1O3tNM9OL7roqyBmom0KA==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"@sinonjs/fake-timers": "^6.0.1",
"@types/node": "*",
- "jest-message-util": "^26.3.0",
- "jest-mock": "^26.3.0",
- "jest-util": "^26.3.0"
+ "jest-message-util": "^26.5.0",
+ "jest-mock": "^26.5.0",
+ "jest-util": "^26.5.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -768,20 +768,20 @@
}
},
"@jest/globals": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.4.2.tgz",
- "integrity": "sha512-Ot5ouAlehhHLRhc+sDz2/9bmNv9p5ZWZ9LE1pXGGTCXBasmi5jnYjlgYcYt03FBwLmZXCZ7GrL29c33/XRQiow==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.5.0.tgz",
+ "integrity": "sha512-TCKx3XWR9h/yyhQbz0C1sXkK2e8WJOnkP40T9bewNpf2Ahr1UEyKXnCoQO0JCpXFkWGTXBNo1QAgTQ3+LhXfcA==",
"dev": true,
"requires": {
- "@jest/environment": "^26.3.0",
- "@jest/types": "^26.3.0",
- "expect": "^26.4.2"
+ "@jest/environment": "^26.5.0",
+ "@jest/types": "^26.5.0",
+ "expect": "^26.5.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -813,16 +813,16 @@
}
},
"@jest/reporters": {
- "version": "26.4.1",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.4.1.tgz",
- "integrity": "sha512-aROTkCLU8++yiRGVxLsuDmZsQEKO6LprlrxtAuzvtpbIFl3eIjgIf3EUxDKgomkS25R9ZzwGEdB5weCcBZlrpQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.5.0.tgz",
+ "integrity": "sha512-lUl5bbTHflDO9dQa85ZTHasPBVsyC48t9sg/VN2wC3OJryclFNqN4Xfo2FgnNl/pzCnzO2MVgMyIij5aNkod2w==",
"dev": true,
"requires": {
"@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^26.3.0",
- "@jest/test-result": "^26.3.0",
- "@jest/transform": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "@jest/console": "^26.5.0",
+ "@jest/test-result": "^26.5.0",
+ "@jest/transform": "^26.5.0",
+ "@jest/types": "^26.5.0",
"chalk": "^4.0.0",
"collect-v8-coverage": "^1.0.0",
"exit": "^0.1.2",
@@ -833,10 +833,10 @@
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
"istanbul-reports": "^3.0.2",
- "jest-haste-map": "^26.3.0",
- "jest-resolve": "^26.4.0",
- "jest-util": "^26.3.0",
- "jest-worker": "^26.3.0",
+ "jest-haste-map": "^26.5.0",
+ "jest-resolve": "^26.5.0",
+ "jest-util": "^26.5.0",
+ "jest-worker": "^26.5.0",
"node-notifier": "^8.0.0",
"slash": "^3.0.0",
"source-map": "^0.6.0",
@@ -846,9 +846,9 @@
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -880,9 +880,9 @@
}
},
"@jest/source-map": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.3.0.tgz",
- "integrity": "sha512-hWX5IHmMDWe1kyrKl7IhFwqOuAreIwHhbe44+XH2ZRHjrKIh0LO5eLQ/vxHFeAfRwJapmxuqlGAEYLadDq6ZGQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.5.0.tgz",
+ "integrity": "sha512-jWAw9ZwYHJMe9eZq/WrsHlwF8E3hM9gynlcDpOyCb9bR8wEd9ZNBZCi7/jZyzHxC7t3thZ10gO2IDhu0bPKS5g==",
"dev": true,
"requires": {
"callsites": "^3.0.0",
@@ -891,21 +891,21 @@
}
},
"@jest/test-result": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.3.0.tgz",
- "integrity": "sha512-a8rbLqzW/q7HWheFVMtghXV79Xk+GWwOK1FrtimpI5n1la2SY0qHri3/b0/1F0Ve0/yJmV8pEhxDfVwiUBGtgg==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.5.0.tgz",
+ "integrity": "sha512-CaVXxDQi31LPOsz5/+iajNHQlA1Je/jQ8uYH/lCa6Y/UrkO+sDHeEH3x/inbx06PctVDnTwIlCcBvNNbC4FCvQ==",
"dev": true,
"requires": {
- "@jest/console": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "@jest/console": "^26.5.0",
+ "@jest/types": "^26.5.0",
"@types/istanbul-lib-coverage": "^2.0.0",
"collect-v8-coverage": "^1.0.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -937,34 +937,34 @@
}
},
"@jest/test-sequencer": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.4.2.tgz",
- "integrity": "sha512-83DRD8N3M0tOhz9h0bn6Kl6dSp+US6DazuVF8J9m21WAp5x7CqSMaNycMP0aemC/SH/pDQQddbsfHRTBXVUgog==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.5.0.tgz",
+ "integrity": "sha512-23oofRXqPEy37HyHWIYf7lzzOqtGBkai5erZiL6RgxlyXE7a0lCihf6b5DfAvcD3yUtbXmh3EzpjJDVH57zQrg==",
"dev": true,
"requires": {
- "@jest/test-result": "^26.3.0",
+ "@jest/test-result": "^26.5.0",
"graceful-fs": "^4.2.4",
- "jest-haste-map": "^26.3.0",
- "jest-runner": "^26.4.2",
- "jest-runtime": "^26.4.2"
+ "jest-haste-map": "^26.5.0",
+ "jest-runner": "^26.5.0",
+ "jest-runtime": "^26.5.0"
}
},
"@jest/transform": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.3.0.tgz",
- "integrity": "sha512-Isj6NB68QorGoFWvcOjlUhpkT56PqNIsXKR7XfvoDlCANn/IANlh8DrKAA2l2JKC3yWSMH5wS0GwuQM20w3b2A==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.5.0.tgz",
+ "integrity": "sha512-Kt4WciOruTyTkJ2DZ+xtZiejRj3v22BrXCYZoGRbI0N6Q6tt2HdsWrrEtn6nlK24QWKC389xKkVk4Xr2gWBZQA==",
"dev": true,
"requires": {
"@babel/core": "^7.1.0",
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"babel-plugin-istanbul": "^6.0.0",
"chalk": "^4.0.0",
"convert-source-map": "^1.4.0",
"fast-json-stable-stringify": "^2.0.0",
"graceful-fs": "^4.2.4",
- "jest-haste-map": "^26.3.0",
+ "jest-haste-map": "^26.5.0",
"jest-regex-util": "^26.0.0",
- "jest-util": "^26.3.0",
+ "jest-util": "^26.5.0",
"micromatch": "^4.0.2",
"pirates": "^4.0.1",
"slash": "^3.0.0",
@@ -973,9 +973,9 @@
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -1063,9 +1063,9 @@
}
},
"@types/babel__core": {
- "version": "7.1.9",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz",
- "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==",
+ "version": "7.1.10",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.10.tgz",
+ "integrity": "sha512-x8OM8XzITIMyiwl5Vmo2B1cR1S1Ipkyv4mdlbJjMa1lmuKvKY9FrBbEANIaMlnWn5Rf7uO+rC/VgYabNkE17Hw==",
"dev": true,
"requires": {
"@babel/parser": "^7.1.0",
@@ -1076,18 +1076,18 @@
}
},
"@types/babel__generator": {
- "version": "7.6.1",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz",
- "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==",
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz",
+ "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==",
"dev": true,
"requires": {
"@babel/types": "^7.0.0"
}
},
"@types/babel__template": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz",
- "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==",
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.3.tgz",
+ "integrity": "sha512-uCoznIPDmnickEi6D0v11SBpW0OuVqHJCa7syXqQHy5uktSCreIlt0iglsCnmvz8yCb38hGcWeseA8cWJSwv5Q==",
"dev": true,
"requires": {
"@babel/parser": "^7.1.0",
@@ -1095,20 +1095,14 @@
}
},
"@types/babel__traverse": {
- "version": "7.0.13",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.13.tgz",
- "integrity": "sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ==",
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.15.tgz",
+ "integrity": "sha512-Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A==",
"dev": true,
"requires": {
"@babel/types": "^7.3.0"
}
},
- "@types/color-name": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
- "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
- "dev": true
- },
"@types/graceful-fs": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz",
@@ -1144,9 +1138,9 @@
}
},
"@types/jest": {
- "version": "26.0.13",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.13.tgz",
- "integrity": "sha512-sCzjKow4z9LILc6DhBvn5AkIfmQzDZkgtVVKmGwVrs5tuid38ws281D4l+7x1kP487+FlKDh5kfMZ8WSPAdmdA==",
+ "version": "26.0.14",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.14.tgz",
+ "integrity": "sha512-Hz5q8Vu0D288x3iWXePSn53W7hAjP0H7EQ6QvDO9c7t46mR0lNOLlfuwQ+JkVxuhygHzlzPX+0jKdA3ZgSh+Vg==",
"dev": true,
"requires": {
"jest-diff": "^25.2.1",
@@ -1166,15 +1160,9 @@
"dev": true
},
"@types/node": {
- "version": "14.6.4",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.6.4.tgz",
- "integrity": "sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ==",
- "dev": true
- },
- "@types/normalize-package-data": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
+ "version": "14.11.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.2.tgz",
+ "integrity": "sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA==",
"dev": true
},
"@types/parse-json": {
@@ -1184,21 +1172,21 @@
"dev": true
},
"@types/prettier": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.0.tgz",
- "integrity": "sha512-hiYA88aHiEIgDmeKlsyVsuQdcFn3Z2VuFd/Xm/HCnGnPD8UFU5BM128uzzRVVGEzKDKYUrRsRH9S2o+NUy/3IA==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.1.tgz",
+ "integrity": "sha512-2zs+O+UkDsJ1Vcp667pd3f8xearMdopz/z54i99wtRDI5KLmngk7vlrYZD0ZjKHaROR03EznlBbVY9PfAEyJIQ==",
"dev": true
},
"@types/stack-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
- "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz",
+ "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==",
"dev": true
},
"@types/yargs": {
- "version": "15.0.5",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
- "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "version": "15.0.7",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.7.tgz",
+ "integrity": "sha512-Gf4u3EjaPNcC9cTu4/j2oN14nSVhr8PQ+BvBcBQHAhDZfl0bVIiLgvnRXv/dn58XhTm9UXvBpvJpDlwV65QxOA==",
"dev": true,
"requires": {
"@types/yargs-parser": "*"
@@ -1211,13 +1199,13 @@
"dev": true
},
"@typescript-eslint/eslint-plugin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.0.1.tgz",
- "integrity": "sha512-pQZtXupCn11O4AwpYVUX4PDFfmIJl90ZgrEBg0CEcqlwvPiG0uY81fimr1oMFblZnpKAq6prrT9a59pj1x58rw==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.3.0.tgz",
+ "integrity": "sha512-RqEcaHuEKnn3oPFislZ6TNzsBLqpZjN93G69SS+laav/I8w/iGMuMq97P0D2/2/kW4SCebHggqhbcCfbDaaX+g==",
"dev": true,
"requires": {
- "@typescript-eslint/experimental-utils": "4.0.1",
- "@typescript-eslint/scope-manager": "4.0.1",
+ "@typescript-eslint/experimental-utils": "4.3.0",
+ "@typescript-eslint/scope-manager": "4.3.0",
"debug": "^4.1.1",
"functional-red-black-tree": "^1.0.1",
"regexpp": "^3.0.0",
@@ -1226,55 +1214,55 @@
}
},
"@typescript-eslint/experimental-utils": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.0.1.tgz",
- "integrity": "sha512-gAqOjLiHoED79iYTt3F4uSHrYmg/GPz/zGezdB0jAdr6S6gwNiR/j7cTZ8nREKVzMVKLd9G3xbg1sV9GClW3sw==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.3.0.tgz",
+ "integrity": "sha512-cmmIK8shn3mxmhpKfzMMywqiEheyfXLV/+yPDnOTvQX/ztngx7Lg/OD26J8gTZfkLKUmaEBxO2jYP3keV7h2OQ==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.3",
- "@typescript-eslint/scope-manager": "4.0.1",
- "@typescript-eslint/types": "4.0.1",
- "@typescript-eslint/typescript-estree": "4.0.1",
+ "@typescript-eslint/scope-manager": "4.3.0",
+ "@typescript-eslint/types": "4.3.0",
+ "@typescript-eslint/typescript-estree": "4.3.0",
"eslint-scope": "^5.0.0",
"eslint-utils": "^2.0.0"
}
},
"@typescript-eslint/parser": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.0.1.tgz",
- "integrity": "sha512-1+qLmXHNAWSQ7RB6fdSQszAiA7JTwzakj5cNYjBTUmpH2cqilxMZEIV+DRKjVZs8NzP3ALmKexB0w/ExjcK9Iw==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.3.0.tgz",
+ "integrity": "sha512-JyfRnd72qRuUwItDZ00JNowsSlpQGeKfl9jxwO0FHK1qQ7FbYdoy5S7P+5wh1ISkT2QyAvr2pc9dAemDxzt75g==",
"dev": true,
"requires": {
- "@typescript-eslint/scope-manager": "4.0.1",
- "@typescript-eslint/types": "4.0.1",
- "@typescript-eslint/typescript-estree": "4.0.1",
+ "@typescript-eslint/scope-manager": "4.3.0",
+ "@typescript-eslint/types": "4.3.0",
+ "@typescript-eslint/typescript-estree": "4.3.0",
"debug": "^4.1.1"
}
},
"@typescript-eslint/scope-manager": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.0.1.tgz",
- "integrity": "sha512-u3YEXVJ8jsj7QCJk3om0Y457fy2euEOkkzxIB/LKU3MdyI+FJ2gI0M4aKEaXzwCSfNDiZ13a3lDo5DVozc+XLQ==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.3.0.tgz",
+ "integrity": "sha512-cTeyP5SCNE8QBRfc+Lgh4Xpzje46kNUhXYfc3pQWmJif92sjrFuHT9hH4rtOkDTo/si9Klw53yIr+djqGZS1ig==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "4.0.1",
- "@typescript-eslint/visitor-keys": "4.0.1"
+ "@typescript-eslint/types": "4.3.0",
+ "@typescript-eslint/visitor-keys": "4.3.0"
}
},
"@typescript-eslint/types": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.0.1.tgz",
- "integrity": "sha512-S+gD3fgbkZYW2rnbjugNMqibm9HpEjqZBZkTiI3PwbbNGWmAcxolWIUwZ0SKeG4Dy2ktpKKaI/6+HGYVH8Qrlg==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.3.0.tgz",
+ "integrity": "sha512-Cx9TpRvlRjOppGsU6Y6KcJnUDOelja2NNCX6AZwtVHRzaJkdytJWMuYiqi8mS35MRNA3cJSwDzXePfmhU6TANw==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.0.1.tgz",
- "integrity": "sha512-zGzleORFXrRWRJAMLTB2iJD1IZbCPkg4hsI8mGdpYlKaqzvKYSEWVAYh14eauaR+qIoZVWrXgYSXqLtTlxotiw==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.3.0.tgz",
+ "integrity": "sha512-ZAI7xjkl+oFdLV/COEz2tAbQbR3XfgqHEGy0rlUXzfGQic6EBCR4s2+WS3cmTPG69aaZckEucBoTxW9PhzHxxw==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "4.0.1",
- "@typescript-eslint/visitor-keys": "4.0.1",
+ "@typescript-eslint/types": "4.3.0",
+ "@typescript-eslint/visitor-keys": "4.3.0",
"debug": "^4.1.1",
"globby": "^11.0.1",
"is-glob": "^4.0.1",
@@ -1284,12 +1272,12 @@
}
},
"@typescript-eslint/visitor-keys": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.0.1.tgz",
- "integrity": "sha512-yBSqd6FjnTzbg5RUy9J+9kJEyQjTI34JdGMJz+9ttlJzLCnGkBikxw+N5n2VDcc3CesbIEJ0MnZc5uRYnrEnCw==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.3.0.tgz",
+ "integrity": "sha512-xZxkuR7XLM6RhvLkgv9yYlTcBHnTULzfnw4i6+z2TGBLy9yljAypQaZl9c3zFvy7PNI7fYWyvKYtohyF8au3cw==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "4.0.1",
+ "@typescript-eslint/types": "4.3.0",
"eslint-visitor-keys": "^2.0.0"
}
},
@@ -1300,15 +1288,15 @@
"dev": true
},
"abab": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.4.tgz",
- "integrity": "sha512-Eu9ELJWCz/c1e9gTiCY+FceWxcqzjYEbqMgtndnuSqZSUCOL73TWNK2mHfIj4Cw2E/ongOp+JISVNCmovt2KYQ==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
+ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
"dev": true
},
"acorn": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
- "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"dev": true
},
"acorn-globals": {
@@ -1322,9 +1310,9 @@
}
},
"acorn-jsx": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
- "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
+ "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
"dev": true
},
"acorn-walk": {
@@ -1334,9 +1322,9 @@
"dev": true
},
"ajv": {
- "version": "6.12.4",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz",
- "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==",
+ "version": "6.12.5",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz",
+ "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==",
"dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
@@ -1375,12 +1363,11 @@
"dev": true
},
"ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "@types/color-name": "^1.1.1",
"color-convert": "^2.0.1"
}
},
@@ -1506,25 +1493,25 @@
"dev": true
},
"babel-jest": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.3.0.tgz",
- "integrity": "sha512-sxPnQGEyHAOPF8NcUsD0g7hDCnvLL2XyblRBcgrzTWBB/mAIpWow3n1bEL+VghnnZfreLhFSBsFluRoK2tRK4g==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.5.0.tgz",
+ "integrity": "sha512-Cy16ZJrds81C+JASaOIGNlpCeqW3PTOq36owv+Zzwde5NiWz+zNduwxUNF57vxc/3SnIWo8HHqTczhN8GLoXTw==",
"dev": true,
"requires": {
- "@jest/transform": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "@jest/transform": "^26.5.0",
+ "@jest/types": "^26.5.0",
"@types/babel__core": "^7.1.7",
"babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^26.3.0",
+ "babel-preset-jest": "^26.5.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
"slash": "^3.0.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -1569,9 +1556,9 @@
}
},
"babel-plugin-jest-hoist": {
- "version": "26.2.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.2.0.tgz",
- "integrity": "sha512-B/hVMRv8Nh1sQ1a3EY8I0n4Y1Wty3NrR5ebOyVT302op+DOAau+xNEImGMsUWOC3++ZlMooCytKz+NgN8aKGbA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.5.0.tgz",
+ "integrity": "sha512-ck17uZFD3CDfuwCLATWZxkkuGGFhMij8quP8CNhwj8ek1mqFgbFzRJ30xwC04LLscj/aKsVFfRST+b5PT7rSuw==",
"dev": true,
"requires": {
"@babel/template": "^7.3.3",
@@ -1581,9 +1568,9 @@
}
},
"babel-preset-current-node-syntax": {
- "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==",
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz",
+ "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==",
"dev": true,
"requires": {
"@babel/plugin-syntax-async-generators": "^7.8.4",
@@ -1600,12 +1587,12 @@
}
},
"babel-preset-jest": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.3.0.tgz",
- "integrity": "sha512-5WPdf7nyYi2/eRxCbVrE1kKCWxgWY4RsPEbdJWFm7QsesFGqjdkyLeu1zRkwM1cxK6EPIlNd6d2AxLk7J+t4pw==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.5.0.tgz",
+ "integrity": "sha512-F2vTluljhqkiGSJGBg/jOruA8vIIIL11YrxRcO7nviNTMbbofPSHwnm8mgP7d/wS7wRSexRoI6X1A6T74d4LQA==",
"dev": true,
"requires": {
- "babel-plugin-jest-hoist": "^26.2.0",
+ "babel-plugin-jest-hoist": "^26.5.0",
"babel-preset-current-node-syntax": "^0.1.3"
}
},
@@ -1818,14 +1805,14 @@
}
},
"cliui": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.1.tgz",
+ "integrity": "sha512-rcvHOWyGyid6I1WjT/3NatKj2kDt9OdSHSXpyLXaMWFbKpGACNW8pRhhdPUq9MWUOdwn8Rz9AVETjF4105rZZQ==",
"dev": true,
"requires": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
- "wrap-ansi": "^6.2.0"
+ "wrap-ansi": "^7.0.0"
},
"dependencies": {
"emoji-regex": {
@@ -1945,16 +1932,16 @@
"dev": true
},
"cosmiconfig": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
- "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
+ "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
"dev": true,
"requires": {
"@types/parse-json": "^4.0.0",
- "import-fresh": "^3.1.0",
+ "import-fresh": "^3.2.1",
"parse-json": "^5.0.0",
"path-type": "^4.0.0",
- "yaml": "^1.7.2"
+ "yaml": "^1.10.0"
},
"dependencies": {
"parse-json": {
@@ -2026,24 +2013,18 @@
}
},
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+ "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.1.2"
}
},
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true
- },
"decimal.js": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.0.tgz",
- "integrity": "sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==",
+ "version": "10.2.1",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz",
+ "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==",
"dev": true
},
"decode-uri-component": {
@@ -2223,20 +2204,20 @@
}
},
"es-abstract": {
- "version": "1.17.6",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
- "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
+ "version": "1.17.7",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
+ "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
"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.2.0",
- "is-regex": "^1.1.0",
- "object-inspect": "^1.7.0",
+ "is-callable": "^1.2.2",
+ "is-regex": "^1.1.1",
+ "object-inspect": "^1.8.0",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.0",
+ "object.assign": "^4.1.1",
"string.prototype.trimend": "^1.0.1",
"string.prototype.trimstart": "^1.0.1"
}
@@ -2252,6 +2233,12 @@
"is-symbol": "^1.0.2"
}
},
+ "escalade": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.0.tgz",
+ "integrity": "sha512-mAk+hPSO8fLDkhV7V0dXazH5pDc6MrjBTPyD3VeKzxnVFjH1MIxbCdqGZB9O8+EwWakZs3ZCbDS4IpRt79V1ig==",
+ "dev": true
+ },
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -2313,9 +2300,9 @@
}
},
"eslint": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.8.1.tgz",
- "integrity": "sha512-/2rX2pfhyUG0y+A123d0ccXtMm7DV7sH1m3lk9nk2DZ2LReq39FXHueR9xZwshE5MdfSf0xunSaMWRqyIA6M1w==",
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.10.0.tgz",
+ "integrity": "sha512-BDVffmqWl7JJXqCjAK6lWtcQThZB/aP1HXSH1JKwGwv0LQEdvpR7qzNrUT487RM39B5goWuboFad5ovMBmD8yA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
@@ -2326,7 +2313,7 @@
"debug": "^4.0.1",
"doctrine": "^3.0.0",
"enquirer": "^2.3.5",
- "eslint-scope": "^5.1.0",
+ "eslint-scope": "^5.1.1",
"eslint-utils": "^2.1.0",
"eslint-visitor-keys": "^1.3.0",
"espree": "^7.3.0",
@@ -2382,9 +2369,9 @@
}
},
"eslint-config-prettier": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz",
- "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==",
+ "version": "6.12.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.12.0.tgz",
+ "integrity": "sha512-9jWPlFlgNwRUYVoujvWTQ1aMO8o6648r+K7qU7K5Jmkbyqav1fuEZC0COYpGBxyiAJb65Ra9hrmFx19xRGwXWw==",
"dev": true,
"requires": {
"get-stdin": "^6.0.0"
@@ -2445,9 +2432,9 @@
}
},
"eslint-plugin-import": {
- "version": "2.22.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz",
- "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==",
+ "version": "2.22.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz",
+ "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==",
"dev": true,
"requires": {
"array-includes": "^3.1.1",
@@ -2455,7 +2442,7 @@
"contains-path": "^0.1.0",
"debug": "^2.6.9",
"doctrine": "1.5.0",
- "eslint-import-resolver-node": "^0.3.3",
+ "eslint-import-resolver-node": "^0.3.4",
"eslint-module-utils": "^2.6.0",
"has": "^1.0.3",
"minimatch": "^3.0.4",
@@ -2493,9 +2480,9 @@
}
},
"eslint-plugin-jest": {
- "version": "24.0.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.0.0.tgz",
- "integrity": "sha512-a0G7hSDbuBCW4PNT6MVpAyfnGbUDOqxzOyhR6wT2BIBnR7MhvfAqd6KKfsTjX+Z3gxzIHiEsihzdClU4cSc6qQ==",
+ "version": "24.0.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.0.2.tgz",
+ "integrity": "sha512-DSBLNpkKDOpUJQkTGSs5sVJWsu0nDyQ2rYxkr0Eh7nrkc5bMUr/dlDbtTj3l8y6UaCVsem6rryF1OZrKnz1S5g==",
"dev": true,
"requires": {
"@typescript-eslint/experimental-utils": "^4.0.1"
@@ -2511,12 +2498,12 @@
}
},
"eslint-scope": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz",
- "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"dev": true,
"requires": {
- "esrecurse": "^4.1.0",
+ "esrecurse": "^4.3.0",
"estraverse": "^4.1.1"
}
},
@@ -2743,23 +2730,23 @@
}
},
"expect": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-26.4.2.tgz",
- "integrity": "sha512-IlJ3X52Z0lDHm7gjEp+m76uX46ldH5VpqmU0006vqDju/285twh7zaWMRhs67VpQhBwjjMchk+p5aA0VkERCAA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-26.5.0.tgz",
+ "integrity": "sha512-oIOy3mHWjnF5ZICuaui5kdtJZQ+D7XHWyUQDxk1WhIRCkcIYc24X23bOfikgCNU6i9wcSqLQhwPOqeRp09naxg==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"ansi-styles": "^4.0.0",
"jest-get-type": "^26.3.0",
- "jest-matcher-utils": "^26.4.2",
- "jest-message-util": "^26.3.0",
+ "jest-matcher-utils": "^26.5.0",
+ "jest-message-util": "^26.5.0",
"jest-regex-util": "^26.0.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -3300,15 +3287,15 @@
"dev": true
},
"husky": {
- "version": "4.2.5",
- "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz",
- "integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.0.tgz",
+ "integrity": "sha512-tTMeLCLqSBqnflBZnlVDhpaIMucSGaYyX6855jM4AguGeWCeSzNdb1mfyWduTZ3pe3SJVvVWGL0jO1iKZVPfTA==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
"ci-info": "^2.0.0",
"compare-versions": "^3.6.0",
- "cosmiconfig": "^6.0.0",
+ "cosmiconfig": "^7.0.0",
"find-versions": "^3.2.0",
"opencollective-postinstall": "^2.0.2",
"pkg-dir": "^4.2.0",
@@ -3543,9 +3530,9 @@
"dev": true
},
"is-callable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
- "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+ "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
"dev": true
},
"is-ci": {
@@ -3642,6 +3629,12 @@
"is-extglob": "^2.1.1"
}
},
+ "is-negative-zero": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
+ "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
+ "dev": true
+ },
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@@ -3798,20 +3791,20 @@
}
},
"jest": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest/-/jest-26.4.2.tgz",
- "integrity": "sha512-LLCjPrUh98Ik8CzW8LLVnSCfLaiY+wbK53U7VxnFSX7Q+kWC4noVeDvGWIFw0Amfq1lq2VfGm7YHWSLBV62MJw==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-26.5.0.tgz",
+ "integrity": "sha512-yW1QTkdpxVWTV2M5cOwVdEww8dRGqL5bb7FOG3YQoMtf7oReCEawmU0+tOKkZUSfcOymbXmCfdBQLzuwOLCx0w==",
"dev": true,
"requires": {
- "@jest/core": "^26.4.2",
+ "@jest/core": "^26.5.0",
"import-local": "^3.0.2",
- "jest-cli": "^26.4.2"
+ "jest-cli": "^26.5.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -3841,43 +3834,43 @@
}
},
"jest-cli": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.4.2.tgz",
- "integrity": "sha512-zb+lGd/SfrPvoRSC/0LWdaWCnscXc1mGYW//NP4/tmBvRPT3VntZ2jtKUONsRi59zc5JqmsSajA9ewJKFYp8Cw==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.5.0.tgz",
+ "integrity": "sha512-bI0h6GQGbyN0SSZu3nPilwrkrZ8dBC93erwTiEoJ+kGjtNuXsB183hTZ0HCiHLzf88oE0SQB1hYp8RgyytH+Bg==",
"dev": true,
"requires": {
- "@jest/core": "^26.4.2",
- "@jest/test-result": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "@jest/core": "^26.5.0",
+ "@jest/test-result": "^26.5.0",
+ "@jest/types": "^26.5.0",
"chalk": "^4.0.0",
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
"import-local": "^3.0.2",
"is-ci": "^2.0.0",
- "jest-config": "^26.4.2",
- "jest-util": "^26.3.0",
- "jest-validate": "^26.4.2",
+ "jest-config": "^26.5.0",
+ "jest-util": "^26.5.0",
+ "jest-validate": "^26.5.0",
"prompts": "^2.0.1",
- "yargs": "^15.3.1"
+ "yargs": "^16.0.3"
}
}
}
},
"jest-changed-files": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.3.0.tgz",
- "integrity": "sha512-1C4R4nijgPltX6fugKxM4oQ18zimS7LqQ+zTTY8lMCMFPrxqBFb7KJH0Z2fRQJvw2Slbaipsqq7s1mgX5Iot+g==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.5.0.tgz",
+ "integrity": "sha512-RAHoXqxa7gO1rZz88qpsLpzJ2mQU12UaFWadacKHuMbBZwFK+yl0j9YoD9Y/wBpv1ILG2SdCuxFHggX+9VU7qA==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"execa": "^4.0.0",
"throat": "^5.0.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -3950,37 +3943,38 @@
}
},
"jest-circus": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-26.4.2.tgz",
- "integrity": "sha512-gzxoteivskdUTNxT7Jx6hrANsEm+x1wh8jaXmQCtzC7zoNWirk9chYdSosHFC4tJlfDZa0EsPreVAxLicLsV0w==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-26.5.0.tgz",
+ "integrity": "sha512-VXWg+weogrZ2mxT/1/zrmjBAjZtoQy0Dtj+cck8UK0wAcE3GEDh3o0C4Cvt+e6nu57r0dF3aHtUDYX3nwsoUQg==",
"dev": true,
"requires": {
"@babel/traverse": "^7.1.0",
- "@jest/environment": "^26.3.0",
- "@jest/test-result": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "@jest/environment": "^26.5.0",
+ "@jest/test-result": "^26.5.0",
+ "@jest/types": "^26.5.0",
+ "@types/babel__traverse": "^7.0.4",
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
"dedent": "^0.7.0",
- "expect": "^26.4.2",
+ "expect": "^26.5.0",
"is-generator-fn": "^2.0.0",
- "jest-each": "^26.4.2",
- "jest-matcher-utils": "^26.4.2",
- "jest-message-util": "^26.3.0",
- "jest-runner": "^26.4.2",
- "jest-runtime": "^26.4.2",
- "jest-snapshot": "^26.4.2",
- "jest-util": "^26.3.0",
- "pretty-format": "^26.4.2",
+ "jest-each": "^26.5.0",
+ "jest-matcher-utils": "^26.5.0",
+ "jest-message-util": "^26.5.0",
+ "jest-runner": "^26.5.0",
+ "jest-runtime": "^26.5.0",
+ "jest-snapshot": "^26.5.0",
+ "jest-util": "^26.5.0",
+ "pretty-format": "^26.5.0",
"stack-utils": "^2.0.2",
"throat": "^5.0.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4010,12 +4004,12 @@
}
},
"pretty-format": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.2.tgz",
- "integrity": "sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.5.0.tgz",
+ "integrity": "sha512-NcgRuuTutUJ9+Br4P19DFThpJYnYBiugfRmZEA6pXrUeG+IcMSmppb88rU+iPA+XAJcjTYlCb5Ed6miHg/Qqqw==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^16.12.0"
@@ -4024,35 +4018,35 @@
}
},
"jest-config": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.4.2.tgz",
- "integrity": "sha512-QBf7YGLuToiM8PmTnJEdRxyYy3mHWLh24LJZKVdXZ2PNdizSe1B/E8bVm+HYcjbEzGuVXDv/di+EzdO/6Gq80A==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.5.0.tgz",
+ "integrity": "sha512-OM6eXIEmQXAuonCk8aNPMRjPFcKWa3IIoSlq5BPgIflmQBzM/COcI7XsWSIEPWPa9WcYTJBWj8kNqEYjczmIFw==",
"dev": true,
"requires": {
"@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^26.4.2",
- "@jest/types": "^26.3.0",
- "babel-jest": "^26.3.0",
+ "@jest/test-sequencer": "^26.5.0",
+ "@jest/types": "^26.5.0",
+ "babel-jest": "^26.5.0",
"chalk": "^4.0.0",
"deepmerge": "^4.2.2",
"glob": "^7.1.1",
"graceful-fs": "^4.2.4",
- "jest-environment-jsdom": "^26.3.0",
- "jest-environment-node": "^26.3.0",
+ "jest-environment-jsdom": "^26.5.0",
+ "jest-environment-node": "^26.5.0",
"jest-get-type": "^26.3.0",
- "jest-jasmine2": "^26.4.2",
+ "jest-jasmine2": "^26.5.0",
"jest-regex-util": "^26.0.0",
- "jest-resolve": "^26.4.0",
- "jest-util": "^26.3.0",
- "jest-validate": "^26.4.2",
+ "jest-resolve": "^26.5.0",
+ "jest-util": "^26.5.0",
+ "jest-validate": "^26.5.0",
"micromatch": "^4.0.2",
- "pretty-format": "^26.4.2"
+ "pretty-format": "^26.5.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4088,12 +4082,12 @@
"dev": true
},
"pretty-format": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.2.tgz",
- "integrity": "sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.5.0.tgz",
+ "integrity": "sha512-NcgRuuTutUJ9+Br4P19DFThpJYnYBiugfRmZEA6pXrUeG+IcMSmppb88rU+iPA+XAJcjTYlCb5Ed6miHg/Qqqw==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^16.12.0"
@@ -4123,22 +4117,22 @@
}
},
"jest-each": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.4.2.tgz",
- "integrity": "sha512-p15rt8r8cUcRY0Mvo1fpkOGYm7iI8S6ySxgIdfh3oOIv+gHwrHTy5VWCGOecWUhDsit4Nz8avJWdT07WLpbwDA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.5.0.tgz",
+ "integrity": "sha512-+oO3ykDgypHSyyK2xOsh8XDUwMtg3HoJ4wMNFNHxhcACFbUgaCOfLy+eTCn5pIKhtigU3BmkYt7k3MtTb5pJOQ==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"chalk": "^4.0.0",
"jest-get-type": "^26.3.0",
- "jest-util": "^26.3.0",
- "pretty-format": "^26.4.2"
+ "jest-util": "^26.5.0",
+ "pretty-format": "^26.5.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4174,12 +4168,12 @@
"dev": true
},
"pretty-format": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.2.tgz",
- "integrity": "sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.5.0.tgz",
+ "integrity": "sha512-NcgRuuTutUJ9+Br4P19DFThpJYnYBiugfRmZEA6pXrUeG+IcMSmppb88rU+iPA+XAJcjTYlCb5Ed6miHg/Qqqw==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^16.12.0"
@@ -4188,24 +4182,24 @@
}
},
"jest-environment-jsdom": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.3.0.tgz",
- "integrity": "sha512-zra8He2btIMJkAzvLaiZ9QwEPGEetbxqmjEBQwhH3CA+Hhhu0jSiEJxnJMbX28TGUvPLxBt/zyaTLrOPF4yMJA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.5.0.tgz",
+ "integrity": "sha512-Xuqh3bx8egymaJR566ECkiztIIVOIWWPGIxo++ziWyCOqQChUguRCH1hRXBbfINPbb/SRFe7GCD+SunaUgTmCw==",
"dev": true,
"requires": {
- "@jest/environment": "^26.3.0",
- "@jest/fake-timers": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "@jest/environment": "^26.5.0",
+ "@jest/fake-timers": "^26.5.0",
+ "@jest/types": "^26.5.0",
"@types/node": "*",
- "jest-mock": "^26.3.0",
- "jest-util": "^26.3.0",
- "jsdom": "^16.2.2"
+ "jest-mock": "^26.5.0",
+ "jest-util": "^26.5.0",
+ "jsdom": "^16.4.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4237,23 +4231,23 @@
}
},
"jest-environment-node": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.3.0.tgz",
- "integrity": "sha512-c9BvYoo+FGcMj5FunbBgtBnbR5qk3uky8PKyRVpSfe2/8+LrNQMiXX53z6q2kY+j15SkjQCOSL/6LHnCPLVHNw==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.5.0.tgz",
+ "integrity": "sha512-LaYl/ek5mb1VDP1/+jMH2N1Ec4fFUhSYmc8EZqigBgMov/2US8U5l7D3IlOf78e+wARUxPxUpTcybVVzAOu3jg==",
"dev": true,
"requires": {
- "@jest/environment": "^26.3.0",
- "@jest/fake-timers": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "@jest/environment": "^26.5.0",
+ "@jest/fake-timers": "^26.5.0",
+ "@jest/types": "^26.5.0",
"@types/node": "*",
- "jest-mock": "^26.3.0",
- "jest-util": "^26.3.0"
+ "jest-mock": "^26.5.0",
+ "jest-util": "^26.5.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4291,12 +4285,12 @@
"dev": true
},
"jest-haste-map": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.3.0.tgz",
- "integrity": "sha512-DHWBpTJgJhLLGwE5Z1ZaqLTYqeODQIZpby0zMBsCU9iRFHYyhklYqP4EiG73j5dkbaAdSZhgB938mL51Q5LeZA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.5.0.tgz",
+ "integrity": "sha512-AjB1b53uqN7Cf2VN80x0wJajVZ+BMZC+G2CmWoG143faaMw7IhIcs3FTPuSgOx7cn3/bag7lgCq93naAvLO6EQ==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"@types/graceful-fs": "^4.1.2",
"@types/node": "*",
"anymatch": "^3.0.3",
@@ -4304,18 +4298,18 @@
"fsevents": "^2.1.2",
"graceful-fs": "^4.2.4",
"jest-regex-util": "^26.0.0",
- "jest-serializer": "^26.3.0",
- "jest-util": "^26.3.0",
- "jest-worker": "^26.3.0",
+ "jest-serializer": "^26.5.0",
+ "jest-util": "^26.5.0",
+ "jest-worker": "^26.5.0",
"micromatch": "^4.0.2",
"sane": "^4.0.3",
"walker": "^1.0.7"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4347,35 +4341,35 @@
}
},
"jest-jasmine2": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.4.2.tgz",
- "integrity": "sha512-z7H4EpCldHN1J8fNgsja58QftxBSL+JcwZmaXIvV9WKIM+x49F4GLHu/+BQh2kzRKHAgaN/E82od+8rTOBPyPA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.5.0.tgz",
+ "integrity": "sha512-NOA6PLORHTRTROOp5VysKCUVpFAjMMXUS1Xw7FvTMeYK5Ewx4rpxhFqiJ7JT4pENap9g9OuXo4cWR/MwCDTEeQ==",
"dev": true,
"requires": {
"@babel/traverse": "^7.1.0",
- "@jest/environment": "^26.3.0",
- "@jest/source-map": "^26.3.0",
- "@jest/test-result": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "@jest/environment": "^26.5.0",
+ "@jest/source-map": "^26.5.0",
+ "@jest/test-result": "^26.5.0",
+ "@jest/types": "^26.5.0",
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
- "expect": "^26.4.2",
+ "expect": "^26.5.0",
"is-generator-fn": "^2.0.0",
- "jest-each": "^26.4.2",
- "jest-matcher-utils": "^26.4.2",
- "jest-message-util": "^26.3.0",
- "jest-runtime": "^26.4.2",
- "jest-snapshot": "^26.4.2",
- "jest-util": "^26.3.0",
- "pretty-format": "^26.4.2",
+ "jest-each": "^26.5.0",
+ "jest-matcher-utils": "^26.5.0",
+ "jest-message-util": "^26.5.0",
+ "jest-runtime": "^26.5.0",
+ "jest-snapshot": "^26.5.0",
+ "jest-util": "^26.5.0",
+ "pretty-format": "^26.5.0",
"throat": "^5.0.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4405,12 +4399,12 @@
}
},
"pretty-format": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.2.tgz",
- "integrity": "sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.5.0.tgz",
+ "integrity": "sha512-NcgRuuTutUJ9+Br4P19DFThpJYnYBiugfRmZEA6pXrUeG+IcMSmppb88rU+iPA+XAJcjTYlCb5Ed6miHg/Qqqw==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^16.12.0"
@@ -4419,19 +4413,19 @@
}
},
"jest-leak-detector": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.4.2.tgz",
- "integrity": "sha512-akzGcxwxtE+9ZJZRW+M2o+nTNnmQZxrHJxX/HjgDaU5+PLmY1qnQPnMjgADPGCRPhB+Yawe1iij0REe+k/aHoA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.5.0.tgz",
+ "integrity": "sha512-xZHvvTBbj3gUTtunLjPqP594BT6IUEpwA0AQpEQjVR8eBq8+R3qgU/KhoAcVcV0iqRM6pXtX7hKPZ5mLdynVSQ==",
"dev": true,
"requires": {
"jest-get-type": "^26.3.0",
- "pretty-format": "^26.4.2"
+ "pretty-format": "^26.5.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4467,12 +4461,12 @@
"dev": true
},
"pretty-format": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.2.tgz",
- "integrity": "sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.5.0.tgz",
+ "integrity": "sha512-NcgRuuTutUJ9+Br4P19DFThpJYnYBiugfRmZEA6pXrUeG+IcMSmppb88rU+iPA+XAJcjTYlCb5Ed6miHg/Qqqw==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^16.12.0"
@@ -4481,21 +4475,21 @@
}
},
"jest-matcher-utils": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.4.2.tgz",
- "integrity": "sha512-KcbNqWfWUG24R7tu9WcAOKKdiXiXCbMvQYT6iodZ9k1f7065k0keUOW6XpJMMvah+hTfqkhJhRXmA3r3zMAg0Q==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.5.0.tgz",
+ "integrity": "sha512-QgbbxqFT8wiTi4o/7MWj2vHlcmMjACG8vnJ9pJ7svVDmkzEnTUGdHXWLKB1aZhbnyXetMNRF+TSMcDS9aGfuzA==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
- "jest-diff": "^26.4.2",
+ "jest-diff": "^26.5.0",
"jest-get-type": "^26.3.0",
- "pretty-format": "^26.4.2"
+ "pretty-format": "^26.5.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4525,21 +4519,21 @@
}
},
"diff-sequences": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.3.0.tgz",
- "integrity": "sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.5.0.tgz",
+ "integrity": "sha512-ZXx86srb/iYy6jG71k++wBN9P9J05UNQ5hQHQd9MtMPvcqXPx/vKU69jfHV637D00Q2gSgPk2D+jSx3l1lDW/Q==",
"dev": true
},
"jest-diff": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.4.2.tgz",
- "integrity": "sha512-6T1XQY8U28WH0Z5rGpQ+VqZSZz8EN8rZcBtfvXaOkbwxIEeRre6qnuZQlbY1AJ4MKDxQF8EkrCvK+hL/VkyYLQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.5.0.tgz",
+ "integrity": "sha512-CmDMMPkVMxrrh0Dv/4M9kh1tsYsZnYTQMMTvIFpePBSk9wMVfcyfg30TCq+oR9AzGbw8vsI50Gk1HmlMMlhoJg==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
- "diff-sequences": "^26.3.0",
+ "diff-sequences": "^26.5.0",
"jest-get-type": "^26.3.0",
- "pretty-format": "^26.4.2"
+ "pretty-format": "^26.5.0"
}
},
"jest-get-type": {
@@ -4549,12 +4543,12 @@
"dev": true
},
"pretty-format": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.2.tgz",
- "integrity": "sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.5.0.tgz",
+ "integrity": "sha512-NcgRuuTutUJ9+Br4P19DFThpJYnYBiugfRmZEA6pXrUeG+IcMSmppb88rU+iPA+XAJcjTYlCb5Ed6miHg/Qqqw==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^16.12.0"
@@ -4563,14 +4557,14 @@
}
},
"jest-message-util": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.3.0.tgz",
- "integrity": "sha512-xIavRYqr4/otGOiLxLZGj3ieMmjcNE73Ui+LdSW/Y790j5acqCsAdDiLIbzHCZMpN07JOENRWX5DcU+OQ+TjTA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.5.0.tgz",
+ "integrity": "sha512-UEOqdoTfX0AFyReL4q5N3CfDBWt+AtQzeszZuuGapU39vwEk90rTSBghCA/3FFEZzvGfH2LE4+0NaBI81Cu2Ow==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@jest/types": "^26.3.0",
- "@types/stack-utils": "^1.0.1",
+ "@jest/types": "^26.5.0",
+ "@types/stack-utils": "^2.0.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
"micromatch": "^4.0.2",
@@ -4579,9 +4573,9 @@
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4613,19 +4607,19 @@
}
},
"jest-mock": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.3.0.tgz",
- "integrity": "sha512-PeaRrg8Dc6mnS35gOo/CbZovoDPKAeB1FICZiuagAgGvbWdNNyjQjkOaGUa/3N3JtpQ/Mh9P4A2D4Fv51NnP8Q==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.5.0.tgz",
+ "integrity": "sha512-8D1UmbnmjdkvTdYygTW26KZr95Aw0/3gEmMZQWkxIEAgEESVDbwDG8ygRlXSY214x9hFjtKezvfQUp36Ogl75w==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"@types/node": "*"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4669,25 +4663,25 @@
"dev": true
},
"jest-resolve": {
- "version": "26.4.0",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.4.0.tgz",
- "integrity": "sha512-bn/JoZTEXRSlEx3+SfgZcJAVuTMOksYq9xe9O6s4Ekg84aKBObEaVXKOEilULRqviSLAYJldnoWV9c07kwtiCg==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.5.0.tgz",
+ "integrity": "sha512-c34L8Lrw4fFzRiCLzwePziKRfHitjsAnY15ID0e9Se4ISikmZ5T9icLEFAGHnfaxfb+9r8EKdrbg89gjRdrQvw==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"chalk": "^4.0.0",
+ "escalade": "^3.1.0",
"graceful-fs": "^4.2.4",
"jest-pnp-resolver": "^1.2.2",
- "jest-util": "^26.3.0",
- "read-pkg-up": "^7.0.1",
+ "jest-util": "^26.5.0",
"resolve": "^1.17.0",
"slash": "^3.0.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4715,116 +4709,24 @@
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "parse-json": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz",
- "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "read-pkg": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
- "dev": true,
- "requires": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^2.5.0",
- "parse-json": "^5.0.0",
- "type-fest": "^0.6.0"
- },
- "dependencies": {
- "type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
- "dev": true
- }
- }
- },
- "read-pkg-up": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
- "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
- "dev": true,
- "requires": {
- "find-up": "^4.1.0",
- "read-pkg": "^5.2.0",
- "type-fest": "^0.8.1"
- }
}
}
},
"jest-resolve-dependencies": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.4.2.tgz",
- "integrity": "sha512-ADHaOwqEcVc71uTfySzSowA/RdxUpCxhxa2FNLiin9vWLB1uLPad3we+JSSROq5+SrL9iYPdZZF8bdKM7XABTQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.5.0.tgz",
+ "integrity": "sha512-2e3YdS+dlTY00s0CEiMAa7Ap/mPfPaQV7d6Fzp7BQqHXO/2QhXn/yVTxnxR+dOIo/NOh7pqXZTQSn+2iWwPQQA==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"jest-regex-util": "^26.0.0",
- "jest-snapshot": "^26.4.2"
+ "jest-snapshot": "^26.5.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4856,37 +4758,37 @@
}
},
"jest-runner": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.4.2.tgz",
- "integrity": "sha512-FgjDHeVknDjw1gRAYaoUoShe1K3XUuFMkIaXbdhEys+1O4bEJS8Avmn4lBwoMfL8O5oFTdWYKcf3tEJyyYyk8g==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.5.0.tgz",
+ "integrity": "sha512-+FSgnB4dIwov+kqDPrbyATZ/zLMb5AGSQ7oi6mtrbcw9a0D2npuAworKTRAtgWo+XFZtpZwdH+HQAB5l3KrjWg==",
"dev": true,
"requires": {
- "@jest/console": "^26.3.0",
- "@jest/environment": "^26.3.0",
- "@jest/test-result": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "@jest/console": "^26.5.0",
+ "@jest/environment": "^26.5.0",
+ "@jest/test-result": "^26.5.0",
+ "@jest/types": "^26.5.0",
"@types/node": "*",
"chalk": "^4.0.0",
"emittery": "^0.7.1",
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
- "jest-config": "^26.4.2",
+ "jest-config": "^26.5.0",
"jest-docblock": "^26.0.0",
- "jest-haste-map": "^26.3.0",
- "jest-leak-detector": "^26.4.2",
- "jest-message-util": "^26.3.0",
- "jest-resolve": "^26.4.0",
- "jest-runtime": "^26.4.2",
- "jest-util": "^26.3.0",
- "jest-worker": "^26.3.0",
+ "jest-haste-map": "^26.5.0",
+ "jest-leak-detector": "^26.5.0",
+ "jest-message-util": "^26.5.0",
+ "jest-resolve": "^26.5.0",
+ "jest-runtime": "^26.5.0",
+ "jest-util": "^26.5.0",
+ "jest-worker": "^26.5.0",
"source-map-support": "^0.5.6",
"throat": "^5.0.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4918,43 +4820,43 @@
}
},
"jest-runtime": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.4.2.tgz",
- "integrity": "sha512-4Pe7Uk5a80FnbHwSOk7ojNCJvz3Ks2CNQWT5Z7MJo4tX0jb3V/LThKvD9tKPNVNyeMH98J/nzGlcwc00R2dSHQ==",
- "dev": true,
- "requires": {
- "@jest/console": "^26.3.0",
- "@jest/environment": "^26.3.0",
- "@jest/fake-timers": "^26.3.0",
- "@jest/globals": "^26.4.2",
- "@jest/source-map": "^26.3.0",
- "@jest/test-result": "^26.3.0",
- "@jest/transform": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.5.0.tgz",
+ "integrity": "sha512-CujjQWpMcsvSg0L+G3iEz6s7Th5IbiZseAaw/5R7Eb+IfnJdyPdjJ+EoXNV8n07snvW5nZTwV9QIfy6Vjris8A==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^26.5.0",
+ "@jest/environment": "^26.5.0",
+ "@jest/fake-timers": "^26.5.0",
+ "@jest/globals": "^26.5.0",
+ "@jest/source-map": "^26.5.0",
+ "@jest/test-result": "^26.5.0",
+ "@jest/transform": "^26.5.0",
+ "@jest/types": "^26.5.0",
"@types/yargs": "^15.0.0",
"chalk": "^4.0.0",
"collect-v8-coverage": "^1.0.0",
"exit": "^0.1.2",
"glob": "^7.1.3",
"graceful-fs": "^4.2.4",
- "jest-config": "^26.4.2",
- "jest-haste-map": "^26.3.0",
- "jest-message-util": "^26.3.0",
- "jest-mock": "^26.3.0",
+ "jest-config": "^26.5.0",
+ "jest-haste-map": "^26.5.0",
+ "jest-message-util": "^26.5.0",
+ "jest-mock": "^26.5.0",
"jest-regex-util": "^26.0.0",
- "jest-resolve": "^26.4.0",
- "jest-snapshot": "^26.4.2",
- "jest-util": "^26.3.0",
- "jest-validate": "^26.4.2",
+ "jest-resolve": "^26.5.0",
+ "jest-snapshot": "^26.5.0",
+ "jest-util": "^26.5.0",
+ "jest-validate": "^26.5.0",
"slash": "^3.0.0",
"strip-bom": "^4.0.0",
- "yargs": "^15.3.1"
+ "yargs": "^16.0.3"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -4992,9 +4894,9 @@
}
},
"jest-serializer": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.3.0.tgz",
- "integrity": "sha512-IDRBQBLPlKa4flg77fqg0n/pH87tcRKwe8zxOVTWISxGpPHYkRZ1dXKyh04JOja7gppc60+soKVZ791mruVdow==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.5.0.tgz",
+ "integrity": "sha512-+h3Gf5CDRlSLdgTv7y0vPIAoLgX/SI7T4v6hy+TEXMgYbv+ztzbg5PSN6mUXAT/hXYHvZRWm+MaObVfqkhCGxA==",
"dev": true,
"requires": {
"@types/node": "*",
@@ -5002,32 +4904,33 @@
}
},
"jest-snapshot": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.4.2.tgz",
- "integrity": "sha512-N6Uub8FccKlf5SBFnL2Ri/xofbaA68Cc3MGjP/NuwgnsvWh+9hLIR/DhrxbSiKXMY9vUW5dI6EW1eHaDHqe9sg==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.5.0.tgz",
+ "integrity": "sha512-WTNJef67o7cCvwAe5foVCNqG3MzIW/CyU4FZvMrhBPZsJeXwfBY7kfOlydZigxtcytnvmNE2pqznOfD5EcQgrQ==",
"dev": true,
"requires": {
"@babel/types": "^7.0.0",
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
+ "@types/babel__traverse": "^7.0.4",
"@types/prettier": "^2.0.0",
"chalk": "^4.0.0",
- "expect": "^26.4.2",
+ "expect": "^26.5.0",
"graceful-fs": "^4.2.4",
- "jest-diff": "^26.4.2",
+ "jest-diff": "^26.5.0",
"jest-get-type": "^26.3.0",
- "jest-haste-map": "^26.3.0",
- "jest-matcher-utils": "^26.4.2",
- "jest-message-util": "^26.3.0",
- "jest-resolve": "^26.4.0",
+ "jest-haste-map": "^26.5.0",
+ "jest-matcher-utils": "^26.5.0",
+ "jest-message-util": "^26.5.0",
+ "jest-resolve": "^26.5.0",
"natural-compare": "^1.4.0",
- "pretty-format": "^26.4.2",
+ "pretty-format": "^26.5.0",
"semver": "^7.3.2"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -5057,21 +4960,21 @@
}
},
"diff-sequences": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.3.0.tgz",
- "integrity": "sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.5.0.tgz",
+ "integrity": "sha512-ZXx86srb/iYy6jG71k++wBN9P9J05UNQ5hQHQd9MtMPvcqXPx/vKU69jfHV637D00Q2gSgPk2D+jSx3l1lDW/Q==",
"dev": true
},
"jest-diff": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.4.2.tgz",
- "integrity": "sha512-6T1XQY8U28WH0Z5rGpQ+VqZSZz8EN8rZcBtfvXaOkbwxIEeRre6qnuZQlbY1AJ4MKDxQF8EkrCvK+hL/VkyYLQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.5.0.tgz",
+ "integrity": "sha512-CmDMMPkVMxrrh0Dv/4M9kh1tsYsZnYTQMMTvIFpePBSk9wMVfcyfg30TCq+oR9AzGbw8vsI50Gk1HmlMMlhoJg==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
- "diff-sequences": "^26.3.0",
+ "diff-sequences": "^26.5.0",
"jest-get-type": "^26.3.0",
- "pretty-format": "^26.4.2"
+ "pretty-format": "^26.5.0"
}
},
"jest-get-type": {
@@ -5081,12 +4984,12 @@
"dev": true
},
"pretty-format": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.2.tgz",
- "integrity": "sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.5.0.tgz",
+ "integrity": "sha512-NcgRuuTutUJ9+Br4P19DFThpJYnYBiugfRmZEA6pXrUeG+IcMSmppb88rU+iPA+XAJcjTYlCb5Ed6miHg/Qqqw==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^16.12.0"
@@ -5095,12 +4998,12 @@
}
},
"jest-util": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.3.0.tgz",
- "integrity": "sha512-4zpn6bwV0+AMFN0IYhH/wnzIQzRaYVrz1A8sYnRnj4UXDXbOVtWmlaZkO9mipFqZ13okIfN87aDoJWB7VH6hcw==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.5.0.tgz",
+ "integrity": "sha512-CSQ0uzE7JdHDCQo3K8jlyWRIF2xNLdpu9nbjo8okGDanaNsF7WonhusFvjOg7QiWn1SThe7wFRh8Jx2ls1Gx4Q==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"@types/node": "*",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
@@ -5109,9 +5012,9 @@
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -5143,23 +5046,23 @@
}
},
"jest-validate": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.4.2.tgz",
- "integrity": "sha512-blft+xDX7XXghfhY0mrsBCYhX365n8K5wNDC4XAcNKqqjEzsRUSXP44m6PL0QJEW2crxQFLLztVnJ4j7oPlQrQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.5.0.tgz",
+ "integrity": "sha512-603+CHUJD4nAZ+tY/A+wu3g8KEcBey2a7YOMU9W8e4u7mCezhaDasw20ITaZHoR2R2MZhThL6jApPSj0GvezrQ==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"camelcase": "^6.0.0",
"chalk": "^4.0.0",
"jest-get-type": "^26.3.0",
"leven": "^3.1.0",
- "pretty-format": "^26.4.2"
+ "pretty-format": "^26.5.0"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -5201,12 +5104,12 @@
"dev": true
},
"pretty-format": {
- "version": "26.4.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.2.tgz",
- "integrity": "sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.5.0.tgz",
+ "integrity": "sha512-NcgRuuTutUJ9+Br4P19DFThpJYnYBiugfRmZEA6pXrUeG+IcMSmppb88rU+iPA+XAJcjTYlCb5Ed6miHg/Qqqw==",
"dev": true,
"requires": {
- "@jest/types": "^26.3.0",
+ "@jest/types": "^26.5.0",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^16.12.0"
@@ -5215,24 +5118,24 @@
}
},
"jest-watcher": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.3.0.tgz",
- "integrity": "sha512-XnLdKmyCGJ3VoF6G/p5ohbJ04q/vv5aH9ENI+i6BL0uu9WWB6Z7Z2lhQQk0d2AVZcRGp1yW+/TsoToMhBFPRdQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.5.0.tgz",
+ "integrity": "sha512-INLKhpc9QbO5zy2HkS1CJUncByrCLFDZQOY30d9ojiuGO02ofL1BygDRDRtFvT/oWSZ8Y0fbkrr1oXU2ay/MqA==",
"dev": true,
"requires": {
- "@jest/test-result": "^26.3.0",
- "@jest/types": "^26.3.0",
+ "@jest/test-result": "^26.5.0",
+ "@jest/types": "^26.5.0",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
- "jest-util": "^26.3.0",
+ "jest-util": "^26.5.0",
"string-length": "^4.0.1"
},
"dependencies": {
"@jest/types": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
- "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.5.0.tgz",
+ "integrity": "sha512-nH9DFLqaIhB+RVgjivemvMiFSWw/BKwbZGxBAMv8CCTvUyFoK8RwHhAlmlXIvMBrf5Z3YQ4p9cq3Qh9EDctGvA==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -5264,9 +5167,9 @@
}
},
"jest-worker": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz",
- "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==",
+ "version": "26.5.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.5.0.tgz",
+ "integrity": "sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug==",
"dev": true,
"requires": {
"@types/node": "*",
@@ -5768,15 +5671,37 @@
}
},
"object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz",
+ "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.0",
+ "has-symbols": "^1.0.1",
+ "object-keys": "^1.1.1"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.18.0-next.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
+ "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
+ "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.2.2",
+ "is-negative-zero": "^2.0.0",
+ "is-regex": "^1.1.1",
+ "object-inspect": "^1.8.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.1",
+ "string.prototype.trimend": "^1.0.1",
+ "string.prototype.trimstart": "^1.0.1"
+ }
+ }
}
},
"object.pick": {
@@ -5992,9 +5917,9 @@
"dev": true
},
"prettier": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.1.tgz",
- "integrity": "sha512-9bY+5ZWCfqj3ghYBLxApy2zf6m+NJo5GzmLTpr9FsApsfjriNnS2dahWReHMi7qNPhhHl9SYHJs2cHZLgexNIw==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz",
+ "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==",
"dev": true
},
"prettier-linter-helpers": {
@@ -6218,12 +6143,6 @@
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
- "require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
- },
"resolve": {
"version": "1.17.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
@@ -6484,12 +6403,6 @@
"integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
"dev": true
},
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
- },
"set-value": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
@@ -6780,9 +6693,9 @@
}
},
"spdx-license-ids": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
- "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz",
+ "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==",
"dev": true
},
"split-string": {
@@ -7096,22 +7009,22 @@
}
},
"ts-jest": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.3.0.tgz",
- "integrity": "sha512-Jq2uKfx6bPd9+JDpZNMBJMdMQUC3sJ08acISj8NXlVgR2d5OqslEHOR2KHMgwymu8h50+lKIm0m0xj/ioYdW2Q==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.1.tgz",
+ "integrity": "sha512-F4aFq01aS6mnAAa0DljNmKr/Kk9y4HVZ1m6/rtJ0ED56cuxINGq3Q9eVAh+z5vcYKe5qnTMvv90vE8vUMFxomg==",
"dev": true,
"requires": {
"@types/jest": "26.x",
"bs-logger": "0.x",
"buffer-from": "1.x",
"fast-json-stable-stringify": "2.x",
- "jest-util": "26.x",
+ "jest-util": "^26.1.0",
"json5": "2.x",
"lodash.memoize": "4.x",
"make-error": "1.x",
"mkdirp": "1.x",
"semver": "7.x",
- "yargs-parser": "18.x"
+ "yargs-parser": "20.x"
},
"dependencies": {
"json5": {
@@ -7204,9 +7117,9 @@
}
},
"typescript": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz",
- "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.3.tgz",
+ "integrity": "sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==",
"dev": true
},
"union-value": {
@@ -7283,9 +7196,9 @@
"dev": true
},
"uuid": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz",
- "integrity": "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==",
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz",
+ "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==",
"dev": true,
"optional": true
},
@@ -7384,9 +7297,9 @@
"dev": true
},
"whatwg-url": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.2.2.tgz",
- "integrity": "sha512-PcVnO6NiewhkmzV0qn7A+UZ9Xx4maNTI+O+TShmfE4pqjoCMwUMjkvoNhNHPTvgR7QH9Xt3R13iHuWy2sToFxQ==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.3.0.tgz",
+ "integrity": "sha512-BQRf/ej5Rp3+n7k0grQXZj9a1cHtsp4lqj01p59xBWFKdezR8sO37XnpafwNqiFac/v2Il12EIMjX/Y4VZtT8Q==",
"dev": true,
"requires": {
"lodash.sortby": "^4.7.0",
@@ -7403,12 +7316,6 @@
"isexe": "^2.0.0"
}
},
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true
- },
"which-pm-runs": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
@@ -7422,9 +7329,9 @@
"dev": true
},
"wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
"requires": {
"ansi-styles": "^4.0.0",
@@ -7503,9 +7410,9 @@
"dev": true
},
"y18n": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.2.tgz",
+ "integrity": "sha512-CkwaeZw6dQgqgPGeTWKMXCRmMcBgETFlTml1+ZOO+q7kGst8NREJ+eWwFNPVUQ4QGdAaklbqCZHH6Zuep1RjiA==",
"dev": true
},
"yaml": {
@@ -7515,22 +7422,18 @@
"dev": true
},
"yargs": {
- "version": "15.4.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
- "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+ "version": "16.0.3",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.0.3.tgz",
+ "integrity": "sha512-6+nLw8xa9uK1BOEOykaiYAJVh6/CjxWXK/q9b5FpRgNslt8s22F2xMBqVIKgCRjNgGvGPBy8Vog7WN7yh4amtA==",
"dev": true,
"requires": {
- "cliui": "^6.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^4.1.0",
- "get-caller-file": "^2.0.1",
+ "cliui": "^7.0.0",
+ "escalade": "^3.0.2",
+ "get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
"string-width": "^4.2.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^18.1.2"
+ "y18n": "^5.0.1",
+ "yargs-parser": "^20.0.0"
},
"dependencies": {
"emoji-regex": {
@@ -7539,61 +7442,12 @@
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
"is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
"string-width": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
@@ -7608,14 +7462,10 @@
}
},
"yargs-parser": {
- "version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
+ "version": "20.2.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.1.tgz",
+ "integrity": "sha512-yYsjuSkjbLMBp16eaOt7/siKTjNVjMm3SoJnIg3sEh/JsvqVVDyjRKmaJV4cl+lNIgq6QEco2i3gDebJl7/vLA==",
+ "dev": true
}
}
}
diff --git a/package.json b/package.json
index 31a366cef..80deb0716 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "setup-php",
- "version": "2.5.0",
+ "version": "2.6.0",
"private": false,
"description": "Setup PHP for use with GitHub Actions",
"main": "dist/index.js",
@@ -24,28 +24,28 @@
"author": "shivammathur",
"license": "MIT",
"dependencies": {
- "@actions/core": "^1.2.5",
+ "@actions/core": "^1.2.6",
"@actions/exec": "^1.0.4",
"@actions/io": "^1.0.2",
"fs": "0.0.1-security"
},
"devDependencies": {
- "@types/jest": "^26.0.13",
- "@types/node": "^14.6.4",
- "@typescript-eslint/eslint-plugin": "^4.0.1",
- "@typescript-eslint/parser": "^4.0.1",
+ "@types/jest": "^26.0.14",
+ "@types/node": "^14.11.2",
+ "@typescript-eslint/eslint-plugin": "^4.3.0",
+ "@typescript-eslint/parser": "^4.3.0",
"@zeit/ncc": "^0.22.3",
- "eslint": "^7.8.1",
- "eslint-config-prettier": "^6.11.0",
- "eslint-plugin-import": "^2.22.0",
- "eslint-plugin-jest": "^24.0.0",
+ "eslint": "^7.10.0",
+ "eslint-config-prettier": "^6.12.0",
+ "eslint-plugin-import": "^2.22.1",
+ "eslint-plugin-jest": "^24.0.2",
"eslint-plugin-prettier": "^3.1.4",
- "husky": "^4.2.5",
+ "husky": "^4.3.0",
"jest": "^26.4.2",
"jest-circus": "^26.4.2",
- "prettier": "^2.1.1",
- "ts-jest": "^26.3.0",
- "typescript": "^4.0.2"
+ "prettier": "^2.1.2",
+ "ts-jest": "^26.4.1",
+ "typescript": "^4.0.3"
},
"husky": {
"skipCI": true,
diff --git a/src/install.ts b/src/install.ts
index 046204e37..e2af537d8 100644
--- a/src/install.ts
+++ b/src/install.ts
@@ -5,7 +5,6 @@ import * as coverage from './coverage';
import * as extensions from './extensions';
import * as tools from './tools';
import * as utils from './utils';
-import * as matchers from './matchers';
/**
* Build the script
@@ -14,26 +13,19 @@ import * as matchers from './matchers';
* @param version
* @param os_version
*/
-export async function build(
+export async function getScript(
filename: string,
version: string,
os_version: string
): Promise {
const name = 'setup-php';
- const url = 'setup-php.com/support';
+ const url = 'https://setup-php.com/support';
// taking inputs
- const extension_csv: string =
- (await utils.getInput('extensions', false)) ||
- (await utils.getInput('extension', false));
+ const extension_csv: string = await utils.getInput('extensions', false);
const ini_values_csv: string = await utils.getInput('ini-values', false);
const coverage_driver: string = await utils.getInput('coverage', false);
- const pecl: string = await utils.getInput('pecl', false);
let tools_csv: string = await utils.getInput('tools', false);
- if (
- pecl == 'true' ||
- /.*-(beta|alpha|devel|snapshot).*/.test(extension_csv) ||
- /.*-(\d+\.\d+\.\d+).*/.test(extension_csv)
- ) {
+ if (/.*-(beta|alpha|devel|snapshot|\d+\.\d+\.\d+).*/.test(extension_csv)) {
tools_csv = 'pecl, ' + tools_csv;
}
@@ -61,24 +53,14 @@ export async function build(
*/
export async function run(): Promise {
try {
- let version: string = await utils.getInput('php-version', true);
- version = version.length > 1 ? version.slice(0, 3) : version + '.0';
+ const version: string = await utils.parseVersion(
+ await utils.getInput('php-version', true)
+ );
const os_version: string = process.platform;
-
- // check the os version and run the respective script
- let script_path = '';
- switch (os_version) {
- case 'darwin':
- case 'linux':
- script_path = await build(os_version + '.sh', version, os_version);
- await exec('bash ' + script_path + ' ' + version + ' ' + __dirname);
- break;
- case 'win32':
- script_path = await build('win32.ps1', version, os_version);
- await exec('pwsh ' + script_path + ' ' + version + ' ' + __dirname);
- break;
- }
- await matchers.addMatchers();
+ const tool = await utils.scriptTool(os_version);
+ const script = os_version + (await utils.scriptExtension(os_version));
+ const location = await getScript(script, version, os_version);
+ await exec(await utils.joins(tool, location, version, __dirname));
} catch (error) {
core.setFailed(error.message);
}
diff --git a/src/matchers.ts b/src/matchers.ts
deleted file mode 100644
index 03b1bfd81..000000000
--- a/src/matchers.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import * as path from 'path';
-import * as utils from './utils';
-import * as io from '@actions/io';
-
-/**
- * Cache json files for problem matchers
- */
-export async function addMatchers(): Promise {
- const config_path = path.join(__dirname, '..', 'src', 'configs');
- const runner_dir: string = await utils.getInput('RUNNER_TOOL_CACHE', false);
- await io.cp(path.join(config_path, 'phpunit.json'), runner_dir);
- await io.cp(path.join(config_path, 'php.json'), runner_dir);
-}
diff --git a/src/scripts/darwin.sh b/src/scripts/darwin.sh
index e5053c6ec..8ea96ebcf 100644
--- a/src/scripts/darwin.sh
+++ b/src/scripts/darwin.sh
@@ -152,16 +152,35 @@ configure_composer() {
exit 1
fi
composer -q global config process-timeout 0
- echo "::add-path::/Users/$USER/.composer/vendor/bin"
+ echo "/Users/$USER/.composer/vendor/bin" >> "$GITHUB_PATH"
if [ -n "$COMPOSER_TOKEN" ]; then
composer -q global config github-oauth.github.com "$COMPOSER_TOKEN"
fi
}
+# Function to extract tool version.
+get_tool_version() {
+ tool=$1
+ param=$2
+ version_regex="[0-9]+((\.{1}[0-9]+)+)(\.{0})(-[a-zA-Z0-9]+){0,1}"
+ if [ "$tool" = "composer" ]; then
+ if [ "$param" != "snapshot" ]; then
+ grep -Ea "const\sVERSION" "$tool_path_dir/composer" | grep -Eo "$version_regex"
+ else
+ trunk=$(grep -Ea "const\sBRANCH_ALIAS_VERSION" "$tool_path_dir/composer" | grep -Eo "$version_regex")
+ commit=$(grep -Ea "const\sVERSION" "$tool_path_dir/composer" | grep -Eo "[a-zA-z0-9]+" | tail -n 1)
+ echo "$trunk+$commit"
+ fi
+ else
+ $tool "$param" 2>/dev/null | sed -Ee "s/[Cc]omposer(.)?$version_regex//g" | grep -Eo "$version_regex" | head -n 1
+ fi
+}
+
# Function to setup a remote tool.
add_tool() {
url=$1
tool=$2
+ ver_param=$3
tool_path="$tool_path_dir/$tool"
if [ ! -e "$tool_path" ]; then
rm -rf "$tool_path"
@@ -191,7 +210,8 @@ add_tool() {
elif [ "$tool" = "wp-cli" ]; then
sudo cp -p "$tool_path" "$tool_path_dir"/wp
fi
- add_log "$tick" "$tool" "Added"
+ tool_version=$(get_tool_version "$tool" "$ver_param")
+ add_log "$tick" "$tool" "Added $tool $tool_version"
else
add_log "$cross" "$tool" "Could not setup $tool"
fi
@@ -203,10 +223,19 @@ add_composertool() {
release=$2
prefix=$3
(
- composer global require "$prefix$release" >/dev/null 2>&1 && add_log "$tick" "$tool" "Added"
+ composer global require "$prefix$release" >/dev/null 2>&1 &&
+ json=$(grep "$prefix$tool" /Users/$USER/.composer/composer.json) &&
+ tool_version=$(get_tool_version 'echo' "$json") &&
+ add_log "$tick" "$tool" "Added $tool $tool_version"
) || add_log "$cross" "$tool" "Could not setup $tool"
}
+# Function to handle request to add phpize and php-config.
+add_devtools() {
+ tool=$1
+ add_log "$tick" "$tool" "Added $tool $semver"
+}
+
# Function to configure PECL
configure_pecl() {
for tool in pear pecl; do
@@ -217,7 +246,8 @@ configure_pecl() {
# Function to handle request to add PECL.
add_pecl() {
- add_log "$tick" "PECL" "Added"
+ pecl_version=$(get_tool_version "pecl" "version")
+ add_log "$tick" "PECL" "Found PECL $pecl_version"
}
# Function to setup PHP 5.6 and newer.
@@ -237,6 +267,7 @@ setup_php() {
tick="✓"
cross="✗"
version=$1
+dist=$2
nodot_version=${1/./}
old_versions="5.[3-5]"
tool_path_dir="/usr/local/bin"
@@ -275,4 +306,5 @@ scan_dir=$(php --ini | grep additional | sed -e "s|.*: s*||")
sudo mkdir -p "$ext_dir"
semver=$(php -v | head -n 1 | cut -f 2 -d ' ')
if [[ ! "$version" =~ $old_versions ]]; then configure_pecl >/dev/null 2>&1; fi
+sudo mv "$dist"/../src/configs/*.json "$RUNNER_TOOL_CACHE/"
add_log "$tick" "PHP" "$status PHP $semver"
diff --git a/src/scripts/linux.sh b/src/scripts/linux.sh
index 60440a242..5cb24ef60 100644
--- a/src/scripts/linux.sh
+++ b/src/scripts/linux.sh
@@ -231,7 +231,7 @@ add_extension_from_source() {
args=$4
prefix=$5
(
- add_devtools
+ add_devtools phpize
delete_extension "$extension"
curl -o /tmp/"$extension".tar.gz "${curl_opts[@]}" https://github.com/"$repo"/archive/"$release".tar.gz
tar xf /tmp/"$extension".tar.gz -C /tmp
@@ -252,16 +252,35 @@ configure_composer() {
exit 1;
fi
composer -q global config process-timeout 0
- echo "::add-path::/home/$USER/.composer/vendor/bin"
+ echo "/home/$USER/.composer/vendor/bin" >> "$GITHUB_PATH"
if [ -n "$COMPOSER_TOKEN" ]; then
composer -q global config github-oauth.github.com "$COMPOSER_TOKEN"
fi
}
+# Function to extract tool version.
+get_tool_version() {
+ tool=$1
+ param=$2
+ version_regex="[0-9]+((\.{1}[0-9]+)+)(\.{0})(-[a-zA-Z0-9]+){0,1}"
+ if [ "$tool" = "composer" ]; then
+ if [ "$param" != "snapshot" ]; then
+ grep -Ea "const\sVERSION" "$tool_path_dir/composer" | grep -Eo "$version_regex"
+ else
+ trunk=$(grep -Ea "const\sBRANCH_ALIAS_VERSION" "$tool_path_dir/composer" | grep -Eo "$version_regex")
+ commit=$(grep -Ea "const\sVERSION" "$tool_path_dir/composer" | grep -Eo "[a-zA-z0-9]+" | tail -n 1)
+ echo "$trunk+$commit"
+ fi
+ else
+ $tool "$param" 2>/dev/null | sed -Ee "s/[Cc]omposer(.)?$version_regex//g" | grep -Eo "$version_regex" | head -n 1
+ fi
+}
+
# Function to setup a remote tool.
add_tool() {
url=$1
tool=$2
+ ver_param=$3
tool_path="$tool_path_dir/$tool"
if [ ! -e "$tool_path" ]; then
rm -rf "$tool_path"
@@ -289,7 +308,8 @@ add_tool() {
elif [ "$tool" = "wp-cli" ]; then
sudo cp -p "$tool_path" "$tool_path_dir"/wp
fi
- add_log "$tick" "$tool" "Added"
+ tool_version=$(get_tool_version "$tool" "$ver_param")
+ add_log "$tick" "$tool" "Added $tool $tool_version"
else
add_log "$cross" "$tool" "Could not setup $tool"
fi
@@ -302,18 +322,22 @@ add_composertool() {
prefix=$3
(
composer global require "$prefix$release" >/dev/null 2>&1 &&
- add_log "$tick" "$tool" "Added"
+ json=$(grep "$prefix$tool" /home/$USER/.composer/composer.json) &&
+ tool_version=$(get_tool_version 'echo' "$json") &&
+ add_log "$tick" "$tool" "Added $tool $tool_version"
) || add_log "$cross" "$tool" "Could not setup $tool"
}
# Function to setup phpize and php-config.
add_devtools() {
+ tool=$1
if ! [ -e "/usr/bin/phpize$version" ] || ! [ -e "/usr/bin/php-config$version" ]; then
update_lists && $apt_install php"$version"-dev php"$version"-xml >/dev/null 2>&1
fi
sudo update-alternatives --set php-config /usr/bin/php-config"$version" >/dev/null 2>&1
sudo update-alternatives --set phpize /usr/bin/phpize"$version" >/dev/null 2>&1
configure_pecl >/dev/null 2>&1
+ add_log "$tick" "$tool" "Added $tool $semver"
}
# Function to setup the nightly build from master branch.
@@ -330,12 +354,13 @@ setup_old_versions() {
# Function to add PECL.
add_pecl() {
- add_devtools >/dev/null 2>&1
+ add_devtools phpize >/dev/null 2>&1
if [ ! -e /usr/bin/pecl ]; then
$apt_install php-pear >/dev/null 2>&1 || update_lists && $apt_install php-pear >/dev/null 2>&1
fi
configure_pecl >/dev/null 2>&1
- add_log "$tick" "PECL" "Added"
+ pecl_version=$(get_tool_version "pecl" "version")
+ add_log "$tick" "PECL" "Added PECL $pecl_version"
}
# Function to switch versions of PHP binaries.
@@ -397,6 +422,7 @@ tick="✓"
cross="✗"
pecl_config="false"
version=$1
+dist=$2
master_version="8.0"
old_versions="5.[3-5]"
debconf_fix="DEBIAN_FRONTEND=noninteractive"
@@ -452,4 +478,5 @@ pecl_file="$scan_dir"/99-pecl.ini
echo '' | sudo tee "$pecl_file" >/dev/null 2>&1
sudo rm -rf /usr/local/bin/phpunit >/dev/null 2>&1
sudo chmod 777 "$ini_file" "$pecl_file" "$tool_path_dir"
+sudo mv "$dist"/../src/configs/*.json "$RUNNER_TOOL_CACHE/"
add_log "$tick" "PHP" "$status PHP $semver"
diff --git a/src/scripts/tools/blackfire.ps1 b/src/scripts/tools/blackfire.ps1
index ac83fdb06..c1d6c0df4 100644
--- a/src/scripts/tools/blackfire.ps1
+++ b/src/scripts/tools/blackfire.ps1
@@ -16,6 +16,6 @@ Function Add-Blackfire() {
if ((Test-Path env:BLACKFIRE_CLIENT_ID) -and (Test-Path env:BLACKFIRE_CLIENT_TOKEN)) {
blackfire config --client-id=$env:BLACKFIRE_CLIENT_ID --client-token=$env:BLACKFIRE_CLIENT_TOKEN --ca-cert=$php_dir\ssl\cacert.pem >$null 2>&1
}
- Add-Log $tick "blackfire" "Added"
- Add-Log $tick "blackfire-agent" "Added"
+ Add-Log $tick "blackfire" "Added blackfire $agent_version"
+ Add-Log $tick "blackfire-agent" "Added blackfire-agent $agent_version"
}
diff --git a/src/scripts/tools/blackfire.sh b/src/scripts/tools/blackfire.sh
index a41b87170..2f689c9c9 100644
--- a/src/scripts/tools/blackfire.sh
+++ b/src/scripts/tools/blackfire.sh
@@ -29,6 +29,7 @@ add_blackfire() {
[ "$os" = "Linux" ] && add_blackfire_linux >/dev/null 2>&1
[ "$os" = "Darwin" ] && add_blackfire_darwin >/dev/null 2>&1
blackfire_config >/dev/null 2>&1
- add_log "${tick:?}" "blackfire" "Added"
- add_log "${tick:?}" "blackfire-agent" "Added"
+ tool_version=$(get_tool_version "blackfire" "version")
+ add_log "${tick:?}" "blackfire" "Added blackfire $tool_version"
+ add_log "${tick:?}" "blackfire-agent" "Added blackfire-agent $tool_version"
}
diff --git a/src/scripts/tools/grpc_php_plugin.ps1 b/src/scripts/tools/grpc_php_plugin.ps1
index 103b2f614..7cdee06f7 100644
--- a/src/scripts/tools/grpc_php_plugin.ps1
+++ b/src/scripts/tools/grpc_php_plugin.ps1
@@ -9,11 +9,12 @@ Function Add-Msys2() {
Function Add-Grpc_php_plugin() {
$msys_location = Add-Msys2
- . $msys_location\usr\bin\bash -l -c "pacman -S --noconfirm mingw-w64-x86_64-grpc" >$null 2>&1
- Write-Output "::add-path::$msys_location\mingw64\bin"
+ $logs = . $msys_location\usr\bin\bash -l -c "pacman -S --noconfirm mingw-w64-x86_64-grpc" >$null 2>&1
+ $grpc_version = Get-ToolVersion 'Write-Output' "$logs"
+ Write-Output "$msys_location\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8
Write-Output "::set-output name=grpc_php_plugin_path::$msys_location\mingw64\bin\grpc_php_plugin.exe"
Add-ToProfile $current_profile 'grpc_php_plugin' "New-Alias grpc_php_plugin $msys_location\mingw64\bin\grpc_php_plugin.exe"
- Add-Log $tick "grpc_php_plugin" "Added"
+ Add-Log $tick "grpc_php_plugin" "Added grpc_php_plugin $grpc_version"
printf "::group::\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "grpc_php_plugin" "Click to read the grpc_php_plugin related license information"
Write-Output (Invoke-WebRequest https://raw.githubusercontent.com/grpc/grpc/master/LICENSE).Content
Write-Output "::endgroup::"
diff --git a/src/scripts/tools/grpc_php_plugin.sh b/src/scripts/tools/grpc_php_plugin.sh
index a209a4ab1..a0c13b837 100644
--- a/src/scripts/tools/grpc_php_plugin.sh
+++ b/src/scripts/tools/grpc_php_plugin.sh
@@ -44,7 +44,7 @@ add_grpc_php_plugin() {
sudo chmod a+x /usr/local/bin/grpc_php_plugin
) >/dev/null 2>&1
echo "::set-output name=grpc_php_plugin_path::/usr/local/bin/grpc_php_plugin"
- add_log "${tick:?}" "grpc_php_plugin" "Added"
+ add_log "${tick:?}" "grpc_php_plugin" "Added grpc_php_plugin ${grpc_tag:1}"
printf "::group::\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "grpc_php_plugin" "Click to read the grpc_php_plugin related license information"
cat "/tmp/grpc-${grpc_tag:1}/LICENSE"
echo "::endgroup::"
diff --git a/src/scripts/tools/protoc.ps1 b/src/scripts/tools/protoc.ps1
index 48680f860..d3b2e55dd 100644
--- a/src/scripts/tools/protoc.ps1
+++ b/src/scripts/tools/protoc.ps1
@@ -31,7 +31,7 @@ Function Add-Protoc() {
Expand-Archive -Path $bin_dir\protoc.zip -DestinationPath $bin_dir\protoc -Force >$null 2>&1
Move-Item -Path $bin_dir\protoc\bin\protoc.exe -Destination $bin_dir\protoc.exe
Add-ToProfile $current_profile 'protoc' "New-Alias protoc $bin_dir\protoc.exe"
- Add-Log $tick "protoc" "Added"
+ Add-Log $tick "protoc" "Added protoc $($protobuf_tag -replace 'v', '')"
printf "::group::\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "protoc" "Click to read the protoc related license information"
Write-Output (Invoke-WebRequest https://raw.githubusercontent.com/protocolbuffers/protobuf/master/LICENSE).Content
Write-Output "::endgroup::"
diff --git a/src/scripts/tools/protoc.sh b/src/scripts/tools/protoc.sh
index 5558cbdde..ad357abfc 100644
--- a/src/scripts/tools/protoc.sh
+++ b/src/scripts/tools/protoc.sh
@@ -21,7 +21,7 @@ add_protoc() {
sudo unzip /tmp/protobuf.zip -d /usr/local/
sudo chmod 777 /usr/local/bin/protoc -R /usr/local/include/google
) >/dev/null 2>&1
- add_log "${tick:?}" "protoc" "Added"
+ add_log "${tick:?}" "protoc" "Added protoc ${protobuf_tag:1}"
printf "::group::\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "protoc" "Click to read the protoc related license information"
curl "${curl_opts[@]:?}" https://raw.githubusercontent.com/protocolbuffers/protobuf/master/LICENSE
echo "::endgroup::"
diff --git a/src/scripts/win32.ps1 b/src/scripts/win32.ps1
index 28df8092b..bca5bb846 100644
--- a/src/scripts/win32.ps1
+++ b/src/scripts/win32.ps1
@@ -8,7 +8,7 @@ param (
[ValidateNotNull()]
[ValidateLength(1, [int]::MaxValue)]
[string]
- $dir
+ $dist
)
# Function to log start of a operation.
@@ -189,12 +189,33 @@ Function Edit-ComposerConfig() {
exit 1;
}
composer -q global config process-timeout 0
- Write-Output "::add-path::$env:APPDATA\Composer\vendor\bin"
+ Write-Output "$env:APPDATA\Composer\vendor\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8
if (Test-Path env:COMPOSER_TOKEN) {
composer -q global config github-oauth.github.com $env:COMPOSER_TOKEN
}
}
+# Function to extract tool version.
+Function Get-ToolVersion() {
+ Param (
+ [Parameter(Position = 0, Mandatory = $true)]
+ $tool,
+ [Parameter(Position = 1, Mandatory = $true)]
+ $param
+ )
+ $version_regex = "[0-9]+((\.{1}[0-9]+)+)(\.{0})(-[a-z0-9]+){0,1}"
+ if($tool -eq 'composer') {
+ if ($param -eq 'snapshot') {
+ $trunk = Select-String -Pattern "const\sBRANCH_ALIAS_VERSION" -Path $bin_dir\composer -Raw | Select-String -Pattern $version_regex | ForEach-Object { $_.matches.Value }
+ $commit = Select-String -Pattern "const\sVERSION" -Path $bin_dir\composer -Raw | Select-String -Pattern "[a-zA-Z0-9]+" -AllMatches | ForEach-Object { $_.matches[2].Value }
+ return "$trunk+$commit"
+ } else {
+ return Select-String -Pattern "const\sVERSION" -Path $bin_dir\composer -Raw | Select-String -Pattern $version_regex | ForEach-Object { $_.matches.Value }
+ }
+ }
+ return . $tool $param 2> $null | ForEach-Object { $_ -replace "composer $version_regex", '' } | Select-String -Pattern $version_regex | Select-Object -First 1 | ForEach-Object { $_.matches.Value }
+}
+
# Function to add tools.
Function Add-Tool() {
Param (
@@ -203,9 +224,10 @@ Function Add-Tool() {
$url,
[Parameter(Position = 1, Mandatory = $true)]
[ValidateNotNull()]
- [ValidateLength(1, [int]::MaxValue)]
- [string]
- $tool
+ $tool,
+ [Parameter(Position = 2, Mandatory = $true)]
+ [ValidateNotNull()]
+ $ver_param
)
if (Test-Path $bin_dir\$tool) {
Remove-Item $bin_dir\$tool
@@ -239,7 +261,8 @@ Function Add-Tool() {
Copy-Item $bin_dir\wp-cli.bat -Destination $bin_dir\wp.bat
}
if (((Get-ChildItem -Path $bin_dir/* | Where-Object Name -Match "^$tool(.exe|.phar)*$").Count -gt 0)) {
- Add-Log $tick $tool "Added"
+ $tool_version = Get-ToolVersion $tool $ver_param
+ Add-Log $tick $tool "Added $tool $tool_version"
} else {
Add-Log $cross $tool "Could not add $tool"
}
@@ -264,9 +287,11 @@ Function Add-Composertool() {
[string]
$prefix
)
- composer -q global require $prefix$release 2>&1 | out-null
- if($?) {
- Add-Log $tick $tool "Added"
+ composer global require $prefix$release 2>&1 | out-null
+ $json = findstr $prefix$tool $env:APPDATA\Composer\composer.json
+ if($json) {
+ $tool_version = Get-ToolVersion "Write-Output" "$json"
+ Add-Log $tick $tool "Added $tool $tool_version"
} else {
Add-Log $cross $tool "Could not setup $tool"
}
@@ -368,4 +393,5 @@ if($version -lt "5.5") {
Enable-PhpExtension -Extension openssl, curl, opcache, mbstring -Path $php_dir
}
Update-PhpCAInfo -Path $php_dir -Source $cert_source
+Move-Item -path $dist\..\src\configs\*.json -Destination $env:RUNNER_TOOL_CACHE
Add-Log $tick "PHP" "$status PHP $($installed.FullVersion)"
diff --git a/src/tools.ts b/src/tools.ts
index c0e2b044a..3a9cbbb31 100644
--- a/src/tools.ts
+++ b/src/tools.ts
@@ -167,7 +167,7 @@ export async function addPhive(
case 'latest':
return (
(await utils.getCommand(os_version, 'tool')) +
- 'https://phar.io/releases/phive.phar phive'
+ 'https://phar.io/releases/phive.phar phive status'
);
default:
return (
@@ -176,7 +176,7 @@ export async function addPhive(
version +
'/phive-' +
version +
- '.phar phive'
+ '.phar phive status'
);
}
}
@@ -334,7 +334,7 @@ export async function getCleanedToolsList(
return extension
.trim()
.replace(
- /-agent|hirak\/|laravel\/|narrowspark\/automatic-|overtrue\/|robmorgan\/|symfony\//,
+ /-agent|behat\/|hirak\/|icanhazstring\/|laravel\/|narrowspark\/automatic-|overtrue\/|phpspec\/|robmorgan\/|symfony\//,
''
);
})
@@ -348,13 +348,18 @@ export async function getCleanedToolsList(
* @param tool
* @param url
* @param os_version
+ * @param ver_param
*/
export async function addArchive(
tool: string,
url: string,
- os_version: string
+ os_version: string,
+ ver_param: string
): Promise {
- return (await utils.getCommand(os_version, 'tool')) + url + ' ' + tool;
+ return (
+ (await utils.getCommand(os_version, 'tool')) +
+ (await utils.joins(url, tool, ver_param))
+ );
}
/**
@@ -369,13 +374,8 @@ export async function addDevTools(
): Promise {
switch (os_version) {
case 'linux':
- return (
- 'add_devtools' +
- '\n' +
- (await utils.addLog('$tick', tool, 'Added', 'linux'))
- );
case 'darwin':
- return await utils.addLog('$tick', tool, 'Added', 'darwin');
+ return 'add_devtools ' + tool;
case 'win32':
return await utils.addLog(
'$cross',
@@ -445,24 +445,28 @@ export async function addTools(
case 'protoc':
script += await utils.customPackage(tool, 'tools', version, os_version);
break;
+ case 'behat':
+ case 'phpspec':
+ script += await addPackage(tool, release, tool + '/', os_version);
+ break;
case 'blackfire-player':
url = await getPharUrl('https://get.blackfire.io', tool, 'v', version);
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'codeception':
url =
'https://codeception.com/' +
(await getCodeceptionUri(version, php_version));
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'composer':
url = await getComposerUrl(version);
- script += await addArchive('composer', url, os_version);
+ script += await addArchive('composer', url, os_version, version);
break;
case 'composer-normalize':
uri = await getUri(tool, '.phar', version, 'releases', '', 'download');
url = github + 'ergebnis/composer-normalize/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'composer-prefetcher':
script += await addPackage(
@@ -475,39 +479,37 @@ export async function addTools(
case 'composer-require-checker':
uri = await getUri(tool, '.phar', version, 'releases', '', 'download');
url = github + 'maglnet/ComposerRequireChecker/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'composer-unused':
- uri = await getUri(tool, '.phar', version, 'releases', '', 'download');
- url = github + 'composer-unused/composer-unused/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addPackage(tool, release, 'icanhazstring/', os_version);
break;
case 'cs2pr':
uri = await getUri(tool, '', version, 'releases', '', 'download');
url = github + 'staabm/annotate-pull-request-from-checkstyle/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'deployer':
url = await getDeployerUrl(version);
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'flex':
script += await addPackage(tool, release, 'symfony/', os_version);
break;
case 'infection':
url = github + 'infection/infection/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'pecl':
script += await utils.getCommand(os_version, 'pecl');
break;
case 'phan':
url = github + 'phan/phan/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-v"');
break;
case 'phing':
url = 'https://www.phing.info/get/phing-' + version + '.phar';
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-v"');
break;
case 'phinx':
script += await addPackage(tool, release, 'robmorgan/', os_version);
@@ -522,48 +524,48 @@ export async function addTools(
case 'php-cs-fixer':
uri = await getUri(tool, '.phar', version, 'releases', 'v', 'download');
url = github + 'FriendsOfPHP/PHP-CS-Fixer/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'phpcbf':
case 'phpcs':
url = github + 'squizlabs/PHP_CodeSniffer/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"--version"');
break;
case 'phpcpd':
case 'phpunit':
url = await getPharUrl('https://phar.phpunit.de', tool, '', version);
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"--version"');
break;
case 'phplint':
script += await addPackage(tool, release, 'overtrue/', os_version);
break;
case 'phpmd':
url = github + 'phpmd/phpmd/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"--version"');
break;
case 'phpstan':
url = github + 'phpstan/phpstan/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-V"');
break;
case 'prestissimo':
script += await addPackage(tool, release, 'hirak/', os_version);
break;
case 'psalm':
url = github + 'vimeo/psalm/' + uri;
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"-v"');
break;
case 'symfony':
case 'symfony-cli':
uri = await getSymfonyUri(version, os_version);
url = github + 'symfony/cli/' + uri;
- script += await addArchive('symfony', url, os_version);
+ script += await addArchive('symfony', url, os_version, 'version');
break;
case 'vapor-cli':
script += await addPackage(tool, release, 'laravel/', os_version);
break;
case 'wp-cli':
url = github + (await getWpCliUrl(version));
- script += await addArchive(tool, url, os_version);
+ script += await addArchive(tool, url, os_version, '"--version"');
break;
default:
script += await utils.addLog(
diff --git a/src/utils.ts b/src/utils.ts
index 109e92174..faf91d9b9 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -2,6 +2,21 @@ import * as fs from 'fs';
import * as path from 'path';
import * as core from '@actions/core';
+/**
+ * Function to read environment variable and return a string value.
+ *
+ * @param property
+ */
+export async function readEnv(property: string): Promise {
+ const value = process.env[property];
+ switch (value) {
+ case undefined:
+ return '';
+ default:
+ return value;
+ }
+}
+
/**
* Function to get inputs from both with and env annotations.
*
@@ -12,13 +27,36 @@ export async function getInput(
name: string,
mandatory: boolean
): Promise {
- const input = process.env[name];
- switch (input) {
- case '':
- case undefined:
- return core.getInput(name, {required: mandatory});
- default:
+ const input = core.getInput(name);
+ const env_input = await readEnv(name);
+ switch (true) {
+ case input != '':
return input;
+ case input == '' && env_input != '':
+ return env_input;
+ case input == '' && env_input == '' && mandatory:
+ throw new Error(`Input required and not supplied: ${name}`);
+ default:
+ return '';
+ }
+}
+
+/**
+ * Function to parse PHP version.
+ *
+ * @param version
+ */
+export async function parseVersion(version: string): Promise {
+ switch (version) {
+ case 'latest':
+ return '7.4';
+ default:
+ switch (true) {
+ case version.length > 1:
+ return version.slice(0, 3);
+ default:
+ return version + '.0';
+ }
}
}
@@ -339,6 +377,27 @@ export async function scriptExtension(os_version: string): Promise {
}
}
+/**
+ * Function to get script tool
+ *
+ * @param os_version
+ */
+export async function scriptTool(os_version: string): Promise {
+ switch (os_version) {
+ case 'win32':
+ return 'pwsh';
+ case 'linux':
+ case 'darwin':
+ return 'bash';
+ default:
+ return await log(
+ 'Platform ' + os_version + ' is not supported',
+ os_version,
+ 'error'
+ );
+ }
+}
+
/**
* Function to get script to add tools with custom support.
*