# bin/lint 업데이트로 번들되지 않은 플러그인의 린팅 흐름이 깨집니다

**URL:** https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126
**Category:** Development
**Created:** [5월 4, 2026, 9:56오전 UTC](https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126 "2026-05-04T09:56:56Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![klappradla](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/klappradla/32/531604_2.png) [@klappradla](https://meta.discourse.org/u/klappradla)
#### Post date: [5월 4, 2026, 9:56오전 UTC](https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126/1 "2026-05-04T09:56:56Z")

</div>

최근 Discourse의 `main` 브랜치에 적용된 변경 사항([https://github.com/discourse/discourse/commit/e84d7c9f26ed](https://e84d7c9f26ed))으로 인해 우리가 작업 중인 커스텀 플러그인을 린트하는 방식이 깨졌습니다.

해당 PR/커밋의 제목은 다음과 같습니다.

> DEV: `bin/lint`가 번들링되지 않은 플러그인에서도 올바르게 작동하도록 업데이트

그래서 우리의 린팅 워크플로우에 뭔가 완전히 잘못된 점이 있는 건지 궁금합니다. (cc @david)

## 제 린트 실행 방식

`bin/lint`를 사용하던 방식은 Discourse 루트 디렉터리에서 실행하고, 플러그인 디렉터리 내의 내 플러그인을 가리키도록 하는 것이었습니다:

```bash
bin/lint --fix plugins/my-custom-plugin

```

위에서 언급한 커밋 이후로 이 방식이 동작하지 않게 되었습니다. `pnpm`이 플러그인 디렉터리 내에서 실행되고 있다는 오류를 표시한 후, 더 이상 파일을 찾을 수 없게 됩니다. 오류 출력 중 한 예시는 다음과 같습니다:

```bash
> pnpm was run inside a plugin directory. Re-executing with --ignore-workspace...
NoFilesFoundError: No files matching the pattern "plugins/zlb-community/assets/stylesheets/common/atoms/category-button.scss, plugins/zlb-community/assets/stylesheets/common/atoms/category-icon.scss, plugins/zlb-community/assets/stylesheets/common/atoms/icon-info.scss, plugins/zlb-community/assets/stylesheets/common/atoms/user-pill.scss, plugins/zlb-community/assets/stylesheets/common/base/grid.scss, plugins/zlb-community/assets/stylesheets/common/base/normalize.scss, plugins/zlb-community/assets/stylesheets/common/base/rich-text.scss, plugins/zlb-community/assets/stylesheets/common/base/stack.scss, plugins/zlb-community/assets/stylesheets/common/index.scss, plugins/zlb-community/assets/stylesheets/common/molecules/card.scss, plugins/zlb-community/assets/stylesheets/common/molecules/expander.scss, plugins/zlb-community/assets/stylesheets/common/molecules/header.scss, plugins/zlb-community/assets/stylesheets/common/molecules/user-pill-list.scss, plugins/zlb-community/assets/stylesheets/common/organisms/category-header.scss, plugins/zlb-community/assets/stylesheets/common/templates/lobby.scss, plugins/zlb-community/assets/stylesheets/community-sidebar.scss, plugins/zlb-community/assets/stylesheets/user_home.scss, plugins/zlb-community/assets/stylesheets/common/atoms/badge.scss" were found.
    at standalone (file:///Users/max/code/bitcrowd/zlb/discourse/plugins/zlb-community/node_modules/.pnpm/stylelint@17.5.0_typescript@5.9.3/node_modules/stylelint/lib/standalone.mjs:293:43)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)

```

이전에는 완벽하게 잘 작동했습니다. (변경 사항 이전 커밋으로 돌아가는 것 외에는…) 이제 루트에서 `bin/lint`로만 전역 린트를 실행할 수 있습니다. 하지만 당연히 훨씬 더 오래 걸립니다.

이것이 다른 방식으로 수행되어야 하나요?

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [5월 4, 2026, 10:18오전 UTC](https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126/2 "2026-05-04T10:18:17Z")

</div>

@klappradla 님, 보고해 주셔서 감사합니다. 다음으로 수정할 수 있습니다:

> <https://github.com/discourse/discourse/pull/39705>
>
> \`relative\_paths\` relies on the current working directory, so running it inside \`…Dir.chdir\` was producing surprising results.
> 
> Also adds \`--ignore-workspace\` to the pnpm commands, so we bypass the noise & performance hit of the automatic re-exec in \`.pnpmfile.cjs\`

---

<div class="post-metadata">

### Author: ![klappradla](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/klappradla/32/531604_2.png) [@klappradla](https://meta.discourse.org/u/klappradla)
#### Post date: [5월 4, 2026, 11:22오전 UTC](https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126/3 "2026-05-04T11:22:59Z")

</div>

감사합니다!

수정 사항의 브랜치를 시도해 보았습니다. 다만 제 환경에서는 부분적으로만 작동하여, `template-lint` 이후에는 더 이상의 체크가 실행되지 않습니다.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [5월 4, 2026, 11:30오전 UTC](https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126/4 "2026-05-04T11:30:04Z")

</div>

ember-template-lint 이후에 stylelint가 실행되는 것 같지만, 출력이 비어 있어서 명확하지 않습니다. 간단한 진행 상황 출력과 최종 요약을 추가하는 커밋을 방금 푸시했습니다.

---

<div class="post-metadata">

### Author: ![klappradla](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/klappradla/32/531604_2.png) [@klappradla](https://meta.discourse.org/u/klappradla)
#### Post date: [5월 4, 2026, 11:54오전 UTC](https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126/5 "2026-05-04T11:54:29Z")

</div>

업데이트된 브랜치를 시도해 봤는데, 문제가 다른 곳에 있는 것 같아요. 이제 요약이 출력되니까 그 부분은 좋은데, 올바른 파일들을 확인하지 않는 것 같습니다 😂

`146fb61e104e`와 비교해 보면, `.scss`나 `.js` 파일에 삽입한 린팅 위반 사항을 전혀 감지하지 못합니다.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [5월 4, 2026, 12:07오후 UTC](https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126/6 "2026-05-04T12:07:22Z")

</div>

테스트를 위해 scss와 js 파일에 위반 사항을 추가해 봤는데, 잘 동작하는 것 같습니다. `bin/lint --verbose plugins/my-custom-plugin`을 실행해 보고, 출력물에 파일이 올바르게 나열되는지 확인해 주실 수 있을까요?

---

<div class="post-metadata">

### Author: ![klappradla](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/klappradla/32/531604_2.png) [@klappradla](https://meta.discourse.org/u/klappradla)
#### Post date: [5월 4, 2026, 12:38오후 UTC](https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126/7 "2026-05-04T12:38:54Z")

</div>

verbose에 대한 좋은 지적이네요!

네, 파일 경로는 문제없고 🎉를 보고하도록 만들 수 있습니다. 하지만 `--fix`를 전달하면 아무 일도 일어나지 않습니다. 거기에 API를 변경하셨나요?

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [5월 4, 2026, 12:53오후 UTC](https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126/8 "2026-05-04T12:53:33Z")

</div>

아… :facepalm:

커밋을 하나 더 올렸습니다. 한 번만 더 시도해 주시겠어요?

---

<div class="post-metadata">

### Author: ![klappradla](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/klappradla/32/531604_2.png) [@klappradla](https://meta.discourse.org/u/klappradla)
#### Post date: [5월 4, 2026, 6:25오후 UTC](https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126/9 "2026-05-04T18:25:26Z")

</div>

좋아요! 이제 제 환경에서는 정상적으로 작동합니다 🎉

늦게 답변드려서 죄송합니다 - 컴퓨터와 무관한 업무로 자리를 비웠었거든요.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [5월 4, 2026, 6:27오후 UTC](https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126/10 "2026-05-04T18:27:02Z")

</div>

좋아요 - 도움을 주셔서 감사합니다! PR을 병합했습니다 🚀

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [5월 6, 2026, 6:27오후 UTC](https://meta.discourse.org/t/update-to-bin-lint-breaks-linting-flow-for-non-bundled-plugins/402126/11 "2026-05-06T18:27:49Z")

</div>

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.
