Commit Graph

46 Commits

Author SHA1 Message Date
Daniel Roe
6d64ea580a
fix(generator): normalize trailing slashes before extendRoutes (#8803) 2021-02-10 11:27:57 +01:00
Daniel Roe
c8a4b91ad4
fix: ignore trailing slash in static payloads manifest (#8794) 2021-02-09 16:58:49 +01:00
Daniel Roe
6a8339e4c4
fix: encoding issues with payload paths (#8738)
- fix(generator): decode full static filesystem paths
- fix(vue-app): check decoded path against manifest
- fix(vue-app): prevent double encoding for urls

Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2021-02-02 13:38:54 +01:00
Daniel Roe
9681a8937d
feat(config, vue-app, vue-renderer): support dynamic base and publicPath (#8520)
Co-authored-by: pooya parsa <pyapar@gmail.com>
2020-12-22 18:15:59 +01:00
pooya parsa
dec8f99fc3
feat: support plug-and-play, typescript runtime and native modules (#8389)
Co-authored-by: Clark Du <clark.duxin@gmail.com>
2020-12-22 18:07:50 +01:00
Sébastien Chopin
dd7f767d13
fix(generator): ensure manifest dir exists (#8474) 2020-12-11 13:34:13 +01:00
Cain Hall
b80056c96c
fix(generator): nested route missing trailingSlash (#8237)
[release]
2020-11-25 15:24:13 +01:00
Sébastien Chopin
691f21c683
fix(vue-app): handle missing payloads on full static (#8314)
* fix(vue-app): handle missing payloads on full static

Fixes #7717

* chore: rename routesManifest to manifest

* chore: remove console.log

* chore(vue-app): don't have staticAssetsBase if undefined

* chore: add manifest option

* test: update snapshot

* chore: use foundRoute to avoid multiple vars name

Co-authored-by: Pooya Parsa <pyapar@gmail.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>
2020-11-25 15:19:29 +01:00
Daniel Roe
b050861332
fix(generator): respect publicPath for static assets (#8344)
* fix: respect publicPath for static assets

* test: add test for correct `publicPath` URL handling
2020-11-14 23:10:16 +01:00
renovate[bot]
e934da3c36
chore(deps): update devdependency @nuxtjs/eslint-config to v5 (#8345)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Clark Du <clark.duxin@gmail.com>
2020-11-14 17:10:53 +00:00
Sébastien Chopin
7e7190b90d
fix: add better logs for DX with target option (#8206)
* fix: add better logs for DX with target option

* chore: add warning for old nuxt build in ssr false

* Update generator.js

* Update generate.js

* chore: better logs

* fix: update
2020-10-15 18:12:06 +02:00
Sébastien Chopin
34f32113b4
fix(generator): handle when no routes.json defined (#8166) 2020-10-08 16:29:30 +02:00
Ahad Birang
19e68e770c
fix(crawler): skip external link with no schema (#7806) 2020-07-30 16:22:53 +02:00
Ahad Birang
298c3e3ef7
fix(generator): avoid duplicate slashes for routes ending with hash (#7776)
* fix: remove duplicate slashes from crawled routes

* fixture: use trailing slash for hash

* refactor: do trailing slash sanetization after hash removal

* test: enable trailing slash for full-static fixture

Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2020-07-27 11:01:24 +02:00
pooya parsa
c5a4465572
feat: static target DX improvements (#7712)
[release]

Co-authored-by: Sébastien Chopin <seb@nuxtjs.com>
Co-authored-by: pimlie <pimlie@hotmail.com>
2020-07-16 17:10:54 +02:00
Sébastien Chopin
99432d5d94 fix(generator): rename export hook to distRemoved 2020-06-18 17:45:06 +02:00
pooya parsa
92ef65c8ed
fix(generator): encode routes and show error summary (#7518) 2020-06-16 17:53:29 +02:00
Sébastien Chopin
68d498b2f4
fix(generator): handle nuxt build --no-build (#7523) 2020-06-15 21:42:42 +02:00
Sébastien Chopin
7c6e170a89
fix: handle router.base for crawler and serve (#7486)
Co-authored-by: pooya parsa <pyapar@gmail.com>
2020-06-10 09:51:29 +02:00
Ahad Birang
be726e42b6
feat(generator): allow excluding exported pages using export:page hook (#7455) 2020-06-03 21:35:28 +02:00
Alexander Lichter
c14471681c
fix(generator): respect options.router.trailingSlash for crawler (#7431) 2020-05-28 18:26:27 +02:00
Pooya Parsa
a82f8d8b1f
feat(generator): export:route hook and setPayload (#7422)
* feat(generator): shared payload support for `nuxt export`

* feat: add `export:` hooks for upward compatibility

* fix: use setPayload to avoid breaking usage

* test: update test

* fix: deep assign

* chore: update tests

* fix: route payload has more periority than shared one

* test: update generator hook tests

* lint: remove unnecessary import
2020-05-27 16:51:51 +02:00
Sébastien Chopin
60ae0fb011
fix(generator): keep generating pages in SPA (#7400)
* fix(generator): keep generating pages in SPA

* chore: fix lint error

Co-authored-by: pooya parsa <pooya@pi0.ir>
2020-05-20 17:55:54 +02:00
Tim van den Eijnden
2e5184688f
fix(generator, builder): empty build and dist directories instead of remove (#7361) 2020-05-13 16:46:13 +02:00
Sébastien Chopin
8e2d9764e2
fix(generator): remove trailingSlash for chunkId (#7336)
[release]
2020-05-08 18:10:06 +02:00
Pooya Parsa
631be3a1dd
fix(generator): improve error handling when build does not exists (#7335)
[release]
2020-05-08 16:37:42 +02:00
Sébastien Chopin
80396cbf41 fix(generator): avoid generating route with extension 2020-05-08 16:27:15 +02:00
Sébastien Chopin
29ebccaa65
fix(generator): avoid error if nuxt/config.js does not exists in buildDir (#7332) 2020-05-08 13:55:39 +02:00
Sébastien Chopin
917adc0618
feat: options.target and full-static export (#6159)
* feat: add options.target

* fix(lint): lint

* fix(test): update snapshots

* fix(builder): default value for target

* fix(test): fix test

* fix(test): test fixing

* fix: use this.options.target

* fix: final test

* Update packages/vue-renderer/src/renderer.js

Co-Authored-By: Alexander Lichter <manniL@gmx.net>

* feat: Add target option and update banner

* fix(lint): fix

* feat: Add warning when using serverMiddleware in static target

* chore(utils): add TARGETS and MODES as constants

* hotfix: lint

* chore(module): add filename as alias of fileName

* feat: introducing nuxt export and router/routes.json

* hotfix: Fix the linting lord

* chore(core): add comment for filename vs fileName

* fix: use targets constant

* chore: remove warning

* fix: unit testing

* wip: refactor and use TARGETS

* fix: lint

* feat: add target as alias for first arg value

* fix: generate only for SPA

* chore: explain to use nuxt static X

* fix: render SPA fallback on redirect for static target

* fix: lint issue

* fix: only target is useful for now

* wip

* wip: nuxt static export is looking good

* Update packages/generator/src/generator.js

Co-Authored-By: Devon Rueckner <indirectlylit@users.noreply.github.com>

* Update packages/cli/src/options/common.js

Co-Authored-By: Alexander Lichter <manniL@gmx.net>

* feat: add options.target

* fix(lint): lint

* fix(test): update snapshots

* fix(builder): default value for target

* fix(test): fix test

* fix(test): test fixing

* fix: use this.options.target

* fix: final test

* Update packages/vue-renderer/src/renderer.js

Co-Authored-By: Alexander Lichter <manniL@gmx.net>

* feat: Add target option and update banner

* fix(lint): fix

* feat: Add warning when using serverMiddleware in static target

* chore(utils): add TARGETS and MODES as constants

* hotfix: lint

* chore(module): add filename as alias of fileName

* feat: introducing nuxt export and router/routes.json

* hotfix: Fix the linting lord

* chore(core): add comment for filename vs fileName

* fix: use targets constant

* chore: remove warning

* fix: unit testing

* wip: refactor and use TARGETS

* fix: lint

* feat: add target as alias for first arg value

* chore: explain to use nuxt static X

* fix: render SPA fallback on redirect for static target

* fix: lint issue

* fix: only target is useful for now

* wip

* wip: nuxt static export is looking good

* Update packages/generator/src/generator.js

Co-Authored-By: Devon Rueckner <indirectlylit@users.noreply.github.com>

* Update packages/cli/src/options/common.js

Co-Authored-By: Alexander Lichter <manniL@gmx.net>

* fix: duplicate imports

* chore: don't server render if an error happens on static target

* test: update unit and add export

* lint: fix

* lint: fix

* fix: e2e test

* fix: fallback only for static target

* fix: dev test

* feat: add generate.crawler

* fix: full static is when generate.static is given

* chore: improvements

* fix: Add isFullStatic in nuxt/config.json

* feat: handle fetch for full static

* feat: router.prefetchPayloads for full static

* chore: use fetch in async-data example

* fix: add target only if given

* fix: use created to have access to props in fetchOnServer

* chore: add console.error in dev for easy debugging

* feat: payload smart pre-fetching

* fix: remove alias for target

* fix: increment payloadFetchIndex is static set to false

* chore: lint

* chore: add serve command

* chore: rename universal to server-side

* fix: handle payloadPath on SPA fallback

* fix: lint

* chore lint again

* feat: handle spa fallback

* feat: support string for exclude

* fix: fallback only if no extension or html

* chore: use JSON.stringify() for static target

* chore: lint again, dammit

* chore: fix tests and remove too early return

* fix: early return only for server target

* fix: update tests

* fix: unit tests

* chore: add ssr option

* chore: add logic for ssr option

* fix: #6682

* chore(dx): add next command to run

* fix: lint

* fix: tests

* chore: keep old behaviour for nuxt build in spa

* fix: test again, oh boy

* fix: alright this is good now

* chore: add comment for spa fallback

* chore: move routes.json to dot nuxt dir

* chore: simplify check for promise

* chore: unique lock id

* chore: refactor isFullStatic

* fix: dont set default in build context

* chore: add test for serve

* chore: update tests

* hotfix: lint tests

* chore(dx): improve message for bundling

* feat: js payload extraction with jsonp

* fix: keep serialized session script for legacy generate

* fix: call to setPagePayload from fetchPayload

* use devalue for payload chunks

* feat: add initial load state chunk

* feat: preload payload and state scripts

* fix(vue-app): don't re-render the app if trailing slash on SSG

* hotfix: remove console.log

* chore(dx): add deploy infos for nuxt export

Co-authored-by: Pooya Parsa <pyapar@gmail.com>

* chore: handle fetching payload.js for nuxt state

* chore(dx): error when using nuxt generate and static

* chore: remove static option for clarity

* chore: remove serverless target

* hotfix: lint

* hotfix: unit tests

* chore: update legacy js resource

* chore: remove query params from url in static target

* fix: use globalName and urlJoin

* chore: typo

* feat: previewMode 👀

* chore: rename to enablePreview

* fix: wait next tick to avoid error on spa

* chore: try 1 sec

* hotfix: test only for linux, wtf azure

* refactor: static assets

- generalize logic for modules need emit export static assets
- allow customization for version, dir and base
- serialization logic is only in ssr now

* feat: smart state chunk creates

* fix(client): ignore payload load error

* perf: avoide payload loading for spa initial

* perf: avoid loading failed chunks again

* chore(cli): add simple compression for nuxt serve

* test: update snapshots

* fix version snapshot

* fix(generator): set staticAssetsBase on context only for full static

* fix tests

* fix: honor shouldHashCspScriptSrc

* chore(dx): add log for client-side fallback creation

Co-authored-by: Xin Du (Clark) <clark.duxin@gmail.com>
Co-authored-by: Alexander Lichter <manniL@gmx.net>
Co-authored-by: Pooya Parsa <pooya@pi0.ir>
Co-authored-by: Devon Rueckner <indirectlylit@users.noreply.github.com>
Co-authored-by: Pooya Parsa <pyapar@gmail.com>
2020-05-07 21:08:01 +02:00
Pooya Parsa
2707bdb37e
feat: improve programatic usage (#6868) 2020-01-19 09:36:06 +01:00
Pim
708ae3018e fix(generator): log message or full error for unhandled error without stack trace (#6882) 2020-01-17 10:18:12 +01:00
Xin Du (Clark)
e8aca9eb11 chore: update @nuxtjs/eslint-config to v2 and fix lint errors (#6732) 2019-11-26 23:42:39 +01:00
Alexander Lichter
f28d12c913 fix(generator): remove trailing slash when no subFolders are used (#6362) 2019-10-08 10:47:13 +02:00
pooya parsa
e7cc2757c3 refactor: update eslint-config to 1.x
Co-authored-by: Alexander Lichter <manniL@gmx.net>
2019-07-10 15:15:49 +04:30
Pim
fd3ee629fa fix(generator): minify spa fallback (#5791) 2019-05-23 14:15:22 +04:30
Pooya Parsa
111132df23
refactor: avoid using _path variable (#5582) 2019-04-22 23:20:07 +04:30
Alexander Lichter
69dfd848d7 refactor: some small stuff (#4979)
* refactor: flatten ifs

* refactor: unnecessary curly brackets

* refactor: unnecessary else

* refactor: promise.all instead of for-await

* refactor: apply changes suggested by @clarkdo

* chore: fix typo

* refactor: early return

* refactor: add removal TODOs

* refactor: more descriptive variable name

* refactor: prefer template string

* refactor: one-line

* refactor: early returns

* refactor: early return

* refactor: parallel promises

* refactor: early return and no else

* refactor: spread operator

* refactor: spread operator and early return

* fix: remove error and throw string instead

* fix: always return true

* refactor: clear multiline ternary

* refactor: err stack assignment

* refactor: early return and async/await

* refactor: one line

* refactor: early return

* refactor: early return

* refactor: promise.all

* refactor: args spread
2019-02-08 17:25:11 +01:00
Xin Du (Clark)
e22a282eab
test: unit tests for generator (#4857) 2019-01-29 10:16:45 +00:00
Alexander Lichter
40fbe5ba47 refactor: cleanups and code style improvements (#4788) 2019-01-18 00:48:29 +03:30
Alexander Lichter
ec17804c48 feat: add exclude regex array for generated pages (#4754) 2019-01-16 21:13:56 +03:30
Xin Du (Clark)
324135df51 refactor: @nuxt/utils (#4609) 2018-12-23 00:35:13 +03:30
Jonas Galvez
655f11cefd chore: update code to meet new curly-all rule (#4505)
[skip ci]
2018-12-10 01:30:48 +03:30
Pooya Parsa
7c4e77ffb9
feat: dx improvements (#4259) 2018-11-08 12:45:56 +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
Pooya Parsa
39b558f59c
refactor core into sub-packages (#4202) 2018-10-31 00:12:53 +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