Lint and format src/compiler/parse/errors.js

pull/8569/head
Simon Holthausen 3 years ago
parent af877afb40
commit a15a312ea2

@ -4,266 +4,265 @@ import list from '../utils/list';
* @internal * @internal
*/ */
export default { export default {
css_syntax_error: /** css_syntax_error: /**
* @returns {{ code: string; message: any; }} */ (message) => ({ * @returns {{ code: string; message: any; }} */ (message) => ({
code: 'css-syntax-error', code: 'css-syntax-error',
message message
}), }),
duplicate_attribute: { duplicate_attribute: {
code: 'duplicate-attribute', code: 'duplicate-attribute',
message: 'Attributes need to be unique' message: 'Attributes need to be unique'
}, },
duplicate_element: /** duplicate_element: /**
* @param {string} slug * @param {string} slug
* @param {string} name * @param {string} name
* @returns {{ code: string; message: string; }} * @returns {{ code: string; message: string; }}
*/ (slug, name) => ({ */ (slug, name) => ({
code: `duplicate-${slug}`, code: `duplicate-${slug}`,
message: `A component can only have one <${name}> tag` message: `A component can only have one <${name}> tag`
}), }),
duplicate_style: { duplicate_style: {
code: 'duplicate-style', code: 'duplicate-style',
message: 'You can only have one top-level <style> tag per component' message: 'You can only have one top-level <style> tag per component'
}, },
empty_attribute_shorthand: { empty_attribute_shorthand: {
code: 'empty-attribute-shorthand', code: 'empty-attribute-shorthand',
message: 'Attribute shorthand cannot be empty' message: 'Attribute shorthand cannot be empty'
}, },
empty_directive_name: /** empty_directive_name: /**
* @param {string} type * @param {string} type
* @returns {{ code: string; message: string; }} * @returns {{ code: string; message: string; }}
*/ (type) => ({ */ (type) => ({
code: 'empty-directive-name', code: 'empty-directive-name',
message: `${type} name cannot be empty` message: `${type} name cannot be empty`
}), }),
empty_global_selector: { empty_global_selector: {
code: 'css-syntax-error', code: 'css-syntax-error',
message: ':global() must contain a selector' message: ':global() must contain a selector'
}, },
expected_block_type: { expected_block_type: {
code: 'expected-block-type', code: 'expected-block-type',
message: 'Expected if, each or await' message: 'Expected if, each or await'
}, },
expected_name: { expected_name: {
code: 'expected-name', code: 'expected-name',
message: 'Expected name' message: 'Expected name'
}, },
invalid_catch_placement_unclosed_block: /** invalid_catch_placement_unclosed_block: /**
* @returns {{ code: string; message: string; }} */ (block) => ({ * @returns {{ code: string; message: string; }} */ (block) => ({
code: 'invalid-catch-placement', code: 'invalid-catch-placement',
message: `Expected to close ${block} before seeing {:catch} block` message: `Expected to close ${block} before seeing {:catch} block`
}), }),
invalid_catch_placement_without_await: { invalid_catch_placement_without_await: {
code: 'invalid-catch-placement', code: 'invalid-catch-placement',
message: 'Cannot have an {:catch} block outside an {#await ...} block' message: 'Cannot have an {:catch} block outside an {#await ...} block'
}, },
invalid_component_definition: { invalid_component_definition: {
code: 'invalid-component-definition', code: 'invalid-component-definition',
message: 'invalid component definition' message: 'invalid component definition'
}, },
invalid_closing_tag_unopened: /** invalid_closing_tag_unopened: /**
* @param {string} name * @param {string} name
* @returns {{ code: string; message: string; }} * @returns {{ code: string; message: string; }}
*/ (name) => ({ */ (name) => ({
code: 'invalid-closing-tag', code: 'invalid-closing-tag',
message: `</${name}> attempted to close an element that was not open` message: `</${name}> attempted to close an element that was not open`
}), }),
invalid_closing_tag_autoclosed: /** invalid_closing_tag_autoclosed: /**
* @param {string} name * @param {string} name
* @param {string} reason * @param {string} reason
* @returns {{ code: string; message: string; }} * @returns {{ code: string; message: string; }}
*/ (name, reason) => ({ */ (name, reason) => ({
code: 'invalid-closing-tag', code: 'invalid-closing-tag',
message: `</${name}> attempted to close <${name}> that was already automatically closed by <${reason}>` message: `</${name}> attempted to close <${name}> that was already automatically closed by <${reason}>`
}), }),
invalid_debug_args: { invalid_debug_args: {
code: 'invalid-debug-args', code: 'invalid-debug-args',
message: '{@debug ...} arguments must be identifiers, not arbitrary expressions' message: '{@debug ...} arguments must be identifiers, not arbitrary expressions'
}, },
invalid_declaration: { invalid_declaration: {
code: 'invalid-declaration', code: 'invalid-declaration',
message: 'Declaration cannot be empty' message: 'Declaration cannot be empty'
}, },
invalid_directive_value: { invalid_directive_value: {
code: 'invalid-directive-value', code: 'invalid-directive-value',
message: 'Directive value must be a JavaScript expression enclosed in curly braces' message: 'Directive value must be a JavaScript expression enclosed in curly braces'
}, },
invalid_elseif: { invalid_elseif: {
code: 'invalid-elseif', code: 'invalid-elseif',
message: "'elseif' should be 'else if'" message: "'elseif' should be 'else if'"
}, },
invalid_elseif_placement_outside_if: { invalid_elseif_placement_outside_if: {
code: 'invalid-elseif-placement', code: 'invalid-elseif-placement',
message: 'Cannot have an {:else if ...} block outside an {#if ...} block' message: 'Cannot have an {:else if ...} block outside an {#if ...} block'
}, },
invalid_elseif_placement_unclosed_block: /** invalid_elseif_placement_unclosed_block: /**
* @returns {{ code: string; message: string; }} */ (block) => ({ * @returns {{ code: string; message: string; }} */ (block) => ({
code: 'invalid-elseif-placement', code: 'invalid-elseif-placement',
message: `Expected to close ${block} before seeing {:else if ...} block` message: `Expected to close ${block} before seeing {:else if ...} block`
}), }),
invalid_else_placement_outside_if: { invalid_else_placement_outside_if: {
code: 'invalid-else-placement', code: 'invalid-else-placement',
message: 'Cannot have an {:else} block outside an {#if ...} or {#each ...} block' message: 'Cannot have an {:else} block outside an {#if ...} or {#each ...} block'
}, },
invalid_else_placement_unclosed_block: /** invalid_else_placement_unclosed_block: /**
* @returns {{ code: string; message: string; }} */ (block) => ({ * @returns {{ code: string; message: string; }} */ (block) => ({
code: 'invalid-else-placement', code: 'invalid-else-placement',
message: `Expected to close ${block} before seeing {:else} block` message: `Expected to close ${block} before seeing {:else} block`
}), }),
invalid_element_content: /** invalid_element_content: /**
* @param {string} slug * @param {string} slug
* @param {string} name * @param {string} name
* @returns {{ code: string; message: string; }} * @returns {{ code: string; message: string; }}
*/ (slug, name) => ({ */ (slug, name) => ({
code: `invalid-${slug}-content`, code: `invalid-${slug}-content`,
message: `<${name}> cannot have children` message: `<${name}> cannot have children`
}), }),
invalid_element_definition: { invalid_element_definition: {
code: 'invalid-element-definition', code: 'invalid-element-definition',
message: 'Invalid element definition' message: 'Invalid element definition'
}, },
invalid_element_placement: /** invalid_element_placement: /**
* @param {string} slug * @param {string} slug
* @param {string} name * @param {string} name
* @returns {{ code: string; message: string; }} * @returns {{ code: string; message: string; }}
*/ (slug, name) => ({ */ (slug, name) => ({
code: `invalid-${slug}-placement`, code: `invalid-${slug}-placement`,
message: `<${name}> tags cannot be inside elements or blocks` message: `<${name}> tags cannot be inside elements or blocks`
}), }),
invalid_logic_block_placement: /** invalid_logic_block_placement: /**
* @param {string} location * @param {string} location
* @param {string} name * @param {string} name
* @returns {{ code: string; message: string; }} * @returns {{ code: string; message: string; }}
*/ (location, name) => ({ */ (location, name) => ({
code: 'invalid-logic-block-placement', code: 'invalid-logic-block-placement',
message: `{#${name}} logic block cannot be ${location}` message: `{#${name}} logic block cannot be ${location}`
}), }),
invalid_tag_placement: /** invalid_tag_placement: /**
* @param {string} location * @param {string} location
* @param {string} name * @param {string} name
* @returns {{ code: string; message: string; }} * @returns {{ code: string; message: string; }}
*/ (location, name) => ({ */ (location, name) => ({
code: 'invalid-tag-placement', code: 'invalid-tag-placement',
message: `{@${name}} tag cannot be ${location}` message: `{@${name}} tag cannot be ${location}`
}), }),
invalid_ref_directive: /** invalid_ref_directive: /**
* @param {string} name * @param {string} name
* @returns {{ code: string; message: string; }} * @returns {{ code: string; message: string; }}
*/ (name) => ({ */ (name) => ({
code: 'invalid-ref-directive', code: 'invalid-ref-directive',
message: `The ref directive is no longer supported — use \`bind:this={${name}}\` instead` message: `The ref directive is no longer supported — use \`bind:this={${name}}\` instead`
}), }),
invalid_ref_selector: { invalid_ref_selector: {
code: 'invalid-ref-selector', code: 'invalid-ref-selector',
message: 'ref selectors are no longer supported' message: 'ref selectors are no longer supported'
}, },
invalid_self_placement: { invalid_self_placement: {
code: 'invalid-self-placement', code: 'invalid-self-placement',
message: '<svelte:self> components can only exist inside {#if} blocks, {#each} blocks, or slots passed to components' message:
}, '<svelte:self> components can only exist inside {#if} blocks, {#each} blocks, or slots passed to components'
invalid_script_instance: { },
code: 'invalid-script', invalid_script_instance: {
message: 'A component can only have one instance-level <script> element' code: 'invalid-script',
}, message: 'A component can only have one instance-level <script> element'
invalid_script_module: { },
code: 'invalid-script', invalid_script_module: {
message: 'A component can only have one <script context="module"> element' code: 'invalid-script',
}, message: 'A component can only have one <script context="module"> element'
invalid_script_context_attribute: { },
code: 'invalid-script', invalid_script_context_attribute: {
message: 'context attribute must be static' code: 'invalid-script',
}, message: 'context attribute must be static'
invalid_script_context_value: { },
code: 'invalid-script', invalid_script_context_value: {
message: 'If the context attribute is supplied, its value must be "module"' code: 'invalid-script',
}, message: 'If the context attribute is supplied, its value must be "module"'
invalid_tag_name: { },
code: 'invalid-tag-name', invalid_tag_name: {
message: 'Expected valid tag name' code: 'invalid-tag-name',
}, message: 'Expected valid tag name'
invalid_tag_name_svelte_element: /** },
* @param {string[]} tags invalid_tag_name_svelte_element: /**
* @param {string} match * @param {string[]} tags
* @returns {{ code: string; message: string; }} * @param {string} match
*/ (tags, match) => ({ * @returns {{ code: string; message: string; }}
code: 'invalid-tag-name', */ (tags, match) => ({
message: `Valid <svelte:...> tag names are ${list(tags)}${match ? ' (did you mean ' + match + '?)' : ''}` code: 'invalid-tag-name',
}), message: `Valid <svelte:...> tag names are ${list(tags)}${
invalid_then_placement_unclosed_block: /** match ? ' (did you mean ' + match + '?)' : ''
* @returns {{ code: string; message: string; }} */ (block) => ({ }`
code: 'invalid-then-placement', }),
message: `Expected to close ${block} before seeing {:then} block` invalid_then_placement_unclosed_block: /**
}), * @returns {{ code: string; message: string; }} */ (block) => ({
invalid_then_placement_without_await: { code: 'invalid-then-placement',
code: 'invalid-then-placement', message: `Expected to close ${block} before seeing {:then} block`
message: 'Cannot have an {:then} block outside an {#await ...} block' }),
}, invalid_then_placement_without_await: {
invalid_void_content: /** code: 'invalid-then-placement',
* @param {string} name message: 'Cannot have an {:then} block outside an {#await ...} block'
* @returns {{ code: string; message: string; }} },
*/ (name) => ({ invalid_void_content: /**
code: 'invalid-void-content', * @param {string} name
message: `<${name}> is a void element and cannot have children, or a closing tag` * @returns {{ code: string; message: string; }}
}), */ (name) => ({
missing_component_definition: { code: 'invalid-void-content',
code: 'missing-component-definition', message: `<${name}> is a void element and cannot have children, or a closing tag`
message: "<svelte:component> must have a 'this' attribute" }),
}, missing_component_definition: {
missing_attribute_value: { code: 'missing-component-definition',
code: 'missing-attribute-value', message: "<svelte:component> must have a 'this' attribute"
message: 'Expected value for the attribute' },
}, missing_attribute_value: {
missing_element_definition: { code: 'missing-attribute-value',
code: 'missing-element-definition', message: 'Expected value for the attribute'
message: "<svelte:element> must have a 'this' attribute" },
}, missing_element_definition: {
unclosed_script: { code: 'missing-element-definition',
code: 'unclosed-script', message: "<svelte:element> must have a 'this' attribute"
message: '<script> must have a closing tag' },
}, unclosed_script: {
unclosed_style: { code: 'unclosed-script',
code: 'unclosed-style', message: '<script> must have a closing tag'
message: '<style> must have a closing tag' },
}, unclosed_style: {
unclosed_comment: { code: 'unclosed-style',
code: 'unclosed-comment', message: '<style> must have a closing tag'
message: 'comment was left open, expected -->' },
}, unclosed_comment: {
unclosed_attribute_value: /** code: 'unclosed-comment',
* @param {string} token message: 'comment was left open, expected -->'
* @returns {{ code: string; message: string; }} },
*/ (token) => ({ unclosed_attribute_value: /**
code: 'unclosed-attribute-value', * @param {string} token
message: `Expected to close the attribute value with ${token}` * @returns {{ code: string; message: string; }}
}), */ (token) => ({
unexpected_block_close: { code: 'unclosed-attribute-value',
code: 'unexpected-block-close', message: `Expected to close the attribute value with ${token}`
message: 'Unexpected block closing tag' }),
}, unexpected_block_close: {
unexpected_eof: { code: 'unexpected-block-close',
code: 'unexpected-eof', message: 'Unexpected block closing tag'
message: 'Unexpected end of input' },
}, unexpected_eof: {
unexpected_eof_token: /** code: 'unexpected-eof',
* @param {string} token message: 'Unexpected end of input'
* @returns {{ code: string; message: string; }} },
*/ (token) => ({ unexpected_eof_token: /**
code: 'unexpected-eof', * @param {string} token
message: `Unexpected ${token}` * @returns {{ code: string; message: string; }}
}), */ (token) => ({
unexpected_token: /** code: 'unexpected-eof',
* @param {string} token message: `Unexpected ${token}`
* @returns {{ code: string; message: string; }} }),
*/ (token) => ({ unexpected_token: /**
code: 'unexpected-token', * @param {string} token
message: `Expected ${token}` * @returns {{ code: string; message: string; }}
}), */ (token) => ({
unexpected_token_destructure: { code: 'unexpected-token',
code: 'unexpected-token', message: `Expected ${token}`
message: 'Expected identifier or destructure pattern' }),
} unexpected_token_destructure: {
code: 'unexpected-token',
message: 'Expected identifier or destructure pattern'
}
}; };

Loading…
Cancel
Save