setup-php 1.11.5 → 1.11.6

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/lib/install.js ADDED
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.run = exports.build = void 0;
23
+ const exec_1 = require("@actions/exec");
24
+ const core = __importStar(require("@actions/core"));
25
+ const config = __importStar(require("./config"));
26
+ const coverage = __importStar(require("./coverage"));
27
+ const extensions = __importStar(require("./extensions"));
28
+ const tools = __importStar(require("./tools"));
29
+ const utils = __importStar(require("./utils"));
30
+ async function build(filename, version, os_version) {
31
+ const name = 'setup-php';
32
+ const url = 'https://setup-php.com/support';
33
+ const extension_csv = (await utils.getInput('extensions', false)) ||
34
+ (await utils.getInput('extension', false)) ||
35
+ (await utils.getInput('extension-csv', false));
36
+ const ini_values_csv = (await utils.getInput('ini-values', false)) ||
37
+ (await utils.getInput('ini-values-csv', false));
38
+ const coverage_driver = await utils.getInput('coverage', false);
39
+ const tools_csv = await utils.getInput('tools', false);
40
+ let script = await utils.readScript(filename);
41
+ script += await tools.addTools(tools_csv, version, os_version);
42
+ if (extension_csv) {
43
+ script += await extensions.addExtension(extension_csv, version, os_version);
44
+ }
45
+ if (coverage_driver) {
46
+ script += await coverage.addCoverage(coverage_driver, version, os_version);
47
+ }
48
+ if (ini_values_csv) {
49
+ script += await config.addINIValues(ini_values_csv, os_version);
50
+ }
51
+ script += '\n' + (await utils.stepLog('Support this project', os_version));
52
+ script += '\n' + (await utils.addLog('$tick', name, url, os_version));
53
+ return await utils.writeScript(filename, script);
54
+ }
55
+ exports.build = build;
56
+ async function run() {
57
+ try {
58
+ if ((await utils.readEnv('ImageOS')) == 'ubuntu16') {
59
+ core.setFailed('setup-php is not supported on Ubuntu 16.04. Please upgrade to Ubuntu 18.04 or Ubuntu 20.04 - https://setup-php.com/i/452');
60
+ return;
61
+ }
62
+ core.warning('setup-php v1 is deprecated.\nPlease upgrade to v2 - https://setup-php.com/w/Switch-to-v2');
63
+ const version = await utils.parseVersion(await utils.getInput('php-version', true));
64
+ if (parseFloat(version) < 5.6 || parseFloat(version) > 8.0) {
65
+ core.setFailed(`setup-php v1 supports only PHP 5.6 to 8.0.\nPlease upgrade to v2 - https://setup-php.com/w/Switch-to-v2`);
66
+ return;
67
+ }
68
+ if (version) {
69
+ const os_version = process.platform;
70
+ let script_path = '';
71
+ switch (os_version) {
72
+ case 'darwin':
73
+ case 'linux':
74
+ script_path = await build(os_version + '.sh', version, os_version);
75
+ await (0, exec_1.exec)('bash ' + script_path + ' ' + version + ' ' + __dirname);
76
+ break;
77
+ case 'win32':
78
+ script_path = await build('win32.ps1', version, os_version);
79
+ await (0, exec_1.exec)('pwsh ' + script_path + ' ' + version + ' ' + __dirname);
80
+ break;
81
+ }
82
+ }
83
+ else {
84
+ core.setFailed('Unable to get the PHP version');
85
+ }
86
+ }
87
+ catch (error) {
88
+ core.setFailed(error);
89
+ }
90
+ }
91
+ exports.run = run;
92
+ (async () => {
93
+ await run();
94
+ })().catch(error => {
95
+ core.setFailed(error.message);
96
+ });
97
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
package/lib/tools.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ export declare function getCommand(os_version: string, suffix: string): Promise<string>;
2
+ export declare function getToolVersion(version: string): Promise<string>;
3
+ export declare function parseTool(release: string): Promise<{
4
+ name: string;
5
+ version: string;
6
+ }>;
7
+ export declare function getUri(tool: string, extension: string, version: string, prefix: string, version_prefix: string, verb: string): Promise<string>;
8
+ export declare function addPhive(version: string, php_version: string, os_version: string): Promise<string>;
9
+ export declare function getPharUrl(domain: string, tool: string, prefix: string, version: string): Promise<string>;
10
+ export declare function getDeployerUrl(version: string): Promise<string>;
11
+ export declare function getSymfonyUri(version: string, os_version: string): Promise<string>;
12
+ export declare function addComposer(tools_list: string[]): Promise<string[]>;
13
+ export declare function getComposerUrl(version: string): Promise<string>;
14
+ export declare function getCleanedToolsList(tools_csv: string): Promise<string[]>;
15
+ export declare function addArchive(tool: string, url: string, os_version: string): Promise<string>;
16
+ export declare function addDevTools(tool: string, os_version: string): Promise<string>;
17
+ export declare function addPackage(tool: string, release: string, prefix: string, os_version: string): Promise<string>;
18
+ export declare function addTools(tools_csv: string, php_version: string, os_version: string): Promise<string>;
package/lib/tools.js ADDED
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.addTools = exports.addPackage = exports.addDevTools = exports.addArchive = exports.getCleanedToolsList = exports.getComposerUrl = exports.addComposer = exports.getSymfonyUri = exports.getDeployerUrl = exports.getPharUrl = exports.addPhive = exports.getUri = exports.parseTool = exports.getToolVersion = exports.getCommand = void 0;
23
+ const utils = __importStar(require("./utils"));
24
+ async function getCommand(os_version, suffix) {
25
+ switch (os_version) {
26
+ case 'linux':
27
+ case 'darwin':
28
+ return 'add_' + suffix + ' ';
29
+ case 'win32':
30
+ return 'Add-' + suffix.charAt(0).toUpperCase() + suffix.slice(1) + ' ';
31
+ default:
32
+ return await utils.log('Platform ' + os_version + ' is not supported', os_version, 'error');
33
+ }
34
+ }
35
+ exports.getCommand = getCommand;
36
+ async function getToolVersion(version) {
37
+ const semver_regex = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
38
+ const composer_regex = /^stable$|^preview$|^snapshot$|^[1|2]$/;
39
+ version = version.replace(/[><=^]*/, '').replace(/^v(\d)/, '$1');
40
+ switch (true) {
41
+ case composer_regex.test(version):
42
+ case semver_regex.test(version):
43
+ return version;
44
+ default:
45
+ return 'latest';
46
+ }
47
+ }
48
+ exports.getToolVersion = getToolVersion;
49
+ async function parseTool(release) {
50
+ const parts = release.split(':');
51
+ const tool = parts[0];
52
+ const version = parts[1];
53
+ switch (version) {
54
+ case undefined:
55
+ return {
56
+ name: tool,
57
+ version: 'latest'
58
+ };
59
+ default:
60
+ return {
61
+ name: tool,
62
+ version: await getToolVersion(parts[1])
63
+ };
64
+ }
65
+ }
66
+ exports.parseTool = parseTool;
67
+ async function getUri(tool, extension, version, prefix, version_prefix, verb) {
68
+ switch (version) {
69
+ case 'latest':
70
+ return [prefix, version, verb, tool + extension]
71
+ .filter(Boolean)
72
+ .join('/');
73
+ default:
74
+ return [prefix, verb, version_prefix + version, tool + extension]
75
+ .filter(Boolean)
76
+ .join('/');
77
+ }
78
+ }
79
+ exports.getUri = getUri;
80
+ async function addPhive(version, php_version, os_version) {
81
+ switch (true) {
82
+ case /5\.6|7\.0/.test(php_version):
83
+ version = version.replace('latest', '0.12.1');
84
+ break;
85
+ case /7\.1/.test(php_version):
86
+ version = version.replace('latest', '0.13.5');
87
+ break;
88
+ case /7\.2/.test(php_version):
89
+ version = version.replace('latest', '0.14.5');
90
+ break;
91
+ }
92
+ switch (version) {
93
+ case 'latest':
94
+ return ((await getCommand(os_version, 'tool')) +
95
+ 'https://phar.io/releases/phive.phar phive');
96
+ default:
97
+ return ((await getCommand(os_version, 'tool')) +
98
+ 'https://github.com/phar-io/phive/releases/download/' +
99
+ version +
100
+ '/phive-' +
101
+ version +
102
+ '.phar phive');
103
+ }
104
+ }
105
+ exports.addPhive = addPhive;
106
+ async function getPharUrl(domain, tool, prefix, version) {
107
+ switch (version) {
108
+ case 'latest':
109
+ return domain + '/' + tool + '.phar';
110
+ default:
111
+ return domain + '/' + tool + '-' + prefix + version + '.phar';
112
+ }
113
+ }
114
+ exports.getPharUrl = getPharUrl;
115
+ async function getDeployerUrl(version) {
116
+ const deployer = 'https://deployer.org';
117
+ switch (version) {
118
+ case 'latest':
119
+ return deployer + '/deployer.phar';
120
+ default:
121
+ return deployer + '/releases/v' + version + '/deployer.phar';
122
+ }
123
+ }
124
+ exports.getDeployerUrl = getDeployerUrl;
125
+ async function getSymfonyUri(version, os_version) {
126
+ let filename = '';
127
+ switch (os_version) {
128
+ case 'linux':
129
+ case 'darwin':
130
+ filename = 'symfony_' + os_version + '_amd64';
131
+ break;
132
+ case 'win32':
133
+ filename = 'symfony_windows_amd64.exe';
134
+ break;
135
+ default:
136
+ return await utils.log('Platform ' + os_version + ' is not supported', os_version, 'error');
137
+ }
138
+ switch (version) {
139
+ case 'latest':
140
+ return 'releases/latest/download/' + filename;
141
+ default:
142
+ return 'releases/download/v' + version + '/' + filename;
143
+ }
144
+ }
145
+ exports.getSymfonyUri = getSymfonyUri;
146
+ async function addComposer(tools_list) {
147
+ const regex_any = /^composer($|:.*)/;
148
+ const regex_valid = /^composer:?($|preview$|snapshot$|v?[1-2]$|v?\d+\.\d+\.\d+[\w-]*$)/;
149
+ const regex_composer1_tools = /hirak|prestissimo|narrowspark|composer-prefetcher/;
150
+ const matches = tools_list.filter(tool => regex_valid.test(tool));
151
+ let composer = 'composer';
152
+ tools_list = tools_list.filter(tool => !regex_any.test(tool));
153
+ switch (true) {
154
+ case regex_composer1_tools.test(tools_list.join(' ')):
155
+ composer = 'composer:1';
156
+ break;
157
+ case matches[0] == undefined:
158
+ break;
159
+ default:
160
+ composer = matches[matches.length - 1].replace(/v(\d\S*)/, '$1');
161
+ break;
162
+ }
163
+ tools_list.unshift(composer);
164
+ return tools_list;
165
+ }
166
+ exports.addComposer = addComposer;
167
+ async function getComposerUrl(version) {
168
+ let cache_url = `https://github.com/shivammathur/composer-cache/releases/latest/download/composer-${version.replace('latest', 'stable')}.phar`;
169
+ switch (true) {
170
+ case /^snapshot$/.test(version):
171
+ return `${cache_url},https://getcomposer.org/composer.phar`;
172
+ case /^preview$|^[1-2]$/.test(version):
173
+ return `${cache_url},https://getcomposer.org/composer-${version}.phar`;
174
+ case /^\d+\.\d+\.\d+[\w-]*$/.test(version):
175
+ cache_url = `https://github.com/composer/composer/releases/download/${version}/composer.phar`;
176
+ return `${cache_url},https://getcomposer.org/composer-${version}.phar`;
177
+ default:
178
+ return `${cache_url},https://getcomposer.org/composer-stable.phar`;
179
+ }
180
+ }
181
+ exports.getComposerUrl = getComposerUrl;
182
+ async function getCleanedToolsList(tools_csv) {
183
+ let tools_list = await utils.CSVArray(tools_csv);
184
+ tools_list = await addComposer(tools_list);
185
+ tools_list = tools_list
186
+ .map(function (extension) {
187
+ return extension
188
+ .trim()
189
+ .replace(/codeception\/|hirak\/|robmorgan\/|narrowspark\/automatic-/, '');
190
+ })
191
+ .filter(Boolean);
192
+ return [...new Set(tools_list)];
193
+ }
194
+ exports.getCleanedToolsList = getCleanedToolsList;
195
+ async function addArchive(tool, url, os_version) {
196
+ return (await getCommand(os_version, 'tool')) + url + ' ' + tool;
197
+ }
198
+ exports.addArchive = addArchive;
199
+ async function addDevTools(tool, os_version) {
200
+ switch (os_version) {
201
+ case 'linux':
202
+ return ('add_devtools' +
203
+ '\n' +
204
+ (await utils.addLog('$tick', tool, 'Added', 'linux')));
205
+ case 'darwin':
206
+ return await utils.addLog('$tick', tool, 'Added', 'darwin');
207
+ case 'win32':
208
+ return await utils.addLog('$cross', tool, tool + ' is not a windows tool', 'win32');
209
+ default:
210
+ return await utils.log('Platform ' + os_version + ' is not supported', os_version, 'error');
211
+ }
212
+ }
213
+ exports.addDevTools = addDevTools;
214
+ async function addPackage(tool, release, prefix, os_version) {
215
+ const tool_command = await getCommand(os_version, 'composertool');
216
+ return tool_command + tool + ' ' + release + ' ' + prefix;
217
+ }
218
+ exports.addPackage = addPackage;
219
+ async function addTools(tools_csv, php_version, os_version) {
220
+ let script = '\n' + (await utils.stepLog('Setup Tools', os_version));
221
+ const tools_list = await getCleanedToolsList(tools_csv);
222
+ await utils.asyncForEach(tools_list, async function (release) {
223
+ const tool_data = await parseTool(release);
224
+ const tool = tool_data.name;
225
+ const version = tool_data.version;
226
+ const github = 'https://github.com/';
227
+ let uri = await getUri(tool, '.phar', version, 'releases', '', 'download');
228
+ script += '\n';
229
+ let url = '';
230
+ switch (tool) {
231
+ case 'cs2pr':
232
+ uri = await getUri(tool, '', version, 'releases', '', 'download');
233
+ url = github + 'staabm/annotate-pull-request-from-checkstyle/' + uri;
234
+ script += await addArchive(tool, url, os_version);
235
+ break;
236
+ case 'php-cs-fixer':
237
+ uri = await getUri(tool, '.phar', version, 'releases', 'v', 'download');
238
+ url = github + 'FriendsOfPHP/PHP-CS-Fixer/' + uri;
239
+ script += await addArchive(tool, url, os_version);
240
+ break;
241
+ case 'phpcs':
242
+ case 'phpcbf':
243
+ url = github + 'squizlabs/PHP_CodeSniffer/' + uri;
244
+ script += await addArchive(tool, url, os_version);
245
+ break;
246
+ case 'phive':
247
+ script += await addPhive(version, php_version, os_version);
248
+ break;
249
+ case 'phpstan':
250
+ url = github + 'phpstan/phpstan/' + uri;
251
+ script += await addArchive(tool, url, os_version);
252
+ break;
253
+ case 'phpmd':
254
+ url = github + 'phpmd/phpmd/' + uri;
255
+ script += await addArchive(tool, url, os_version);
256
+ break;
257
+ case 'psalm':
258
+ url = github + 'vimeo/psalm/' + uri;
259
+ script += await addArchive(tool, url, os_version);
260
+ break;
261
+ case 'composer':
262
+ url = await getComposerUrl(version);
263
+ script += await addArchive('composer', url, os_version);
264
+ break;
265
+ case 'codeception':
266
+ script += await addPackage(tool, release, 'codeception/', os_version);
267
+ break;
268
+ case 'phpcpd':
269
+ case 'phpunit':
270
+ url = await getPharUrl('https://phar.phpunit.de', tool, '', version);
271
+ script += await addArchive(tool, url, os_version);
272
+ break;
273
+ case 'deployer':
274
+ url = await getDeployerUrl(version);
275
+ script += await addArchive(tool, url, os_version);
276
+ break;
277
+ case 'phinx':
278
+ script += await addPackage(tool, release, 'robmorgan/', os_version);
279
+ break;
280
+ case 'prestissimo':
281
+ script += await addPackage(tool, release, 'hirak/', os_version);
282
+ break;
283
+ case 'composer-prefetcher':
284
+ script += await addPackage(tool, release, 'narrowspark/automatic-', os_version);
285
+ break;
286
+ case 'pecl':
287
+ script += await getCommand(os_version, 'pecl');
288
+ break;
289
+ case 'php-config':
290
+ case 'phpize':
291
+ script += await addDevTools(tool, os_version);
292
+ break;
293
+ case 'symfony':
294
+ case 'symfony-cli':
295
+ uri = await getSymfonyUri(version, os_version);
296
+ url = github + 'symfony/cli/' + uri;
297
+ script += await addArchive('symfony', url, os_version);
298
+ break;
299
+ default:
300
+ script += await utils.addLog('$cross', tool, 'Tool ' + tool + ' is not supported', os_version);
301
+ break;
302
+ }
303
+ });
304
+ return script;
305
+ }
306
+ exports.addTools = addTools;
307
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/lib/utils.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ export declare function readEnv(property: string): Promise<string>;
2
+ export declare function getInput(name: string, mandatory: boolean): Promise<string>;
3
+ export declare function fetch(url: string): Promise<string>;
4
+ export declare function parseVersion(version: string): Promise<string>;
5
+ export declare function asyncForEach(array: Array<string>, callback: (element: string, index: number, array: Array<string>) => Promise<void>): Promise<void>;
6
+ export declare function color(type: string): Promise<string>;
7
+ export declare function log(message: string, os_version: string, log_type: string): Promise<string>;
8
+ export declare function stepLog(message: string, os_version: string): Promise<string>;
9
+ export declare function addLog(mark: string, subject: string, message: string, os_version: string): Promise<string>;
10
+ export declare function readScript(filename: string): Promise<string>;
11
+ export declare function writeScript(filename: string, script: string): Promise<string>;
12
+ export declare function extensionArray(extension_csv: string): Promise<Array<string>>;
13
+ export declare function CSVArray(values_csv: string): Promise<Array<string>>;
14
+ export declare function getExtensionPrefix(extension: string): Promise<string>;
15
+ export declare function suppressOutput(os_version: string): Promise<string>;
package/lib/utils.js ADDED
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ 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.fetch = exports.getInput = exports.readEnv = void 0;
23
+ const fs = __importStar(require("fs"));
24
+ const https = __importStar(require("https"));
25
+ const path = __importStar(require("path"));
26
+ const core = __importStar(require("@actions/core"));
27
+ async function readEnv(property) {
28
+ const property_lc = property.toLowerCase();
29
+ const property_uc = property.toUpperCase();
30
+ return (process.env[property] ||
31
+ process.env[property_lc] ||
32
+ process.env[property_uc] ||
33
+ process.env[property_lc.replace('_', '-')] ||
34
+ process.env[property_uc.replace('_', '-')] ||
35
+ '');
36
+ }
37
+ exports.readEnv = readEnv;
38
+ async function getInput(name, mandatory) {
39
+ const input = core.getInput(name);
40
+ const env_input = await readEnv(name);
41
+ switch (true) {
42
+ case input != '':
43
+ return input;
44
+ case input == '' && env_input != '':
45
+ return env_input;
46
+ case input == '' && env_input == '' && mandatory:
47
+ throw new Error(`Input required and not supplied: ${name}`);
48
+ default:
49
+ return '';
50
+ }
51
+ }
52
+ exports.getInput = getInput;
53
+ async function fetch(url) {
54
+ const fetch_promise = new Promise(resolve => {
55
+ const req = https.get(url, (res) => {
56
+ res.setEncoding('utf8');
57
+ let body = '';
58
+ res.on('data', chunk => (body += chunk));
59
+ res.on('end', () => resolve(body));
60
+ });
61
+ req.end();
62
+ });
63
+ return await fetch_promise;
64
+ }
65
+ exports.fetch = fetch;
66
+ async function parseVersion(version) {
67
+ const manifest = 'https://raw.githubusercontent.com/shivammathur/setup-php/releases/v1/src/configs/php-versions.json';
68
+ switch (true) {
69
+ case /^(latest|\d+\.x)$/.test(version):
70
+ return JSON.parse(await fetch(manifest))[version];
71
+ default:
72
+ switch (true) {
73
+ case version.length > 1:
74
+ return version.slice(0, 3);
75
+ default:
76
+ return version + '.0';
77
+ }
78
+ }
79
+ }
80
+ exports.parseVersion = parseVersion;
81
+ async function asyncForEach(array, callback) {
82
+ for (let index = 0; index < array.length; index++) {
83
+ await callback(array[index], index, array);
84
+ }
85
+ }
86
+ exports.asyncForEach = asyncForEach;
87
+ async function color(type) {
88
+ switch (type) {
89
+ case 'error':
90
+ return '31';
91
+ default:
92
+ case 'success':
93
+ return '32';
94
+ case 'warning':
95
+ return '33';
96
+ }
97
+ }
98
+ exports.color = color;
99
+ async function log(message, os_version, log_type) {
100
+ switch (os_version) {
101
+ case 'win32':
102
+ return ('printf "\\033[' +
103
+ (await color(log_type)) +
104
+ ';1m' +
105
+ message +
106
+ ' \\033[0m"');
107
+ case 'linux':
108
+ case 'darwin':
109
+ default:
110
+ return ('echo "\\033[' + (await color(log_type)) + ';1m' + message + '\\033[0m"');
111
+ }
112
+ }
113
+ exports.log = log;
114
+ async function stepLog(message, os_version) {
115
+ switch (os_version) {
116
+ case 'win32':
117
+ return 'Step-Log "' + message + '"';
118
+ case 'linux':
119
+ case 'darwin':
120
+ return 'step_log "' + message + '"';
121
+ default:
122
+ return await log('Platform ' + os_version + ' is not supported', os_version, 'error');
123
+ }
124
+ }
125
+ exports.stepLog = stepLog;
126
+ async function addLog(mark, subject, message, os_version) {
127
+ switch (os_version) {
128
+ case 'win32':
129
+ return 'Add-Log "' + mark + '" "' + subject + '" "' + message + '"';
130
+ case 'linux':
131
+ case 'darwin':
132
+ return 'add_log "' + mark + '" "' + subject + '" "' + message + '"';
133
+ default:
134
+ return await log('Platform ' + os_version + ' is not supported', os_version, 'error');
135
+ }
136
+ }
137
+ exports.addLog = addLog;
138
+ async function readScript(filename) {
139
+ return fs.readFileSync(path.join(__dirname, '../src/scripts/' + filename), 'utf8');
140
+ }
141
+ exports.readScript = readScript;
142
+ async function writeScript(filename, script) {
143
+ const runner_dir = await getInput('RUNNER_TOOL_CACHE', false);
144
+ const script_path = path.join(runner_dir, filename);
145
+ fs.writeFileSync(script_path, script, { mode: 0o755 });
146
+ return script_path;
147
+ }
148
+ exports.writeScript = writeScript;
149
+ async function extensionArray(extension_csv) {
150
+ switch (extension_csv) {
151
+ case '':
152
+ case ' ':
153
+ return [];
154
+ default:
155
+ return extension_csv
156
+ .split(',')
157
+ .map(function (extension) {
158
+ return extension
159
+ .trim()
160
+ .toLowerCase()
161
+ .replace(/^php[-_]/, '');
162
+ })
163
+ .filter(Boolean);
164
+ }
165
+ }
166
+ exports.extensionArray = extensionArray;
167
+ async function CSVArray(values_csv) {
168
+ switch (values_csv) {
169
+ case '':
170
+ case ' ':
171
+ return [];
172
+ default:
173
+ return values_csv
174
+ .split(/,(?=(?:(?:[^"']*["']){2})*[^"']*$)/)
175
+ .map(function (value) {
176
+ return value
177
+ .trim()
178
+ .replace(/^["']|["']$|(?<==)["']/g, '')
179
+ .replace(/=(((?!E_).)*[?{}|&~![()^]+((?!E_).)+)/, "='$1'");
180
+ })
181
+ .filter(Boolean);
182
+ }
183
+ }
184
+ exports.CSVArray = CSVArray;
185
+ async function getExtensionPrefix(extension) {
186
+ switch (true) {
187
+ default:
188
+ return 'extension';
189
+ case /xdebug([2-3])?$|opcache|ioncube|eaccelerator/.test(extension):
190
+ return 'zend_extension';
191
+ }
192
+ }
193
+ exports.getExtensionPrefix = getExtensionPrefix;
194
+ async function suppressOutput(os_version) {
195
+ switch (os_version) {
196
+ case 'win32':
197
+ return ' >$null 2>&1';
198
+ case 'linux':
199
+ case 'darwin':
200
+ return ' >/dev/null 2>&1';
201
+ default:
202
+ return await log('Platform ' + os_version + ' is not supported', os_version, 'error');
203
+ }
204
+ }
205
+ exports.suppressOutput = suppressOutput;
206
+ //# sourceMappingURL=utils.js.map