module: {
noParse: undefined,
rules: [
{
test: /\.(mjs|jsx?)$/,
include: [
'<root>/resources'
],
parser: { requireEnsure: false }
},
{
oneOf: [
{
test: /\.toml$/,
type: 'json',
parser: { parse: [Function: parse] },
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.xml$/,
use: [
{
loader:
'<root>/node_modules/@roots/bud-support/lib/xml-loader/index.cjs',
ident: 'xml'
}
],
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.(csv|tsv)$/,
use: [
{
loader:
'<root>/node_modules/@roots/bud-support/lib/csv-loader/index.cjs',
ident: 'csv'
}
],
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.ya?ml$/,
use: [
{
loader:
'<root>/node_modules/@roots/bud-support/lib/yml-loader/index.cjs',
ident: 'yml'
}
],
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.(html?)$/,
use: [
{
loader:
'<root>/node_modules/@roots/bud-support/lib/html-loader/index.cjs',
ident: 'html'
}
],
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.json$/,
type: 'json',
parser: { parse: undefined },
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.(ttf|otf|eot|woff2?|ico)$/,
type: 'asset',
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.svg$/,
type: 'asset/resource',
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.webp$/,
type: 'asset/resource',
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.(png|jpe?g|gif|webp)$/,
type: 'asset/resource',
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.(ttf|otf|eot|woff2?|ico)$/,
type: 'asset/inline',
resourceQuery: /inline/,
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.svg$/,
type: 'asset/inline',
generator: { dataUrl: [Function: dataUrl] },
resourceQuery: /inline/,
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.(png|jpe?g|gif|webp)$/,
type: 'asset/inline',
resourceQuery: /inline/,
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.module\.css$/,
use: [
{
loader:
'<root>/node_modules/mini-css-extract-plugin/dist/loader.js',
options: { esModule: false },
ident: 'minicss'
},
{
loader:
'<root>/node_modules/@roots/bud-support/lib/css-loader/index.cjs',
options: { importLoaders: 2, modules: true, sourceMap: false },
ident: 'cssModule'
},
{
loader: '<root>/node_modules/postcss-loader/dist/cjs.js',
options: {
postcssOptions: {
config: false,
syntax: 'postcss-scss',
parser: undefined,
plugins: [
'<root>/node_modules/postcss-import/index.js',
'<root>/node_modules/postcss-nested/index.js',
[ 'postcss-scss' ],
[
'<root>/node_modules/postcss-preset-env/dist/index.cjs',
{
stage: 1,
features: { 'focus-within-pseudo-class': false }
}
]
]
},
sourceMap: undefined
},
ident: 'postcss'
},
{
loader: '<root>/node_modules/sass-loader/dist/cjs.js',
options: {
implementation: {
load: [Function (anonymous)],
compile: [Function: sass.compile],
compileString: [Function: sass.compileString],
compileAsync: [Function: sass.compileAsync],
compileStringAsync: [Function: sass.compileStringAsync],
Value: [Function: Value0],
SassBoolean: [Function: sass.SassBoolean],
SassArgumentList: [Function: sass.SassArgumentList],
SassColor: [Function: sass.SassColor],
SassFunction: [Function: sass.SassFunction],
SassList: [Function: sass.SassList],
SassMap: [Function: sass.SassMap],
SassNumber: [Function: sass.SassNumber],
SassString: [Function: sass.SassString],
sassNull: null,
sassTrue: true,
sassFalse: false,
Exception: [class sass.Exception extends Error],
Logger: {
silent: {
warn: [Function: sass.Logger.silent.warn],
debug: [Function: sass.Logger.silent.debug]
}
},
info: 'dart-sass\t1.62.1\t(Sass Compiler)\t[Dart]\n' +
'dart2js\t2.19.6\t(Dart Compiler)\t[Dart]',
render: [Function: sass.render],
renderSync: [Function: sass.renderSync],
types: {
Boolean: [Function: sass.types.Boolean] {
TRUE: true,
FALSE: false
},
Color: [Function: sass.types.Color],
List: [Function: sass.types.List],
Map: [Function: sass.types.Map],
Null: [Function: sass.types.Null] { NULL: null },
Number: [Function: sass.types.Number],
String: [Function: sass.types.String],
Error: [Function: Error] { stackTraceLimit: 10 }
},
NULL: null,
TRUE: true,
FALSE: false,
cli_pkg_main_0_: <ref *1> [Function (anonymous)] {
'___dart__$dart_dartClosure_ZxYxX_0_': _wrapMain_closure0
{
main: StaticClosure {
'$initialize': [Function: StaticClosure],
constructor: [Function: static_tear_off],
'$_name': 'main0',
'$_target': [Function: main0],
'$static_name': 'main0',
'$signature': 599,
'call$1': [Function: main0],
'call*': [Function: main0],
'$requiredArgCount': 1,
'$defaultValues': null
},
'$dart_jsFunction': [Circular *1]
}
}
},
sourceMap: true,
additionalData: '@import "vuetify/styles";\n' +
'@import "vuetify/lib/components/VApp/VApp";\n' +
'@import "vuetify/lib/components/VMain/VMain";\n' +
'@import "vuetify/lib/components/VGrid/VGrid";\n' +
'@import "vuetify/lib/components/VCard/VCard";\n' +
'@import "vuetify/lib/components/VAvatar/VAvatar";\n' +
'@import "vuetify/lib/components/VIcon/VIcon";\n' +
'@import "vuetify/lib/components/VDivider/VDivider";'
},
ident: 'sass'
}
],
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /(?!.*\.module)\.css$/,
use: [
{
loader: '<root>/node_modules/vue-style-loader/index.js',
ident: 'vue-style'
},
{
loader:
'<root>/node_modules/mini-css-extract-plugin/dist/loader.js',
options: { esModule: false },
ident: 'minicss'
},
{
loader:
'<root>/node_modules/@roots/bud-support/lib/css-loader/index.cjs',
options: { importLoaders: 3, modules: false, sourceMap: false },
ident: 'css'
},
{
loader: '<root>/node_modules/postcss-loader/dist/cjs.js',
options: {
postcssOptions: {
config: false,
syntax: 'postcss-scss',
parser: undefined,
plugins: [
'<root>/node_modules/postcss-import/index.js',
'<root>/node_modules/postcss-nested/index.js',
[ 'postcss-scss' ],
[
'<root>/node_modules/postcss-preset-env/dist/index.cjs',
{
stage: 1,
features: { 'focus-within-pseudo-class': false }
}
]
]
},
sourceMap: undefined
},
ident: 'postcss'
},
{
loader: '<root>/node_modules/sass-loader/dist/cjs.js',
options: {
implementation: {
load: [Function (anonymous)],
compile: [Function: sass.compile],
compileString: [Function: sass.compileString],
compileAsync: [Function: sass.compileAsync],
compileStringAsync: [Function: sass.compileStringAsync],
Value: [Function: Value0],
SassBoolean: [Function: sass.SassBoolean],
SassArgumentList: [Function: sass.SassArgumentList],
SassColor: [Function: sass.SassColor],
SassFunction: [Function: sass.SassFunction],
SassList: [Function: sass.SassList],
SassMap: [Function: sass.SassMap],
SassNumber: [Function: sass.SassNumber],
SassString: [Function: sass.SassString],
sassNull: null,
sassTrue: true,
sassFalse: false,
Exception: [class sass.Exception extends Error],
Logger: {
silent: {
warn: [Function: sass.Logger.silent.warn],
debug: [Function: sass.Logger.silent.debug]
}
},
info: 'dart-sass\t1.62.1\t(Sass Compiler)\t[Dart]\n' +
'dart2js\t2.19.6\t(Dart Compiler)\t[Dart]',
render: [Function: sass.render],
renderSync: [Function: sass.renderSync],
types: {
Boolean: [Function: sass.types.Boolean] {
TRUE: true,
FALSE: false
},
Color: [Function: sass.types.Color],
List: [Function: sass.types.List],
Map: [Function: sass.types.Map],
Null: [Function: sass.types.Null] { NULL: null },
Number: [Function: sass.types.Number],
String: [Function: sass.types.String],
Error: [Function: Error] { stackTraceLimit: 10 }
},
NULL: null,
TRUE: true,
FALSE: false,
cli_pkg_main_0_: <ref *1> [Function (anonymous)] {
'___dart__$dart_dartClosure_ZxYxX_0_': _wrapMain_closure0
{
main: StaticClosure {
'$initialize': [Function: StaticClosure],
constructor: [Function: static_tear_off],
'$_name': 'main0',
'$_target': [Function: main0],
'$static_name': 'main0',
'$signature': 599,
'call$1': [Function: main0],
'call*': [Function: main0],
'$requiredArgCount': 1,
'$defaultValues': null
},
'$dart_jsFunction': [Circular *1]
}
}
},
sourceMap: true,
additionalData: '@import "vuetify/styles";\n' +
'@import "vuetify/lib/components/VApp/VApp";\n' +
'@import "vuetify/lib/components/VMain/VMain";\n' +
'@import "vuetify/lib/components/VGrid/VGrid";\n' +
'@import "vuetify/lib/components/VCard/VCard";\n' +
'@import "vuetify/lib/components/VAvatar/VAvatar";\n' +
'@import "vuetify/lib/components/VIcon/VIcon";\n' +
'@import "vuetify/lib/components/VDivider/VDivider";'
},
ident: 'sass'
}
],
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.(mjs|jsx?)$/,
use: [
{
loader: '<root>/node_modules/babel-loader/lib/index.js',
options: {
cacheIdentifier: 'babel',
cacheDirectory: '/Users/jak/Library/Caches/bud-nodejs/pSfYjEU8
0AODRN7b21L8/FV6zE0=/sage/cache/babel',
configFile: false,
presets: [
[
'<root>/node_modules/@babel/preset-env/lib/index.js'
],
[
'<root>/node_modules/@babel/preset-react/lib/index.js'
],
[ '@vue/cli-plugin-babel/preset' ]
],
plugins: [
[
'<root>/node_modules/@babel/plugin-transform-runtime/lib/index.js',
{ helpers: false }
]
],
env: { development: { compact: false } },
root: '<root>',
targets: [ 'extends @roots/browserslist-config' ]
},
ident: 'babel'
},
{
loader:
'<root>/node_modules/@roots/wordpress-hmr/lib/loader.cjs',
options: { notify: true },
ident: '@roots/wordpress-hmr/loader'
}
],
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
},
{
test: /\.s[ac]ss$/i,
use: [
{
loader: '<root>/node_modules/vue-style-loader/index.js',
ident: 'vue-style'
},
{
loader:
'<root>/node_modules/mini-css-extract-plugin/dist/loader.js',
options: { esModule: false },
ident: 'minicss'
},
{
loader:
'<root>/node_modules/@roots/bud-support/lib/css-loader/index.cjs',
options: { importLoaders: 3, modules: false, sourceMap: false },
ident: 'css'
},
{
loader: '<root>/node_modules/postcss-loader/dist/cjs.js',
options: {
postcssOptions: {
config: false,
syntax: 'postcss-scss',
parser: undefined,
plugins: [
'<root>/node_modules/postcss-import/index.js',
'<root>/node_modules/postcss-nested/index.js',
[ 'postcss-scss' ],
[
'<root>/node_modules/postcss-preset-env/dist/index.cjs',
{
stage: 1,
features: { 'focus-within-pseudo-class': false }
}
]
]
},
sourceMap: undefined
},
ident: 'postcss'
},
{
loader: '<root>/node_modules/resolve-url-loader/index.js',
options: {
root: '<root>/resources',
sourceMap: true
},
ident: 'resolveUrl'
},
{
loader: '<root>/node_modules/sass-loader/dist/cjs.js',
options: {
implementation: {
load: [Function (anonymous)],
compile: [Function: sass.compile],
compileString: [Function: sass.compileString],
compileAsync: [Function: sass.compileAsync],
compileStringAsync: [Function: sass.compileStringAsync],
Value: [Function: Value0],
SassBoolean: [Function: sass.SassBoolean],
SassArgumentList: [Function: sass.SassArgumentList],
SassColor: [Function: sass.SassColor],
SassFunction: [Function: sass.SassFunction],
SassList: [Function: sass.SassList],
SassMap: [Function: sass.SassMap],
SassNumber: [Function: sass.SassNumber],
SassString: [Function: sass.SassString],
sassNull: null,
sassTrue: true,
sassFalse: false,
Exception: [class sass.Exception extends Error],
Logger: {
silent: {
warn: [Function: sass.Logger.silent.warn],
debug: [Function: sass.Logger.silent.debug]
}
},
info: 'dart-sass\t1.62.1\t(Sass Compiler)\t[Dart]\n' +
'dart2js\t2.19.6\t(Dart Compiler)\t[Dart]',
render: [Function: sass.render],
renderSync: [Function: sass.renderSync],
types: {
Boolean: [Function: sass.types.Boolean] {
TRUE: true,
FALSE: false
},
Color: [Function: sass.types.Color],
List: [Function: sass.types.List],
Map: [Function: sass.types.Map],
Null: [Function: sass.types.Null] { NULL: null },
Number: [Function: sass.types.Number],
String: [Function: sass.types.String],
Error: [Function: Error] { stackTraceLimit: 10 }
},
NULL: null,
TRUE: true,
FALSE: false,
cli_pkg_main_0_: <ref *1> [Function (anonymous)] {
'___dart__$dart_dartClosure_ZxYxX_0_': _wrapMain_closure0
{
main: StaticClosure {
'$initialize': [Function: StaticClosure],
constructor: [Function: static_tear_off],
'$_name': 'main0',
'$_target': [Function: main0],
'$static_name': 'main0',
'$signature': 599,
'call$1': [Function: main0],
'call*': [Function: main0],
'$requiredArgCount': 1,
'$defaultValues': null
},
'$dart_jsFunction': [Circular *1]
}
}
},
sourceMap: true,
additionalData: '@import "vuetify/styles";\n' +
'@import "vuetify/lib/components/VApp/VApp";\n' +
'@import "vuetify/lib/components/VMain/VMain";\n' +
'@import "vuetify/lib/components/VGrid/VGrid";\n' +
'@import "vuetify/lib/components/VCard/VCard";\n' +
'@import "vuetify/lib/components/VAvatar/VAvatar";\n' +
'@import "vuetify/lib/components/VIcon/VIcon";\n' +
'@import "vuetify/lib/components/VDivider/VDivider";'
},
ident: 'sass'
}
],
include: [
'<root>/node_modules/vuetify',
'<root>/node_modules/@mdi/font'
]
}
]
}
],
unsafeCache: false
},
name: 'sage',
node: false,
optimization: {
emitOnErrors: false,
minimize: true,
minimizer: [
ImageMinimizerPlugin {
options: {
minimizer: {
implementation: [Function: sharpMinify],
options: { encodeOptions: {} }
},
generator: undefined,
severityError: undefined,
exclude: undefined,
include: undefined,
loader: true,
concurrency: undefined,
test: /\.(png|jpe?g|gif|webp)$/,
deleteOriginalAssets: true
}
},
ImageMinimizerPlugin {
options: {
minimizer: undefined,
generator: [
{
preset: 'webp',
filename: '[path]generated.[name]@[width]x[height][ext]',
implementation: [Function: sharpGenerate],
options: { encodeOptions: { webp: {} } }
}
],
severityError: undefined,
exclude: undefined,
include: undefined,
loader: true,
concurrency: undefined,
test: /\.(jpe?g|png|gif|tif|webp|svg|avif|jxl)$/i,
deleteOriginalAssets: true
}
},
ImageMinimizerPlugin {
options: {
minimizer: {
implementation: [AsyncFunction: svgoMinify],
options: { encodeOptions: {} }
},
generator: undefined,
severityError: undefined,
exclude: undefined,
include: undefined,
loader: true,
concurrency: undefined,
test: /\.svg$/,
deleteOriginalAssets: true
}
},
CssMinimizerPlugin {
options: {
test: /\.css(\?.*)?$/i,
warningsFilter: [Function: warningsFilter],
parallel: true,
include: undefined,
exclude: undefined,
minimizer: {
implementation: [AsyncFunction: cssnanoMinify],
options: {
preset: [ 'default', { discardComments: { removeAll: true } } ]
}
}
}
},
TerserPlugin {
options: {
test: /\.[cm]?js(\?.*)?$/i,
extractComments: false,
parallel: true,
include: undefined,
exclude: undefined,
minimizer: {
implementation: [AsyncFunction: terserMinify] {
getMinimizerVersion: [Function (anonymous)]
},
options: {
compress: {
drop_console: false,
drop_debugger: true,
defaults: true,
unused: true
},
format: { ascii_only: true, comments: false },
mangle: { safari10: true }
}
}
}
}
],
moduleIds: 'named',
removeEmptyChunks: false,
runtimeChunk: 'single',
splitChunks: {
chunks: 'all',
automaticNameDelimiter: '/',
minSize: 0,
cacheGroups: {
vendor: {
idHint: 'vendor',
filename: 'js/bundle/vendor/[name].js',
test: /[\\/]node_modules[\\/]/,
priority: -20
}
}
},
usedExports: true
}
I’ve tried selectively removing loaders to see if there was an issue where the wrong loader was loading the @styles/app.scss
file, but that did not work. I’ve tried changing to using sass
instead of scss
(both as a file extension and as the content of the file) but that did not work.
The build passes successfully when i remove the file from the build process (remove it from the entry + remove any imports to it).
I am not sure how to continue debugging at this point and I would appreciate some assistance debugging further to resolve the issue.
Something that I have not managed to do which I think would be helpful is if i could see which module threw the error. I have not figured out how to change the output from the --debug
flag to include it.
Thanks for reading!