deepmerge icon indicating copy to clipboard operation
deepmerge copied to clipboard

TS7056: The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed.

Open luca-nardelli opened this issue 3 years ago • 3 comments

Prerequisites

  • [X] I have written a descriptive issue title
  • [X] I have searched existing issues to ensure the bug has not already been reported

Fastify version

N/A (installed the package by itself)

Plugin version

1.1.0

Node.js version

16.14.0

Operating system

Linux

Operating system version (i.e. 20.04, 11.3, 10)

Ubuntu 22.04

Description

I installed this package in a TS project (without fastify server) and this error appeared as soon as I tried to create the merge function.

image

I'm using typescript 4.7.3.

Let me know if I can help you troubleshoot further.

Steps to Reproduce

I believe it should be sufficient to create a plain TS repo and then write the same code in the above screenshot.

Expected Behavior

Error should not happen.

luca-nardelli avatar Oct 09 '22 20:10 luca-nardelli

If you provide some inputs to the deepmerge func, something change?

Eomm avatar Oct 09 '22 20:10 Eomm

image

Looks like it's not complaining if I pass something to the function, however I have the impression that code completion slows down a lot if I try to make the IDE (Webstorm 2022.2.2) show me the type of a merged object (e.g. if I Ctrl-hover on it)

luca-nardelli avatar Oct 10 '22 11:10 luca-nardelli

Sorry for the double message, but I actually noticed that, when enabling those 3 merge functions, TSC compilation (I was running it to rebuild my package on changes) goes out of memory

watch: [1:47:25 PM] File change detected. Starting incremental compilation...
watch: <--- Last few GCs --->
watch: [66428:0x5990a80]    30297 ms: Mark-sweep (reduce) 2043.8 (2083.3) -> 2043.6 (2083.3) MB, 83.4 / 0.0 ms  (+ 209.8 ms in 58 steps since start of marking, biggest step 5.4 ms, walltime since start of marking 334 ms) (average mu = 0.521, current mu = 0.342) [66428:0x5990a80]    30706 ms: Mark-sweep 2044.6 (2083.3) -> 2044.4 (2087.3) MB, 404.9 / 0.0 ms  (average mu = 0.319, current mu = 0.008) allocation failure scavenge might not succeed
watch: <--- JS stacktrace --->
watch: FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
watch:  1: 0xb09980 node::Abort() [node]
watch:  2: 0xa1c235 node::FatalError(char const*, char const*) [node]
watch:  3: 0xcf77be v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
watch:  4: 0xcf7b37 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
watch:  5: 0xeaf3d5  [node]
watch:  6: 0xebf09d v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
watch:  7: 0xec1d9e v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
watch:  8: 0xe832da v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node]
watch:  9: 0x11fc026 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [node]
watch: 10: 0x15f0a99  [node]
watch: Aborted (core dumped)

luca-nardelli avatar Oct 10 '22 11:10 luca-nardelli