Skip to main content

Introduction

yalcspace generates dynamic VSCode workspaces from yalc links, streamlining multi-package local development.

What is yalcspace?

When working with multiple local packages linked via yalc, managing builds, dependencies, and workspace configurations becomes tedious and error-prone. yalcspace solves this by:

  • Constructing dependency graphs from your yalc links
  • Generating VSCode workspaces that include all linked packages
  • Providing build commands that respect dependency ordering
  • Eliminating duplicate packages in your bundles

Quick Start

In your top-level project directory:

npx yalcspace

This creates a VSCode workspace including your project and all currently yalc'd packages, then opens it.

Problems Solved

Duplicate packages in your bundle

yarn can install multiple versions of a package when using yalc, because file://path/to/package@0.0.0 isn't compatible with package@1.2.3. This leads to broken React Context and other subtle bugs.

Invalid file locations

When yalc'd packages reference other yalc'd packages, the .yalc directory paths can become invalid relative to the consuming project's node_modules.

Development tedium

Without yalcspace, building a chain of interdependent local packages requires manually opening each workspace, building, and pushing — in the correct order.