Commit Graph

508 Commits

Author SHA1 Message Date
songyazhao
165c80d94b fix(SSR plugin): use isJS for matching assets (#3387) (#4073) 2018-10-10 12:20:07 +03:30
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
Alexander Lichter
d69b4b8b12 feat: abstract minify and use value for all modes (#3965)
* feat: abstract minify and use value for all modes

* change name to htmlMinify

* only override htmlMinify with legacy value in generate mode

* Use default options for htmlMinify and add override info to warning

* Remove redundant minification settings

* Override minification settings in generator

* Cleanup and add TODO for nuxt 3

* Improve warning

* set default minify option to "true"

* make tests pass again

* remove the culprit

* replace htmlMinify with html.minify
2018-09-30 18:12:38 +02: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
Pooya Parsa
8f06a187db feat(builder): allow to customize or disable minimizer plugins (#4018)
* feat(builder): allow to customize or disable minimizer plugins

* feat: support optimization.minimize

https://webpack.js.org/configuration/optimization/#optimization-minimize

* fix typos
2018-09-30 18:09:06 +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
Pooya Parsa
b69cabef88 hotfix: use terser-webpack-plugin (#3928)
<!--- 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 (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)


## Description
Webpack requires `uglifyjs-webpack-plugin@1.x`. thus `uglifyjs-webpack-plugin@2.x` may not resolve correctly. Also, the webpack team decided to go with `terser-webpack-plugin` (https://github.com/webpack/webpack/pull/8036).


## 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 passed.
2018-09-20 22:49:43 +01:00
Sébastien Chopin
879ea846a4 fix: Display stack when unhandled error when generating a route 2018-09-19 12:40:05 +02:00
Clark Du
1c34651baa fix: css-loader 1.0 removed alias (#3741)
BREAKING CHANGE
2018-09-19 13:16:21 +04:30
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
Pim
226b90d4ae fix: prevent removing project by mistake due to build or generate paths (#3869) 2018-09-14 11:36:44 +04:30
Clark Du
c77fa479f6 feat(webpack, builder): allow extending loader options (#3799) 2018-09-10 12:57:01 +04:30
Alexander Lichter
f87992530e feat(webpack/client): minify extracted css assets (#3857) 2018-09-09 01:18:46 +04:30
Clark Du
14e608bf43 refactor: tiny change on filename escape pattern 2018-09-05 16:13:35 +01:00
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
Indrek Ardel
674e9ed545 feat(builder, webpack): allow loading webp images as assets (#3827) 2018-09-01 08:56:10 +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
Mihal Malostanidis
a2168ae4f9 nit: Make fs more parallel 😂👌 (#3795) 2018-08-24 19:20:57 +01:00
Pim
43f639b88e fix: fallback should always be a string (#3792)
The SPA fallback option should always be a string, if the user configuration was specifed as boolean true it should have been replaced by the default string value (currently 404.html) in lib/common/options.js

Added test on empty string

Added missing test for spa-fallback.html
2018-08-23 19:33:02 +02:00
Clark Du
567dc860c1 feat: new filenames structure (#3789)
* feat: new filenames structure

* refactor: codes format

* refactor: remove [path] in output filename

* refactor: use chunkhash for js files

* refactor: remove normalizeFileName
2018-08-22 23:54:08 +02:00
Sébastien Chopin
22559a838c
code: Update code style, remove else 2018-08-22 20:12:07 +02:00
Clark Du
e8414291b4
refactor: functional filename should be called from webpack (#3788)
@Atinux Improvement for #3787
2018-08-22 16:47:52 +01:00
Clark Du
3612ecd435 feat: support functional filenames (#3787) 2018-08-22 17:08:51 +02:00
Clark Du
8230354d1b feat: webpack refactor (#3747)
* refactor: use more standard entrypoint config

* refactor: fix dev entry name

* refactor: webpack devtool and optimization
2018-08-22 16:24:47 +02:00
Tatsuyuki Ishi
716c04f4e9 Isolate client and server artifacts (#3758) 2018-08-20 18:04:55 +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
Tatsuyuki Ishi
715df92eac Use getFilename for url-loader assets (#3759)
Now they get [name] removed in production.
2018-08-18 10:00:35 +01:00
Clark Du
565ab7086a
fix: disable template literals in loadash template (#3753) 2018-08-17 09:55:24 +01:00
Clark Du
a3a8c0c9db
refactor: move UglifyJs after extend for getting updated devtool (#3748) 2018-08-16 22:35:38 +01:00
Clark Du
673a38216f refactor: extract customize webpack function (#3745) 2018-08-16 19:14:26 +02:00
Clark Du
50be809b1c
refactor: plugin sanity check (#3743) 2018-08-16 16:34:32 +01:00
Clark Du
128dcbe266 refactor: add build.postcss.preset config 2018-08-15 15:22:26 +01:00
Clark Du
1492a13162 refactor: nuxt dev watcher (#3732) 2018-08-15 13:48:34 +02: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
85a8af570d refactor: use resloveAlias for watch 2018-08-13 22:25:03 +01:00
Clark Du
b60c4fd432 refactor: add build.quiet config 2018-08-12 14:35:24 +01:00
Jonas Galvez
ec52104ec1 Fix chokidar on() handler (#3694)
@clarkdo need to merge this asap -- related to https://github.com/nuxt/nuxt.js/pull/3633#discussion_r209436334
2018-08-11 21:43:25 +01:00
Clark Du
3a825dc773
fix: error when plugin not specify js extension (#3692) 2018-08-11 19:18:31 +01:00
Clark Du
c4792d247b refactor: options.test from env CI or test 2018-08-10 17:37:20 +01:00
Clark Du
cf06559fa6 refactor: remove unused option ci 2018-08-10 17:12:33 +01:00
Clark Du
4472a5003e refacotr: reduce duplicate call of plugins getter 2018-08-10 16:39:07 +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
Clark Du
9b060f3be1
feat: upgrade to Babel 7 (#3667) 2018-08-10 14:45:58 +01:00
Jonas Galvez
1842a3b5cb Relative path in custom watchers (#3673)
This was missing in #3633.
2018-08-10 11:37:05 +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
Alexander Lichter
52d9629bac eslint: Prefer const over let (#3650) 2018-08-08 12:54:05 +02:00
Clark Du
854e53911d refactor: use default preset for cssnano 2018-08-06 18:42:23 +01:00