현재 package.json은 npm publish 시 소비 불가능한 상태입니다.
1. exports가 TS 소스 직결
"exports": {
".": "./src/index.ts",
"./score": "./src/score.ts",
"./react": "./src/react/index.ts"
}
소비자가 TS 소스를 직접 컴파일해야 하고(tsconfig 호환성 강제), 일반 번들러/Node 환경에서는 import 자체가 실패합니다. npm run build가 dist를 만들지만 exports가 참조하지 않음.
수정: conditional exports로 전환 —
"exports": {
".": { "types": "./dist/index.d.ts", "import": "./dist/index.js", "require": "./dist/index.cjs" },
"./score": { "types": "./dist/score.d.ts", "import": "./dist/score.js", "require": "./dist/score.cjs" },
"./react": { "types": "./dist/react/index.d.ts", "import": "./dist/react/index.js", "require": "./dist/react/index.cjs" }
},
"files": ["dist"],
"main": "./dist/index.cjs",
"types": "./dist/index.d.ts"
prepublishOnly: npm run build.
2. react entry IIFE에 react가 통째로 인라인
빌드 출력에서 dist/react/index.global.js가 72.62 KB — tsup의 IIFE 포맷은 peerDependencies를 external 처리하지 않아 react가 번들에 포함된 것. IIFE는 index/score만 뽑고 react entry는 esm/cjs만 빌드하도록 분리 (tsup config 파일로 entry별 format 지정).
3. 메타데이터 정리
description: "커맨트팔레트 용 그냥대충 애매하게 한글 매칭" — npm 검색 노출을 고려한 설명으로
keywords 빈 배열 → korean, fuzzy-search, hangul, command-palette, 초성검색 등
license: ISC placeholder 확인, repository/author 필드 부재
- readme가 설계 일기 형태 — 설치/quickstart/API 최소 문서 추가 (설계 노트는 별도 파일로 유지)
현재 package.json은 npm publish 시 소비 불가능한 상태입니다.
1. exports가 TS 소스 직결
소비자가 TS 소스를 직접 컴파일해야 하고(tsconfig 호환성 강제), 일반 번들러/Node 환경에서는 import 자체가 실패합니다.
npm run build가 dist를 만들지만 exports가 참조하지 않음.수정: conditional exports로 전환 —
prepublishOnly: npm run build.2. react entry IIFE에 react가 통째로 인라인
빌드 출력에서
dist/react/index.global.js가 72.62 KB — tsup의 IIFE 포맷은 peerDependencies를 external 처리하지 않아 react가 번들에 포함된 것. IIFE는index/score만 뽑고 react entry는 esm/cjs만 빌드하도록 분리 (tsup config 파일로 entry별 format 지정).3. 메타데이터 정리
description: "커맨트팔레트 용 그냥대충 애매하게 한글 매칭" — npm 검색 노출을 고려한 설명으로keywords빈 배열 →korean,fuzzy-search,hangul,command-palette,초성검색등license: ISCplaceholder 확인,repository/author필드 부재