From 06d5a670572e90a505579300ff001bb001a2d2eb Mon Sep 17 00:00:00 2001 From: Thorn Walli Date: Fri, 17 Jun 2022 16:50:38 +0200 Subject: [PATCH] fix(webpack): add uniq `jsonpFunction` for each entry --- lib/utils/webpack.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/utils/webpack.js b/lib/utils/webpack.js index 7b8a0bdd..796ed4bc 100644 --- a/lib/utils/webpack.js +++ b/lib/utils/webpack.js @@ -4,6 +4,7 @@ const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); const clone = require('clone'); +const { pascalCase } = require('change-case'); const { getTagHTMLFromEntry } = require('./tags'); const { getBuildDir, MODULE_NAME, getDefaultWebpackOutputOptions } = require('./index'); @@ -39,7 +40,6 @@ function build (webpackConfigs, nuxt) { return Promise.all(Object.keys(releases).map((name) => { const content = JSON.stringify(releases[String(name)]); const filepath = path.resolve(getBuildDir(nuxt), name, 'release.json'); - // eslint-disable-next-line security/detect-non-literal-fs-filename return fsExtra.writeFile(filepath, content, 'utf-8'); })); }).catch((err) => { @@ -123,7 +123,8 @@ async function getWebpackConfig (entryName, nuxt, config, options) { output: Object.assign(output, { filename: resolveFilename(filename, config, options), chunkFilename: resolveFilename(chunkFilename, config, options), - path: buildDir + path: buildDir, + jsonpFunction: getJsonPFunctionName(entryName) }), optimization: { runtimeChunk: false @@ -136,6 +137,10 @@ async function getWebpackConfig (entryName, nuxt, config, options) { }), { client: !isModernBuild, modern: isModernBuild }); } +function getJsonPFunctionName (entryName) { + return 'webpackJsonpNuxtCustomElements' + pascalCase(entryName); +} + function resolveFilename (filename, config, options) { if (typeof filename === 'function') { return filename(config, options);