이 문서는 themes/(0000-0000-0000-0001)/assets/js 의 구조를 모듈 기준으로 다시 정리한 결과를 짧게 요약한다.

무엇이 바뀌었는가

  • 루트에 있던 app.js, search.js, fastsearch.js, theme-controller.js, _index.js00-entrypoints/ 아래로 이동했다.
  • license.js 는 실제 기능이 없는 잔재 파일이어서 제거했다.
  • fuse.basic.min.js 는 검색 전용 vendor 이므로 03-platform-adapters/browser-adapters/vendor/ 로 옮겼다.
  • head.html 은 이제 새 엔트리포인트 경로를 읽는다.
  • config/_default/params/js.tomlconfig/_default/params.toml 의 주석 경로도 새 구조에 맞게 정리했다.

구조 판단 기준

  • 루트는 가능한 비워 두고, 기능 단위는 반드시 폴더 안에 둔다.
  • _index.js 같은 집계 파일은 폴더 내부에서만 사용한다.
  • 검색용 외부 라이브러리는 vendor 경로로 분리한다.
  • 실제 구현은 01-foundations ~ 06-shared-utilities 계층에 두고, 엔트리포인트는 조립만 담당한다.

현재 배치의 의미

  • 00-entrypoints/app.js : 공통 UI 부트스트랩
  • 00-entrypoints/search.js : 검색 전용 엔트리포인트
  • 00-entrypoints/fastsearch.js : 이전 호환용 별칭
  • 00-entrypoints/theme-controller.js : 테마 제어 호환용 별칭
  • 03-platform-adapters/browser-adapters/vendor/fuse.basic.min.js : 검색용 외부 라이브러리

확인 포인트

  • themes/(0000-0000-0000-0001)/layouts/partials/head.html 이 새 경로를 참조하는가
  • 검색 페이지에서 Fuse 가 정상 로드되는가
  • 테마 토글과 공지/내비게이션/코드복사가 중복 초기화 없이 동작하는가
  • 루트 assets/js 에 더 이상 임의의 엔트리 파일이 남아 있지 않은가

한 줄 정리

이 작업의 핵심은 파일을 더 많이 만드는 것이 아니라, 기능의 출입구를 폴더 경계 안으로 옮겨서 유지보수의 기준점을 선명하게 만든 것이다.