2022. 7. 30. 15:30

다른 포스팅에서도 언급했습니다만.....

'NPM Task Runner'는 하위 폴더의 'package.json'을 읽을 수 없습니다.

 

1. 이슈 확인하기

이것에 대한 이슈가 있는데.

github - madskristensen/NpmTaskRunner Issues :  Allow to run this extension when package.json is in subfolder instead of the root folder of the project. #37

 

 

몇 가지 방법이 제시되어있습니다.

저는'NPM Task Runner'를 수정해서 사용하라는 'alfr3c0d3'님의 방법을 사용합니다.

( 참고 : https://github.com/madskristensen/NpmTaskRunner/issues/37#issuecomment-628407420 )

('NPM Task Runner'의 경로를 수정해서 다시 빌드한 다음 설치하라는 뜻입니다 ㅎㅎㅎㅎ)

 

2. 수정하기

직접 포크해서 작업하려고 이 프로젝트의 풀리쿼스트를 보니 마침 작업한 사람이 있습니다.

github - adameska/NpmTaskRunner

 

 

문제는 2022에서 빌드가 안 되네요;;;;

결국 최신버전을 받아서 수정해야 했습니다.

TaskRunnerProvider.cs

 

13번 줄을 

using Microsoft.VisualStudio.TaskRunnerExplorer;
using NpmTaskRunner.Helpers;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Media;
using System.Windows.Media.Imaging;

namespace NpmTaskRunner
{
	[TaskRunnerExport(Constants.FILENAME, "ClientApp\\" + Constants.FILENAME)]
	class TaskRunnerProvider : ITaskRunner
	{
		private ImageSource _icon;
		private List<ITaskRunnerOption> _options = null;

 

13줄을 

[TaskRunnerExport(Constants.FILENAME)]

-> [TaskRunnerExport(Constants.FILENAME, "ClientApp\\" + Constants.FILENAME)]

로 수정

 

 

이미 작업한 사람이 있는 포크하기도 그렇고...

포크한 건 빌드가안되서 다시 빌드하고.....

그러니 내가 작업한 거 알릴 수도 없고...(어차피 풀 리퀘스트는 할 생각 없었지만...)

 

 

3. 설치

이건 임의로 빌드해서 만든 거라 자동업데이트를 끄지 않으면 안 됩니다.

(참고 : MS Docs - 방법: Visual Studio 확장 업데이트)

 

안 끄면 설치할 때마다 자동으로 마켓에 올라간 버전으로 업데이트해버립니다.

 

 

첨부된 파일을 받아 설치해 줍니다.

NpmTaskRunner_ClientApp.7z
0.13MB

혹은

구글 드라이버에서 받기 - NpmTaskRunner_ClientApp.7z

 

 

이제 하위 폴더에서도 'package.json'을 인식하는 것을 알 수 있습니다.

 

 

마무리

다른 건 몰라도 비주얼 스튜디오가 생성한 프로젝트들이 사용하는 하위 폴더 정도는 인식할 수 있게 허가해주지.....

MS쪽은 뭔가 다른걸 준비하는지 이쪽 인터페이스 완전히 손 놓은 거 같긴 한데 말이죠....

'.NET 8'쯤돼서 공개하려나?