Commit Graph

246 Commits

Author SHA1 Message Date
Pooya Parsa
408680046c
fix(vue-app): fix asyncData memory leak on client-side (#4966)
Co-authored-by: Sébastien Chopin <seb@chopin.io>
2019-02-08 20:03:45 +03:30
Xin Du (Clark)
68f6880f54 refactor(test): change cli.test to be more accurate (#4957) 2019-02-06 22:15:39 +03:30
Pooya Parsa
93089543be
feat: upgrade vue to 2.6 (#4953) 2019-02-05 14:00:57 +03:30
Clark Du
5c053f5cb0 test: turn off cli dev test 2019-02-05 00:15:35 +00:00
Kevin Marrec
792e9f4763 fix tsconfig + remove forgotten duplicated test (#4886) 2019-01-29 23:04:23 +03:30
Xin Du (Clark)
96bab9f09c test: unit tests for @nuxt/util (#4880) 2019-01-29 22:53:42 +03:30
Kevin Marrec
774823ba41 fix tsconfig + remove forgotten duplicated test (#4886) 2019-01-29 22:49:21 +03:30
Clark Du
e9ba2f97d2 test: add describe.posix and win 2019-01-29 11:29:55 +00:00
Xin Du (Clark)
59be77a2f3
feat: .nuxtignore (#4647) 2019-01-29 09:31:14 +00:00
Clark Du
d0aadd4357 fix(test): jest describe.skip does not work fine 2019-01-28 14:30:04 +00:00
Kevin Marrec
f18ce4e5d4 fix(ts): better tsconfig.json handling & improve tests (#4856)
* fix(ts): make ts-node register the right `tsconfig.json`

* setup guard & change require in nuxt-ts bin

* improve tests + test guard

* remove typescript-custom fixture

* Move TS unit test from `test/unit` to `packages/typescript/test`

* fix tests
2019-01-28 16:59:13 +03:30
Kevin Marrec
55dc7f4475 fix(ts): keep baseUrl property in generated tsconfig.json (#4843) 2019-01-24 14:14:02 +03:30
Kevin Marrec
c39cf841a3 fix(ts): fix default tsconfig.json (#4842)
[release]
2019-01-24 01:11:00 +03:30
Kevin Marrec
2a1ee96a4b feat(ts): auto generate tsconfig.json (#4776)
* Bundle `@types/node` into `nuxt-ts` distribution

* feat(ts): Autogenerated tsconfig.json

* fix(examples): Update typescript examples

* fix(ts): Add `dist` & `tsconfig.json` to `pakage.json` files

* fix: add missing new line at the end of generated `tsconfig.json`

* add suffix if needed to `tsconfig.json` types during package build

* use `readJSON` over `readJSONSync`

* fix indentation in `nuxt-ts/tsconfig.json`

* use writeJson instead of writeFile

* split `nuxt-ts/src` in 2 functions + rootDir parametr + add tests

* add `fs-extra` to dependencies to prevent build warning

* JSON everywhere instead of JSON/Json

* fix: missing call to generateTsConfigIfMissing

* ask confirmation for tsconfig.json generation

* improvement: let compilerOptions.module as default

* improvements

* move from github link to friendly linkable local path

* add resolveJsonModule in default config

Co-Authored-By: kevinmarrec <kevin@marrec.io>

* Move `nuxt-ts` logic to `@nuxt/typescript`

* Upgrade to `ts-node@8.0.1`
2019-01-23 10:53:52 +01:00
Clark Du
70775e121a fix(test): typescirpt modern mode only check once 2019-01-21 09:26:59 +00:00
pooya parsa
6504e108ea chore(test): reduce use of NUXT_TS 2019-01-21 00:53:03 +03:30
Xin Du (Clark)
b23f5c9b4b feat(server): timing option for Server-Timing header (#4800) 2019-01-19 21:44:54 +03:30
Amos Wong
602cf12216 fix(server): allow listening on number 0 port (#4781) 2019-01-19 15:53:18 +03:30
Kevin Marrec
b202361a1b fix(ts): prevent checking types twice in modern mode & use consola as logger (#4803) 2019-01-19 15:40:21 +03:30
Alexander Lichter
40fbe5ba47 refactor: cleanups and code style improvements (#4788) 2019-01-18 00:48:29 +03:30
Xin Du (Clark)
f85ac94a87 fix(builder, module): addLayout and nuxt.config precedence over auto-scanned layouts (#4702) 2019-01-09 14:27:46 +03:30
Clark Du
ecf76d91f1 fix: SafariFix is not injected in client modern mode 2019-01-08 13:21:13 +00:00
Xin Du (Clark)
af76e07b56 fix(builder): js layout (#4701)
[release]
2019-01-07 15:44:51 +03:30
Pooya Parsa
ee0096bf59
feat: nuxt-ts (#4658)
[release]
2019-01-04 23:00:28 +03:30
Alexander Lichter
8786ff7317 fix: require serverMiddleware object with path and handler (#4656) 2018-12-30 01:04:47 +03:30
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
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
4d5274215a feat(ts): add TSX support (#4613) 2018-12-23 02:12:20 +03:30
Xin Du (Clark)
324135df51 refactor: @nuxt/utils (#4609) 2018-12-23 00:35:13 +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
Xin Du (Clark)
e71c4559ff feat: mode for plugins (#4592) 2018-12-20 12:58:10 +03:30
Sébastien Chopin
4a77de89a0 fix(vue-app): Fix test on size-limit 2018-12-19 18:46:18 +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
Xin Du (Clark)
e7df65be1a fix: detect plugin without extension (#4579) 2018-12-18 17:49:38 +03:30
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
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
Xin Du (Clark)
d0c8fcbaa5 fix: duplicate style in extractCSS (#4546)
[skip ci]
2018-12-13 22:07:47 +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
Dmitry Molotkov
33edef2d40 fix(webpack): allow changing devtool with extend (#4515) 2018-12-11 01:04:41 +03:30
Dmitry Molotkov
c3128eaced fix(server): allow rendering urls with unicode characters (#4512) 2018-12-10 16:48:23 +00:00
Pooya Parsa
fe0516978a
fix: improvements for build and dev stability (#4470) 2018-12-09 14:12:22 +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
Clark Du
14fe6792ae feat: check modern build file in modern mode (#4467)
[skip release]
2018-12-04 15:41:18 +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
Dmitry Molotkov
a6fed0acbd fix(vue-app): allow passing custom props to error function (#4462)
Resolves #4460.
2018-11-30 22:45:29 +03:30
Ricardo Gobbo de Souza
1d78027e2b fix: offer a new port and listen if already used, use consola on server error (#4428)
* Use consola on server error

* fix style

* ignore coverage

* use `consola.error(e)`

* formatting server error

* fix style

* offer a new port and listen

* fix style

* simplify return

* Revert "fix style"

This reverts commit 770347adb9.

* Revert "simplify return"

This reverts commit 26f2588b2f.

* simplified tests

* remove dependency `get-port`

* using port `0` to assign a random free port

* update `this.port` value with `address.port`

* For production, use `consola.fatal`

* pass options.dev from server to listener constructor

* add dev on constructor

* improve serverErrorHandler and close

* Update listener.js

* improve serverErrorHandler

* improve the way to handle listen errors

* fix missed line

* fully close old server before listening on a random port

* update listen.test
2018-11-30 16:32:15 +01:00
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
fe492d8363
feat(modern): auto detect modern mode (#4422) 2018-11-26 22:49:47 +00: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
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
Pooya Parsa
c9459e7aa9
fix(distributions): add bin to all distributions (#4336) 2018-11-16 00:18:30 +03:30
Amos Wong
ae8dc96669 feat: Process transpile path (#4335) 2018-11-15 15:50:55 +00:00
Clark Du
660ab37bff fix(tests): make assets in test consistent with build 2018-11-14 23:05:00 +03:30
Pooya Parsa
68523b95bc
feat(server): fallback option (#4323) 2018-11-14 23:02:07 +03:30
Dmitry Molotkov
9fbd581557 fix: handle errors that are not error instances (#4321) 2018-11-14 22:47:44 +03:30
Pim
846455e2f7 fix(core): stable route sorting (#4331) 2018-11-14 16:50:06 +00:00
Clark Du
853ca4e7d4
refactor: styleLoader and postcss (#4318) 2018-11-12 21:18:50 +00:00
Clark Du
2c4bd57101
refactor: perf loader (#4299) 2018-11-08 22:26:52 +00:00
Clark Du
31ef70e560 fix: auto transform and warning for @nuxtjs/babel-preset-app (#4297) 2018-11-09 00:17:53 +03:30
Alexander Lichter
cf1aa1abc8 test: improve tests (#4237) 2018-11-08 13:11:24 +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
ead994bbb5 test: add a size limit test (#4272)
[skip ci]
2018-11-08 02:04:14 +03:30
Clark Du
17e0890c90 fix(cli): remove duplicate error message in start and build (#4258) 2018-11-02 17:24:58 +03:30
Pim
90325c35ae feat(cli): use cjs dist stub in package (#4243)
* feat: use cjs dist stub for cli package

* fix: spawn nuxtBin directly

* keep node -r esm for optimal windows compatibility
2018-11-01 05:00:28 +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
08d298d35c test: update test/unit/nuxt 2018-10-31 12:51:44 +03:30
Pooya Parsa
39b558f59c
refactor core into sub-packages (#4202) 2018-10-31 00:12:53 +03:30
Pim
72961acabd feat: nuxt-loading enhancenments (#3891) 2018-10-29 19:18:40 +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
Pooya Parsa
46103e72ea
chore: packaging and development improvements (#4193) 2018-10-25 14:52:31 +03:30
Dmitry Molotkov
a3ba6e96ca fix: check styleResources for existence (#4155) 2018-10-25 14:25:05 +03:30
Clark Du
9df5f49e07 feat: split builder into more refined modules (#4171)
New packages:
- `@nuxt/webpack`
- `@nuxt/generator`
2018-10-24 20:25:18 +03:30
Jonas Galvez
5ec5cda1f8 chore: test utils cleanup (#4180) 2018-10-24 17:23:34 +03:30
Clark Du
811234ea02 ci: revert travis windows changes 2018-10-23 10:55:08 +01:00
Pooya Parsa
60dbc6ddc5
fix(builder): use require.resolve to get the path of babel-loader (#4150) 2018-10-23 01:18:06 +03:30
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
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
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
renovate[bot]
bc9071663f fix(deps): update all non-major dependencies (#3991)
* fix(deps): update all non-major dependencies

* Update package.json

* fix(deps): lock file update

* fix test due to changed css attribute order
2018-09-30 18:11:52 +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
renovate[bot]
163cfab240 chore(deps): update all non-major dependencies (#3986) 2018-09-27 11:05:12 +03:30
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
Dmitry Molotkov
9c3702c819 fix: use options.server values port, host, socket (#3942)
* user options.server values port, host, socket

* fix: Remove default value
2018-09-23 10:49:51 +01:00
Pooya Parsa
6f5137cd30
chore: upgrade dependencies (babel 7.1) (#3926) 2018-09-21 00:27:37 +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