From 0c40cc59374db837042290c482050f0b07965eec Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 22 Apr 2024 11:59:17 -0400 Subject: [PATCH] generate markdown files for more errors --- .../messages/compile-errors/attributes.md | 51 + .../messages/compile-errors/bindings.md | 27 + .../compile-errors/compiler_options.md | 7 + .../messages/compile-errors/components.md | 3 + .../messages/compile-errors/const_tag.md | 3 + .../svelte/messages/compile-errors/css.md | 55 + .../messages/compile-errors/elements.md | 27 + .../compile-errors/legacy_reactivity.md | 3 + .../svelte/messages/compile-errors/parse.md | 142 +- .../svelte/messages/compile-errors/runes.md | 101 ++ .../svelte/messages/compile-errors/slots.md | 28 + .../compile-errors/special_elements.md | 99 ++ .../messages/compile-errors/variables.md | 19 + packages/svelte/src/compiler/errors.js | 1288 ++++++++++++++++- 14 files changed, 1847 insertions(+), 6 deletions(-) create mode 100644 packages/svelte/messages/compile-errors/attributes.md create mode 100644 packages/svelte/messages/compile-errors/bindings.md create mode 100644 packages/svelte/messages/compile-errors/compiler_options.md create mode 100644 packages/svelte/messages/compile-errors/components.md create mode 100644 packages/svelte/messages/compile-errors/const_tag.md create mode 100644 packages/svelte/messages/compile-errors/css.md create mode 100644 packages/svelte/messages/compile-errors/elements.md create mode 100644 packages/svelte/messages/compile-errors/legacy_reactivity.md create mode 100644 packages/svelte/messages/compile-errors/runes.md create mode 100644 packages/svelte/messages/compile-errors/slots.md create mode 100644 packages/svelte/messages/compile-errors/special_elements.md create mode 100644 packages/svelte/messages/compile-errors/variables.md diff --git a/packages/svelte/messages/compile-errors/attributes.md b/packages/svelte/messages/compile-errors/attributes.md new file mode 100644 index 0000000000..e59391fb9a --- /dev/null +++ b/packages/svelte/messages/compile-errors/attributes.md @@ -0,0 +1,51 @@ +## 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 + +## invalid_animation + +An element that uses the animate directive must be the immediate child of a keyed each block` + : type === 'each-key' + ? `An element that uses the animate directive must be used inside a keyed each block. Did you forget to add a key to your each block?` + : `An element that uses the animate directive must be the sole child of a keyed each block + +## duplicate_animation + +An element can only have one 'animate' directive + +## invalid_event_modifier + +Valid event modifiers are %modifiers.slice(0, -1).join(', ')% or %modifiers.slice(-1)%` + : `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 + +## duplicate_transition + +TODO + +## invalid_let_directive_placement + +TODO + +## 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 new file mode 100644 index 0000000000..ad96e37fe4 --- /dev/null +++ b/packages/svelte/messages/compile-errors/bindings.md @@ -0,0 +1,27 @@ +## invalid_binding_expression + +Can only bind to an Identifier or MemberExpression + +## invalid_binding_value + +Can only bind to state or props + +## invalid_binding + +TODO + +## 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 \ No newline at end of file diff --git a/packages/svelte/messages/compile-errors/compiler_options.md b/packages/svelte/messages/compile-errors/compiler_options.md new file mode 100644 index 0000000000..761d74c72a --- /dev/null +++ b/packages/svelte/messages/compile-errors/compiler_options.md @@ -0,0 +1,7 @@ +## 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 new file mode 100644 index 0000000000..88a31a81c6 --- /dev/null +++ b/packages/svelte/messages/compile-errors/components.md @@ -0,0 +1,3 @@ +## 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 new file mode 100644 index 0000000000..de8a8ca909 --- /dev/null +++ b/packages/svelte/messages/compile-errors/const_tag.md @@ -0,0 +1,3 @@ +## 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/css.md b/packages/svelte/messages/compile-errors/css.md new file mode 100644 index 0000000000..440f7f7b28 --- /dev/null +++ b/packages/svelte/messages/compile-errors/css.md @@ -0,0 +1,55 @@ +## css_parse_error + +TODO + +## invalid_css_empty_declaration + +Declaration cannot be empty + +## invalid_css_global_block_list + +A :global {...} block cannot be part of a selector list with more than one item + +## invalid_css_global_block_modifier + +A :global {...} block cannot modify an existing selector + +## invalid_css_global_block_combinator + +A :global {...} block cannot follow a %name% combinator + +## invalid_css_global_block_declaration + +A :global {...} block can only contain rules, not declarations + +## invalid_css_global_placement + +:global(...) can be at the start or end of a selector sequence, but not in the middle + +## invalid_css_global_selector + +:global(...) must contain exactly one selector + +## invalid_css_global_selector_list + +:global(...) must not contain type or universal selectors when used in a compound selector + +## invalid_css_type_selector_placement + +:global(...) must not be followed with a type selector + +## invalid_css_selector + +Invalid selector + +## invalid_css_identifier + +TODO + +## invalid_nesting_selector + +Nesting selectors can only be used inside a rule + +## invalid_css_declaration + +TODO \ No newline at end of file diff --git a/packages/svelte/messages/compile-errors/elements.md b/packages/svelte/messages/compile-errors/elements.md new file mode 100644 index 0000000000..b15f75c0bf --- /dev/null +++ b/packages/svelte/messages/compile-errors/elements.md @@ -0,0 +1,27 @@ +## invalid_textarea_content + +A