111 lines
4.2 KiB
JavaScript
111 lines
4.2 KiB
JavaScript
import path from 'path';
|
|
|
|
const baseUrl = '/';
|
|
|
|
const alias = {
|
|
primevue: path.resolve(__dirname, '../../packages/primevue/src'),
|
|
'@primevue/core': path.resolve(__dirname, '../../packages/core/src'),
|
|
'@primevue/themes/aura': path.resolve(__dirname, '../../packages/themes/src/presets/aura'),
|
|
'@primevue/themes/lara': path.resolve(__dirname, '../../packages/themes/src/presets/lara'),
|
|
'@primevue/themes/nora': path.resolve(__dirname, '../../packages/themes/src/presets/nora'),
|
|
'@primevue/themes/material': path.resolve(__dirname, '../../packages/themes/src/presets/material'),
|
|
'@primevue/themes': path.resolve(__dirname, '../../packages/themes/src'),
|
|
'@primevue/icons': path.resolve(__dirname, '../../packages/icons/src')
|
|
};
|
|
|
|
let PROCESS_ENV = {};
|
|
|
|
try {
|
|
PROCESS_ENV = process?.env || {};
|
|
} catch {
|
|
// NOOP
|
|
}
|
|
|
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
export default defineNuxtConfig({
|
|
typescript: false,
|
|
modules: ['nuxt-gtag', '@primevue/nuxt-module'],
|
|
components: {
|
|
path: '~/components',
|
|
pathPrefix: false
|
|
},
|
|
vite: {
|
|
resolve: {
|
|
optimizeDeps: {
|
|
disabled: true
|
|
},
|
|
alias
|
|
}
|
|
},
|
|
nitro: {
|
|
alias
|
|
},
|
|
routeRules: {
|
|
'/accessibility': { redirect: { to: '/guides/accessibility', statusCode: 301 } },
|
|
'/installation': { redirect: { to: '/vite', statusCode: 301 } }
|
|
},
|
|
primevue:
|
|
PROCESS_ENV.DEV_ENV === 'hot'
|
|
? {
|
|
usePrimeVue: false,
|
|
autoImport: true,
|
|
loadStyles: false
|
|
}
|
|
: {
|
|
autoImport: true, // When enabled, the module automatically imports PrimeVue components and directives used throughout the application.
|
|
importTheme: { from: '@/themes/app-theme.js' }
|
|
},
|
|
app: {
|
|
baseURL: baseUrl,
|
|
head: {
|
|
htmlAttrs: {
|
|
dir: 'rtl'
|
|
},
|
|
title: 'PrimeVue - Vue UI Component Library',
|
|
meta: [
|
|
{ charset: 'utf-8' },
|
|
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
|
{ name: 'description', content: 'The ultimate collection of design-agnostic, flexible and accessible Vue UI Components.' },
|
|
{ name: 'robots', content: 'index,follow' },
|
|
{ name: 'twitter:card', content: 'summary_large_image' },
|
|
{ name: 'twitter:site', content: '@primevue' },
|
|
{ name: 'twitter:title', content: 'PrimeVue | Vue UI Component Library' },
|
|
{ name: 'twitter:description', content: 'The ultimate collection of design-agnostic, flexible and accessible Vue UI Components.' },
|
|
{ property: 'og:type', content: 'website' },
|
|
{ property: 'og:title', content: 'PrimeVue | Vue UI Component Library' },
|
|
{ property: 'og:url', content: 'https://primevue.org/' },
|
|
{ property: 'og:description', content: 'The ultimate collection of design-agnostic, flexible and accessible Vue UI Components.' },
|
|
{ property: 'og:image', content: 'https://www.primefaces.org/static/social/primevue-preview.jpg' },
|
|
{ property: 'og:ttl', content: '604800' }
|
|
],
|
|
link: [
|
|
{ rel: 'icon', href: baseUrl + 'favicon.ico' },
|
|
{ rel: 'stylesheet', href: 'https://rsms.me/inter/inter.css' },
|
|
{ rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Roboto:400|Roboto:500|Roboto:600|Roboto:700', fetchpriority: 'low' }
|
|
],
|
|
script: [
|
|
{
|
|
src: baseUrl + 'scripts/prism.js',
|
|
'data-manual': true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
postcss: {
|
|
plugins: {
|
|
tailwindcss: {},
|
|
autoprefixer: {}
|
|
}
|
|
},
|
|
runtimeConfig: {
|
|
public: {
|
|
contextPath: baseUrl,
|
|
DEV_ENV: PROCESS_ENV.DEV_ENV
|
|
}
|
|
},
|
|
gtag: {
|
|
id: 'G-48TTQ6G6KV'
|
|
},
|
|
css: ['primeicons/primeicons.css', '@/assets/styles/flags.css', '@docsearch/css/dist/style.css', '@/assets/styles/tailwind/main.css', '@/assets/styles/layout/layout.scss']
|
|
});
|