11/* jshint esversion: 6 */
22/* globals module, require, __dirname */
33const path = require ( 'path' ) ;
4+ const pkgDir = require ( 'pkg-dir' ) ;
45const { getConfig} = require ( '@craftcms/webpack' ) ;
56const MergeIntoSingleFilePlugin = require ( 'webpack-merge-and-include-globally' ) ;
67
7- // Resolve dist files directly to bypass Node's strict package exports enforcement
8- const nm = path . join ( __dirname , '..' , '..' , '..' , '..' , 'node_modules' ) ;
8+ // Resolve a file inside a package, bypassing strict package exports.
9+ const resolve = ( pkg , file ) =>
10+ path . join ( pkgDir . sync ( path . dirname ( require . resolve ( pkg ) ) ) , file ) ;
911
1012module . exports = getConfig ( {
1113 context : __dirname ,
@@ -14,10 +16,10 @@ module.exports = getConfig({
1416 new MergeIntoSingleFilePlugin ( {
1517 files : {
1618 'vue.js' : [
17- path . join ( nm , 'vue' , 'dist' , ' vue.min.js') ,
18- path . join ( nm , 'vue-router' , 'dist' , ' vue-router.min.js') ,
19- path . join ( nm , 'vuex' , 'dist' , ' vuex.min.js') ,
20- path . join ( nm , 'vue-autosuggest' , 'dist' , ' vue-autosuggest.js') ,
19+ resolve ( 'vue' , 'dist/ vue.min.js' ) ,
20+ resolve ( 'vue-router' , 'dist/ vue-router.min.js' ) ,
21+ resolve ( 'vuex' , 'dist/ vuex.min.js' ) ,
22+ resolve ( 'vue-autosuggest' , 'dist/ vue-autosuggest.js' ) ,
2123 ] ,
2224 } ,
2325 } ) ,
0 commit comments