41 lines
762 B
JavaScript
41 lines
762 B
JavaScript
const mix = require('laravel-mix')
|
|
const webpack = require('webpack')
|
|
const path = require('path')
|
|
|
|
class NovaExtension {
|
|
name() {
|
|
return 'nova-extension'
|
|
}
|
|
|
|
register(name) {
|
|
this.name = name
|
|
}
|
|
|
|
webpackPlugins() {
|
|
return new webpack.ProvidePlugin({
|
|
_: 'lodash',
|
|
Errors: 'form-backend-validation',
|
|
})
|
|
}
|
|
|
|
webpackConfig(webpackConfig) {
|
|
webpackConfig.externals = {
|
|
vue: 'Vue',
|
|
}
|
|
|
|
webpackConfig.resolve.alias = {
|
|
...(webpackConfig.resolve.alias || {}),
|
|
'laravel-nova': path.join(
|
|
__dirname,
|
|
'../../vendor/laravel/nova/resources/js/mixins/packages.js'
|
|
),
|
|
}
|
|
|
|
webpackConfig.output = {
|
|
uniqueName: this.name,
|
|
}
|
|
}
|
|
}
|
|
|
|
mix.extend('nova', new NovaExtension())
|