VS Code Extension for pnpm, pnpm workspace and more.

Overview

pnpm-icon         vscode-icon

pnpm-vscode-helper

VS Code Extension for better DX with pnpm.

Marketplace Installs License

Quick Start

  • Type Ctrl(Command) + Shift + P to open workbench commands input.
  • Type ext install
  • Search pnpm-vscode-helper

Also, you can use Ctrl(Command) + Shift + X to open VS Code Extension Tab, and search for pnpm-vscode-helper.

Features

  • pnpm configuration hover & completions.
  • pnpm workspace configuration hover & completions.
  • select from your workspace packages and run scripts with easy filtering.
  • upgrade or remove your workspace root / workspace packages dependencies.
  • publish your plain node package(as multirepo) and workspace packages(as monorepo) with interactive prompt.
  • navigate to a workspace package from its dependent by workspace: protocol.

Commands

Confiure

Configure extension features.

See Configure for more details.

Create

  • pnpm-vscode-helper.create-npm-rc-config
  • pnpm-vscode-helper.create-pnpm-workspace-config

Create .npmrc / pnpm-workspace.yaml file in current project root, with pnpm specified configuration and default value.

Install

  • pnpm-vscode-helper.install-workspace-root-deps

    Install workspace root dependencies only(as pnpm doesnot support this, we collect dependencies from workspace root and install them).

    install-workspace-root-deps

  • pnpm-vscode-helper.install-selected-packages-deps

    nstall-selected-packages-deps

    Select a set of packages, and install dependencies for them.

Package

  • pnpm-vscode-helper.select-workspace-package

    Select a workspace package, and then select script to execute and filtering type.

    • script selection items come from selected package's package.json file and workspace-only extra scripts(see Workspace.ExtraWorkspaceScripts).
    • filtering types come from the filtering syntax supported by pnpm now:
      • self
      • withDependencies
      • withDependents
      • dependenciesOnly
      • dependentsOnly

    select-package

Publish

  • pnpm-vscode-helper.publish-node-package

    This command will ask you for the release type(major, minor, ...), and some publish related opitions( git-checks , tag, ...) , and update the bumped version in package.json 's version field, then run pnpm publish with arguments composed from prompt result.

    • you can choose release type which follows semver type, or input new version manually.
    • we ask tag, access, git-checks, for final command arguments.
  • pnpm-vscode-helper.publish-workspace-package

    Similar to the publish-node-package command, but this command requires you to select a workspace package to release.

    publish

Remove Deps

  • pnpm-vscode-helper.remove-workspace-root-deps

    This command collects all deps included in root packages.json, and display quick pick prompt for you to select from.

    Selected dependencies will be removed by pnpm remove command.

    This command is also avaliable in non-workspace project.

  • pnpm-vscode-helper.remove-workspace-package-deps

    Similar to remove-workspace-root-deps, but this command requires you to select a workspace package first.

Upgrade

  • pnpm-vscode-helper.built-in-upgrade

    This command will update dependencies of your selected package by pnpm update command, related options will also be prompted for arguments composing.

    • Options including:
      • recursive
      • latest
      • workspace
      • dev
      • prod
      • interactive

    upgrade

Workspace

  • pnpm-vscode-helper.create-extra-workspace-scripts

  • pnpm-vscode-helper.remove-extra-workspace-scripts

    This extra scripts command helps you to create pre-configured npm scripts, which will used by select-workspace-package command.

    This can be useful when you want to run some scripts which only exist in dependencies or dependents of selected package.

Providers

  • In .npmrc, this extension provides completion for both key and value(only pnpm specified configurations are included).
  • In pnpm-workspace.yaml, this extension provides key completions and hovers.
  • In package.json, the dependency item with workspace: protocol will have Click to open workspace package folder codelen, you can click it to open target package.

hover-completion

codelen

Configurations

  • pnpm-vscode-helper.toggle-codelen-status

    Toggle codelen status.

License

MIT

You might also like...

Turborepo starter with pnpm

Turborepo starter with pnpm This is an official starter turborepo. What's inside? This turborepo uses pnpm as a packages manager. It includes the foll

Dec 18, 2022

Nuxt.js 3 x Histoire x Vitest x VitePress x Turbo (pnpm)

Turborepo nuxt starter This is a monorepo with Nuxt, Histoire, Vitest & VitePress as a starter for any project that can be easily extended. You can al

Dec 19, 2022

A VS Code extension to practice and improve your typing speed right inside your code editor. Practice with simple words or code snippets.

A VS Code extension to practice and improve your typing speed right inside your code editor. Practice with simple words or code snippets.

Warm Up 🔥 👨‍💻 A VS Code extension to practice and improve your typing speed right inside your code editor. Practice with simple words or code snipp

Dec 12, 2022

NX workspace for running medusa backend, storefront and admin panel with marketplace functionalities

Medusa Marketplace Project status Assigned store_id to Order, Product to make them store specific Create and process payment for an order with multipl

Nov 13, 2022

🚀Starter project with Angular 13, Ngx-admin, NestJS, Nx Workspace, Jest, Cypress, ESLint & Prettier 🚀

🚀Starter project with Angular 13, Ngx-admin, NestJS, Nx Workspace, Jest, Cypress, ESLint & Prettier 🚀

Angular 13 + Ngx-admin + NestJs + NX Starter project with Angular 13, Ngx-admin, NestJs, Nx Workspace, Jest, Cypress, ESLint & Prettier Features ✅ Ang

Jan 4, 2023

Supercharge your All-in-One workspace with the Command Palette within Notion 🕹️

Supercharge your All-in-One workspace with the Command Palette within Notion 🕹️

Notion Palette Supercharge your All-in-One workspace with the Command Palette within Notion 🕹️ Notion Palette is a free and open source extension, yo

Nov 10, 2022

A leetcode workspace template with test case runner for JavaScript/TypeScript programmers.

leetcode-typescript-workspace English | 简体中文 A vscode workspace template with test case runner script for JavaScript/TypeScript programmers using exte

Dec 13, 2022

Awesome list for Google Workspace.

awesome-workspace Showcase your use of Google Workspace by opening an issue to get your project listed at https://googleworkspace.github.io/awesome-wo

Nov 12, 2022

Open a new Arc browser window for a specific workspace.

Open a new Arc browser window for a specific workspace.

Alfred "New Arc Window" Workflow (naw) Open a new Arc browser window on a specific space. Demo: https://youtu.be/IKz3Sl9Hcn8. Get it on Packal Or down

Dec 1, 2022
Comments
  • [BUG] doesn't work with slash `/` in package name

    [BUG] doesn't work with slash `/` in package name

    I'm using PNPM workspace. I have structure like so

    packag.json // root
    apps/
    	@space1
    		app1
    			package.json // "name": "@space1/app1"
    ...
    

    name property of apps/@space1/app1/packae.jsom contains slash. It seems like cause an issue. When I try to install dependency, I'm getting an error similar to this:

    Command 'PNPM VS Code Helper: Install selected package dependencies only.' resulted in an error (Unable to read file '/<path to repo>/apps/@space1/package.json' (Error: Unable to resolve nonexistent file '/<path to repo>/apps/@space1/package.json'))

    note, there is no app1 folder in the path

    opened by kopach 0
Owner
LinbuduLab
Linbudu's Open Source Works.
LinbuduLab
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
Brickdoc is an open-source compound document-based online workspace and low-code development platform.

Brickdoc ⚠️ Note: This software is currently under active development. Some features may be available in the future, and the API and interface may cha

Brickdoc 210 Dec 20, 2022
Brickdoc is an open-source compound document-based online workspace and low-code development platform.

Brickdoc ⚠️ Note: This software is currently under active development. Some features may be available in the future, and the API and interface may cha

MashCard 65 Jun 17, 2022
MashCard is an open-source all-in-one workspace and low-code development platform.

MashCard ⚠️ Note: This software is currently under active development. Some features may be available in the future, and the API and interface may cha

MashCard 210 Dec 20, 2022
The aim of this project is to restructure the Awesome books app code by using ES6 syntax and organising the workspace using modules.

Awesome-Books-ES6 The aim of this project is to restructure the Awesome books app code by using ES6 syntax and organising the workspace using modules.

Favour Ezeugwa 15 Aug 18, 2022
Remix TypeScript monorepo with Turborepo pipelines, Prisma, PostgreSQL, Docker deploy to Fly.io, pnpm, TailwindCSS and Tsyringe for DI.

Remix template with Turborepo, TypeScript and pnpm. The remix app deploys to fly.io or build to Docker image. Example packages for Database with prisma, Tsyringe dependency injection, UI, and internal TypeScript packages.

Philippe L'ATTENTION 33 Dec 29, 2022
Get packages from a monorepo (pnpm, yarn, npm, lerna)

?? You can help the author become a full-time open-source maintainer by sponsoring him on GitHub. @egoist/get-packages Get packages from a monorepo (p

EGOIST 45 Jun 1, 2022
Deduplication tool for pnpm-lock.yaml files

pnpm-deduplicate Remove duplicate dependencies from pnpm-lock.yaml. This project is simple and not have many features. I see it as a temporary solutio

null 62 Jan 3, 2023
Detects which package manager (bun, pnpm, yarn, npm) is used.

@skarab/detect-package-manager Detects which package manager (bun, pnpm, yarn, npm) is used based on the current working directory. Features Support p

null 5 Sep 3, 2022