- Add TokenCard and CexAnalysisCard components for displaying token data - Implement real-time Redis event streaming for token updates - Add environment-based configuration system for dev/prod Redis servers - Create comprehensive hunting ground dashboard with card management - Add individual and bulk card removal functionality - Implement browser integration for token details viewing - Add timestamp utilities and proper type handling for Redis events - Create production-ready configuration with 154.38.185.112 Redis server - Add comprehensive documentation in README.md and CONTRIBUTORS.md - Restructure project architecture with proper Electron-Vue integration BREAKING CHANGE: Redis configuration now uses environment-based settings
108 lines
2.2 KiB
TypeScript
108 lines
2.2 KiB
TypeScript
import tailwindcss from '@tailwindcss/vite'
|
|
import { defineNuxtConfig } from 'nuxt/config'
|
|
import { getConfig } from '../app.config'
|
|
|
|
const config = getConfig()
|
|
|
|
export default defineNuxtConfig({
|
|
modules: [
|
|
'@nuxt/eslint',
|
|
'@pinia/nuxt',
|
|
'@nuxt/icon',
|
|
],
|
|
ssr: false,
|
|
devtools: { enabled: true },
|
|
|
|
devServer: {
|
|
port: config.development.nuxt.port,
|
|
host: config.development.nuxt.host,
|
|
},
|
|
|
|
runtimeConfig: {
|
|
// Private keys (only available on server-side)
|
|
redis: {
|
|
host: config.redis.host,
|
|
port: config.redis.port,
|
|
db: config.redis.db,
|
|
keyPrefix: config.redis.keyPrefix,
|
|
},
|
|
|
|
// Public keys (exposed to client-side)
|
|
public: {
|
|
app: {
|
|
name: config.app.name,
|
|
version: config.app.version,
|
|
description: config.app.description,
|
|
author: config.app.author,
|
|
},
|
|
window: config.window,
|
|
theme: config.theme,
|
|
isDevelopment: process.env.NODE_ENV === 'development',
|
|
isElectron: process.env.IS_ELECTRON === 'true',
|
|
},
|
|
},
|
|
|
|
app: {
|
|
baseURL: './',
|
|
cdnURL: './',
|
|
head: {
|
|
title: config.app.name,
|
|
meta: [
|
|
{ name: 'description', content: config.app.description },
|
|
{
|
|
'http-equiv': 'content-security-policy',
|
|
'content': `script-src ${config.security.csp.scriptSrc.join(' ')}; style-src ${config.security.csp.styleSrc.join(' ')}; img-src ${config.security.csp.imgSrc.join(' ')}`
|
|
},
|
|
],
|
|
},
|
|
},
|
|
css: [
|
|
'~/assets/css/main.css',
|
|
],
|
|
|
|
vite: {
|
|
plugins: [
|
|
tailwindcss(),
|
|
],
|
|
server: {
|
|
watch: {
|
|
ignored: ['./docker-data/*'],
|
|
},
|
|
},
|
|
},
|
|
|
|
postcss: {
|
|
plugins: {
|
|
'@tailwindcss/postcss': {},
|
|
},
|
|
},
|
|
|
|
router: {
|
|
options: {
|
|
hashMode: true,
|
|
},
|
|
},
|
|
|
|
typescript: {
|
|
typeCheck: false,
|
|
includeWorkspace: true,
|
|
},
|
|
|
|
imports: {
|
|
dirs: [
|
|
'composables/**',
|
|
'stores/**'
|
|
]
|
|
},
|
|
|
|
future: { compatibilityVersion: 4 },
|
|
features: {
|
|
inlineStyles: false,
|
|
},
|
|
experimental: {
|
|
typedPages: true,
|
|
payloadExtraction: false,
|
|
renderJsonPayloads: false,
|
|
},
|
|
compatibilityDate: '2025-05-26',
|
|
})
|