1
- const BASE_URL = "https://diffviewer.vercel.app" ;
1
+ import path from 'path'
2
+ import MonacoWebpackPlugin from 'monaco-editor-webpack-plugin'
3
+
4
+ const BASE_URL = 'https://diffviewer.vercel.app'
2
5
const domainAliases = [
3
- " https://diffchecker.vercel.app/" ,
4
- " https://textdiff.vercel.app/" ,
5
- " https://differencer.vercel.app/" ,
6
- " https://diffie.vercel.app/" ,
7
- " https://differencefinder.vercel.app/"
6
+ ' https://diffchecker.vercel.app/' ,
7
+ ' https://textdiff.vercel.app/' ,
8
+ ' https://differencer.vercel.app/' ,
9
+ ' https://diffie.vercel.app/' ,
10
+ ' https://differencefinder.vercel.app/' ,
8
11
]
9
- const canonicalLinks = domainAliases . map ( x => ( { rel : "canonical" , href : x } ) )
10
- const DESCRIPTION = "A privacy first diff viewer that is secure, easy, simple and for any text type" ;
12
+ const canonicalLinks = domainAliases . map ( ( x ) => ( { rel : 'canonical' , href : x } ) )
13
+ const DESCRIPTION =
14
+ 'A privacy first diff viewer that is secure, easy, simple and for any text type'
11
15
export default {
12
16
ssr : true ,
13
17
head : {
@@ -17,67 +21,219 @@ export default {
17
21
{ name : 'color-scheme' , content : 'dark light' } ,
18
22
{ name : 'viewport' , content : 'width=device-width, initial-scale=1' } ,
19
23
{ name : 'format-detection' , content : 'telephone=no' } ,
20
- { name : "theme-color" , content : "#2563EB" } ,
21
- { name : "og:url" , property : "og:url" , content : `${ BASE_URL } ` } ,
22
- { name : "og:image" , property : "og:url" , content : `${ BASE_URL } /brand-430x495.png` } ,
23
- { name : "twitter:title" , property : "og:url" , content : DESCRIPTION } ,
24
- { name : "og:title" , property : "og:url" , content : DESCRIPTION } ,
25
- { name : "og:type" , property : "og:url" , content : "website" } ,
26
- { name : "description" , property : "og:url" , content : DESCRIPTION } ,
27
- { name : "og:description" , property : "og:url" , content : DESCRIPTION } ,
28
- { name : "twitter:description" , property : "og:url" , content : DESCRIPTION } ,
29
- { name : "twitter:card" , property : "og:url" , content : "summary" } ,
30
- { name : "twitter:creator" , property : "og:url" , content : "@technikhil314" } ,
31
- { name : "og:image" , property : "og:url" , content : `${ BASE_URL } /128x128.png` } ,
32
- { name : "og:image" , property : "og:url" , content : `${ BASE_URL } /brand-192x192.png` } ,
33
- { name : "og:image" , property : "og:url" , content : `${ BASE_URL } /brand-200x200.png` } ,
34
- { name : "og:image" , property : "og:url" , content : `${ BASE_URL } /brand-512x512.png` } ,
35
- { name : "og:image" , property : "og:url" , content : `${ BASE_URL } /brand-800x800.png` } ,
36
- { name : "image" , property : "og:url" , content : `${ BASE_URL } /brand-1200x600.png` } ,
37
- { name : "og:image:alt" , property : "og:url" , content : DESCRIPTION } ,
38
- { name : "twitter:image" , property : "og:url" , content : `${ BASE_URL } /128x128.png` } ,
24
+ { name : 'theme-color' , content : '#2563EB' } ,
25
+ { name : 'og:url' , property : 'og:url' , content : `${ BASE_URL } ` } ,
26
+ {
27
+ name : 'og:image' ,
28
+ property : 'og:url' ,
29
+ content : `${ BASE_URL } /brand-430x495.png` ,
30
+ } ,
31
+ { name : 'twitter:title' , property : 'og:url' , content : DESCRIPTION } ,
32
+ { name : 'og:title' , property : 'og:url' , content : DESCRIPTION } ,
33
+ { name : 'og:type' , property : 'og:url' , content : 'website' } ,
34
+ { name : 'description' , property : 'og:url' , content : DESCRIPTION } ,
35
+ { name : 'og:description' , property : 'og:url' , content : DESCRIPTION } ,
36
+ { name : 'twitter:description' , property : 'og:url' , content : DESCRIPTION } ,
37
+ { name : 'twitter:card' , property : 'og:url' , content : 'summary' } ,
38
+ {
39
+ name : 'twitter:creator' ,
40
+ property : 'og:url' ,
41
+ content : '@technikhil314' ,
42
+ } ,
43
+ {
44
+ name : 'og:image' ,
45
+ property : 'og:url' ,
46
+ content : `${ BASE_URL } /128x128.png` ,
47
+ } ,
48
+ {
49
+ name : 'og:image' ,
50
+ property : 'og:url' ,
51
+ content : `${ BASE_URL } /brand-192x192.png` ,
52
+ } ,
53
+ {
54
+ name : 'og:image' ,
55
+ property : 'og:url' ,
56
+ content : `${ BASE_URL } /brand-200x200.png` ,
57
+ } ,
58
+ {
59
+ name : 'og:image' ,
60
+ property : 'og:url' ,
61
+ content : `${ BASE_URL } /brand-512x512.png` ,
62
+ } ,
63
+ {
64
+ name : 'og:image' ,
65
+ property : 'og:url' ,
66
+ content : `${ BASE_URL } /brand-800x800.png` ,
67
+ } ,
68
+ {
69
+ name : 'image' ,
70
+ property : 'og:url' ,
71
+ content : `${ BASE_URL } /brand-1200x600.png` ,
72
+ } ,
73
+ { name : 'og:image:alt' , property : 'og:url' , content : DESCRIPTION } ,
74
+ {
75
+ name : 'twitter:image' ,
76
+ property : 'og:url' ,
77
+ content : `${ BASE_URL } /128x128.png` ,
78
+ } ,
39
79
] ,
40
80
link : [
41
- { rel : "manifest" , href : "/manifest.json" } ,
42
- { rel : "sitemap" , type : "application/xml" , title : "Sitemap" , href : "/sitemap.xml" } ,
43
- { rel : "preconnect" , href : "https://fonts.googleapis.com" } ,
44
- { rel : "preconnect" , href : "https://fonts.gstatic.com" , crossorigin : true } ,
45
- { href : "https://fonts.googleapis.com/css2?family=Open+Sans&display=swap" , rel : "stylesheet" } ,
46
- { rel : "icon" , media : "(prefers-color-scheme: light)" , type : "image/x-icon" , href : "/dark-favicon.ico" } ,
47
- { rel : "shortcut icon" , media : "(prefers-color-scheme: light)" , href : "/dark-favicon.ico" , type : "image/x-icon" } ,
48
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: light)" , href : "/dark-apple-touch-icon.png" } ,
49
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: light)" , sizes : "57x57" , href : "/dark-apple-touch-icon-57x57.png" } ,
50
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: light)" , sizes : "72x72" , href : "/dark-apple-touch-icon-72x72.png" } ,
51
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: light)" , sizes : "76x76" , href : "/dark-apple-touch-icon-76x76.png" } ,
52
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: light)" , sizes : "114x114" , href : "/dark-apple-touch-icon-114x114.png" } ,
53
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: light)" , sizes : "120x120" , href : "/dark-apple-touch-icon-120x120.png" } ,
54
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: light)" , sizes : "144x144" , href : "/dark-apple-touch-icon-144x144.png" } ,
55
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: light)" , sizes : "152x152" , href : "/dark-apple-touch-icon-152x152.png" } ,
56
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: light)" , sizes : "180x180" , href : "/dark-apple-touch-icon-180x180.png" } ,
57
- { rel : "icon" , media : "(prefers-color-scheme: dark)" , type : "image/x-icon" , href : "/light-favicon.ico" } ,
58
- { rel : "shortcut icon" , media : "(prefers-color-scheme: dark)" , href : "/light-favicon.ico" , type : "image/x-icon" } ,
59
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: dark)" , href : "/light-apple-touch-icon.png" } ,
60
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: dark)" , sizes : "57x57" , href : "/light-apple-touch-icon-57x57.png" } ,
61
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: dark)" , sizes : "72x72" , href : "/light-apple-touch-icon-72x72.png" } ,
62
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: dark)" , sizes : "76x76" , href : "/light-apple-touch-icon-76x76.png" } ,
63
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: dark)" , sizes : "114x114" , href : "/light-apple-touch-icon-114x114.png" } ,
64
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: dark)" , sizes : "120x120" , href : "/light-apple-touch-icon-120x120.png" } ,
65
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: dark)" , sizes : "144x144" , href : "/light-apple-touch-icon-144x144.png" } ,
66
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: dark)" , sizes : "152x152" , href : "/light-apple-touch-icon-152x152.png" } ,
67
- { rel : "apple-touch-icon" , media : "(prefers-color-scheme: dark)" , sizes : "180x180" , href : "/light-apple-touch-icon-180x180.png" } ,
68
- ...canonicalLinks
69
- ]
81
+ { rel : 'manifest' , href : '/manifest.json' } ,
82
+ {
83
+ rel : 'sitemap' ,
84
+ type : 'application/xml' ,
85
+ title : 'Sitemap' ,
86
+ href : '/sitemap.xml' ,
87
+ } ,
88
+ { rel : 'preconnect' , href : 'https://fonts.googleapis.com' } ,
89
+ {
90
+ rel : 'preconnect' ,
91
+ href : 'https://fonts.gstatic.com' ,
92
+ crossorigin : true ,
93
+ } ,
94
+ {
95
+ href : 'https://fonts.googleapis.com/css2?family=Open+Sans&display=swap' ,
96
+ rel : 'stylesheet' ,
97
+ } ,
98
+ {
99
+ rel : 'icon' ,
100
+ media : '(prefers-color-scheme: light)' ,
101
+ type : 'image/x-icon' ,
102
+ href : '/dark-favicon.ico' ,
103
+ } ,
104
+ {
105
+ rel : 'shortcut icon' ,
106
+ media : '(prefers-color-scheme: light)' ,
107
+ href : '/dark-favicon.ico' ,
108
+ type : 'image/x-icon' ,
109
+ } ,
110
+ {
111
+ rel : 'apple-touch-icon' ,
112
+ media : '(prefers-color-scheme: light)' ,
113
+ href : '/dark-apple-touch-icon.png' ,
114
+ } ,
115
+ {
116
+ rel : 'apple-touch-icon' ,
117
+ media : '(prefers-color-scheme: light)' ,
118
+ sizes : '57x57' ,
119
+ href : '/dark-apple-touch-icon-57x57.png' ,
120
+ } ,
121
+ {
122
+ rel : 'apple-touch-icon' ,
123
+ media : '(prefers-color-scheme: light)' ,
124
+ sizes : '72x72' ,
125
+ href : '/dark-apple-touch-icon-72x72.png' ,
126
+ } ,
127
+ {
128
+ rel : 'apple-touch-icon' ,
129
+ media : '(prefers-color-scheme: light)' ,
130
+ sizes : '76x76' ,
131
+ href : '/dark-apple-touch-icon-76x76.png' ,
132
+ } ,
133
+ {
134
+ rel : 'apple-touch-icon' ,
135
+ media : '(prefers-color-scheme: light)' ,
136
+ sizes : '114x114' ,
137
+ href : '/dark-apple-touch-icon-114x114.png' ,
138
+ } ,
139
+ {
140
+ rel : 'apple-touch-icon' ,
141
+ media : '(prefers-color-scheme: light)' ,
142
+ sizes : '120x120' ,
143
+ href : '/dark-apple-touch-icon-120x120.png' ,
144
+ } ,
145
+ {
146
+ rel : 'apple-touch-icon' ,
147
+ media : '(prefers-color-scheme: light)' ,
148
+ sizes : '144x144' ,
149
+ href : '/dark-apple-touch-icon-144x144.png' ,
150
+ } ,
151
+ {
152
+ rel : 'apple-touch-icon' ,
153
+ media : '(prefers-color-scheme: light)' ,
154
+ sizes : '152x152' ,
155
+ href : '/dark-apple-touch-icon-152x152.png' ,
156
+ } ,
157
+ {
158
+ rel : 'apple-touch-icon' ,
159
+ media : '(prefers-color-scheme: light)' ,
160
+ sizes : '180x180' ,
161
+ href : '/dark-apple-touch-icon-180x180.png' ,
162
+ } ,
163
+ {
164
+ rel : 'icon' ,
165
+ media : '(prefers-color-scheme: dark)' ,
166
+ type : 'image/x-icon' ,
167
+ href : '/light-favicon.ico' ,
168
+ } ,
169
+ {
170
+ rel : 'shortcut icon' ,
171
+ media : '(prefers-color-scheme: dark)' ,
172
+ href : '/light-favicon.ico' ,
173
+ type : 'image/x-icon' ,
174
+ } ,
175
+ {
176
+ rel : 'apple-touch-icon' ,
177
+ media : '(prefers-color-scheme: dark)' ,
178
+ href : '/light-apple-touch-icon.png' ,
179
+ } ,
180
+ {
181
+ rel : 'apple-touch-icon' ,
182
+ media : '(prefers-color-scheme: dark)' ,
183
+ sizes : '57x57' ,
184
+ href : '/light-apple-touch-icon-57x57.png' ,
185
+ } ,
186
+ {
187
+ rel : 'apple-touch-icon' ,
188
+ media : '(prefers-color-scheme: dark)' ,
189
+ sizes : '72x72' ,
190
+ href : '/light-apple-touch-icon-72x72.png' ,
191
+ } ,
192
+ {
193
+ rel : 'apple-touch-icon' ,
194
+ media : '(prefers-color-scheme: dark)' ,
195
+ sizes : '76x76' ,
196
+ href : '/light-apple-touch-icon-76x76.png' ,
197
+ } ,
198
+ {
199
+ rel : 'apple-touch-icon' ,
200
+ media : '(prefers-color-scheme: dark)' ,
201
+ sizes : '114x114' ,
202
+ href : '/light-apple-touch-icon-114x114.png' ,
203
+ } ,
204
+ {
205
+ rel : 'apple-touch-icon' ,
206
+ media : '(prefers-color-scheme: dark)' ,
207
+ sizes : '120x120' ,
208
+ href : '/light-apple-touch-icon-120x120.png' ,
209
+ } ,
210
+ {
211
+ rel : 'apple-touch-icon' ,
212
+ media : '(prefers-color-scheme: dark)' ,
213
+ sizes : '144x144' ,
214
+ href : '/light-apple-touch-icon-144x144.png' ,
215
+ } ,
216
+ {
217
+ rel : 'apple-touch-icon' ,
218
+ media : '(prefers-color-scheme: dark)' ,
219
+ sizes : '152x152' ,
220
+ href : '/light-apple-touch-icon-152x152.png' ,
221
+ } ,
222
+ {
223
+ rel : 'apple-touch-icon' ,
224
+ media : '(prefers-color-scheme: dark)' ,
225
+ sizes : '180x180' ,
226
+ href : '/light-apple-touch-icon-180x180.png' ,
227
+ } ,
228
+ ...canonicalLinks ,
229
+ ] ,
70
230
} ,
71
231
72
232
// Global CSS: https://go.nuxtjs.dev/config-css
73
- css : [
74
- "~/styles/global.scss"
75
- ] ,
233
+ css : [ '~/styles/global.scss' ] ,
76
234
77
235
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
78
- plugins : [
79
- '~/plugins/cookie-injector.client.ts'
80
- ] ,
236
+ plugins : [ '~/plugins/cookie-injector.client.ts' ] ,
81
237
82
238
// Auto import components: https://go.nuxtjs.dev/config-components
83
239
components : true ,
@@ -96,32 +252,39 @@ export default {
96
252
modules : [
97
253
// https://go.nuxtjs.dev/pwa
98
254
'@nuxtjs/pwa' ,
99
- '@nuxtjs/sitemap'
255
+ '@nuxtjs/sitemap' ,
100
256
] ,
101
257
102
258
// PWA module configuration: https://go.nuxtjs.dev/pwa
103
259
pwa : {
104
260
manifest : {
105
- lang : 'en'
106
- }
261
+ lang : 'en' ,
262
+ } ,
107
263
} ,
108
264
109
265
// sitemap autogeneration https://github.com/nuxt-community/sitemap-module
110
266
sitemap : {
111
- hostname : BASE_URL
267
+ hostname : BASE_URL ,
112
268
} ,
113
269
114
270
// Build Configuration: https://go.nuxtjs.dev/config-build
115
271
build : {
116
272
extractCSS : true ,
117
273
extend ( config , { isClient } ) {
118
- if ( isClient && process . env . NODE_ENV === "development" ) {
274
+ if ( isClient && process . env . NODE_ENV === 'development' ) {
275
+ config . resolve . alias . vscode = path . resolve (
276
+ './node_modules/monaco-languageclient/lib/vscode-compatibility'
277
+ )
278
+ config . plugins . push (
279
+ new MonacoWebpackPlugin ( {
280
+ languages : [ 'javascript' ] ,
281
+ features : [ 'coreCommands' , 'find' ] ,
282
+ } )
283
+ )
119
284
config . devtool = 'source-map'
120
285
}
121
- }
286
+ } ,
122
287
} ,
123
288
124
- serverMiddleware : [
125
- { path : '/test' , handler : '~/serverMiddleware/ok.js' } ,
126
- ]
289
+ serverMiddleware : [ { path : '/test' , handler : '~/serverMiddleware/ok.js' } ] ,
127
290
}
0 commit comments