Skip to content

Isolating package installations inside a workspace #345

Description

@sirknigget

I am working on a mounted workspace containing a web app project, which is a basic use case for this kind of environment.
Inside it, there might be folders with package installations, such as node_modules, .venv and so on for every language.

Because it's shared between the host and the sandbox, both machines which might have different architectures, get stuck with the same package installations.
Whenever the agent in the sandbox does npm install or equivalent, the content in the folder becomes irrelevant to the host, and vice versa.
When I want to test something on the host, re-installation happens, and then the agent gets confused and tries to re-install everything again. This is time consuming and breaks the development workflow.

In short - there should be some way to prevent mounting for specified folders which are clearly not meant to be mounted and shared between machines.

Some package managers have some partial config for placing their package installations outside the project, but not all of them have it, or some tools don't understand or support it.

Solution:
I propose some common ignore file format such as .mountignore, or whatever you want to call it, for calling out specific folders or folder wildcard patterns ("**/*/node_modules") which should not be mounted.
When either host or sandbox access those folders (inside the parent mounted workspace), they would work in an isolated folder which doesn't get shared with the other machine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Fields

    No fields configured for Enhancement.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions