setup-php 2.37.0 → 2.37.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -6
- package/lib/config.js +5 -2
- package/lib/config.js.map +1 -1
- package/lib/install.js +2 -2
- package/lib/install.js.map +1 -1
- package/lib/tools.d.ts +2 -0
- package/lib/tools.js +45 -4
- package/lib/tools.js.map +1 -1
- package/lib/utils.d.ts +3 -0
- package/lib/utils.js +58 -22
- package/lib/utils.js.map +1 -1
- package/package.json +13 -13
- package/src/config.ts +5 -2
- package/src/configs/composer-gh-auth-no-op +3 -0
- package/src/configs/composer-gh-auth-warn +1 -0
- package/src/configs/os_releases.csv +4 -1
- package/src/install.ts +5 -2
- package/src/scripts/extensions/gearman.sh +1 -1
- package/src/scripts/extensions/phalcon.ps1 +3 -21
- package/src/scripts/extensions/phalcon.sh +2 -0
- package/src/scripts/tools/add_tools.ps1 +24 -2
- package/src/scripts/tools/add_tools.sh +29 -7
- package/src/scripts/win32.ps1 +13 -9
- package/src/tools.ts +47 -9
- package/src/utils.ts +76 -28
package/README.md
CHANGED
|
@@ -268,7 +268,7 @@ These tools can be set up globally using the `tools` input. It accepts a string
|
|
|
268
268
|
uses: shivammathur/setup-php@v2
|
|
269
269
|
with:
|
|
270
270
|
php-version: '8.5'
|
|
271
|
-
tools: composer:
|
|
271
|
+
tools: composer:v2
|
|
272
272
|
```
|
|
273
273
|
|
|
274
274
|
- If you do not use composer in your workflow, you can specify `tools: none` to skip it.
|
|
@@ -950,11 +950,12 @@ Examples of using `setup-php` with various PHP frameworks and packages.
|
|
|
950
950
|
| Framework/Package | Runs on | Workflow |
|
|
951
951
|
|----------------------------------------|---------------------------------|---------------------------------------------------------------------------------------------------------------|
|
|
952
952
|
| Blackfire | `macOS`, `ubuntu` and `windows` | [blackfire.yml](./examples/blackfire.yml "GitHub Action using Blackfire") |
|
|
953
|
-
| Blackfire Player | `macOS
|
|
953
|
+
| Blackfire Player | `macOS` and `ubuntu` | [blackfire-player.yml](./examples/blackfire-player.yml "GitHub Action using Blackfire Player") |
|
|
954
954
|
| CakePHP with `MySQL` and `Redis` | `ubuntu` | [cakephp-mysql.yml](./examples/cakephp-mysql.yml "GitHub Action for CakePHP with MySQL and Redis") |
|
|
955
955
|
| CakePHP with `PostgreSQL` and `Redis` | `ubuntu` | [cakephp-postgres.yml](./examples/cakephp-postgres.yml "GitHub Action for CakePHP with Postgres and Redis") |
|
|
956
956
|
| CakePHP without services | `macOS`, `ubuntu` and `windows` | [cakephp.yml](./examples/cakephp.yml "GitHub Action for CakePHP without services") |
|
|
957
957
|
| CodeIgniter | `macOS`, `ubuntu` and `windows` | [codeigniter.yml](./examples/codeigniter.yml "GitHub Action for CodeIgniter") |
|
|
958
|
+
| Drupal 11 (Composer-managed) | `ubuntu` | [drupal.yml](./examples/drupal.yml "GitHub Action for Drupal 11 composer-managed projects") |
|
|
958
959
|
| Laminas MVC | `macOS`, `ubuntu` and `windows` | [laminas-mvc.yml](./examples/laminas-mvc.yml "GitHub Action for Laminas Framework MVC Projects") |
|
|
959
960
|
| Laravel with `MySQL` and `Redis` | `ubuntu` | [laravel-mysql.yml](./examples/laravel-mysql.yml "GitHub Action for Laravel with MySQL and Redis") |
|
|
960
961
|
| Laravel with `PostgreSQL` and `Redis` | `ubuntu` | [laravel-postgres.yml](./examples/laravel-postgres.yml "GitHub Action for Laravel with PostgreSQL and Redis") |
|
|
@@ -964,14 +965,16 @@ Examples of using `setup-php` with various PHP frameworks and packages.
|
|
|
964
965
|
| Lumen without services | `macOS`, `ubuntu` and `windows` | [lumen.yml](./examples/lumen.yml "GitHub Action for Lumen without services") |
|
|
965
966
|
| Phalcon with `MySQL` | `ubuntu` | [phalcon-mysql.yml](./examples/phalcon-mysql.yml "GitHub Action for Phalcon with MySQL") |
|
|
966
967
|
| Phalcon with `PostgreSQL` | `ubuntu` | [phalcon-postgres.yml](./examples/phalcon-postgres.yml "GitHub Action for Phalcon with PostgreSQL") |
|
|
967
|
-
| Roots/bedrock | `ubuntu` | [bedrock.yml](./examples/bedrock.yml "GitHub Action for Wordpress Development using @roots/bedrock") |
|
|
968
|
-
| Roots/sage | `ubuntu` | [sage.yml](./examples/sage.yml "GitHub Action for Wordpress Development using @roots/sage") |
|
|
969
968
|
| Slim Framework | `macOS`, `ubuntu` and `windows` | [slim-framework.yml](./examples/slim-framework.yml "GitHub Action for Slim Framework") |
|
|
970
969
|
| Symfony with `MySQL` | `ubuntu` | [symfony-mysql.yml](./examples/symfony-mysql.yml "GitHub Action for Symfony with MySQL") |
|
|
971
970
|
| Symfony with `PostgreSQL` | `ubuntu` | [symfony-postgres.yml](./examples/symfony-postgres.yml "GitHub Action for Symfony with PostgreSQL") |
|
|
972
971
|
| Symfony without services | `macOS`, `ubuntu` and `windows` | [symfony.yml](./examples/symfony.yml "GitHub Action for Symfony without services") |
|
|
973
|
-
|
|
|
974
|
-
|
|
|
972
|
+
| WordPress plugin | `ubuntu` | [wordpress.yml](./examples/wordpress.yml "GitHub Action for WordPress plugins") |
|
|
973
|
+
| WordPress with Roots/Bedrock | `ubuntu` | [bedrock.yml](./examples/bedrock.yml "GitHub Action for WordPress development using @roots/bedrock") |
|
|
974
|
+
| WordPress with Roots/Sage | `ubuntu` | [sage.yml](./examples/sage.yml "GitHub Action for WordPress development using @roots/sage") |
|
|
975
|
+
| Yii3 web application with `MySQL` | `ubuntu` | [yii3-mysql.yml](./examples/yii3-mysql.yml "GitHub Action for Yii3 web application with MySQL") |
|
|
976
|
+
| Yii3 web application with `PostgreSQL` | `ubuntu` | [yii3-postgres.yml](./examples/yii3-postgres.yml "GitHub Action for Yii3 web application with PostgreSQL") |
|
|
977
|
+
| Yii3 web application | `ubuntu` and `windows` | [yii3.yml](./examples/yii3.yml "GitHub Action for Yii3 web application") |
|
|
975
978
|
|
|
976
979
|
## :bookmark: Versioning
|
|
977
980
|
|
package/lib/config.js
CHANGED
|
@@ -45,7 +45,7 @@ async function addINIValuesUnix(ini_values_csv) {
|
|
|
45
45
|
'\n' + (await utils.addLog('$tick', line, 'Added to php.ini', 'linux'));
|
|
46
46
|
});
|
|
47
47
|
return ('echo "' +
|
|
48
|
-
ini_values.join('\n') +
|
|
48
|
+
ini_values.map(v => utils.escapeForShell(v, 'linux')).join('\n') +
|
|
49
49
|
'" | sudo tee -a "${pecl_file:-${ini_file[@]}}" >/dev/null 2>&1' +
|
|
50
50
|
script);
|
|
51
51
|
}
|
|
@@ -56,7 +56,10 @@ async function addINIValuesWindows(ini_values_csv) {
|
|
|
56
56
|
script +=
|
|
57
57
|
(await utils.addLog('$tick', line, 'Added to php.ini', 'win32')) + '\n';
|
|
58
58
|
});
|
|
59
|
-
return ('Add-Content "$php_dir\\php.ini" "' +
|
|
59
|
+
return ('Add-Content "$php_dir\\php.ini" "' +
|
|
60
|
+
ini_values.map(v => utils.escapeForShell(v, 'win32')).join('\n') +
|
|
61
|
+
'"' +
|
|
62
|
+
script);
|
|
60
63
|
}
|
|
61
64
|
async function addINIValues(ini_values_csv, os, no_step = false) {
|
|
62
65
|
let script = '\n';
|
package/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,4CAeC;AAOD,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,4CAeC;AAOD,kDAeC;AASD,oCA+BC;AApFD,+CAAiC;AAO1B,KAAK,UAAU,gBAAgB,CACpC,cAAsB;IAEtB,MAAM,UAAU,GAAkB,MAAM,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,WAAW,IAAY;QAC/D,MAAM;YACJ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,OAAO,CACL,QAAQ;QACR,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAChE,gEAAgE;QAChE,MAAM,CACP,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,mBAAmB,CACvC,cAAsB;IAEtB,MAAM,UAAU,GAAkB,MAAM,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvE,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,WAAW,IAAY;QAC/D,MAAM;YACJ,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,OAAO,CACL,mCAAmC;QACnC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAChE,GAAG;QACH,MAAM,CACP,CAAC;AACJ,CAAC;AASM,KAAK,UAAU,YAAY,CAChC,cAAsB,EACtB,EAAU,EACV,OAAO,GAAG,KAAK;IAEf,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,IAAI;YACP,MAAM;gBACJ,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;oBAC/C,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBAChC,IAAI,CAAC;YACP,MAAM;QACR,KAAK,KAAK,CAAC;QACX;YACE,MAAM,IAAI,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YACjE,MAAM;IACV,CAAC;IACD,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,OAAO;YACV,OAAO,MAAM,GAAG,CAAC,MAAM,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC;QAC9D,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,OAAO,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3D;YACE,OAAO,MAAM,KAAK,CAAC,GAAG,CACpB,WAAW,GAAG,EAAE,GAAG,mBAAmB,EACtC,EAAE,EACF,OAAO,CACR,CAAC;IACN,CAAC;AACH,CAAC"}
|
package/lib/install.js
CHANGED
|
@@ -53,13 +53,13 @@ async function getScript(os) {
|
|
|
53
53
|
const filename = os + (await utils.scriptExtension(os));
|
|
54
54
|
const script_path = path_1.default.join(__dirname, '../src/scripts', filename);
|
|
55
55
|
const run_path = script_path.replace(os, 'run');
|
|
56
|
-
const extension_csv = await utils.getInput('extensions', false);
|
|
56
|
+
const extension_csv = utils.sanitizeShellInput(await utils.getInput('extensions', false), true);
|
|
57
57
|
const ini_values_csv = await utils.getInput('ini-values', false);
|
|
58
58
|
const coverage_driver = await utils.getInput('coverage', false);
|
|
59
59
|
const tools_csv = await utils.getInput('tools', false);
|
|
60
60
|
const version = await utils.parseVersion(await utils.readPHPVersion());
|
|
61
61
|
const ini_file = await utils.parseIniFile(await utils.getInput('ini-file', false));
|
|
62
|
-
let script = await utils.joins('.', script_path, version
|
|
62
|
+
let script = await utils.joins('.', script_path, `'${version}'`, ini_file);
|
|
63
63
|
if (extension_csv) {
|
|
64
64
|
script += await extensions.addExtension(extension_csv, version, os);
|
|
65
65
|
}
|
package/lib/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
package/lib/tools.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export interface ToolData {
|
|
|
26
26
|
export type ToolInput = Omit<ToolData, 'version' | 'url'> & {
|
|
27
27
|
version?: string;
|
|
28
28
|
};
|
|
29
|
+
export declare function skipGitHubAuthForComposerVersion(version: string): boolean;
|
|
30
|
+
export declare function cleanComposerAuthJson(): void;
|
|
29
31
|
export declare function getSemverVersion(data: ToolData): Promise<string>;
|
|
30
32
|
export declare function getLatestVersion(data: ToolInput): Promise<string>;
|
|
31
33
|
export declare function getVersion(version: string, data: ToolData): Promise<string>;
|
package/lib/tools.js
CHANGED
|
@@ -37,6 +37,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.functionRecord = void 0;
|
|
40
|
+
exports.skipGitHubAuthForComposerVersion = skipGitHubAuthForComposerVersion;
|
|
41
|
+
exports.cleanComposerAuthJson = cleanComposerAuthJson;
|
|
40
42
|
exports.getSemverVersion = getSemverVersion;
|
|
41
43
|
exports.getLatestVersion = getLatestVersion;
|
|
42
44
|
exports.getVersion = getVersion;
|
|
@@ -64,6 +66,38 @@ const cv = __importStar(require("compare-versions"));
|
|
|
64
66
|
const fetch = __importStar(require("./fetch"));
|
|
65
67
|
const packagist = __importStar(require("./packagist"));
|
|
66
68
|
const utils = __importStar(require("./utils"));
|
|
69
|
+
function skipGitHubAuthForComposerVersion(version) {
|
|
70
|
+
if (!/^\d+\.\d+\.\d+(?:-[\w-]+)?$/.test(version)) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return fs_1.default
|
|
74
|
+
.readFileSync(path_1.default.join(__dirname, '../src/configs/composer-gh-auth-no-op'), 'utf8')
|
|
75
|
+
.trim()
|
|
76
|
+
.split(/\r?\n/)
|
|
77
|
+
.some(range => {
|
|
78
|
+
const [min, max] = range.trim().split(/\s+/);
|
|
79
|
+
return (cv.compareVersions(version, min) >= 0 &&
|
|
80
|
+
cv.compareVersions(version, max) < 0);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function cleanComposerAuthJson() {
|
|
84
|
+
try {
|
|
85
|
+
const auth_json = process.env['COMPOSER_AUTH_JSON'] || '';
|
|
86
|
+
if (!auth_json.includes('github-oauth'))
|
|
87
|
+
return;
|
|
88
|
+
const auth = JSON.parse(auth_json);
|
|
89
|
+
delete auth['github-oauth'];
|
|
90
|
+
if (!Object.keys(auth).length) {
|
|
91
|
+
delete process.env['COMPOSER_AUTH_JSON'];
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
process.env['COMPOSER_AUTH_JSON'] = JSON.stringify(auth);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
67
101
|
async function getSemverVersion(data) {
|
|
68
102
|
const fixSemver = (t) => {
|
|
69
103
|
if (/^\d+\.\d+\.\d+(-|$)/.test(t))
|
|
@@ -136,7 +170,7 @@ async function getVersion(version, data) {
|
|
|
136
170
|
case !!data.repository && major_minor_regex.test(data.version):
|
|
137
171
|
return await getSemverVersion(data);
|
|
138
172
|
default:
|
|
139
|
-
return data.version.replace(/[
|
|
173
|
+
return data.version.replace(/[^a-zA-Z0-9_.:@+,/-]/g, '');
|
|
140
174
|
}
|
|
141
175
|
}
|
|
142
176
|
async function getRelease(release, data) {
|
|
@@ -209,7 +243,9 @@ async function addArchive(data) {
|
|
|
209
243
|
async function addPackage(data) {
|
|
210
244
|
const command = await utils.getCommand(data.os, 'composer_tool');
|
|
211
245
|
const parts = data.repository.split('/');
|
|
212
|
-
const args =
|
|
246
|
+
const args = [parts[1], data.release, parts[0] + '/', data.scope]
|
|
247
|
+
.map(a => utils.safeArg(a, data.os))
|
|
248
|
+
.join(' ');
|
|
213
249
|
return command + args;
|
|
214
250
|
}
|
|
215
251
|
async function addBlackfirePlayer(data) {
|
|
@@ -254,6 +290,7 @@ async function addComposer(data) {
|
|
|
254
290
|
const version_source_url = `${getcomposer}/download/${channel}/composer.phar`;
|
|
255
291
|
let cache_url = `${releases_url},${spc_url},${cds_url}`;
|
|
256
292
|
let source_url = `${getcomposer}/composer.phar`;
|
|
293
|
+
let skip_composer_github_auth = '';
|
|
257
294
|
switch (true) {
|
|
258
295
|
case /^snapshot$/.test(channel):
|
|
259
296
|
source_url = is_lts ? lts_url : source_url;
|
|
@@ -264,7 +301,11 @@ async function addComposer(data) {
|
|
|
264
301
|
case /^1$/.test(channel):
|
|
265
302
|
source_url = channel_source_url;
|
|
266
303
|
break;
|
|
267
|
-
case /^\d+\.\d+\.\d+[\w-]
|
|
304
|
+
case /^\d+\.\d+\.\d+(?:-[\w-]+)?$/.test(data.version):
|
|
305
|
+
if (skipGitHubAuthForComposerVersion(data.version)) {
|
|
306
|
+
cleanComposerAuthJson();
|
|
307
|
+
skip_composer_github_auth = ' true';
|
|
308
|
+
}
|
|
268
309
|
cache_url = `${github}/${data.repository}/releases/download/${data.version}/composer.phar`;
|
|
269
310
|
source_url = version_source_url;
|
|
270
311
|
break;
|
|
@@ -273,7 +314,7 @@ async function addComposer(data) {
|
|
|
273
314
|
}
|
|
274
315
|
const use_cache = (await utils.readEnv('NO_TOOLS_CACHE')) !== 'true';
|
|
275
316
|
data.url = use_cache ? `${cache_url},${source_url}` : source_url;
|
|
276
|
-
data.version_parameter = data.version;
|
|
317
|
+
data.version_parameter = data.version + skip_composer_github_auth;
|
|
277
318
|
return await addArchive(data);
|
|
278
319
|
}
|
|
279
320
|
async function addDeployer(data) {
|
package/lib/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiGA,4EAkBC;AAED,sDAcC;AAOD,4CAqCC;AAOD,4CAqBC;AAQD,gCAwBC;AAQD,gCAQC;AAOD,gCAgBC;AAOD,wBAyBC;AAOD,gCAcC;AAOD,gCAKC;AAOD,gCAOC;AAOD,gDAoBC;AAOD,8BAQC;AAOD,kCA0CC;AAOD,kCAyBC;AAOD,kCAmBC;AAOD,0BAEC;AAOD,4BASC;AAOD,4BA4BC;AAOD,0CAWC;AAOD,4BASC;AASD,0BAkEC;AA0BD,4BA2DC;AApvBD,gDAAwB;AACxB,4CAAoB;AACpB,qDAAuC;AACvC,+CAAiC;AACjC,uDAAyC;AACzC,+CAAiC;AA4FjC,SAAgB,gCAAgC,CAAC,OAAe;IAC9D,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,YAAE;SACN,YAAY,CACX,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uCAAuC,CAAC,EAC7D,MAAM,CACP;SACA,IAAI,EAAE;SACN,KAAK,CAAC,OAAO,CAAC;SACd,IAAI,CAAC,KAAK,CAAC,EAAE;QACZ,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,CACL,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC;YACrC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CACrC,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,qBAAqB;IACnC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE;QACtC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,MAAM,MAAM,GAAW,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,gCAAgC,IAAI,CAAC,YAAY,CAAC,6BAA6B,MAAM,GAAG,CAAC;IACrG,MAAM,YAAY,GAChB,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,gCAAgC,MAAM,GAAG,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI;aACd,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CACpB,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CACxD;aACA,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACvB,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,gBAAgB,CAAC,IAAe;IACpD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAC5B,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,gBAAgB,CAClD,CAAC;IACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,QAAQ,GAAa;YACzB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,8CAA8C,CAAC;SACtE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzB,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CACxD,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAC/C,CAAC;QACF,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IACnC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQM,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,IAAc;IAGd,MAAM,YAAY,GAChB,qLAAqL,CAAC;IACxL,MAAM,cAAc,GAAG,2CAA2C,CAAC;IACnE,MAAM,gBAAgB,GAAG,YAAY,CAAC;IACtC,MAAM,iBAAiB,GAAG,eAAe,CAAC;IAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAClE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;YAClE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,KAAK,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;YACnE,IAAI,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC;YAChD,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC;QAC7B,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC5D,OAAO,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACtC;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAQM,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,IAAc;IAEd,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAChB,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,UAAoB;IACnD,MAAM,SAAS,GAAG,kBAAkB,CAAC;IACrC,MAAM,WAAW,GACf,yEAAyE,CAAC;IAC5E,MAAM,OAAO,GAAa,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,IAAI,QAAQ,GAAG,UAAU,CAAC;IAC1B,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS;YAC1B,MAAM;QACR;YACE,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM;IACV,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,UAAU,CAAC;AACpB,CAAC;AAOM,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC;IACzC,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QAC3C,OAAO;YACL,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,MAAM;YACX,QAAQ;YACR,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS;SAC3B;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO;YACL,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO;YAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS;SAC3B;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,IAAc;IAC7C,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,CACL,IAAI,CAAC,MAAM;YACX,GAAG;YACH,IAAI,CAAC,IAAI;YACT,GAAG;YACH,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,OAAO;YACZ,OAAO,CACR,CAAC;IACJ,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,IAAc;IAC7C,OAAO,CACL,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CACjE,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,IAAc;IAC7C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,KAAK,GAAa,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;SACnC,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,OAAO,GAAG,IAAI,CAAC;AACxB,CAAC;AAOM,KAAK,UAAU,kBAAkB,CAAC,IAAc;IACrD,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,QAAQ,EACR,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,GAAG,wBAAwB,EACpC,OAAO,CACR,CAAC;QACJ;YACE,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACzB,CAAC;qBAAM,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAClD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,SAAS,CAAC,IAAc;IAC5C,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC;IACvE,IAAI,CAAC,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACrB,IAAI,CAAC,iBAAiB,GAAG,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAClD,CAAC,CAAC,IAAI,CAAC,iBAAiB;QACxB,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;IAChC,MAAM,GAAG,GAAG,0BAA0B,CAAC;IACvC,MAAM,GAAG,GAAG,iCAAiC,CAAC;IAC9C,MAAM,QAAQ,GAAG,YAAY,IAAI,CAAC,WAAW,IAAI,OAAO,OAAO,CAAC;IAChE,MAAM,YAAY,GAAG,GAAG,MAAM,yDAAyD,QAAQ,EAAE,CAAC;IAClG,MAAM,OAAO,GAAG,GAAG,GAAG,iDAAiD,QAAQ,EAAE,CAAC;IAClF,MAAM,OAAO,GAAG,GAAG,GAAG,aAAa,QAAQ,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,GAAG,WAAW,sCAAsC,CAAC;IACrE,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,GAAG,WAAW,aAAa,OAAO,OAAO,CAAC;IACrE,MAAM,kBAAkB,GAAG,GAAG,WAAW,aAAa,OAAO,gBAAgB,CAAC;IAC9E,IAAI,SAAS,GAAG,GAAG,YAAY,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;IACxD,IAAI,UAAU,GAAG,GAAG,WAAW,gBAAgB,CAAC;IAChD,IAAI,yBAAyB,GAAG,EAAE,CAAC;IACnC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;YAC3C,MAAM;QACR,KAAK,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;YAChC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACnD,MAAM;QACR,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACtB,UAAU,GAAG,kBAAkB,CAAC;YAChC,MAAM;QACR,KAAK,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACnD,IAAI,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,qBAAqB,EAAE,CAAC;gBACxB,yBAAyB,GAAG,OAAO,CAAC;YACtC,CAAC;YACD,SAAS,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,UAAU,sBAAsB,IAAI,CAAC,OAAO,gBAAgB,CAAC;YAC3F,UAAU,GAAG,kBAAkB,CAAC;YAChC,MAAM;QACR;YACE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACvD,CAAC;IACD,MAAM,SAAS,GAAY,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,MAAM,CAAC;IAC9E,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;IAClE,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACzE,MAAM,YAAY,GAA0C,IAAI,CAAC,KAAK,CACpE,QAAQ,CAAC,IAAI,CACd,CAAC;QACF,MAAM,WAAW,GAAuB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CACpE,CAAC,GAAW,EAAE,EAAE;YACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;QACpD,CAAC,CACF,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,QAAQ,EACR,UAAU,EACV,sCAAsC,EACtC,IAAI,CAAC,EAAE,CACR,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;QACrC,KAAK,OAAO;YACV,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,OAAO,EACP,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,GAAG,wBAAwB,EACpC,OAAO,CACR,CAAC;QACJ;YACE,OAAO,MAAM,KAAK,CAAC,GAAG,CACpB,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,mBAAmB,EAC3C,IAAI,CAAC,EAAE,EACP,OAAO,CACR,CAAC;IACN,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,OAAO,CAAC,IAAc;IAC1C,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAOM,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;IACvE,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QACrD,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACpC,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,QAAQ,EACR,OAAO,EACP,gCAAgC,GAAG,IAAI,CAAC,WAAW,EACnD,IAAI,CAAC,EAAE,CACR,CAAC;QACJ,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,MAAM;QACR,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,MAAM;QACR,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,MAAM;QACR,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,MAAM;QACR,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM;IACV,CAAC;IACD,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;IACrD,IAAI,CAAC,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,eAAe,CAAC,IAAc;IAElD,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO;YACV,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,QAAQ,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,uDAAuD,CAAC;QACnE,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AASM,KAAK,UAAU,OAAO,CAC3B,OAAe,EACf,WAAmB,EACnB,EAAU;IAEV,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;IACzE,MAAM,SAAS,GAAW,YAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,YAAY,GAA+B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,KAAK,GAAa,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,MAAmC,CAAC;IACxC,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,EAAC,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAuB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAC5D,CAAC,GAAW,EAAE,EAAE;YACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;QACzC,CAAC,CACF,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,EAAC,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG;gBACP,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxB,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,UAAU;aACjB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,EAAC,IAAI,EAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;IACvC,MAAM,IAAI,GAAa;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,EAAE;QACX,GAAG,EAAE,EAAE;QACP,EAAE;QACF,WAAW;QACX,MAAM;QACN,MAAM;QACN,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,OAAO;QACtC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;QACnC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC3C,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO;QAC5C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,QAAQ;QAC/B,iBAAiB,EACf,MAAM,CAAC,iBAAiB,IAAI,IAAI;YAC9B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC1C,CAAC,CAAC,EAAE;QACR,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;QAC3C,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE;QACtD,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;IACF,IAAI,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,GAAG,OAAO;QACpB,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC;QACjC,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC;AAEY,QAAA,cAAc,GAGvB;IACF,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,QAAQ;IACf,gBAAgB,EAAE,kBAAkB;IACpC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,QAAQ;CACjB,CAAC;AASK,KAAK,UAAU,QAAQ,CAC5B,SAAiB,EACjB,WAAmB,EACnB,EAAU;IAEV,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACrE,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,WAAW,OAAe;QAClE,MAAM,IAAI,GAAa,MAAM,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,IAAI,CAAC;QACf,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,KAAK,KAAK,SAAS;gBAC3B,MAAM,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvE,MAAM;YACR,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI;gBACvB,MAAM,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,UAAU,KAAK,IAAI,CAAC,IAAI;gBAC3B,MAAM,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,gBAAgB,KAAK,IAAI,CAAC,IAAI;gBACjC,MAAM,IAAI,MAAM,KAAK,CAAC,aAAa,CACjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACvB,OAAO,EACP,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,EAAE,CACR,CAAC;gBACF,MAAM;YACR,KAAK,iBAAiB,KAAK,IAAI,CAAC,IAAI;gBAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnB,MAAM,IAAI,MAAM,KAAK,CAAC,MAAM,CAC1B,QAAQ,EACR,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,GAAG,qDAAqD,EACjE,IAAI,CAAC,EAAE,CACR,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,MAAM,sBAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtD,CAAC;gBACD,MAAM;YACR,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3B,MAAM;YACR;gBACE,MAAM,IAAI,MAAM,KAAK,CAAC,MAAM,CAC1B,QAAQ,EACR,IAAI,CAAC,IAAI,EACT,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,mBAAmB,EACzC,IAAI,CAAC,EAAE,CACR,CAAC;gBACF,MAAM;QACV,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/lib/utils.d.ts
CHANGED
|
@@ -8,6 +8,9 @@ export declare function color(type: string): Promise<string>;
|
|
|
8
8
|
export declare function log(message: string, os: string, log_type: string): Promise<string>;
|
|
9
9
|
export declare function stepLog(message: string, os: string): Promise<string>;
|
|
10
10
|
export declare function addLog(mark: string, subject: string, message: string, os: string): Promise<string>;
|
|
11
|
+
export declare function escapeForShell(value: string, os: string): string;
|
|
12
|
+
export declare function safeArg(value: string, os: string): string;
|
|
13
|
+
export declare function sanitizeShellInput(value: string, strict?: boolean): string;
|
|
11
14
|
export declare function extensionArray(extension_csv: string): Promise<Array<string>>;
|
|
12
15
|
export declare function CSVArray(values_csv: string): Promise<Array<string>>;
|
|
13
16
|
export declare function getExtensionPrefix(extension: string): Promise<string>;
|
package/lib/utils.js
CHANGED
|
@@ -46,6 +46,9 @@ exports.color = color;
|
|
|
46
46
|
exports.log = log;
|
|
47
47
|
exports.stepLog = stepLog;
|
|
48
48
|
exports.addLog = addLog;
|
|
49
|
+
exports.escapeForShell = escapeForShell;
|
|
50
|
+
exports.safeArg = safeArg;
|
|
51
|
+
exports.sanitizeShellInput = sanitizeShellInput;
|
|
49
52
|
exports.extensionArray = extensionArray;
|
|
50
53
|
exports.CSVArray = CSVArray;
|
|
51
54
|
exports.getExtensionPrefix = getExtensionPrefix;
|
|
@@ -95,15 +98,27 @@ async function getManifestURLS() {
|
|
|
95
98
|
}
|
|
96
99
|
async function parseVersion(version) {
|
|
97
100
|
switch (true) {
|
|
101
|
+
case /^pre(-installed)?$/.test(version):
|
|
102
|
+
return 'pre';
|
|
98
103
|
case /^(latest|lowest|highest|nightly|master|\d+\.x)$/.test(version):
|
|
99
104
|
for (const manifestURL of await getManifestURLS()) {
|
|
100
105
|
const fetchResult = await fetch.fetch(manifestURL);
|
|
101
106
|
if (fetchResult['data'] ?? false) {
|
|
102
|
-
|
|
107
|
+
const resolved = JSON.parse(fetchResult['data'])[version];
|
|
108
|
+
if (resolved === undefined) {
|
|
109
|
+
throw new Error(`Invalid PHP version: ${version.slice(0, 20)}`);
|
|
110
|
+
}
|
|
111
|
+
if (!/^\d+\.\d+$/.test(resolved)) {
|
|
112
|
+
throw new Error(`Invalid PHP version in manifest: ${resolved.slice(0, 10)}`);
|
|
113
|
+
}
|
|
114
|
+
return resolved;
|
|
103
115
|
}
|
|
104
116
|
}
|
|
105
117
|
throw new Error(`Could not fetch the PHP version manifest.`);
|
|
106
118
|
default:
|
|
119
|
+
if (!/^\d+(\.\d+){0,2}$/.test(version)) {
|
|
120
|
+
throw new Error(`Invalid PHP version: ${version.slice(0, 20)}`);
|
|
121
|
+
}
|
|
107
122
|
switch (true) {
|
|
108
123
|
case version.length > 1:
|
|
109
124
|
return version.slice(0, 3);
|
|
@@ -113,14 +128,11 @@ async function parseVersion(version) {
|
|
|
113
128
|
}
|
|
114
129
|
}
|
|
115
130
|
async function parseIniFile(ini_file) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
return ini_file;
|
|
119
|
-
case /php\.ini-(production|development)$/.test(ini_file):
|
|
120
|
-
return ini_file.split('-')[1];
|
|
121
|
-
default:
|
|
122
|
-
return 'production';
|
|
131
|
+
if (/^(production|development|none)$/.test(ini_file)) {
|
|
132
|
+
return ini_file;
|
|
123
133
|
}
|
|
134
|
+
const match = ini_file.match(/php\.ini-(production|development)$/);
|
|
135
|
+
return match ? match[1] : 'production';
|
|
124
136
|
}
|
|
125
137
|
async function asyncForEach(array, callback) {
|
|
126
138
|
for (const [index, element] of array.entries()) {
|
|
@@ -155,25 +167,45 @@ async function log(message, os, log_type) {
|
|
|
155
167
|
async function stepLog(message, os) {
|
|
156
168
|
switch (os) {
|
|
157
169
|
case 'win32':
|
|
158
|
-
return 'Step-Log "' + message + '"';
|
|
170
|
+
return 'Step-Log "' + escapeForShell(message, os) + '"';
|
|
159
171
|
case 'linux':
|
|
160
172
|
case 'darwin':
|
|
161
|
-
return 'step_log "' + message + '"';
|
|
173
|
+
return 'step_log "' + escapeForShell(message, os) + '"';
|
|
162
174
|
default:
|
|
163
175
|
return await log('Platform ' + os + ' is not supported', os, 'error');
|
|
164
176
|
}
|
|
165
177
|
}
|
|
166
178
|
async function addLog(mark, subject, message, os) {
|
|
179
|
+
const sub = escapeForShell(subject, os);
|
|
180
|
+
const msg = escapeForShell(message, os);
|
|
167
181
|
switch (os) {
|
|
168
182
|
case 'win32':
|
|
169
|
-
return
|
|
183
|
+
return `Add-Log "${mark}" "${sub}" "${msg}"`;
|
|
170
184
|
case 'linux':
|
|
171
185
|
case 'darwin':
|
|
172
|
-
return
|
|
186
|
+
return `add_log "${mark}" "${sub}" "${msg}"`;
|
|
173
187
|
default:
|
|
174
188
|
return await log('Platform ' + os + ' is not supported', os, 'error');
|
|
175
189
|
}
|
|
176
190
|
}
|
|
191
|
+
function escapeForShell(value, os) {
|
|
192
|
+
if (os === 'win32') {
|
|
193
|
+
return value.replace(/[`$"]/g, '`$&');
|
|
194
|
+
}
|
|
195
|
+
return value.replace(/[\\`$"]/g, '\\$&');
|
|
196
|
+
}
|
|
197
|
+
function safeArg(value, os) {
|
|
198
|
+
if (!/^[a-zA-Z0-9_./:@+,~^-]*$/.test(value)) {
|
|
199
|
+
return '"' + escapeForShell(value, os) + '"';
|
|
200
|
+
}
|
|
201
|
+
return value;
|
|
202
|
+
}
|
|
203
|
+
function sanitizeShellInput(value, strict = false) {
|
|
204
|
+
const pattern = strict
|
|
205
|
+
? /[$`"';|&(){}[\]\\<>*?\n\r\t]/g
|
|
206
|
+
: /[$`"';|&(){}[\]\\\n\r\t]/g;
|
|
207
|
+
return value.replace(pattern, '');
|
|
208
|
+
}
|
|
177
209
|
async function extensionArray(extension_csv) {
|
|
178
210
|
switch (extension_csv) {
|
|
179
211
|
case '':
|
|
@@ -185,11 +217,11 @@ async function extensionArray(extension_csv) {
|
|
|
185
217
|
...extension_csv
|
|
186
218
|
.split(',')
|
|
187
219
|
.map(function (extension) {
|
|
220
|
+
extension = extension.trim().replace(/^\\\s*/, '');
|
|
188
221
|
if (/.+-.+\/.+@.+/.test(extension)) {
|
|
189
222
|
return extension;
|
|
190
223
|
}
|
|
191
224
|
return extension
|
|
192
|
-
.trim()
|
|
193
225
|
.toLowerCase()
|
|
194
226
|
.replace(/^(:)?(php[-_]|none|zend )|(-[^-]*)-/, '$1$3');
|
|
195
227
|
})
|
|
@@ -293,16 +325,23 @@ async function parseExtensionSource(extension, prefix) {
|
|
|
293
325
|
matches[2] = matches[2] ? matches[2].slice(0, -1) : 'https://github.com';
|
|
294
326
|
return await joins('\nadd_extension_from_source', ...matches.splice(1, matches.length), prefix);
|
|
295
327
|
}
|
|
328
|
+
const VERSION_INPUT_REGEX = /^(latest|lowest|highest|nightly|master|pre|pre-installed|\d+\.x|\d+(\.\d+){0,2})$/;
|
|
329
|
+
function validatePHPVersionInput(version, source) {
|
|
330
|
+
if (!VERSION_INPUT_REGEX.test(version)) {
|
|
331
|
+
throw new Error(`Invalid PHP version in ${source}: ${version.slice(0, 20)}`);
|
|
332
|
+
}
|
|
333
|
+
return version;
|
|
334
|
+
}
|
|
296
335
|
async function readPHPVersion() {
|
|
297
336
|
const version = await getInput('php-version', false);
|
|
298
337
|
if (version) {
|
|
299
|
-
return version;
|
|
338
|
+
return validatePHPVersionInput(version, 'php-version input');
|
|
300
339
|
}
|
|
301
340
|
const versionFile = (await getInput('php-version-file', false)) || '.php-version';
|
|
302
341
|
if (fs_1.default.existsSync(versionFile)) {
|
|
303
342
|
const contents = fs_1.default.readFileSync(versionFile, 'utf8');
|
|
304
343
|
const match = contents.match(/^(?:php\s)?(\d+\.\d+\.\d+)$/m);
|
|
305
|
-
return match ? match[1] : contents.trim();
|
|
344
|
+
return validatePHPVersionInput(match ? match[1] : contents.trim(), versionFile);
|
|
306
345
|
}
|
|
307
346
|
else if (versionFile !== '.php-version') {
|
|
308
347
|
throw new Error(`Could not find '${versionFile}' file.`);
|
|
@@ -311,18 +350,15 @@ async function readPHPVersion() {
|
|
|
311
350
|
const composerLock = path.join(composerProjectDir, 'composer.lock');
|
|
312
351
|
if (fs_1.default.existsSync(composerLock)) {
|
|
313
352
|
const lockFileContents = JSON.parse(fs_1.default.readFileSync(composerLock, 'utf8'));
|
|
314
|
-
if (lockFileContents['platform-overrides']
|
|
315
|
-
lockFileContents['platform-overrides']['php'])
|
|
316
|
-
return lockFileContents['platform-overrides']['php'];
|
|
353
|
+
if (lockFileContents['platform-overrides']?.['php']) {
|
|
354
|
+
return validatePHPVersionInput(lockFileContents['platform-overrides']['php'], 'composer.lock platform-overrides.php');
|
|
317
355
|
}
|
|
318
356
|
}
|
|
319
357
|
const composerJson = path.join(composerProjectDir, 'composer.json');
|
|
320
358
|
if (fs_1.default.existsSync(composerJson)) {
|
|
321
359
|
const composerFileContents = JSON.parse(fs_1.default.readFileSync(composerJson, 'utf8'));
|
|
322
|
-
if (composerFileContents['config']
|
|
323
|
-
composerFileContents['config']['platform']
|
|
324
|
-
composerFileContents['config']['platform']['php']) {
|
|
325
|
-
return composerFileContents['config']['platform']['php'];
|
|
360
|
+
if (composerFileContents['config']?.['platform']?.['php']) {
|
|
361
|
+
return validatePHPVersionInput(composerFileContents['config']['platform']['php'], 'composer.json config.platform.php');
|
|
326
362
|
}
|
|
327
363
|
}
|
|
328
364
|
return 'latest';
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "setup-php",
|
|
3
|
-
"version": "2.37.
|
|
3
|
+
"version": "2.37.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Setup PHP for use with GitHub Actions",
|
|
6
6
|
"main": "lib/install.js",
|
|
@@ -38,26 +38,26 @@
|
|
|
38
38
|
"compare-versions": "^6.1.1"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@eslint/compat": "^2.0
|
|
41
|
+
"@eslint/compat": "^2.1.0",
|
|
42
42
|
"@eslint/js": "^10.0.1",
|
|
43
43
|
"@types/jest": "^30.0.0",
|
|
44
|
-
"@types/node": "^25.
|
|
45
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
46
|
-
"@typescript-eslint/parser": "^8.
|
|
44
|
+
"@types/node": "^25.7.0",
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "^8.59.3",
|
|
46
|
+
"@typescript-eslint/parser": "^8.59.3",
|
|
47
47
|
"@vercel/ncc": "^0.38.4",
|
|
48
|
-
"eslint": "^10.0
|
|
48
|
+
"eslint": "^10.3.0",
|
|
49
49
|
"eslint-config-prettier": "^10.1.8",
|
|
50
50
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
51
51
|
"eslint-plugin-import-x": "^4.16.2",
|
|
52
|
-
"eslint-plugin-jest": "^29.15.
|
|
52
|
+
"eslint-plugin-jest": "^29.15.2",
|
|
53
53
|
"eslint-plugin-prettier": "^5.5.5",
|
|
54
|
-
"globals": "^17.
|
|
55
|
-
"jest": "^30.
|
|
56
|
-
"jest-circus": "^30.
|
|
57
|
-
"nock": "^14.0.
|
|
58
|
-
"prettier": "^3.8.
|
|
54
|
+
"globals": "^17.6.0",
|
|
55
|
+
"jest": "^30.4.2",
|
|
56
|
+
"jest-circus": "^30.4.2",
|
|
57
|
+
"nock": "^14.0.15",
|
|
58
|
+
"prettier": "^3.8.3",
|
|
59
59
|
"simple-git-hooks": "^2.13.1",
|
|
60
|
-
"ts-jest": "^29.4.
|
|
60
|
+
"ts-jest": "^29.4.9",
|
|
61
61
|
"typescript": "^5.9.3"
|
|
62
62
|
},
|
|
63
63
|
"overrides": {
|
package/src/config.ts
CHANGED
|
@@ -16,7 +16,7 @@ export async function addINIValuesUnix(
|
|
|
16
16
|
});
|
|
17
17
|
return (
|
|
18
18
|
'echo "' +
|
|
19
|
-
ini_values.join('\n') +
|
|
19
|
+
ini_values.map(v => utils.escapeForShell(v, 'linux')).join('\n') +
|
|
20
20
|
'" | sudo tee -a "${pecl_file:-${ini_file[@]}}" >/dev/null 2>&1' +
|
|
21
21
|
script
|
|
22
22
|
);
|
|
@@ -37,7 +37,10 @@ export async function addINIValuesWindows(
|
|
|
37
37
|
(await utils.addLog('$tick', line, 'Added to php.ini', 'win32')) + '\n';
|
|
38
38
|
});
|
|
39
39
|
return (
|
|
40
|
-
'Add-Content "$php_dir\\php.ini" "' +
|
|
40
|
+
'Add-Content "$php_dir\\php.ini" "' +
|
|
41
|
+
ini_values.map(v => utils.escapeForShell(v, 'win32')).join('\n') +
|
|
42
|
+
'"' +
|
|
43
|
+
script
|
|
41
44
|
);
|
|
42
45
|
}
|
|
43
46
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Composer %s has a known GitHub token parsing bug that exposes GitHub tokens in the error output. So, GitHub authentication has not been configured for this Composer version. Please update to the latest version of Composer. See: https://github.com/composer/composer/security/advisories/GHSA-f9f8-rm49-7jv2
|
package/src/install.ts
CHANGED
|
@@ -18,7 +18,10 @@ export async function getScript(os: string): Promise<string> {
|
|
|
18
18
|
const filename = os + (await utils.scriptExtension(os));
|
|
19
19
|
const script_path = path.join(__dirname, '../src/scripts', filename);
|
|
20
20
|
const run_path = script_path.replace(os, 'run');
|
|
21
|
-
const extension_csv: string =
|
|
21
|
+
const extension_csv: string = utils.sanitizeShellInput(
|
|
22
|
+
await utils.getInput('extensions', false),
|
|
23
|
+
true
|
|
24
|
+
);
|
|
22
25
|
const ini_values_csv: string = await utils.getInput('ini-values', false);
|
|
23
26
|
const coverage_driver: string = await utils.getInput('coverage', false);
|
|
24
27
|
const tools_csv: string = await utils.getInput('tools', false);
|
|
@@ -28,7 +31,7 @@ export async function getScript(os: string): Promise<string> {
|
|
|
28
31
|
const ini_file: string = await utils.parseIniFile(
|
|
29
32
|
await utils.getInput('ini-file', false)
|
|
30
33
|
);
|
|
31
|
-
let script = await utils.joins('.', script_path, version
|
|
34
|
+
let script = await utils.joins('.', script_path, `'${version}'`, ini_file);
|
|
32
35
|
if (extension_csv) {
|
|
33
36
|
script += await extensions.addExtension(extension_csv, version, os);
|
|
34
37
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Helper function to add gearman extension.
|
|
2
2
|
add_gearman_helper() {
|
|
3
|
-
install_packages libgearman-dev
|
|
4
3
|
enable_extension gearman extension
|
|
5
4
|
if ! check_extension gearman; then
|
|
6
5
|
status="Installed and enabled"
|
|
6
|
+
install_packages libgearman-dev
|
|
7
7
|
if [[ "${version:?}" =~ 5.[3-6] ]]; then
|
|
8
8
|
pecl_install gearman-1.1.2
|
|
9
9
|
elif [[ "${version:?}" =~ 7.0 ]]; then
|
|
@@ -19,26 +19,6 @@ Function Get-PhalconReleaseAssetUrl() {
|
|
|
19
19
|
$match = (Get-File -Url "$github/$releases/expanded_assets/v$Semver").Links.href | Select-String -Pattern "(phalcon_${arch}_.*_php${version}_${extension_version}.*[0-9]${nts}.zip)"
|
|
20
20
|
} catch { }
|
|
21
21
|
}
|
|
22
|
-
} else {
|
|
23
|
-
$nts = if (!$installed.ThreadSafe) { "-nts" } else { "-ts" }
|
|
24
|
-
try {
|
|
25
|
-
$match = (Invoke-RestMethod -Uri "$domain/$releases/tags/v$Semver").assets | Select-String -Pattern "browser_download_url=.*(php_phalcon-php${version}${nts}-windows.*-x64.zip)"
|
|
26
|
-
} catch { }
|
|
27
|
-
if($null -eq $match) {
|
|
28
|
-
try {
|
|
29
|
-
$match = (Get-File -Url "$github/$releases/expanded_assets/v$Semver").Links.href | Select-String -Pattern "(php_phalcon-php${version}${nts}-windows.*-x64.zip)"
|
|
30
|
-
} catch { }
|
|
31
|
-
}
|
|
32
|
-
if($null -eq $match) {
|
|
33
|
-
try {
|
|
34
|
-
$match = (Invoke-RestMethod -Uri "$domain/$releases/tags/v$Semver").assets | Select-String -Pattern "browser_download_url=.*(phalcon-php${version}${nts}-windows.*-x64.zip)"
|
|
35
|
-
} catch { }
|
|
36
|
-
}
|
|
37
|
-
if($null -eq $match) {
|
|
38
|
-
try {
|
|
39
|
-
$match = (Get-File -Url "$github/$releases/expanded_assets/v$Semver").Links.href | Select-String -Pattern "(phalcon-php${version}${nts}-windows.*-x64.zip)"
|
|
40
|
-
} catch { }
|
|
41
|
-
}
|
|
42
22
|
}
|
|
43
23
|
if($NULL -ne $match) {
|
|
44
24
|
return "$github/$releases/download/v$Semver/$($match.Matches[0].Groups[1].Value)"
|
|
@@ -73,6 +53,8 @@ Function Get-PhalconSemver() {
|
|
|
73
53
|
return '4.1.0'
|
|
74
54
|
} elseif (($extension_version -eq '5') -and ($version -eq '7.4')) {
|
|
75
55
|
return '5.4.0'
|
|
56
|
+
} elseif (($extension_version -eq '5') -and ($version -eq '8.0')) {
|
|
57
|
+
return '5.10.0'
|
|
76
58
|
}
|
|
77
59
|
return Get-PeclPackageVersion phalcon $extension_version stable stable | Select-Object -First 1
|
|
78
60
|
}
|
|
@@ -80,7 +62,7 @@ Function Get-PhalconSemver() {
|
|
|
80
62
|
# Function to install phalcon
|
|
81
63
|
Function Add-PhalconHelper() {
|
|
82
64
|
$semver = Get-PhalconSemver
|
|
83
|
-
if ($extension_version -
|
|
65
|
+
if ($extension_version -match '[3-4]') {
|
|
84
66
|
Add-PhalconFromGitHub $semver
|
|
85
67
|
} else {
|
|
86
68
|
Add-Extension -Extension phalcon -Stability stable -Extension_version $semver
|
|
@@ -3,6 +3,7 @@ $composer_home = "$env:APPDATA\Composer"
|
|
|
3
3
|
$composer_bin = "$composer_home\vendor\bin"
|
|
4
4
|
$composer_json = "$composer_home\composer.json"
|
|
5
5
|
$composer_lock = "$composer_home\composer.lock"
|
|
6
|
+
$skip_composer_github_auth = $false
|
|
6
7
|
|
|
7
8
|
# Function to configure composer.
|
|
8
9
|
Function Edit-ComposerConfig() {
|
|
@@ -23,6 +24,7 @@ Function Edit-ComposerConfig() {
|
|
|
23
24
|
if (-not(Test-Path $composer_json)) {
|
|
24
25
|
Set-Content -Path $composer_json -Value "{}"
|
|
25
26
|
}
|
|
27
|
+
Get-ToolVersion "composer" $null | Out-Null
|
|
26
28
|
Set-ComposerEnv
|
|
27
29
|
Add-Path $composer_bin
|
|
28
30
|
Set-ComposerAuth
|
|
@@ -74,8 +76,18 @@ function Test-GitHubPublicAccess {
|
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
78
|
|
|
79
|
+
Function Write-ComposerGhAuthNoOpWarning() {
|
|
80
|
+
$message = (Get-Content (Join-Path $src 'configs\composer-gh-auth-warn') -Raw).Trim().Replace('%s', $composer_version)
|
|
81
|
+
if($env:fail_fast -eq 'true') {
|
|
82
|
+
Add-Log "$cross" "composer" $message
|
|
83
|
+
} else {
|
|
84
|
+
Write-Output "::warning::$message"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
77
88
|
# Function to setup authentication in composer.
|
|
78
89
|
Function Set-ComposerAuth() {
|
|
90
|
+
$token = if ($env:COMPOSER_TOKEN) { $env:COMPOSER_TOKEN } else { $env:GITHUB_TOKEN }
|
|
79
91
|
if(Test-Path env:COMPOSER_AUTH_JSON) {
|
|
80
92
|
if(Test-Json -JSON $env:COMPOSER_AUTH_JSON) {
|
|
81
93
|
Set-Content -Path $composer_home\auth.json -Value $env:COMPOSER_AUTH_JSON
|
|
@@ -83,13 +95,18 @@ Function Set-ComposerAuth() {
|
|
|
83
95
|
Add-Log "$cross" "composer" "Could not parse COMPOSER_AUTH_JSON as valid JSON"
|
|
84
96
|
}
|
|
85
97
|
}
|
|
98
|
+
if($skip_composer_github_auth) {
|
|
99
|
+
Write-ComposerGhAuthNoOpWarning
|
|
100
|
+
}
|
|
86
101
|
$composer_auth = @()
|
|
87
102
|
if(Test-Path env:PACKAGIST_TOKEN) {
|
|
88
103
|
$composer_auth += '"http-basic": {"repo.packagist.com": { "username": "token", "password": "' + $env:PACKAGIST_TOKEN + '"}}'
|
|
89
104
|
}
|
|
90
105
|
$write_token = $true
|
|
91
|
-
$token = if ($env:COMPOSER_TOKEN) { $env:COMPOSER_TOKEN } else { $env:GITHUB_TOKEN }
|
|
92
106
|
if ($token) {
|
|
107
|
+
if ($skip_composer_github_auth) {
|
|
108
|
+
$write_token = $false
|
|
109
|
+
}
|
|
93
110
|
if ($env:GITHUB_SERVER_URL -ne "https://github.com" -and -not(Test-GitHubPublicAccess $token)) {
|
|
94
111
|
$write_token = $false
|
|
95
112
|
}
|
|
@@ -210,8 +227,13 @@ Function Add-Tool() {
|
|
|
210
227
|
[ValidateNotNull()]
|
|
211
228
|
$tool,
|
|
212
229
|
[Parameter(Position = 2, Mandatory = $false)]
|
|
213
|
-
$ver_param
|
|
230
|
+
$ver_param,
|
|
231
|
+
[Parameter(Position = 3, Mandatory = $false)]
|
|
232
|
+
$skip_composer_github_auth
|
|
214
233
|
)
|
|
234
|
+
if($tool -eq "composer") {
|
|
235
|
+
$script:skip_composer_github_auth = $skip_composer_github_auth -eq 'true'
|
|
236
|
+
}
|
|
215
237
|
$urls = $urls -split ','
|
|
216
238
|
$tool_path = "$bin_dir\$tool"
|
|
217
239
|
$is_exe = ((($urls[0] | Split-Path -Extension).ToLowerInvariant()) -eq '.exe')
|
|
@@ -3,6 +3,7 @@ export composer_home="$HOME/.composer"
|
|
|
3
3
|
export composer_bin="$composer_home/vendor/bin"
|
|
4
4
|
export composer_json="$composer_home/composer.json"
|
|
5
5
|
export composer_lock="$composer_home/composer.lock"
|
|
6
|
+
skip_composer_github_auth=false
|
|
6
7
|
|
|
7
8
|
# Function to extract tool version.
|
|
8
9
|
get_tool_version() {
|
|
@@ -41,6 +42,7 @@ configure_composer() {
|
|
|
41
42
|
echo '{}' | tee "$composer_json" >/dev/null
|
|
42
43
|
chmod 644 "$composer_json"
|
|
43
44
|
fi
|
|
45
|
+
get_tool_version composer >/dev/null
|
|
44
46
|
set_composer_env
|
|
45
47
|
add_path "$composer_bin"
|
|
46
48
|
set_composer_auth
|
|
@@ -70,22 +72,39 @@ can_access_public_github() {
|
|
|
70
72
|
curl --fail -s -H "Authorization: token $1" 'https://api.github.com/' >/dev/null 2>&1
|
|
71
73
|
}
|
|
72
74
|
|
|
75
|
+
composer_gh_auth_no_op() {
|
|
76
|
+
local message
|
|
77
|
+
message="$(<"${src:?}"/configs/composer-gh-auth-warn)"
|
|
78
|
+
message="${message//%s/$composer_version}"
|
|
79
|
+
if [ "${fail_fast:-false}" = "true" ]; then
|
|
80
|
+
add_log "${cross:?}" "composer" "$message"
|
|
81
|
+
else
|
|
82
|
+
echo "::warning::$message"
|
|
83
|
+
fi
|
|
84
|
+
}
|
|
85
|
+
|
|
73
86
|
# Function to setup authentication in composer.
|
|
74
87
|
set_composer_auth() {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
88
|
+
token="${COMPOSER_TOKEN:-$GITHUB_TOKEN}"
|
|
89
|
+
if [ -n "${COMPOSER_AUTH_JSON:-}" ]; then
|
|
90
|
+
if printf '%s' "$COMPOSER_AUTH_JSON" | jq -e . >/dev/null; then
|
|
91
|
+
printf '%s' "$COMPOSER_AUTH_JSON" | tee "$composer_home/auth.json" >/dev/null
|
|
78
92
|
else
|
|
79
93
|
add_log "${cross:?}" "composer" "Could not parse COMPOSER_AUTH_JSON as valid JSON"
|
|
80
94
|
fi
|
|
81
95
|
fi
|
|
96
|
+
if [ "$skip_composer_github_auth" = "true" ]; then
|
|
97
|
+
composer_gh_auth_no_op
|
|
98
|
+
fi
|
|
82
99
|
composer_auth=()
|
|
83
100
|
if [ -n "$PACKAGIST_TOKEN" ]; then
|
|
84
101
|
composer_auth+=( '"http-basic": {"repo.packagist.com": { "username": "token", "password": "'"$PACKAGIST_TOKEN"'"}}' )
|
|
85
102
|
fi
|
|
86
|
-
token="${COMPOSER_TOKEN:-$GITHUB_TOKEN}"
|
|
87
103
|
if [ -n "$token" ]; then
|
|
88
104
|
write_token=true
|
|
105
|
+
if [ "$skip_composer_github_auth" = "true" ]; then
|
|
106
|
+
write_token=false
|
|
107
|
+
fi
|
|
89
108
|
if [ "$GITHUB_SERVER_URL" != "https://github.com" ]; then
|
|
90
109
|
can_access_public_github "$token" || write_token=false
|
|
91
110
|
fi
|
|
@@ -182,6 +201,9 @@ add_tool() {
|
|
|
182
201
|
url=$1
|
|
183
202
|
tool=$2
|
|
184
203
|
ver_param=$3
|
|
204
|
+
if [ "$tool" = "composer" ]; then
|
|
205
|
+
skip_composer_github_auth="${4:-false}"
|
|
206
|
+
fi
|
|
185
207
|
tool_path="$tool_path_dir/$tool"
|
|
186
208
|
if ! [ -d "$tool_path_dir" ]; then
|
|
187
209
|
sudo mkdir -p "$tool_path_dir"
|
|
@@ -206,8 +228,8 @@ add_tool() {
|
|
|
206
228
|
url[0]="${url[0]//releases\/latest\/download/releases/download/$(get -s -n "" "$(echo "${url[0]}" | cut -d '/' -f '1-5')/releases" | grep -Eo -m 1 "([0-9]+\.[0-9]+\.[0-9]+)/$(echo "${url[0]}" | sed -e "s/.*\///")" | cut -d '/' -f 1)}"
|
|
207
229
|
status_code=$(get -v -e "$tool_path" "${url[0]}")
|
|
208
230
|
fi
|
|
209
|
-
if [ "$status_code" = "200" ]
|
|
210
|
-
sudo cp -a "$tool_path" "$cache_path"
|
|
231
|
+
if [ "$status_code" = "200" ]; then
|
|
232
|
+
[ "$use_cache" = "true" ] && sudo cp -a "$tool_path" "$cache_path"
|
|
211
233
|
elif [ -f "$tool_path.bak" ]; then
|
|
212
234
|
sudo mv "$tool_path.bak" "$tool_path"
|
|
213
235
|
fi
|
|
@@ -215,8 +237,8 @@ add_tool() {
|
|
|
215
237
|
fi
|
|
216
238
|
if [ "$status_code" = "200" ]; then
|
|
217
239
|
add_tools_helper "$tool"
|
|
218
|
-
[ -L "$tool_cache_path_dir/$tool" ] || sudo ln -s "$tool_path" "$tool_cache_path_dir/$tool" 2>/dev/null || true
|
|
219
240
|
tool_version=$(get_tool_version "$tool" "$ver_param")
|
|
241
|
+
sudo ln -sfn "$tool_path" "$tool_cache_path_dir/$tool" 2>/dev/null || true
|
|
220
242
|
add_log "${tick:?}" "$tool" "Added $tool $tool_version"
|
|
221
243
|
else
|
|
222
244
|
if [ "$tool" = "composer" ]; then
|
package/src/scripts/win32.ps1
CHANGED
|
@@ -203,16 +203,20 @@ Function Install-PSPackage() {
|
|
|
203
203
|
$cmdlet
|
|
204
204
|
)
|
|
205
205
|
$module_path = "$bin_dir\$psm1_path.psm1"
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
206
|
+
$imported = $false
|
|
207
|
+
try {
|
|
208
|
+
if(-not (Test-Path $module_path -PathType Leaf)) {
|
|
209
|
+
$zip_file = "$bin_dir\$package.zip"
|
|
210
|
+
Get-File -Url $url -OutFile $zip_file
|
|
211
|
+
Expand-Archive -Path $zip_file -DestinationPath $bin_dir -Force -ErrorAction Stop
|
|
212
|
+
}
|
|
213
|
+
Import-Module $module_path -ErrorAction Stop
|
|
214
|
+
$imported = $null -ne (Get-Command $cmdlet -ErrorAction SilentlyContinue)
|
|
215
|
+
} catch { }
|
|
216
|
+
if($imported) {
|
|
215
217
|
Add-ToProfile $current_profile "$package-search" "Import-Module $module_path"
|
|
218
|
+
} else {
|
|
219
|
+
Install-Module -Name $package -Force
|
|
216
220
|
}
|
|
217
221
|
}
|
|
218
222
|
|
package/src/tools.ts
CHANGED
|
@@ -95,6 +95,42 @@ interface DeployerManifestEntry {
|
|
|
95
95
|
url: string;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
export function skipGitHubAuthForComposerVersion(version: string): boolean {
|
|
99
|
+
if (!/^\d+\.\d+\.\d+(?:-[\w-]+)?$/.test(version)) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
return fs
|
|
103
|
+
.readFileSync(
|
|
104
|
+
path.join(__dirname, '../src/configs/composer-gh-auth-no-op'),
|
|
105
|
+
'utf8'
|
|
106
|
+
)
|
|
107
|
+
.trim()
|
|
108
|
+
.split(/\r?\n/)
|
|
109
|
+
.some(range => {
|
|
110
|
+
const [min, max] = range.trim().split(/\s+/);
|
|
111
|
+
return (
|
|
112
|
+
cv.compareVersions(version, min) >= 0 &&
|
|
113
|
+
cv.compareVersions(version, max) < 0
|
|
114
|
+
);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export function cleanComposerAuthJson(): void {
|
|
119
|
+
try {
|
|
120
|
+
const auth_json = process.env['COMPOSER_AUTH_JSON'] || '';
|
|
121
|
+
if (!auth_json.includes('github-oauth')) return;
|
|
122
|
+
const auth = JSON.parse(auth_json);
|
|
123
|
+
delete auth['github-oauth'];
|
|
124
|
+
if (!Object.keys(auth).length) {
|
|
125
|
+
delete process.env['COMPOSER_AUTH_JSON'];
|
|
126
|
+
} else {
|
|
127
|
+
process.env['COMPOSER_AUTH_JSON'] = JSON.stringify(auth);
|
|
128
|
+
}
|
|
129
|
+
} catch {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
98
134
|
/**
|
|
99
135
|
* Function to get version in semver format.
|
|
100
136
|
*
|
|
@@ -195,7 +231,7 @@ export async function getVersion(
|
|
|
195
231
|
case !!data.repository && major_minor_regex.test(data.version):
|
|
196
232
|
return await getSemverVersion(data);
|
|
197
233
|
default:
|
|
198
|
-
return data.version.replace(/[
|
|
234
|
+
return data.version.replace(/[^a-zA-Z0-9_.:@+,/-]/g, '');
|
|
199
235
|
}
|
|
200
236
|
}
|
|
201
237
|
|
|
@@ -311,12 +347,9 @@ export async function addArchive(data: ToolData): Promise<string> {
|
|
|
311
347
|
export async function addPackage(data: ToolData): Promise<string> {
|
|
312
348
|
const command = await utils.getCommand(data.os, 'composer_tool');
|
|
313
349
|
const parts: string[] = data.repository.split('/');
|
|
314
|
-
const args
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
parts[0] + '/',
|
|
318
|
-
data.scope
|
|
319
|
-
);
|
|
350
|
+
const args = [parts[1], data.release, parts[0] + '/', data.scope]
|
|
351
|
+
.map(a => utils.safeArg(a, data.os))
|
|
352
|
+
.join(' ');
|
|
320
353
|
return command + args;
|
|
321
354
|
}
|
|
322
355
|
|
|
@@ -383,6 +416,7 @@ export async function addComposer(data: ToolData): Promise<string> {
|
|
|
383
416
|
const version_source_url = `${getcomposer}/download/${channel}/composer.phar`;
|
|
384
417
|
let cache_url = `${releases_url},${spc_url},${cds_url}`;
|
|
385
418
|
let source_url = `${getcomposer}/composer.phar`;
|
|
419
|
+
let skip_composer_github_auth = '';
|
|
386
420
|
switch (true) {
|
|
387
421
|
case /^snapshot$/.test(channel):
|
|
388
422
|
source_url = is_lts ? lts_url : source_url;
|
|
@@ -393,7 +427,11 @@ export async function addComposer(data: ToolData): Promise<string> {
|
|
|
393
427
|
case /^1$/.test(channel):
|
|
394
428
|
source_url = channel_source_url;
|
|
395
429
|
break;
|
|
396
|
-
case /^\d+\.\d+\.\d+[\w-]
|
|
430
|
+
case /^\d+\.\d+\.\d+(?:-[\w-]+)?$/.test(data.version):
|
|
431
|
+
if (skipGitHubAuthForComposerVersion(data.version)) {
|
|
432
|
+
cleanComposerAuthJson();
|
|
433
|
+
skip_composer_github_auth = ' true';
|
|
434
|
+
}
|
|
397
435
|
cache_url = `${github}/${data.repository}/releases/download/${data.version}/composer.phar`;
|
|
398
436
|
source_url = version_source_url;
|
|
399
437
|
break;
|
|
@@ -402,7 +440,7 @@ export async function addComposer(data: ToolData): Promise<string> {
|
|
|
402
440
|
}
|
|
403
441
|
const use_cache: boolean = (await utils.readEnv('NO_TOOLS_CACHE')) !== 'true';
|
|
404
442
|
data.url = use_cache ? `${cache_url},${source_url}` : source_url;
|
|
405
|
-
data.version_parameter = data.version;
|
|
443
|
+
data.version_parameter = data.version + skip_composer_github_auth;
|
|
406
444
|
return await addArchive(data);
|
|
407
445
|
}
|
|
408
446
|
|
package/src/utils.ts
CHANGED
|
@@ -62,15 +62,31 @@ export async function getManifestURLS(): Promise<string[]> {
|
|
|
62
62
|
*/
|
|
63
63
|
export async function parseVersion(version: string): Promise<string> {
|
|
64
64
|
switch (true) {
|
|
65
|
+
case /^pre(-installed)?$/.test(version):
|
|
66
|
+
return 'pre';
|
|
65
67
|
case /^(latest|lowest|highest|nightly|master|\d+\.x)$/.test(version):
|
|
66
68
|
for (const manifestURL of await getManifestURLS()) {
|
|
67
69
|
const fetchResult = await fetch.fetch(manifestURL);
|
|
68
70
|
if (fetchResult['data'] ?? false) {
|
|
69
|
-
|
|
71
|
+
const resolved: string | undefined = JSON.parse(fetchResult['data'])[
|
|
72
|
+
version
|
|
73
|
+
];
|
|
74
|
+
if (resolved === undefined) {
|
|
75
|
+
throw new Error(`Invalid PHP version: ${version.slice(0, 20)}`);
|
|
76
|
+
}
|
|
77
|
+
if (!/^\d+\.\d+$/.test(resolved)) {
|
|
78
|
+
throw new Error(
|
|
79
|
+
`Invalid PHP version in manifest: ${resolved.slice(0, 10)}`
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
return resolved;
|
|
70
83
|
}
|
|
71
84
|
}
|
|
72
85
|
throw new Error(`Could not fetch the PHP version manifest.`);
|
|
73
86
|
default:
|
|
87
|
+
if (!/^\d+(\.\d+){0,2}$/.test(version)) {
|
|
88
|
+
throw new Error(`Invalid PHP version: ${version.slice(0, 20)}`);
|
|
89
|
+
}
|
|
74
90
|
switch (true) {
|
|
75
91
|
case version.length > 1:
|
|
76
92
|
return version.slice(0, 3);
|
|
@@ -86,14 +102,11 @@ export async function parseVersion(version: string): Promise<string> {
|
|
|
86
102
|
* @param ini_file
|
|
87
103
|
*/
|
|
88
104
|
export async function parseIniFile(ini_file: string): Promise<string> {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return ini_file;
|
|
92
|
-
case /php\.ini-(production|development)$/.test(ini_file):
|
|
93
|
-
return ini_file.split('-')[1];
|
|
94
|
-
default:
|
|
95
|
-
return 'production';
|
|
105
|
+
if (/^(production|development|none)$/.test(ini_file)) {
|
|
106
|
+
return ini_file;
|
|
96
107
|
}
|
|
108
|
+
const match = ini_file.match(/php\.ini-(production|development)$/);
|
|
109
|
+
return match ? match[1] : 'production';
|
|
97
110
|
}
|
|
98
111
|
|
|
99
112
|
/**
|
|
@@ -172,10 +185,10 @@ export async function log(
|
|
|
172
185
|
export async function stepLog(message: string, os: string): Promise<string> {
|
|
173
186
|
switch (os) {
|
|
174
187
|
case 'win32':
|
|
175
|
-
return 'Step-Log "' + message + '"';
|
|
188
|
+
return 'Step-Log "' + escapeForShell(message, os) + '"';
|
|
176
189
|
case 'linux':
|
|
177
190
|
case 'darwin':
|
|
178
|
-
return 'step_log "' + message + '"';
|
|
191
|
+
return 'step_log "' + escapeForShell(message, os) + '"';
|
|
179
192
|
default:
|
|
180
193
|
return await log('Platform ' + os + ' is not supported', os, 'error');
|
|
181
194
|
}
|
|
@@ -194,17 +207,40 @@ export async function addLog(
|
|
|
194
207
|
message: string,
|
|
195
208
|
os: string
|
|
196
209
|
): Promise<string> {
|
|
210
|
+
const sub = escapeForShell(subject, os);
|
|
211
|
+
const msg = escapeForShell(message, os);
|
|
197
212
|
switch (os) {
|
|
198
213
|
case 'win32':
|
|
199
|
-
return
|
|
214
|
+
return `Add-Log "${mark}" "${sub}" "${msg}"`;
|
|
200
215
|
case 'linux':
|
|
201
216
|
case 'darwin':
|
|
202
|
-
return
|
|
217
|
+
return `add_log "${mark}" "${sub}" "${msg}"`;
|
|
203
218
|
default:
|
|
204
219
|
return await log('Platform ' + os + ' is not supported', os, 'error');
|
|
205
220
|
}
|
|
206
221
|
}
|
|
207
222
|
|
|
223
|
+
export function escapeForShell(value: string, os: string): string {
|
|
224
|
+
if (os === 'win32') {
|
|
225
|
+
return value.replace(/[`$"]/g, '`$&');
|
|
226
|
+
}
|
|
227
|
+
return value.replace(/[\\`$"]/g, '\\$&');
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
export function safeArg(value: string, os: string): string {
|
|
231
|
+
if (!/^[a-zA-Z0-9_./:@+,~^-]*$/.test(value)) {
|
|
232
|
+
return '"' + escapeForShell(value, os) + '"';
|
|
233
|
+
}
|
|
234
|
+
return value;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
export function sanitizeShellInput(value: string, strict = false): string {
|
|
238
|
+
const pattern = strict
|
|
239
|
+
? /[$`"';|&(){}[\]\\<>*?\n\r\t]/g
|
|
240
|
+
: /[$`"';|&(){}[\]\\\n\r\t]/g;
|
|
241
|
+
return value.replace(pattern, '');
|
|
242
|
+
}
|
|
243
|
+
|
|
208
244
|
/**
|
|
209
245
|
* Function to break extension csv into an array
|
|
210
246
|
*
|
|
@@ -224,11 +260,11 @@ export async function extensionArray(
|
|
|
224
260
|
.split(',')
|
|
225
261
|
|
|
226
262
|
.map(function (extension: string) {
|
|
263
|
+
extension = extension.trim().replace(/^\\\s*/, '');
|
|
227
264
|
if (/.+-.+\/.+@.+/.test(extension)) {
|
|
228
265
|
return extension;
|
|
229
266
|
}
|
|
230
267
|
return extension
|
|
231
|
-
.trim()
|
|
232
268
|
.toLowerCase()
|
|
233
269
|
.replace(/^(:)?(php[-_]|none|zend )|(-[^-]*)-/, '$1$3');
|
|
234
270
|
})
|
|
@@ -431,22 +467,35 @@ export async function parseExtensionSource(
|
|
|
431
467
|
);
|
|
432
468
|
}
|
|
433
469
|
|
|
470
|
+
const VERSION_INPUT_REGEX =
|
|
471
|
+
/^(latest|lowest|highest|nightly|master|pre|pre-installed|\d+\.x|\d+(\.\d+){0,2})$/;
|
|
472
|
+
|
|
473
|
+
function validatePHPVersionInput(version: string, source: string): string {
|
|
474
|
+
if (!VERSION_INPUT_REGEX.test(version)) {
|
|
475
|
+
throw new Error(
|
|
476
|
+
`Invalid PHP version in ${source}: ${version.slice(0, 20)}`
|
|
477
|
+
);
|
|
478
|
+
}
|
|
479
|
+
return version;
|
|
480
|
+
}
|
|
481
|
+
|
|
434
482
|
/**
|
|
435
483
|
* Read php version from input or file
|
|
436
484
|
*/
|
|
437
485
|
export async function readPHPVersion(): Promise<string> {
|
|
438
486
|
const version = await getInput('php-version', false);
|
|
439
487
|
if (version) {
|
|
440
|
-
return version;
|
|
488
|
+
return validatePHPVersionInput(version, 'php-version input');
|
|
441
489
|
}
|
|
442
490
|
const versionFile =
|
|
443
491
|
(await getInput('php-version-file', false)) || '.php-version';
|
|
444
492
|
if (fs.existsSync(versionFile)) {
|
|
445
493
|
const contents: string = fs.readFileSync(versionFile, 'utf8');
|
|
446
|
-
const match
|
|
447
|
-
|
|
494
|
+
const match = contents.match(/^(?:php\s)?(\d+\.\d+\.\d+)$/m);
|
|
495
|
+
return validatePHPVersionInput(
|
|
496
|
+
match ? match[1] : contents.trim(),
|
|
497
|
+
versionFile
|
|
448
498
|
);
|
|
449
|
-
return match ? match[1] : contents.trim();
|
|
450
499
|
} else if (versionFile !== '.php-version') {
|
|
451
500
|
throw new Error(`Could not find '${versionFile}' file.`);
|
|
452
501
|
}
|
|
@@ -456,11 +505,11 @@ export async function readPHPVersion(): Promise<string> {
|
|
|
456
505
|
if (fs.existsSync(composerLock)) {
|
|
457
506
|
const lockFileContents = JSON.parse(fs.readFileSync(composerLock, 'utf8'));
|
|
458
507
|
/* istanbul ignore next */
|
|
459
|
-
if (
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
508
|
+
if (lockFileContents['platform-overrides']?.['php']) {
|
|
509
|
+
return validatePHPVersionInput(
|
|
510
|
+
lockFileContents['platform-overrides']['php'],
|
|
511
|
+
'composer.lock platform-overrides.php'
|
|
512
|
+
);
|
|
464
513
|
}
|
|
465
514
|
}
|
|
466
515
|
|
|
@@ -470,12 +519,11 @@ export async function readPHPVersion(): Promise<string> {
|
|
|
470
519
|
fs.readFileSync(composerJson, 'utf8')
|
|
471
520
|
);
|
|
472
521
|
/* istanbul ignore next */
|
|
473
|
-
if (
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
return composerFileContents['config']['platform']['php'];
|
|
522
|
+
if (composerFileContents['config']?.['platform']?.['php']) {
|
|
523
|
+
return validatePHPVersionInput(
|
|
524
|
+
composerFileContents['config']['platform']['php'],
|
|
525
|
+
'composer.json config.platform.php'
|
|
526
|
+
);
|
|
479
527
|
}
|
|
480
528
|
}
|
|
481
529
|
|