Commit graph

119 commits

Author SHA1 Message Date
Isiah Meadows
48e7fd1711
Refactor scripts (#2465)
* Refactor all kinds of scripts

* Update docs to ensure linter passes
2019-07-27 15:12:49 -04:00
Isiah Meadows
516a3a6df6 v2.0.1 2019-07-24 05:24:31 -04:00
Isiah Meadows
1776366cf4 v2.0.0 2019-07-24 05:03:21 -04:00
Isiah Meadows
ae6b547673 v2.0.0-rc.9 2019-07-16 21:59:00 -04:00
Isiah Meadows
c30a716e49 Update readme when releasing, too 2019-07-16 21:58:37 -04:00
Isiah Meadows
3f754dffaa v2.0.0-rc.8 2019-07-12 15:43:57 -04:00
Isiah Meadows
582bda56dc
Partially recast the router API to be a lot more intuitive. (#2469)
* Recast the router API to be a lot more intuitive.

Fixes #2387
Fixes #2072
Fixes quite a few issues reported on Gitter.

For `m.route.Link`:

- More intuitive
- More accessible
- More ergonomic
- It can be disabled
- It can be cancelled
- It can be changed
- Oh, and you can use it isomorphically.

For `m.route.prefix`

- You can *read* it.
- You can write to it, of course.
- It's literally just setting a property.

For the router itself (and the rest of Mithril):

- You can now `require("mithril")` and all its submodules without a DOM
  at all. There is a catch: you can't instantiate any routes, you can't
  mount anything, and you can't invoke `m.render` in any capacity. You
  can only use `m.route.Link`, `m.route.prefix`, hyperscript stuff, and
  `mithril/stream`, and you can use `m.request` with `background: true`
  if you use a global XHR polyfill. (You can't use `m.request` without
  `background: true` except with a DOM to redraw with.) The goal here is
  to try to get out of the way for simple testing and to defer the
  inevitable `TypeError`s for the relevant DOM methods to runtime.

  The factory requires no arguments, and in terms of globals, you can
  just figure out based on what errors are thrown what globals to
  define. Their values don't matter - they just need to be set to
  *something*, even if it's just `null` or `undefined`, before Mithril
  executes.

Had to make quite a few other changes throughout the docs and tests to
update them accordingly. Oh, and that massive router overhaul enabled me
to do all this.

Also, slip in a few drive-by fixes to the mocks so they're a little
easier to work with and can accept more URLs. This was required for a
few of the tests.

* Update changelog + numbers, add forgotten bundle option

* Add PR numbers to changelog [skip ci]

* Allow continuing to the next match by returning `false`.

* Update numbers again
2019-07-12 15:29:37 -04:00
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
1434ba313f
Fix m.version to not depend on package.json (#2464)
* Fix `m.version` to not depend on `package.json`

Created an accidental breaking change.

* Update changelog

* Fix a failing test
2019-07-09 19:26:00 -04:00
Isiah Meadows
fecd262d0b v2.0.0-rc.7 2019-07-06 03:54:57 -04:00
Isiah Meadows
e82f6d00c2 v2.0.0-rc.6 2019-05-31 12:14:27 -04:00
Isiah Meadows
f1d001cfcd v2.0.0-rc.5 2019-05-29 10:23:40 -04:00
Isiah Meadows
7fb47852c0 Run npm audit fix and prune 2019-05-29 10:23:18 -04:00
Isiah Meadows
b17b00e9eb
Drop ESM support (#2366)
* Drop ESM support

* Add `"unpkg"` field
2019-05-29 09:24:10 -04:00
Isiah Meadows
99a61a09dc
Update a few dependencies, update ospec to version 3.1.0 (#2370) 2019-02-05 13:20:55 -05:00
Isiah Meadows
02844a0b89 Fix version script [skip ci]
For some reason, it was never updated to include the stream bundle.
2019-02-05 11:40:42 -05:00
Isiah Meadows
c803918f00 v2.0.0-rc.4 2019-02-05 11:29:45 -05:00
Isiah Meadows
f09c84c369 v2.0.0-rc.3 2018-12-06 00:36:12 -05:00
Isiah Meadows
353e4c1748 Make sure to include new bundles in version script 2018-12-06 00:33:11 -05:00
Isiah Meadows
e31c06be3e v2.0.0-rc.2 2018-12-06 00:23:58 -05:00
Gandalf-the-Bot
86c16820f7 Bundled output for commit 7c5024f921 [skip ci] 2018-11-30 08:13:28 +00:00
Isiah Meadows
7c5024f921
Fix some linter issues, update ESLint (#2318)
* Fix linter issues, run `npm audit fix`

* Update ESLint to not be so ancient.
2018-11-30 03:11:07 -05:00
Isiah Meadows
c33621cd52
Simplify bundler a little (#2290)
- Remove a useless abstraction
- Remove a useless write + read
- Only read when generating the bundle
- Use one watcher instead of two
- Use Chokidar to simplify and make for a better experience
2018-11-27 18:02:35 -05:00
Rasmus Porsager
c3896b92e6 output mithril, stream and ospec esm versions on build - fixes #2112 (#2194)
* output mithril, stream and ospec esm versions on build

* Add esm bundles

* [request] Clearer error message for JSON deserialization failure (#2195)

* Bundled output for commit fd7cf8041e [skip ci]

* Fix #1714 conditionally halting stream (#2200)

* Fix #1714 conditionally halting stream

* Add note in changelog

* Do not include stream as named export in mithril.esm.js

* Rename mithril.min.esm.js to mithril.esm.min.js

* Add esm files to eslintignore

* Add named exports

* Add hyperscript `m` as named export

* Add builds with export changes

* checkout regular bundled files

* Change .esm.js to .mjs

* Update pkg module to point to .mjs

* Fix for export names to avoid collision

* Updated bundled files
2018-11-14 15:37:08 -05:00
Isiah Meadows
232ff597a6
Switch to Terser (#2289)
1. It's actually supported
2. It's less buggy

https://twitter.com/dan_abramov/status/1060216917493981184
2018-11-09 13:55:25 -05:00
Isiah Meadows
1f18506de6 v2.0.0-rc.1 2018-11-07 12:37:22 -05:00
Scotty Simpson
843d7ad454 Abandon Closure Compiler in favor of UglifyES (#2285)
Moved to UglifyES, ditched async cruft, clarified responsibilities between cli & minify.

Makes for faster, more reliable, synchronous, non-Google-reliant minification.
2018-11-06 15:48:48 -05:00
Isiah Meadows
3e494583c6 v2.0.0-rc.0 2018-10-25 14:54:22 -04:00
Isiah Meadows
2635070734 Merge branch 'next' 2018-10-25 14:23:33 -04:00
Pierre-Yves Gérardy
4922912bbb [chore] remove Danger for now 2018-05-16 01:09:49 +02:00
Pierre-Yves Gérardy
58b06d4aad [chore] bump marked version to v0.3.19 2018-05-16 01:09:49 +02:00
Már Örlygsson
cfaa377c1e [ospec] feat: nicer binary with support for globs (#2141)
* feat(ospec): CLI support for file-patterns and an --ignore flag

The added dependency is only used by the node.js binary - which normally only ever installed via npm/yarn anyway.

This does not interfer with ospec proper being dependencyless.

* chore(mithril): Add glob dependency needed by the ospec binary

this is only needed while ospec is inlined in the
mithril repo. As soon as ospec is split away into a
standalone npm module, this will not be required anymore.

* refactor(ospec): Use 'match' events instead of callback

Performance should be similar, but the code looks
cleaner and easier to grok.

* Misc tweaks
2018-05-07 01:32:01 +02:00
Pierre-Yves Gérardy
b9f65c2fdd v1.1.6 2017-12-01 14:35:52 +01:00
Pierre-Yves Gérardy
bfdbf1a0aa v1.1.5 2017-10-14 01:07:35 +02:00
Pierre-Yves Gérardy
c3bd936b53 v1.1.4 2017-09-26 22:17:59 +02:00
Isiah Meadows
44c89f3257 Update package lockfile and danger/lint-staged 2017-08-25 02:59:38 -04:00
Gandalf-the-Bot
8d01314253 Bundled output for commit 6048168505 [skip ci] 2017-07-22 20:41:22 +00:00
Gandalf-the-Bot
fd86c95d24 Bundled output for commit 5e62c13558 [skip ci] 2017-07-22 20:15:05 +00:00
Pat Cavit
45b69d4aca chore: run eslint --fix against commits (#1912) 2017-07-22 13:12:01 -07:00
Pat Cavit
a7849a67ca chore: Implement danger for PRs (#1905) 2017-07-19 21:14:13 -07:00
Pat Cavit
1434d35a6a chore: Remove bundle bin (#1902) 2017-07-19 09:04:47 -07:00
Pat Cavit
482f0e71b9 docs: readme rework (#1898) 2017-07-12 20:34:45 -07:00
Pat Cavit
4dc1f2f5be chore: remove travis deps from package.json 2017-07-11 22:16:44 -07:00
Pierre-Yves Gérardy
fd7ae98988 v1.1.3 2017-07-11 12:29:41 +02:00
Gandalf-the-Bot
b1919526c4 Bundled output for commit 465573e488 [skip ci] 2017-07-11 10:21:03 +00:00
Pierre-Yves Gérardy
465573e488 chore: Mode travis-script and gh-pages to package.json:devDependencies 2017-07-11 12:18:41 +02:00
Pierre-Yves Gérardy
28cbb65ca8 v1.1.2 2017-07-11 10:49:40 +02:00
Gandalf-the-Bot
6c06d41f94 Bundled output for commit 712be2bcc3 [skip ci] 2017-05-31 06:58:00 +00:00
Pat Cavit
bef58fdfa5 chore: Update repo references (#1834) 2017-05-02 09:24:12 -07:00
Luca Guzzon
b042a9ec8f Auto Dependency Updates ... 2017-04-14 12:46:08 +02:00