forked from Mirrors/elk
refactor: split tauri config into module
This commit is contained in:
parent
44cf8aa89c
commit
2d49074242
5 changed files with 43 additions and 27 deletions
1
app.vue
1
app.vue
|
@ -1,6 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
setupI18n()
|
setupI18n()
|
||||||
setupLogging()
|
|
||||||
setupPageHeader()
|
setupPageHeader()
|
||||||
provideGlobalCommands()
|
provideGlobalCommands()
|
||||||
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
import * as log from 'tauri-plugin-log-api'
|
|
||||||
|
|
||||||
// When running inside Tauri, catch all logs from 3rd party packages and direct them to the unified logging stream
|
|
||||||
export function setupLogging() {
|
|
||||||
if (import.meta.env.TAURI_PLATFORM) {
|
|
||||||
// eslint-disable-next-line no-global-assign
|
|
||||||
console = {
|
|
||||||
...console,
|
|
||||||
trace: log.trace,
|
|
||||||
debug: log.debug,
|
|
||||||
log: log.info,
|
|
||||||
warn: log.warn,
|
|
||||||
error: log.error,
|
|
||||||
}
|
|
||||||
|
|
||||||
window.addEventListener('unhandledrejection', err =>
|
|
||||||
log.error(err.reason),
|
|
||||||
)
|
|
||||||
window.addEventListener('error', err => log.error(err.error), true)
|
|
||||||
}
|
|
||||||
}
|
|
21
modules/tauri/index.ts
Normal file
21
modules/tauri/index.ts
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
import { addPlugin, createResolver, defineNuxtModule, useNuxt } from '@nuxt/kit'
|
||||||
|
|
||||||
|
export default defineNuxtModule({
|
||||||
|
meta: {
|
||||||
|
name: 'tauri',
|
||||||
|
},
|
||||||
|
setup() {
|
||||||
|
const nuxt = useNuxt()
|
||||||
|
const { resolve } = createResolver(import.meta.url)
|
||||||
|
|
||||||
|
if (!process.env.TAURI_PLATFORM)
|
||||||
|
return
|
||||||
|
|
||||||
|
nuxt.hook('vite:extend', ({ config }) => {
|
||||||
|
config.build!.target = ['es2021', 'chrome100', 'safari13']
|
||||||
|
config.envPrefix = [...config.envPrefix || [], 'VITE_', 'TAURI_']
|
||||||
|
})
|
||||||
|
|
||||||
|
addPlugin(resolve('./runtime/logging.client'))
|
||||||
|
},
|
||||||
|
})
|
19
modules/tauri/runtime/logging.client.ts
Normal file
19
modules/tauri/runtime/logging.client.ts
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
import * as log from 'tauri-plugin-log-api'
|
||||||
|
|
||||||
|
// When running inside Tauri, catch all logs from 3rd party packages and direct them to the unified logging stream
|
||||||
|
export default defineNuxtPlugin(() => {
|
||||||
|
// eslint-disable-next-line no-global-assign
|
||||||
|
console = {
|
||||||
|
...console,
|
||||||
|
trace: log.trace,
|
||||||
|
debug: log.debug,
|
||||||
|
log: log.info,
|
||||||
|
warn: log.warn,
|
||||||
|
error: log.error,
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addEventListener('unhandledrejection', err =>
|
||||||
|
log.error(err.reason),
|
||||||
|
)
|
||||||
|
window.addEventListener('error', err => log.error(err.error), true)
|
||||||
|
})
|
|
@ -21,8 +21,10 @@ export default defineNuxtConfig({
|
||||||
'~/modules/purge-comments',
|
'~/modules/purge-comments',
|
||||||
'~/modules/setup-components',
|
'~/modules/setup-components',
|
||||||
'~/modules/pwa/index', // change to '@vite-pwa/nuxt' once released and remove pwa module
|
'~/modules/pwa/index', // change to '@vite-pwa/nuxt' once released and remove pwa module
|
||||||
|
'~/modules/tauri/index',
|
||||||
],
|
],
|
||||||
experimental: {
|
experimental: {
|
||||||
|
payloadExtraction: false,
|
||||||
reactivityTransform: true,
|
reactivityTransform: true,
|
||||||
inlineSSRStyles: false,
|
inlineSSRStyles: false,
|
||||||
},
|
},
|
||||||
|
@ -38,10 +40,6 @@ export default defineNuxtConfig({
|
||||||
querystring: 'rollup-plugin-node-polyfills/polyfills/qs',
|
querystring: 'rollup-plugin-node-polyfills/polyfills/qs',
|
||||||
},
|
},
|
||||||
vite: {
|
vite: {
|
||||||
// to make use of `TAURI_PLATFORM`, `TAURI_ARCH`, `TAURI_FAMILY`,
|
|
||||||
// `TAURI_PLATFORM_VERSION`, `TAURI_PLATFORM_TYPE` and `TAURI_DEBUG`
|
|
||||||
// env variables
|
|
||||||
envPrefix: ['VITE_', 'TAURI_'],
|
|
||||||
define: {
|
define: {
|
||||||
'import.meta.env.__BUILD_TIME__': JSON.stringify(new Date().toISOString()),
|
'import.meta.env.__BUILD_TIME__': JSON.stringify(new Date().toISOString()),
|
||||||
'import.meta.env.__BUILD_COMMIT__': JSON.stringify(process.env.COMMIT_REF || ''),
|
'import.meta.env.__BUILD_COMMIT__': JSON.stringify(process.env.COMMIT_REF || ''),
|
||||||
|
@ -49,7 +47,7 @@ export default defineNuxtConfig({
|
||||||
'process.mock': ((!isCI || isPreview) && process.env.MOCK_USER) || 'false',
|
'process.mock': ((!isCI || isPreview) && process.env.MOCK_USER) || 'false',
|
||||||
},
|
},
|
||||||
build: {
|
build: {
|
||||||
target: process.env.TAURI_PLATFORM ? ['es2021', 'chrome100', 'safari13'] : 'esnext',
|
target: 'esnext',
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
Inspect(),
|
Inspect(),
|
||||||
|
|
Loading…
Reference in a new issue