When the project was started 3 weeks ago, the webpack configuration has been adapted to be compatible with the codebase.
Now, the codebase can be modified to circumvent some webpack tricks, and use native require() calls. In particular, the following webpack configuration lines:
/*
for esn-frontend-common-libs
can be removed after using a require for emailAddresses instead of a global $window.emailAddresses
angular.module('esn.email-addresses-wrapper', [])
.factory('emailAddresses', function($window) {
return $window.emailAddresses;
});
*/
{
test: require.resolve('email-addresses'),
loader: 'expose-loader',
options: {
exposes: 'emailAddresses',
},
},
/*
for esn-frontend-common-libs
can be removed after using a require for autosize instead of a global $window.autosize
angular.module('esn.form.helper')
.factory('autosize', function($window) {
return $window.autosize;
})
*/
{
test: require.resolve('autosize'),
loader: 'expose-loader',
options: {
exposes: 'autosize',
},
},
/*
for esn-frontend-common-libs
can be removed after using a require for Autolinker instead of a global $window.Autolinker
angular.module('esn.autolinker-wrapper', [])
.factory('autolinker', function($window) {
return $window.Autolinker;
});
*/
{
test: require.resolve(commonLibsPath + '/src/frontend/components/Autolinker.js/dist/Autolinker.js'),
loader: 'expose-loader',
options: {
exposes: 'Autolinker',
},
},
/*
for angular-jstz in esn-frontend-common-libs
*/
{
test: require.resolve(commonLibsPath + '/src/frontend/components/jstzdetect/jstz.js'),
loader: 'expose-loader',
options: {
exposes: [
"jstz"
],
},
},
could be removed by setting up proper requires at the javascript code level.
When the project was started 3 weeks ago, the webpack configuration has been adapted to be compatible with the codebase.
Now, the codebase can be modified to circumvent some webpack tricks, and use native
require()
calls. In particular, the following webpack configuration lines:could be removed by setting up proper requires at the javascript code level.