Commit Graph

341 Commits

Author SHA1 Message Date
Sébastien Chopin
f319033928
feat(nuxt-link): Smart prefetching and $nuxt.isOffline (#4574)
* feat(nuxt-link): Improve <n-link> and add automatic prefetch

* Update packages/vue-app/template/components/nuxt-link.js

Co-Authored-By: Atinux <seb@orion.sh>

* add missing space

* feat(nuxt-link): Split in two components for smaller bundle

* fix(vue-app): Use requestIdleCallback

* chore(vue-app): Improve nuxt prefetch strategy for nuxt links

* chore(vue-app): Add .isOnline and handle it for prefetch

* chore(vue-app): Add .isOffline and use it

* chore(vue-app): Add .isOffline

* chore(server): Check is options.modern is given in dev mode

* chore(vue-app): Add intersection-observer polyfill if router.prefetchLinks is 'polyfill'

* chore(vue-app): Remove polyfill

* chore(vue-app): Use only process.client

* chore(vue-app): Add TS typings for .isOnline and isOffline

* chore(vue-app): Update typings by @kevinmarrec

* chore(vue-app): Reorder names

* examples(nuxt-prefetch): Add Nuxt prefetching example

* chore(vue-app): Add router.linkPrefetchedClass

* lint(vue-app): Fix lint

* chore(vue-app): Use intersectionRatio, recommend by @maoberlehner

* fix(lint): Fix linting issues

* lint(vue-app): Fix again (lol)

* types(vue-app): Update TS typings

* chore(vue-app): Update Vetur tags description

* fix(vue-app): Use prefetchClass

* chore(vue-app): Disable linkPrefetchedClass by default
2018-12-28 17:27:03 +01:00
Clark Du
35151150fd fix: wrong devMiddleware in non-modern dev mode 2018-12-28 13:26:46 +00:00
renovate[bot]
197be144ba chore(deps): update dependency terser-webpack-plugin to ^1.2.1 (#4637)
don't crash when no extracted comments
2018-12-27 20:55:43 +03:30
renovate[bot]
61dc2dfec9 chore(deps): update dependency css-loader to ^2.1.0 (#4628) 2018-12-25 23:57:25 +03:30
Xin Du (Clark)
df9b32a1c4 fix: hmr in modern mode (#4623) 2018-12-24 19:56:39 +03:30
renovate[bot]
8cd19f0bd4 chore(deps): update dependency serialize-javascript to ^1.6.0 (#4625) 2018-12-24 19:10:45 +03:30
Sébastien Chopin
498c4f11d3 feat: better stack traces for SSR error, show error with correct URL and use eventsource-polyfill (#4600)
[release]
2018-12-23 12:10:36 +03:30
Kevin Marrec
f1377a7f8d feat(ts): provide type checking through fork-ts-checker-webpack-plugin (#4611) 2018-12-23 11:13:51 +03:30
Dmitry Molotkov
8dc15d07b7 fix: allow keepAliveProps for nuxt component (#4610)
[skip ci]
2018-12-23 11:13:36 +03:30
renovate[bot]
bf4803af19 chore(deps): update dependency cache-loader to v2 (#4608) 2018-12-23 02:18:22 +03:30
Kevin Marrec
4d5274215a feat(ts): add TSX support (#4613) 2018-12-23 02:12:20 +03:30
renovate[bot]
a17bb1704d chore(deps): update all non-major dependencies (#4605)
[skip release]
2018-12-23 01:33:22 +03:30
Xin Du (Clark)
324135df51 refactor: @nuxt/utils (#4609) 2018-12-23 00:35:13 +03:30
Kevin Marrec
5458ba5b10 chore: fix dependencies order (#4612)
[skip ci]
2018-12-22 01:44:16 +03:30
renovate[bot]
c432ec4ec7 chore(deps): update dependency file-loader to v3 (#4599) 2018-12-21 19:38:47 +00:00
Clark Du
90f42a618e refactor: remove unused properties in base config 2018-12-21 15:18:14 +00:00
Clark Du
15ad7d03c9 refactor: remove unused properties in style-loader 2018-12-21 15:15:48 +00:00
renovate[bot]
0491c8a7e7 chore(deps): update dependency webpack to ^4.28.1 (#4602)
[skip ci]
2018-12-20 22:44:35 +03:30
Andrey Shertsinger
b1b9e0bcbc feat(vue-app): support named views (#4410)
* support named views for extendRoutes config

* fix lint errors

* fix lint errors 2

* some refactoring

* var rename

* fixture & unit tests

* fix: style

* nuxt-child named view example and test

* nuxt element with named view in layout

* lint
2018-12-20 16:50:22 +01:00
Ricardo Gobbo de Souza
add80004ba feat(router): custom route name splitter (#4598) 2018-12-20 13:42:42 +01:00
renovate[bot]
9877c72f5d chore(deps): update all non-major dependencies to ^7.2.3 (#4597)
[skip release]
2018-12-20 15:01:22 +03:30
Jonas Galvez
0145551c3a feat(cli): improvements and external commands (#4314) 2018-12-20 14:45:48 +03:30
Pooya Parsa
8b366fd216
chore: use @nuxt for all core dependencies (#4596)
[skip release]
2018-12-20 14:45:12 +03:30
renovate[bot]
46f0eee83d chore(deps): update dependency @nuxtjs/devalue to ^1.2.0 (#4595) 2018-12-20 14:33:57 +03:30
Xin Du (Clark)
e71c4559ff feat: mode for plugins (#4592) 2018-12-20 12:58:10 +03:30
renovate[bot]
40928967ac chore(deps): update all non-major dependencies (#4594)
[skip ci]
2018-12-20 12:32:17 +03:30
renovate[bot]
e1c1701d03 chore(deps): update all non-major dependencies (#4588) 2018-12-20 12:27:40 +03:30
Clark Du
4fb220c911 fix: thread-loader slow building 2018-12-19 21:44:08 +00:00
Clark Du
d34a9e24ae fix: thread-loader memory leak 2018-12-19 19:30:25 +00:00
Sébastien Chopin
96892c5341 fix(vue-app): Fix default error handler in production 2018-12-19 19:39:38 +01:00
Sébastien Chopin
7812d8d87d Merge branch 'missing-chunk-reload' of https://github.com/aldarund/nuxt.js into aldarund-missing-chunk-reload
Conflicts:
	packages/vue-app/template/client.js
2018-12-19 18:48:38 +01:00
Sébastien Chopin
951e745e54 fix(vue-app): Set window. equals to window.{globalName} when defined 2018-12-19 18:29:45 +01:00
Sébastien Chopin
6c4280f87f fix(vue-app): Call Vue.config.errorHandler instead of simply logging the error 2018-12-19 18:12:39 +01:00
Sébastien Chopin
59aee74a88
feat(vue-app): add vetur helpers for components auto-complete on VS Code (#4524)
* feat(vue-app): Add vetur helpers for components auto-complete on VS Code

* update vetur helper

* Update nuxt-attributes.json

* Update nuxt-tags.json
2018-12-19 17:31:10 +01:00
Alexander Lichter
81cf09cb76 fix: apply store HMR to whole store (#4589) 2018-12-19 17:26:58 +01:00
Sébastien Chopin
c8b920a145 feat(vue-app): Add deprecating for classic mode and handle mutations/actions HMR to store/index.js 2018-12-19 17:15:01 +01:00
Alexander Lichter
b2eee1772e feat: add store module HMR (#4582)
* feat: add store module HMR

* fix: replace export with window.$nuxt

Thanks to @pi0 for the suggestion :)

* refactor: apply only in dev mode on client side

* test: make store module test more descriptive

* fix: clear modules to apply HMR

* fix: remove console.log

* fix: e2e tests

* refactor: use void
2018-12-19 16:22:00 +01:00
Jonas Galvez
5b58272d1a fix: prevent matching native statements in serializeFunction (#4585) 2018-12-19 11:46:00 +03:30
renovate[bot]
186b3cb233 chore(deps): update all non-major dependencies (#4581)
[skip release]
2018-12-18 20:32:05 +03:30
renovate[bot]
ebd2b1b0a0 chore(deps): update dependency thread-loader to v2 (#4583)
[skip release]
2018-12-18 20:30:17 +03:30
Xin Du (Clark)
e7df65be1a fix: detect plugin without extension (#4579) 2018-12-18 17:49:38 +03:30
sh
2f0ed8571f feat(server): export Listener (#4577) 2018-12-18 13:46:41 +00:00
Jonas Galvez
25d26ba42f chore(vue-app): use serializeFunction when appropriate (#4575) 2018-12-17 17:26:23 +00:00
Clark Du
afd1cd3247 refactor: remove static class hotfix since it has been fixed in vue 2018-12-17 15:56:01 +00:00
Xin Du (Clark)
d723e49b2b
feat: attach ts-loader options on build.loaders.ts (#4572) 2018-12-17 15:45:01 +00:00
Kevin Marrec
75e3df6be5 fix(ts): switch from babel preset to ts-loader (#4563) 2018-12-17 15:21:53 +00:00
renovate[bot]
6e8c4b7b83 chore(deps): update all non-major dependencies (#4566)
[skip ci]
2018-12-17 18:41:16 +03:30
Mark
85b53593fa fix(resolver): resolve dir if no index found #4568 (#4569)
[skip release]
2018-12-17 18:40:39 +03:30
Jonas Galvez
669fecc6a3 feat: allow scrollToTop to be explicitly disabled (#4564)
Co-authored-by: James Homer <jameshomer85@gmail.com>
2018-12-16 13:32:39 +03:30
renovate[bot]
a32947c68c chore(deps): update all non-major dependencies to ^7.2.2 (#4561)
[skip ci]
2018-12-16 13:30:40 +03:30
Jonas Galvez
6b95eff81d fix(pkg): add serialize-javascript to common/package.json (#4565)
[skip ci]
2018-12-16 13:30:08 +03:30
Jonas Galvez
7831e57943 fix: properly serialize head functions (#4558)
#4079
2018-12-15 12:07:31 +03:30
renovate[bot]
e6ca79969a chore(deps): update all non-major dependencies (#4551)
[skip release]
2018-12-15 11:01:59 +03:30
Kevin Marrec
7145c1ab5d feat(builder): optional typescript support (#4557) 2018-12-15 10:25:08 +03:30
Ricardo Gobbo de Souza
99614535b5 feat(vue-app, vue-renderer): support meta headAttrs (#4536) 2018-12-14 17:36:26 +03:30
Hartmut
da0a3794ef fix(vue-app): add type definition for ComponentOptions.middleware (#4531) 2018-12-14 06:01:25 +03:30
Mark
b413bc14fb fix(resolver): resolvedPath/index.[ext] resolution (#4548) 2018-12-13 22:09:42 +03:30
Xin Du (Clark)
d0c8fcbaa5 fix: duplicate style in extractCSS (#4546)
[skip ci]
2018-12-13 22:07:47 +03:30
renovate[bot]
eda33bc48a chore(deps): update all non-major dependencies (#4537) 2018-12-13 00:59:27 +03:30
Xin Du (Clark)
657a6cc7c9
chore: tiny refactoring (#4534) 2018-12-12 10:47:54 +00:00
Clark Du
28300ee0f9 refactor: remove extendedConfig.devtool check 2018-12-12 10:10:24 +00:00
Clark Du
8d728da3c7 refactor: remove unnecessary env 2018-12-12 09:38:06 +00:00
Alexander Lichter
f1ff6341ea feat: add process.modern (#4532) 2018-12-12 13:03:19 +03:30
Alexander Lichter
c60b1945e8 chore: cleanup (#4529) 2018-12-12 10:01:49 +03:30
William Chong
683dbba4f7 fix: csp SHA hashes accumulate when using custom script-src rules (#4519)
[skip ci]
2018-12-12 09:59:28 +03:30
renovate[bot]
13c7b6d671 chore(deps): vue v2.5.21 (#4523) 2018-12-12 09:57:26 +03:30
Alexander Lichter
8e0b5081f2 fix: allow pcss ending for webpack loader (#4530)
[skip ci]
2018-12-12 09:52:43 +03:30
Alexander Lichter
88668f0fc4 chore: add plugin suffix for ExtractCssChunksPlugin (#4528) 2018-12-11 20:56:28 +00:00
Alexander Lichter
c6d820aad8 feat(webpack): add experimental HardSourceWebpackPlugin support (#4527) 2018-12-12 00:19:16 +03:30
Sébastien Chopin
15051978f0 feat(vue-app): <n-link> and <n-child> component aliases (#4525) 2018-12-11 20:37:04 +03:30
Sébastien Chopin
8a200f7e91 fix(server): Cannot read property client of null when webpackHMR & restarting Nuxt 2018-12-11 16:20:59 +01:00
ousiri
431cc15617 fix: keepAliveProps broken in <nuxt-child> (#4521) 2018-12-11 11:11:15 +01:00
Dmitry Molotkov
51e4488dd4 feat(common): add yandex and vivaldi to modern browsers (#4516) 2018-12-11 10:41:28 +03:30
Ryan Lindskog
29c5bb6513 refactor: remove caniuse-lite dependency (#4419) 2018-12-11 01:05:04 +03:30
Dmitry Molotkov
33edef2d40 fix(webpack): allow changing devtool with extend (#4515) 2018-12-11 01:04:41 +03:30
renovate[bot]
b07c27a843 chore(deps): update all non-major dependencies to ^2.5.20 (#4514) 2018-12-10 22:09:04 +03:30
Dmitry Molotkov
c3128eaced fix(server): allow rendering urls with unicode characters (#4512) 2018-12-10 16:48:23 +00:00
renovate[bot]
b47a993429 chore(deps): update dependency caniuse-lite to ^1.0.30000918 (#4510) 2018-12-10 16:05:30 +00:00
Pooya Parsa
f0cb654a5d fix(vue-renderer): improve ready handling (#4511) 2018-12-10 12:16:05 +00:00
renovate[bot]
6d8aeec81c chore(deps): update vue to v2.5.19 (#4509) 2018-12-10 01:47:40 +03:30
Jonas Galvez
655f11cefd chore: update code to meet new curly-all rule (#4505)
[skip ci]
2018-12-10 01:30:48 +03:30
Pooya Parsa
1162f2ddc1 feat: use runInNewContext: true for nuxt dev (#4508) 2018-12-09 21:37:36 +00:00
Sébastien Chopin
45be638479 fix(vue-app): Fix route meta to handle order 2018-12-09 13:07:06 +01:00
Sébastien Chopin
25dea5f52a fix(dev): Show correct path when webpack watched files changed 2018-12-09 12:47:57 +01:00
Pooya Parsa
fe0516978a
fix: improvements for build and dev stability (#4470) 2018-12-09 14:12:22 +03:30
Xin Du (Clark)
669ffa51ed refactor: migrate to extract-css-chunks-webpack-plugin (#4495)
fixes #4131.
2018-12-09 13:58:08 +03:30
Jonas Galvez
af9b30cab7 feat: upgrade css loader to v2 (#4503)
* use new exportOnlyLocals option

* upgrade css-loader in package.json
2018-12-09 13:45:48 +03:30
Alexander Lichter
f1b2ca3d60 feat: add an option to disable FriendlyErrorsWebpackPlugin (#4498) 2018-12-09 13:38:59 +03:30
renovate[bot]
7c820d9262 chore(deps): update all non-major dependencies (#4497)
* chore(deps): update all non-major dependencies

* pin vue to 2.5.17
2018-12-09 12:28:49 +03:30
renovate[bot]
ff20bbbbb5 chore(deps): update all non-major dependencies (#4483) 2018-12-07 13:53:50 +00:00
Clark Du
e6808c57ef fest: add build.corssorgin (#4472) 2018-12-05 19:51:58 +03:30
renovate[bot]
9c15c18d1b chore(deps): update all non-major dependencies (#4475) 2018-12-04 15:58:15 +03:30
Clark Du
5a8e6e4bdf fix: merge route.meta into options.meta (#4479)
[skip release]
2018-12-04 15:49:05 +03:30
Clark Du
14fe6792ae feat: check modern build file in modern mode (#4467)
[skip release]
2018-12-04 15:41:18 +03:30
Clark Du
e2ab1b4896 fix(vue-app): router.meta is null on extendRoutes(#4478)
fixes #4154
2018-12-03 14:21:17 +03:30
Pooya Parsa
6589670864 fix(server): delete all non-js assets 2018-12-01 14:29:26 +03:30
Pooya Parsa
4b643b9528 fix(renderer): ignore invalid sourcemaps 2018-12-01 14:21:10 +03:30
Pooya Parsa
c0721c0174 fix(vue-renderer): parse JSON values before passing to bundle-renderer
prevent error that occuers in rare cases: TypeError: Cannot read property 'sections' of undefined

Related to #4439
2018-12-01 14:11:10 +03:30
Pooya Parsa
0f104aa588
feat: improve SSR bundle (#4439)
- Better insights and inspection for server bundle
- Remove all vue related dependencies from vue-renderer package as much as possible to reduce install size of nuxt-start
- Support for single file distributions (serverless)
- Remove server-bundle.json and use the standard .js files for dist/server
- Mitigate CALL_AND_RETRY_LAST Allocation failed errors. Most of the cases happen on JSON.parse() the part when loading bundle. (#4225, #3465, #1728, #1601, #1481)
- Reduce server dist size by removing escape characters caused by JSON serialize
- Faster dev reloads and production start by removing extra JSON.serialize/JSON.parse time
- Less memory usage
- General performance improvements and refactors
2018-12-01 13:43:28 +03:30
Pooya Parsa
06ddfbb77b fix(webpack): deepClone before calling extendConfig (#4464) 2018-11-30 20:22:53 +00:00