Skip to content

[Bug] Objects exported with '* as' export aren't merged recursively  #119

@AndrewBogdanovTSS

Description

@AndrewBogdanovTSS

Environment

Operating System: Linux
Node Version: v18.18.0
Nuxt Version: 3.8.2
CLI Version: 3.10.0
Nitro Version: 2.8.1
Package Manager: npm@9.4.2
Builder: -
User Config: devtools, extends
Runtime Modules: -
Build Modules: -

Reproduction

https://stackblitz.com/edit/github-bcxfrv?file=README.md

Describe the bug

merge app.config from different layers using namespace imports to combine different parts of the config, e.g:

import * as pages from './config/pages'

export default defineAppConfig({
  pages,
})

Check the console:

Expected:

{ nuxt: { buildId: 'dev' }, pages: { foo: { nested: 1 }, bar: 2 } }

Actual:

{ nuxt: { buildId: 'dev' }, pages: { bar: 2 } }

Additional context

This is a regression that was introduced with 6.1.3 release, specifically with this PR #111
@pi0 I'm quite dissapointed with the overall workflow this change was merged with. Test coverage was very small for such fundamental change, but even those tests that were written were skipped, there was no code review. Was it some kind of pre-holiday accident? 🥲
IMO, any changes like this deserves at least minor (not a patch) and better - major version bump because it's a fundamental change to how objects are merged and this is a main goal of this lib.

Logs

No response

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions