build(webpack): amend build configs to compensate for ApiDOM (#8460)

Refs #8403
This commit is contained in:
Vladimír Gorej
2023-03-08 15:35:15 +01:00
committed by GitHub
parent cab47a36c8
commit c9156f0549
3 changed files with 33 additions and 16 deletions

2
package-lock.json generated
View File

@@ -6,7 +6,7 @@
"packages": { "packages": {
"": { "": {
"name": "swagger-ui", "name": "swagger-ui",
"version": "4.17.1", "version": "4.18.0",
"hasInstallScript": true, "hasInstallScript": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {

View File

@@ -39,7 +39,6 @@
"deps-license": "license-checker --production --csv --out $npm_package_config_deps_check_dir/licenses.csv && license-checker --development --csv --out $npm_package_config_deps_check_dir/licenses-dev.csv", "deps-license": "license-checker --production --csv --out $npm_package_config_deps_check_dir/licenses.csv && license-checker --development --csv --out $npm_package_config_deps_check_dir/licenses-dev.csv",
"deps-size": "webpack -p --config webpack/bundle.babel.js --json | webpack-bundle-size-analyzer >| $npm_package_config_deps_check_dir/sizes.txt", "deps-size": "webpack -p --config webpack/bundle.babel.js --json | webpack-bundle-size-analyzer >| $npm_package_config_deps_check_dir/sizes.txt",
"deps-check": "run-s deps-license deps-size", "deps-check": "run-s deps-license deps-size",
"link:apidom": "npm link @swagger-api/apidom-core @swagger-api/apidom-reference @swagger-api/apidom-ns-openapi-3-1 @swagger-api/apidom-ns-openapi-3-0 @swagger-api/apidom-ns-json-schema-draft-4 @swagger-api/apidom-json-pointer",
"lint": "eslint --ext \".js,.jsx\" src test dev-helpers flavors", "lint": "eslint --ext \".js,.jsx\" src test dev-helpers flavors",
"lint-errors": "eslint --quiet --ext \".js,.jsx\" src test dev-helpers flavors", "lint-errors": "eslint --quiet --ext \".js,.jsx\" src test dev-helpers flavors",
"lint-fix": "eslint --ext \".js,.jsx\" src test dev-helpers flavors --fix", "lint-fix": "eslint --ext \".js,.jsx\" src test dev-helpers flavors --fix",

View File

@@ -26,9 +26,7 @@ const baseRules = [
cacheDirectory: true, cacheDirectory: true,
}, },
}, },
{ test: /\.(txt|yaml)$/, { test: /\.(txt|yaml)$/, type: "asset/source" },
type: "asset/source",
},
{ {
test: /\.(png|jpg|jpeg|gif|svg)$/, test: /\.(png|jpg|jpeg|gif|svg)$/,
type: "asset/inline", type: "asset/inline",
@@ -78,12 +76,11 @@ export default function buildConfig(
// when esm, library.name should be unset, so do not define here // when esm, library.name should be unset, so do not define here
// when esm, library.export should be unset, so do not define here // when esm, library.export should be unset, so do not define here
type: "umd", type: "umd",
} },
}, },
target: "web", target: "web",
module: { module: {
rules: baseRules, rules: baseRules,
}, },
@@ -92,21 +89,42 @@ export default function buildConfig(
? { ? {
esprima: "esprima", esprima: "esprima",
} }
: [nodeExternals({ : [
nodeExternals({
importType: (moduleName) => { importType: (moduleName) => {
return `commonjs ${moduleName}` return `commonjs ${moduleName}`
}})], },
}),
],
resolve: { resolve: {
modules: [path.join(projectBasePath, "./src"), "node_modules"], modules: [path.join(projectBasePath, "./src"), "node_modules"],
extensions: [".web.js", ".js", ".jsx", ".json", ".less"], extensions: [".web.js", ".js", ".jsx", ".json", ".less"],
alias: { alias: {
// these aliases make sure that we don't bundle same libraries twice // these aliases make sure that we don't bundle same libraries twice
// when the versions of these libraries diverge between swagger-js and swagger-ui // when the versions of these libraries diverge between swagger-js and swagger-ui
"@babel/runtime-corejs3": path.resolve(__dirname, "..", "node_modules/@babel/runtime-corejs3"), "@babel/runtime-corejs3": path.resolve(
__dirname,
"..",
"node_modules/@babel/runtime-corejs3"
),
"js-yaml": path.resolve(__dirname, "..", "node_modules/js-yaml"), "js-yaml": path.resolve(__dirname, "..", "node_modules/js-yaml"),
"lodash": path.resolve(__dirname, "..", "node_modules/lodash"), lodash: path.resolve(__dirname, "..", "node_modules/lodash"),
"react-is": path.resolve(__dirname, "..", "node_modules/react-is"), "react-is": path.resolve(__dirname, "..", "node_modules/react-is"),
"safe-buffer": path.resolve(__dirname, "..", "node_modules/safe-buffer"), "safe-buffer": path.resolve(
__dirname,
"..",
"node_modules/safe-buffer"
),
ramda: path.resolve(
__dirname,
"..",
"node_modules/@swagger-api/apidom-core/node_modules/ramda"
),
"ramda-adjunct": path.resolve(
__dirname,
"..",
"node_modules/@swagger-api/apidom-core/node_modules/ramda-adjunct"
),
}, },
fallback: { fallback: {
fs: false, fs: false,
@@ -131,12 +149,12 @@ export default function buildConfig(
optimization: { optimization: {
minimize: !!minimize, minimize: !!minimize,
minimizer: [ minimizer: [
compiler => (compiler) =>
new TerserPlugin({ new TerserPlugin({
terserOptions: { terserOptions: {
mangle: !!mangle, mangle: !!mangle,
}, },
}).apply(compiler) }).apply(compiler),
], ],
}, },
}, },