Agnik47
f9b42e8d23
fix(extract): parse only Svelte script blocks in the AST pass
...
extract_svelte fed the whole .svelte file to the JS grammar. The template
is not JS, so every component reported a syntax error at line 1 and no
symbol declared inside <script> was ever reached — only imports survived,
via the regex rescue pass.
Blank everything outside the <script> bodies (keeping newlines so
locations still match) and parse with the grammar the first block's lang
implies: js/jsx -> JS, ts or unset -> TS, a superset of JS and Svelte's
own default. <script module> and <script context="module"> are parsed
alongside the instance block. Scripts with a non-JS type
(application/ld+json, ...) are blanked too, and a script region is
terminated in place of the following `<` so two blocks on one line do not
run together. The existing regex import rescue is unchanged; an import
both passes resolve yields one edge after build.dedupe_edges, as on the
Astro path.
The masker mirrors _astro_mask_non_script and shares the script-tag and
non-JS-type patterns with it instead of duplicating them.
Fixes #3928 . Covers the Svelte half of #3942 (markup is blanked, so a
template {#if} no longer mints a spurious if() node).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
(cherry picked from commit b64806924e )
2026-10-04 20:40:34 +01:00
..
2026-09-21 19:19:26 +01:00
2026-09-10 23:04:40 +01:00
2026-10-04 20:40:34 +01:00
2026-09-30 20:41:10 +01:00
2026-09-05 01:18:59 +01:00
2026-09-05 01:18:59 +01:00
2026-09-12 17:36:09 +01:00
2026-09-10 23:04:40 +01:00
2026-09-12 22:23:00 +01:00
2026-09-29 13:49:39 +01:00
2026-09-11 22:46:15 +01:00
2026-10-02 17:10:08 +01:00
2026-09-21 19:44:17 +01:00
2026-09-12 17:36:09 +01:00
2026-09-22 15:00:07 +01:00
2026-09-22 14:58:22 +01:00
2026-09-11 22:51:35 +01:00
2026-09-05 21:55:34 +01:00
2026-10-04 01:52:03 +01:00
2026-09-30 20:41:10 +01:00
2026-09-14 18:55:31 +01:00
2026-09-25 15:44:08 +01:00
2026-10-02 17:10:07 +01:00
2026-10-04 20:23:13 +01:00
2026-10-02 17:10:07 +01:00
2026-09-27 18:56:31 +01:00
2026-09-13 17:47:56 +01:00
2026-10-04 20:23:44 +01:00
2026-10-04 20:23:44 +01:00
2026-10-02 16:50:45 +01:00
2026-09-09 11:30:27 +01:00
2026-10-04 20:23:44 +01:00
2026-10-02 16:50:45 +01:00
2026-10-04 02:07:00 +01:00
2026-09-27 18:39:52 +01:00
2026-09-25 16:01:47 +01:00
2026-10-04 02:07:23 +01:00
2026-10-04 02:09:34 +01:00
2026-09-25 16:01:47 +01:00
2026-10-04 20:23:14 +01:00
2026-09-02 03:05:59 +01:00
2026-10-04 20:23:14 +01:00
2026-09-28 10:15:38 +01:00
2026-09-05 01:18:59 +01:00
2026-09-16 15:37:30 +01:00
2026-10-04 20:23:14 +01:00
2026-10-02 16:50:45 +01:00
2026-09-11 23:58:31 +01:00
2026-09-23 16:54:04 +01:00
2026-09-29 13:49:39 +01:00
2026-09-16 16:20:01 +01:00
2026-09-23 19:45:40 +01:00
2026-10-04 20:23:14 +01:00
2026-09-30 20:10:34 +01:00
2026-09-05 21:55:33 +01:00
2026-09-10 14:03:22 +01:00
2026-09-22 14:58:12 +01:00
2026-09-22 14:58:12 +01:00
2026-09-02 14:49:03 +01:00
2026-09-30 20:41:10 +01:00
2026-10-04 02:08:29 +01:00
2026-09-06 16:17:37 +01:00
2026-08-30 15:11:40 +01:00
2026-10-04 02:07:00 +01:00
2026-10-04 20:40:34 +01:00
2026-09-05 21:55:33 +01:00
2026-10-04 02:08:29 +01:00
2026-09-25 16:15:15 +01:00
2026-09-20 13:59:26 +01:00
2026-10-04 20:23:44 +01:00
2026-09-28 09:13:29 +01:00
2026-09-05 01:18:59 +01:00
2026-08-30 15:11:40 +01:00
2026-09-30 20:41:10 +01:00
2026-09-09 17:20:54 +01:00
2026-09-10 22:44:39 +01:00
2026-09-20 13:59:25 +01:00
2026-09-30 20:10:34 +01:00
2026-09-14 18:49:19 +01:00
2026-09-12 21:31:34 +01:00
2026-10-02 17:10:08 +01:00
2026-09-13 17:47:55 +01:00
2026-09-09 11:30:28 +01:00
2026-10-04 20:23:14 +01:00
2026-09-27 18:39:52 +01:00
2026-10-02 16:50:45 +01:00
2026-09-30 20:41:10 +01:00
2026-09-22 17:30:28 +01:00
2026-10-04 20:23:13 +01:00
2026-10-04 01:43:04 +01:00
2026-09-23 17:01:39 +01:00
2026-09-13 17:47:57 +01:00
2026-10-02 16:50:45 +01:00
2026-09-30 20:41:10 +01:00
2026-09-05 01:19:09 +01:00
2026-09-16 14:50:54 +01:00
2026-10-04 01:52:03 +01:00
2026-09-17 11:01:37 +01:00
2026-10-02 17:10:07 +01:00
2026-09-26 13:45:58 +01:00
2026-09-09 17:20:57 +01:00
2026-09-05 21:13:54 +01:00
2026-09-07 19:02:18 +01:00
2026-10-04 02:11:27 +01:00
2026-10-04 20:23:14 +01:00
2026-10-04 01:44:11 +01:00
2026-09-28 10:18:13 +01:00
2026-09-17 11:01:38 +01:00
2026-10-04 20:40:34 +01:00
2026-09-09 17:20:56 +01:00
2026-09-25 15:44:21 +01:00
2026-09-05 21:55:35 +01:00
2026-09-27 18:40:06 +01:00
2026-09-11 22:46:27 +01:00
2026-09-05 21:55:32 +01:00
2026-09-07 18:42:56 +01:00
2026-09-28 09:14:38 +01:00
2026-09-05 21:13:53 +01:00
2026-09-13 17:47:54 +01:00
2026-09-21 18:04:04 +01:00
2026-09-28 10:15:38 +01:00
2026-09-12 17:36:10 +01:00
2026-09-11 22:46:36 +01:00
2026-10-02 17:10:07 +01:00
2026-09-16 14:43:05 +01:00
2026-10-02 17:10:07 +01:00
2026-10-04 01:43:04 +01:00
2026-09-18 15:16:09 +01:00
2026-10-02 17:10:07 +01:00
2026-10-04 02:07:00 +01:00
2026-10-04 02:07:00 +01:00
2026-10-04 02:07:00 +01:00
2026-09-13 17:47:54 +01:00
2026-09-14 18:52:06 +01:00
2026-10-04 01:44:11 +01:00
2026-09-29 14:37:10 +01:00
2026-09-27 18:39:51 +01:00
2026-09-12 21:49:56 +01:00
2026-09-30 20:41:10 +01:00
2026-09-11 22:46:36 +01:00
2026-10-02 17:10:07 +01:00
2026-09-23 17:01:39 +01:00
2026-10-04 01:43:04 +01:00
2026-10-04 20:40:34 +01:00
2026-10-04 20:23:44 +01:00
2026-10-04 20:23:44 +01:00
2026-09-20 13:59:25 +01:00
2026-09-15 18:01:35 +01:00
2026-09-27 18:39:51 +01:00
2026-09-12 17:39:27 +01:00
2026-10-02 17:10:07 +01:00
2026-09-20 18:53:35 +01:00
2026-08-30 15:48:40 +01:00
2026-09-30 20:41:10 +01:00
2026-09-06 16:17:38 +01:00
2026-08-30 15:12:10 +01:00
2026-10-04 20:23:14 +01:00
2026-09-11 22:46:26 +01:00
2026-10-02 17:10:08 +01:00
2026-09-28 10:15:38 +01:00