feat: init hoppscotch-embed package
This commit is contained in:
161
packages/hoppscotch-embed/vite.config.ts
Normal file
161
packages/hoppscotch-embed/vite.config.ts
Normal file
@@ -0,0 +1,161 @@
|
||||
import path from "path"
|
||||
import { defineConfig } from "vite"
|
||||
import Vue from "@vitejs/plugin-vue"
|
||||
import Pages from "vite-plugin-pages"
|
||||
import Layouts from "vite-plugin-vue-layouts"
|
||||
import Icons from "unplugin-icons/vite"
|
||||
import IconsResolver from "unplugin-icons/resolver"
|
||||
import Components from "unplugin-vue-components/vite"
|
||||
import AutoImport from "unplugin-auto-import/vite"
|
||||
import Markdown from "vite-plugin-md"
|
||||
import WindiCSS from "vite-plugin-windicss"
|
||||
import { VitePWA } from "vite-plugin-pwa"
|
||||
import VueI18n from "@intlify/vite-plugin-vue-i18n"
|
||||
import Inspect from "vite-plugin-inspect"
|
||||
import Prism from "markdown-it-prism"
|
||||
import LinkAttributes from "markdown-it-link-attributes"
|
||||
|
||||
const markdownWrapperClasses = "prose prose-sm m-auto text-left"
|
||||
|
||||
export default defineConfig({
|
||||
resolve: {
|
||||
alias: {
|
||||
"~/": `${path.resolve(__dirname, "src")}/`,
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
Vue({
|
||||
include: [/\.vue$/, /\.md$/],
|
||||
}),
|
||||
|
||||
// https://github.com/hannoeru/vite-plugin-pages
|
||||
Pages({
|
||||
extensions: ["vue", "md"],
|
||||
}),
|
||||
|
||||
// https://github.com/JohnCampionJr/vite-plugin-vue-layouts
|
||||
Layouts(),
|
||||
|
||||
// https://github.com/antfu/unplugin-auto-import
|
||||
AutoImport({
|
||||
imports: [
|
||||
"vue",
|
||||
"vue-router",
|
||||
"vue-i18n",
|
||||
"@vueuse/head",
|
||||
"@vueuse/core",
|
||||
],
|
||||
dts: "src/auto-imports.d.ts",
|
||||
}),
|
||||
|
||||
// https://github.com/antfu/unplugin-vue-components
|
||||
Components({
|
||||
// allow auto load markdown components under `./src/components/`
|
||||
extensions: ["vue", "md"],
|
||||
|
||||
// allow auto import and register components used in markdown
|
||||
include: [/\.vue$/, /\.vue\?vue/, /\.md$/],
|
||||
|
||||
// custom resolvers
|
||||
resolvers: [
|
||||
// auto import icons
|
||||
// https://github.com/antfu/unplugin-icons
|
||||
IconsResolver({
|
||||
componentPrefix: "",
|
||||
// enabledCollections: ['carbon']
|
||||
}),
|
||||
],
|
||||
|
||||
dts: "src/components.d.ts",
|
||||
}),
|
||||
|
||||
// https://github.com/antfu/unplugin-icons
|
||||
Icons({
|
||||
autoInstall: true,
|
||||
}),
|
||||
|
||||
// https://github.com/antfu/vite-plugin-windicss
|
||||
WindiCSS({
|
||||
safelist: markdownWrapperClasses,
|
||||
}),
|
||||
|
||||
// https://github.com/antfu/vite-plugin-md
|
||||
// Don't need this? Try vitesse-lite: https://github.com/antfu/vitesse-lite
|
||||
Markdown({
|
||||
wrapperClasses: markdownWrapperClasses,
|
||||
headEnabled: true,
|
||||
markdownItSetup(md) {
|
||||
// https://prismjs.com/
|
||||
// @ts-expect-error types mismatch
|
||||
md.use(Prism)
|
||||
// @ts-expect-error types mismatch
|
||||
md.use(LinkAttributes, {
|
||||
pattern: /^https?:\/\//,
|
||||
attrs: {
|
||||
target: "_blank",
|
||||
rel: "noopener",
|
||||
},
|
||||
})
|
||||
},
|
||||
}),
|
||||
|
||||
// https://github.com/antfu/vite-plugin-pwa
|
||||
VitePWA({
|
||||
registerType: "autoUpdate",
|
||||
includeAssets: ["favicon.ico", "robots.txt", "safari-pinned-tab.svg"],
|
||||
manifest: {
|
||||
name: "Vitesse",
|
||||
short_name: "Vitesse",
|
||||
theme_color: "#ffffff",
|
||||
icons: [
|
||||
{
|
||||
src: "/pwa-192x192.png",
|
||||
sizes: "192x192",
|
||||
type: "image/png",
|
||||
},
|
||||
{
|
||||
src: "/pwa-512x512.png",
|
||||
sizes: "512x512",
|
||||
type: "image/png",
|
||||
},
|
||||
{
|
||||
src: "/pwa-512x512.png",
|
||||
sizes: "512x512",
|
||||
type: "image/png",
|
||||
purpose: "any maskable",
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// https://github.com/intlify/bundle-tools/tree/main/packages/vite-plugin-vue-i18n
|
||||
VueI18n({
|
||||
runtimeOnly: true,
|
||||
compositionOnly: true,
|
||||
include: [path.resolve(__dirname, "locales/**")],
|
||||
}),
|
||||
|
||||
// https://github.com/antfu/vite-plugin-inspect
|
||||
Inspect({
|
||||
// change this to enable inspect for debugging
|
||||
enabled: false,
|
||||
}),
|
||||
],
|
||||
|
||||
server: {
|
||||
fs: {
|
||||
strict: true,
|
||||
},
|
||||
},
|
||||
|
||||
// https://github.com/antfu/vite-ssg
|
||||
ssgOptions: {
|
||||
script: "async",
|
||||
formatting: "minify",
|
||||
},
|
||||
|
||||
optimizeDeps: {
|
||||
include: ["vue", "vue-router", "@vueuse/core", "@vueuse/head"],
|
||||
exclude: ["vue-demi"],
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user