Some checks failed
cache-seeder / prune (push) Has been skipped
cache-seeder / frontend (push) Failing after 3s
cache-seeder / python (push) Failing after 3s
cache-seeder / gobuild (push) Failing after 4s
cache-seeder / lint (bindata, lint-backend) (push) Failing after 3s
giteabot backport / giteabot (push) Has been skipped
giteabot / giteabot (push) Has been skipped
cache-prune / prune (push) Has been skipped
release-nightly-snapcraft / build-and-publish (ubuntu-24.04) (push) Has been cancelled
release-nightly-snapcraft / build-and-publish (ubuntu-24.04-arm) (push) Has been cancelled
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
cron-renovate / cron-renovate (push) Has been skipped
33 lines
772 B
TypeScript
33 lines
772 B
TypeScript
import vuePlugin from '@vitejs/plugin-vue';
|
|
import {stringPlugin} from 'vite-string-plugin';
|
|
import type {Plugin} from 'vite';
|
|
|
|
// custom elements, vue must render these as-is instead of resolving them as components
|
|
const webComponents = new Set([
|
|
// our own, in web_src/js/webcomponents
|
|
'overflow-menu',
|
|
'relative-time',
|
|
// from dependencies
|
|
'markdown-toolbar',
|
|
'text-expander',
|
|
]);
|
|
|
|
export const vueDefines = {
|
|
__VUE_OPTIONS_API__: false,
|
|
__VUE_PROD_DEVTOOLS__: false,
|
|
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false,
|
|
};
|
|
|
|
export function sharedPlugins(): Plugin[] {
|
|
return [
|
|
stringPlugin(),
|
|
vuePlugin({
|
|
template: {
|
|
compilerOptions: {
|
|
isCustomElement: (tag) => webComponents.has(tag),
|
|
},
|
|
},
|
|
}),
|
|
];
|
|
}
|