Commit graph

12 commits

Author SHA1 Message Date
David Mehren
acf24a1dd2 fix(esbuild): exclude reveal.js marked plugin
https://github.com/hedgedoc/hedgedoc/pull/4114
did not properly fix the missing speaker notes.

It turns out that by just excluding
reveal.js/plugin/markdown/marked.js
from esbuild processing, we can stop invalid JS from being generated.

Signed-off-by: David Mehren <git@herrmehren.de>
2023-06-04 20:31:21 +02:00
Tilman Vatteroth
5552be1412 fix(bundle): force esbuild-loader to use cjs instead of iife
Beginning with esbuild-loader 3 it uses iife for web bundles to avoid
pollution of the "window" object.
However, this broke our prod bundle because some variables should go into the global namespace.

See https://github.com/esbuild-kit/esbuild-loader/releases/tag/v3.0.0

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-02-17 19:40:35 +01:00
David Mehren
b5de88afd1 Adjust webpack config for esbuild-loader v3
Signed-off-by: David Mehren <git@herrmehren.de>
2023-02-12 21:24:43 +01:00
David Mehren
3b00601872
Inline CSS & JS into HTML export template
Previously, the HTML export template `html.hbs` included CDN links
for the HTML and CSS resources.

This commit enables Webpack to create a new `htmlexport.html` at
build-time, which includes all resources inline.
That template is then used as before by the frontend to be populated
with the rendered note content.

The tradeoff is that each exported .html file is about 5.6 MB in size,
as we need to inline all fonts (icons & emojis).

Signed-off-by: David Mehren <git@herrmehren.de>
2021-08-15 00:09:53 +02:00
David Mehren
d159241f0f
Exclude mathjax a11y files from ESBuild
`MathJax/extensions/a11y/mathmaps` contains .js files that are
not actually valid JavaScript, tripping up ESBuild.
This excludes them from the minification step

Signed-off-by: David Mehren <git@herrmehren.de>
2021-08-14 16:18:23 +02:00
David Mehren
38f73d2872
Enable source-maps in Webpack production config
Signed-off-by: David Mehren <git@herrmehren.de>
2021-06-07 17:22:40 +02:00
David Mehren
578cb4d919
Enable SplitChunksPlugin in Webpack production config
Signed-off-by: David Mehren <git@herrmehren.de>
2021-06-07 17:22:40 +02:00
David Mehren
41c86d1cf1
Use esbuild to minify frontend JS
This speeds up build times massively

Signed-off-by: David Mehren <git@herrmehren.de>
2021-05-06 21:13:56 +02:00
David Mehren
87909b599e
Use named import for webpack-merge
Signed-off-by: David Mehren <git@herrmehren.de>
2021-02-12 22:43:31 +01:00
Enrico Guiraud
23c7b5b0a6
Fix urlPath support, let CodiMD be served from a subpath correctly
Webpack now uses relative paths for resources linked from by static
snippets. A templated <base> tag has been introduced in headers
so app.js can set the base URL at runtime.

Signed-off-by: Enrico Guiraud <enrico.guiraud@cern.ch>
2019-12-20 12:03:16 +01:00
David Mehren
9f92bba036
Use webpack-merge.
Move html export config to own file.
Delete unnecessary config options.
Use cheap source maps.

Signed-off-by: David Mehren <dmehren1@gmail.com>
2018-10-10 22:09:46 +02:00
David Mehren
9a2dcd40d3
Rename Webpack config to official recommendation
Signed-off-by: David Mehren <dmehren1@gmail.com>
2018-10-10 22:09:46 +02:00
Renamed from webpack.production.js (Browse further)