diff --git a/packages/svelte/scripts/.eslintrc.json b/packages/svelte/scripts/.eslintrc.json new file mode 100644 index 000000000000..da743b35f5cd --- /dev/null +++ b/packages/svelte/scripts/.eslintrc.json @@ -0,0 +1,11 @@ +{ + "rules": { + "id-match": [ + "error", + "^\\$\\$$|^[_$]?[_$]?[a-z][a-z0-9]*(?:_[a-z]+)*(?:_\\d+)?$|^[A-Z][A-Z0-9]*(?:_[A-Z][A-Z0-9]*)*(?:_\\d+)?$|^(?:[A-Z][a-z0-9]*)+(?:_\\d+)?$", + { + "onlyDeclarations": true + } + ] + } +} diff --git a/packages/svelte/scripts/compile-test.js b/packages/svelte/scripts/compile-test.js index 9a83708b3833..d9c15bea3b6f 100644 --- a/packages/svelte/scripts/compile-test.js +++ b/packages/svelte/scripts/compile-test.js @@ -1,10 +1,15 @@ // Compile all Svelte files in a directory to JS and CSS files // Usage: node scripts/compile-test.js -import { mkdirSync, readFileSync, writeFileSync } from 'fs'; -import path from 'path'; -import glob from 'tiny-glob/sync.js'; +import { + mkdirSync as mkdir_sync, + readFileSync as read_file_sync, + writeFileSync as write_file_sync +} from 'fs'; + import { compile } from '../src/compiler/index.js'; +import glob from 'tiny-glob/sync.js'; +import path from 'path'; const cwd = path.resolve(process.argv[2]); @@ -14,7 +19,7 @@ const options = [ ['ssr', { generate: 'ssr' }] ]; for (const file of glob('**/*.svelte', { cwd })) { - const contents = readFileSync(`${cwd}/${file}`, 'utf-8').replace(/\r/g, ''); + const contents = read_file_sync(`${cwd}/${file}`, 'utf-8').replace(/\r/g, ''); let w; for (const [name, opts] of options) { const dir = `${cwd}/_output/${name}`; @@ -28,9 +33,9 @@ for (const file of glob('**/*.svelte', { cwd })) { w = warnings; } - mkdirSync(dir, { recursive: true }); - js.code && writeFileSync(`${dir}/${file.replace(/\.svelte$/, '.js')}`, js.code); - css.code && writeFileSync(`${dir}/${file.replace(/\.svelte$/, '.css')}`, css.code); + mkdir_sync(dir, { recursive: true }); + js.code && write_file_sync(`${dir}/${file.replace(/\.svelte$/, '.js')}`, js.code); + css.code && write_file_sync(`${dir}/${file.replace(/\.svelte$/, '.css')}`, css.code); } if (w) { diff --git a/packages/svelte/scripts/generate-dts.js b/packages/svelte/scripts/generate-dts.js index 0ecf7127dfd2..eba75ee275a9 100644 --- a/packages/svelte/scripts/generate-dts.js +++ b/packages/svelte/scripts/generate-dts.js @@ -1,5 +1,6 @@ import * as fs from 'fs'; -import { createBundle } from 'dts-buddy'; + +import { createBundle as create_bundle } from 'dts-buddy'; // It may look weird, but the imports MUST be ending with index.js to be properly resolved in all TS modes for (const name of ['action', 'animate', 'easing', 'motion', 'store', 'transition']) { @@ -14,7 +15,7 @@ fs.mkdirSync('./types/compiler', { recursive: true }); fs.writeFileSync('./types/compiler/preprocess.d.ts', `import '../index.js';`); fs.writeFileSync('./types/compiler/interfaces.d.ts', `import '../index.js';`); -await createBundle({ +await create_bundle({ output: 'types/index.d.ts', compilerOptions: { strict: true diff --git a/packages/svelte/src/.eslintrc.json b/packages/svelte/src/.eslintrc.json new file mode 100644 index 000000000000..da743b35f5cd --- /dev/null +++ b/packages/svelte/src/.eslintrc.json @@ -0,0 +1,11 @@ +{ + "rules": { + "id-match": [ + "error", + "^\\$\\$$|^[_$]?[_$]?[a-z][a-z0-9]*(?:_[a-z]+)*(?:_\\d+)?$|^[A-Z][A-Z0-9]*(?:_[A-Z][A-Z0-9]*)*(?:_\\d+)?$|^(?:[A-Z][a-z0-9]*)+(?:_\\d+)?$", + { + "onlyDeclarations": true + } + ] + } +} diff --git a/packages/svelte/src/compiler/compile/Component.js b/packages/svelte/src/compiler/compile/Component.js index 7598e6096741..91e69957e060 100644 --- a/packages/svelte/src/compiler/compile/Component.js +++ b/packages/svelte/src/compiler/compile/Component.js @@ -1,6 +1,6 @@ -import { TraceMap, originalPositionFor } from '@jridgewell/trace-mapping'; +import { TraceMap, originalPositionFor as original_position_for } from '@jridgewell/trace-mapping'; import { walk } from 'estree-walker'; -import { getLocator } from 'locate-character'; +import { getLocator as get_locator } from 'locate-character'; import { reserved, is_valid } from '../utils/names.js'; import globals from '../utils/globals.js'; import { namespaces, valid_namespaces } from '../utils/namespaces.js'; @@ -213,7 +213,7 @@ export default class Component { : compile_options.filename); // line numbers in stack trace frames are 1-based. source maps are 0-based - this.locate = getLocator(this.source, { offsetLine: 1 }); + this.locate = get_locator(this.source, { offsetLine: 1 }); /** @type {TraceMap | null | undefined} initialise lazy because only used in dev mode */ let tracer; this.meta_locate = (c) => { @@ -225,7 +225,7 @@ export default class Component { } if (tracer) { // originalPositionFor returns 1-based lines like locator - location = originalPositionFor(tracer, location); + location = original_position_for(tracer, location); } return location; }; @@ -1555,8 +1555,8 @@ export default class Component { }, []) ); if (cycle && cycle.length) { - const declarationList = lookup.get(cycle[0]); - const declaration = declarationList[0]; + const declaration_list = lookup.get(cycle[0]); + const declaration = declaration_list[0]; return this.error(declaration.node, compiler_errors.cyclical_reactive_declaration(cycle)); } diff --git a/packages/svelte/src/compiler/compile/create_module.js b/packages/svelte/src/compiler/compile/create_module.js index 7c9ff3710962..40c95902fe5d 100644 --- a/packages/svelte/src/compiler/compile/create_module.js +++ b/packages/svelte/src/compiler/compile/create_module.js @@ -41,11 +41,11 @@ export default function create_module( /** * @param {any} source - * @param {any} sveltePath + * @param {any} svelte_path */ -function edit_source(source, sveltePath) { +function edit_source(source, svelte_path) { return source === 'svelte' || source.startsWith('svelte/') - ? source.replace('svelte', sveltePath) + ? source.replace('svelte', svelte_path) : source; } @@ -84,7 +84,7 @@ function get_internal_globals(globals, helpers) { * @param {any} program * @param {import('estree').Identifier} name * @param {string} banner - * @param {string} sveltePath + * @param {string} svelte_path * @param {string} internal_path * @param {Array<{ name: string; alias: import('estree').Identifier }>} helpers * @param {Array<{ name: string; alias: import('estree').Identifier }>} globals @@ -96,7 +96,7 @@ function esm( program, name, banner, - sveltePath, + svelte_path, internal_path, helpers, globals, @@ -118,7 +118,7 @@ function esm( /** @param {any} node */ function rewrite_import(node) { - const value = edit_source(node.source.value, sveltePath); + const value = edit_source(node.source.value, svelte_path); if (node.source.value !== value) { node.source.value = value; node.source.raw = null; diff --git a/packages/svelte/src/compiler/compile/nodes/Binding.js b/packages/svelte/src/compiler/compile/nodes/Binding.js index 0c69ada0d794..d43ea987660d 100644 --- a/packages/svelte/src/compiler/compile/nodes/Binding.js +++ b/packages/svelte/src/compiler/compile/nodes/Binding.js @@ -98,7 +98,7 @@ export default class Binding extends Node { this.is_readonly = regex_dimensions.test(this.name) || regex_box_size.test(this.name) || - (isElement(parent) && + (is_element(parent) && ((parent.is_media_node() && read_only_media_attributes.has(this.name)) || (parent.name === 'input' && type === 'file'))) /* TODO others? */; } @@ -127,6 +127,6 @@ export default class Binding extends Node { * @param {import('./shared/Node.js').default} node * @returns {node is import('./Element.js').default} */ -function isElement(node) { +function is_element(node) { return !!(/** @type {any} */ (node).is_media_node); } diff --git a/packages/svelte/src/compiler/compile/nodes/EachBlock.js b/packages/svelte/src/compiler/compile/nodes/EachBlock.js index 3effb263b67d..e54f0af1398c 100644 --- a/packages/svelte/src/compiler/compile/nodes/EachBlock.js +++ b/packages/svelte/src/compiler/compile/nodes/EachBlock.js @@ -84,7 +84,9 @@ export default class EachBlock extends AbstractBlock { this.has_animation = false; [this.const_tags, this.children] = get_const_tags(info.children, component, this, this); if (this.has_animation) { - this.children = this.children.filter((child) => !isEmptyNode(child) && !isCommentNode(child)); + this.children = this.children.filter( + (child) => !is_empty_node(child) && !is_comment_node(child) + ); if (this.children.length !== 1) { const child = this.children.find( (child) => !!(/** @type {import('./Element.js').default} */ (child).animation) @@ -102,11 +104,11 @@ export default class EachBlock extends AbstractBlock { } /** @param {import('./interfaces.js').INode} node */ -function isEmptyNode(node) { +function is_empty_node(node) { return node.type === 'Text' && node.data.trim() === ''; } /** @param {import('./interfaces.js').INode} node */ -function isCommentNode(node) { +function is_comment_node(node) { return node.type === 'Comment'; } diff --git a/packages/svelte/src/compiler/compile/nodes/shared/get_const_tags.js b/packages/svelte/src/compiler/compile/nodes/shared/get_const_tags.js index 8001420664be..b7660893596b 100644 --- a/packages/svelte/src/compiler/compile/nodes/shared/get_const_tags.js +++ b/packages/svelte/src/compiler/compile/nodes/shared/get_const_tags.js @@ -73,8 +73,8 @@ function sort_consts_nodes(consts_nodes, component) { }, []) ); if (cycle && cycle.length) { - const nodeList = lookup.get(cycle[0]); - const node = nodeList[0]; + const node_list = lookup.get(cycle[0]); + const node = node_list[0]; component.error(node.node, compiler_errors.cyclical_const_tags(cycle)); } diff --git a/packages/svelte/src/compiler/compile/render_dom/wrappers/Window.js b/packages/svelte/src/compiler/compile/render_dom/wrappers/Window.js index ff59cb23d3a6..f1100b550af8 100644 --- a/packages/svelte/src/compiler/compile/render_dom/wrappers/Window.js +++ b/packages/svelte/src/compiler/compile/render_dom/wrappers/Window.js @@ -1,8 +1,9 @@ -import Wrapper from './shared/Wrapper.js'; import { b, x } from 'code-red'; -import add_event_handlers from './shared/add_event_handlers.js'; -import add_actions from './shared/add_actions.js'; + import EventHandler from './Element/EventHandler.js'; +import Wrapper from './shared/Wrapper.js'; +import add_actions from './shared/add_actions.js'; +import add_event_handlers from './shared/add_event_handlers.js'; const associated_events = { innerWidth: 'resize', @@ -94,14 +95,14 @@ export default class WindowWrapper extends Wrapper { bindings.scrollX && bindings.scrollY ? x`"${bindings.scrollX}" in this._state || "${bindings.scrollY}" in this._state` : x`"${bindings.scrollX || bindings.scrollY}" in this._state`; - const scrollX = bindings.scrollX && x`this._state.${bindings.scrollX}`; - const scrollY = bindings.scrollY && x`this._state.${bindings.scrollY}`; + const scroll_x = bindings.scrollX && x`this._state.${bindings.scrollX}`; + const scroll_y = bindings.scrollY && x`this._state.${bindings.scrollY}`; renderer.meta_bindings.push(b` if (${condition}) { - @_scrollTo(${scrollX || '@_window.pageXOffset'}, ${scrollY || '@_window.pageYOffset'}); + @_scrollTo(${scroll_x || '@_window.pageXOffset'}, ${scroll_y || '@_window.pageYOffset'}); } - ${scrollX && `${scrollX} = @_window.pageXOffset;`} - ${scrollY && `${scrollY} = @_window.pageYOffset;`} + ${scroll_x && `${scroll_x} = @_window.pageXOffset;`} + ${scroll_y && `${scroll_y} = @_window.pageYOffset;`} `); block.event_listeners.push(x` @listen(@_window, "${event}", () => { @@ -132,17 +133,17 @@ export default class WindowWrapper extends Wrapper { // special case... might need to abstract this out if we add more special cases if (bindings.scrollX || bindings.scrollY) { const condition = renderer.dirty([bindings.scrollX, bindings.scrollY].filter(Boolean)); - const scrollX = bindings.scrollX + const scroll_x = bindings.scrollX ? renderer.reference(bindings.scrollX) : x`@_window.pageXOffset`; - const scrollY = bindings.scrollY + const scroll_y = bindings.scrollY ? renderer.reference(bindings.scrollY) : x`@_window.pageYOffset`; block.chunks.update.push(b` if (${condition} && !${scrolling}) { ${scrolling} = true; @_clearTimeout(${scrolling_timeout}); - @_scrollTo(${scrollX}, ${scrollY}); + @_scrollTo(${scroll_x}, ${scroll_y}); ${scrolling_timeout} = @_setTimeout(${clear_scrolling}, 100); } `); diff --git a/packages/svelte/src/compiler/compile/utils/a11y.js b/packages/svelte/src/compiler/compile/utils/a11y.js index 74a679b543e7..0dbf1cccd6eb 100644 --- a/packages/svelte/src/compiler/compile/utils/a11y.js +++ b/packages/svelte/src/compiler/compile/utils/a11y.js @@ -1,5 +1,5 @@ -import { roles as roles_map, elementRoles } from 'aria-query'; -import { AXObjects, AXObjectRoles, elementAXObjects } from 'axobject-query'; +import { roles as roles_map, elementRoles as element_roles } from 'aria-query'; +import { AXObjects, AXObjectRoles, elementAXObjects as element_ax_objects } from 'axobject-query'; import { regex_whitespaces } from '../../utils/patterns.js'; const aria_roles = roles_map.keys(); @@ -104,7 +104,7 @@ export function has_disabled_attribute(attribute_map) { * @type {import('aria-query').ARIARoleRelationConcept[]} */ const non_interactive_element_role_schemas = []; -elementRoles.entries().forEach(([schema, roles]) => { +element_roles.entries().forEach(([schema, roles]) => { if ([...roles].every((role) => role !== 'generic' && non_interactive_roles.has(role))) { non_interactive_element_role_schemas.push(schema); } @@ -114,7 +114,7 @@ elementRoles.entries().forEach(([schema, roles]) => { * @type {import('aria-query').ARIARoleRelationConcept[]} */ const interactive_element_role_schemas = []; -elementRoles.entries().forEach(([schema, roles]) => { +element_roles.entries().forEach(([schema, roles]) => { if ([...roles].every((role) => interactive_roles.has(role))) { interactive_element_role_schemas.push(schema); } @@ -132,7 +132,7 @@ const non_interactive_ax_objects = new Set( * @type {import('aria-query').ARIARoleRelationConcept[]} */ const interactive_element_ax_object_schemas = []; -elementAXObjects.entries().forEach(([schema, ax_object]) => { +element_ax_objects.entries().forEach(([schema, ax_object]) => { if ([...ax_object].every((role) => interactive_ax_objects.has(role))) { interactive_element_ax_object_schemas.push(schema); } @@ -142,7 +142,7 @@ elementAXObjects.entries().forEach(([schema, ax_object]) => { * @type {import('aria-query').ARIARoleRelationConcept[]} */ const non_interactive_element_ax_object_schemas = []; -elementAXObjects.entries().forEach(([schema, ax_object]) => { +element_ax_objects.entries().forEach(([schema, ax_object]) => { if ([...ax_object].every((role) => non_interactive_ax_objects.has(role))) { non_interactive_element_ax_object_schemas.push(schema); } @@ -241,7 +241,7 @@ export function is_static_element(tag_name, attribute_map) { * @param {Map} attribute_map */ export function is_semantic_role_element(role, tag_name, attribute_map) { - for (const [schema, ax_object] of elementAXObjects.entries()) { + for (const [schema, ax_object] of element_ax_objects.entries()) { if ( schema.name === tag_name && (!schema.attributes || diff --git a/packages/svelte/src/compiler/parse/read/context.js b/packages/svelte/src/compiler/parse/read/context.js index 564c6677301c..de424e0e3e01 100644 --- a/packages/svelte/src/compiler/parse/read/context.js +++ b/packages/svelte/src/compiler/parse/read/context.js @@ -1,4 +1,4 @@ -import { isIdentifierStart } from 'acorn'; +import { isIdentifierStart as is_identifier_start } from 'acorn'; import full_char_code_at from '../../utils/full_char_code_at.js'; import { is_bracket_open, @@ -19,7 +19,7 @@ export default function read_context(parser) { let i = parser.index; const code = full_char_code_at(parser.template, i); - if (isIdentifierStart(code, true)) { + if (is_identifier_start(code, true)) { return { type: 'Identifier', name: parser.read_identifier(), diff --git a/packages/svelte/src/compiler/parse/read/css-tree-cq/css_tree_parse.js b/packages/svelte/src/compiler/parse/read/css-tree-cq/css_tree_parse.js index bacb4cc33433..39106ccba416 100644 --- a/packages/svelte/src/compiler/parse/read/css-tree-cq/css_tree_parse.js +++ b/packages/svelte/src/compiler/parse/read/css-tree-cq/css_tree_parse.js @@ -8,7 +8,7 @@ import * as node from './node/index.js'; * * The new nodes are located in `./node`. */ -const cqSyntax = fork({ +const cq_syntax = fork({ atrule: { // extend or override at-rule dictionary container: { @@ -25,4 +25,4 @@ const cqSyntax = fork({ node }); -export const parse = cqSyntax.parse; +export const parse = cq_syntax.parse; diff --git a/packages/svelte/src/compiler/parse/read/css-tree-cq/node/query_feature_range.js b/packages/svelte/src/compiler/parse/read/css-tree-cq/node/query_feature_range.js index ee8f14abeadd..8553693d6668 100644 --- a/packages/svelte/src/compiler/parse/read/css-tree-cq/node/query_feature_range.js +++ b/packages/svelte/src/compiler/parse/read/css-tree-cq/node/query_feature_range.js @@ -16,7 +16,7 @@ export const structure = { value: ['Identifier', 'Number', 'Comparison', 'Dimension', 'QueryCSSFunction', 'Ratio', null] }; -function lookup_non_WS_type_and_value(offset, type, referenceStr) { +function lookup_non_ws_type_and_value(offset, type, reference_str) { let current_type; do { @@ -26,7 +26,7 @@ function lookup_non_WS_type_and_value(offset, type, referenceStr) { } } while (current_type !== 0); // NULL -> 0 - return current_type === type ? this.lookupValue(offset - 1, referenceStr) : false; + return current_type === type ? this.lookupValue(offset - 1, reference_str) : false; } export function parse() { @@ -40,7 +40,7 @@ export function parse() { while (!this.eof && this.tokenType !== RightParenthesis) { switch (this.tokenType) { case Number: - if (lookup_non_WS_type_and_value.call(this, 1, Delim, '/')) { + if (lookup_non_ws_type_and_value.call(this, 1, Delim, '/')) { child = this.Ratio(); } else { child = this.Number(); diff --git a/packages/svelte/src/compiler/utils/names.js b/packages/svelte/src/compiler/utils/names.js index 5f54c153d086..a727ca45108c 100644 --- a/packages/svelte/src/compiler/utils/names.js +++ b/packages/svelte/src/compiler/utils/names.js @@ -1,4 +1,7 @@ -import { isIdentifierStart, isIdentifierChar } from 'acorn'; +import { + isIdentifierStart as is_identifier_start, + isIdentifierChar as is_identifier_char +} from 'acorn'; import full_char_code_at from './full_char_code_at.js'; import { regex_starts_with_underscore, regex_ends_with_underscore } from './patterns.js'; @@ -62,7 +65,7 @@ export function is_valid(str) { while (i < str.length) { const code = full_char_code_at(str, i); - if (!(i === 0 ? isIdentifierStart : isIdentifierChar)(code, true)) return false; + if (!(i === 0 ? is_identifier_start : is_identifier_char)(code, true)) return false; i += code <= 0xffff ? 1 : 2; } diff --git a/packages/svelte/src/runtime/index.js b/packages/svelte/src/runtime/index.js index 7df6896b3bd8..2bf8cc7d1cd5 100644 --- a/packages/svelte/src/runtime/index.js +++ b/packages/svelte/src/runtime/index.js @@ -1,14 +1,14 @@ export { SvelteComponentDev as SvelteComponent, - onMount, - onDestroy, - beforeUpdate, - afterUpdate, - setContext, - getContext, - getAllContexts, - hasContext, + on_mount as onMount, + on_destroy as onDestroy, + before_update as beforeUpdate, + after_update as afterUpdate, + set_context as setContext, + get_context as getContext, + get_all_contexts as getAllContexts, + has_context as hasContext, tick, - createEventDispatcher, + create_event_dispatcher as createEventDispatcher, SvelteComponentTyped } from './internal/index.js'; diff --git a/packages/svelte/src/runtime/internal/dom.js b/packages/svelte/src/runtime/internal/dom.js index 18a5d5d2787b..2f2bc7b72c70 100644 --- a/packages/svelte/src/runtime/internal/dom.js +++ b/packages/svelte/src/runtime/internal/dom.js @@ -50,14 +50,14 @@ function init_hydrate(target) { let children = /** @type {ArrayLike} */ (target.childNodes); // If target is , there may be children without claim_order if (target.nodeName === 'HEAD') { - const myChildren = []; + const my_children = []; for (let i = 0; i < children.length; i++) { const node = children[i]; if (node.claim_order !== undefined) { - myChildren.push(node); + my_children.push(node); } } - children = myChildren; + children = my_children; } /* * Reorder claimed children optimally. @@ -87,15 +87,15 @@ function init_hydrate(target) { // Find the largest subsequence length such that it ends in a value less than our current value // upper_bound returns first greater value, so we subtract one // with fast path for when we are on the current longest subsequence - const seqLen = + const seq_len = (longest > 0 && children[m[longest]].claim_order <= current ? longest + 1 : upper_bound(1, longest, (idx) => children[m[idx]].claim_order, current)) - 1; - p[i] = m[seqLen] + 1; - const newLen = seqLen + 1; + p[i] = m[seq_len] + 1; + const new_len = seq_len + 1; // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence. - m[newLen] = i; - longest = Math.max(newLen, longest); + m[new_len] = i; + longest = Math.max(new_len, longest); } // The longest increasing subsequence of nodes (initially reversed) @@ -108,28 +108,28 @@ function init_hydrate(target) { /** * @type {NodeEx2[]} */ - const toMove = []; + const to_move = []; let last = children.length - 1; for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) { lis.push(children[cur - 1]); for (; last >= cur; last--) { - toMove.push(children[last]); + to_move.push(children[last]); } last--; } for (; last >= 0; last--) { - toMove.push(children[last]); + to_move.push(children[last]); } lis.reverse(); // We sort the nodes being moved to guarantee that their insertion order matches the claim order - toMove.sort((a, b) => a.claim_order - b.claim_order); + to_move.sort((a, b) => a.claim_order - b.claim_order); // Finally, we move the nodes - for (let i = 0, j = 0; i < toMove.length; i++) { - while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) { + for (let i = 0, j = 0; i < to_move.length; i++) { + while (j < lis.length && to_move[i].claim_order >= lis[j].claim_order) { j++; } const anchor = j < lis.length ? lis[j] : null; - target.insertBefore(toMove[i], anchor); + target.insertBefore(to_move[i], anchor); } } @@ -624,20 +624,20 @@ function init_claim_info(nodes) { * @template {ChildNodeEx} R * @param {ChildNodeArray} nodes * @param {(node: ChildNodeEx) => node is R} predicate - * @param {(node: ChildNodeEx) => ChildNodeEx | undefined} processNode - * @param {() => R} createNode + * @param {(node: ChildNodeEx) => ChildNodeEx | undefined} process_node + * @param {() => R} create_node * @param {boolean} dontUpdateLastIndex * @returns {R} */ -function claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) { +function claim_node(nodes, predicate, process_node, create_node, dontUpdateLastIndex = false) { // Try to find nodes in an order such that we lengthen the longest increasing subsequence init_claim_info(nodes); - const resultNode = (() => { + const result_node = (() => { // We first try to find an element after the previous one for (let i = nodes.claim_info.last_index; i < nodes.length; i++) { const node = nodes[i]; if (predicate(node)) { - const replacement = processNode(node); + const replacement = process_node(node); if (replacement === undefined) { nodes.splice(i, 1); } else { @@ -654,7 +654,7 @@ function claim_node(nodes, predicate, processNode, createNode, dontUpdateLastInd for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) { const node = nodes[i]; if (predicate(node)) { - const replacement = processNode(node); + const replacement = process_node(node); if (replacement === undefined) { nodes.splice(i, 1); } else { @@ -670,11 +670,11 @@ function claim_node(nodes, predicate, processNode, createNode, dontUpdateLastInd } } // If we can't find any matching node, we create a new one - return createNode(); + return create_node(); })(); - resultNode.claim_order = nodes.claim_info.total_claimed; + result_node.claim_order = nodes.claim_info.total_claimed; nodes.claim_info.total_claimed += 1; - return resultNode; + return result_node; } /** @@ -736,13 +736,13 @@ export function claim_text(nodes, data) { (node) => node.nodeType === 3, /** @param {Text} node */ (node) => { - const dataStr = '' + data; - if (node.data.startsWith(dataStr)) { - if (node.data.length !== dataStr.length) { - return node.splitText(dataStr.length); + const data_str = '' + data; + if (node.data.startsWith(data_str)) { + if (node.data.length !== data_str.length) { + return node.splitText(data_str.length); } } else { - node.data = dataStr; + node.data = data_str; } }, () => text(data), @@ -1017,20 +1017,20 @@ export function query_selector_all(selector, parent = document.body) { } /** - * @param {string} nodeId + * @param {string} node_id * @param {HTMLElement} head * @returns {any[]} */ -export function head_selector(nodeId, head) { +export function head_selector(node_id, head) { const result = []; let started = 0; for (const node of head.childNodes) { if (node.nodeType === 8 /* comment node */) { const comment = node.textContent.trim(); - if (comment === `HEAD_${nodeId}_END`) { + if (comment === `HEAD_${node_id}_END`) { started -= 1; result.push(node); - } else if (comment === `HEAD_${nodeId}_START`) { + } else if (comment === `HEAD_${node_id}_START`) { started += 1; result.push(node); } diff --git a/packages/svelte/src/runtime/internal/lifecycle.js b/packages/svelte/src/runtime/internal/lifecycle.js index 7ae9740348d9..e4208f09103b 100644 --- a/packages/svelte/src/runtime/internal/lifecycle.js +++ b/packages/svelte/src/runtime/internal/lifecycle.js @@ -21,7 +21,7 @@ export function get_current_component() { * @param {() => any} fn * @returns {void} */ -export function beforeUpdate(fn) { +export function before_update(fn) { get_current_component().$$.before_update.push(fn); } @@ -39,7 +39,7 @@ export function beforeUpdate(fn) { * @param {() => import('./private.js').NotFunction | Promise> | (() => any)} fn * @returns {void} */ -export function onMount(fn) { +export function on_mount(fn) { get_current_component().$$.on_mount.push(fn); } @@ -52,7 +52,7 @@ export function onMount(fn) { * @param {() => any} fn * @returns {void} */ -export function afterUpdate(fn) { +export function after_update(fn) { get_current_component().$$.after_update.push(fn); } @@ -66,7 +66,7 @@ export function afterUpdate(fn) { * @param {() => any} fn * @returns {void} */ -export function onDestroy(fn) { +export function on_destroy(fn) { get_current_component().$$.on_destroy.push(fn); } @@ -93,7 +93,7 @@ export function onDestroy(fn) { * @template {Record} [EventMap=any] * @returns {import('./public.js').EventDispatcher} */ -export function createEventDispatcher() { +export function create_event_dispatcher() { const component = get_current_component(); return (type, detail, { cancelable = false } = {}) => { const callbacks = component.$$.callbacks[type]; @@ -123,7 +123,7 @@ export function createEventDispatcher() { * @param {T} context * @returns {T} */ -export function setContext(key, context) { +export function set_context(key, context) { get_current_component().$$.context.set(key, context); return context; } @@ -137,7 +137,7 @@ export function setContext(key, context) { * @param {any} key * @returns {T} */ -export function getContext(key) { +export function get_context(key) { return get_current_component().$$.context.get(key); } @@ -150,7 +150,7 @@ export function getContext(key) { * @template {Map} [T=Map] * @returns {T} */ -export function getAllContexts() { +export function get_all_contexts() { return get_current_component().$$.context; } @@ -162,7 +162,7 @@ export function getAllContexts() { * @param {any} key * @returns {boolean} */ -export function hasContext(key) { +export function has_context(key) { return get_current_component().$$.context.has(key); } diff --git a/packages/svelte/src/runtime/internal/scheduler.js b/packages/svelte/src/runtime/internal/scheduler.js index e62f5369d1fd..ee927da24791 100644 --- a/packages/svelte/src/runtime/internal/scheduler.js +++ b/packages/svelte/src/runtime/internal/scheduler.js @@ -1,6 +1,7 @@ -import { run_all } from './utils.js'; import { current_component, set_current_component } from './lifecycle.js'; +import { run_all } from './utils.js'; + export const dirty_components = []; export const intros = { enabled: false }; export const binding_callbacks = []; diff --git a/packages/svelte/src/runtime/internal/ssr.js b/packages/svelte/src/runtime/internal/ssr.js index 85d6f443df44..de4b6fef493b 100644 --- a/packages/svelte/src/runtime/internal/ssr.js +++ b/packages/svelte/src/runtime/internal/ssr.js @@ -1,5 +1,6 @@ -import { set_current_component, current_component } from './lifecycle.js'; -import { run_all, blank_object } from './utils.js'; +import { blank_object, run_all } from './utils.js'; +import { current_component, set_current_component } from './lifecycle.js'; + import { boolean_attributes } from '../../shared/boolean_attributes.js'; import { ensure_array_like } from './each.js'; export { is_void } from '../../shared/utils/names.js'; diff --git a/packages/svelte/src/runtime/internal/style_manager.js b/packages/svelte/src/runtime/internal/style_manager.js index a98984788f19..305e02835a34 100644 --- a/packages/svelte/src/runtime/internal/style_manager.js +++ b/packages/svelte/src/runtime/internal/style_manager.js @@ -90,9 +90,9 @@ export function clear_rules() { raf(() => { if (active) return; managed_styles.forEach((info) => { - const { ownerNode } = info.stylesheet; + const { ownerNode: owner_node } = info.stylesheet; // there is no ownerNode if it runs on jsdom. - if (ownerNode) detach(ownerNode); + if (owner_node) detach(owner_node); }); managed_styles.clear(); }); diff --git a/packages/svelte/src/runtime/ssr.js b/packages/svelte/src/runtime/ssr.js index 80b38ae0f412..6dc04ab3fa5a 100644 --- a/packages/svelte/src/runtime/ssr.js +++ b/packages/svelte/src/runtime/ssr.js @@ -10,11 +10,11 @@ export { SvelteComponentTyped } from './index.js'; -/** @returns {void} */ +// eslint-disable-next-line id-match export function onMount() {} -/** @returns {void} */ +// eslint-disable-next-line id-match export function beforeUpdate() {} -/** @returns {void} */ +// eslint-disable-next-line id-match export function afterUpdate() {} diff --git a/packages/svelte/src/runtime/transition/index.js b/packages/svelte/src/runtime/transition/index.js index 5bdc148ee4da..a01294b1cb30 100644 --- a/packages/svelte/src/runtime/transition/index.js +++ b/packages/svelte/src/runtime/transition/index.js @@ -1,5 +1,5 @@ -import { cubicOut, cubicInOut, linear } from '../easing/index.js'; -import { assign, split_css_unit, is_function } from '../internal/index.js'; +import { assign, is_function, split_css_unit } from '../internal/index.js'; +import { cubicInOut as cubic_in_out, cubicOut as cubic_out, linear } from '../easing/index.js'; /** * Animates a `blur` filter alongside an element's opacity. @@ -11,7 +11,7 @@ import { assign, split_css_unit, is_function } from '../internal/index.js'; */ export function blur( node, - { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 } = {} + { delay = 0, duration = 400, easing = cubic_in_out, amount = 5, opacity = 0 } = {} ) { const style = getComputedStyle(node); const target_opacity = +style.opacity; @@ -54,7 +54,7 @@ export function fade(node, { delay = 0, duration = 400, easing = linear } = {}) */ export function fly( node, - { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 } = {} + { delay = 0, duration = 400, easing = cubic_out, x = 0, y = 0, opacity = 0 } = {} ) { const style = getComputedStyle(node); const target_opacity = +style.opacity; @@ -80,7 +80,7 @@ export function fly( * @param {import('./public').SlideParams} [params] * @returns {import('./public').TransitionConfig} */ -export function slide(node, { delay = 0, duration = 400, easing = cubicOut, axis = 'y' } = {}) { +export function slide(node, { delay = 0, duration = 400, easing = cubic_out, axis = 'y' } = {}) { const style = getComputedStyle(node); const opacity = +style.opacity; const primary_property = axis === 'y' ? 'height' : 'width'; @@ -126,7 +126,7 @@ export function slide(node, { delay = 0, duration = 400, easing = cubicOut, axis */ export function scale( node, - { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 } = {} + { delay = 0, duration = 400, easing = cubic_out, start = 0, opacity = 0 } = {} ) { const style = getComputedStyle(node); const target_opacity = +style.opacity; @@ -152,7 +152,7 @@ export function scale( * @param {import('./public').DrawParams} [params] * @returns {import('./public').TransitionConfig} */ -export function draw(node, { delay = 0, speed, duration, easing = cubicInOut } = {}) { +export function draw(node, { delay = 0, speed, duration, easing = cubic_in_out } = {}) { let len = node.getTotalLength(); const style = getComputedStyle(node); if (style.strokeLinecap !== 'butt') { @@ -202,7 +202,7 @@ export function crossfade({ fallback, ...defaults }) { const { delay = 0, duration = (d) => Math.sqrt(d) * 30, - easing = cubicOut + easing = cubic_out } = assign(assign({}, defaults), params); const from = from_node.getBoundingClientRect(); const to = node.getBoundingClientRect();