-
-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor(core): use hable #6271
Conversation
Hable & Hookable dont have a fully similar interface and implementation |
@pimlie hmm I'm not sure. Can you please elaborate more about differences and potentially missing requirements? UPDATE: Hable 2.1.0 supports custom logger (consola) and optional fatal for nuxt behaviour compatibility. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
YES!
Codecov Report
@@ Coverage Diff @@
## dev #6271 +/- ##
==========================================
- Coverage 95.76% 95.67% -0.09%
==========================================
Files 80 79 -1
Lines 2666 2636 -30
Branches 687 679 -8
==========================================
- Hits 2553 2522 -31
- Misses 97 98 +1
Partials 16 16
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hookable:
- flatHooks as instance method (probable safe to remove though, but who knows)
- filter(Boolean) in addHooks
Hable:
- deprecateHook
When moving to Hable, Nuxt should use the deprecateHook
method instead of setting the prop directly.
Hable will add falsy hooks in addHooks / flatHooks util. Actually it will also add all other non-function hooks, but thats also the case with Hookable.
This is an internal utility. So I think it is safe to not include in instance.
Yeah. That's an addition of hable that we can leverage :) I'll refactor to use it. UPDATE: hable 2.2.1 has
Main hook function which is called by addHooks already prevents adding falsy hooks. |
* [release] * fix(vue-app): enforce default css when used with frameworks (#6255) * chore(deps): update dependency serialize-javascript to ^1.8.0 (#6254) * fix(config): provide typescript backward compatibility (#6258) * fix(vue-app): only overwrite leave listener when none provided or without done arg (#6264) * fix(nuxt-start): add missing `vue-client-only` dependency (#6267) * fix(server): treat `https: null` as `https: undefined` (#6265) * chore(deps): update devdependency rollup to ^1.20.0 (#6268) * fix: improve watching experience for generated files (#6257) * refactor(core): use hable (#6271) * test: disable terser/minify by default (#6290) * chore(deps): update devdependency rollup to ^1.20.1 (#6282) * chore(cli): accept hooks (#6274) * chore(deps): update devdependency rollup-plugin-alias to v2 (#6281) * fix(builder): apply overrides from app dir only (#6283) [release] * feat: function watchQuery (#6245) * Revert "feat: function watchQuery (#6245)" (#6296) This reverts commit 3c61830. * chore(deps): update devdependency rollup to ^1.20.2 (#6295) Co-authored-by: Renovate Bot <bot@renovateapp.com> * test(vue-app): add template compiler helper (#6299) * test: add jest roots for less greedy test search (#6300) * test: remove unnecessary generate (#6301) * fix: update the minimal require node version in distributions (#6310) * chore(deps): update devdependency babel-eslint to ^10.0.3 (#6304) * chore(deps): lock file maintenance (#6305) * chore: upgrade circleci config to v2.1 (#6312) * test: add test for modern bundle size (#6302) * test: add client-only test to basic fixture (#6315) test: check for no-ssr deprecation warning
Types of changes
Description
jsless/hable is an extraction of our internal hooks implementation with the same tests and features. Pros of externalizing:
Checklist: