VS Code开发插件使用 pnpm 打包异常的解决姿势

前言

刚刚准备发一个插件,发现用 pnpm 打出一个本地插件包直接扑街了。

这里只聚焦错误问题的解决,不是发插件的教程。。

聊点背景信息,vscode 的插件命令行的是 vsce 这个模块提供的 cli 能力去做的

环境

  • pnpm : 8.x

错误截图

  • 本地打包的命令: vsce package <version> -m "message"
  • vsce package --help 可以看到目前只支持 yarn 这个第三方,要不就是默认的 npm

官方仓库的相关 issue 讨论:github.com/microsoft/v...

修正姿势

在 package.json 的 scripts 字段写成命令去执行,就可以绕过默认采用 npm 执行导致依赖查询异常

json 复制代码
  "scripts": {
    "vscode:prepublish": "pnpm run compile",
    "compile": "tsc -p ./",
    "watch": "tsc -watch -p ./",
    "pretest": "pnpm run compile && pnpm run lint",
    "lint": "eslint src --ext ts",
    "test": "vscode-test",
    "package": "pnpm vsce package --no-dependencies",
    "publish": "pnpm vsce publish --no-dependencies"
  },

这个法子也是 issue 里面好心人给的法子: github.com/microsoft/v...

修正效果图

这样就可以打出本地的扩展,可以先自己安装试试有没有问题,然后再 publish 到商店

温馨提示

npm package : vsce

插件作品

git-branch-warn

这个插件主要用来提示当前所在的分支是否为敏感分支,提供了一些配置,具体可以看 README。

因为过往的经历告诉我,真的有不少人会莫名其妙的把部分增量改动在敏感分支提交,导致代码需要各种回退。。

有个警示语,应该有那么一些作用!!!(≧ω≦)

结语

有不对之处请留言,谢谢阅读

相关推荐
羊小猪~~4 天前
C/C++语言基础--从C到C++的不同(上)
linux·c语言·c++·后端·qt·visualstudio·visual studio code
就是蠢啊8 天前
VScode 的简单使用
visual studio code
豆包MarsCode9 天前
使用豆包MarsCode 编写 Node.js 全栈应用开发实践
ide·人工智能·vscode·node.js·visual studio code·推荐算法
豆包MarsCode9 天前
「豆包 Marscode 体验官」AI 加持的云端 IDE——三种方法高效开发前后端聊天交互功能
java·ide·人工智能·python·visual studio code
nice6666010 天前
CSS的基本语法
java·前端·css·visual studio code
Hush_NUIST11 天前
TinyWebSever源码逐行注释(一)_webserver.cpp
服务器·开发语言·c++·websocket·php·web·visual studio code
Eiceblue13 天前
使用Python通过字节串或字节数组加载和保存PDF文档
开发语言·python·pycharm·pdf·visual studio code
爱编程的小赵16 天前
C ++初阶:类和对象(中)
c语言·开发语言·c++·算法·c#·visual studio code
羊小猪~~24 天前
C/C++语言基础--字符串(包括字符串与字符数组、字符串与指针、字符串处理函数等),代码均可运行
c语言·开发语言·c++·后端·青少年编程·visualstudio·visual studio code
羊小猪~~25 天前
C/C++语言基础--结构体知识详解(包括:结构体数组、字节对齐、位段等内容)
java·c语言·开发语言·c++·visual studio code·visual studio