v2.16.0
版本发布时间: 2023-02-03 20:53:04
nuxt/nuxt最新发布版本:v3.14.1592(2024-11-20 04:54:11)
Nuxt 2.16.0 is the first minor release since Feb 15, 2021. The focus is mostly on releasing the latest fixes and enhancements that have been present in
nuxt-edge
for some time.
✨ Highlights
- upgrade to PostCSS 8
- default to
core-js
v3 - ... full details below
⚠️ Breaking changes
-
In this PR we only support Node 14+. This is mostly an issue for dependencies, which we need to keep updated for security reasons. Going forward until its own EOL, Nuxt 2 will only officially support Node versions that have not reached their EOL.
-
New postcss options format. See https://github.com/nuxt/nuxt/pull/9671 for full details.
-
Dependency upgrades. A number of dependencies have dropped support for earlier node versions.
dotenv
has changed how it parses.env
files in a number of edge cases.glob
now requires/
instead of\
on windows machines. There may also be other changes that affect your usage, so please do upgrade with care. -
Vue 2.7 upgrade. Although you can use Vue 2.7 with any release of Nuxt 2, 2.16.0 for the first time includes it as a dependency, which means that you may well encounter some issues associated with upgrading Vue 2.6 -> Vue 2.7.
This may be a good time to consider using the composition API utilities provided by https://github.com/nuxt/bridge instead, which mirror Nuxt 3's more precisely than
@nuxtjs/composition-api
. (You can opt-in to just these utilities by disabling the other bridge modules individually.)
Changelog
🚀 Enhancements
-
config: Support
nuxtrc
in dist directory (#9280) - generator: Add ignoreEnv generate option during ensureBuild(cmd) (#8955)
-
server: Allow disabling
serve-static
middleware (#9365) -
types: Add
asyncData
return types to component instance type (#9239) -
vue-app:
context.beforeSerialize
method (#9332) -
vue-app: Pass
store
tocreateRouter
(#9629) - Default to
core-js
version 3 (#9987) - webpack: ⚠️ Update postcss to v8 (#9671)
🩹 Fixes
-
vue-app: Respect
scroll-margin-top
when navigating with hash (#9187) -
webpack: Use
javascript/auto
for js rule (#9180) - server: Unregister error event listener (#9245)
- babel-preset-app: Respect explicit options.targets for modern preset (#9337)
- types: Add nuxt.config alias type (#9424)
- vue-app: Check whether route exists within nuxt app before replacing (#9431)
-
vue-renderer: Decode route path for
payload.js
(#9494) - vue-app: Don't normalise route path if it's valid (#9460)
- vue-app: Redirect to external url replaces current history entry (#9500)
-
utils:
trailingSlash
causes error with dynamic nuxt-child routes (#9505) -
types: Add
onNuxtLoaded
andonNuxtReady
types (#9510) - vue-app: Re-register components construtor in HMR (#9539)
-
types: Add typing for
build.stats
options (#9555) - babel: Loose option for babel private-property-in-object (#9631)
- vue-app: Serialize route meta to allow functions (#9634)
-
vue-app:
null
check for$root
access (#9150) -
generator: Allow passing
builder
togetGenerator
(#9574) - generator: Throw an error when Builder is missing (#9663)
-
vue-app: Use correct
$config
for finding basePath (#9706) - vue-renderer: Ensure custom build indicator preserves some whitespace (#9705)
- 'npm run test' fails because the last command lacks 'yarn' (#9761)
-
generator: Decode path with
ufo
(#9739) - cli: Ensure nuxt instance is closed when skipping build (3e9d7e3e7)
- Nuxt-child-key in web-types.json (#9792)
- types: Return type of $fetch (#9854)
-
deps: Update
ua-parser-js
to 1.x (#9979) -
deps: Update
ya-parser-js
to latest0.7.x
(#9979) - vue-app: Call ssrContext.unsetMutationObserver only if it exists (#10132)
-
webpack: Allow files with
.cjs
extension to be transpiled (#10340) - vue-app: Preview mode fetch (#10489)
-
webpack: Resolve
.wasm
extension with lower priority (#10676) -
vue-app: Clear hide timeout when calling
clear()
(#10086)
📦 Build
- Use 7 digit edge hashes (0501a424b)
- Upgrade to rollup v3 (#18686)
🌊 Types
- Add
prefetchPayloads
to router options (#9715)
🏡 Chore
- release: V2.15.6 (a53fd32d6)
- pkg: Build for es2019 target (#9328)
-
types: Add types for new
false
option forrender.static
(#9372) - Update error tests (d4e5998f9)
- test: Revert jest and babel-jest to 26 (#9377)
- Ignore audit 1754,1755 (39f785967)
- Fix vetur extension syntax for GitPod (#9572)
- Ignore globby > 12 upgrade as needs native esm (e0968a3ad)
- Update rollup plugins (5614399b4)
- Fix code formatting (17bbb21b5)
-
utils: Improve
stripWhitespace
utility (#9668) - Update license year to present (#9682)
- Add separate file with security disclosure info (#9738)
- Update logo (#9796)
- doc: Fix link to contribution guide (#9815)
- test: Fix external redirect link (#9816)
- Update funding.yml (1f8513720)
- Update lockfile (76143601f)
- Update audit list (6f73c36ae)
- Update lockfile and audit (1878b26f9)
- Update issue template with nuxt 3 (#9948)
- Enable blank issues (54542c1b0)
- radme: Fix browserstack and saucelabs icons (#10068)
- Update dependencies (#10510)
- Update repo (773d292b5)
- Ignore vue and vuex major updates (bafc814ef)
- Update README.md (#10831)
- Update pull request template (0db7e7b39)
- Update issue templates (f36fb9cd0)
- Rename 2.x bug template (ba966cf9e)
- Move nuxt 2 report to bottom (ce7b1a939)
- Bump
ua-parser-js
version (1cedad5fc) - Bump test/dev dependencies (#18672)
- Upgrade unjs dependencies (#18670)
- Use named export from
defu
(#18679)
✅ Tests
- Update async size test (23e2018a1)
- Update size limit tests (4f11d3c1a)
🤖 CI
- Update test branch condition (331a2d724)
- Update workflows (9677fbe53)
⚠️ Breaking Changes
- webpack: ⚠️ Update postcss to v8 (#9671)
❤️ Contributors
- Xin Du (Clark) clark.duxin@gmail.com
- Daniel Roe daniel@roe.dev
- Arik
- Bot08
- Pooya Parsa pooya@pi0.io
- Yuyao Nie nieyuyao0826@hotmail.com
- Sébastien Chopin seb@nuxtjs.com
- Clément Ollivier clement.o2p@gmail.com
- Michiel Doesburg
- Rafał Chłodnicki rchl2k@gmail.com
- Abdfn
- K-utsumi
- Matteo Rigon matteo.rigon7@gmail.com
- Mehmet
- Thibault Vlacich thibault.vlacich@gmail.com
- Jon-ht jonathan.huteau15@gmail.com
- Ahmadou Waly NDIAYE ahmadouwalyndiaye@gmail.com
- Daniil Okhlopkov
- Aewshyae
- Michał Kędrzyński kedrzu@gmail.com
- Mrazauskas
- Loick Le Digabel loick.ledigabel@gmail.com
- Payel Karmakar
- SlayerOfTheBad
- Ofer Shaal ofer@3paces.com
- Mohammad Saleh Fadaei
- Andrew Luca thendrluca@gmail.com
- David Ovčačík david.ovcacik@gmail.com
- Carbotaniuman
- William L'Archeveque william.larcheveque@gmail.com
- Matthieu Sieben