Skip to content

Commit 138ebb6

Browse files
committed
Read composer.lock in path and get laravel version
1 parent c2e48a4 commit 138ebb6

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

bin/laravel-coderunner

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/usr/bin/env php
2+
<?php
3+
4+
$laravelCodeRunner = [
5+
'path' => $argv[1] ?? __DIR__ . '/default-laravel',
6+
'laravel_version' => null,
7+
];
8+
9+
$laravelCodeRunner['composer_path'] = $laravelCodeRunner['path'] . '/composer.lock';
10+
11+
if (file_exists($laravelCodeRunner['composer_path'])) {
12+
try {
13+
$laravelCodeRunner['composer_lock'] = json_decode(file_get_contents($laravelCodeRunner['composer_path']), true);
14+
} catch (Exception $e) {
15+
die('Unable to read contents of composer.lock for project.' . PHP_EOL);
16+
}
17+
18+
foreach ($laravelCodeRunner['composer_lock']['packages'] ?? [] as $package) {
19+
if ($package['name'] === 'laravel/framework') {
20+
$laravelCodeRunner['laravel_version'] = $package['version'];
21+
break;
22+
}
23+
}
24+
25+
if (!$laravelCodeRunner['laravel_version']) {
26+
die('Unable to locate laravel installation in path.' . PHP_EOL);
27+
}
28+
} else {
29+
die('Unable to locate composer.lock for project.' . PHP_EOL);
30+
}
31+
32+
echo 'Laravel version is ' . $laravelCodeRunner['laravel_version'] . "\n";

0 commit comments

Comments
 (0)