<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: alamhubb</title>
    <description>The latest articles on Forem by alamhubb (@alamhubb).</description>
    <link>https://forem.com/alamhubb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3710370%2F341e60ff-b32d-4639-8f8f-5e424d50cbde.jpg</url>
      <title>Forem: alamhubb</title>
      <link>https://forem.com/alamhubb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/alamhubb"/>
    <language>en</language>
    <item>
      <title>Dislike the chain of pollution caused by pnpm? Try this non-intrusive, zero-modification npm standard tool, monorepo.</title>
      <dc:creator>alamhubb</dc:creator>
      <pubDate>Wed, 14 Jan 2026 07:37:53 +0000</pubDate>
      <link>https://forem.com/alamhubb/dislike-the-chain-of-pollution-caused-by-pnpm-try-this-non-intrusive-zero-modification-npm-3726</link>
      <guid>https://forem.com/alamhubb/dislike-the-chain-of-pollution-caused-by-pnpm-try-this-non-intrusive-zero-modification-npm-3726</guid>
      <description>&lt;h1&gt;
  
  
  "Chain Pollution" — How One pnpm Project Forces Your Entire Dependency Chain to Use pnpm
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;I just want to reference local package source code during development. Why does the entire dependency chain have to install pnpm? I'm fed up with this "contagion".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Core Problem: pnpm's Chain Pollution
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is Chain Pollution?
&lt;/h3&gt;

