Commit Graph

671 Commits

Author SHA1 Message Date
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
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
Alexander Lichter
b3eb4278a5 fix: serialize config head fn shorthand correctly (#4283)
[skip ci]
2018-11-08 02:03:09 +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
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
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
da7c01f0d4 chore: fix lint error (#4186) 2018-10-24 17:30:49 +03:30
Jonas Galvez
5ec5cda1f8 chore: test utils cleanup (#4180) 2018-10-24 17:23:34 +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