Command Palette

Search for a command to run...

로컬에서 로드 및 테스트

사전 빌드된 개발 패키지 또는 zip 드롭으로 빌드한 프레즌스를 Nowly 확장 프로그램에 로드하세요.

nowly build <slug> 이후에도 여전히 해당 번들을 브라우저에 넣어야 합니다. 두 가지 로컬 로드 방법이 있습니다. 둘 다 Nowly API와 통신하지 않습니다.

1. 사전 빌드된 확장 프로그램(nowly extension)

처음 설정할 때 사용하는 방법입니다. CLI는 Chrome 또는 Firefox 개발 빌드를 다운로드하고 컴파일된 프레즌스를 포함합니다.

nowly build youtube
nowly extension youtube             # Chrome (기본값)
nowly extension youtube --firefox
nowly extension youtube --f         # Firefox 별칭

여러 슬러그를 전달할 수 있습니다.

nowly extension youtube github figma --firefox

브라우저 옵션은 함께 사용할 수 없습니다. Chrome을 명시적으로 선택하려면 --chrome / --c를 사용하세요.

그런 다음:

  • Chrome: chrome://extensions를 열고 개발자 모드를 활성화한 뒤 dist/extension-dev를 압축 해제된 확장 프로그램으로 로드하세요
  • Firefox: about:debugging#/runtime/this-firefox를 열고 This Firefox → **Load Temporary Add-on...**을 선택한 뒤 dist/extension-dev-firefox/manifest.json을 선택하세요

프레즌스는 확장 프로그램 시작 시 dev-presences.json에서 설치됩니다. 코드를 변경한 후 다시 빌드하고 nowly extension <slug>를 다시 실행한 다음 확장 프로그램을 새로고침하세요.

CDN 대신 로컬 빌드를 사용하려면:

nowly extension youtube --chrome --from ../nowly/apps/extension/dist/chrome
nowly extension youtube --firefox --from ../nowly/apps/extension/dist/firefox

nowly extension은 압축 해제된 폴더를 생성합니다. 브라우저에 Nowly가 아직 로드되지 않은 경우 사용하세요.

전체 Nowly 모노레포

nowly를 클론하고 pnpm repos를 실행한 경우(presences가 packages/presences에 클론됩니다), 빌드한 모든 프레즌스를 확장 프로그램에 포함시킬 수 있습니다.

nowly build youtube
pnpm build:extension:dev --bundled

apps/extension/dist/chrome를 압축 해제된 상태로 로드하세요. 다시 빌드할 때마다 새로고침하세요.

2. Zip 드롭(nowly pack)

Nowly가 이미 압축 해제된 개발 빌드로 로드되어 있을 때 사용하세요. Chrome 웹 스토어의 스토어 설치는 서명되지 않은 zip을 거부합니다. 전체 확장 프로그램이 아닌 프레즌스만 다시 빌드합니다.

nowly pack youtube

이 명령은 프레즌스를 빌드한 다음 dist/presences/youtube/를 dist/packs/youtube.zip으로 압축합니다. zip에는 최소한 metadata.json과 bundle.js가 포함되어야 합니다. 중첩된 폴더가 있어도 괜찮습니다.

그런 다음 사이드 패널에서:

  1. 설정 → 고급을 여세요
  2. 개발자 모드를 활성화하세요(압축 해제된 빌드에서는 항상 켜져 있음)
  3. 디버그를 펼치세요
  4. .zip 파일을 드롭하세요(또는 찾아보기로 선택)

프레즌스는 로컬 소스로 설치됩니다. 압축 해제된 빌드의 시작 시 정리 작업으로도 제거되지 않습니다. 서명되지 않은 zip은 압축 해제된 빌드에서만 허용됩니다(압축 해제된 확장 프로그램 로드). 설정의 개발자 모드 토글은 디버그 UI만 표시할 뿐, 스토어 빌드에서 zip 설치를 허용하지는 않습니다. 스토어 빌드는 여전히 API의 서명된 릴리스가 필요합니다.

코드를 변경할 때마다:

nowly pack youtube

새 zip을 다시 드롭하세요. 확장 프로그램 자체를 변경하지 않는 한 압축 해제된 확장 프로그램을 새로고침할 필요는 없습니다.

어떤 방법을 선택할지

| 상황 | 방법 | |---|---| | 첫 설정이거나 브라우저에 Nowly가 없는 경우 | nowly extension <slug> | | Nowly가 이미 로드되어 있고, 하나의 프레즌스를 반복 개발하는 경우 | nowly pack <slug> 후 zip 드롭 | | 전체 nowly 모노레포에서 작업하는 경우 | pnpm build:extension:dev --bundled |

CLI도 참고하세요.