summaryrefslogtreecommitdiffstats
path: root/webpack.config.js
diff options
context:
space:
mode:
authorsilverwind <me@silverwind.io>2024-03-15 03:05:31 +0100
committerEarl Warren <contact@earl-warren.org>2024-03-20 08:46:29 +0100
commit5a16c9d9c0fd25b25d5eaf1b0ab00f1c113e6b32 (patch)
tree5784863125650fd128377e1e73193d2fe71c8435 /webpack.config.js
parentUpdate JS dependences (#29797) (diff)
downloadforgejo-5a16c9d9c0fd25b25d5eaf1b0ab00f1c113e6b32.tar.xz
forgejo-5a16c9d9c0fd25b25d5eaf1b0ab00f1c113e6b32.zip
Add `<overflow-menu>`, rename webcomponents (#29400)
1. Add `<overflow-menu>` web component 2. Rename `<gitea-origin-url>` to `<origin-url>` and make filenames match. <img width="439" alt="image" src="https://github.com/go-gitea/gitea/assets/115237/2fbe4ca4-110b-4ad2-8e17-c1e116ccbd74"> <img width="444" alt="Screenshot 2024-03-02 at 21 36 52" src="https://github.com/go-gitea/gitea/assets/115237/aa8f786e-dc8c-4030-b12d-7cfb74bdfd6e"> <img width="537" alt="Screenshot 2024-03-03 at 03 05 06" src="https://github.com/go-gitea/gitea/assets/115237/fddd50aa-adf1-4b4b-bd7f-caf30c7b2245"> ![image](https://github.com/go-gitea/gitea/assets/115237/0f43770c-834c-4a05-8e3d-d30eb8653786) ![image](https://github.com/go-gitea/gitea/assets/115237/4b4c6bd7-843f-4f49-808f-6b3aed5e9f9a) TODO: - [x] Check if removal of `requestAnimationFrame` is possible to avoid flash of content. Likely needs a `MutationObserver`. - [x] Hide tippy when button is removed from DOM. - [x] ~~Implement right-aligned items (https://github.com/go-gitea/gitea/pull/28976)~~. Not going to do it. - [x] Clean up CSS so base element has no background and add background via tailwind instead. - [x] Use it for org and user page. --------- Co-authored-by: Giteabot <teabot@gitea.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> (cherry picked from commit 256a1eeb9a67b18c62a10f5909b584b7b220848a) Conflicts: options/locale/locale_en-US.ini templates/package/content/cargo.tmpl templates/package/content/cran.tmpl templates/package/content/debian.tmpl templates/package/content/maven.tmpl
Diffstat (limited to 'webpack.config.js')
-rw-r--r--webpack.config.js19
1 files changed, 18 insertions, 1 deletions
diff --git a/webpack.config.js b/webpack.config.js
index a053771d63..883de8bef1 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -43,6 +43,18 @@ if ('ENABLE_SOURCEMAP' in env) {
sourceMaps = isProduction ? 'reduced' : 'true';
}
+// define which web components we use for Vue to not interpret them as Vue components
+const webComponents = new Set([
+ // our own, in web_src/js/webcomponents
+ 'overflow-menu',
+ 'origin-url',
+ 'absolute-date',
+ // from dependencies
+ 'markdown-toolbar',
+ 'relative-time',
+ 'text-expander',
+]);
+
const filterCssImport = (url, ...args) => {
const cssFile = args[1] || args[0]; // resourcePath is 2nd argument for url and 3rd for import
const importedFile = url.replace(/[?#].+/, '').toLowerCase();
@@ -72,7 +84,7 @@ export default {
fileURLToPath(new URL('web_src/css/index.css', import.meta.url)),
],
webcomponents: [
- fileURLToPath(new URL('web_src/js/webcomponents/webcomponents.js', import.meta.url)),
+ fileURLToPath(new URL('web_src/js/webcomponents/index.js', import.meta.url)),
],
forgejoswagger: [ // Forgejo swagger is OpenAPI 3.0.0 and has specific parameters
fileURLToPath(new URL('web_src/js/standalone/forgejo-swagger.js', import.meta.url)),
@@ -125,6 +137,11 @@ export default {
test: /\.vue$/i,
exclude: /node_modules/,
loader: 'vue-loader',
+ options: {
+ compilerOptions: {
+ isCustomElement: (tag) => webComponents.has(tag),
+ },
+ },
},
{
test: /\.js$/i,