Rich Harris
410f44dced
Merge branch 'master' into gh-1197
7 years ago
Rich Harris
33afb7e49a
add some onstate/onupdate tests
7 years ago
Rich Harris
35f4a1f063
add codes to errors
7 years ago
Rich Harris
b86a1edb52
add codes to validation errors
7 years ago
Rich Harris
f0b2cb99f2
add codes to warnings ( #474 )
7 years ago
Rich Harris
813e077ccc
Merge pull request #1330 from sveltejs/gh-1318
...
implement syntax changes
7 years ago
Rich Harris
0edbac615c
add validator tests
7 years ago
Rich Harris
032083bb34
fix #1331
7 years ago
Rich Harris
0ebe5355e1
Merge pull request #1299 from sveltejs/gh-1257
...
Stats
7 years ago
Rich-Harris
dfc8462d98
fail validation if bound <select> has dynamic multiple attribute - fixes #1270
7 years ago
Rich-Harris
c0287f2080
include warnings in stats object
7 years ago
Josh Duff
864fd313bb
Accept backtick string literals in tag/props properties
7 years ago
Jacob Wright
04f5d5c975
Adds actions to components
...
Actions add additional functionality to elements within your component's template that may be difficult to add with other mechanisms. Examples of functionality which actions makes trivial to attach are:
* tooltips
* image lazy loaders
* drag and drop functionality
Actions can be added to an element with the `use` directive.
```html
<img use:lazyload data-src="giant-photo.jpg>
```
Data may be passed to the action as an object literal (e.g. `use:b="{ setting: true }"`, a literal value (e.g. `use:b="'a string'"`), or a value or function from your component's state (e.g. `add:b="foo"` or `add:b="foo()"`).
Actions are defined in a "actions" property on your component definition.
```html
<script>
export default {
actions: {
b(node, data) {
// do something
return {
update(data) {},
destroy() {}
}
}
}
}
</script>
```
A action is a function which receives a reference to an element and optionally the data if it is added in the HTML. This function can then attach listeners or alter the element as needed. The action can optionally return an object with the methods `update(data)` and `destroy()`.
When data is added in the HTML and comes from state, the action's `update(data)` will be called if defined whenever the state is changed.
When the element is removed from the DOM `destroy()` will be called if provided, allowing for cleanup of event listeners, etc.
See https://github.com/sveltejs/svelte/issues/469 for discussion around this feature and more examples of how it could be used.
7 years ago
James Birtles
89024177fc
Fix named-export end position
7 years ago
James Birtles
da6a74016f
add end position to errors
7 years ago
James Birtles
d07721cd50
add end position to warnings
7 years ago
Rich Harris
fdd9adab4d
add test for #1179
7 years ago
Rich Harris
f77314f647
increase test coverage
7 years ago
Rich Harris
bc6ee3ef9f
increase test coverage, handle immediately-closed blocks
7 years ago
Rich Harris
198f132b28
doh
7 years ago
Rich Harris
ff67b137c4
empty blocks are a dev warning, not an error
7 years ago
Rich Harris
d0be845190
Merge pull request #1106 from sveltejs/gh-1083
...
Enforce valid names for computed properties
7 years ago
Conduitry
49135161bc
do not run a11y validation on child component elements ( #1110 )
7 years ago
Rich Harris
b19303679d
simplify test slightly, add test for reserved words
7 years ago
Rich Harris
146327e87f
fix expected error position, tweak expected message to include suggested alternative
7 years ago
Rich Harris
cfdc8902ab
run prettier (spaces -> tabs)
7 years ago
asweingarten
02afdb03fa
[1083] Svelte should throw a compile time error when illegal characters are used in computed names
...
Approach:
For each property name, construct a string that defines a function and see if parsing that string with Acorn throws an exception.
If it does, assemble an informative error message that states which property is invalid, the first invalid character, and the location of that character within the name.
Changes to codebase:
- Added new validator test
"properties-computed-must-be-valid-function-names"
- Added new check into src/validate/js/propValidators/computed.ts,
"checkForValidIdentifiers"
- this check was added to
src/validate/js/utils/checkForValidIdentifiers.ts like the other
checks in "computed.ts"
7 years ago
Rich Harris
5fea63a5de
validate contents of await blocks ( #1061 )
7 years ago
Emil Ajdyna
5659d10d7c
Allow xlink:href attribute
7 years ago
Rich Harris
b7d8c49dc8
Merge branch 'master' into gh-1027
7 years ago
Rich Harris
646b0c0e01
optimise <title> - fixes #1027
7 years ago
Rich Harris
ab94066932
warn on unused events/transitions - fixes #1051
7 years ago
Rich Harris
146f645502
detect unused/misplaced components - closes #1039
7 years ago
Rich Harris
4b87d20b93
tweak error wording slightly
7 years ago
Emil Ajdyna
d561c93841
Check against this usage in computed functions
7 years ago
Rich Harris
0be3211c4f
fix figcaption a11y warning - fixes #996
7 years ago
Rich Harris
a87d30e0e6
allow event handlers to call store methods
7 years ago
Rich Harris
c9aa72313e
throw error on illegal context ( #934 )
7 years ago
Rich Harris
0a01aa0243
Increase code coverage
7 years ago
Rich Harris
60b883b066
enable <:Window bind:online/> - fixes #936 ( #937 )
7 years ago
Rich Harris
bcae68de06
treat quoted property names the same way as identifiers - fixes #914
7 years ago
Conduitry
cc8614c51c
allow options.* as event handler callee
7 years ago
Rich Harris
64026c3ba9
Merge pull request #854 from sveltejs/gh-782
...
allow console.* calls in event handlers
7 years ago
Rich Harris
d5ad4c007b
update validation message
7 years ago
Rich Harris
9b505de3a0
compile time error on slotted content inside if/each blocks. closes #849
7 years ago
Conduitry
40ae4a42c1
fix a11y-html-has-lang unit test
7 years ago
Rich Harris
c872234a4b
Update input.html
7 years ago
jpsc
8639359aa7
feat(a11y): add warning missing lang on html tag
7 years ago
Rich Harris
7c6ea13689
reenable all tests, fix some failures
7 years ago
Rich Harris
85e9ed9a81
tabindex-no-positive
7 years ago
Rich Harris
915c1835a4
scope
7 years ago
Rich Harris
b3409ad405
no-distracting-elements
7 years ago
Rich Harris
81c5a1fb3b
no-autofocus
7 years ago
Rich Harris
d5b8d2fd48
no-access-key
7 years ago
Rich Harris
2364f6a04d
heading-has-content
7 years ago
Rich Harris
c62a74e8ae
aria-role
7 years ago
Rich Harris
125191a843
aria-props
7 years ago
Rich Harris
073cbc0460
update some tests
7 years ago
Rich Harris
6133976fec
anchor-is-valid
7 years ago
Rich Harris
bacbaef868
anchor-has-content
7 years ago
Rich Harris
51c2e0581b
a11y checks ( #374 )
7 years ago
Rich Harris
502f6b6d14
Merge pull request #793 from sveltejs/gh-791
...
error if component has transition
7 years ago
Rich Harris
cb92f3028e
error if component has transition ( fixes #791 )
7 years ago
Rich Harris
5b3e8cd88f
support nested <slot> elements
7 years ago
Rich Harris
a023346c91
validation
7 years ago
Rich Harris
c1f34e3e2a
validate ref callees ( #686 )
7 years ago
Rich Harris
03a9ce353a
fix tests
7 years ago
Rich Harris
65e27c98a0
reduce duplication by moving validation into stylesheet
7 years ago
Rich Harris
2c9fb31a9e
simplify tests
7 years ago
Rich Harris
5499327a70
refactoring, and more :global(...) fixes
7 years ago
Rich Harris
61f5cbef54
Merge pull request #630 from sveltejs/gh-620
...
only enforce static type if input is bound
8 years ago
Rich Harris
ff40308358
only enforce static type if input is bound ( fixes #620 )
8 years ago
Rich Harris
d45699db6f
warn on missing component ( #623 )
8 years ago
Rich Harris
10ecd81734
prettierfy test files
8 years ago
Rich Harris
1db0d465b0
Merge pull request #600 from sveltejs/gh-575
...
always use helpers if referenced, not just for CallExpressions, and warn on context clashes
8 years ago
Rich Harris
75ea52754d
always use helpers if referenced, not just for CallExpressions, and warn on context clashes ( #575 )
8 years ago
Rich Harris
b2ea03dde0
prevent textarea from having both value and children
8 years ago
Conduitry
4c740513f8
downgrade invalid callee error for event handlers to a warning ( #579 )
8 years ago
Rich-Harris
642b414c9c
validate transition directives - closes #564
8 years ago
Rich-Harris
37749bd3e4
validate <:Window>
8 years ago
Rich-Harris
5e042c4c8e
add test
8 years ago
Rich-Harris
754688cf48
include destroy as valid built-in method for event handlers ( fixes #523 )
8 years ago
Rich-Harris
e345287a76
rename root to state, and allow state to be used as context
8 years ago
Rich-Harris
b914a2294a
validate bindings
8 years ago
Rich Harris
cc722f8f7a
handle this.get special case in helpers
8 years ago
Rich Harris
fa65f7af60
enforce helper function purity
8 years ago
Rich Harris
c7ac8b82ba
check that event handler callee corresponds to a valid method
8 years ago
Rich Harris
3595470305
validate namespaces
8 years ago
Conduitry
86035c3f99
unit test
8 years ago
Rich Harris
99d6502bfd
better error for attempts to use getters/setters for methods. closes #425
8 years ago
Conduitry
f6934a1d20
disallow `import root` during validation
8 years ago
Conduitry
6d1623cf0e
new aliaser mechanism replacing existing mechanism and counters; a bunch more deconflicting
8 years ago
Rich-Harris
60ed068a59
move tests around to facilitate registering babel based on environment
8 years ago
Rich Harris
543ee2f870
update tests
8 years ago
Rich Harris
11e613e7d0
handle default paramters in computed values ( fixes #274 )
8 years ago
Arpad Borsos
91551b9d43
make html validators work inside else blocks
8 years ago
Rich-Harris
a35c516350
bump coverage – duplicate default export is handled by acorn
8 years ago
Rich-Harris
4a610f7073
throw if default export is not an object literal
8 years ago
Rich-Harris
017b67aa38
ensure onrender and onteardown are not arrow function expressions
8 years ago
Rich-Harris
a6c648b086
error if method is an arrow function expression and uses `this` or `arguments` ( #179 )
8 years ago
Rich-Harris
fbe130835d
add support for declared namespaces – fixes #147
8 years ago
Rich Harris
0e64f26712
gather names during validation, for later deoncflicting ( #88 )
8 years ago
Nico Rehwaldt
65cdead991
Verify computed property dependencies
...
Improves the validator to fail if someone forgets to declare
dependent properties for computed state:
```
export default {
computed: {
bar: () => { return new Date().getTime(); }
}
};
```
8 years ago
Rich-Harris
c199407db2
more validation
8 years ago
Rich-Harris
0698525f1b
basic validation
8 years ago