Skip to content

Commit

Permalink
Fix support for phpcs and phpcbf
Browse files Browse the repository at this point in the history
  • Loading branch information
shivammathur committed Jan 6, 2024
1 parent 353ba41 commit febd3ee
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 20 deletions.
22 changes: 19 additions & 3 deletions __tests__/tools.test.ts
Expand Up @@ -357,6 +357,22 @@ describe('Tools tests', () => {
}
);

it.each`
version | uri
${'latest'} | ${'PHPCSStandards/PHP_CodeSniffer/blob/gh-pages/phpcs.phar?raw=true'}
${'1.2.3'} | ${'PHPCSStandards/PHP_CodeSniffer/blob/gh-pages/phars/phpcs-1.2.3.phar?raw=true,https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/download/1.2.3/phpcs-1.2.3.phar'}
`('checking addPHPCSTools: $version', async ({version, uri}) => {
const data = getData({
tool: 'phpcs',
domain: 'https://github.com',
repository: 'PHPCSStandards/PHP_CodeSniffer',
php_version: '7.4',
version_prefix: '',
version: version
});
expect(await tools.addPHPCSTools(data)).toContain(uri);
});

it.each`
version | uri
${'latest'} | ${'wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true'}
Expand Down Expand Up @@ -434,7 +450,7 @@ describe('Tools tests', () => {

it.each([
[
'behat, blackfire, blackfire-player, churn, composer-normalize, composer-require-checker, composer-unused, cs2pr:1.2.3, flex, grpc_php_plugin:1.2.3, infection, phan, phan:1.2.3, phing:1.2.3, phinx, phive:1.2.3, php-config, phpcbf, phpcpd, phpcs, phpdoc, phpize, phpmd, phpspec, phpunit-bridge:5.6, phpunit-polyfills:1.0.1, protoc:v1.2.3, psalm, rector, symfony-cli, vapor-cli, wp-cli',
'behat, blackfire, blackfire-player, churn, composer-normalize, composer-require-checker, composer-unused, cs2pr:1.2.3, flex, grpc_php_plugin:1.2.3, infection, phan, phan:1.2.3, phing:1.2.3, phinx, phive:1.2.3, php-config, phpcbf, phpcpd, phpcs:1.2.3, phpdoc, phpize, phpmd, phpspec, phpunit-bridge:5.6, phpunit-polyfills:1.0.1, protoc:v1.2.3, psalm, rector, symfony-cli, vapor-cli, wp-cli',
[
'add_tool https://github.com/shivammathur/composer-cache/releases/latest/download/composer-7.4-stable.phar,https://dl.cloudsmith.io/public/shivammathur/composer-cache/raw/files/composer-7.4-stable.phar,https://getcomposer.org/composer-stable.phar composer',
'add_composer_tool behat behat behat/ scoped',
Expand All @@ -454,9 +470,9 @@ describe('Tools tests', () => {
'add_composer_tool phinx phinx robmorgan/ scoped',
'add_tool https://github.com/phar-io/phive/releases/download/1.2.3/phive-1.2.3.phar phive',
'add_devtools php-config',
'add_tool https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/latest/download/phpcbf.phar phpcbf "--version"',
'add_tool https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/gh-pages/phpcbf.phar?raw=true phpcbf "--version"',
'add_tool https://phar.phpunit.de/phpcpd.phar phpcpd "--version"',
'add_tool https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/latest/download/phpcs.phar phpcs "--version"',
'add_tool https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/gh-pages/phars/phpcs-1.2.3.phar?raw=true,https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/download/1.2.3/phpcs-1.2.3.phar phpcs "--version"',
'add_tool https://github.com/phpDocumentor/phpDocumentor/releases/latest/download/phpDocumentor.phar phpDocumentor "--version"',
'add_devtools phpize',
'add_tool https://github.com/phpmd/phpmd/releases/latest/download/phpmd.phar phpmd "--version"',
Expand Down
20 changes: 19 additions & 1 deletion dist/index.js
Expand Up @@ -684,7 +684,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.addTools = exports.functionRecord = exports.getData = exports.addWPCLI = exports.addPHPUnitTools = exports.addPhive = exports.addPhing = exports.addPECL = exports.addDevTools = exports.addDeployer = exports.addComposer = exports.addCastor = exports.addBlackfirePlayer = exports.addPackage = exports.addArchive = exports.getPharUrl = exports.getUrl = exports.filterList = exports.getRelease = exports.getVersion = exports.getLatestVersion = exports.getSemverVersion = void 0;
exports.addTools = exports.functionRecord = exports.getData = exports.addWPCLI = exports.addPHPCSTools = exports.addPHPUnitTools = exports.addPhive = exports.addPhing = exports.addPECL = exports.addDevTools = exports.addDeployer = exports.addComposer = exports.addCastor = exports.addBlackfirePlayer = exports.addPackage = exports.addArchive = exports.getPharUrl = exports.getUrl = exports.filterList = exports.getRelease = exports.getVersion = exports.getLatestVersion = exports.getSemverVersion = void 0;
const path_1 = __importDefault(__nccwpck_require__(1017));
const fs_1 = __importDefault(__nccwpck_require__(7147));
const fetch = __importStar(__nccwpck_require__(2387));
Expand Down Expand Up @@ -970,6 +970,22 @@ async function addPHPUnitTools(data) {
return await addArchive(data);
}
exports.addPHPUnitTools = addPHPUnitTools;
async function addPHPCSTools(data) {
const extension = data['extension'] + '?raw=true';
if (data['version'] === 'latest') {
data['uri'] = 'blob/gh-pages/' + data['tool'] + extension;
data['url'] = [data['domain'], data['repository'], data['uri']].join('/');
}
else {
data['uri'] =
'blob/gh-pages/phars/' + data['tool'] + '-' + data['version'] + extension;
data['url'] = [data['domain'], data['repository'], data['uri']].join('/');
data['extension'] = '-' + data['version'] + data['extension'];
data['url'] += ',' + (await getUrl(data));
}
return await addArchive(data);
}
exports.addPHPCSTools = addPHPCSTools;
async function addWPCLI(data) {
if (data['version'] === 'latest') {
data['uri'] = 'wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true';
Expand Down Expand Up @@ -1040,6 +1056,8 @@ exports.functionRecord = {
blackfire_player: addBlackfirePlayer,
pecl: addPECL,
phing: addPhing,
phpcbf: addPHPCSTools,
phpcs: addPHPCSTools,
phpunit: addPHPUnitTools,
phpcpd: addPHPUnitTools,
wp_cli: addWPCLI
Expand Down
34 changes: 18 additions & 16 deletions src/configs/tools.json
Expand Up @@ -82,22 +82,6 @@
"version_prefix": "",
"version_parameter": "--version"
},
"phpcbf": {
"type": "phar",
"repository": "PHPCSStandards/PHP_CodeSniffer",
"extension": ".phar",
"domain": "https://github.com",
"version_prefix": "",
"version_parameter": "--version"
},
"phpcs": {
"type": "phar",
"repository": "PHPCSStandards/PHP_CodeSniffer",
"extension": ".phar",
"domain": "https://github.com",
"version_prefix": "",
"version_parameter": "--version"
},
"phpDocumentor": {
"type": "phar",
"repository": "phpDocumentor/phpDocumentor",
Expand Down Expand Up @@ -283,6 +267,15 @@
"version_prefix": "",
"version_parameter": "status"
},
"phpcbf": {
"type": "custom-function",
"function": "phpcbf",
"repository": "PHPCSStandards/PHP_CodeSniffer",
"extension": ".phar",
"domain": "https://github.com",
"version_prefix": "",
"version_parameter": "--version"
},
"phpcpd": {
"type": "custom-function",
"repository": "sebastianbergmann/phpcpd",
Expand All @@ -291,6 +284,15 @@
"version_prefix": "",
"version_parameter": "--version"
},
"phpcs": {
"type": "custom-function",
"function": "phpcs",
"repository": "PHPCSStandards/PHP_CodeSniffer",
"extension": ".phar",
"domain": "https://github.com",
"version_prefix": "",
"version_parameter": "--version"
},
"phpunit": {
"type": "custom-function",
"repository": "sebastianbergmann/phpunit",
Expand Down
22 changes: 22 additions & 0 deletions src/tools.ts
Expand Up @@ -427,6 +427,26 @@ export async function addPHPUnitTools(data: RS): Promise<string> {
return await addArchive(data);
}

/**
* Function to add PHPCS Tools
*
* @param data
*/
export async function addPHPCSTools(data: RS): Promise<string> {
const extension = data['extension'] + '?raw=true';
if (data['version'] === 'latest') {
data['uri'] = 'blob/gh-pages/' + data['tool'] + extension;
data['url'] = [data['domain'], data['repository'], data['uri']].join('/');
} else {
data['uri'] =
'blob/gh-pages/phars/' + data['tool'] + '-' + data['version'] + extension;
data['url'] = [data['domain'], data['repository'], data['uri']].join('/');
data['extension'] = '-' + data['version'] + data['extension'];
data['url'] += ',' + (await getUrl(data));
}
return await addArchive(data);
}

/**
* Function to add WP-CLI
*
Expand Down Expand Up @@ -512,6 +532,8 @@ export const functionRecord: Record<string, (data: RS) => Promise<string>> = {
blackfire_player: addBlackfirePlayer,
pecl: addPECL,
phing: addPhing,
phpcbf: addPHPCSTools,
phpcs: addPHPCSTools,
phpunit: addPHPUnitTools,
phpcpd: addPHPUnitTools,
wp_cli: addWPCLI
Expand Down

0 comments on commit febd3ee

Please sign in to comment.