From 8e17428316cbad94d21306b75f6ef4d389b6e301 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 25 Apr 2024 08:54:05 -0400 Subject: [PATCH] chore: tidy up messages (#11327) * start reorganising messages * tidy up * more * more * more * alphabetise * consolidate * more * more * more * more * more * more * alphabetise * more * this is no longer needed * no longer necessary * more * more * fix * regenerate messages * more * more * tighten up rune validation * more * fix * more * tweak a11y messages * add server errors * overhaul runtime errors * regenerate messages * unused * lint * more * more * Update packages/svelte/messages/compile-errors/script.md Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> * Update packages/svelte/messages/client-warnings/warnings.md Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> * fix --------- Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> --- .prettierignore | 2 + .../svelte/messages/client-errors/effects.md | 3 - .../svelte/messages/client-errors/errors.md | 67 ++ .../messages/client-errors/lifecycle.md | 7 - .../messages/client-warnings/warnings.md | 8 + .../messages/compile-errors/attributes.md | 59 -- .../messages/compile-errors/bindings.md | 33 - .../compile-errors/compiler_options.md | 7 - .../messages/compile-errors/components.md | 3 - .../messages/compile-errors/const_tag.md | 3 - .../messages/compile-errors/elements.md | 27 - .../compile-errors/legacy_reactivity.md | 3 - .../svelte/messages/compile-errors/options.md | 11 + .../svelte/messages/compile-errors/parse.md | 147 --- .../svelte/messages/compile-errors/runes.md | 95 -- .../svelte/messages/compile-errors/script.md | 135 +++ .../svelte/messages/compile-errors/slots.md | 31 - .../compile-errors/special_elements.md | 99 -- .../compile-errors/{css.md => style.md} | 46 +- .../messages/compile-errors/template.md | 365 +++++++ .../messages/compile-errors/variables.md | 19 - .../svelte/messages/compile-warnings/a11y.md | 160 +-- .../messages/compile-warnings/attributes.md | 15 - .../svelte/messages/compile-warnings/block.md | 3 - .../messages/compile-warnings/components.md | 3 - .../svelte/messages/compile-warnings/css.md | 3 - .../messages/compile-warnings/legacy.md | 19 - .../svelte/messages/compile-warnings/misc.md | 3 - .../messages/compile-warnings/options.md | 8 +- .../messages/compile-warnings/performance.md | 7 - .../svelte/messages/compile-warnings/runes.md | 19 - .../messages/compile-warnings/script.md | 35 + .../svelte/messages/compile-warnings/state.md | 7 - .../svelte/messages/compile-warnings/style.md | 3 + .../messages/compile-warnings/template.md | 39 + .../messages/server-errors/lifecycle.md | 3 + .../svelte/messages/shared-errors/errors.md | 19 + .../messages/shared-warnings/warnings.md | 2 +- .../svelte/scripts/process-messages/index.js | 12 + .../templates/server-errors.js | 10 + .../templates/shared-errors.js | 17 + packages/svelte/src/compiler/errors.js | 981 ++++++++---------- .../src/compiler/phases/1-parse/index.js | 6 +- .../compiler/phases/1-parse/read/options.js | 80 +- .../compiler/phases/1-parse/read/script.js | 6 +- .../src/compiler/phases/1-parse/read/style.js | 11 +- .../compiler/phases/1-parse/state/element.js | 50 +- .../src/compiler/phases/1-parse/state/tag.js | 16 +- .../phases/2-analyze/css/css-analyze.js | 18 +- .../src/compiler/phases/2-analyze/index.js | 44 +- .../compiler/phases/2-analyze/validation.js | 251 +++-- packages/svelte/src/compiler/phases/scope.js | 7 +- .../svelte/src/compiler/validate-options.js | 9 +- packages/svelte/src/compiler/warnings.js | 516 +++++---- packages/svelte/src/index-client.js | 13 +- packages/svelte/src/index-server.js | 7 +- .../client/dom/elements/attributes.js | 12 +- .../client/dom/elements/bindings/input.js | 11 +- .../src/internal/client/dom/hydration.js | 3 +- packages/svelte/src/internal/client/errors.js | 233 ++++- packages/svelte/src/internal/client/index.js | 4 +- packages/svelte/src/internal/client/proxy.js | 3 +- .../src/internal/client/reactivity/effects.js | 14 +- .../src/internal/client/reactivity/props.js | 14 +- .../src/internal/client/reactivity/sources.js | 10 +- packages/svelte/src/internal/client/render.js | 12 +- .../svelte/src/internal/client/runtime.js | 9 +- .../svelte/src/internal/client/validate.js | 61 +- .../svelte/src/internal/client/warnings.js | 27 + .../svelte/src/internal/server/context.js | 24 +- packages/svelte/src/internal/server/errors.js | 13 + packages/svelte/src/internal/server/index.js | 24 +- packages/svelte/src/internal/shared/errors.js | 85 ++ .../svelte/src/internal/shared/validate.js | 22 +- .../samples/attribute-empty/_config.js | 2 +- .../_config.js | 2 +- .../attribute-sequence-expression/_config.js | 2 +- .../attribute-unique-binding/_config.js | 2 +- .../attribute-unique-shorthand/_config.js | 2 +- .../samples/attribute-unique/_config.js | 2 +- .../samples/catch-without-await/_config.js | 2 +- .../class-state-field-static/_config.js | 2 +- .../_config.js | 2 +- .../_config.js | 2 +- .../_config.js | 2 +- .../_config.js | 2 +- .../_config.js | 2 +- .../component-slot-duplicate-error/_config.js | 2 +- .../component-slot-nested-error-2/_config.js | 2 +- .../component-slot-nested-error-3/_config.js | 2 +- .../component-slot-nested-error/_config.js | 2 +- .../css-global-block-combinator/_config.js | 2 +- .../css-global-block-declaration/_config.js | 2 +- .../css-global-block-modifier/_config.js | 2 +- .../css-global-block-multiple/_config.js | 2 +- .../compiler-errors/samples/css/_config.js | 2 +- .../dollar-binding-declaration/_config.js | 2 +- .../dollar-binding-global-js/_config.js | 2 +- .../samples/dollar-binding-global/_config.js | 2 +- .../samples/dollar-binding-import/_config.js | 2 +- .../samples/else-before-closing-3/_config.js | 2 +- .../samples/else-before-closing/_config.js | 2 +- .../else-if-before-closing-2/_config.js | 2 +- .../empty-attribute-shorthand/_config.js | 2 +- .../empty-classname-binding/_config.js | 6 +- .../samples/empty-directive-name/_config.js | 6 +- .../samples/export-derived-state/_config.js | 2 +- .../samples/export-state-module/_config.js | 2 +- .../samples/export-state/_config.js | 2 +- .../invalid-snippet-binding/_config.js | 2 +- .../invalid-snippet-mutation/_config.js | 2 +- .../legacy-no-const-assignment/_config.js | 2 +- .../samples/legacy-no-const-update/_config.js | 2 +- .../samples/multiple-styles/_config.js | 2 +- .../samples/options-children/_config.js | 2 +- .../raw-mustaches-whitespace/_config.js | 2 +- .../render-tag-invalid-call/_config.js | 2 +- .../runes-before-after-update/_config.js | 2 +- .../runes-bindable-not-called/_config.js | 8 + .../runes-bindable-not-called/main.svelte} | 0 .../samples/runes-duplicate-props/_config.js | 2 +- .../samples/runes-export-let/_config.js | 4 +- .../runes-export-named-state/_config.js | 2 +- .../runes-invalid-each-binding/_config.js | 2 +- .../runes-invalid-each-mutation/_config.js | 2 +- .../runes-no-const-assignment/_config.js | 2 +- .../samples/runes-no-const-update/_config.js | 2 +- .../runes-no-derived-assignment/_config.js | 2 +- .../runes-no-derived-binding/_config.js | 2 +- .../_config.js | 2 +- .../_config.js | 2 +- .../runes-no-derived-update/_config.js | 2 +- .../samples/runes-no-rune-each/_config.js | 2 +- .../runes-prop-export-conflict/_config.js | 8 - .../runes-prop-export-conflict/main.svelte | 4 - .../samples/runes-props-not-called/_config.js | 8 + .../runes-props-not-called/main.svelte} | 0 .../runes-wrong-bindable-args/_config.js | 2 +- .../runes-wrong-bindable-placement/_config.js | 2 +- .../runes-wrong-derived-args/_config.js | 2 +- .../runes-wrong-derived-placement/_config.js | 2 +- .../runes-wrong-effect-args/_config.js | 2 +- .../runes-wrong-effect-placement/_config.js | 2 +- .../runes-wrong-host-placement/_config.js | 2 +- .../samples/runes-wrong-props-args/_config.js | 2 +- .../runes-wrong-props-placement/_config.js | 2 +- .../samples/runes-wrong-state-args/_config.js | 2 +- .../runes-wrong-state-placement/_config.js | 2 +- .../_config.js | 2 +- .../samples/script-unclosed/_config.js | 2 +- .../samples/self-reference/_config.js | 4 +- .../_config.js | 2 +- .../snippet-children-conflict/_config.js | 2 +- .../store-autosub-context-module/_config.js | 2 +- .../samples/store-contextual/_config.js | 2 +- .../store-global-disallowed/_config.js | 2 +- .../_config.js | 2 +- .../samples/store-shadow-scope-2/_config.js | 2 +- .../samples/store-shadow-scope-3/_config.js | 2 +- .../samples/store-shadow-scope/_config.js | 2 +- .../_config.js | 2 +- .../samples/style-unclosed/_config.js | 2 +- .../samples/svelte-selfdestructive/_config.js | 2 +- .../samples/then-before-closing/_config.js | 2 +- .../samples/then-without-await/_config.js | 2 +- .../_config.js | 4 +- .../unexpected-end-of-input-d/_config.js | 2 +- .../unexpected-end-of-input/_config.js | 2 +- .../_config.js | 4 +- .../_config.js | 4 +- .../samples/unmatched-closing-tag/_config.js | 4 +- .../samples/void-closing/_config.js | 2 +- .../samples/window-children/_config.js | 2 +- .../samples/window-duplicate/_config.js | 4 +- .../samples/window-inside-block/_config.js | 4 +- .../samples/window-inside-element/_config.js | 4 +- .../samples/ignore-mismatched-href/_config.js | 2 +- packages/svelte/tests/hydration/test.ts | 25 +- .../extended-builtin/_config.js | 2 +- .../component-not-constructor-dev/_config.js | 3 +- .../component-not-constructor2-dev/_config.js | 2 +- .../dynamic-element-invalid-this/_config.js | 4 +- .../each-block-keyed-non-prop/_config.js | 6 +- .../_config.js | 4 +- .../samples/each-block-keyed/_config.js | 4 +- .../samples/keyed-each-dev-unique/_config.js | 3 +- .../samples/store-dev-mode-error/_config.js | 2 +- .../samples/export-binding/_config.js | 4 +- .../samples/props-bound-fallback/_config.js | 2 +- .../props-not-bindable-spread/_config.js | 9 +- .../samples/props-not-bindable/_config.js | 9 +- .../snippet-validation-error-1/_config.js | 3 +- .../snippet-validation-error-2/_config.js | 2 +- .../samples/a11y-alt-text/warnings.json | 8 +- .../a11y-anchor-has-content/warnings.json | 2 +- .../a11y-anchor-in-svg-is-valid/warnings.json | 2 +- .../a11y-anchor-is-valid/warnings.json | 6 +- .../a11y-aria-activedescendant/warnings.json | 2 +- .../samples/a11y-aria-props/warnings.json | 2 +- .../warnings.json | 4 +- .../a11y-autocomplete-valid/warnings.json | 6 +- .../warnings.json | 16 +- .../a11y-heading-has-content/warnings.json | 4 +- .../samples/a11y-html-has-lang/warnings.json | 2 +- .../a11y-iframe-has-title/warnings.json | 2 +- .../a11y-img-redundant-alt/warnings.json | 6 +- .../a11y-media-has-caption/warnings.json | 8 +- .../warnings.json | 4 +- .../warnings.json | 92 +- .../warnings.json | 10 +- .../warnings.json | 96 +- .../warnings.json | 4 +- .../warnings.json | 118 +-- .../samples/a11y-scope/warnings.json | 2 +- .../samples/action-on-component/errors.json | 2 +- .../animation-on-component/errors.json | 2 +- .../samples/assignment-to-const-2/errors.json | 2 +- .../samples/assignment-to-const-3/errors.json | 2 +- .../samples/assignment-to-const-4/errors.json | 2 +- .../samples/assignment-to-const-5/errors.json | 2 +- .../samples/assignment-to-const-7/errors.json | 2 +- .../samples/assignment-to-const/errors.json | 2 +- .../attribute-invalid-name-2/errors.json | 2 +- .../attribute-invalid-name-3/errors.json | 2 +- .../attribute-invalid-name-4/errors.json | 2 +- .../attribute-invalid-name-5/errors.json | 2 +- .../attribute-invalid-name/errors.json | 2 +- .../samples/binding-await-catch/errors.json | 2 +- .../samples/binding-await-then-2/errors.json | 2 +- .../samples/binding-await-then/errors.json | 2 +- .../samples/binding-const/errors.json | 2 +- .../binding-input-type-boolean/errors.json | 2 +- .../errors.json | 2 +- .../binding-invalid-value-global/errors.json | 2 +- .../samples/binding-invalid-value/errors.json | 2 +- .../samples/binding-invalid/errors.json | 2 +- .../validator/samples/binding-let/errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../component-name-lowercase/warnings.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../component-slot-dynamic/errors.json | 2 +- .../errors.json | 2 +- .../component-slotted-each-block/errors.json | 2 +- .../component-slotted-if-block/errors.json | 2 +- .../samples/const-tag-conflict-1/errors.json | 2 +- .../samples/const-tag-conflict-2/errors.json | 2 +- .../samples/const-tag-placement-1/errors.json | 4 +- .../samples/const-tag-placement-2/errors.json | 4 +- .../samples/const-tag-readonly-1/errors.json | 2 +- .../samples/const-tag-readonly-2/errors.json | 2 +- .../contenteditable-dynamic/errors.json | 2 +- .../contenteditable-missing/errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../css-invalid-global-placement/errors.json | 2 +- .../css-invalid-global-selector-2/errors.json | 2 +- .../css-invalid-global-selector-3/errors.json | 2 +- .../css-invalid-global-selector-4/errors.json | 2 +- .../css-invalid-global-selector-5/errors.json | 2 +- .../css-invalid-global-selector-6/errors.json | 2 +- .../errors.json | 2 +- .../css-invalid-global-selector/errors.json | 2 +- .../errors.json | 2 +- .../samples/debug-invalid-args/errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../samples/default-export/errors.json | 2 +- .../directive-non-expression/errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../dollar-global-in-markup/errors.json | 2 +- .../dollar-global-in-script/errors.json | 2 +- .../dynamic-element-invalid-tag/errors.json | 4 +- .../dynamic-element-missing-tag/errors.json | 2 +- .../samples/empty-block/warnings.json | 8 +- .../samples/error-mode-warn/warnings.json | 2 +- .../samples/event-attribute/errors.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../event-modifiers-invalid/errors.json | 2 +- .../global-event-reference/warnings.json | 8 +- .../html-block-in-attribute/errors.json | 2 +- .../html-block-in-textarea/errors.json | 2 +- .../samples/ignore-warning/warnings.json | 4 +- .../ignore-warnings-cumulative/warnings.json | 2 +- .../ignore-warnings-newline/warnings.json | 2 +- .../ignore-warnings-stacked/warnings.json | 2 +- .../samples/ignore-warnings/warnings.json | 2 +- .../illegal-attribute-character/warnings.json | 4 +- .../illegal-variable-declaration/errors.json | 2 +- .../samples/inline-new-class-2/warnings.json | 2 +- .../samples/inline-new-class-4/warnings.json | 2 +- .../samples/inline-new-class/warnings.json | 2 +- .../invalid-empty-css-declaration/errors.json | 4 +- .../invalid-node-placement-2/errors.json | 2 +- .../invalid-node-placement/errors.json | 2 +- .../invalid-self-closing-tag/warnings.json | 8 +- .../samples/let-directive/errors.json | 2 +- .../logic-block-in-attribute/errors.json | 2 +- .../logic-block-in-textarea/errors.json | 2 +- .../warnings.json | 2 +- .../errors.json | 2 +- .../errors.json | 2 +- .../samples/namespace-invalid/errors.json | 4 +- .../samples/namespace-non-literal/errors.json | 4 +- .../reactive-declaration-cyclical/errors.json | 2 +- .../warnings.json | 2 +- .../reactive-module-variable/warnings.json | 2 +- .../rest-eachblock-binding-2/warnings.json | 2 +- .../rest-eachblock-binding-3/warnings.json | 2 +- .../warnings.json | 4 +- .../rest-eachblock-binding/warnings.json | 2 +- .../runes-bindable-not-called/_config.js | 3 - .../runes-bindable-not-called/warnings.json | 14 - .../warnings.json | 12 +- .../samples/runes-props-not-called/_config.js | 3 - .../runes-props-not-called/warnings.json | 14 - .../warnings.json | 2 +- .../runes-referenced-nonstate/warnings.json | 4 +- .../script-invalid-context/errors.json | 2 +- .../samples/silence-warnings-2/input.svelte | 2 +- .../samples/silence-warnings/input.svelte | 2 +- .../slot-attribute-invalid/errors.json | 2 +- .../samples/slot-warning/warnings.json | 2 +- .../samples/slot-warning2/warnings.json | 2 +- .../static-state-reference/warnings.json | 4 +- .../store-runes-conflict/warnings.json | 2 +- .../errors.json | 4 +- .../svelte-fragment-placement-2/errors.json | 2 +- .../svelte-fragment-placement/errors.json | 2 +- .../svelte-head-attributes/errors.json | 2 +- .../validator/samples/tag-invalid/errors.json | 2 +- .../samples/tag-non-string/errors.json | 2 +- .../textarea-value-children/errors.json | 2 +- .../samples/title-no-attributes/errors.json | 2 +- .../samples/title-no-children/errors.json | 2 +- .../transition-on-component/errors.json | 2 +- .../unreferenced-variables-each/warnings.json | 4 +- .../unreferenced-variables/warnings.json | 10 +- .../samples/use-the-platform/warnings.json | 4 +- .../errors.json | 2 +- .../window-binding-invalid/errors.json | 2 +- packages/svelte/tests/validator/test.ts | 2 +- 353 files changed, 2772 insertions(+), 2477 deletions(-) delete mode 100644 packages/svelte/messages/client-errors/effects.md create mode 100644 packages/svelte/messages/client-errors/errors.md delete mode 100644 packages/svelte/messages/client-errors/lifecycle.md delete mode 100644 packages/svelte/messages/compile-errors/attributes.md delete mode 100644 packages/svelte/messages/compile-errors/bindings.md delete mode 100644 packages/svelte/messages/compile-errors/compiler_options.md delete mode 100644 packages/svelte/messages/compile-errors/components.md delete mode 100644 packages/svelte/messages/compile-errors/const_tag.md delete mode 100644 packages/svelte/messages/compile-errors/elements.md delete mode 100644 packages/svelte/messages/compile-errors/legacy_reactivity.md create mode 100644 packages/svelte/messages/compile-errors/options.md delete mode 100644 packages/svelte/messages/compile-errors/parse.md delete mode 100644 packages/svelte/messages/compile-errors/runes.md create mode 100644 packages/svelte/messages/compile-errors/script.md delete mode 100644 packages/svelte/messages/compile-errors/slots.md delete mode 100644 packages/svelte/messages/compile-errors/special_elements.md rename packages/svelte/messages/compile-errors/{css.md => style.md} (60%) create mode 100644 packages/svelte/messages/compile-errors/template.md delete mode 100644 packages/svelte/messages/compile-errors/variables.md delete mode 100644 packages/svelte/messages/compile-warnings/attributes.md delete mode 100644 packages/svelte/messages/compile-warnings/block.md delete mode 100644 packages/svelte/messages/compile-warnings/components.md delete mode 100644 packages/svelte/messages/compile-warnings/css.md delete mode 100644 packages/svelte/messages/compile-warnings/legacy.md delete mode 100644 packages/svelte/messages/compile-warnings/misc.md delete mode 100644 packages/svelte/messages/compile-warnings/performance.md delete mode 100644 packages/svelte/messages/compile-warnings/runes.md create mode 100644 packages/svelte/messages/compile-warnings/script.md delete mode 100644 packages/svelte/messages/compile-warnings/state.md create mode 100644 packages/svelte/messages/compile-warnings/style.md create mode 100644 packages/svelte/messages/compile-warnings/template.md create mode 100644 packages/svelte/messages/server-errors/lifecycle.md create mode 100644 packages/svelte/messages/shared-errors/errors.md create mode 100644 packages/svelte/scripts/process-messages/templates/server-errors.js create mode 100644 packages/svelte/scripts/process-messages/templates/shared-errors.js create mode 100644 packages/svelte/src/internal/server/errors.js create mode 100644 packages/svelte/src/internal/shared/errors.js create mode 100644 packages/svelte/tests/compiler-errors/samples/runes-bindable-not-called/_config.js rename packages/svelte/tests/{validator/samples/runes-bindable-not-called/input.svelte => compiler-errors/samples/runes-bindable-not-called/main.svelte} (100%) delete mode 100644 packages/svelte/tests/compiler-errors/samples/runes-prop-export-conflict/_config.js delete mode 100644 packages/svelte/tests/compiler-errors/samples/runes-prop-export-conflict/main.svelte create mode 100644 packages/svelte/tests/compiler-errors/samples/runes-props-not-called/_config.js rename packages/svelte/tests/{validator/samples/runes-props-not-called/input.svelte => compiler-errors/samples/runes-props-not-called/main.svelte} (100%) delete mode 100644 packages/svelte/tests/validator/samples/runes-bindable-not-called/_config.js delete mode 100644 packages/svelte/tests/validator/samples/runes-bindable-not-called/warnings.json delete mode 100644 packages/svelte/tests/validator/samples/runes-props-not-called/_config.js delete mode 100644 packages/svelte/tests/validator/samples/runes-props-not-called/warnings.json diff --git a/.prettierignore b/.prettierignore index 0e08fae5e9..0567f05cd8 100644 --- a/.prettierignore +++ b/.prettierignore @@ -7,7 +7,9 @@ packages/svelte/src/compiler/errors.js packages/svelte/src/compiler/warnings.js packages/svelte/src/internal/client/errors.js packages/svelte/src/internal/client/warnings.js +packages/svelte/src/internal/shared/errors.js packages/svelte/src/internal/shared/warnings.js +packages/svelte/src/internal/server/errors.js packages/svelte/tests/**/*.svelte packages/svelte/tests/**/_expected* packages/svelte/tests/**/_actual* diff --git a/packages/svelte/messages/client-errors/effects.md b/packages/svelte/messages/client-errors/effects.md deleted file mode 100644 index 88847ea0d5..0000000000 --- a/packages/svelte/messages/client-errors/effects.md +++ /dev/null @@ -1,3 +0,0 @@ -## effect_update_depth_exceeded - -> Maximum update depth exceeded. This can happen when a reactive block or effect repeatedly sets a new value. Svelte limits the number of nested updates to prevent infinite loops \ No newline at end of file diff --git a/packages/svelte/messages/client-errors/errors.md b/packages/svelte/messages/client-errors/errors.md new file mode 100644 index 0000000000..aeeb133226 --- /dev/null +++ b/packages/svelte/messages/client-errors/errors.md @@ -0,0 +1,67 @@ +## bind_invalid_checkbox_value + +> Using `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead + +## bind_invalid_export + +> Component %component% has an export named `%key%` that a consumer component is trying to access using `bind:%key%`, which is disallowed. Instead, use `bind:this` (e.g. `<%name% bind:this={component} />`) and then access the property on the bound component instance (e.g. `component.%key%`) + +## bind_not_bindable + +> A component is attempting to bind to a non-bindable property `%key%` belonging to %component% (i.e. `<%name% bind:%key%={...}>`). To mark a property as bindable: `let { %key% = $bindable() } = $props()` + +## each_key_duplicate + +> Keyed each block has duplicate key at indexes %a% and %b% + +> Keyed each block has duplicate key `%value%` at indexes %a% and %b% + +## effect_in_teardown + +> `%rune%` cannot be used inside an effect cleanup function + +## effect_orphan + +> `%rune%` can only be used inside an effect (e.g. during component initialisation) + +## effect_update_depth_exceeded + +> Maximum update depth exceeded. This can happen when a reactive block or effect repeatedly sets a new value. Svelte limits the number of nested updates to prevent infinite loops + +## hydration_missing_marker_close + +> Missing hydration closing marker + +## hydration_missing_marker_open + +> Missing hydration opening marker + +## lifecycle_legacy_only + +> `%name%(...)` cannot be used in runes mode + +## props_invalid_value + +> Cannot do `bind:%key%={undefined}` when `%key%` has a fallback value + +## props_rest_readonly + +> Rest element properties of `$props()` such as `%property%` are readonly + +## rune_outside_svelte + +> The `%rune%` rune is only available inside `.svelte` and `.svelte.js/ts` files + +## state_prototype_fixed + +> Cannot set prototype of `$state` object + +## state_unsafe_mutation + +> Unsafe mutations during Svelte's render or derived phase are not permitted in runes mode. This can lead to unexpected errors and possibly cause infinite loops. +> +> If the object is not meant to be reactive, declare it without `$state` + +## svelte_component_invalid_this_value + +> The `this={...}` property of a `` must be a Svelte component, if defined diff --git a/packages/svelte/messages/client-errors/lifecycle.md b/packages/svelte/messages/client-errors/lifecycle.md deleted file mode 100644 index 98b644d8ec..0000000000 --- a/packages/svelte/messages/client-errors/lifecycle.md +++ /dev/null @@ -1,7 +0,0 @@ -## lifecycle_outside_component - -> `%name%(...)` can only be used during component initialisation - -## lifecycle_legacy_only - -> `%name%(...)` cannot be used in runes mode \ No newline at end of file diff --git a/packages/svelte/messages/client-warnings/warnings.md b/packages/svelte/messages/client-warnings/warnings.md index 865d968144..1f77457f94 100644 --- a/packages/svelte/messages/client-warnings/warnings.md +++ b/packages/svelte/messages/client-warnings/warnings.md @@ -1,3 +1,11 @@ +## hydration_attribute_changed + +> The `%attribute%` attribute on `%html%` changed its value between server and client renders. The client value, `%value%`, will be ignored in favour of the server value + +## hydration_mismatch + +> Hydration failed because the initial UI does not match what was rendered on the server + ## lifecycle_double_unmount > Tried to unmount a component that was not mounted diff --git a/packages/svelte/messages/compile-errors/attributes.md b/packages/svelte/messages/compile-errors/attributes.md deleted file mode 100644 index 8e27e74076..0000000000 --- a/packages/svelte/messages/compile-errors/attributes.md +++ /dev/null @@ -1,59 +0,0 @@ -## empty_attribute_shorthand - -> Attribute shorthand cannot be empty - -## duplicate_attribute - -> Attributes need to be unique - -## invalid_event_attribute_value - -> Event attribute must be a JavaScript expression, not a string - -## invalid_attribute_name - -> '%name%' is not a valid attribute name - -## animation_invalid_placement - -> An element that uses the `animate:` directive must be the only child of a keyed `{#each ...}` block - -## animation_missing_key - -> An element that uses the `animate:` directive must be the only child of a keyed `{#each ...}` block. Did you forget to add a key to your each block? - -## animation_duplicate - -> An element can only have one 'animate' directive - -## invalid_event_modifier - -> Valid event modifiers are %list% - -## invalid_component_event_modifier - -> Event modifiers other than 'once' can only be used on DOM elements - -## invalid_event_modifier_combination - -> The '%modifier1%' and '%modifier2%' modifiers cannot be used together - -## transition_duplicate - -> Cannot use multiple `%type%:` directives on a single element - -## transition_conflict - -> Cannot use `%type%:` alongside existing `%existing%:` directive - -## invalid_let_directive_placement - -> `let:` directive at invalid position - -## invalid_style_directive_modifier - -> Invalid 'style:' modifier. Valid modifiers are: 'important' - -## invalid_sequence_expression - -> Sequence expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses \ No newline at end of file diff --git a/packages/svelte/messages/compile-errors/bindings.md b/packages/svelte/messages/compile-errors/bindings.md deleted file mode 100644 index 1a7ef806ac..0000000000 --- a/packages/svelte/messages/compile-errors/bindings.md +++ /dev/null @@ -1,33 +0,0 @@ -## invalid_binding_expression - -> Can only bind to an Identifier or MemberExpression - -## invalid_binding_value - -> Can only bind to state or props - -## bind_invalid_target - -> `bind:%name%` can only be used with %elements% - -## bind_invalid - -> `bind:%name%` is not a valid binding - -> `bind:%name%` is not a valid binding. %explanation% - -## invalid_type_attribute - -> 'type' attribute must be a static text value if input uses two-way binding - -## invalid_multiple_attribute - -> 'multiple' attribute must be static if select uses two-way binding - -## missing_contenteditable_attribute - -> 'contenteditable' attribute is required for textContent, innerHTML and innerText two-way bindings - -## dynamic_contenteditable_attribute - -> 'contenteditable' attribute cannot be dynamic if element uses two-way binding diff --git a/packages/svelte/messages/compile-errors/compiler_options.md b/packages/svelte/messages/compile-errors/compiler_options.md deleted file mode 100644 index b2702a1a7e..0000000000 --- a/packages/svelte/messages/compile-errors/compiler_options.md +++ /dev/null @@ -1,7 +0,0 @@ -## invalid_compiler_option - -> Invalid compiler option: %msg% - -## removed_compiler_option - -> Invalid compiler option: %msg% \ No newline at end of file diff --git a/packages/svelte/messages/compile-errors/components.md b/packages/svelte/messages/compile-errors/components.md deleted file mode 100644 index 651c80d733..0000000000 --- a/packages/svelte/messages/compile-errors/components.md +++ /dev/null @@ -1,3 +0,0 @@ -## invalid_component_directive - -> This type of directive is not valid on components \ No newline at end of file diff --git a/packages/svelte/messages/compile-errors/const_tag.md b/packages/svelte/messages/compile-errors/const_tag.md deleted file mode 100644 index 720aba9860..0000000000 --- a/packages/svelte/messages/compile-errors/const_tag.md +++ /dev/null @@ -1,3 +0,0 @@ -## invalid_const_placement - -> {@const} must be the immediate child of {#snippet}, {#if}, {:else if}, {:else}, {#each}, {:then}, {:catch}, or \ No newline at end of file diff --git a/packages/svelte/messages/compile-errors/elements.md b/packages/svelte/messages/compile-errors/elements.md deleted file mode 100644 index 2686f2370d..0000000000 --- a/packages/svelte/messages/compile-errors/elements.md +++ /dev/null @@ -1,27 +0,0 @@ -## invalid_textarea_content - -> A `