Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
release: 네이버 뉴스봇 v3.0.0 배포 (2024-11-08) (#10)
* chore: 로컬 개발 환경 설정 * docs: 문서 내용 및 이미지 경로 업데이트 * refactor: 뉴스 매체명 데이터 구조 변경 * refactor: 각 템플릿 및 함수에 JSDoc 추가 * refactor: 스크립트 속성값 관리 및 HTML Entities 텍스트 수정 기능 분리 * refactor: 뉴스봇 전역 설정값 항목 간소화 및 재정리 * feat: 개별 뉴스 기사를 담당하는 NewsItem 클래스 추가 * feat: 뉴스 항목들의 목록을 다루는 NewsItemMap 클래스 구현 * feat: 뉴스 매체명 탐색 기능을 NewsSourceFinder 서비스 클래스로 재구현 * feat: 검색어 목록에 대응하는 뉴스 항목 처리 기능을 NewsFetchService로 구현 * refactor: 클래스별 private method명에 underscore prefix 추가 * fix: 도메인 클래스 변경사항에 대응한 메서드 및 파라미터값 변경 * fix: NewsItem의 검색어 목록 반환값 수정 및 관련 getter 추가 * refactor: NewsItem.data 반환값에 대한 JSDoc 내용 수정 * fix: NewsFetchService에서 개별 뉴스 항목을 가져올 때 응답코드 체크 추가 * refactor: 불필요한 getConfig 함수 제거 * refactor: 채널별 뉴스 카드 및 메시지 생성 코드 구조 변경 * feat: 채널별 뉴스 및 메시지를 전송하는 MessagingService 구현 * fix: MS Teams의 Webhook 지원 종료에 따른 관련 코드 삭제 * feat: 개별 뉴스 항목을 구글 시트에 저장하는 ArchivingService 구현 * refactor: 뉴스봇 구동 설정값 구조 변경 * feat: 뉴스봇 구동 설정값에 대한 검증 로직 추가 * chore: Clasp에 대한 ignore 규칙 추가 * feat: 뉴스 검색어 수를 최대 5개까지로 제한 * refactor: 뉴스 항목 가져오는 함수들의 로직 리팩터링 * refactor: 뉴스봇 안내 메시지 내용 간소화 * feat: 뉴스 가져오는 로직 간소화 및 공통 로직 분리 * refactor: 마지막 뉴스봇 실행 시각에 따른 뉴스 처리 로직을 NewsItemMap 도메인으로 이동 * refactor: Fetch된 뉴스 항목들의 자료형 간소화 * feat: NewsItemMap에서 가장 최근 기사의 게재 시각 반환 메서드 추가 * feat: 복수의 뉴스 아이템 구글 시트 저장 구현 * refactor: 배열 형태의 자료형 JSDoc 표기 컨벤션 일치화 * feat: toCamelCase 유틸 함수 구현 및 불필요 상수 제거 * refactor: MessagingService 내 공통 로직 분리 및 전송 완료 뉴스항목 관리기능 추가 * feat: MessagingService 내 전송 완료 뉴스 정보 반환 기능 추가 * refactor: 일부 변수명 및 반환 타입 변경 * refactor: 설정값 검증 로직을 util로 병합 * feat: 주요 유형별 사용자 정의 에러 클래스 정의 * feat: Controller 및 Entrypoint를 새로 구성 * feat: DEBUG 모드 여부에 따른 분기 로직 추가 * feat: 두 string[] 타입 배열의 동일성 비교 함수 구현 * feat: GAS Property들을 가져와 활용하는 로직 추가 * refactor: fetch된 뉴스 데이터 필터링 책임을 도메인에서 서비스 레이어로 변경 * fix: 아카이빙 기능이 개별 뉴스가 아닌 전체 뉴스 단위로 동작하도록 수정 * feat: fetch된 뉴스 데이터의 게재시각 기준 정렬 로직 추가 * feat: 뉴스 검색 결과가 없는 경우의 데이터 처리 로직 추가 * feat: 뉴스 전송, 저장 기능이 모두 OFF인 경우에 대한 에러 처리 추가 * feat: NewsFetchService에 수신 완료 뉴스 항목들의 반환 함수 추가 * fix: 아카이빙 only 모드 여부에 따른 저장 로직 및 결과값 인식 로직 수정 * feat: 최종 처리된 뉴스 항목 정보를 GAS 스크립트 환경에 저장하도록 구현 * refactor: Fetch 관련 불필요 메서드 제거 및 병합 처리 * feat: 뉴스봇 최초 구동시 실행 코드 구현 * refactor: NewsItemMap의 뉴스 반환 메서드 정렬 로직 간소화 * refactor: 뉴스 fetch, send 기능 메서드 분리 * refactor: NewsFetchingBotController 코드 분리 및 JSDoc 추가 * fix: GAS의 URLSearchParams 미지원에 따른 fetch url 생성 함수 수정 * fix: 레거시 함수명 수정(bleachText -> getBleachedText) * fix: 뉴스봇 첫 구동시 lastDeliveredNewsPubDate가 string으로 초기화되는 문제 수정 * feat: InitializationError 분기 처리 추가 * fix: 디버그 모드 유무에 따른 초기 설정값 세팅 오류 수정 * fix: 뉴스 기사별 ID값 생성시 hash값이 너무 빨리 0으로 수렴되는 문제 수정 * fix: NewsItem 생성시 검색어 데이터 누락 이슈 수정 * fix: 뉴스 URL 기반 매체 탐색 로직 오류 수정 * fix: 디버그 모드에서 뉴스 항목이 존재할 경우에 대한 조건 구문에 early return 추가 * fix: 뉴스봇 초기 설정시 가장 최근에 처리된 뉴스 게재 시각에 대한 설정값 저장 문제 수정 * fix: 키워드 변경 여부를 체크하는 메서드의 배열 비교 함수명 수정 * fix: lastDeliveredNewsPubDate 환경변수의 파싱 문제 수정 * fix: 검색어 변경 감지 로직 수정 및 디버깅 로그 정리 * fix: fetchNewsItems 메서드의 정렬 매개변수가 반드시 설정되도록 수정 * fix: 새로 전송된 뉴스가 없을 경우 중복 뉴스 필터링 데이터가 초기화되는 버그 수정 * chore: 의존성 항목 및 description 변경 * refactor: 뉴스봇 컨트롤러 초기화용 속성값 로드 로직을 컨트롤러가 내장하도록 수정 * refactor: 뉴스 데이터 관리에 대한 부모 클래스로서 BaseNewsService 구현 - NewsFetchService, MessagingService와 ArchivingService가 BaseNewsService를 상속받도록 수정 - 위의 3개 클래스에서 공통으로 사용되는 필드 및 메서드를 BaseNewsService로 이동 - 컨트롤러에서 사용되는 서비스명 및 메서드명을 위의 리팩토링 내용에 맞게 수정 * feat: 새로 수신된 뉴스가 존재할 때에만 전송/저장 기능이 동작하도록 개선 * feat: 개별 뉴스의 고유 해시 ID값 길이를 10 -> 8로 수정 * feat: 최초 실행시 뉴스봇의 5분 간격 실행 트리거 추가 기능 구현 * refactor: ESModule 형식으로 코드 구조 변경 * chore: prettier의 printWidth 설정을 120으로 변경 * refactor: prettier 설정 변경에 따른 변화 적용 * refactor: template.js를 기본 번들링에 포함 * chore: 배포용 쉘 스크립트 작성 및 적용 * chore: 배포용 파일 업로드를 위한 gitignore 설정 변경 * chore: 번들링 된 파일의 마지막 빈줄만 제거하도록 스크립트 수정 * chore: 배포용 파일 업로드 * chore: main entrypoint 경로 수정 * fix: Naver API 및 채팅 채널별 데이터 fetching시 응답코드 허용 범위 수정 * feat: Discord 지원 추가 * feat: Discord 등 일부 채팅 솔루션의 웹훅 호출 빈도 제한을 고려하여 뉴스별 전송 시간 간격 설정 추가 * fix: 같은 게재시각을 가진 기사들을 연속으로 처리할 때 발생하는 중복 전송 문제 수정 * feat: 매체명 데이터 최신화 (106개 추가, 24/11/4 기준) * feat: 뉴스봇 자동 실행 주기를 5분에서 1분으로 단축 * fix: config에 누락되었던 구글 시트 설정항목 복구 * chore: 배포용 번들 파일 업데이트 * refactor: 코드상 변경 정보를 주석에 반영 * refactor: getBleachedText의 코드를 메서드 체이닝 방식으로 개선 * feat: newsSource.js를 source.js로 네이밍 변경 및 매체명 추가 (850개 -> 853개) * fix: 뉴스 데이터 처리시 홑따옴표(') 자리에 undefined가 삽입되는 버그 수정 * feat: 뉴스 백업용 구글 시트 설정 간소화 * refactor: dist 번들링 후 파일명 설정을 Google Apps Script 환경에 맞춰 개선 * chore: 번들 파일 업데이트 적용 * docs: 도움말 문서 관련 미사용 에셋 제거 및 신규 에셋 추가 * docs: CHANGELOG 업데이트 * docs: 설치 가이드 및 웹훅 생성 안내 문서 업데이트 * docs: README.md 업데이트 * fix: config 파일에 잘못 기재된 주석 수정 * fix: 뉴스 저장을 OFF한 상태로 뉴스봇 설치시 발생하는 서비스 계층 에러 수정 * fix: 뉴스 저장을 ON한 상태에서 Sheets API를 추가하지 않은 경우에 대한 예외처리 추가 * fix: 뉴스봇 설치 과정에서 샘플 뉴스 전송 오류 수정 * chore: 번들 파일 업데이트 적용 * docs: v3 릴리즈 날짜 업데이트
- Loading branch information