Commit Graph

690 Commits

Author SHA1 Message Date
Xin Du (Clark) 90ba0cd6b7
feat: upgrade to jest 24 (#4868) 2019-02-12 13:05:37 +00:00
Pim 75a74543f4 test: improve nuxt-loading component tests (#5005) 2019-02-12 00:32:30 +03:30
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) 855705bd73 test: add chrome detector (#4984) 2019-02-08 16:46:17 +03:30
Pooya Parsa 29297160a1
feat(vue-renderer): improvements (#4722) 2019-02-08 13:35:01 +03:30
Pooya Parsa 2c763df176 test: fix macos e2e tests 2019-02-07 20:18:47 +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
Pooya Parsa 940a36fd65
chore: use puppeteer-core (#4929) 2019-02-03 10:06:01 +03:30
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
pooya parsa 6a5d0725d2 fix lint
Co-authored-by:  Kevin Marrec <kevin@marrec.io>
2019-01-20 22:29:06 +03:30
pooya parsa b170864134 fix typo 2019-01-20 22:23:27 +03:30
pooya parsa e1d4dd59c7 chore: simplify loadFixture 2019-01-20 22:20:01 +03:30
pooya parsa 2f2ec7ac30 fix(test): fallback to config if no config.default 2019-01-20 22:14:55 +03:30
pooya parsa 5b66afc23a fix(test/utils): check both ts and js for nuxt.config 2019-01-20 22:13:27 +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 45afc3fc3a fix(ts): fix missing process type definitions and refactor types tests (#4798)
* fix(ts): add missing `process.mode` & `process.modern` typedefs

* refactor types tests + add tests for process typedefs
2019-01-19 15:50:06 +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
Kevin Marrec db4001dae1 fix(ts): Add missing `loading` property to Component options (#4786) 2019-01-17 18:29:41 +01:00
Kevin Marrec 6694cf706b fix(ts): fix `$nuxt.$loading` typedefs (#4778)
* feat(ts): improve typedefs of `$nuxt.$loading`

* fix: remove useless new line
2019-01-17 18:29:01 +01:00
Pim 0c64410c6d chore: don't show stable version number when running from git/source (#4756) 2019-01-16 21:23:14 +03:30
Kevin Marrec dfaffc0183 feat(nuxt-ts): typescript support improvements (#4750) 2019-01-12 23:51:21 +03:30
Sébastien Chopin 3ebd6b707e hotfix(layout): Hot fix for layout middleware 2019-01-10 19:57:32 +01:00
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
Alexander Lichter eef2af35e4 fix: no false positives for plugins with index.js (#4714)
resolves #4713 [release]
2019-01-08 22:55:56 +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 471a32a1a8 feat: add styleExtensions (#4671) 2019-01-03 01:00:19 +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 f1377a7f8d feat(ts): provide type checking through `fork-ts-checker-webpack-plugin` (#4611) 2018-12-23 11:13:51 +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
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
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
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
Hartmut da0a3794ef fix(vue-app): add type definition for `ComponentOptions.middleware` (#4531) 2018-12-14 06:01:25 +03:30
Xin Du (Clark) d0c8fcbaa5 fix: duplicate style in extractCSS (#4546)
[skip ci]
2018-12-13 22:07:47 +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
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
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
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
Kevin Marrec d5716eb3db feat(ts): provide type definitions (#4164) 2018-11-17 14:22:21 +03:30
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
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
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