npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

link-workspaces

v1.1.0

Published

Link Yarn Workspaces while respecting publishConfig.directory

Downloads

209

Readme

link-workspaces

Yarn does not respect publishConfig.directory when linking packages in a mono repo. Meaning, when one of your packages isn't being published from the package root - but for example from inside ./dist - your dev environment will not be able to find the package.

This package deals with that limitation by fixing the links during post install.

See relevant issue: yarn#7644. This package should be deprecated once that issue is resolved.

Install

yarn add -D -W link-workspaces

Usage

Add link-workspaces to your postinstall:

{
	"scripts": {
		"postinstall": "link-workspaces"
	}
}

Now run yarn install or yarn postinstall and you should be good to go.

Options

--silent

link-workspaces will print information about created links to stdout. You can silence this by passing the --silent or -s flag.

{
	"scripts": {
		"postinstall": "link-workspaces --silent"
	}
}

--no-source

By default, when the publishConfig.directory is defined, we create a link to the folder mentioned in your source field. If no source field exists, we use the publishConfig.directory. This makes it so that your development environment works with source fields, rather than with dist files.

Provide the --no-source flag to opt out of this behavior.

{
  "scripts": {
    "postinstall": "link-workspaces --no-source"
  }
}

Credits

I've used the following packages/files as inspiration when creating link-workspaces. You might see similarities in the code if you were to compare the files. All source code used and linked below is licensed under the MIT license.

Much kudos to the authors of the original source: