Commit Graph

259 Commits

Author SHA1 Message Date
Anthony Fu
4abcfb6bf9
fix(vite): avoid creating server for production build (#5941) 2022-07-17 16:17:07 +02:00
Anthony Fu
537b6e35bd fix(vite): set transform mode for vite-node (#5854)
close #5543
2022-07-14 16:01:21 +02:00
Daniel Roe
3ad12b5f4a
fix(vite): close vite watcher before building (#5875) 2022-07-13 14:44:07 +02:00
Daniel Roe
23546a270c
feat(nuxt): automatically generate unique keys for keyed composables (#4955)
Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2022-07-07 18:26:04 +02:00
Daniel Roe
00c1daebaf
fix(vite): do not inline dynamic imports in server (#5506)
* fix(vite): do not inline dynamic imports in server

* chore: add link to upstream pr
2022-07-06 21:19:16 +02:00
Anthony Fu
7efdb486db
fix(vite-node): on-demand manifest (#5017) 2022-06-27 14:08:52 +02:00
Ahad Birang
67f40d7e40
fix(vite): do not watch ignored pathes (#5632) 2022-06-27 14:06:31 +02:00
Daniel Roe
e38de4af4d
fix(vite): disable hmr in build (#5505) 2022-06-22 20:07:54 +02:00
Daniel Roe
cf255259ca
fix(vite): add typecheck to vite plugins (#5464) 2022-06-15 17:18:45 +02:00
Daniel Roe
8831e4a4b9
fix(vite): don't terminate with escaped delimiters (#5409) 2022-06-10 17:17:11 +02:00
Daniel Roe
11a7340883
feat(nuxt): experimental flag to use external vue dependencies (#5083) 2022-06-10 16:31:36 +02:00
Anthony Fu
fadffbe80c
chore: clean up jsdoc (#5397) 2022-06-10 14:14:03 +02:00
Xin Du (Clark)
139fc11c5a
refactor: fix typo and code improvements (#5344) 2022-06-08 21:49:11 +02:00
Jeremy Ye
bd80d27a49
fix(vite): add file:// protocol to vite-node entry file path (#4966) 2022-05-13 13:00:14 +02:00
Daniel Roe
17f9c54a79
feat(vite): replace global with globalThis (#4958) 2022-05-13 12:49:30 +02:00
Dario Merz
31c67ad9b4
fix(vite): ignore virtual imports that aren't in vfs (#4822)
Co-authored-by: Dario Merz <dario.merz@deptagency.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>
2022-05-06 15:33:32 +02:00
Daniel Roe
4079882bd4
fix(vite): use buildAssetsURL for dynamic imports (#4844) 2022-05-06 12:51:31 +02:00
Daniel Roe
1f8e3e2f33
feat(nitro): add nitro:build:before hook (#4304)
* fix(nitro): add back `nitro:generate` hook

* fix: use `nitro:generate` hook for vite workarounds

* fix: remove comment

* fix: only call `nitro:generate` in build mode

* rename hook to `nitro:_build`

* fix: use `nitro:build:before`

* move dev guard

Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2022-05-02 22:15:47 +02:00
Daniel Roe
b8d2e64c78
fix(vite): don't match across newlines (#4596) 2022-04-25 18:55:33 +02:00
Daniel Roe
650d12fa9c
feat: allow disabling sourcemap generation (#4509) 2022-04-22 17:35:42 +02:00
Daniel Roe
4c6c027014
fix(vite): use single regex to reduce risk of collisions (#4442) 2022-04-22 17:22:22 +02:00
Daniel Roe
648a70e97b
fix(vite): transform virtual templates (#4512) 2022-04-22 10:32:26 +02:00
pooya parsa
4712e99411
refactor!: rename nuxt3 to nuxt (#4449) 2022-04-20 10:52:39 +02:00
pooya parsa
756693ce7f
feat!: migrate to nitro 0.3x (#4438) 2022-04-19 21:10:32 +02:00
Daniel Roe
ea14a5c1c1
feat(vite,webpack): build/dev typechecking (#4379) 2022-04-15 17:28:42 +02:00
Daniel Roe
e0b2a3bfe4
chore: use node: prefix for built-in modules (#4384) 2022-04-15 17:19:05 +02:00
Anthony Fu
51ae426d4c
fix(vite): dev bundler for cjs support (#4371) 2022-04-15 09:57:36 +02:00
Anthony Fu
074daa767c
fix(vite): interop cjs (#4370) 2022-04-15 09:40:40 +02:00
Anthony Fu
e31c604ac4
feat(vite-node): on-demand manifest generation (#3968)
Co-authored-by: pooya parsa <pyapar@gmail.com>
2022-04-12 12:04:55 +02:00
Dizzy Rogers
26f8d8eb8f
fix(vite): prefer hmr ws protocol (#4203) 2022-04-09 12:09:43 +02:00
pooya parsa
315e5b59e6
fix: nitropack fixes and upgrade to 0.2.x (#4187) 2022-04-08 02:05:27 +02:00
Ahad Birang
f0714d78b0
fix(kit): use route instead of path in ServerMiddleware (#4139) 2022-04-07 13:32:28 +02:00
pooya parsa
11626eea4f
feat!: migrate to nitropack (#3956)
Co-authored-by: Daniel Roe <daniel@roe.dev>
2022-04-07 13:28:04 +02:00
Daniel Roe
3ea39e0745
fix(vite): clean up dynamic paths (#4130) 2022-04-06 16:15:36 +02:00
Anthony Fu
ec32cf9fc5
fix(vite): improve warmup (#4106) 2022-04-06 07:54:53 +02:00
Daniel Roe
ade3378a00
refactor(bridge): align bridge with vite and inline systemjs polyfill in entry (#4005) 2022-04-01 15:22:22 +02:00
Daniel Roe
51f3bbfd23
fix(vite): update regex to handle new vite output format (#4014) 2022-04-01 12:15:00 +02:00
Daniel Roe
fdd6a91a51
fix(vite): optimise vue by default (#3997) 2022-03-31 16:10:06 +02:00
Anthony Fu
9c2e208090
fix(vite-node): wrong entry been resolved in stub mode (#3983) 2022-03-31 09:11:50 +02:00
Anthony Fu
43007c6d13
fix(vite-node): improve server.mjs (#3967) 2022-03-30 13:34:23 +02:00
Anthony Fu
56252155ec
fix(vite-node): bugfixes for production build (#3934) 2022-03-28 13:02:28 +02:00
Daniel Roe
38e92597f4
fix(vite): externalise #_config in ssr: false (#3899) 2022-03-25 13:18:57 +01:00
Anthony Fu
11c460fa99
fix(vite-node): entry path and executing in production (#3854) 2022-03-24 13:35:09 +01:00
Daniel Roe
93c4dfe091
fix(vite): resolve #_config in base plugin (#3848) 2022-03-23 09:10:12 +01:00
Daniel Roe
7458dd1aa6
fix(nuxt3): use shared module for dynamic paths (#3757)
* test: add tests for dynamic paths + relative assets

Co-authored-by: Anthony Fu <hi@antfu.me>

* fix: rework client config and use shared module for dynamic paths

* resolves webpack public path regression

* refactor: use more similar names to nitro equivalent

* fix: align config exports

* refactor: remove `__` prefix within dynamic paths module

* refactor: use '#_config' to indicate internal alias

* Update packages/nuxt3/src/core/templates.ts

Co-authored-by: pooya parsa <pyapar@gmail.com>

* refactor: use `#_config` alias and rename to `paths.mjs`

Co-authored-by: Anthony Fu <hi@antfu.me>
Co-authored-by: pooya parsa <pyapar@gmail.com>
2022-03-22 16:51:26 +01:00
Daniel Roe
70f067a14b
fix(vite): sort postcss plugins to add autoprefixer & cssnano last (#3827) 2022-03-22 11:40:36 +01:00
Anthony Fu
f69126e8f4
feat: support reactivity transform (#3737)
Co-authored-by: pooya parsa <pyapar@gmail.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>
2022-03-17 23:17:59 +01:00
Daniel Roe
ff88d91bae
fix: use perfect-debounce to handle trailing run of promise (#3679)
Co-authored-by: pooya parsa <pyapar@gmail.com>
2022-03-16 12:11:30 +01:00
Daniel Roe
14b32258e8
fix: ensure debounced/async handlers run in order (#3656) 2022-03-15 11:56:16 +01:00
Sébastien Chopin
570016c143
fix(vite): improve logs for client vs server (#3634) 2022-03-14 11:19:37 +01:00
Anthony Fu
ac40c9746c
feat(vite): experimental vite-node support (#2795)
Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2022-03-11 09:41:27 +01:00
Daniel Roe
78761c236b
fix(vite): handle base in vite/preload-helper (#3499) 2022-03-04 12:45:14 +01:00
Anthony Fu
ecee32988d
chore: migrate to magic-string (#3482) 2022-03-03 11:01:14 +01:00
Daniel Roe
494f85a2b2
fix(vite): narrow nuxt3 inlining config (#3474) 2022-03-02 18:54:53 +01:00
Anthony Fu
a0f8a44e10
fix: sourcemap support for nuxt:vite-relative-asset (#3428) 2022-02-28 20:24:52 +01:00
Daniel Roe
754ff0c9e7
feat: .nuxtignore support and isIgnored kit utility (#3424) 2022-02-28 17:11:46 +01:00
Daniel Roe
73ba30fb69
refactor(schema,webpack)!: split out webpack and postcss build options (#2812)
* refactor: split out webpack and postcss build options

* feat(schema): set nuxt3 builder in config

* fix(schema): default postcss config file to false

* chore: update lockfile

* style: remove unused imports

* refactor(webpack): remove (previously disabled) babel config

* refactor: move shared vite options into schema

* fix(schema): omit __NUXT_BASE__ from defaults

* fix: move appDir-dependent options back to vite

* refactor: split out virtual modules

* refactor: extract compile/createDevMiddleware

* refactor: further improvements

* chore: remove `@nuxt/webpack-builder` dependency

* chore: update lockfile

* refactor: move `builder` option to top level

* fix: bind close to watcher instance

* chore: update lockfile

* fix: create portal between postcss & build.postcss.postcssOptions

* fix: remove duplicate

* fix: revert

* fix: use `postcss` directly

* fix: import builder from rootDir

* chore: dedupe webpack install

* test: update fixture to use `builder`

* fix: bind class in pify

Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2022-02-25 20:11:01 +01:00
Daniel Roe
e45a780714
fix(vite,webpack): disable async entrypoint by default (#3375)
* fix(vite): don't use async entry

* fix: use async entry when built

* refactor: default to sync entry, with option to enable async

* refactor: move to experimental.asyncEntry

* Update packages/webpack/src/presets/base.ts

Co-authored-by: pooya parsa <pyapar@gmail.com>

* Update packages/vite/src/vite.ts

Co-authored-by: pooya parsa <pyapar@gmail.com>

* style: remove double space

Co-authored-by: pooya parsa <pyapar@gmail.com>
2022-02-25 13:42:34 +01:00
Daniel Roe
70542a3af7
feat(nuxt3): expose /app export paths (#3323) 2022-02-18 19:26:43 +01:00
Anthony Fu
467ab693b9
feat: shared logger and silent test logs (#3259)
Co-authored-by: pooya parsa <pyapar@gmail.com>
2022-02-16 22:34:32 +01:00
Daniel Roe
42373e060d
fix: clean up some type issues and add type test suite (#3199) 2022-02-15 10:50:11 +01:00
Anthony Fu
61188e15cf
fix(vite): hmr port priority (#3190) 2022-02-11 13:09:25 +01:00
Anthony Fu
089160a541
fix(vite): assign different hmr port for each instance (#3169)
Co-authored-by: danielroe <danielroe@users.noreply.github.com>
2022-02-10 17:37:05 +01:00
Anthony Fu
b2438917b9
perf(vite): bypass unchanged plugin transform (#3150) 2022-02-10 10:30:34 +01:00
Anthony Fu
cb663b0285
chore(vite): unifiy vite plugin naming (#3151) 2022-02-10 10:29:49 +01:00
Daniel Roe
0f9bcbf68f
fix(vite): invalidate client modules too (#3116) 2022-02-08 01:10:42 +01:00
Daniel Roe
29171bd105
fix: sanitize import filenames in generated imports (#2216) 2022-02-07 14:45:47 +01:00
Daniel Roe
b110c8c96c
fix(vite): externalize config at rollup, not ssr level (#2971) 2022-01-31 11:54:48 +01:00
Daniel Roe
965f2abaee
feat(nuxt3): middleware type generation improvements (#2945) 2022-01-27 12:13:32 +01:00
Daniel Roe
d0bcc3fc82
fix(vite): only apply relative url fix to css assets (#2930) 2022-01-26 13:59:48 +01:00
Daniel Roe
b803fdb4f9
fix(vite): handle emitted assets with relative urls and dynamic base (#2851) 2022-01-24 13:57:24 +01:00
Daniel Roe
d07d572263
feat: improve base url options (#2655) 2022-01-18 17:59:14 +01:00
Daniel Roe
4728fd545e
fix(vite): invalidate virtual modules when templates are regenerated (#2725) 2022-01-17 11:49:53 +01:00
Daniel Roe
4111038aa7
chore: replace substr with slice (#2738) 2022-01-17 11:49:10 +01:00
Daniel Roe
4b351504e8
fix(vite): correctly import node builtins in dev bundler (#2753) 2022-01-17 11:36:44 +01:00
blazmrak
e0fec80baf
fix(vite): build fails with ssr turned off (#2652) 2022-01-13 13:39:23 +01:00
Anthony Fu
e9128f39a2
perf(ssr): disable vite's pre-trasnfroming to improve perf (#2574) 2022-01-05 19:31:24 +01:00
Anthony Fu
1155d1b4d4
fix(vite): only remove version query (#2587) 2022-01-05 19:28:04 +01:00
Anthony Fu
cac70e4696
fix(vite): remove vite's query for external modules (#2521) 2021-12-23 14:43:41 +01:00
renovate[bot]
85f0547ca4
chore(deps): update all non-major dependencies (#2379)
Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2021-12-20 12:33:18 +01:00
Anthony Fu
737f1bf80c
fix(vite): respect users config (#2395)
Co-authored-by: Daniel Roe <daniel@roe.dev>
2021-12-17 10:28:06 +01:00
Daniel Roe
df33474730
fix(vite): log error object (#2420) 2021-12-17 10:08:09 +01:00
Anthony Fu
29a2eb3dc1
fix(vite): include dynamic css (revert #2067) (#2227) 2021-11-30 15:37:01 +01:00
Daniel Roe
c5eed5e12b
fix(vite): don't copy publicDir files to _nuxt (#2135) 2021-11-24 16:42:38 +01:00
Anthony Fu
a149225e63
fix(vite): separate dynamic deps in dev-bundler (#2067) 2021-11-22 18:39:56 +01:00
pooya parsa
d68318f9d5
refactor: split schema to @nuxt/schema and simplify kit (#2059) 2021-11-21 17:14:46 +01:00
Xin Du (Clark)
c90bc50817
chore(lint): improve no-unused-vars rule (#1977) 2021-11-17 12:21:38 +01:00
Anthony Fu
86a47a2fea
fix(vite): external modules under/esm/ pattern (#1949)
Co-authored-by: Ben <bencodezen@users.noreply.github.com>
Co-authored-by: pooya parsa <pyapar@gmail.com>
2021-11-16 14:28:29 +01:00
Anthony Fu
f298386795
feat(bridge, nuxt3): mock vue-demi (#1849)
Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2021-11-15 11:25:50 +01:00
pooya parsa
6eb4040b23
fix(vite): remove global replacement (#1835) 2021-11-10 21:15:26 +01:00
Anthony Fu
ca557e7c0b
refactor(vite): reuse common modules (#1723) 2021-11-08 11:34:39 +01:00
Daniel Roe
90487fde0c
fix(vite): use forEach on NodeList not Element (#1734) 2021-11-05 14:54:13 +01:00
Anthony Fu
4da062a120
refactor(vite): move analyzePlugin to a seperate file (#1710) 2021-11-05 09:58:03 +01:00
Anthony Fu
85d173d653
fix(vite): swap <link> style on dev ssr (#1712) 2021-11-05 09:55:53 +01:00
Daniel Roe
6f1f12af16
fix(vite): expose underlying import errors (#1696) 2021-11-04 19:18:36 +01:00
Daniel Roe
2166661b17
fix(vite): remove relative vite workaround (#1646) 2021-11-04 12:25:46 +01:00
Anthony Fu
85f39858e5
fix(vite, bridge): avoid vite resolving tsconfig.json (#1677) 2021-11-04 09:13:29 +01:00
Daniel Roe
d30f4d86d2
fix: sanitize rollup-generated filenames (#1648)
Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2021-11-03 14:04:42 +01:00
Daniel Roe
a62351af4d
fix(vite): normalize full windows paths (#1650) 2021-11-02 19:10:56 +01:00
Daniel Roe
eb67eb919e
fix(vite): remove conflicting vite aliases (#1624) 2021-11-02 13:01:44 +01:00
Daniel Roe
bdbfa36987
fix(vite): improve external checks for dev-bundler (#1538) 2021-10-29 10:43:07 +02:00
Daniel Roe
f5aea9f742
fix(vite): don't replace process.env (#1543) 2021-10-28 16:48:42 +02:00
Daniel Roe
f78ec933fe
fix(vite): remove aliases from inline list (#1520) 2021-10-27 16:41:52 +02:00
Anthony Fu
0f329ea871
fix(bridge): fix fouc on vite (#1515) 2021-10-27 13:35:06 +02:00
Anthony Fu
cf99fd2862
fix(vite): add missing import.meta functions (#1513) 2021-10-27 13:32:26 +02:00
Anthony Fu
00e25fa8e8
fix(vite): dev-bundler externality (#1507) 2021-10-27 12:55:08 +02:00
Daniel Roe
096f0679f7
fix(vite): set #build/plugins alias to empty string (#1489) 2021-10-27 08:03:10 +00:00
Anthony Fu
46f858dd82
chore: move nuxt-vite to bridge (#1180)
Co-authored-by: Xin Du (Clark) <clark.duxin@gmail.com>
Co-authored-by: pooya parsa <pyapar@gmail.com>
2021-10-26 14:59:05 +02:00
Daniel Roe
c672d8990a
feat(vite): pass vue options to vite plugin (#1452) 2021-10-26 14:49:18 +02:00
Daniel Roe
f0b9474b40
feat(nuxi): bundle analyzer (#701)
Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2021-10-21 21:51:44 +02:00
pooya parsa
bbeb6b50f5
fix(vite): inline incompatible extensions (#1332) 2021-10-21 21:02:10 +02:00
Anthony Fu
f7153a3172
fix(vite): default export for external packages (#1297) 2021-10-20 20:09:49 +02:00
Daniel Roe
d166b78e06
feat(vite): use externality to resolve externals for ssr dev bundler (#1172) 2021-10-20 11:50:29 +02:00
Anthony Fu
39ed77e229
fix(vite): dev ssr fouc with preprocessors (#1101) 2021-10-18 09:54:20 +02:00
Daniel Roe
b2c74d739f
fix(vite): set root to srcDir (#1018) 2021-10-14 13:17:39 +02:00
pooya parsa
ad4e2e98d9
fix(vite): ensure id is javascript before externalizing (#983) 2021-10-13 22:44:52 +02:00
Anthony Fu
5b75e11e85
feat(vite): postcss support (#818)
Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2021-10-13 22:08:26 +02:00
Xin Du (Clark)
c1ee1c4377
feat(vite): support jsx syntax (#922) 2021-10-13 12:34:51 +02:00
pooya parsa
47ea41dadb
fix(vite): use pathToFileURL for externals (#819) 2021-10-12 20:01:27 +02:00
Pooya Parsa
3c132a8de0 fix(vite): normalize paths before comparing (#763)
Co-Authored-By: Anthony Fu <hi@antfu.me>
2021-10-12 16:42:52 +02:00
Anthony Fu
44f8904957
fix(vite): dev ssr fouc (#757) 2021-10-12 16:05:20 +02:00
pooya parsa
101ef20c34
fix(vite): resolve vue aliases (#734) 2021-10-12 10:39:06 +02:00
pooya parsa
e531b65a32
fix(vite): improve external handling (#729) 2021-10-12 03:38:30 +02:00
Anthony Fu
2f5938c7b5
chore(vite): add missing types and move out utils (#710) 2021-10-11 14:29:35 +02:00
Anthony Fu
c76d554ebb
fix(vite): fix entry point not determine warning (#682) 2021-10-07 10:29:10 +02:00
Anthony Fu
bb8c4ff019
feat(vite): vite dev server bundler (#604)
Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2021-10-05 16:18:03 +02:00
pooya parsa
6e496373f3
feat: use native esm for all packages (#539) 2021-10-02 18:01:17 +02:00
Anthony Fu
e13baf9867
feat(nuxt3): remove <script setup> transform and prefer top level await (#579)
Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2021-09-30 20:19:55 +02:00
Daniel Roe
0c14b0a48b
fix: workaround for vue 3.2.18+ esm bundle issue and revert #566 (#578) (#578) 2021-09-29 13:47:36 +02:00
pooya parsa
6329a681e4
refactor: migrate from upath to pathe (#553) 2021-09-27 14:49:36 +02:00
Anthony Fu
c8f8691496
fix: workaround for vue/server-renderer import, close #563 (#566) 2021-09-24 11:49:04 +02:00
Daniel Roe
e363ed5853
fix(vite): create valid legacy dev manifest (#509) 2021-09-08 16:32:36 +02:00
Daniel Roe
f2d78674a0
feat: add support for vite build (with vite-format manifest) (#450) 2021-09-07 11:35:55 +02:00
pooya parsa
ee0163c273
refactor: merge modules to nuxt3 (#439) 2021-08-11 22:28:38 +02:00
Daniel Roe
25e96bb896
fix: windows path issues (#408) 2021-08-09 20:24:52 +02:00
Pooya Parsa
cb7f079ac4 chore: fix lint issues
[skip-release]

using `import type` seems a regression of `import/named` rule but generally makes it more readable to prefer using it :)
2021-08-09 18:18:21 +02:00
Daniel Roe
f980ef235f
fix(app): separate plugin entrypoints (#366) 2021-07-23 16:58:38 +02:00
Daniel Roe
928d10ab77
fix(vite): add transpile options to noExternal list (#364) 2021-07-23 16:43:06 +02:00
pooya parsa
be255772b2
feat: support ssr: false (#351)
Co-Authored-By: Daniel Roe <daniel@roe.dev>
2021-07-21 22:05:22 +02:00
Daniel Roe
98cf97d269
fix: remove vue alias (#335) 2021-07-16 11:12:11 +02:00
Daniel Roe
5d7ded368b
fix(vite): exclude optimising vue-router (#332) 2021-07-15 16:42:11 +02:00
Pooya Parsa
e1d44262a5 fix(vite): add missing #build alias 2021-07-15 12:50:09 +02:00
pooya parsa
bec2720930
feat: use virtual filesystem for templates (#292)
Co-authored-by: Daniel Roe <daniel@roe.dev>
2021-07-15 12:18:34 +02:00
pooya parsa
6318438415
feat(nitro, vite): use native module (#252)
Co-authored-by: Daniel Roe <daniel@roe.dev>
2021-07-15 11:38:06 +02:00
Anthony Fu
d995e83a31
fix(vite): set vite's root to current directory (#239) 2021-07-14 16:40:40 +02:00
Anthony Fu
9e8b042bad
fix: vite build (#311) 2021-07-14 16:39:48 +02:00
Anthony Fu
ea0fdc2aa2
fix(vite): make vite server strict by default (#321) 2021-07-14 16:37:07 +02:00
Daniel Roe
0a3041cdf9
fix: allow use of nuxt3 in non-wsl windows environment (#308) 2021-07-12 12:54:24 +02:00
Anthony Fu
11a5a3e14f
feat(app): make asyncData working with <script setup nuxt> (#220) 2021-06-16 14:42:58 +02:00
Pooya Parsa
5bd639a493 fix(vite): add nuxt/app to noExternal 2021-06-14 20:52:40 +02:00