ambient-display 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/build/client/_app/immutable/assets/0.Dl9__I4E.css +1 -0
  2. package/build/client/_app/immutable/assets/0.Dl9__I4E.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.Dl9__I4E.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/2.BtzFOBtk.css +1 -0
  5. package/build/client/_app/immutable/assets/2.BtzFOBtk.css.br +0 -0
  6. package/build/client/_app/immutable/assets/2.BtzFOBtk.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/3.BvcZlbFP.css +1 -0
  8. package/build/client/_app/immutable/assets/3.BvcZlbFP.css.br +0 -0
  9. package/build/client/_app/immutable/assets/3.BvcZlbFP.css.gz +0 -0
  10. package/build/client/_app/immutable/assets/LoadingIndicator.D0m6rSKQ.css +1 -0
  11. package/build/client/_app/immutable/assets/LoadingIndicator.D0m6rSKQ.css.br +0 -0
  12. package/build/client/_app/immutable/assets/LoadingIndicator.D0m6rSKQ.css.gz +0 -0
  13. package/build/client/_app/immutable/assets/PlayingTracker.9uM5nyWg.css +1 -0
  14. package/build/client/_app/immutable/assets/PlayingTracker.9uM5nyWg.css.br +0 -0
  15. package/build/client/_app/immutable/assets/PlayingTracker.9uM5nyWg.css.gz +0 -0
  16. package/build/client/_app/immutable/assets/_layout.Dl9__I4E.css +1 -0
  17. package/build/client/_app/immutable/assets/_layout.Dl9__I4E.css.br +0 -0
  18. package/build/client/_app/immutable/assets/_layout.Dl9__I4E.css.gz +0 -0
  19. package/build/client/_app/immutable/assets/_page.BtzFOBtk.css +1 -0
  20. package/build/client/_app/immutable/assets/_page.BtzFOBtk.css.br +0 -0
  21. package/build/client/_app/immutable/assets/_page.BtzFOBtk.css.gz +0 -0
  22. package/build/client/_app/immutable/assets/_page.BvcZlbFP.css +1 -0
  23. package/build/client/_app/immutable/assets/_page.BvcZlbFP.css.br +0 -0
  24. package/build/client/_app/immutable/assets/_page.BvcZlbFP.css.gz +0 -0
  25. package/build/client/_app/immutable/chunks/LoadingIndicator.COVTk436.js +1 -0
  26. package/build/client/_app/immutable/chunks/LoadingIndicator.COVTk436.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/LoadingIndicator.COVTk436.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/PlayingTracker.Cymhk9j5.js +5 -0
  29. package/build/client/_app/immutable/chunks/PlayingTracker.Cymhk9j5.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/PlayingTracker.Cymhk9j5.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/disclose-version.N57b1q78.js +1 -0
  32. package/build/client/_app/immutable/chunks/disclose-version.N57b1q78.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/disclose-version.N57b1q78.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/entry.CTcSu7Oh.js +3 -0
  35. package/build/client/_app/immutable/chunks/entry.CTcSu7Oh.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/entry.CTcSu7Oh.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/index-client.DV07uIiZ.js +1 -0
  38. package/build/client/_app/immutable/chunks/index-client.DV07uIiZ.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/index-client.DV07uIiZ.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/index.DFULH2AN.js +1 -0
  41. package/build/client/_app/immutable/chunks/index.DFULH2AN.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/index.DFULH2AN.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/index.DLR8Bvs6.js +4 -0
  44. package/build/client/_app/immutable/chunks/index.DLR8Bvs6.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/index.DLR8Bvs6.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/legacy.DZgMwYuQ.js +1 -0
  47. package/build/client/_app/immutable/chunks/legacy.DZgMwYuQ.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/legacy.DZgMwYuQ.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/props.DYfFZGja.js +1 -0
  50. package/build/client/_app/immutable/chunks/props.DYfFZGja.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/props.DYfFZGja.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/snippet.BVSCguOu.js +1 -0
  53. package/build/client/_app/immutable/chunks/snippet.BVSCguOu.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/snippet.BVSCguOu.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/this.EZLWgc5v.js +1 -0
  56. package/build/client/_app/immutable/chunks/this.EZLWgc5v.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/this.EZLWgc5v.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/utils.BXcQV2KO.js +1 -0
  59. package/build/client/_app/immutable/chunks/utils.BXcQV2KO.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/utils.BXcQV2KO.js.gz +0 -0
  61. package/build/client/_app/immutable/entry/app.DHMJZPqS.js +2 -0
  62. package/build/client/_app/immutable/entry/app.DHMJZPqS.js.br +0 -0
  63. package/build/client/_app/immutable/entry/app.DHMJZPqS.js.gz +0 -0
  64. package/build/client/_app/immutable/entry/start.BGJKS9mR.js +1 -0
  65. package/build/client/_app/immutable/entry/start.BGJKS9mR.js.br +2 -0
  66. package/build/client/_app/immutable/entry/start.BGJKS9mR.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/0.DaJoi3FK.js +2 -0
  68. package/build/client/_app/immutable/nodes/0.DaJoi3FK.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/0.DaJoi3FK.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/1.0EwG4xPT.js +1 -0
  71. package/build/client/_app/immutable/nodes/1.0EwG4xPT.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/1.0EwG4xPT.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/2.CIcrK0Mf.js +1 -0
  74. package/build/client/_app/immutable/nodes/2.CIcrK0Mf.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/2.CIcrK0Mf.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/3.vzk8SJSG.js +1 -0
  77. package/build/client/_app/immutable/nodes/3.vzk8SJSG.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/3.vzk8SJSG.js.gz +0 -0
  79. package/build/client/_app/version.json +1 -0
  80. package/build/client/_app/version.json.br +0 -0
  81. package/build/client/_app/version.json.gz +0 -0
  82. package/build/client/manifest.json.br +0 -0
  83. package/build/client/manifest.json.gz +0 -0
  84. package/build/env.js +45 -0
  85. package/build/handler.js +1375 -0
  86. package/build/index.js +334 -0
  87. package/build/server/chunks/0-D_yciAvo.js +91 -0
  88. package/build/server/chunks/0-D_yciAvo.js.map +1 -0
  89. package/build/server/chunks/1-BA-qTHOy.js +9 -0
  90. package/build/server/chunks/1-BA-qTHOy.js.map +1 -0
  91. package/build/server/chunks/2-DPsIhdeI.js +9 -0
  92. package/build/server/chunks/2-DPsIhdeI.js.map +1 -0
  93. package/build/server/chunks/3-CZREXwZu.js +9 -0
  94. package/build/server/chunks/3-CZREXwZu.js.map +1 -0
  95. package/build/server/chunks/LoadingIndicator-CTUFEPkL.js +10 -0
  96. package/build/server/chunks/LoadingIndicator-CTUFEPkL.js.map +1 -0
  97. package/build/server/chunks/LoadingIndicator.svelte_svelte_type_style_lang-CVdBHA1v.js +172 -0
  98. package/build/server/chunks/LoadingIndicator.svelte_svelte_type_style_lang-CVdBHA1v.js.map +1 -0
  99. package/build/server/chunks/PlayingTracker-BIq1bdv_.js +18 -0
  100. package/build/server/chunks/PlayingTracker-BIq1bdv_.js.map +1 -0
  101. package/build/server/chunks/_layout.svelte-BoFI04Ng.js +24 -0
  102. package/build/server/chunks/_layout.svelte-BoFI04Ng.js.map +1 -0
  103. package/build/server/chunks/_page.svelte-C3Mw7ZhL.js +115 -0
  104. package/build/server/chunks/_page.svelte-C3Mw7ZhL.js.map +1 -0
  105. package/build/server/chunks/_page.svelte-CzGyTA7b.js +368 -0
  106. package/build/server/chunks/_page.svelte-CzGyTA7b.js.map +1 -0
  107. package/build/server/chunks/error.svelte-BZE1ioPX.js +116 -0
  108. package/build/server/chunks/error.svelte-BZE1ioPX.js.map +1 -0
  109. package/build/server/chunks/exports-DAjI6ZSp.js +125 -0
  110. package/build/server/chunks/exports-DAjI6ZSp.js.map +1 -0
  111. package/build/server/chunks/index2-BA59f76P.js +1214 -0
  112. package/build/server/chunks/index2-BA59f76P.js.map +1 -0
  113. package/build/server/index.js +4868 -0
  114. package/build/server/index.js.map +1 -0
  115. package/build/server/manifest.js +50 -0
  116. package/build/server/manifest.js.map +1 -0
  117. package/build/shims.js +32 -0
  118. package/package.json +9 -2
  119. package/server/index.js +4 -0
  120. package/server/spotify_auth.json +1 -0
  121. package/.prettierignore +0 -4
  122. package/.prettierrc +0 -17
  123. package/CHANGELOG.md +0 -34
  124. package/env.template +0 -2
  125. package/eslint.config.js +0 -24
  126. package/jsconfig.json +0 -19
  127. package/screenshot.png +0 -0
  128. package/src/app.d.ts +0 -13
  129. package/src/app.html +0 -12
  130. package/src/lib/actions/qr.svelte.js +0 -23
  131. package/src/lib/comms.js +0 -25
  132. package/src/lib/components/AuthenticateTrigger.svelte +0 -74
  133. package/src/lib/components/Controls.svelte +0 -91
  134. package/src/lib/components/ImageLoad.svelte +0 -79
  135. package/src/lib/components/LoadingIndicator.svelte +0 -75
  136. package/src/lib/components/MediaItem.svelte +0 -75
  137. package/src/lib/components/PlayingTracker.svelte +0 -94
  138. package/src/lib/components/ResultsList.svelte +0 -80
  139. package/src/lib/components/Toast/Item.svelte +0 -71
  140. package/src/lib/components/Toast/Manager.svelte +0 -34
  141. package/src/lib/icons/disc.svg +0 -1
  142. package/src/lib/index.js +0 -1
  143. package/src/lib/store.js +0 -146
  144. package/src/lib/styles.scss +0 -166
  145. package/src/lib/toast.js +0 -57
  146. package/src/lib/utils.js +0 -723
  147. package/src/routes/+layout.server.js +0 -25
  148. package/src/routes/+layout.svelte +0 -72
  149. package/src/routes/+page.svelte +0 -381
  150. package/src/routes/player/+page.svelte +0 -294
  151. package/svelte.config.js +0 -19
  152. package/tools/BuildManifest.js +0 -87
  153. package/vite.config.js +0 -46
  154. /package/{static → build/client}/favicon.ico +0 -0
  155. /package/{static → build/client}/favicon.png +0 -0
  156. /package/{static → build/client}/icons/144.favicon.png +0 -0
  157. /package/{static → build/client}/icons/168.favicon.png +0 -0
  158. /package/{static → build/client}/icons/192.favicon.png +0 -0
  159. /package/{static → build/client}/icons/48.favicon.png +0 -0
  160. /package/{static → build/client}/icons/72.favicon.png +0 -0
  161. /package/{static → build/client}/icons/96.favicon.png +0 -0
  162. /package/{static → build/client}/manifest.json +0 -0
@@ -1,294 +0,0 @@
1
- <script>
2
- import { qr } from '$lib/actions/qr.svelte';
3
- import { address, api, config } from '$lib/store';
4
- import { fade } from 'svelte/transition';
5
- import ImageLoad from '$lib/components/ImageLoad.svelte';
6
- import PlayingTracker from '$lib/components/PlayingTracker.svelte';
7
- import LoadingIndicator from '$lib/components/LoadingIndicator.svelte';
8
- import * as DataTypes from '$server/types/data.js';
9
- import { listenCb } from '$lib/utils';
10
-
11
- /**
12
- * @type {DataTypes.ApiInfoResponse | null | {noTrack: boolean}}
13
- */
14
- let playing = $state(null);
15
-
16
- let title = $derived.by(() => {
17
- if (!playing || 'noTrack' in playing) {
18
- return '';
19
- }
20
-
21
- if ('normalised' in playing.context) {
22
- return playing.context.normalised.title;
23
- }
24
-
25
- if ('album' in playing.track) {
26
- return playing.track.album;
27
- }
28
-
29
- if ('show' in playing.track) {
30
- return playing.track.show;
31
- }
32
-
33
- return '';
34
- });
35
-
36
- let subtitle = $derived.by(() => {
37
- if (!playing || 'noTrack' in playing) {
38
- return '';
39
- }
40
-
41
- if (!playing.isPlaying) {
42
- return 'Paused';
43
- }
44
-
45
- switch (playing.context?.type) {
46
- case 'album':
47
- return [playing.track.number, playing.context.total].join(' – ');
48
- default:
49
- return playing?.context?.normalised?.subtitle ?? '';
50
- }
51
- });
52
-
53
- /** @type {null | (() => void)} */
54
- let focusEvt = null;
55
- async function keepScreenAwake() {
56
- let wakeLock = null;
57
-
58
- try {
59
- focusEvt?.();
60
- focusEvt = null;
61
- wakeLock = await navigator.wakeLock.request('screen');
62
- console.log('Screen locked');
63
- return () => {};
64
- } catch (err) {
65
- if (err.code === 0 && !focusEvt) {
66
- focusEvt = listenCb(window, 'focus', keepScreenAwake);
67
- return focusEvt;
68
- } else {
69
- console.log(err);
70
- }
71
- }
72
- }
73
-
74
- let idle = $state(true);
75
- function mouseIdle() {
76
- let timerId = 0;
77
- const unlisten = listenCb(document, 'mousemove', () => {
78
- clearTimeout(timerId);
79
- idle = false;
80
-
81
- timerId = window.setTimeout(() => {
82
- idle = true;
83
- }, 2000);
84
- });
85
-
86
- return () => {
87
- unlisten();
88
- clearTimeout(timerId);
89
- };
90
- }
91
-
92
- $effect(() => {
93
- document.documentElement.classList.toggle('idle', idle);
94
- });
95
-
96
- $effect(() => {
97
- keepScreenAwake();
98
- mouseIdle();
99
- });
100
- </script>
101
-
102
- <PlayingTracker bind:playing />
103
-
104
- {#if !playing}
105
- <LoadingIndicator floating />
106
- {:else if 'noTrack' in playing}
107
- <div class="empty bg-color-3 color-1">No Track playing currently</div>
108
- {:else}
109
- <div class="page bg-color-bg" class:idle>
110
- <div class="top">
111
- <div class="context color-1">
112
- <span>{title}</span>
113
- <span class="size-small-2">{subtitle}</span>
114
- </div>
115
- </div>
116
-
117
- <div class="middle">
118
- <div class="middle-image">
119
- {#key playing.track.normalised.image.full.url}
120
- <span transition:fade>
121
- <ImageLoad
122
- full={playing.track.normalised.image.full.url}
123
- low={playing.track.normalised.image.low.url}
124
- />
125
- </span>
126
- {/key}
127
- </div>
128
- </div>
129
-
130
- <div class="bottom">
131
- <div class="left color-1">
132
- <h1 class="title ellipsis">{playing.track.normalised.title}</h1>
133
- <span class="headline-3">{playing.track.normalised.subtitle}</span>
134
- </div>
135
-
136
- <div class="right">
137
- {#if $config.api?.canAdd}
138
- <div class="badge bg-color-3 color-bg">
139
- <span class="headline-3">Add</span>
140
-
141
- <span class="badge-qr" use:qr={{ url: $address.get('/') }}></span>
142
- </div>
143
- {/if}
144
-
145
- <span class="size-small-1 color-3">{$address.naked}</span>
146
- </div>
147
- </div>
148
- </div>
149
- {/if}
150
-
151
- <style lang="scss">
152
- .page {
153
- display: grid;
154
-
155
- grid-template-rows: auto 1fr auto;
156
- gap: var(--spacing-large);
157
-
158
- width: 100vw;
159
- height: 100dvh;
160
-
161
- transition: {
162
- duration: 0.5s;
163
- property: background-color;
164
- }
165
- }
166
-
167
- .top {
168
- display: flex;
169
-
170
- justify-content: center;
171
- align-items: center;
172
-
173
- padding: var(--spacing-large);
174
- }
175
-
176
- .middle {
177
- min-height: 0;
178
-
179
- display: grid;
180
-
181
- grid-template-columns: 1fr;
182
-
183
- &-image {
184
- display: grid;
185
-
186
- grid-template-columns: 1fr;
187
- grid-template-rows: 1fr;
188
-
189
- min-height: 0;
190
- padding: var(--spacing-x-large);
191
-
192
- @media (orientation: landscape) {
193
- padding: var(--spacing-large);
194
- }
195
-
196
- span {
197
- grid-column: 1;
198
- grid-row: 1;
199
-
200
- min-height: 0;
201
- }
202
-
203
- :global(img) {
204
- width: 100%;
205
- height: 100%;
206
- min-height: 0;
207
- min-width: 0;
208
-
209
- object-fit: contain;
210
- }
211
- }
212
- }
213
-
214
- .context {
215
- display: flex;
216
-
217
- flex-direction: column;
218
-
219
- align-items: center;
220
- }
221
-
222
- .bottom {
223
- display: grid;
224
-
225
- grid-template-columns: 1fr auto;
226
- gap: var(--spacing-large);
227
-
228
- justify-content: space-between;
229
- align-items: flex-start;
230
-
231
- padding: var(--spacing-large);
232
-
233
- .badge {
234
- display: grid;
235
-
236
- grid-template-columns: 1fr 50px;
237
- gap: var(--spacing-small);
238
-
239
- align-items: center;
240
-
241
- padding: var(--spacing-small);
242
-
243
- border-radius: var(--border-radius-normal);
244
-
245
- min-width: 150px;
246
-
247
- &-qr {
248
- line-height: 0;
249
- }
250
- }
251
-
252
- .left {
253
- display: flex;
254
-
255
- flex-direction: column;
256
- align-items: flex-start;
257
-
258
- gap: var(--spacing-small);
259
-
260
- flex: 1;
261
- min-width: 0;
262
-
263
- .title {
264
- width: 100%;
265
- line-height: 1.2;
266
- margin-bottom: -0.1em;
267
- }
268
- }
269
-
270
- .right {
271
- display: flex;
272
-
273
- flex-direction: column;
274
- align-items: flex-end;
275
- align-self: flex-end;
276
-
277
- gap: var(--spacing-small);
278
- }
279
- }
280
-
281
- .empty {
282
- position: absolute;
283
-
284
- top: 50%;
285
- left: 50%;
286
-
287
- transform: translate3d(-50%, -50%, 0);
288
-
289
- padding: var(--spacing-normal);
290
- border-radius: var(--border-radius-normal);
291
-
292
- white-space: nowrap;
293
- }
294
- </style>
package/svelte.config.js DELETED
@@ -1,19 +0,0 @@
1
- import adapter from '@sveltejs/adapter-node';
2
- import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
3
-
4
- /** @type {import('@sveltejs/kit').Config} */
5
- const config = {
6
- kit: {
7
- // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list.
8
- // If your environment is not supported, or you settled on a specific environment, switch out the adapter.
9
- // See https://svelte.dev/docs/kit/adapters for more information about adapters.
10
- adapter: adapter(),
11
- alias: {
12
- $server: './server',
13
- $config: './ambient.config.js'
14
- }
15
- },
16
- preprocess: [vitePreprocess()]
17
- };
18
-
19
- export default config;
@@ -1,87 +0,0 @@
1
- // @ts-nocheck
2
- import sharp from 'sharp';
3
- import fs from 'fs-extra';
4
- import path from 'path';
5
- import ico from 'sharp-ico';
6
-
7
- const DEFAULT_MANIFEST = async () => {
8
- const pkg = await import('../package.json');
9
-
10
- return {
11
- name: pkg.name,
12
- short_name: pkg.name,
13
- start_url: '.',
14
- display: 'standalone',
15
- background_color: '#fff',
16
- description: pkg.default?.description ?? ''
17
- };
18
- };
19
-
20
- const ICON_SIZES = [48, 72, 96, 144, 168, 192];
21
-
22
- function generateIco(sharpNode, iconName = 'favicon.ico', sizes = [128, 64, 32, 24]) {
23
- return ico.sharpsToIco([sharpNode], iconName, {
24
- sizes
25
- });
26
- }
27
-
28
- export default function manifestPlugin({
29
- icon = 'favicon.png',
30
- outputDir = 'icons',
31
- outputIco = 'favicon.ico',
32
- faviconSizes = [128, 64, 32, 24],
33
- manifestIconSizes = ICON_SIZES,
34
- manifest = {}
35
- } = {}) {
36
- let viteConfig;
37
-
38
- return {
39
- name: 'build-manifest', // required, will show up in warnings and errors
40
-
41
- configResolved(config) {
42
- viteConfig = config;
43
- },
44
-
45
- async buildStart() {
46
- const defaultManifest = await DEFAULT_MANIFEST();
47
-
48
- if (fs.existsSync(path.join(viteConfig.publicDir, icon))) {
49
- fs.ensureDirSync(path.join(viteConfig.publicDir, outputDir));
50
-
51
- const iconNode = sharp(path.join(viteConfig.publicDir, icon));
52
-
53
- console.log(`Generating .ico file`);
54
- await generateIco(iconNode, path.join(viteConfig.publicDir, outputIco), faviconSizes);
55
-
56
- console.log(`Generating icons`);
57
- await Promise.all(
58
- manifestIconSizes.map((size) =>
59
- iconNode
60
- .toFormat('png')
61
- .resize(size, size)
62
- .toFile(
63
- path.join(viteConfig.publicDir, outputDir, [size, path.basename(icon)].join('.'))
64
- )
65
- )
66
- );
67
-
68
- const finalManifest = {
69
- ...defaultManifest,
70
- ...manifest,
71
- icons: manifestIconSizes.map((size) => ({
72
- sizes: `${size}x${size}`,
73
- type: `image/png`,
74
- src: `/${path.join(outputDir, [size, path.basename(icon)].join('.'))}`
75
- }))
76
- };
77
-
78
- console.log(`Writing manifest file`);
79
- fs.writeFileSync(
80
- path.join(viteConfig.publicDir, 'manifest.json'),
81
- JSON.stringify(finalManifest, null, 2),
82
- 'utf-8'
83
- );
84
- }
85
- }
86
- };
87
- }
package/vite.config.js DELETED
@@ -1,46 +0,0 @@
1
- import { sveltekit } from '@sveltejs/kit/vite';
2
- import { defineConfig, searchForWorkspaceRoot } from 'vite';
3
- import svg from '@poppanator/sveltekit-svg';
4
- import BuildManifest from './tools/BuildManifest.js';
5
-
6
- export default defineConfig({
7
- server: {
8
- host: true,
9
- fs: {
10
- allow: [searchForWorkspaceRoot(process.cwd()), './server', './ambient.config.js']
11
- }
12
- },
13
- plugins: [
14
- sveltekit(),
15
- svg({
16
- includePaths: ['./src/lib/icons/'],
17
- svgoOptions: {
18
- multipass: true,
19
- plugins: [
20
- {
21
- name: 'preset-default',
22
- // by default svgo removes the viewBox which prevents svg icons from scaling
23
- // not a good idea! https://github.com/svg/svgo/pull/1461
24
- params: { overrides: { removeViewBox: false } }
25
- },
26
- {
27
- name: 'convertColors',
28
- params: {
29
- currentColor: true
30
- }
31
- },
32
- { name: 'removeAttrs', params: { attrs: '(width|height)' } }
33
- ]
34
- }
35
- }),
36
-
37
- BuildManifest({
38
- manifest: {
39
- name: 'Spotify Party',
40
- short_name: 'Spotify Party',
41
- description: 'A frontend for social spotify-ing',
42
- background_color: '#000'
43
- }
44
- })
45
- ]
46
- });
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes