Commit Graph

358 Commits

Author SHA1 Message Date
Kevin Marrec
4d5274215a feat(ts): add TSX support (#4613) 2018-12-23 02:12:20 +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
Clark Du
6a4808f576 fix(eslint): amp tags not support pascal case
[skip release]
2018-12-20 13:49:16 +00:00
Ricardo Gobbo de Souza
add80004ba feat(router): custom route name splitter (#4598) 2018-12-20 13:42:42 +01:00
Xin Du (Clark)
e71c4559ff feat: mode for plugins (#4592) 2018-12-20 12:58:10 +03:30
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
Xin Du (Clark)
e7df65be1a fix: detect plugin without extension (#4579) 2018-12-18 17:49:38 +03:30
Kevin Marrec
75e3df6be5 fix(ts): switch from babel preset to ts-loader (#4563) 2018-12-17 15:21:53 +00:00
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
Jonas Galvez
7831e57943 fix: properly serialize head functions (#4558)
#4079
2018-12-15 12:07:31 +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
Alexander Lichter
c60b1945e8 chore: cleanup (#4529) 2018-12-12 10:01:49 +03:30
Alexander Lichter
8e0b5081f2 fix: allow pcss ending for webpack loader (#4530)
[skip ci]
2018-12-12 09:52:43 +03:30
Dmitry Molotkov
33edef2d40 fix(webpack): allow changing devtool with extend (#4515) 2018-12-11 01:04:41 +03:30
Clark Du
e6808c57ef fest: add build.corssorgin (#4472) 2018-12-05 19:51:58 +03:30
Clark Du
5a8e6e4bdf fix: merge route.meta into options.meta (#4479)
[skip release]
2018-12-04 15:49:05 +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
Dmitry Molotkov
a6fed0acbd fix(vue-app): allow passing custom props to error function (#4462)
Resolves #4460.
2018-11-30 22:45:29 +03:30
Alexander Lichter
71136fc9b6 feat: allow lang="postcss" in Vue SFCs (#4417)
* fix: allow postcss lang as tag

* refactor: own postcss rule
2018-11-30 16:23:44 +01:00
Clark Du
701190d796
feat: preload and push modern resources in modern mode (#4362) 2018-11-26 12:09:30 +00:00
Dmitry Molotkov
949785f58e fix(server, vue-app): allow unicode page names (#4402) 2018-11-25 18:22:37 +03:30
Clark Du
52a92fbc48 refactor: use PascalCase for components names (#4396) 2018-11-24 22:19:19 +03:30
Clark Du
70f0dc3825 refactor: spa renderer (#4316) 2018-11-21 16:38:03 +03:30
Alexander Lichter
e0537d54be fix: fall back to default value when publicPath is falsy (#4365)
* test: let tests fail

* fix: add falsy default fallback

* fix(publicPath): force adding trailing slash

* fix: also change _publicPath
2018-11-20 18:12:05 +01:00
Pooya Parsa
27e79be285 fix(builder): add lodash inside templates (#4368) 2018-11-20 09:21:17 +00:00
Clark Du
0db1f26e64
fix(test): wrong route in error-handler-object test (#4363) 2018-11-19 16:06:48 +00:00
Clark Du
660ab37bff fix(tests): make assets in test consistent with build 2018-11-14 23:05:00 +03:30
Dmitry Molotkov
9fbd581557 fix: handle errors that are not error instances (#4321) 2018-11-14 22:47:44 +03:30
Clark Du
853ca4e7d4
refactor: styleLoader and postcss (#4318) 2018-11-12 21:18:50 +00:00
Alexander Lichter
d280bd8d5b chore(config): warn on unknown mode (#4303) 2018-11-11 14:51:53 +03:30
Alexander Lichter
692493f5aa chore: warn when styleResources is used without the community module (#4302)
[skip ci]
2018-11-10 03:29:40 +03:30
Pooya Parsa
7c4e77ffb9
feat: dx improvements (#4259) 2018-11-08 12:45:56 +03:30
Clark Du
2a36dbad22
feat: client mode modern and support dev/generate (#4264) 2018-11-07 23:37:06 +00:00
Alexander Lichter
b3eb4278a5 fix: serialize config head fn shorthand correctly (#4283)
[skip ci]
2018-11-08 02:03:09 +03:30
Pooya Parsa
1dd32d0d21 feat: update to consola 2 (#4247)
* add ~> addReporter

* remove badge

* withScope ~> withTag

* update to consola 2

* update build tests
2018-11-01 04:50:07 +01:00
Clark Du
bed0714fad
feat: modern build (#4231)
* feat: modern build

* refactor: use single module import for lodash

* refactor: add credit comment for modern plugin

* feat: ssr modern build

* fix: not null check for request

* fix: not null check for request.headers

* feat: add modern argument on build command

* refactor: simpilfy filenames for modern

* refactor: use packages/webpack src instead of dist in test

* test: add feature test for modern build
2018-10-31 15:52:35 +00:00
Pooya Parsa
39b558f59c
refactor core into sub-packages (#4202) 2018-10-31 00:12:53 +03:30
Paul Gascou-Vaillancourt
208eba3867 fix(app): Throw error only if value is undefined (#4206) 2018-10-27 20:11:42 +03:30
Clark Du
79eb9c8010
Set up CI with Azure Pipelines (#4190) 2018-10-25 12:33:07 +01:00
Dmitry Molotkov
a3ba6e96ca fix: check styleResources for existence (#4155) 2018-10-25 14:25:05 +03:30
Pim
96bdcaba01 fix(app): lint all templates (#4175) 2018-10-24 17:16:06 +03:30
Clark Du
811234ea02 ci: revert travis windows changes 2018-10-23 10:55:08 +01:00
Clark Du
818c66f567
ci: use travis instead of appveyor (#4168)
<!--- Provide a general summary of your changes in the title above -->

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (a non-breaking change which fixes an issue)
- [ ] New feature (a non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)


## Description
<!--- Describe your changes in detail -->
<!--- Why is this change required? What problem does it solve? -->
<!--- If it resolves an open issue, please link to the issue here. For example "Resolves: #1337" -->


## Checklist:
<!--- Put an `x` in all the boxes that apply. -->
<!--- If your change requires a documentation PR, please link it appropriately -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly. (PR: #)
- [ ] I have added tests to cover my changes (if not applicable, please state why)
- [ ] All new and existing tests are passing.
2018-10-22 14:02:17 +01:00
Alexander Lichter
f27939d4a7 feat(cli): support async nuxt.config.js (#4021) 2018-10-18 19:27:35 +03:30
Pooya Parsa
9c1e0d1743 feat: migrate nuxt into monorepo (#4051)
Co-authored-by: Clark Du <clark.duxin@gmail.com>
Co-authored-by: Pooya Parsa <pooya@pi0.ir>
2018-10-18 00:58:25 +03:30
Alexander Lichter
411e89e52c test(custom-dirs): fix custom-asset dir test (#4136) 2018-10-17 01:25:56 +03:30
Alexander Lichter
ae2d31ed19 fix(layouts): resolving with nested custom dir (#4135) 2018-10-17 01:25:28 +03:30
Clark Du
521c3778bd
fix: style module with extractCSS not work well (#4093)
* fix: style module with extractCSS not work well

* test: improve extract css test

* fix: exract css name
2018-10-11 22:53:02 +01:00
Clark Du
61407fec1d refactor: config Postcss preset and plugins together (#3927) 2018-10-09 15:56:11 +03:30
Jonas Galvez
a3dd7dad6b feat: configurable global name (#4012)
Co-authored-by: JuliaNeumann <jn.julianeumann@gmail.com>
2018-10-09 15:38:33 +03:30
Felipe Lübe de Bragança
232bc0196f feat: missing pages directory warning (#4054)
## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (a non-breaking change which fixes an issue)
- [x] New feature (a non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)


## Description
Resolves #3920 by adding a warning during the build process and a small disclaimer into the default page component.


## Checklist:
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly. (PR: #)
- [x] I have added tests to cover my changes (if not applicable, please state why)
- [x] All new and existing tests are passing.
2018-10-05 13:37:55 +01:00
Clark Du
0393bf781c feat: use understandable file names for analyze mode (#4014)
* feat: use understandable file names for analyze mode

* test: asset name for analyze mode

* refactor: add warning message for analyze mode

* refactor: move analyze warning to builder

* test: analyze warning message
2018-09-30 18:11:20 +02:00
Dmitry Molotkov
df148a896e fix: properly serialize undefined in vuex store (#3913)
* allow to serialize undefined variable in vuex store

* test properly

* fix test

* lock
2018-09-25 10:51:07 +02:00
Clark Du
1c34651baa fix: css-loader 1.0 removed alias (#3741)
BREAKING CHANGE
2018-09-19 13:16:21 +04:30
Tatsuyuki Ishi
d1f6f0dc09 loading: add throttle option to skip progress for fast loads (#3886)
* loading: add throttle option to skip progress for fast loads

* Disable some tests relying on internals
2018-09-18 18:16:27 +02:00
Dmitry Molotkov
5af65527b0 allow plugin in directory with index.js file (#3908)
* allow plugin in directory with index.js file

* add test for plugin in dir

* fix: refacto plugins key
2018-09-18 18:06:55 +02:00
Sébastien Chopin
6975655d78
feat: Overwrite store.registerModule (#3909)
* feat: Overwrite store.registerModule

Make `store.registerModule` works seamlessly with server-side rendering.

* fix: test failure
2018-09-18 17:21:25 +02:00
Clark Du
281e2dc600 test: skip sockets test in windows platform 2018-09-13 10:07:34 +01:00
Clark Du
85c9c00b73 fix: no-ssr test error 2018-09-13 10:02:49 +01:00
Alexander Lichter
1e0219543a feat: automatically include env variables starting with NUXT_ENV_ (#3862) 2018-09-09 01:38:25 +04:30
Alexander Lichter
f87992530e feat(webpack/client): minify extracted css assets (#3857) 2018-09-09 01:18:46 +04:30
Alexander Lichter
b74d537cba feat(renderer): make compression middleware customizable (#3863) 2018-09-09 00:48:14 +04:30
Alexander Lichter
6e8a51509c feat(builder, module): allow error layouts to be added through addLayout. closes #3194. (#3834) 2018-09-02 13:52:10 +04:30
Jonas Galvez
72479687d9 feat(core, cli): builtin support of https and unix sockets (#3831)
Co-authored-by: Aurélien Chrétien <aurelien@manager.one>
Co-authored-by: Rémy Sanchez <remy.sanchez@hyperthese.net>
2018-09-02 13:50:25 +04:30
Clark Du
b11e9c0e51
feat: upgrade eslint to 5.x (#3494)
- [ ] babel-eslint https://github.com/babel/babel-eslint/issues/664
- [x] eslint-config-standard-jsx https://github.com/standard/eslint-config-standard-jsx/issues/32
- [x] eslint-config-standard to be stable release https://github.com/standard/eslint-config-standard/issues/123
- [x] eslint-plugin-html
- [x] eslint-plugin-import
- [x] eslint-plugin-jest
- [x] eslint-plugin-node
- [x] eslint-plugin-promise
- [x] eslint-plugin-standard https://github.com/standard/eslint-plugin-standard/issues/29
- [x] eslint-plugin-vue https://github.com/vuejs/eslint-plugin-vue/pull/504
- [x] eslint-plugin-react https://github.com/yannickcr/eslint-plugin-react/releases/tag/v7.10.0
2018-08-31 21:34:12 +01:00
Pooya Parsa
83d9dc4105 test: add tests for validate with error 2018-08-25 22:24:16 +04:30
Jonas Galvez
608b913b8a feat: async validate() (#3797) 2018-08-25 14:12:00 +04:30
Clark Du
3f7c5f64ed
fix: async fetch and asyncData not trigger ErrorHandler (#3781) 2018-08-22 14:10:43 +01:00
Sébastien Chopin
820f0fae1a
[WIP] Hooks: render:routeContext and render:routeDone (#3773)
* hooks: Add render:routeDone hook

* hooks: Deprecate render:context and add render:routeContext

* refactor: delegate context to routeContext

* test: Add test for render:routeDone hook

* lint: Fix lint issue
2018-08-21 18:35:46 +02:00
Jonas Galvez
f0f307553f Filter out non-strings (serverMiddleware watch fix) (#3771)
* Filter out non-strings

* Add serverMiddleware function

* Add serverMiddleware function (2)

* Add serverMiddleware function (3)
2018-08-20 16:43:23 +02:00
Clark Du
b920f22483
refactor: add hooks (#3772) 2018-08-20 15:20:45 +01:00
Jonas Galvez
97910de3ec Improve hooks in nuxt.config.js (#3766)
* Improve hooks in nuxt.config.js

* No mult-line for
2018-08-20 14:19:09 +02:00
Alexander Lichter
e26f23b74a feat: respect beforeEnter for route if set (#3760)
* feat: respect beforeEnter for route if set

* test: add redirecting beforeEnter function and test
2018-08-18 18:15:37 +02:00
Clark Du
432720b8c8 fix: appveyor test failure (#3754)
* fix: appveyor test failure

* ci: bring back yarn cache

* ci: turn off matrix

* refactor: use babel instead of esm in jest

* refactor: use es modules in fixtures
2018-08-17 22:25:23 +02:00
Clark Du
c395e20e5b refactor: mock consola in test 2018-08-16 17:23:26 +01:00
Clark Du
50be809b1c
refactor: plugin sanity check (#3743) 2018-08-16 16:34:32 +01:00
Clark Du
a22cabe949 test: for postcss preset 2018-08-15 15:53:31 +01:00
Clark Du
128dcbe266 refactor: add build.postcss.preset config 2018-08-15 15:22:26 +01:00
Jonas Galvez
f184016197 Server middleware watcher (#3718)
See https://github.com/nuxt/nuxt.js/issues/1509

Status: improving tests.
2018-08-14 19:35:25 +01:00
Clark Du
5ddc394a50
fix: return 404 if extendRoutes without Component (#3608)
resolve #3351
2018-08-13 17:27:20 +01:00
Anthony Fu
0dff1b8fe9 feat: support server option in nuxt.config.js to set PORT and HOST (#3701)
* feat: support `server` option in `nuxt.config.js` to set PORT and HOST

* lint

* change the conifg priority to `argv > nuxt.config.js > env.NUXT_PORT > env.PORT > package.json > default`

* check for `options.server`
2018-08-12 15:26:30 +01:00
Clark Du
937dfe8183 refactor: add listening message in cli tes 2018-08-12 14:35:24 +01:00
Clark Du
b60c4fd432 refactor: add build.quiet config 2018-08-12 14:35:24 +01:00
Clark Du
3a825dc773
fix: error when plugin not specify js extension (#3692) 2018-08-11 19:18:31 +01:00
Alexander Lichter
960f4fe47e feat: make appTemplatePath customizable (#3678)
related: #1925
2018-08-10 16:23:09 +01:00
Jonas Galvez
75d6c4e33a Display proper error when specified plugin isn't found (#3672)
Picking up on https://github.com/nuxt/nuxt.js/pull/3434 -- synced with dev and tests included.
2018-08-10 15:48:27 +01:00
Jonas Galvez
1842a3b5cb Relative path in custom watchers (#3673)
This was missing in #3633.
2018-08-10 11:37:05 +01:00
Jonas Galvez
8d21b60a24 Render dist options (#3671)
Picking up on [yet another abandoned PR](https://github.com/nuxt/nuxt.js/pull/2933/files). Made all changes suggested by @clarkdo and wrote a test.
2018-08-10 10:34:55 +01:00
Alexander Lichter
b4d81dc584 lint: require await in async function (#3676)
* lint: require await in async function

* lint: replace "error" with 2 in config
2018-08-10 08:41:23 +01:00
Alexander Lichter
cb18aa6f53 feat: add Vue.config configuration to nuxt.config.js (#3655)
After #3564 and the request of #3427  (plus #3452) I decided to add a dedicated `vueConfig`object to the `nuxt.config.js` file.

The keys will be projected on Vue.config.

By default, `Vue.config.performance` is enabled in dev mode, `Vue.config.silent` is enabled in production mode.

Doc PR incoming.

Resolves: #2910, #3427
2018-08-08 20:05:23 +01:00
Jonas Galvez
a522aaf125 misc: add user-defined chokidar files to watch (2) (#3633)
* misc: add user-defined chokidar files to watch

* Improved user-defined chokidar files setup

* Improved user-defined chokidar files setup (2)

* Added custom file for CLI watch test

* Added cli.dev.test.js

* Added cli.dev.test.js (2)

* Remove cli-start/cli.dev, just use cli.test

* Refactored CLI test

* Missing dot in fname

* Improved user-defined chokidar files setup (3)

* Fix killNuxt()

* Remove genHandlers

* Refactored CLI test (2)

* Refactor exitCode

* Remove debugging code

* Remove debugging code (2)

* Linting

* Linting (2)

* Disable nuxt-start test for now

* Disable nuxt-start test for now (2)

* Tweaking nuxt-start test

* Tweaking nuxt-start test (2)

* Tweaking nuxt-start test (3)

* Fix ext

* Tweaked wait params

* Fix conflicts

*  hotfix

* nuxt-dev tweak

* Add blank line after variables declaration

* Disable waitFor() test due to random failure in appveyor

* Fixed error msg

* Refactored into builder.js

* Refactored into builder.js (2)

* Remove unnecessary import from nuxt-dev

* Fixed nuxt-dev test

* Debugging nuxt-dev test

* Debugging nuxt-dev test (2)

* Skip in appveyor

* Linting

* Requested changes

* Hook into nuxt-dev

* Hook into nuxt-dev (2)

* Get fname

* Get fname (2)

* Get fname (3)

* Change hook name

* Fixed conflict
2018-08-08 19:51:57 +01:00
Clark Du
6aaf839d54
feat: call global vue errorHandler in fetch and asyncData (#3652)
resolve #3335
2018-08-08 11:11:08 +01:00
Jonas Galvez
de5b36a574 loading: false e2e test fix (#3635)
*  hotfix

* Fixed manual loading test

* Disable waitFor() test due to random failure in appveyor
2018-08-06 20:42:26 +02:00
Clark Du
dbbcac1f4f fix: add cssnano in ssr test 2018-08-06 18:42:23 +01:00
Jonas Galvez
fe9dd166df Fixed conflicts 2018-08-06 06:45:39 -03:00
Jonas Galvez
3f1d634fb7 Consistent parens in arrow functions (#3630)
* Minor consistency enhancements

* Arrow parenthesis consistency

* Change linting rule

* Fix typo

* Update .eslintrc.js to only require parens for blocks

* Update style according to brace-only suggestion

* Remove --fix from lint

* Tweak no-loading time (failing test)

* Tweak no-loading time (failing test) (2)

* Tweak no-loading time (failing test) (3)

* Tweak no-loading time (failing test) (4)

* Tweak no-loading time (failing test) (5)
2018-08-06 02:12:44 +02:00
Jonas Galvez
0e42e98751 Add loading: false option to pages (#3629)
* Add hasManualLoading

* Add hasManualLoading (2)

* Debugging

* Debugging (2)

* Change 'manual' to false

* Add custom-page-loading example

* Add custom-page-loading example (2)

* Changed approach

* Added custom-page-loading/README.md

* Change running loading time in about.vue

* Patch loadAsyncComponents

* Added final page

* Changed approach (2)

* Fixed example

* Fixed example (2)

* Fix example package name

* Linting

* Improved examples (more to the point)

* Linting (2)

* Fix typo

* Adjust indentation

* Added noloading.vue to basic fixture

* Added noloading tests

* Linting (3)

* Debugging test

* Linting (4)

* Debugging test (2)

* Debugging test (3)
2018-08-05 23:56:49 +02:00
Clark Du
241a071a3e test: add postcss custom feature test case 2018-07-25 17:58:24 +01:00
Alexander Lichter
65d318d475 refactor: remove unused variables (#3576) 2018-07-25 09:00:21 +01:00