In next 13, client side component or hooks cannot be imported by RSC and modules can be made server only to avoid client components poisoning...
Before next 13, I used to group some of my code by domain/subject in folders and create an index.ts file to expose clearly what I want to be used.
Now, if I do the same, the module will be unusable in both RSC and CSC (because of poisoning guards)...
I manage to get around this until now by adding a sub folder named server with it's own index.ts file to keep client and server code isolated but I'm not sure about this pattern?
I imagine that this could be easily solved if we could conditional import what we want in index.ts based on runtime type... I'm not sure it's feasible.
Did anyone come with another solution to organize code in next 13?