0
0
mirror of https://github.com/sveltejs/svelte.git synced 2024-12-01 17:30:59 +01:00
Commit Graph

1859 Commits

Author SHA1 Message Date
Richard Harris
d58996534d start centralising rAF stuff 2018-12-31 17:45:07 -05:00
Richard Harris
65dc6d693b move tweened and spring into separate modules 2018-12-31 17:13:36 -05:00
Richard Harris
dcc1996aef prevent duplicate declaration of store values - fixes #1883 2018-12-31 10:52:22 -05:00
Rich Harris
d6552025e4
fix hoisting of functions that reference imported values - fixes #1933 2018-12-31 10:48:06 -05:00
Rich Harris
c0a8e630e3
Fix media bindings, simplify others 2018-12-31 09:43:20 -05:00
Rich Harris
f8517edba9
Merge pull request #1932 from sveltejs/gh-1931
rewrite props after instrumentation
2018-12-29 14:20:03 -05:00
Rich Harris
e7642db13d
Merge pull request #1930 from sveltejs/gh-1894
whitelist process, and fallback to globals
2018-12-29 14:19:52 -05:00
Richard Harris
454ff8d84e rewrite props after instrumentation - fixes #1931 2018-12-29 13:57:39 -05:00
Richard Harris
c2d4ce3395 add process to globals whitelist 2018-12-29 13:18:19 -05:00
Richard Harris
18c2ae715f prevent false positive detection of events that can be made passive - fixes #1914 2018-12-29 10:25:01 -05:00
Rich Harris
cfb6f52f2b
Merge pull request #1925 from sveltejs/gh-1924
Prevent modification of internal state
2018-12-29 00:16:10 -05:00
Rich Harris
11e8270963
Merge pull request #1923 from sveltejs/gh-1919
make event handler names unique across components
2018-12-29 00:13:33 -05:00
Richard Harris
f482927a59 simplify option normalization 2018-12-28 22:23:51 -05:00
Richard Harris
88c674079b always use stats.warn instead of options.onwarn - fixes #1918 2018-12-28 22:19:25 -05:00
Richard Harris
436fffb6bb cut out the middleman 2018-12-28 21:48:34 -05:00
Richard Harris
ef944b5713 prevent parent component modifying child component state - fixes #1924 2018-12-28 21:45:03 -05:00
Richard Harris
fc0b49eca2 make event handler names unique across components - fixes #1919 2018-12-28 21:04:40 -05:00
Rich Harris
35f57c0212
Merge pull request #1910 from sveltejs/gh-1908
don't lump in `bind:this` with everything else
2018-12-23 16:55:40 -05:00
Rich Harris
f16e4d3bdd dont lump in bind:this with everything else - fixes #1908 2018-12-23 16:33:03 -05:00
Rich Harris
0b1d735e96 use correct context for resize handler - fixes #1898 2018-12-23 15:54:38 -05:00
Rich Harris
7440fa54e9 remove missing prop warning false positives - fixes #1902 2018-12-23 14:29:18 -05:00
Rich Harris
6def7ca69b
Merge pull request #1905 from sveltejs/hash-in-dynamic-attribute
only apply aliasing logic once
2018-12-23 10:49:41 -05:00
Rich Harris
392fec9238 only apply aliasing logic once 2018-12-23 10:38:25 -05:00
Rich Harris
df64c5da23 fix transitions in dev mode 2018-12-22 22:59:44 -05:00
Rich Harris
1f46e23e1b
More conservative invalidation 2018-12-22 18:49:04 -05:00
Rich Harris
29052aba7d
Bring svelte.technology source into main repo 2018-12-22 16:09:27 -05:00
Conduitry
df57e508f8 use extension-less import for svelte/internal 2018-12-22 00:50:14 -05:00
Rich Harris
f991a41d83
store auto-subscriptions 2018-12-16 14:03:20 -05:00
Rich Harris
48f1f6b4d0
implement bind:this 2018-12-16 09:26:53 -05:00
Rich Harris
f45e2b70fd
Implement reactive assignments (#1839)
This also includes elements of RFCs 2 and 3
2018-12-15 19:18:03 -05:00
Rich Harris
85b731c1bc
Merge pull request #1810 from sveltejs/gh-1809
in svelte.preprocess, replace all instances of style and script tags
2018-12-15 18:21:07 -05:00
Rich Harris
79ea0bd43c
Merge pull request #1822 from aphitiel/gh-1743
move resize handler from _beforecreate to _after.. (fixes #1743)
2018-12-15 18:14:06 -05:00
Rich Harris
585abd96a5
Merge pull request #1843 from openpixel/cli-custom-element
Update cli spec to include --customElement option
2018-12-15 18:13:27 -05:00
Rich Harris
6130241212 rely in setAttribute behaviour inside setCustomElementData 2018-12-15 18:11:30 -05:00
Rich Harris
95484b71c1 Merge branch 'patch-1' of https://github.com/domin1101/svelte into domin1101-patch-1 2018-12-15 18:09:08 -05:00
Rich Harris
d55e85dcdf remove redundant if statement 2018-12-15 18:07:46 -05:00
Rich Harris
327a58128a Merge branch 'await-then-catch-order' of https://github.com/RedHatter/svelte into RedHatter-await-then-catch-order 2018-12-15 17:52:12 -05:00
Rich Harris
e5ae97b9c9 use helper for combining window binding props 2018-12-15 17:45:17 -05:00
Noah
d236a4ad0b fix: #1859 (multiple window bindings not supported) 2018-12-08 21:04:36 -06:00
Jonathan Greenemeier
9c3815f568 Small update to allow class directives to work in IE11 where second argument of classList.toggle is not respected 2018-12-02 01:51:52 -07:00
Timothy Johnson
05fa286d7b fixes #1440 2018-11-20 12:54:55 -08:00
Dominik Winkelbauer
a4bc7c5a26
Fixes setting custom element data to zero 2018-11-14 11:21:12 +01:00
Cameron Stitt
bf319915d4 Update cli spec to include --customElement option 2018-11-08 18:58:57 +10:00
Rich Harris
e4c0d8d576 dont mutate AST 2018-11-04 19:12:26 -05:00
Rich Harris
998d86a4e3 expose stats.props 2018-11-04 16:32:41 -05:00
pk
4d49839cce Merge branch 'test-gh-1743' into gh-1743 2018-11-04 20:26:55 +01:00
Pat Cavit
cb4a46d33f fix: add check for template store to conditional (#1829)
* fix: add check for template store to conditional

* fix: move store check to generation

Per @Conduitry's request

* test: add test to ensure declative store works

* test: rename to better match functionality
2018-10-30 13:32:12 -04:00
pk
d27dbae51c move resize handler from _beforecreate to _after.. (fixes #1743) 2018-10-29 12:50:48 +01:00
Conduitry
65b9a5c861 make svelte.preprocess run on all matching tags 2018-10-28 21:38:01 -04:00
Conduitry
e8be01693c add replaceAsync util function 2018-10-28 21:22:00 -04:00
Rich Harris
54fe128cf8
Merge pull request #1819 from sveltejs/gh-1088
Implement event modifiers
2018-10-28 14:21:12 -04:00
Rich Harris
f1d704493b remove unused code 2018-10-28 14:12:29 -04:00
Rich Harris
10011a5142 hoist these 2018-10-28 14:09:21 -04:00
Rich Harris
da3a45c526 remove unused code 2018-10-28 14:09:13 -04:00
Rich Harris
b3b95d4ee6 disallow passive|preventDefault combo 2018-10-28 13:58:43 -04:00
Rich Harris
82b1b75afe implement event modifiers 2018-10-28 13:46:17 -04:00
Rich Harris
8ec02b336d disallow once/passive in legacy mode, for now 2018-10-28 13:24:09 -04:00
Rich Harris
aa203973e0 add some more modifier validation tests 2018-10-28 12:33:21 -04:00
Rich Harris
769e03296f merge master -> gh-1088 2018-10-28 11:29:08 -04:00
Rich Harris
e7c62e9182 only add list/index to each block context if necessary 2018-10-28 11:11:06 -04:00
Rich Harris
11469efcf6 Merge branch 'master' of github.com:sveltejs/svelte 2018-10-28 09:33:41 -04:00
Rich Harris
c45c7a9a81 remove some unused code 2018-10-28 09:26:52 -04:00
Rich Harris
fa2f5896b2
Merge pull request #1813 from sveltejs/gh-1484-alt
add a <svelte:document> tag
2018-10-28 09:06:45 -04:00
Rich Harris
21259a0710
Merge pull request #1815 from sveltejs/gh-1434
Don't render undefined/null attributes
2018-10-28 08:39:58 -04:00
Rich Harris
d6f25a6a21 redo 9e9a078d on top of current master 2018-10-28 08:32:20 -04:00
Rich Harris
4afa133214 reinstate tests 2018-10-27 22:57:09 -04:00
Rich Harris
b21f1d8859 fixes 2018-10-27 19:42:40 -04:00
Rich Harris
a704cb77de import helper 2018-10-27 19:11:56 -04:00
Rich Harris
3c99785c07 Merge branch 'master' into gh-1434 2018-10-27 18:07:42 -04:00
Rich Harris
b5945e13ea dont render undefined/null attributes in SSR 2018-10-27 18:00:29 -04:00
Rich Harris
8642ef17a4 merge master -> set-undefined-attr 2018-10-27 17:40:16 -04:00
Rich Harris
db37e3a84b add a <svelte:document> tag - #1484 2018-10-27 17:33:20 -04:00
Rich Harris
837d248257 render server bindings 2018-10-27 16:37:50 -04:00
Rich Harris
8929aebbec better error for missing store - fixes #1807 2018-10-27 14:32:26 -04:00
Rich Harris
d49f5f2136
Merge pull request #1797 from sveltejs/gh-1793
recognise dependencies in class directives
2018-10-24 11:50:32 -04:00
Rich Harris
e65b0bb2e3
Merge pull request #1798 from sveltejs/gh-1795
detach each block iterations with no update method
2018-10-24 11:50:20 -04:00
Rich Harris
ece6aeb892 detach each block iterations with no update method - fixes #1795 2018-10-24 09:38:19 -04:00
Rich Harris
073c8762ef extend dependency tracking to all directives 2018-10-24 08:30:50 -04:00
Rich Harris
3258779fa7 recognise dependencies in class directives - fixes #1793 2018-10-24 08:12:01 -04:00
Yury Zhuravlev
079bd4e58a fix #1780 just start use parent instead parent.parent in IfBlock wrapper 2018-10-22 21:40:25 -04:00
Rich Harris
ae2bf97c90 repair linked list 2018-10-20 09:03:50 -04:00
Rich Harris
e5f5995458 Merge branch 'fix-lost-anchor-if-if-block-first' of https://github.com/stalkerg/svelte into stalkerg-fix-lost-anchor-if-if-block-first 2018-10-20 08:56:33 -04:00
Rich Harris
9e899db21c
Merge pull request #1776 from sveltejs/gh-1772
include solidus in attribute values
2018-10-20 08:52:54 -04:00
Rich Harris
635348a919
Merge pull request #1775 from sveltejs/gh-1774
fix blocks inside <svelte:head>
2018-10-20 08:52:41 -04:00
Yury Zhuravlev
21ea87cd61 small fix for if-else code style 2018-10-19 13:07:34 +09:00
Yury Zhuravlev
0d797ea8ae Fix removing next link during strip whitespaces for first element. 2018-10-19 12:41:25 +09:00
Conduitry
b8ed27105d adjust parsing of directives to preserve line/column info 2018-10-18 23:23:29 -04:00
Rich Harris
9e07e3f77f include solidus in attribute values - fixes #1772 2018-10-17 17:33:32 -04:00
Rich Harris
337b62be6f fix blocks inside <svelte:head> - closes #1774 2018-10-17 16:51:17 -04:00
Rich Harris
f1204bfad9
Merge pull request #1759 from sveltejs/gh-1745
deprecate onerror
2018-10-17 11:31:09 -04:00
Rich Harris
540cd05d42
Merge pull request #1760 from ekhaled/gh-1653-followup
followup fix to #1653
2018-10-17 11:26:30 -04:00
Rich Harris
cbfcde3cde
Merge pull request #1770 from arggh/fix-scroll-binding
Add missing check for update lock
2018-10-17 11:24:53 -04:00
Rich Harris
4f88e43c37 handle elseif blocks with no else 2018-10-17 10:51:27 -04:00
arggh
4065f7741b Add missing check for update lock
Fixes #1579
2018-10-15 23:18:09 +03:00
ekhaled
3c4439c04e followup fix to #1653 2018-09-26 13:54:24 +01:00
Rich Harris
bf50b47bb5 deprecate onerror - fixes #1745 2018-09-25 22:54:57 -04:00
Rich Harris
e0fe31327a move render logic into separate phase (#1678) 2018-09-23 23:09:26 -04:00
Jacob Wright
51a3972ad5 Fixes shorthand class directives which do not have classes
Fixes #1739
2018-09-19 15:23:01 -06:00
Rich Harris
945134bc81 warn on unused helpers - fixes #1704 2018-09-15 17:47:16 -04:00
Rich Harris
9031c16905
[WIP] Refactor, change where validation occurs (#1721)
Refactor, change where validation occurs
2018-09-15 17:37:20 -04:00
Rich Harris
b7e07c5389 Merge branch 'fix_bind_with_event_in_each' of https://github.com/stalkerg/svelte into stalkerg-fix_bind_with_event_in_each 2018-09-15 12:43:02 -04:00
Yury Zhuravlev
cedb296680 Small cleanup event handler in bindings to avoid TS errors. 2018-09-13 13:46:45 +09:00
Yury Zhuravlev
d7bd924bbd Fix binding input with event in each and add test case. 2018-09-13 13:33:51 +09:00
Rich Harris
509403f351
Merge pull request #1715 from sveltejs/dynamic-import
support dynamic import in expressions
2018-09-06 14:15:59 -04:00
Rich Harris
f54c1ec7b8 support dynamic import in expressions 2018-09-06 13:38:35 -04:00
Jacob Wright
67d4d60c3a Fixes keyed each blocks for outro
Fixes #1706
2018-09-05 21:04:07 -04:00
Rich Harris
b4a3a60953
Merge pull request #1693 from sveltejs/gh-1617
Fix for each-blocks preventing outros from completing
2018-08-28 15:12:22 -04:00
Rich Harris
c7d372c8d5
Merge pull request #1695 from sveltejs/class-shortcut
Adds class directive shortcut and encapsulate styles
2018-08-28 15:10:22 -04:00
Jacob Wright
fb734a349e Use existing property quoting function 2018-08-28 09:47:17 -06:00
Josh Duff
211e0383cf Only update inputs when the value changed
Fixes #1699
2018-08-28 10:33:49 -05:00
Jacob Wright
22f4b3d4cb Remove camel-casing, but account for dashed parameters still. 2018-08-27 11:35:27 -06:00
Jacob Wright
c1fc9c1ac9 Encapsulate class directives in the stylesheet. 2018-08-25 14:50:14 -06:00
Jacob Wright
4ec85bb8cc Adds class directive shortcut
When no expression is used in a class directive the class name will be used to evaluate whether the class should be added/removed.

E.g. the following will add the class "active" when you call `component.set({ active });`.

```html
<div class:active></div>
```
2018-08-25 14:26:27 -06:00
Jacob Wright
4c2b9603a1 Fix for each-blocks preventing outros from completing
Unkeyed each blocks end up with trailing `null` values that prevent the whole from being outroed. This fixes it so the null values are removed before outroing the remaining blocks.

Fixes #1617
2018-08-25 13:39:48 -06:00
Rich Harris
a18cec0ec6 not sure where that extra blank line came from 2018-08-25 07:08:08 -04:00
Rich Harris
c2f0ca3e2e alternative approach to #1520 2018-08-25 06:58:31 -04:00
Rich Harris
33ed2f504e Merge branch 'master' into gh-1520 2018-08-25 06:40:44 -04:00
Rich Harris
4d4c2c3655 coerce toggle argument 2018-08-25 06:27:38 -04:00
Rich Harris
f12141e18a
Update dom.js 2018-08-24 21:32:35 -04:00
Rich Harris
c4526c3302
Merge branch 'master' into gh-890 2018-08-24 21:29:08 -04:00
Rich Harris
ff6c4c7767
Merge pull request #1681 from sveltejs/gh-1666
correctly set select value on mount
2018-08-24 19:47:09 -04:00
Rich Harris
ed9a9a9530
Merge pull request #1682 from sveltejs/gh-1659
support debug tag in SSR mode
2018-08-24 19:41:44 -04:00
Rich Harris
09865ebbed
Merge pull request #1683 from sveltejs/gh-1658
don't warn on empty block for nbsp
2018-08-24 19:41:28 -04:00
Rich Harris
fe8e31a592
Merge pull request #1684 from kaisermann/spread-attr-style
Set style attribute correctly when spread attr present
2018-08-24 19:41:12 -04:00
Jacob Wright
96c4455af9 Fixes an error with outros and elseifs
This is a fix for when an elseif doesn't have a final else, and the following error was thrown:

```
TypeError: Cannot read property 'o' of undefined
```

See https://svelte.technology/repl?version=2.12.0&gist=c33d308077447f8ba06b79d8ef5ab1e4
2018-08-24 14:01:51 -06:00
Jacob Wright
5ef44ae6c9 Adds the class directive
Allows `<div class:active="user.active">` to simplify templates littered with ternary statements.

Addresses #890
2018-08-24 10:09:46 -06:00
Christian Kaisermann
54dc1e5849 Set style attribute correctly when spread attr present 2018-08-24 12:16:09 -03:00
Rich Harris
c52a6f011b dont warn on empty block for nbsp - fixes #1658 2018-08-24 08:22:41 -04:00
Rich Harris
154ee73765 support debug tag in SSR mode - fixes #1659 2018-08-23 22:53:17 -04:00
Rich Harris
ec6360487e correctly set select value on mount - fixes #1666 2018-08-23 22:02:16 -04:00
Rich Harris
af1902d510 run transitions in context of component - fixes #1675 2018-08-23 20:58:49 -04:00
Jacob Wright
ba5ede599a Allows actions to use any expression type
Allow any expression to pass data to an action. Added a test for a ternary statement and a string template.
Fixes #1676
2018-08-23 17:23:55 -06:00
Jacob Wright
2c24c36120 Allows fragment updates to happen after state updates
Proposed fix for #1520. Provides a starting point for discussion.
2018-08-23 11:56:11 -06:00
Rich Harris
620077227f allow non-existent dynamic components to be destroyed (#1660) 2018-08-22 23:01:57 -04:00
Rich Harris
3778431775
Merge pull request #1670 from sveltejs/init
Share more init work
2018-08-22 22:23:51 -04:00
Rich Harris
7242905e9b
Merge pull request #1653 from sveltejs/actions-onmount
Change actions to init on mount rather than hydrate
2018-08-22 22:14:12 -04:00
Rich Harris
5244839f3d
Merge pull request #1672 from blittle/master
Properly propagate amdId to the compiler
2018-08-22 22:12:12 -04:00
Rich Harris
a74abddcd2
Merge pull request #1673 from UnwrittenFun/fix/missing-ObjectPattern-props
Add some properties to ObjectPattern Property nodes
2018-08-22 22:09:33 -04:00
James Birtles
bbe5319f3b add end position to object and array patterns 2018-08-22 17:50:19 +01:00
James Birtles
1d9ab99a9f better shorthand detection 2018-08-21 21:17:51 +01:00
James Birtles
404587d991 add some missing ObjectPattern properties 2018-08-21 21:08:46 +01:00
Bret Little
3510dd9fe3 Properly propagate amdId to the compiler 2018-08-21 09:41:21 -06:00
Rich Harris
f47d65bd26 move stuff into init/flush functions 2018-08-21 07:29:58 -04:00
Christian Kaisermann
89c1fa675b Also check for null-valued attributes 2018-08-20 23:02:58 -03:00
Christian Kaisermann
790f2b5313 Remove an undefined attribute instead of setting it to "undefined" (string) 2018-08-20 22:43:48 -03:00
Rich Harris
4ce2e1ddc5
Merge pull request #1652 from sveltejs/gh-1544-computed-whole-state
exclude current prop in computed properties using entire state #1544
2018-08-14 20:19:36 -04:00
Rich Harris
3e119272cf
Merge pull request #1649 from aphitiel/cli-shared
cli: Add option --shared
2018-08-14 20:18:11 -04:00
Rich Harris
b62872d39c
Merge pull request #1530 from sveltejs/gh-1522
onstate before render
2018-08-14 20:17:33 -04:00
Jacob Wright
b6e51ddc32 Change actions to init on mount rather than hydrate
Looking at the discussion on https://github.com/sveltejs/svelte/pull/1247 it sounds like this was the intended way actions would be set up to work (which is why we didn't add a `mount` lifecycle method). I *believe* this is a fix in the original implementation.

Complaints in chat about this surfaced the issue. Some libraries expect the element to be in the DOM when initializing and these libraries cannot be used without any lifecycle hook. @PaulMaly is requesting this be looked at, and I agree with his assesment.

What's more, this change *should* be backwards compatable. Actions which work before this change should continue working after this change.
2018-08-14 16:25:15 -06:00
Conduitry
345cf64446 exclude current prop in computed properties using entire state #1544 2018-08-13 16:13:58 -04:00