-
-
Notifications
You must be signed in to change notification settings - Fork 356
[Svelte] Svelte v4 support #1018
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
import type { SvelteComponent } from 'svelte'; | ||
import { ComponentCollection } from './components.js'; | ||
declare global { | ||
function resolveSvelteComponent(name: string): typeof SvelteComponent; | ||
function resolveSvelteComponent(name: string): typeof SvelteComponent<any>; | ||
interface Window { | ||
resolveSvelteComponent(name: string): typeof SvelteComponent; | ||
resolveSvelteComponent(name: string): typeof SvelteComponent<any>; | ||
} | ||
} | ||
export declare function registerSvelteControllerComponents(svelteComponents?: ComponentCollection): void; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
/// <reference types="webpack-env" /> | ||
import type { SvelteComponent } from 'svelte'; | ||
declare global { | ||
function resolveSvelteComponent(name: string): typeof SvelteComponent; | ||
function resolveSvelteComponent(name: string): typeof SvelteComponent<any>; | ||
interface Window { | ||
resolveSvelteComponent(name: string): typeof SvelteComponent; | ||
resolveSvelteComponent(name: string): typeof SvelteComponent<any>; | ||
} | ||
} | ||
export declare function registerSvelteControllerComponents(context: __WebpackModuleApi.RequireContext): void; |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,7 +8,7 @@ Svelte is a JavaScript framework for building user interfaces. | |
Symfony UX Svelte provides tools to render Svelte components from Twig, | ||
handling rendering and data transfers. | ||
|
||
Symfony UX Svelte supports Svelte 3 only. | ||
Symfony UX Svelte supports Svelte 3 and Svelte 4. | ||
|
||
Installation | ||
------------ | ||
|
@@ -41,10 +41,10 @@ Next, install a package to help Svelte: | |
|
||
.. code-block:: terminal | ||
|
||
$ npm install svelte svelte-loader --save-dev | ||
$ npm install svelte-loader --save-dev | ||
|
||
# or use yarn | ||
$ yarn add svelte svelte-loader --dev | ||
$ yarn add svelte-loader --dev | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It is automatically added when you install |
||
|
||
That's it! Any files inside ``assets/svelte/controllers/`` can now be rendered as | ||
Svelte components. | ||
|
@@ -97,7 +97,7 @@ Svelte client-side component API: | |
export let name = "Svelte"; | ||
</script> | ||
|
||
<div transition:fade>Hello {name}</div> | ||
<div transition:fade|global>Hello {name}</div> | ||
|
||
|
||
.. code-block:: html+twig | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,6 +15,14 @@ | |
"@jridgewell/gen-mapping" "^0.1.0" | ||
"@jridgewell/trace-mapping" "^0.3.9" | ||
|
||
"@ampproject/remapping@^2.2.1": | ||
version "2.2.1" | ||
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" | ||
integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== | ||
dependencies: | ||
"@jridgewell/gen-mapping" "^0.3.0" | ||
"@jridgewell/trace-mapping" "^0.3.9" | ||
|
||
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": | ||
version "7.18.6" | ||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" | ||
|
@@ -2387,6 +2395,11 @@ | |
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" | ||
integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== | ||
|
||
"@jridgewell/resolve-uri@^3.1.0": | ||
version "3.1.1" | ||
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" | ||
integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== | ||
|
||
"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": | ||
version "1.1.2" | ||
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" | ||
|
@@ -2405,7 +2418,7 @@ | |
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" | ||
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== | ||
|
||
"@jridgewell/sourcemap-codec@^1.4.15": | ||
"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": | ||
version "1.4.15" | ||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" | ||
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== | ||
|
@@ -2418,6 +2431,14 @@ | |
"@jridgewell/resolve-uri" "3.1.0" | ||
"@jridgewell/sourcemap-codec" "1.4.14" | ||
|
||
"@jridgewell/trace-mapping@^0.3.18": | ||
version "0.3.20" | ||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" | ||
integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== | ||
dependencies: | ||
"@jridgewell/resolve-uri" "^3.1.0" | ||
"@jridgewell/sourcemap-codec" "^1.4.14" | ||
|
||
"@nodelib/[email protected]": | ||
version "2.1.5" | ||
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" | ||
|
@@ -2806,6 +2827,11 @@ | |
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" | ||
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== | ||
|
||
"@types/estree@^1.0.1": | ||
version "1.0.3" | ||
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.3.tgz#2be19e759a3dd18c79f9f436bd7363556c1a73dd" | ||
integrity sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ== | ||
|
||
"@types/graceful-fs@^4.1.2": | ||
version "4.1.6" | ||
resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" | ||
|
@@ -3329,6 +3355,13 @@ aria-query@^5.0.0: | |
dependencies: | ||
deep-equal "^2.0.5" | ||
|
||
aria-query@^5.3.0: | ||
version "5.3.0" | ||
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" | ||
integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== | ||
dependencies: | ||
dequal "^2.0.3" | ||
|
||
arr-diff@^4.0.0: | ||
version "4.0.0" | ||
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" | ||
|
@@ -3422,6 +3455,13 @@ available-typed-arrays@^1.0.5: | |
resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" | ||
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== | ||
|
||
axobject-query@^3.2.1: | ||
version "3.2.1" | ||
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" | ||
integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== | ||
dependencies: | ||
dequal "^2.0.3" | ||
|
||
babel-jest@^26.6.3: | ||
version "26.6.3" | ||
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" | ||
|
@@ -3902,6 +3942,17 @@ co@^4.6.0: | |
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" | ||
integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== | ||
|
||
code-red@^1.0.3: | ||
version "1.0.4" | ||
resolved "https://registry.yarnpkg.com/code-red/-/code-red-1.0.4.tgz#59ba5c9d1d320a4ef795bc10a28bd42bfebe3e35" | ||
integrity sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw== | ||
dependencies: | ||
"@jridgewell/sourcemap-codec" "^1.4.15" | ||
"@types/estree" "^1.0.1" | ||
acorn "^8.10.0" | ||
estree-walker "^3.0.3" | ||
periscopic "^3.1.0" | ||
|
||
collect-v8-coverage@^1.0.0: | ||
version "1.0.1" | ||
resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" | ||
|
@@ -4084,6 +4135,14 @@ css-tree@^1.1.2, css-tree@^1.1.3: | |
mdn-data "2.0.14" | ||
source-map "^0.6.1" | ||
|
||
css-tree@^2.3.1: | ||
version "2.3.1" | ||
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" | ||
integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== | ||
dependencies: | ||
mdn-data "2.0.30" | ||
source-map-js "^1.0.1" | ||
|
||
css-what@^6.0.1: | ||
version "6.1.0" | ||
resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" | ||
|
@@ -4330,6 +4389,11 @@ delegate-it@^6.0.0: | |
dependencies: | ||
typed-query-selector "^2.10.0" | ||
|
||
dequal@^2.0.3: | ||
version "2.0.3" | ||
resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" | ||
integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== | ||
|
||
detect-newline@^3.0.0: | ||
version "3.1.0" | ||
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" | ||
|
@@ -4720,6 +4784,13 @@ estree-walker@^2.0.1, estree-walker@^2.0.2: | |
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" | ||
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== | ||
|
||
estree-walker@^3.0.0, estree-walker@^3.0.3: | ||
version "3.0.3" | ||
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" | ||
integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== | ||
dependencies: | ||
"@types/estree" "^1.0.0" | ||
|
||
esutils@^2.0.2: | ||
version "2.0.3" | ||
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" | ||
|
@@ -5689,6 +5760,13 @@ [email protected], is-reference@^1.2.1: | |
dependencies: | ||
"@types/estree" "*" | ||
|
||
is-reference@^3.0.0, is-reference@^3.0.1: | ||
version "3.0.2" | ||
resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.2.tgz#154747a01f45cd962404ee89d43837af2cba247c" | ||
integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== | ||
dependencies: | ||
"@types/estree" "*" | ||
|
||
is-regex@^1.1.4: | ||
version "1.1.4" | ||
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" | ||
|
@@ -6487,6 +6565,11 @@ local-pkg@^0.4.3: | |
resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963" | ||
integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g== | ||
|
||
locate-character@^3.0.0: | ||
version "3.0.0" | ||
resolved "https://registry.yarnpkg.com/locate-character/-/locate-character-3.0.0.tgz#0305c5b8744f61028ef5d01f444009e00779f974" | ||
integrity sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA== | ||
|
||
locate-path@^5.0.0: | ||
version "5.0.0" | ||
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" | ||
|
@@ -6578,7 +6661,7 @@ magic-string@^0.27.0: | |
dependencies: | ||
"@jridgewell/sourcemap-codec" "^1.4.13" | ||
|
||
magic-string@^0.30.1, magic-string@^0.30.3: | ||
magic-string@^0.30.1, magic-string@^0.30.3, magic-string@^0.30.4: | ||
version "0.30.5" | ||
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" | ||
integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== | ||
|
@@ -6626,6 +6709,11 @@ [email protected]: | |
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" | ||
integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== | ||
|
||
[email protected]: | ||
version "2.0.30" | ||
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" | ||
integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== | ||
|
||
merge-stream@^2.0.0: | ||
version "2.0.0" | ||
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" | ||
|
@@ -7198,6 +7286,15 @@ pathval@^1.1.1: | |
resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" | ||
integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== | ||
|
||
periscopic@^3.1.0: | ||
version "3.1.0" | ||
resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a" | ||
integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== | ||
dependencies: | ||
"@types/estree" "^1.0.0" | ||
estree-walker "^3.0.0" | ||
is-reference "^3.0.0" | ||
|
||
picocolors@^1.0.0: | ||
version "1.0.0" | ||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" | ||
|
@@ -8197,7 +8294,7 @@ snapdragon@^0.8.1: | |
source-map-resolve "^0.5.0" | ||
use "^3.1.0" | ||
|
||
source-map-js@^1.0.2: | ||
source-map-js@^1.0.1, source-map-js@^1.0.2: | ||
version "1.0.2" | ||
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" | ||
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== | ||
|
@@ -8483,10 +8580,24 @@ svelte-hmr@^0.15.3: | |
resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.15.3.tgz#df54ccde9be3f091bf5f18fc4ef7b8eb6405fbe6" | ||
integrity sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ== | ||
|
||
svelte@^3.0: | ||
version "3.59.2" | ||
resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.59.2.tgz#a137b28e025a181292b2ae2e3dca90bf8ec73aec" | ||
integrity sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA== | ||
"svelte@^3.0 || ^4.0": | ||
version "4.2.2" | ||
resolved "https://registry.yarnpkg.com/svelte/-/svelte-4.2.2.tgz#07d42eefc1bce46e48d2056c5f11dc4cc1e06555" | ||
integrity sha512-My2tytF2e2NnHSpn2M7/3VdXT4JdTglYVUuSuK/mXL2XtulPYbeBfl8Dm1QiaKRn0zoULRnL+EtfZHHP0k4H3A== | ||
dependencies: | ||
"@ampproject/remapping" "^2.2.1" | ||
"@jridgewell/sourcemap-codec" "^1.4.15" | ||
"@jridgewell/trace-mapping" "^0.3.18" | ||
acorn "^8.9.0" | ||
aria-query "^5.3.0" | ||
axobject-query "^3.2.1" | ||
code-red "^1.0.3" | ||
css-tree "^2.3.1" | ||
estree-walker "^3.0.3" | ||
is-reference "^3.0.1" | ||
locate-character "^3.0.0" | ||
magic-string "^0.30.4" | ||
periscopic "^3.1.0" | ||
|
||
svgo@^2.7.0: | ||
version "2.8.0" | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you update the
devDependencies
svelte also below? That will, in effect, mean that we'll be testing now with svelte 4... but our CI isn't rich enough (and maybe shouldn't be, as the matrix could get huge) to test multiple versions of the JS.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delay!
I can't get the test suite to work with svelte 4 :(
Svelte 4 requires ESM and that would require running jest with the --experimental-vm-modules options.
I followed the guide from svelte-jester and tried a lot of options but can't find a working transformer config for our monorepo + ts setup
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any update on this ? I would very much like to use Svelte but not being in v4 is a bit of a blocker.
Any chance to try to use vitest as the testing lib only for the Svelte package ?
The majority of svelte devs use Vite as it is part of the Svelte docs, so I don't think sticking with jest is a good choice for the maintainability
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This might be the same problem we're facing with chart.js v4 (it works fine, but we can't get the tests to pass because jest doesn't like esm). #610 (comment)
I'd love if someone experimented with switching to vitest and opened a PR - at least just to get things rolling and learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I quickly tried to install Vitest and just by following a migration guide 75% of the test suite pass
Maybe it will take a lot of work for the remaining 25% (some packages use specific jest mock libraries) but it may be possible!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's great! Would you mind pushing your work on a separate PR? Then we could take a look and see what the remaining 25% is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@weaverryan Here you go #1202 😉