4643 Commits

Author SHA1 Message Date
Dylan Piercey
4dcec78b69
Update changelog 2018-11-21 13:15:43 -08:00
De Oliveira Tristan
1bfe909c36 added scoped link feature (#1172)
* added scoped link feature
* added scoped link to documentation
2018-11-21 13:10:45 -08:00
Dylan Piercey
e651e689b8
Re-add spread attribute optimization and bail out when repeated @tags present. Prevent dynamic tag from cloning non object attributes. (#1171) 2018-11-21 12:42:52 -08:00
Dylan Piercey
df26873203
4.13.10 v4.13.10 2018-11-15 11:07:20 -08:00
Dylan Piercey
f67fbd22ec
Update changelog 2018-11-15 11:07:08 -08:00
Dylan Piercey
3acffd876d Preserve a private context object when set on out.global. (#1168) 2018-11-15 11:01:33 -08:00
Dylan Piercey
b17ed0d150
4.13.9 v4.13.9 2018-11-12 14:16:36 -08:00
aganeshalingam
e621b83c83 Add support for file name to contain [some word] (#1166)
* Add support for file name to contain [some word]
2018-11-12 13:55:59 -08:00
Manoel
76f8b39f0c Add extension to .eslintrc (#1152) 2018-10-10 03:30:29 +09:00
Michael Rawlings
ac7aa93f32
4.13.8 v4.13.8 2018-10-09 10:23:29 -07:00
Michael Rawlings
ea08b2c077
Let to var in runtime code (#1153) 2018-10-09 04:32:13 +09:00
Dylan Piercey
fcf277d6d9
4.13.7 v4.13.7 2018-10-03 13:23:08 -07:00
Dylan Piercey
0d1d895923
Update changelog. 2018-10-03 13:21:30 -07:00
Dylan Piercey
bd9c0ee0cd
Prevent implicit components with tag params (#1149) 2018-10-03 13:18:28 -07:00
Dylan Piercey
3bbe40e0a0
4.13.6 v4.13.6 2018-10-02 13:56:34 -07:00
Dylan Piercey
63bb322750
Update changelog. 2018-10-02 13:56:24 -07:00
Dylan Piercey
fa779a74b6 Fix issue with include tag hydration. (#1143)
* Add failing test cases for repeated at tag hydration with preserved content
* Fix owner component for include tag and use unmodified key for matching fragment markers
2018-10-03 05:52:09 +09:00
Dylan Piercey
f77b7e0c5c Prevent input mutation when repeated attribute tags and spread attributes used. (#1142) 2018-10-03 05:10:38 +09:00
Denis Sikuler
d49055beed Fix several typos in components documentation (#1141)
* Fix several typos in components documentation

* Remove redundant word from components docs
2018-10-02 10:11:49 -04:00
Michael Rawlings
2d3ff47410
4.13.5 v4.13.5 2018-09-14 15:10:13 -07:00
Michael Rawlings
ecef7f33c7
add additional reference to fragment (#1130) 2018-09-14 13:26:10 -07:00
Michael Rawlings
12a8b4d06b
Fix component dom insert (#1129) 2018-09-14 13:25:39 -07:00
Thord Setsaas
d1d3aa04d3 Fixed typos in components.md (#1127)
Removed two instances of duplicated words, "to to" and "so so"
2018-09-13 13:35:01 -06:00
Michael Rawlings
c4beac5824
Dom data weakmap (#1124)
* Use weakmaps for storing data on dom nodes to avoid name collisions.
2018-09-11 10:42:14 -07:00
Michael Rawlings
a8ebc62f93
runtimeId (#1123)
* allow custom runtimeId to be passed which allows multiple versions of Marko to run without stepping on eachother
2018-09-10 16:27:36 -07:00
Dylan Piercey
a1148dfa5b
Update changelog 2018-08-30 15:32:42 -07:00
Dylan Piercey
4ec94426eb
4.13.4 v4.13.4 2018-08-30 15:31:50 -07:00
Dylan Piercey
b2cc5cd27c
Remove object.assign from browser code. (#1120) 2018-08-30 15:31:01 -07:00
Michael Rawlings
1303efaa27
fixes #800 - add docs for boolean attributes 2018-08-29 13:03:00 -07:00
Michael Rawlings
31ea80935d
fix typo 2018-08-29 12:22:08 -07:00
Dylan Piercey
dc9142bcd9
4.13.3 v4.13.3 2018-08-29 10:39:45 -07:00
Dylan Piercey
11df2ab704
Update changelog. 2018-08-29 10:39:27 -07:00
Dylan Piercey
e2bb09850b
Express Errors with res.marko API (#1119)
* Emit express errors with res.marko

* Switch to using '.on' instead of catch to prevent unhandled promise rejections
2018-08-29 10:33:42 -07:00
Dylan Piercey
38ee375ca3
Fix multi line import parsing. (#1118) 2018-08-29 10:30:02 -07:00
Dylan Piercey
25405da669 Add back abiity to get child component element from getEl (#1116) 2018-08-28 16:55:37 -07:00
Michael Rawlings
3b21f907fa
4.13.2 v4.13.2 2018-08-28 16:49:32 -07:00
Michael Rawlings
0fd0e3f4a1
update changelog 2018-08-28 16:49:22 -07:00
Michael Rawlings
4937dcd3fc
closes #847 - allow discovering tags where the template name matches the directory (#1117)
* closes #847 - allow discovering tags in the directory structure components/tag-name/tag-name.marko

* add docs for discovering tags with template name matching parent directory
2018-08-28 16:35:22 -07:00
Michael Rawlings
9e7c334946
fixes #999 remove non-existant method from docs 2018-08-28 14:48:52 -07:00
Dylan Piercey
ccbb86d4b9
4.13.1 v4.13.1 2018-08-28 13:41:51 -07:00
Dylan Piercey
e7c682dafc Remove es2015 features from runtime. (#1115) 2018-08-28 13:36:52 -07:00
Michael Rawlings
5fb6795776
simplify PR template 2018-08-28 13:35:21 -07:00
Michael Rawlings
7595742acd
4.13.0 v4.13.0 2018-08-27 12:20:08 -07:00
Michael Rawlings
df79fcc5f0
Diffing/Keying fixes (#1094)
* Updates the diffing algorithm to use an HTMLFragment node as an abstraction rather than keeping track of startNode and endNode all throughout the diffing algorithm.

* Uses the HTMLFragment for the <${dynamic}> tag and <include> tags to preserve server-rendered content for which the renderBody is not available in the browser.

* Component ids are based on the resulting parent tree (not the owner tree). This means we cannot rely on the ids in the global lookup, so component key/refs are now also stored on the component instance.

* Static node trees are now only auto assigned a key for the top-level node (instead of all nodes).

* Server comment starting markers now have the component's key serialized so the component can be attached to its owner

* Server comment markers no longer have the id on the closing marker, it is stack based.

* Normalize differences between hydration and client-rendering, so post mount the DOM looks the same regardless of whether a component was server or client rendered.

* fix matching up fragments when hydrating by taking components and normalized text nodes into account

* remove wrapping divs in test, should no longer be needed.  address hydration issue with alternate fragment matching approach.

* add fragment to dom if there's a parentNode even if no startNode

* add test for mismatched hydration

* don't detach components before moving

* use fragments to preserve renderBody content

* use ___finishFragment as the incomplete fragment marker

* ensure fragments get destroyed properly and dom node key sequences don't continue from previous renders

* use parent/owner terminology in more places, component ids are now parent scoped, key/ref components are attached to their owner for both client + server render, server comment boundaries include the owner and the key in addition to the fully scoped component id, autokeyed dom nodes are attached to their parent, hydration now uses a stack: ids in ending comment nodes not needed, hydration checks to see if a component has been initialized and will attach keys directly to the owner if so

* add mutation guards for text/comment nodes, add mutation guard for input value

* make component-pages test better represent streaming hydration, fix html/head/body hydration in a better/more generic way

* add test for async rendered keyrefs

* add test for repeated mult-level transclusion

* Autokeyed elements are now stored on the parent rather than the owner. User assigned key/refs are still stored on the owner component. Because of this, user assigned keys are now prefixed (with @) to differentiate them from autokeys. This also has the benefit that assigning numeric keys can no longer conflict with the autokeys.

* add re-rendering the intermediate container to one of the new tests
2018-08-27 11:46:47 -07:00
Dylan Piercey
e9b08cb41e
4.12.5 v4.12.5 2018-08-17 15:07:36 -07:00
Dylan Piercey
487d2b8974
Fix node inspect deprecation warning. (#1111) 2018-08-17 15:06:27 -07:00
Michael Rawlings
e2b0ffd858
Merge branch 'master' of github.com:marko-js/marko 2018-08-16 12:24:40 -07:00
Michael Rawlings
342ddb0084
fix event names with dashes 2018-08-16 12:24:27 -07:00
Anton Wilhelm
de9674efe6 fix missing module to install (#1110)
lasso module is missing

CLI installation globally is not enough, otherwise I get this error:
Error while applying option of "plugin". 
Cause: Error: Cannot find module 'lasso/package'
2018-08-16 05:59:45 -04:00
Dylan Piercey
cd7d93ba3b Add test for nested fragments. (#1107) 2018-08-14 12:56:06 -07:00