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

mtsl

v0.0.13

Published

Replaces npm link with something that actually works!

Downloads

324

Readme

Would you like to support me?


Make Tangible symlinks

Mtsl listens to changes in some folder (using Chokidar) and copies changed files into another folder.

Working

Actually, it is watcher CLI that copy files from source to destination

Why Mtsl not other packages?

There are other tangible symlink packages available but every package has so many bugs. famous package is wml but that have many bugs. This package is working as required

Let's face it, sometimes symbolic links just aren't enough. Github has more than 80K issues with the words "support for symlinks" in them.

Mtsl is a CLI tool that works pretty much like ln -s [src] [dest]. You first set up your links by using the mtsl add -s [src] -d [dest] command and then run the mtsl service (mtsl start <linkId>) to start listening. link index can be get from mtsl list That's it!

Note that since Mtsl is based on Chokidar it does not support symlinks. lol.

Install

npm install -g mtsl

Usage

# add the link to mtsl using `mtsl add -s <src> -d <dest>`
mtsl add -s ~/source-dir -d ~/User/destination-dir
output

Added link: (0) /Users/username/source-dir -> /Users/username/User/destination-dir

# above command will give you link id what will use to start watching link that is added
mtsl start 0

OR

make start symlink without add link

# it is same as `mtsl start` but it starts to make symlink without adding the link
mtsl startwithoutadd -s <src> -d <dest>

Commands

add

mtsl add -s <src> -d <dest> (or mtsl add -s <src> -d <dest> -skip-prompt)

Adds a link.

mtsl will not start listening to changes until you start it by running mtsl start <linkId>.

Each link is given an unique id, you can see all links and their ids by running mtsl list. Links are saved to src/links.json in your mtsl install directory, meaning that your configuration is specific to that mtsl install.

remove

mtsl remove <linkId>

Removes a link.

remove all

mtsl removeall

Removes all link that made by using mtsl add.

start

mtsl start <linkId>

Starts mtsl.

It first copies all watched files from source to destination folder and then waits for new changes to happen.

startwithoutadd

mtsl startwithoutadd -s <src> -d <dest>

Starts mtsl without add link.

it is same as mtsl start but it starts to make symlink without adding the link.

list

mtsl list

Lists all links.

Shows each link's id and source/destination folders.

Miscellaneous

Ignored folders

When adding a new link Mtsl will try to detect if your source folder is a git repository or an npm package, it will then offer to ignore the ".git" and "node_modules" folders for you.

If you want to add more folders to your ignored folders first create a file named .mtslconfig.json in your source folder, this file should contain ignore directories for this folder which will not CRUD from source to destination.

In the following example we are ignoring the ".git" and "node_modules" folders:

{
    "ignore_dirs": [
        ".git",
        "node_modules"
    ]
}

Contributing

See the Contributing page.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

License

Copyright (c) 2020 Nomi9995. Licensed under the MIT license.