51 lines
1.7 KiB
JavaScript
51 lines
1.7 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
const gulp = require('gulp');
|
||
|
const path = require('path');
|
||
|
const build = require('@microsoft/sp-build-web');
|
||
|
const bundleAnalyzer = require('webpack-bundle-analyzer');
|
||
|
|
||
|
build.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);
|
||
|
|
||
|
|
||
|
/********************************************************************************************
|
||
|
* Adds an alias for handlebars in order to avoid errors while gulping the project
|
||
|
* https://github.com/wycats/handlebars.js/issues/1174
|
||
|
* Adds a loader and a node setting for webpacking the handlebars-helpers correctly
|
||
|
* https://github.com/helpers/handlebars-helpers/issues/263
|
||
|
********************************************************************************************/
|
||
|
build.configureWebpack.mergeConfig({
|
||
|
additionalConfiguration: (generatedConfiguration) => {
|
||
|
generatedConfiguration.resolve.alias = { handlebars: 'handlebars/dist/handlebars.min.js' };
|
||
|
|
||
|
generatedConfiguration.module.rules.push(
|
||
|
{
|
||
|
test: /utils\.js$/,
|
||
|
loader: 'unlazy-loader',
|
||
|
include: [
|
||
|
/node_modules/,
|
||
|
]
|
||
|
}
|
||
|
);
|
||
|
|
||
|
generatedConfiguration.node = {
|
||
|
fs: 'empty'
|
||
|
}
|
||
|
|
||
|
const lastDirName = path.basename(__dirname);
|
||
|
const dropPath = path.join(__dirname, 'temp', 'stats');
|
||
|
generatedConfiguration.plugins.push(new bundleAnalyzer.BundleAnalyzerPlugin({
|
||
|
openAnalyzer: false,
|
||
|
analyzerMode: 'static',
|
||
|
reportFilename: path.join(dropPath, `${lastDirName}.stats.html`),
|
||
|
generateStatsFile: true,
|
||
|
statsFilename: path.join(dropPath, `${lastDirName}.stats.json`),
|
||
|
logLevel: 'error'
|
||
|
}));
|
||
|
|
||
|
return generatedConfiguration;
|
||
|
}
|
||
|
});
|
||
|
|
||
|
build.initialize(gulp);
|