Skip to content

Commit 3b3be5d

Browse files
committed
Better resolution
1 parent 42a4401 commit 3b3be5d

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

src/web/assets/vue/webpack.config.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
/* jshint esversion: 6 */
22
/* globals module, require, __dirname */
33
const path = require('path');
4+
const pkgDir = require('pkg-dir');
45
const {getConfig} = require('@craftcms/webpack');
56
const 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

1012
module.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

Comments
 (0)