Commit Graph

476 Commits

Author SHA1 Message Date
Pooya Parsa
c2befae5db Refactor with async/await instead of yield 2017-05-16 01:21:27 +04:30
Pooya Parsa
32ac90482e Merge remote-tracking branch 'remotes/origin/fix-middleware' into dev
# Conflicts:
#	lib/app/server.js
#	lib/app/utils.js
#	lib/generate.js
#	yarn.lock
2017-05-15 15:33:52 +04:30
Pooya Parsa
52ee3d050d update tests 2017-05-15 03:47:13 +04:30
Pooya Parsa
0eb3fc4a05 update tests 2017-05-15 03:31:41 +04:30
Pooya Parsa
632a94a9c6 [module] Tests 2017-05-15 03:03:31 +04:30
Pooya Parsa
59ece4978e fix plugins injectAs 2017-05-15 02:26:00 +04:30
Pooya Parsa
cb524e0424 [module] remove extra dot in generated template names
node.js preserves dot in ext
2017-05-15 01:29:06 +04:30
Pooya Parsa
2d7b1b1d60 [module] pass ssr as is
This prevents defaulting ssr to false when undefined
2017-05-15 01:26:30 +04:30
Pooya Parsa
11cb84d239 [module] support plugins injectAs 2017-05-15 01:09:27 +04:30
Pooya Parsa
c7f31b6492 Merge branch 'modules' into dev 2017-05-15 00:36:07 +04:30
Sébastien Chopin
6a6b978cd1 Makes generate asynchronous 2017-05-14 20:21:14 +02:00
Sébastien Chopin
264db1bf8b Merge pull request #702 from jroxendal/asyncify-generate
rewrote generate.js to async/await instead of coroutines
2017-05-14 19:38:05 +02:00
Pooya Parsa
0220be4466 [store] fix condition where root store is not exporting state 2017-05-13 23:22:37 +04:30
Pooya Parsa
437586d92b [store] check if storeData.state is function for workaround 2017-05-13 22:22:04 +04:30
Pooya Parsa
05725d70e7 [store] fix 2017-05-13 22:15:42 +04:30
Pooya Parsa
2cdeab5661 [Store] Fix createStore bug 2017-05-13 22:02:11 +04:30
Pooya Parsa
be80f95278 middleware ~> serverMiddleware
To avoid confuse between client and serverSide middlewares
2017-05-12 23:24:00 +04:30
Pooya Parsa
a6f1ce7465 Merge remote-tracking branch 'origin/master' into modules 2017-05-12 23:06:15 +04:30
Pooya Parsa
9c1060e06c 🔥 Server Middlewares
This commit adds `middlewares` option to nuxt and accepts connect style middlewares.
Also modules can register middlewares using `this.addMiddleware()` method.
Each entry can be a simple middleware function or {path, handler} to support paths.
2017-05-12 14:52:06 +04:30
Pooya Parsa
d98c24b9b9 close customFilesWatcher on nuxt::close 2017-05-12 12:57:59 +04:30
Pooya Parsa
5d23dfc49e watch for custom provided templates on edit event 2017-05-12 12:57:06 +04:30
Pooya Parsa
12727d1165 [modules] Watch for template changes
`build.watch` option was added
2017-05-12 12:45:37 +04:30
Pooya Parsa
2c37811032 [modules] Add extendRoutes 2017-05-12 12:27:24 +04:30
Pooya Parsa
d57ea4de88 Simpler dst file name generation
Module developers can easily customize filename using fileName key
otherwise it is generated using `[dirname].[filename].[hash].[ext]` template
2017-05-12 00:07:59 +04:30
Pooya Parsa
7835e3611d correct templateVars usage 2017-05-12 00:00:22 +04:30
Pooya Parsa
4869770570 remove unneeded renderPlugins calls 2017-05-11 23:55:45 +04:30
Pooya Parsa
b701424aae [modules] Support promise 2017-05-11 23:34:50 +04:30
Pooya Parsa
336ebd4959 templatesFiles ~> templates 2017-05-11 23:17:53 +04:30
Pooya Parsa
4800a9e8fd build.templatesFiles
This feature adds advanced plugin and template support to modules
2017-05-11 22:41:00 +04:30
Pooya Parsa
ef6f0da146 ESLint 2017-05-11 18:29:36 +04:30
Johan Roxendal
40a167258b rewrote generate.js to async/await instead of coroutines 2017-05-11 14:12:25 +02:00
Pooya Parsa
a8d681af3f Fix Module Require 2017-05-11 16:28:20 +04:30
Sebastien Chopin
ac836c77de Update tests 2017-05-11 13:37:21 +02:00
Pooya Parsa
497d673727 Install all modules in sequence before nuxt init
For this functionality Nuxt constructor would return a Promise so all bin commands updated to resolve promise before using nuxt
2017-05-11 15:53:58 +04:30
Pooya Parsa
5039459f06 basic API ported from nuxt-modules 2017-05-11 15:29:08 +04:30
Pooya Parsa
9db29942e6 Add basic module integration 2017-05-11 14:34:15 +04:30
Pooya Parsa
252e5cce0a Explicit srcDir and rootDir
This makes dir and srcDir consistent and explicitly defined in both places.
2017-05-11 14:18:09 +04:30
Pooya Parsa
ffefa6d724 defaults deep options
This will help modules easily append to options without need to checking and creating arrays.
2017-05-11 14:12:20 +04:30
Pooya Parsa
5662aa22f7 add modules key to nuxt config 2017-05-11 13:41:27 +04:30
Andrii Korzh
4beaecdc5c add linkExactActiveClass
Pass linkExactActiveClass to router options
2017-05-09 21:46:11 +03:00
Andrii Korzh
77d35ab594 add linkExactActiveClass to router options
From version 2.5.0+ exact active class supported https://router.vuejs.org/en/api/options.html#linkexactactiveclass
2017-05-09 21:44:53 +03:00
Sebastien Chopin
64abcc04a8 Fix middleware on client-side 2017-05-09 14:43:47 +02:00
Sebastien Chopin
9099b00963 Merge branch 'master' into fix-middleware 2017-05-09 14:18:25 +02:00
Johan Roxendal
63568ceb24 added sourcemaps support to scss-loader and css-loader 2017-05-09 13:24:55 +02:00
Sébastien Chopin
bce3784921 Merge pull request #682 from jroxendal/fix-scss
scss should be handled by sass-loader
2017-05-08 23:17:47 +02:00
Sébastien Chopin
888811f5f4 Fix middleware on server-side 2017-05-08 19:30:57 +02:00
Johan Roxendal
0fe5b2c17f Fixed refractoring error in generate 2017-05-08 09:22:35 +02:00
johan.roxendal@gu.se
b6c5428da5 scss should be handled by sass-loader 2017-05-07 21:46:57 +02:00
Sebastien Chopin
e148e4b93a Add extractCSS option 2017-05-05 17:53:21 +02:00
Sébastien Chopin
072216c045 Merge branch 'master' into fixes 2017-05-05 16:50:24 +02:00
Sebastien Chopin
333e3cf13a Add other extensions 2017-05-05 16:48:12 +02:00
Sebastien Chopin
7f1bf3d5f0 Fix typo 2017-05-05 16:48:04 +02:00
Sebastien Chopin
6178527177 Improve logs 2017-05-05 16:47:50 +02:00
Sebastien Chopin
39db08c95b Lint 2017-05-05 16:47:28 +02:00
Pooya Parsa
6504b0666a ESLint Fixes 2017-05-05 18:45:00 +04:30
Pooya Parsa
e2e849fbd2 [vue-style-loader] Inline global css on SSR
Currently with `<style src>` approach global styles are injected on
runtime only and this may affect page render performance.
2017-05-05 18:40:12 +04:30
Sebastien Chopin
01b02a9010 Add typescript compatibility 2017-05-05 14:07:54 +02:00
Sebastien Chopin
fd833216df Format code 2017-05-05 12:11:32 +02:00
johan.roxendal@gu.se
70f959ccb8 rolled back changes to render, re-jiggled handling of errors in generate. 2017-05-05 11:47:24 +02:00
Johan Roxendal
d469f38d98 Adds generate error report from renderer and minification. Changes the behavior where generate would terminate on error, now it instead gathers the error from crashing routes and compiles an error report. 2017-05-05 10:59:33 +02:00
Pooya Parsa
a04a563f8d create store only when available 2017-05-02 15:36:22 +04:30
Pooya Parsa
affbc9c81f fixClientManifest no needed as of vue 2.3.1 2017-05-02 14:31:15 +04:30
Evan You
74652e3974 make use of runInNewContext: false 2017-05-02 13:33:09 +04:30
Pooya Parsa
6ee5d958a7 cleanups 2017-04-30 17:24:14 +04:30
Pooya Parsa
2e75f22a08 add options.ssr
This allows setting custom vue renderer options. including:
- shouldPreload(file, type)
- runInNewContext
- directives

https://ssr.vuejs.org/en/api.html#renderer-options
2017-04-30 17:10:04 +04:30
Pooya Parsa
87172100c7 [vue-loader] allow using builtin extractCSS functionality
This option is disabled by default and won't affect exiting users.
However users can easily enable this option using `nuxt.build.extractCSS`

Implementation is according to:
- https://github.com/vuejs/vue-loader/tree/master/docs/en/configurations
- https://ssr.vuejs.org/en/css.html
- https://github.com/vuejs/vue-hackernews-2.0/tree/master/build
2017-04-30 16:28:25 +04:30
Pooya Parsa
56c39bea88 fix tests 2017-04-30 02:39:40 +04:30
Pooya Parsa
8391f308b7 [jsdom] use new VirtualConsole constructor 2017-04-30 01:40:56 +04:30
Pooya Parsa
d9ed6ecea9 integrate template with server renderer 2017-04-27 22:36:10 +04:30
Pooya Parsa
750276b3f6 refactor client watch
Fixes duplicate READY message
2017-04-27 21:14:31 +04:30
Pooya Parsa
ac151a41f0 Basic vue-server-renderer/client-plugin integration 2017-04-27 15:50:43 +04:30
Pooya Parsa
8db3a22db9 deprecated vue-ssr-webpack-plugin in flavor of vue-server-renderer 2017-04-27 13:24:18 +04:30
Sebastien Chopin
10d18bc454 Add generate.interval 2017-04-25 15:00:42 +02:00
johan.roxendal@gu.se
afa2e6b05c Implemented wait in generate function so generation of dynamic routes with ajax calls are not all sceduled simultaneously, possibly flooding the data backend with queries.
Use generate.wait (ms) to stagger route generate calls over time.

