mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-27 06:03:51 +03:00
[CHORE] Don't bundle elkjs
- `elkjs` is a library that's imported by `mermaid`, although they have
seperated this package to it's own mermaid
package (https://github.com/mermaid-js/mermaid/pull/5654), the stable
version doesn't have this patch.
- `elkjs` is licensed under the EPL-2.0 license (copyleft), which isn't
compatible with GPL unless the license author explcitly allow this via a
so called "secondary license". At the end of the day it cannot be
released under a MIT or GPL license.
- Use webpack's `externals` option to avoid bundling `elkjs` and instead
leave it as a `require` code.
- This is a 'dirty' way to ensure elkjs isn't bundled and has to be
tested manually to ensure this for every release (via the
`webpack-bundle-analyzer` plugin). If someone tries to use the elkjs
render, it will result in a non-descriptive error being shown.
(cherry picked from commit 510cbe2c92
)
This commit is contained in:
parent
c8b6e07840
commit
e362e0813d
1 changed files with 8 additions and 0 deletions
|
@ -73,6 +73,14 @@ const filterCssImport = (url, ...args) => {
|
|||
|
||||
/** @type {import("webpack").Configuration} */
|
||||
export default {
|
||||
externals: [
|
||||
function ({request}, callback) {
|
||||
if (/elkjs/.test(request)) {
|
||||
return callback(null, `commonjs ${request}`);
|
||||
}
|
||||
callback();
|
||||
},
|
||||
],
|
||||
mode: isProduction ? 'production' : 'development',
|
||||
entry: {
|
||||
index: [
|
||||
|
|
Loading…
Reference in a new issue