From 53f24a9155b5f5197e72e7aa72a41bf4787ad974 Mon Sep 17 00:00:00 2001 From: pngwn Date: Wed, 16 Oct 2024 13:28:46 +0100 Subject: [PATCH 1/7] [enhanced-image] support svelte 5 + fix types --- packages/enhanced-img/package.json | 7 +- packages/enhanced-img/src/preprocessor.js | 124 +++++++++---- packages/enhanced-img/test/Input.svelte | 11 +- packages/enhanced-img/test/Output.svelte | 18 +- packages/enhanced-img/types/internal.d.ts | 34 ++++ pnpm-lock.yaml | 217 +++++++++++++--------- 6 files changed, 273 insertions(+), 138 deletions(-) create mode 100644 packages/enhanced-img/types/internal.d.ts diff --git a/packages/enhanced-img/package.json b/packages/enhanced-img/package.json index 8cd893d36d2c..571da15a3fe2 100644 --- a/packages/enhanced-img/package.json +++ b/packages/enhanced-img/package.json @@ -38,15 +38,16 @@ "dependencies": { "magic-string": "^0.30.5", "svelte-parse-markup": "^0.1.5", - "vite-imagetools": "^7.0.1" + "vite-imagetools": "^7.0.1", + "zimmerframe": "^1.1.2" }, "devDependencies": { "@types/estree": "^1.0.5", "@types/node": "^18.19.48", "estree-walker": "^3.0.3", "rollup": "^4.14.2", - "svelte": "^4.2.10", - "typescript": "^5.3.3", + "svelte": "^5.0.0-next.0", + "typescript": "^5.6.3", "vite": "^5.3.2", "vitest": "^2.0.1" }, diff --git a/packages/enhanced-img/src/preprocessor.js b/packages/enhanced-img/src/preprocessor.js index 0222037e593b..f2c97b1d584d 100644 --- a/packages/enhanced-img/src/preprocessor.js +++ b/packages/enhanced-img/src/preprocessor.js @@ -1,8 +1,10 @@ +/** @import { AST } from 'svelte/compiler' */ + import { existsSync } from 'node:fs'; import * as path from 'node:path'; import MagicString from 'magic-string'; -import { asyncWalk } from 'estree-walker'; +import { walk } from 'zimmerframe'; import { VERSION } from 'svelte/compiler'; import { parse } from 'svelte-parse-markup'; @@ -32,7 +34,7 @@ export function image(opts) { } const s = new MagicString(content); - const ast = parse(content, { filename }); + const ast = parse(content, { filename, modern: true }); /** * Import path to import name @@ -49,20 +51,26 @@ export function image(opts) { const consts = new Map(); /** - * @param {import('svelte/types/compiler/interfaces').TemplateNode} node - * @param {{ type: string, start: number, end: number, raw: string }} src_attribute + * @param {import('svelte/compiler').AST.RegularElement} node + * @param {AST.Text | AST.ExpressionTag} src_attribute * @returns {Promise} */ async function update_element(node, src_attribute) { - // TODO: this will become ExpressionTag in Svelte 5 - if (src_attribute.type === 'MustacheTag') { - const src_var_name = content - .substring(src_attribute.start + 1, src_attribute.end - 1) - .trim(); - s.update(node.start, node.end, dynamic_img_to_picture(content, node, src_var_name)); - return; - } else if (src_attribute.type === 'AttributeShorthand') { - const src_var_name = content.substring(src_attribute.start, src_attribute.end).trim(); + if (src_attribute.type === 'ExpressionTag') { + const start = + 'end' in src_attribute.expression + ? src_attribute.expression.end + : src_attribute.expression.range?.[0]; + const end = + 'start' in src_attribute.expression + ? src_attribute.expression.start + : src_attribute.expression.range?.[1]; + + if (typeof start !== 'number' || typeof end !== 'number') { + throw new Error('ExpressionTag has no range'); + } + const src_var_name = content.substring(start, end).trim(); + s.update(node.start, node.end, dynamic_img_to_picture(content, node, src_var_name)); return; } @@ -73,10 +81,10 @@ export function image(opts) { const sizes = get_attr_value(node, 'sizes'); const width = get_attr_value(node, 'width'); url += url.includes('?') ? '&' : '?'; - if (sizes) { + if (sizes && 'raw' in sizes) { url += 'imgSizes=' + encodeURIComponent(sizes.raw) + '&'; } - if (width) { + if (width && 'raw' in width) { url += 'imgWidth=' + encodeURIComponent(width.raw) + '&'; } url += 'enhanced'; @@ -119,23 +127,35 @@ export function image(opts) { } } + /** + * @type {Array>} + */ + const pending_ast_updates = []; // TODO: switch to zimmerframe with Svelte 5 - // @ts-ignore - await asyncWalk(ast.html, { - /** - * @param {import('svelte/types/compiler/interfaces').TemplateNode} node - */ - async enter(node) { - if (node.type === 'Element') { - // Compare node tag match - if (node.name === 'enhanced:img') { + + walk( + /** @type {import('svelte/compiler').AST.Root} */ (ast), + {}, + { + _(_, { next }) { + next(); + }, + /** @param {import('svelte/compiler').AST.RegularElement} node */ + // @ts-ignore + RegularElement(node) { + if ('name' in node && node.name === 'enhanced:img') { + // Compare node tag match const src = get_attr_value(node, 'src'); - if (!src) return; - await update_element(node, src); + + if (!src || typeof src === 'boolean') return; + + pending_ast_updates.push(update_element(node, src)); } } } - }); + ); + + await Promise.all(pending_ast_updates); // add imports and consts to @@ -28,7 +29,11 @@ alt="sizes test" /> - + (foo = 'clicked an image!')} + alt="event handler test" +/> @@ -42,6 +47,10 @@ {/each} +{#each images as _, i} + +{/each} + diff --git a/packages/enhanced-img/test/Output.svelte b/packages/enhanced-img/test/Output.svelte index aa7ba366238e..2cc0fe0609ae 100644 --- a/packages/enhanced-img/test/Output.svelte +++ b/packages/enhanced-img/test/Output.svelte @@ -1,4 +1,4 @@ - @@ -33,7 +34,7 @@ sizes test -event handler test + (foo = 'clicked an image!')} alt="event handler test" width=1440 height=1440 /> alias test @@ -65,6 +66,19 @@ {/if} {/each} +{#each images as _, i} + {#if typeof get_image(i) === 'string'} + opt-in test +{:else} + + {#each Object.entries(get_image(i).sources) as [format, srcset]} + + {/each} + opt-in test + +{/if} +{/each} + diff --git a/packages/enhanced-img/types/internal.d.ts b/packages/enhanced-img/types/internal.d.ts new file mode 100644 index 000000000000..814511d0ed6d --- /dev/null +++ b/packages/enhanced-img/types/internal.d.ts @@ -0,0 +1,34 @@ +import type { AST } from 'svelte/compiler'; + +type ElementLike = + | AST.Component + | AST.TitleElement + | AST.SlotElement + | AST.RegularElement + | AST.SvelteBody + | AST.SvelteComponent + | AST.SvelteDocument + | AST.SvelteElement + | AST.SvelteFragment + | AST.SvelteHead + | AST.SvelteOptionsRaw + | AST.SvelteSelf + | AST.SvelteWindow; + +type Tag = AST.ExpressionTag | AST.HtmlTag | AST.ConstTag | AST.DebugTag | AST.RenderTag; + +type Directive = + | AST.AnimateDirective + | AST.BindDirective + | AST.ClassDirective + | AST.LetDirective + | AST.OnDirective + | AST.StyleDirective + | AST.TransitionDirective + | AST.UseDirective; + +type Block = AST.EachBlock | AST.IfBlock | AST.AwaitBlock | AST.KeyBlock | AST.SnippetBlock; + +export type TemplateNode = AST.Text | Tag | ElementLike | AST.Comment | Block; + +export type Attribute = AST.Attribute | AST.SpreadAttribute | Directive; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 86a3236c0446..0c849bb8b1b0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: version: 2.27.8 '@sveltejs/eslint-config': specifier: ^8.1.0 - version: 8.1.0(@stylistic/eslint-plugin-js@2.1.0(eslint@9.6.0))(eslint-config-prettier@9.1.0(eslint@9.6.0))(eslint-plugin-n@17.9.0(eslint@9.6.0))(eslint-plugin-svelte@2.41.0(eslint@9.6.0)(svelte@4.2.19))(eslint@9.6.0)(typescript-eslint@8.4.0(eslint@9.6.0)(typescript@5.4.5))(typescript@5.4.5) + version: 8.1.0(@stylistic/eslint-plugin-js@2.1.0(eslint@9.6.0))(eslint-config-prettier@9.1.0(eslint@9.6.0))(eslint-plugin-n@17.9.0(eslint@9.6.0))(eslint-plugin-svelte@2.41.0(eslint@9.6.0)(svelte@5.0.0-next.265))(eslint@9.6.0)(typescript-eslint@8.4.0(eslint@9.6.0)(typescript@5.6.3))(typescript@5.6.3) '@svitejs/changesets-changelog-github-compact': specifier: ^1.1.0 version: 1.1.0 @@ -25,7 +25,7 @@ importers: version: 1.44.1 typescript-eslint: specifier: ^8.0.0 - version: 8.4.0(eslint@9.6.0)(typescript@5.4.5) + version: 8.4.0(eslint@9.6.0)(typescript@5.6.3) packages/adapter-auto: dependencies: @@ -38,7 +38,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: ^3.0.1 - version: 3.1.0(svelte@4.2.19)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + version: 3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) '@types/node': specifier: ^18.19.48 version: 18.19.50 @@ -131,7 +131,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: ^3.0.1 - version: 3.1.0(svelte@4.2.19)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + version: 3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) '@types/node': specifier: ^18.19.48 version: 18.19.50 @@ -171,7 +171,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: ^3.0.1 - version: 3.1.0(svelte@4.2.19)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + version: 3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) '@types/node': specifier: ^18.19.48 version: 18.19.50 @@ -268,7 +268,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: ^3.0.1 - version: 3.1.0(svelte@4.2.19)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + version: 3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) '@types/node': specifier: ^18.19.48 version: 18.19.50 @@ -283,7 +283,7 @@ importers: dependencies: '@sveltejs/kit': specifier: ^1.0.0 || ^2.0.0 - version: 2.6.2(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.19)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@4.2.19)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + version: link:../kit devDependencies: typescript: specifier: ^5.3.3 @@ -372,10 +372,13 @@ importers: version: 0.30.11 svelte-parse-markup: specifier: ^0.1.5 - version: 0.1.5(svelte@4.2.19) + version: 0.1.5(svelte@5.0.0-next.265) vite-imagetools: specifier: ^7.0.1 version: 7.0.1(rollup@4.24.0) + zimmerframe: + specifier: ^1.1.2 + version: 1.1.2 devDependencies: '@types/estree': specifier: ^1.0.5 @@ -390,11 +393,11 @@ importers: specifier: ^4.14.2 version: 4.24.0 svelte: - specifier: ^4.2.10 - version: 4.2.19 + specifier: ^5.0.0-next.0 + version: 5.0.0-next.265 typescript: - specifier: ^5.3.3 - version: 5.4.5 + specifier: ^5.6.3 + version: 5.6.3 vite: specifier: ^5.3.2 version: 5.3.6(@types/node@18.19.50)(lightningcss@1.24.1) @@ -2100,15 +2103,6 @@ packages: typescript: '>= 5' typescript-eslint: '>= 7.5' - '@sveltejs/kit@2.6.2': - resolution: {integrity: sha512-ruogrSPXjckn5poUiZU8VYNCSPHq66SFR1AATvOikQxtP6LNI4niAZVX/AWZRe/EPDG3oY2DNJ9c5z7u0t2NAQ==} - engines: {node: '>=18.13'} - hasBin: true - peerDependencies: - '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 - svelte: ^4.0.0 || ^5.0.0-next.0 - vite: ^5.0.3 - '@sveltejs/site-kit@6.0.0-next.64': resolution: {integrity: sha512-SosLY07DBA79yJhRR9vQpk9eXlSc3VjzOlIJQFvPzgsbu727rq5u3dudFEsm0NeQFoAF+NNgDYi5D85v5Yc+vQ==} peerDependencies: @@ -2307,6 +2301,11 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-typescript@1.4.13: + resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==} + peerDependencies: + acorn: '>=8.9.0' + acorn-walk@8.3.2: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} @@ -2506,7 +2505,7 @@ packages: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} concat-map@0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} @@ -2527,10 +2526,6 @@ packages: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} - cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} - cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} @@ -2764,6 +2759,9 @@ packages: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} + esrap@1.2.2: + resolution: {integrity: sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==} + esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -3776,10 +3774,6 @@ packages: engines: {node: '>=18'} hasBin: true - sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} - sirv@3.0.0: resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==} engines: {node: '>=18'} @@ -3951,6 +3945,10 @@ packages: resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==} engines: {node: '>=16'} + svelte@5.0.0-next.265: + resolution: {integrity: sha512-+BX09mzBP1hKo7bsOnmxteEQTu0oIeerdjnD1pAb+7RXZbOKgRROjszpXP+Kzn/6D9ydJ3ioVRcKSmE92Cn4VQ==} + engines: {node: '>=18'} + tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -4056,6 +4054,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + engines: {node: '>=14.17'} + hasBin: true + ufo@1.5.3: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} @@ -4932,34 +4935,16 @@ snapshots: eslint-visitor-keys: 4.1.0 espree: 10.2.0 - '@sveltejs/eslint-config@8.1.0(@stylistic/eslint-plugin-js@2.1.0(eslint@9.6.0))(eslint-config-prettier@9.1.0(eslint@9.6.0))(eslint-plugin-n@17.9.0(eslint@9.6.0))(eslint-plugin-svelte@2.41.0(eslint@9.6.0)(svelte@4.2.19))(eslint@9.6.0)(typescript-eslint@8.4.0(eslint@9.6.0)(typescript@5.4.5))(typescript@5.4.5)': + '@sveltejs/eslint-config@8.1.0(@stylistic/eslint-plugin-js@2.1.0(eslint@9.6.0))(eslint-config-prettier@9.1.0(eslint@9.6.0))(eslint-plugin-n@17.9.0(eslint@9.6.0))(eslint-plugin-svelte@2.41.0(eslint@9.6.0)(svelte@5.0.0-next.265))(eslint@9.6.0)(typescript-eslint@8.4.0(eslint@9.6.0)(typescript@5.6.3))(typescript@5.6.3)': dependencies: '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.6.0) eslint: 9.6.0 eslint-config-prettier: 9.1.0(eslint@9.6.0) eslint-plugin-n: 17.9.0(eslint@9.6.0) - eslint-plugin-svelte: 2.41.0(eslint@9.6.0)(svelte@4.2.19) + eslint-plugin-svelte: 2.41.0(eslint@9.6.0)(svelte@5.0.0-next.265) globals: 15.10.0 - typescript: 5.4.5 - typescript-eslint: 8.4.0(eslint@9.6.0)(typescript@5.4.5) - - '@sveltejs/kit@2.6.2(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.19)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@4.2.19)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1))': - dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.19)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) - '@types/cookie': 0.6.0 - cookie: 0.7.2 - devalue: 5.1.0 - esm-env: 1.0.0 - import-meta-resolve: 4.1.0 - kleur: 4.1.5 - magic-string: 0.30.11 - mrmime: 2.0.0 - sade: 1.8.1 - set-cookie-parser: 2.6.0 - sirv: 2.0.4 - svelte: 4.2.19 - tiny-glob: 0.2.9 - vite: 5.3.6(@types/node@18.19.50)(lightningcss@1.24.1) + typescript: 5.6.3 + typescript-eslint: 8.4.0(eslint@9.6.0)(typescript@5.6.3) '@sveltejs/site-kit@6.0.0-next.64(@sveltejs/kit@packages+kit)(svelte@4.2.19)': dependencies: @@ -4977,6 +4962,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1))': + dependencies: + '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + debug: 4.3.5 + svelte: 5.0.0-next.265 + vite: 5.3.6(@types/node@18.19.50)(lightningcss@1.24.1) + transitivePeerDependencies: + - supports-color + '@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.19)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1))': dependencies: '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.19)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@4.2.19)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) @@ -4991,6 +4985,20 @@ snapshots: transitivePeerDependencies: - supports-color + '@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1))': + dependencies: + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + debug: 4.3.5 + deepmerge: 4.3.1 + kleur: 4.1.5 + magic-string: 0.30.11 + svelte: 5.0.0-next.265 + svelte-hmr: 0.16.0(svelte@5.0.0-next.265) + vite: 5.3.6(@types/node@18.19.50)(lightningcss@1.24.1) + vitefu: 0.2.5(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + transitivePeerDependencies: + - supports-color + '@svitejs/changesets-changelog-github-compact@1.1.0': dependencies: '@changesets/get-github-info': 0.5.2 @@ -5054,34 +5062,34 @@ snapshots: dependencies: '@types/node': 18.19.50 - '@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.6.0)(typescript@5.6.3))(eslint@9.6.0)(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 8.4.0(eslint@9.6.0)(typescript@5.4.5) + '@typescript-eslint/parser': 8.4.0(eslint@9.6.0)(typescript@5.6.3) '@typescript-eslint/scope-manager': 8.4.0 - '@typescript-eslint/type-utils': 8.4.0(eslint@9.6.0)(typescript@5.4.5) - '@typescript-eslint/utils': 8.4.0(eslint@9.6.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 8.4.0(eslint@9.6.0)(typescript@5.6.3) + '@typescript-eslint/utils': 8.4.0(eslint@9.6.0)(typescript@5.6.3) '@typescript-eslint/visitor-keys': 8.4.0 eslint: 9.6.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.4.5) + ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: - typescript: 5.4.5 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.4.0(eslint@9.6.0)(typescript@5.4.5)': + '@typescript-eslint/parser@8.4.0(eslint@9.6.0)(typescript@5.6.3)': dependencies: '@typescript-eslint/scope-manager': 8.4.0 '@typescript-eslint/types': 8.4.0 - '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.6.3) '@typescript-eslint/visitor-keys': 8.4.0 debug: 4.3.5 eslint: 9.6.0 optionalDependencies: - typescript: 5.4.5 + typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -5090,21 +5098,21 @@ snapshots: '@typescript-eslint/types': 8.4.0 '@typescript-eslint/visitor-keys': 8.4.0 - '@typescript-eslint/type-utils@8.4.0(eslint@9.6.0)(typescript@5.4.5)': + '@typescript-eslint/type-utils@8.4.0(eslint@9.6.0)(typescript@5.6.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.4.5) - '@typescript-eslint/utils': 8.4.0(eslint@9.6.0)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.4.0(eslint@9.6.0)(typescript@5.6.3) debug: 4.3.5 - ts-api-utils: 1.3.0(typescript@5.4.5) + ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: - typescript: 5.4.5 + typescript: 5.6.3 transitivePeerDependencies: - eslint - supports-color '@typescript-eslint/types@8.4.0': {} - '@typescript-eslint/typescript-estree@8.4.0(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@8.4.0(typescript@5.6.3)': dependencies: '@typescript-eslint/types': 8.4.0 '@typescript-eslint/visitor-keys': 8.4.0 @@ -5113,18 +5121,18 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.4.5) + ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: - typescript: 5.4.5 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.4.0(eslint@9.6.0)(typescript@5.4.5)': + '@typescript-eslint/utils@8.4.0(eslint@9.6.0)(typescript@5.6.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) '@typescript-eslint/scope-manager': 8.4.0 '@typescript-eslint/types': 8.4.0 - '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.6.3) eslint: 9.6.0 transitivePeerDependencies: - supports-color @@ -5216,6 +5224,10 @@ snapshots: dependencies: acorn: 8.12.1 + acorn-typescript@1.4.13(acorn@8.12.1): + dependencies: + acorn: 8.12.1 + acorn-walk@8.3.2: {} acorn@8.12.1: {} @@ -5413,8 +5425,6 @@ snapshots: cookie@0.6.0: {} - cookie@0.7.2: {} - cross-env@7.0.3: dependencies: cross-spawn: 7.0.3 @@ -5612,7 +5622,7 @@ snapshots: minimatch: 9.0.5 semver: 7.6.3 - eslint-plugin-svelte@2.41.0(eslint@9.6.0)(svelte@4.2.19): + eslint-plugin-svelte@2.41.0(eslint@9.6.0)(svelte@5.0.0-next.265): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) '@jridgewell/sourcemap-codec': 1.5.0 @@ -5625,9 +5635,9 @@ snapshots: postcss-safe-parser: 6.0.0(postcss@8.4.47) postcss-selector-parser: 6.1.2 semver: 7.6.3 - svelte-eslint-parser: 0.39.2(svelte@4.2.19) + svelte-eslint-parser: 0.39.2(svelte@5.0.0-next.265) optionalDependencies: - svelte: 4.2.19 + svelte: 5.0.0-next.265 transitivePeerDependencies: - ts-node @@ -5704,6 +5714,11 @@ snapshots: dependencies: estraverse: 5.3.0 + esrap@1.2.2: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + '@types/estree': 1.0.6 + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 @@ -6639,12 +6654,6 @@ snapshots: sirv: 3.0.0 tinydate: 1.3.0 - sirv@2.0.4: - dependencies: - '@polka/url': 1.0.0-next.28 - mrmime: 2.0.0 - totalist: 3.0.1 - sirv@3.0.0: dependencies: '@polka/url': 1.0.0-next.28 @@ -6741,7 +6750,7 @@ snapshots: transitivePeerDependencies: - picomatch - svelte-eslint-parser@0.39.2(svelte@4.2.19): + svelte-eslint-parser@0.39.2(svelte@5.0.0-next.265): dependencies: eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -6749,15 +6758,19 @@ snapshots: postcss: 8.4.47 postcss-scss: 4.0.9(postcss@8.4.47) optionalDependencies: - svelte: 4.2.19 + svelte: 5.0.0-next.265 svelte-hmr@0.16.0(svelte@4.2.19): dependencies: svelte: 4.2.19 - svelte-parse-markup@0.1.5(svelte@4.2.19): + svelte-hmr@0.16.0(svelte@5.0.0-next.265): dependencies: - svelte: 4.2.19 + svelte: 5.0.0-next.265 + + svelte-parse-markup@0.1.5(svelte@5.0.0-next.265): + dependencies: + svelte: 5.0.0-next.265 svelte-persisted-store@0.9.4(svelte@4.2.19): dependencies: @@ -6797,6 +6810,22 @@ snapshots: magic-string: 0.30.11 periscopic: 3.1.0 + svelte@5.0.0-next.265: + dependencies: + '@ampproject/remapping': 2.3.0 + '@jridgewell/sourcemap-codec': 1.5.0 + '@types/estree': 1.0.6 + acorn: 8.12.1 + acorn-typescript: 1.4.13(acorn@8.12.1) + aria-query: 5.3.2 + axobject-query: 4.1.0 + esm-env: 1.0.0 + esrap: 1.2.2 + is-reference: 3.0.2 + locate-character: 3.0.0 + magic-string: 0.30.11 + zimmerframe: 1.1.2 + tapable@2.2.1: {} tar@6.2.1: @@ -6862,6 +6891,10 @@ snapshots: dependencies: typescript: 5.4.5 + ts-api-utils@1.3.0(typescript@5.6.3): + dependencies: + typescript: 5.6.3 + ts-interface-checker@0.1.13: {} ts-morph@24.0.0: @@ -6875,13 +6908,13 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.4.0(eslint@9.6.0)(typescript@5.4.5): + typescript-eslint@8.4.0(eslint@9.6.0)(typescript@5.6.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5) - '@typescript-eslint/parser': 8.4.0(eslint@9.6.0)(typescript@5.4.5) - '@typescript-eslint/utils': 8.4.0(eslint@9.6.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.6.0)(typescript@5.6.3))(eslint@9.6.0)(typescript@5.6.3) + '@typescript-eslint/parser': 8.4.0(eslint@9.6.0)(typescript@5.6.3) + '@typescript-eslint/utils': 8.4.0(eslint@9.6.0)(typescript@5.6.3) optionalDependencies: - typescript: 5.4.5 + typescript: 5.6.3 transitivePeerDependencies: - eslint - supports-color @@ -6890,6 +6923,8 @@ snapshots: typescript@5.4.5: {} + typescript@5.6.3: {} + ufo@1.5.3: {} undici-types@5.26.5: {} From 081fefe381f8a20b1a70ff92fe89b8cb6d627932 Mon Sep 17 00:00:00 2001 From: pngwn Date: Wed, 16 Oct 2024 15:11:00 +0100 Subject: [PATCH 2/7] Apply suggestions from code review Co-authored-by: Rich Harris --- packages/enhanced-img/src/preprocessor.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/enhanced-img/src/preprocessor.js b/packages/enhanced-img/src/preprocessor.js index f2c97b1d584d..2de5d9f6b9cc 100644 --- a/packages/enhanced-img/src/preprocessor.js +++ b/packages/enhanced-img/src/preprocessor.js @@ -245,8 +245,6 @@ function get_attr_value(node, attr) { /** @param {any} v */ (v) => v.type === 'Attribute' && v.name === attr ); - // console.log(attribute); - if (!attribute || !('value' in attribute) || typeof attribute.value === 'boolean') return; // Check if value is an array and has at least one element @@ -389,8 +387,6 @@ function dynamic_img_to_picture(content, node, src_var_name) { height: `{${src_var_name}.img.h}` }; - console.log('DYNAMIC', details, src_var_name); - return `{#if typeof ${src_var_name} === 'string'} {:else} From 8221b82c2bf609b5a0761fd9559a98b5fe4aa52d Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Thu, 17 Oct 2024 09:16:04 -0700 Subject: [PATCH 3/7] chore: add ts-ignore to appease ecosystem CI --- packages/kit/src/exports/vite/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js index 06b1977c2b82..b274edebec8d 100644 --- a/packages/kit/src/exports/vite/index.js +++ b/packages/kit/src/exports/vite/index.js @@ -147,6 +147,7 @@ export async function sveltekit() { preprocess, onwarn: svelte_config.onwarn, compilerOptions: { + // @ts-ignore - ignore this property when running `pnpm check` against Svelte 5 in the ecosystem CI hydratable: isSvelte5Plus() ? undefined : true, ...svelte_config.compilerOptions }, From deabf85b69835aa85698a04f3cca3c6353071e46 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Fri, 1 Nov 2024 08:13:22 -0700 Subject: [PATCH 4/7] remove estree-walker --- packages/enhanced-img/package.json | 1 - pnpm-lock.yaml | 32 ++++++++++++++++++++++++++---- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/packages/enhanced-img/package.json b/packages/enhanced-img/package.json index 571da15a3fe2..5e259493c403 100644 --- a/packages/enhanced-img/package.json +++ b/packages/enhanced-img/package.json @@ -44,7 +44,6 @@ "devDependencies": { "@types/estree": "^1.0.5", "@types/node": "^18.19.48", - "estree-walker": "^3.0.3", "rollup": "^4.14.2", "svelte": "^5.0.0-next.0", "typescript": "^5.6.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0c849bb8b1b0..d5b0eeac37a3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -283,7 +283,7 @@ importers: dependencies: '@sveltejs/kit': specifier: ^1.0.0 || ^2.0.0 - version: link:../kit + version: 2.7.3(@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) devDependencies: typescript: specifier: ^5.3.3 @@ -386,9 +386,6 @@ importers: '@types/node': specifier: ^18.19.48 version: 18.19.50 - estree-walker: - specifier: ^3.0.3 - version: 3.0.3 rollup: specifier: ^4.14.2 version: 4.24.0 @@ -2103,6 +2100,15 @@ packages: typescript: '>= 5' typescript-eslint: '>= 7.5' + '@sveltejs/kit@2.7.3': + resolution: {integrity: sha512-Vx7nq5MJ86I8qXYsVidC5PX6xm+uxt8DydvOdmJoyOK7LvGP18OFEG359yY+aa51t6pENvqZAMqAREQQx1OI2Q==} + engines: {node: '>=18.13'} + hasBin: true + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.3 + '@sveltejs/site-kit@6.0.0-next.64': resolution: {integrity: sha512-SosLY07DBA79yJhRR9vQpk9eXlSc3VjzOlIJQFvPzgsbu727rq5u3dudFEsm0NeQFoAF+NNgDYi5D85v5Yc+vQ==} peerDependencies: @@ -4946,6 +4952,24 @@ snapshots: typescript: 5.6.3 typescript-eslint: 8.4.0(eslint@9.6.0)(typescript@5.6.3) + '@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1))': + dependencies: + '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + '@types/cookie': 0.6.0 + cookie: 0.6.0 + devalue: 5.1.0 + esm-env: 1.0.0 + import-meta-resolve: 4.1.0 + kleur: 4.1.5 + magic-string: 0.30.11 + mrmime: 2.0.0 + sade: 1.8.1 + set-cookie-parser: 2.6.0 + sirv: 3.0.0 + svelte: 5.0.0-next.265 + tiny-glob: 0.2.9 + vite: 5.3.6(@types/node@18.19.50)(lightningcss@1.24.1) + '@sveltejs/site-kit@6.0.0-next.64(@sveltejs/kit@packages+kit)(svelte@4.2.19)': dependencies: '@sveltejs/kit': link:packages/kit From 6cad2f7e44f5ec081c69a2d7d232af44c48f9850 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Fri, 1 Nov 2024 08:14:31 -0700 Subject: [PATCH 5/7] update svelte 5 to final release --- packages/enhanced-img/package.json | 4 +- pnpm-lock.yaml | 66 +++++++++++++++--------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/packages/enhanced-img/package.json b/packages/enhanced-img/package.json index 5e259493c403..eb1166e4544e 100644 --- a/packages/enhanced-img/package.json +++ b/packages/enhanced-img/package.json @@ -45,13 +45,13 @@ "@types/estree": "^1.0.5", "@types/node": "^18.19.48", "rollup": "^4.14.2", - "svelte": "^5.0.0-next.0", + "svelte": "^5.0.0", "typescript": "^5.6.3", "vite": "^5.3.2", "vitest": "^2.0.1" }, "peerDependencies": { - "svelte": "^4.0.0 || ^5.0.0-next.0", + "svelte": "^4.0.0 || ^5.0.0", "vite": ">= 5.0.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d5b0eeac37a3..51bc4271266d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: version: 2.27.8 '@sveltejs/eslint-config': specifier: ^8.1.0 - version: 8.1.0(@stylistic/eslint-plugin-js@2.1.0(eslint@9.6.0))(eslint-config-prettier@9.1.0(eslint@9.6.0))(eslint-plugin-n@17.9.0(eslint@9.6.0))(eslint-plugin-svelte@2.41.0(eslint@9.6.0)(svelte@5.0.0-next.265))(eslint@9.6.0)(typescript-eslint@8.4.0(eslint@9.6.0)(typescript@5.6.3))(typescript@5.6.3) + version: 8.1.0(@stylistic/eslint-plugin-js@2.1.0(eslint@9.6.0))(eslint-config-prettier@9.1.0(eslint@9.6.0))(eslint-plugin-n@17.9.0(eslint@9.6.0))(eslint-plugin-svelte@2.41.0(eslint@9.6.0)(svelte@5.1.9))(eslint@9.6.0)(typescript-eslint@8.4.0(eslint@9.6.0)(typescript@5.6.3))(typescript@5.6.3) '@svitejs/changesets-changelog-github-compact': specifier: ^1.1.0 version: 1.1.0 @@ -38,7 +38,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: ^3.0.1 - version: 3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + version: 3.1.0(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) '@types/node': specifier: ^18.19.48 version: 18.19.50 @@ -131,7 +131,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: ^3.0.1 - version: 3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + version: 3.1.0(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) '@types/node': specifier: ^18.19.48 version: 18.19.50 @@ -171,7 +171,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: ^3.0.1 - version: 3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + version: 3.1.0(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) '@types/node': specifier: ^18.19.48 version: 18.19.50 @@ -268,7 +268,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: ^3.0.1 - version: 3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + version: 3.1.0(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) '@types/node': specifier: ^18.19.48 version: 18.19.50 @@ -283,7 +283,7 @@ importers: dependencies: '@sveltejs/kit': specifier: ^1.0.0 || ^2.0.0 - version: 2.7.3(@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + version: 2.7.3(@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) devDependencies: typescript: specifier: ^5.3.3 @@ -372,7 +372,7 @@ importers: version: 0.30.11 svelte-parse-markup: specifier: ^0.1.5 - version: 0.1.5(svelte@5.0.0-next.265) + version: 0.1.5(svelte@5.1.9) vite-imagetools: specifier: ^7.0.1 version: 7.0.1(rollup@4.24.0) @@ -390,8 +390,8 @@ importers: specifier: ^4.14.2 version: 4.24.0 svelte: - specifier: ^5.0.0-next.0 - version: 5.0.0-next.265 + specifier: ^5.0.0 + version: 5.1.9 typescript: specifier: ^5.6.3 version: 5.6.3 @@ -3951,8 +3951,8 @@ packages: resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==} engines: {node: '>=16'} - svelte@5.0.0-next.265: - resolution: {integrity: sha512-+BX09mzBP1hKo7bsOnmxteEQTu0oIeerdjnD1pAb+7RXZbOKgRROjszpXP+Kzn/6D9ydJ3ioVRcKSmE92Cn4VQ==} + svelte@5.1.9: + resolution: {integrity: sha512-nzq+PPKGS2PoEWDjAcXSrKSbXmmmOAxd6dAz1IhRusUpVkFS6DMELWPyBPGwu6TpO/gsgtFXwX0M4+pAR5gzKw==} engines: {node: '>=18'} tapable@2.2.1: @@ -4941,20 +4941,20 @@ snapshots: eslint-visitor-keys: 4.1.0 espree: 10.2.0 - '@sveltejs/eslint-config@8.1.0(@stylistic/eslint-plugin-js@2.1.0(eslint@9.6.0))(eslint-config-prettier@9.1.0(eslint@9.6.0))(eslint-plugin-n@17.9.0(eslint@9.6.0))(eslint-plugin-svelte@2.41.0(eslint@9.6.0)(svelte@5.0.0-next.265))(eslint@9.6.0)(typescript-eslint@8.4.0(eslint@9.6.0)(typescript@5.6.3))(typescript@5.6.3)': + '@sveltejs/eslint-config@8.1.0(@stylistic/eslint-plugin-js@2.1.0(eslint@9.6.0))(eslint-config-prettier@9.1.0(eslint@9.6.0))(eslint-plugin-n@17.9.0(eslint@9.6.0))(eslint-plugin-svelte@2.41.0(eslint@9.6.0)(svelte@5.1.9))(eslint@9.6.0)(typescript-eslint@8.4.0(eslint@9.6.0)(typescript@5.6.3))(typescript@5.6.3)': dependencies: '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.6.0) eslint: 9.6.0 eslint-config-prettier: 9.1.0(eslint@9.6.0) eslint-plugin-n: 17.9.0(eslint@9.6.0) - eslint-plugin-svelte: 2.41.0(eslint@9.6.0)(svelte@5.0.0-next.265) + eslint-plugin-svelte: 2.41.0(eslint@9.6.0)(svelte@5.1.9) globals: 15.10.0 typescript: 5.6.3 typescript-eslint: 8.4.0(eslint@9.6.0)(typescript@5.6.3) - '@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1))': + '@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.1.0 @@ -4966,7 +4966,7 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.6.0 sirv: 3.0.0 - svelte: 5.0.0-next.265 + svelte: 5.1.9 tiny-glob: 0.2.9 vite: 5.3.6(@types/node@18.19.50)(lightningcss@1.24.1) @@ -4986,11 +4986,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1))': + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) debug: 4.3.5 - svelte: 5.0.0-next.265 + svelte: 5.1.9 vite: 5.3.6(@types/node@18.19.50)(lightningcss@1.24.1) transitivePeerDependencies: - supports-color @@ -5009,15 +5009,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1))': + '@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@5.0.0-next.265)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)))(svelte@5.1.9)(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) debug: 4.3.5 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.11 - svelte: 5.0.0-next.265 - svelte-hmr: 0.16.0(svelte@5.0.0-next.265) + svelte: 5.1.9 + svelte-hmr: 0.16.0(svelte@5.1.9) vite: 5.3.6(@types/node@18.19.50)(lightningcss@1.24.1) vitefu: 0.2.5(vite@5.3.6(@types/node@18.19.50)(lightningcss@1.24.1)) transitivePeerDependencies: @@ -5646,7 +5646,7 @@ snapshots: minimatch: 9.0.5 semver: 7.6.3 - eslint-plugin-svelte@2.41.0(eslint@9.6.0)(svelte@5.0.0-next.265): + eslint-plugin-svelte@2.41.0(eslint@9.6.0)(svelte@5.1.9): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) '@jridgewell/sourcemap-codec': 1.5.0 @@ -5659,9 +5659,9 @@ snapshots: postcss-safe-parser: 6.0.0(postcss@8.4.47) postcss-selector-parser: 6.1.2 semver: 7.6.3 - svelte-eslint-parser: 0.39.2(svelte@5.0.0-next.265) + svelte-eslint-parser: 0.39.2(svelte@5.1.9) optionalDependencies: - svelte: 5.0.0-next.265 + svelte: 5.1.9 transitivePeerDependencies: - ts-node @@ -6774,7 +6774,7 @@ snapshots: transitivePeerDependencies: - picomatch - svelte-eslint-parser@0.39.2(svelte@5.0.0-next.265): + svelte-eslint-parser@0.39.2(svelte@5.1.9): dependencies: eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -6782,19 +6782,19 @@ snapshots: postcss: 8.4.47 postcss-scss: 4.0.9(postcss@8.4.47) optionalDependencies: - svelte: 5.0.0-next.265 + svelte: 5.1.9 svelte-hmr@0.16.0(svelte@4.2.19): dependencies: svelte: 4.2.19 - svelte-hmr@0.16.0(svelte@5.0.0-next.265): + svelte-hmr@0.16.0(svelte@5.1.9): dependencies: - svelte: 5.0.0-next.265 + svelte: 5.1.9 - svelte-parse-markup@0.1.5(svelte@5.0.0-next.265): + svelte-parse-markup@0.1.5(svelte@5.1.9): dependencies: - svelte: 5.0.0-next.265 + svelte: 5.1.9 svelte-persisted-store@0.9.4(svelte@4.2.19): dependencies: @@ -6834,7 +6834,7 @@ snapshots: magic-string: 0.30.11 periscopic: 3.1.0 - svelte@5.0.0-next.265: + svelte@5.1.9: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 From de2db7a02fe6b2b2af8c650d3f2624b1514c190d Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Fri, 1 Nov 2024 08:15:17 -0700 Subject: [PATCH 6/7] fix peer dep range. svelte 4 is no longer supported --- packages/enhanced-img/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/enhanced-img/package.json b/packages/enhanced-img/package.json index eb1166e4544e..3e28590b92d6 100644 --- a/packages/enhanced-img/package.json +++ b/packages/enhanced-img/package.json @@ -51,7 +51,7 @@ "vitest": "^2.0.1" }, "peerDependencies": { - "svelte": "^4.0.0 || ^5.0.0", + "svelte": "^5.0.0", "vite": ">= 5.0.0" } } From 69dd692a1f3fefe862b756db04a8bad43dec665d Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Fri, 1 Nov 2024 08:19:53 -0700 Subject: [PATCH 7/7] Create witty-years-relate.md --- .changeset/witty-years-relate.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/witty-years-relate.md diff --git a/.changeset/witty-years-relate.md b/.changeset/witty-years-relate.md new file mode 100644 index 000000000000..c0d93ddb3ea7 --- /dev/null +++ b/.changeset/witty-years-relate.md @@ -0,0 +1,5 @@ +--- +"@sveltejs/enhanced-img": minor +--- + +breaking: require Svelte 5