&lt;p&gt;Imagine you have this dependency relationship:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Project A (the project you're developing)
  └── depends on Project B (local package)
        └── depends on Project C (local package)
              └── depends on Project D (local package)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;If Project A uses pnpm workspace:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Project A (pnpm) → must use pnpm
  └── Project B → must use pnpm (infected)
        └── Project C → must use pnpm (infected)
              └── Project D → must use pnpm (infected)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The entire chain is "infected"!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔗 &lt;strong&gt;All related projects&lt;/strong&gt; must be converted to pnpm&lt;/li&gt;
&lt;li&gt;👥 &lt;strong&gt;Everyone involved&lt;/strong&gt; must install pnpm&lt;/li&gt;
&lt;li&gt;🔧 &lt;strong&gt;All CI/CD environments&lt;/strong&gt; must be configured for pnpm&lt;/li&gt;
&lt;li&gt;📦 If your Project B is &lt;strong&gt;used by others&lt;/strong&gt;, they're forced to use pnpm too&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Pain Points Explained: The Pitfalls of pnpm workspace
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. First Barrier for Newcomers
&lt;/h3&gt;

&lt;p&gt;You excitedly clone an open-source project, run &lt;code&gt;npm install&lt;/code&gt;, and then... 💥&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm ERR! Invalid tag name "workspace:*": Tags may not have any characters that encodeURIComponent encodes.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This error leaves countless beginners confused. Why? The project uses pnpm workspace, but you're using npm.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution?&lt;/strong&gt; Go install pnpm:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; pnpm
pnpm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But here's the problem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why do I need to install a new package manager for just one project?&lt;/li&gt;
&lt;li&gt;My other projects all use npm, now I have to mix?&lt;/li&gt;
&lt;li&gt;CI/CD environments also need pnpm configuration?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. The Compatibility Nightmare of workspace:*
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;workspace:*&lt;/code&gt; is pnpm's proprietary protocol. It makes your &lt;code&gt;package.json&lt;/code&gt; look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"dependencies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"@my-org/utils"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"workspace:*"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"@my-org/core"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"workspace:^1.0.0"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ &lt;strong&gt;npm/yarn can't recognize it&lt;/strong&gt; - Direct error&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;Must convert before publishing&lt;/strong&gt; - Need &lt;code&gt;pnpm publish&lt;/code&gt; to auto-replace&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;Locks in package manager&lt;/strong&gt; - Everyone on the team must use pnpm&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;Third-party tools may not be compatible&lt;/strong&gt; - Some build tools can't parse it&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. High Project Migration Cost
&lt;/h3&gt;

&lt;p&gt;Want to convert an existing npm project to pnpm workspace? You need to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create pnpm-workspace.yaml&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;   &lt;span class="na"&gt;packages&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
     &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;packages/*'&lt;/span&gt;
     &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;apps/*'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Modify all package.json files&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
     &lt;/span&gt;&lt;span class="nl"&gt;"dependencies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
       &lt;/span&gt;&lt;span class="nl"&gt;"my-local-pkg"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"workspace:*"&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;was&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^1.0.0"&lt;/span&gt;&lt;span class="w"&gt;
     &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
   &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Migrate lock files&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delete &lt;code&gt;package-lock.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;pnpm install&lt;/code&gt; to generate &lt;code&gt;pnpm-lock.yaml&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Update CI/CD configuration&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;   &lt;span class="c1"&gt;# Before&lt;/span&gt;
   &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;npm install&lt;/span&gt;

   &lt;span class="c1"&gt;# After&lt;/span&gt;
   &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;npm install -g pnpm&lt;/span&gt;
   &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;pnpm install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Notify team members&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Everyone needs to install pnpm&lt;/li&gt;
&lt;li&gt;Everyone needs to learn pnpm commands&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;All this, just to reference local package source code?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. The Build Dependency Hassle
&lt;/h3&gt;

&lt;p&gt;Even with workspace configured, you still need to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Build dependency package first&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;packages/core
npm run build

&lt;span class="c"&gt;# Then build main package&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;packages/app
npm run build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every time you modify dependency code, you have to rebuild. This significantly reduces development efficiency.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Solution: Mono - Zero-intrusion Monorepo Development
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Core Philosophy: Don't Change, Just Enhance
&lt;/h3&gt;

&lt;p&gt;Mono's design philosophy is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Your project remains a standard npm project. Mono just helps with module resolution during development.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Comparison: pnpm workspace vs Mono
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Aspect&lt;/th&gt;
&lt;th&gt;pnpm workspace&lt;/th&gt;
&lt;th&gt;Mono&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Must install pnpm&lt;/td&gt;
&lt;td&gt;Optionally install mono-mjs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Config Files&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Needs pnpm-workspace.yaml&lt;/td&gt;
&lt;td&gt;No config files needed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;package.json&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Must change to workspace:*&lt;/td&gt;
&lt;td&gt;No modifications needed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;After Cloning&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Must use pnpm install&lt;/td&gt;
&lt;td&gt;npm/yarn/pnpm all work&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Build Dependencies&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Need to build first&lt;/td&gt;
&lt;td&gt;Use source code directly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Team Collaboration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Everyone must use pnpm&lt;/td&gt;
&lt;td&gt;No tool requirements&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Publishing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Needs special handling&lt;/td&gt;
&lt;td&gt;Standard npm publish&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Usage: One Command
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; mono-mjs

&lt;span class="c"&gt;# Run (automatically uses local package source)&lt;/span&gt;
mono ./src/index.ts

&lt;span class="c"&gt;# With Vite&lt;/span&gt;
mono ./node_modules/vite/bin/vite.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;That's it!&lt;/strong&gt; No configuration needed, no file modifications.&lt;/p&gt;

&lt;h3&gt;
  
  
  How It Works
&lt;/h3&gt;

&lt;p&gt;Mono uses Node.js ESM Loader Hooks to intercept module resolution at runtime:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Your code: import { utils } from 'my-utils'
                    ↓
Mono intercepts: Detects my-utils is a local package
                    ↓
Redirects: → /path/to/my-utils/src/index.ts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Use TypeScript source directly&lt;/strong&gt; - No build needed&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Changes take effect immediately&lt;/strong&gt; - No rebuild required&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;package.json stays clean&lt;/strong&gt; - No workspace:* protocol&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Who is Mono For?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ✅ Perfect For
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Individual developers&lt;/strong&gt; - Have multiple interdependent npm packages, want quick local dev/debug&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Small teams&lt;/strong&gt; - Don't want to force everyone to use a specific package manager&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open source maintainers&lt;/strong&gt; - Want contributors to clone and run with any package manager&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Teaching and demos&lt;/strong&gt; - Need to quickly set up multi-package demo environments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gradual migration&lt;/strong&gt; - Considering monorepo solutions, want to test the waters first&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ⚠️ May Not Be Suitable For
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Large enterprise monorepos&lt;/strong&gt; - If you have 500+ packages, you may need more professional tools (like Nx, Turborepo)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Strict version management&lt;/strong&gt; - If you need precise control over each package's version dependencies&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Already deep into pnpm workspace&lt;/strong&gt; - Migration cost may not be worth it&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Real Example: From pnpm workspace to Mono
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Before (pnpm workspace)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;project/
├── pnpm-workspace.yaml        # Required config
├── pnpm-lock.yaml             # pnpm-specific lock file
├── packages/
│   ├── core/
│   │   └── package.json       # "main": "./dist/index.js"
│   └── app/
│       └── package.json       # "@my/core": "workspace:*"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Problems&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New members must install pnpm after cloning&lt;/li&gt;
&lt;li&gt;Must rebuild after modifying core&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  After (Mono)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;project/
├── package-lock.json          # Standard npm lock file
├── packages/
│   ├── core/
│   │   └── package.json       # Add "local": "./src/index.ts"
│   └── app/
│       └── package.json       # "@my/core": "^1.0.0" (standard version)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New members can &lt;code&gt;npm install&lt;/code&gt; after cloning&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;mono ./src/index.ts&lt;/code&gt; to automatically use source code&lt;/li&gt;
&lt;li&gt;Production build uses normal &lt;code&gt;npm run build&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Install&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; mono-mjs

&lt;span class="c"&gt;# 2. (Optional) Add entry in local package's package.json&lt;/span&gt;
&lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="s2"&gt;"name"&lt;/span&gt;: &lt;span class="s2"&gt;"my-package"&lt;/span&gt;,
  &lt;span class="s2"&gt;"local"&lt;/span&gt;: &lt;span class="s2"&gt;"./src/index.ts"&lt;/span&gt;   // Optional, this is the default
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="c"&gt;# 3. Run&lt;/span&gt;
mono ./src/index.ts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Learn More
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📦 &lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/alamhubb/mono" rel="noopener noreferrer"&gt;https://github.com/alamhubb/mono&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📖 &lt;strong&gt;Docs&lt;/strong&gt;: &lt;a href="//./mono"&gt;mono-mjs&lt;/a&gt; | &lt;a href="//./vite-plugin-mono"&gt;vite-plugin-mono&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mono - Making Monorepo Development Simple Again&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>node</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