Fixes #590.
2017-04-25 14:04:49 +02:00
Mihal Malostanidis
5e21a057aa Fix Ctrl-C Ctrl-V typo in comments 2017-04-25 14:03:26 +03:00
Sebastien Chopin
65a3ad5b08 Generate bundles in dist/ if url given 2017-04-25 11:17:23 +02:00
Sébastien Chopin
2eecb8c0de Add webpackChunkName 2017-04-17 18:15:37 +02:00
Sébastien Chopin
e69aa7c401 Simplify offline plugin 2017-04-17 15:27:32 +02:00
Sébastien Chopin
ec8291ea4c Fix lint style 2017-04-15 13:19:41 +02:00
Sebastien Chopin
b5330a063d Use cheap-module-source-map 2017-04-14 16:31:31 +02:00
Sebastien Chopin
e2ad6517e2 Give this to data() 2017-04-14 16:31:14 +02:00
Sebastien Chopin
ee6db19c8d Update style 2017-04-14 11:57:30 +02:00
Sebastien Chopin
55db6e336f Add injectAs feature 2017-04-14 11:57:08 +02:00
Sebastien Chopin
25066545bb Merge branch 'master' of github.com:nuxt/nuxt.js 2017-04-10 18:45:01 +02:00
Sebastien Chopin
b11a4d761b Add injectAs to work with external plugins 2017-04-10 18:44:08 +02:00
Sébastien Chopin
2560bfb512 Merge branch 'master' into offline-plugin-integration 2017-04-08 11:33:32 +02:00
Sébastien Chopin
5412ddc8d1 Merge pull request #456 from taldy/nuxtserverinit-promises-improvement
Support other implementations of Promises inside nuxtServerInit (currently only HTML5 Promises works correctly)
2017-04-06 12:33:29 +02:00
taldy
1ba4adca70 Fix codestyle 2017-04-06 12:18:27 +03:00
taldy
c22b0b790b Simplify fix and cover other Promise checks 2017-04-06 12:09:56 +03:00
Ilya
6c0f138b7d fix server validate 2017-04-05 22:33:11 +03:00
Sébastien Chopin
3e7d0a19ed Update client.js 2017-04-05 21:25:44 +02:00
Ilya
17db23f45f fix in client : validate method 2017-04-05 21:40:46 +03:00
Sébastien Chopin
4c012e93af Update server.js 2017-04-05 18:25:35 +02:00
Sébastien Chopin
99a03812a4 Update client.js 2017-04-05 18:25:12 +02:00
Sébastien Chopin
9c4244635c Update server.js 2017-04-05 18:24:48 +02:00
Sébastien Chopin
7ef6411269 Update client.js 2017-04-05 18:24:15 +02:00
Ilya
99400bb12d server proposal for validation 2017-04-05 19:14:45 +03:00
Ilya
42e16a650b proposal for validation pages 2017-04-04 14:25:48 +03:00
Walter Ye
e7bcdc736e pass 'this nuxt' context in extend webpack config
// nuxt.config
build: {
    extend (config, {dev, isClient}) {
      // get this context here
      config.resolve.alias['~services'] = join(this.srcDir, 'services');
    },
}
2017-04-01 13:34:09 +08:00
Sébastien Chopin
d576dad069 Fix eslint + istanbul 2017-03-28 16:28:24 +02:00
Sébastien Chopin
f6a02a1ac6 Disable performance hints for SSR 2017-03-27 18:06:57 +02:00
Sébastien Chopin
2f2eaac299 Add debug for redirect on ssr 2017-03-26 23:38:51 +02:00
taldy
93c4be2d28 Support other types of Promises returned by nuxtServerInit() 2017-03-26 17:54:27 +03:00
Sébastien Chopin
617999a60a Add manifest 2017-03-26 00:52:39 +01:00
Ralph Huwiler
78ea2591c2 Create nested modules for each folder in ./store 2017-03-25 21:21:11 +01:00
Sébastien Chopin
3b635323a4 Add layout in __NUXT__ 2017-03-25 18:59:58 +01:00
Sébastien Chopin
1cefff8194 Add watchers option and url after build 2017-03-25 15:16:07 +01:00
Alexandre Chopin
c9784651e9 add gzip configuration 2017-03-25 12:57:38 +01:00
evseevnn
435337529a fix - store no available to context on client side 2017-03-25 12:30:23 +07:00
evseevnn
8ec4eb908f fix - store no available to context on client side 2017-03-25 12:23:42 +07:00
Sébastien Chopin
c4962f09a9 Improve chokidar watch on middleware and store 2017-03-25 05:06:12 +01:00
Sébastien Chopin
89ed672f10 Add common pre-processors in nuxt 2017-03-25 03:38:19 +01:00
Sébastien Chopin
7a34763277 Fix webpack building loop 2017-03-25 03:17:26 +01:00
Sébastien Chopin
019d00fadb no source maps on production 2017-03-25 03:17:15 +01:00
Sébastien Chopin
4431dfa368 revert to no-cdn publicPath 2017-03-24 18:54:54 +01:00
Sébastien Chopin
8831331e3d Fix hot reloading 2017-03-24 16:52:18 +01:00
Sébastien Chopin
3f4ea1064d Remove PostCompilePlugin 2017-03-24 16:51:16 +01:00
Sébastien Chopin
7333e7a758 Update webpack perfs hints 2017-03-24 16:12:59 +01:00
Sébastien Chopin
221bcb5e33 Fix tests 2017-03-24 16:11:56 +01:00
Sébastien Chopin
52d1df7a24 Fix updated route in context + error handling 2017-03-24 15:49:24 +01:00
Sébastien Chopin
26083a9de0 Avoid using req.url 2017-03-24 13:52:15 +01:00
Sébastien Chopin
1c3b2c077a Add build.vendor in externals too 2017-03-24 03:57:07 +01:00
Sébastien Chopin
4ba3982307 Add duration property in transition 2017-03-24 03:00:35 +01:00
Sébastien Chopin
4034801fc9 Replace store state the soonest possible 2017-03-24 01:35:57 +01:00
Sébastien Chopin
474f68e46e Call store.replaceState on start 2017-03-24 01:28:38 +01:00
Sébastien Chopin
cfd6b197c4 Improve error handling on SSR 2017-03-24 01:28:19 +01:00
Sébastien Chopin
d4db5792a4 Improve webpack config
- Remove filenames.css
- Add FriendlyErrorsWebpackPlugin()
- Add sourceMaps for UglifyJS
- Minify CSS for server-rendered pages
- Add css-loader for imports
2017-03-24 01:28:04 +01:00
Sébastien Chopin
53f9d62fce Add generate.minify option 2017-03-24 01:25:41 +01:00
Sébastien Chopin
8f277af03b Set prefetch to true by default 2017-03-24 01:25:27 +01:00
Sébastien Chopin
5102e819fe Use data-* for vue-meta (valid markup)
- data-*
- remove defer for __NUXT__ script
2017-03-24 01:24:50 +01:00
Sébastien Chopin
64f83b71c3 Vue 2.2 and styles included 2017-03-22 15:47:34 +01:00
Sébastien Chopin
6ab20cc6b6 Fix error object 2017-03-22 10:37:20 +01:00
Sébastien Chopin
2a005308d2 throw error for tests 2017-03-20 19:19:57 +01:00
Sébastien Chopin
1cd5c0d68b Merge branch 'master' into 0.10.0
# Conflicts:
#	lib/generate.js
#	lib/utils.js
2017-03-20 17:53:39 +01:00
Sébastien Chopin
a81862e77f Upgrade dependencies & lint 2017-03-20 17:52:35 +01:00
Pierre RAMBAUD
c99571e78e Typo fix, const must be renamed clientCompiler 2017-03-20 12:11:20 +01:00
Sébastien Chopin
8cdd10274f Use empty array if routes not given 2017-03-17 18:52:36 +01:00
Sébastien Chopin
b6856928db Dynamic layout feature 2017-03-17 18:02:58 +01:00
Sébastien Chopin
fb7b856343 force calling middleware from error page 2017-03-16 21:00:22 +01:00
Sébastien Chopin
0a595bd1c3 Merge remote-tracking branch 'origin/0.10.0' into 0.10.0
# Conflicts:
#	lib/generate.js
#	lib/utils.js
2017-03-16 18:54:37 +01:00
Sébastien Chopin
e8056f67eb Fix url starting with double slash 2017-03-16 18:52:38 +01:00
Sébastien Chopin
65eeff332e Fix hotReloading for children 2017-03-16 18:52:06 +01:00
rohitpal
7eccd429ca fixed import 2017-03-12 05:32:28 +05:30
rohitpal
2da8ba84c9 offline-plugin-integration initial commit 2017-03-12 05:25:01 +05:30
Alexandre Chopin
cd16c2f6d2 change generate.routeParams to generate.routes 2017-03-06 20:00:26 +01:00
Sébastien Chopin
b8727b8d51 Fix asyncData on hot reloading 2017-03-02 17:31:37 +01:00
Sébastien Chopin
8253f5e75b Add plugin ssr option & rename process.browser 2017-03-01 17:54:44 +01:00
Sébastien Chopin
6773c98d28 Remove build logs in dev 2017-02-28 17:32:12 +01:00
Sébastien Chopin
40d52645e8 asyncData 2017-02-28 13:11:29 +01:00
Sébastien Chopin
996613ce8b prefetch only in production 2017-02-28 13:11:29 +01:00