microsoft / DevSkim

DevSkim is a set of IDE plugins, language analyzers, and rules that provide security "linting" capabilities.
MIT License
903 stars 115 forks source link

`npm run pack-ext` failed on mac #622

Closed nkbai closed 2 months ago

nkbai commented 3 months ago

Describe the bug npm run pack-ext failed on mac

To Reproduce Steps to reproduce the behavior:

  1. clone the code
  2. checkout v1.0.9
  3. run npm install
  4. run npm run pack-ext

Expected behavior found DevSkim-VsCode-Plugin\vscode-devskim-*.vsix

Versions(please complete the following information):

Additional context

npm run pack-ext

> vscode-devskim@0.0.0-placeholder pack-ext
> npm run pre-pack-clean && npm run setup:release && npm run set-version-and-pack

> vscode-devskim@0.0.0-placeholder pre-pack-clean
> npm run clean:out && npm run clean:modules

> vscode-devskim@0.0.0-placeholder clean:out
> npx --quiet -y rimraf --glob **/out && npx --quiet -y rimraf --glob **/tsconfig.tsbuildinfo

> vscode-devskim@0.0.0-placeholder clean:modules
> npx --quiet -y rimraf --glob **/node_modules

> vscode-devskim@0.0.0-placeholder setup:release
> npm install && npm run net-setup:release

> vscode-devskim@0.0.0-placeholder postinstall
> cd client && npm install && cd ..

added 50 packages in 414ms

2 packages are looking for funding
  run `npm fund` for details

up to date in 7s

41 packages are looking for funding
  run `npm fund` for details

> vscode-devskim@0.0.0-placeholder net-setup:release
> dotnet publish -c Release -f net7.0 ../DevSkim-DotNet/Microsoft.DevSkim.LanguageServer -o devskimBinaries

适用于 .NET MSBuild 版本 17.8.5+b5265ef37
  Determining projects to restore...
  Restored /Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim.LanguageProtoInterop/Microsoft.DevSkim.LanguageProtoInterop.csproj (in 1.55 sec).
  Restored /Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim.LanguageServer/Microsoft.DevSkim.LanguageServer.csproj (in 3.24 sec).
  Restored /Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim/Microsoft.DevSkim.csproj (in 3.37 sec).
  Microsoft.DevSkim.LanguageProtoInterop -> /Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim.LanguageProtoInterop/bin/Release/netstandard2.0/Microsoft.DevSkim.LanguageProtoInterop.dll
/Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim/DevSkimRuleProcessor.cs(120,34): warning CS0168: 声明了变量“e”,但从未使用过 [/Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim/Microsoft.DevSkim.csproj::TargetFramework=net7.0]
  Microsoft.DevSkim -> /Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim/bin/Release/net7.0/Microsoft.DevSkim.dll
/Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim.LanguageServer/ConfigHelpers.cs(53,30): warning CS0168: 声明了变量“e”,但从未使用过 [/Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim.LanguageServer/Microsoft.DevSkim.LanguageServer.csproj::TargetFramework=net7.0]
/Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim.LanguageServer/ConfigHelpers.cs(75,30): warning CS0168: 声明了变量“e”,但从未使用过 [/Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim.LanguageServer/Microsoft.DevSkim.LanguageServer.csproj::TargetFramework=net7.0]
/Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim.LanguageServer/Program.cs(60,56): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim.LanguageServer/Microsoft.DevSkim.LanguageServer.csproj::TargetFramework=net7.0]
/Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim.LanguageServer/Program.cs(73,66): warning CS1998: 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 [/Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim.LanguageServer/Microsoft.DevSkim.LanguageServer.csproj::TargetFramework=net7.0]
  Microsoft.DevSkim.LanguageServer -> /Users/UserName/dev/vuejs/DevSkim/DevSkim-DotNet/Microsoft.DevSkim.LanguageServer/bin/Release/net7.0/Microsoft.DevSkim.LanguageServer.dll
  Microsoft.DevSkim.LanguageServer -> /Users/UserName/dev/vuejs/DevSkim/DevSkim-VSCode-Plugin/devskimBinaries/

> vscode-devskim@0.0.0-placeholder set-version-and-pack
> npm run set-version && npm run do-pack && npm run reset-version

> vscode-devskim@0.0.0-placeholder set-version
> node ./scripts/setPackageVersion.js

Setting package version to 1.0.9

> vscode-devskim@1.0.9 do-pack
> (npm run check-pre-release && npm run vsce-pack-pre) || npm run vsce-pack

> vscode-devskim@1.0.9 check-pre-release
> node ./scripts/checkPreReleaseFlag.js

Detected Release

> vscode-devskim@1.0.9 vsce-pack
> vsce package || echo 'Release build failed'

node:internal/modules/cjs/loader:1031
  throw err;
  ^

Error: Cannot find module './out/main'
Require stack:
- /Users/UserName/dev/vuejs/DevSkim/DevSkim-VSCode-Plugin/node_modules/@vscode/vsce/vsce
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1028:15)
    at Function.Module._load (node:internal/modules/cjs/loader:873:27)
    at Module.require (node:internal/modules/cjs/loader:1100:19)
    at require (node:internal/modules/cjs/helpers:119:18)
    at Object.<anonymous> (/Users/UserName/dev/vuejs/DevSkim/DevSkim-VSCode-Plugin/node_modules/@vscode/vsce/vsce:2:1)
    at Module._compile (node:internal/modules/cjs/loader:1198:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)
    at Module.load (node:internal/modules/cjs/loader:1076:32)
    at Function.Module._load (node:internal/modules/cjs/loader:911:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/UserName/dev/vuejs/DevSkim/DevSkim-VSCode-Plugin/node_modules/@vscode/vsce/vsce'
  ]
}
Release build failed

> vscode-devskim@1.0.9 reset-version
> node ./scripts/resetPackageVersion.js

Resetting package version to 0.0.0-placeholder
gfs commented 3 months ago

I can't reproduce this with the code that's currently in main. It looks like you're quite a few versions behind - the build script is using net7.0 and reporting version 1.0.9 - the latest on main should be 1.0.39 and uses net 8.0. I recommend either fetching the latest or if you've made modifications, doing a rebase or other kind of merge.

gfs commented 2 months ago

Closed due to no repro/old version. If you can reproduce this with the current head of main feel free to reopen with the details and I can take another look.