Commit graph

35 commits

Author SHA1 Message Date
Isiah Meadows
d4551f49f5
Add streams to releases again, include minified bundle, drop in… (#2539)
* Minify stream, add stream stuff to releases again

* Kill off a lot of tech debt, drop internal utilities from npm

1. Kill `module/`, internalize `bundler/`, privatize `test-utils/`

We've been telling people to move elsewhere from these for a while, and
it's about time we just pull the plug here and finally remove them.

- We officially removed the bundler from the public API in v2.0, and
  that was the only one of these that was ever publicly documented.
  Usage should be low enough by now it shouldn't break anyone- I'm not
  seeing bundler bugs being reported anymore, either.
- The `module/` utility was so narrow and caveat-filled that I'm not
  sure anyone really used it (even us core Mithril devs never really
  used it), and we only had it documented in the repo folder it lived
  in. I think only one bug was ever filed, and it's because it somehow
  ended up completely non-functional without any of us realizing it.
- The test utilities were meant to be internal from day 1, but people
  started using it despite us core developers constantly telling people
  to look elsewhere and even the docs recommending specific alternatives
  without mention of our internal mocks. (Now if people would RTFM,
  that'd be nice...)

2. Add dedicated HTML test files to verify ospec and the promise
   polyfill, and ensure the promise tests are in pure ES5.

These are made specially for those and should be much easier to just run
now.

3. Fix the benchmark script to use the real DOM in browsers and to not
   require as many dependencies to create. Also, tweak them to be much
   more effective and precise on what's being tested.

Previously, it was rendering to the HTML file itself, while now it's
rendering to the `body`. This means in browsers, it's triggering layout
and everything, benchmarking how well Mithril optimizes for style and
layout recalcs, too. It also puts some pressure on the hyperscript
parser attribute application, so that can be noticed as well.

* Update dependencies
2019-10-03 04:58:14 -04:00
Isiah Meadows
34f4363357
Add m.censor, adjust m.route.Link to use it (#2538)
Also, restructure a few things for better code reuse.
2019-09-30 18:44:39 -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
6042b001f0
Add m.prop (#2268)
Fixes #2095
2018-11-07 12:18:55 -05:00
Leo
065ec43c75 don't return from withAttr 2017-01-23 18:09:06 -05:00
Leo Horie
6ce2a384ec simplify streams, lint docs 2016-11-15 23:13: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
fe861926ce fix ap 2016-10-26 18:37:48 -04:00
Leo Horie
5eb008720a fantasy land updates 2016-10-26 12:55:17 -04:00
Leo Horie
8c5fd9ec25 lint 2016-09-23 22:49:20 -04:00
Douglas Brown
fd0d7059df Prevent Infinite Loop in m.prop.combine
Passing a non-stream value to combine or merge will result in uncaught
errors that are not descriptive enough to be helpful.
2016-09-09 23:06:30 -04:00
Leo Horie
53a83a58f2 rename RouteResolver::view back to render to restore diff semantics
prevent double resolving
2016-08-23 22:33:18 -04:00
Leo Horie
80c25e3809 rename routeresolver methods to {onmatch,view}
expose some piecemeal modules
rename internal xhr to request
mirror internal stream api to match public api
2016-08-17 00:10:47 -04:00
Leo Horie
2ee15e3639 fix stream uncaught error reporting
fix stream JSON stringification
rename internal render function to `use`
2016-08-12 00:41:44 -04:00
Leo Horie
701e2d8e31 handle HALT as a value correctly 2016-08-11 00:28:28 -04:00
Leo Horie
6b0fa399d5 rebuild after stream changes 2016-08-10 13:53:05 -04:00
Leo Horie
c077cd80de fix stream absorption #1196 2016-08-10 09:12:36 -04:00
Leo Horie
d6e18ca134 Merge remote-tracking branch 'origin/rewrite' into rewrite 2016-08-03 22:37:29 -04:00
impinball
f3959518ec Comment broken test temporarily 2016-08-03 20:29:50 -04:00
Leo Horie
1c014e15a3 unbreak CI 2016-08-03 17:29:05 -04:00
Gilbert
6d9d01c12b Add failing test 2016-08-02 11:06:38 -05:00
Leo Horie
264741f2f5 report uncaught errors 2016-07-15 22:56:29 -04:00
Leo Horie
a7a4cc0cc8 Merge pull request #1148 from barneycarroll/prop.toString
prop.toString
2016-07-15 10:05:13 -04:00
Leo Horie
a2680b30a4 s/sync/merge 2016-07-15 00:35:18 -04:00
Barney Carroll
adaef70729 Test use cases for prop valueOf & toString 2016-07-14 14:23:01 +01:00
Barney Carroll
3d02aeae36 prop.toString method 2016-07-14 13:19:31 +01:00
Gilbert
008ffc9587 Add m.prop.sync 2016-07-12 23:27:36 -05:00
Leo Horie
015a812610 fantasy-land methods no longer absorb streams 2016-06-30 01:28:50 -04:00
Leo Horie
a875f7e162 ensure upstream does not affect ended stream 2016-06-20 22:25:43 -04:00
Leo Horie
bce2abbffd Merge remote-tracking branch 'origin/rewrite' into rewrite
Conflicts:
	docs/keys.md
	docs/signatures.md
	docs/v1.x-migration.md
	index.js
	ospec/bin/ospec.cmd
	request/request.js
	request/tests/test-xhr.js
	util/prop.js
	util/tests/index.html
	util/tests/test-prop.js
2016-06-20 09:34:14 -04:00
Leo Horie
b9ce90765d streams implementation 2016-06-20 09:21:25 -04:00
impinball
b4fb21475c Add editorconfig, resolve differences
This includes newlines, tabs, among other things.
2016-06-18 03:22:12 -04:00
Leo Horie
e7420e72e1 more tests 2016-05-24 23:16:43 -04:00
Leo Horie
a2c01d1d96 prop and withAttr tests 2016-05-21 09:49:05 -04:00
Leo Horie
477e73f300 prop and withAttr work in progress 2016-05-21 01:48:11 -04:00