-
Notifications
You must be signed in to change notification settings - Fork 57
/
Copy pathvite.config.ts
120 lines (113 loc) · 3.02 KB
/
vite.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import { defineConfig, PluginOption } from 'vite';
import { VitePWA } from 'vite-plugin-pwa';
import autoprefixer from 'autoprefixer';
import solidPlugin from 'vite-plugin-solid';
import postcssJitProps from 'postcss-jit-props';
import OpenProps from 'open-props';
export default defineConfig(({ command }) => ({
define: {
Version: JSON.stringify(
((today = new Date()) => `${process.env.npm_package_version} (${today.getDate()} ${today.toLocaleString('default', { month: 'short' })} ${today.getFullYear()})`)()
),
},
plugins: [
injectEruda(command === 'serve'),
solidPlugin(),
VitePWA({
manifest: {
"short_name": "Ytify",
"name": "Listen with ytify",
"description": "32kb/s to 128kb/s youtube audio streaming website. Copy a youtube video link and listen to it as an audio totally free.",
"icons": [
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192",
"purpose": "any maskable"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512",
"purpose": "any maskable"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "44x44",
"purpose": "any"
}
],
"shortcuts": [
{
"name": "History",
"url": "/list?collection=history",
"icons": [
{
"src": "memories-fill.png",
"sizes": "192x192",
}]
},
{
"name": "Favorites",
"url": "/list?collection=favorites",
"icons": [
{
"src": "heart-fill.png",
"sizes": "192x192",
}]
},
{
"name": "Listen Later",
"url": "/list?collection=listenLater",
"icons": [
{
"src": "calendar-schedule-fill.png",
"sizes": "192x192",
}]
}
],
"start_url": "/",
"display": "standalone",
"theme_color": "white",
"background_color": "white",
"share_target": {
"action": "/",
"method": "GET",
"params": {
"title": "title",
"text": "text",
"url": "url"
}
}
},
disable: command !== 'build',
includeAssets: ['*.woff2', 'ytify_banner.webp']
})
],
css: {
postcss: {
plugins: [autoprefixer(), postcssJitProps(OpenProps)]
}
}
}));
const injectEruda = (serve: boolean) => serve ? (<PluginOption>{
name: 'erudaInjector',
transformIndexHtml: html => ({
html,
tags: [
{
tag: 'script',
attrs: {
src: '/node_modules/eruda/eruda'
},
injectTo: 'body-prepend'
},
{
tag: 'script',
injectTo: 'body-prepend',
children: 'eruda.init()'
}
]
})
}) : [];