Version 0.2.0 adds Laravel 5.4 support. For Laravel 5.3, please use Version 0.1.4:
composer require zachleigh/laravel-vue-generators:0.1.*
Install via composer:
composer require zachleigh/laravel-vue-generators
In Laravel's config/app.php file, add the service provider to the array with the 'providers' key.
VueGenerators\ServiceProvider::class
Publish the config file:
php artisan vendor:publish --provider="VueGenerators\ServiceProvider"
This package currently contains two commands: component
and mixin
.
Create a Vue js component file.
php artisan vueg:component {name} {--empty} {--path=}
Name of the component.
php artisan vueg:component MyComponent
Will create a file called MyComponent.vue at resources/assets/js/components/MyComponent.vue.
By default, the component will be filled with all available component methods (data, props, computed etc.). Use empty flag to create an empty component with no methods.
php artisan vueg:component MyComponent --empty
Will create a file with no component methods.
By default, all components will be saved in resources/assets/js/components/. Specify a custom path with the path flag. Path root is in resources/.
php artisan vueg:component MyComponent --path=assets/js/custom/folder
Will create a file called MyComponent.vue at resources/assets/js/custom/folder/MyComponent.vue.
Create a Vue js mixin file.
php artisan vueg:mixin {name} {--empty} {--path=}
Name of the mixin.
php artisan vueg:mixin MyMixin
Will create a file called MyMixin.vue at resources/assets/js/mixins/MyMixin.vue.
By default, the mixin will be filled with all available mixin methods (data, props, computed etc.). Use empty flag to create an empty mixin with no methods.
php artisan vueg:mixin MyMixin --empty
Will create a file with no mixin methods.
By default, all mixins will be saved in resources/assets/js/mixins/. Specify a custom path with the path flag. Path root is in resources/.
php artisan vueg:mixin MyMixin --path=assets/js/custom/folder
Will create a file called MyMixin.vue at resources/assets/js/custom/folder/MyMixin.vue.
Set default paths for components and mixins. All paths are relative to Laravel's resources directory.
'paths' => [
'components' => 'path/to/components',
'mixins' => 'path/to/mixins',
]
composer test
Contributions are more than welcome. Fork, improve and make a pull request. For bugs, ideas for improvement or other, please create an issue.