Remove whitespace after pipe symbol but not inside words

I have a file that looks like this:

102| #2 X 1/4-INCH|             30188|  EA| FTW| A| NOT SERIAL TRACKING| NOT LOT TRACKING| TRUE|  #2 X 1/4-INCH
102| #2 X 1/4-INCH|             30188|  EA| VPS| A| NOT SERIAL TRACKING| NOT LOT TRACKING| TRUE|  #2 X 1/4-INCH
102| #6 X 1/2"|                 06484|  EA| FTW| A| NOT SERIAL TRACKING| NOT LOT TRACKING| TRUE|  #6 X 1/2"
102| #6 X 1/2"|                 06484|  EA| VPS| A| NOT SERIAL TRACKING| NOT LOT TRACKING| TRUE|  #6 X 1/2"
102| #702-750SS12|              51506|  EA| FTW| A| NOT SERIAL TRACKING| NOT LOT TRACKING| TRUE|  #702-750SS12
102| #702-750SS12|              51506|  EA| VPS| A| NOT SERIAL TRACKING| NOT LOT TRACKING| TRUE|  #702-750SS12
102| (TIPS) FXKD3151|           1DJ82|  EA| FTW| A| NOT SERIAL TRACKING| NOT LOT TRACKING| TRUE|  (TIPS) FXKD3151
102| (TIPS) FXKD3151|           1DJ82|  EA| VPS| A| NOT SERIAL TRACKING| NOT LOT TRACKING| TRUE|  (TIPS) FXKD3151
102| 00-000020|                 33ES4|  EA| FTW| A| NOT SERIAL TRACKING| LOT TRACKING|     TRUE|  00-000020

if I execute the cmd in VIM:


:%s/ \+//g

102|#2X1/4-INCH|30188|EA|FTW|A|NOTSERIALTRACKING|NOTLOTTRACKING|TRUE|#2X1/4-INCH
102|#2X1/4-INCH|30188|EA|VPS|A|NOTSERIALTRACKING|NOTLOTTRACKING|TRUE|#2X1/4-INCH
102|#6X1/2"|06484|EA|FTW|A|NOTSERIALTRACKING|NOTLOTTRACKING|TRUE|#6X1/2"
102|#6X1/2"|06484|EA|VPS|A|NOTSERIALTRACKING|NOTLOTTRACKING|TRUE|#6X1/2"
102|#702-750SS12|51506|EA|FTW|A|NOTSERIALTRACKING|NOTLOTTRACKING|TRUE|#702-750SS12
102|#702-750SS12|51506|EA|VPS|A|NOTSERIALTRACKING|NOTLOTTRACKING|TRUE|#702-750SS12
102|(TIPS)FXKD3151|1DJ82|EA|FTW|A|NOTSERIALTRACKING|NOTLOTTRACKING|TRUE|(TIPS)FXKD3151
102|(TIPS)FXKD3151|1DJ82|EA|VPS|A|NOTSERIALTRACKING|NOTLOTTRACKING|TRUE|(TIPS)FXKD3151
102|00-000020|33ES4|EA|FTW|A|NOTSERIALTRACKING|LOTTRACKING|TRUE|00-000020

it will remove all whitespace after the | pipe symbol.

I tried to protect the pipe symbol but this command removed the pipe symbol and all whitespace


:%s/\| \+//g

What I want is to remove the whitespace only after the pipe symbol. But not the space between the part numbers themselves.
Like this:

102|#6 X 1/2"|06484|EA|FTW|A|NOT SERIAL TRACKING|NOT LOT TRACKING|TRUE|#6 X 1/2"
102|(TIPS) FXKD3151|1DJ82|EA|FTW|A|NOT SERIAL TRACKING NOT LOT TRACKING|TRUE|(TIPS) FXKD3151

How do I tell VIM to start with the | pipe symbol and remove the space up to the next word but not in the middle of words. I want to keep the space between (TIPS) FXKD3151 the part number for example.

$ sed 's/| */|/g' file
102|#2 X 1/4-INCH|30188|EA|FTW|A|NOT SERIAL TRACKING|NOT LOT TRACKING|TRUE|#2 X 1/4-INCH
102|#2 X 1/4-INCH|30188|EA|VPS|A|NOT SERIAL TRACKING|NOT LOT TRACKING|TRUE|#2 X 1/4-INCH
102|#6 X 1/2"|06484|EA|FTW|A|NOT SERIAL TRACKING|NOT LOT TRACKING|TRUE|#6 X 1/2"
102|#6 X 1/2"|06484|EA|VPS|A|NOT SERIAL TRACKING|NOT LOT TRACKING|TRUE|#6 X 1/2"
102|#702-750SS12|51506|EA|FTW|A|NOT SERIAL TRACKING|NOT LOT TRACKING|TRUE|#702-750SS12
102|#702-750SS12|51506|EA|VPS|A|NOT SERIAL TRACKING|NOT LOT TRACKING|TRUE|#702-750SS12
102|(TIPS) FXKD3151|1DJ82|EA|FTW|A|NOT SERIAL TRACKING|NOT LOT TRACKING|TRUE|(TIPS) FXKD3151
102|(TIPS) FXKD3151|1DJ82|EA|VPS|A|NOT SERIAL TRACKING|NOT LOT TRACKING|TRUE|(TIPS) FXKD3151
102|00-000020|33ES4|EA|FTW|A|NOT SERIAL TRACKING|LOT TRACKING|TRUE|00-000020

While in vim:

:%s/|\s*/|/g