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());