Commit graph

19 commits

Author SHA1 Message Date
Isiah Meadows
904b63b2aa
Drop m.version (#2466)
* Drop `m.version`

It's caused way too much grief over the years, and I've finally decided
it's worth pitching. For those who need it, it's easy to get, especially
if you use it through Node or a build system. And for those who are just
loading it globally, you have to explicitly specify the version anyways,
so you'd be just as golden if you followed it up with a simple inline
script that does `m.version = "the version you loaded"`.

Oh, and also, you shouldn't be coding specifically for version numbers,
either - it's a known anti-pattern. Instead, you should prefer feature
detection and just do the right thing.

* Update changelog [skip ci]
2019-07-10 14:04:44 -04:00
Isiah Meadows
90bcff0fa7
Deduplicate m.route and m.redraw logic (#2453)
- Remove appropriate route change subcriptions when a root is removed
  via `m.mount(root, null)`.
- Don't pollute `onpopstate` and friends - use standard event listeners
  instead.
- Simplify and streamline subscriptions, in preparation of adding a
  `remove` parameter to `m.mount`.
- Change the redraw internals to redraw immediately, with ability to
  cancel via returning a sentinel.
- Change `"bleeding-edge"` for `m.version` in `next` to instead just be
  the latest `m.version`. (If you're using `next`, you should know what
  you're in for.)
- Update tests to be aware of these changes. (Some were failing for
  subtle reasons.)
- Drive-by: remove some uses of `string.charAt(n)` and use `string[n]`
  instead.
2019-07-05 18:52:06 -04:00
Isiah Meadows
26b8d994ce
Remove m.prop + m.withAttr (#2317)
* Remove `m.prop` + `m.withAttr`

- For many uses, `m.withAttr` is *more* verbose than just directly using
  an event handler
- If you're using it with a bound callback, you're literally wasting a
  single character in the human readable version (and you're *saving*
  them in the minified output).
- It sometimes obscures your intent, if overused.
- Functions are easier to compress than `m.withAttr`, resulting in
  slightly smaller bundles.
- `m.withAttr` is overused anyways.
- `m.prop` is basically useless without `m.withAttr`, and the API
  doesn't have the same benefits it had with 0.2.x.

* Update changelog
2018-11-30 20:41:24 -05:00
Isiah Meadows
4a641092dc
Officially drop IE9-10 support, pull out our hacks (#2296)
- I also fixed a bunch of related comments
- I had to polyfill `requestAnimationFrame` for Node
- Drive-by: run `eslint . --fix`
- Drive-by: update transpiling info in CONTRIBUTING.md
- Drive-by: we aren't the only ones going semicolon-free
2018-11-27 18:04:15 -05:00
Pierre-Yves Gérardy
7de0124339 Tests for m.redraw.sync() 2017-06-13 23:22:25 +02:00
Pierre-Yves Gerardy
b004c20f0c Make m.redraw() strictly asynchronous 2017-06-13 15:20:29 +02:00
Isiah Meadows
1cc5fa5ba7 "use strict" and other linty fixes 2017-03-03 18:24:38 -05:00
Pierre-Yves Gerardy
fca89f987f Tests: enable the three kind of components in all related files but api/tests/test-route.js 2017-02-19 02:14:15 +01:00
Pierre-Yves Gerardy
ac38335453 Tests: Wrap some component definitions in createComponent() calls
These are the ones that would have been tedious to automate.
jscodeshift will handle the remaining ones
2017-02-19 02:14:15 +01:00
Pierre-Yves Gerardy
f96319e6f6 Tests: add dummy forEach blocks around sections with components 2017-02-19 02:14:15 +01:00
Pierre-Yves Gerardy
d7f39a8254 Tests: group together tests with/without components 2017-02-19 02:14:15 +01:00
Leo
dc42b60687 #1609 fix lifecycle hooks in children of recycled keyed vnode 2017-02-09 08:31:08 -05:00
Leo Horie
a2b45ff131 add integration test 2016-12-04 23:36:38 -05:00
Leo Horie
bc8cf4ed76 change m.request return value from stream to promise
remove m.prop
add m.Promise
update tests and examples
2016-11-13 22:44:22 -05:00
Leo Horie
aef4ab16e9 fix tests 2016-10-26 20:27:20 -04:00
Leo Horie
6514a38162 document querystring apis 2016-10-18 10:16:20 -04:00
Pierre-Yves Gerardy
057f3a9d2f Fix the bundle and bundle tests 2016-09-03 23:28:17 +02:00
Leo Horie
f201ea73ff ensure internal streams have same constructor as public streams 2016-08-24 01:08:20 -04:00
Leo Horie
ec07d76fcd m.fragment docs
public api tests
2016-08-24 00:26:15 -04:00