Compare commits

..
9 changed files with 14 additions and 80 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
fail-fast: false
matrix:
php: [8.4, 8.3, 8.2]
laravel: [11.x, 12.x]
laravel: [^11.15]
name: P${{ matrix.php }} - Laravel${{ matrix.laravel }}
steps:
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
matrix:
os: [ubuntu-22.04, windows-2019]
php: [8.4, 8.3, 8.2]
laravel: [~11.15, 12.x]
laravel: [^11.15]
stability: [prefer-lowest, prefer-stable]
steps:
- name: Set git to use LF
-31
View File
@@ -1,36 +1,5 @@
# Changelog
## v3.5.4 - 2025-01-14
### What's Changed
* Convert auth() helper to use Auth facade by @barryvdh in https://github.com/barryvdh/laravel-ide-helper/pull/1656
* Check if returnType from docblock is not null by @barryvdh in https://github.com/barryvdh/laravel-ide-helper/pull/1658
**Full Changelog**: https://github.com/barryvdh/laravel-ide-helper/compare/v3.5.3...v3.5.4
## v3.5.3 - 2025-01-08
### What's Changed
* Catch meta, tweak auth by @barryvdh in https://github.com/barryvdh/laravel-ide-helper/pull/1654
* Check if macro is valid by @barryvdh in https://github.com/barryvdh/laravel-ide-helper/pull/1655
* feat: use generics of return type to determine resulting models by @Bloemendaal in https://github.com/barryvdh/laravel-ide-helper/pull/1653
### New Contributors
* @Bloemendaal made their first contribution in https://github.com/barryvdh/laravel-ide-helper/pull/1653
**Full Changelog**: https://github.com/barryvdh/laravel-ide-helper/compare/v3.5.2...v3.5.3
## v3.5.2 - 2025-01-06
### Fixes
Fix empty/anonymous closure in meta command.
**Full Changelog**: https://github.com/barryvdh/laravel-ide-helper/compare/v3.5.1...v3.5.2
## v3.5.1 - 2025-01-06
### What's Changed
+8 -8
View File
@@ -25,19 +25,19 @@
"ext-json": "*",
"barryvdh/reflection-docblock": "^2.3",
"composer/class-map-generator": "^1.0",
"illuminate/console": "^11.15 || ^12",
"illuminate/database": "^11.15 || ^12",
"illuminate/filesystem": "^11.15 || ^12",
"illuminate/support": "^11.15 || ^12"
"illuminate/console": "^11.15",
"illuminate/database": "^11.15",
"illuminate/filesystem": "^11.15",
"illuminate/support": "^11.15"
},
"require-dev": {
"ext-pdo_sqlite": "*",
"friendsofphp/php-cs-fixer": "^3",
"illuminate/config": "^11.15 || ^12",
"illuminate/view": "^11.15 || ^12",
"illuminate/config": "^11.15",
"illuminate/view": "^11.15",
"mockery/mockery": "^1.4",
"orchestra/testbench": "^9.2 || ^10",
"phpunit/phpunit": "^10.5 || ^11.5.3",
"orchestra/testbench": "^9.2",
"phpunit/phpunit": "^10.5",
"spatie/phpunit-snapshot-assertions": "^4 || ^5",
"vimeo/psalm": "^5.4",
"vlucas/phpdotenv": "^5"
-1
View File
@@ -123,7 +123,6 @@ return [
'helper_files' => [
base_path() . '/vendor/laravel/framework/src/Illuminate/Support/helpers.php',
base_path() . '/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php',
],
/*
+1 -1
View File
@@ -72,7 +72,7 @@ function vsCodeGetConfigValue($value, $key, $configPaths)
$key = collect(explode('.', $key));
$key->pop();
$key = $key->implode('.');
$value = [];
$value = 'array(...)';
}
$nextKey = $keysToFind->shift();
+1 -7
View File
@@ -403,15 +403,9 @@ class Alias
$macros = isset($properties['macros']) ? $properties['macros'] : [];
foreach ($macros as $macro_name => $macro_func) {
if (!in_array($macro_name, $this->usedMethods)) {
try {
$method = $this->getMacroFunction($macro_func);
} catch (Throwable $e) {
// Invalid method, skip
continue;
}
// Add macros
$this->methods[] = new Macro(
$method,
$this->getMacroFunction($macro_func),
$this->alias,
$reflection,
$macro_name,
+1 -11
View File
@@ -628,10 +628,6 @@ class ModelsCommand extends Command
)
);
});
// https://github.com/barryvdh/laravel-ide-helper/issues/1664
$reflections = array_filter($reflections, function (\ReflectionMethod $methodReflection) {
return !($methodReflection->getName() === 'getUseFactoryAttribute');
});
sort($reflections);
foreach ($reflections as $reflection) {
$type = $this->getReturnTypeFromReflection($reflection);
@@ -823,16 +819,10 @@ class ModelsCommand extends Command
$relation === 'morphTo'
)
) {
$matches = [];
$returnType = $this->getReturnTypeFromDocBlock($reflection);
if ($returnType !== null) {
preg_match('/MorphTo<(?:contravariant\s+)?(.+?)(?:,|>)/i', $returnType, $matches);
}
// Model isn't specified because relation is polymorphic
$this->setProperty(
$method,
$matches[1] ?? $this->getClassNameInDestinationFile($model, Model::class) . '|\Eloquent',
$this->getClassNameInDestinationFile($model, Model::class) . '|\Eloquent',
true,
null,
$comment,
+1 -19
View File
@@ -80,7 +80,7 @@ class Generator
->with('namespaces_by_extends_ns', $this->getAliasesByExtendsNamespace())
->with('namespaces_by_alias_ns', $this->getAliasesByAliasNamespace())
->with('real_time_facades', $this->getRealTimeFacades())
->with('helpers', $this->detectHelpers())
->with('helpers', $this->helpers)
->with('include_fluent', $this->config->get('ide-helper.include_fluent', true))
->with('factories', $this->config->get('ide-helper.include_factory_builders') ? Factories::all() : [])
->render();
@@ -112,24 +112,6 @@ class Generator
->render();
}
protected function detectHelpers()
{
$helpers = $this->helpers;
$replacements = [
'($guard is null ? \Illuminate\Contracts\Auth\Factory : \Illuminate\Contracts\Auth\StatefulGuard)' => '\\Auth',
];
foreach ($replacements as $search => $replace) {
$helpers = Str::replace(
"@return {$search}",
"@return $replace|$search",
$helpers
);
}
return $helpers;
}
protected function detectDrivers()
{
$defaultUserModel = config('auth.providers.users.model', config('auth.model', 'App\User'));