JavaScript:Libraries
Node.js Libraries
JavaScript, TypeScript, Node.js, Npm 등 Front-end 분야에서 사용되는 라이브러리 목록 모음.
Node.js runtime
- NodeJs:Native: Node.js native(c/c++) developer.
- libuv
- cares
- gtest
- http_parser
- undici
- npm
- openssl
- v8
- zlib
Runtime
Socket
Documentation
Renderer
Push notification
- node-c2dm
- node-apn
- node-gcm
- node-gcm (ToothlessGear)
- Push.js - 데스크톱과 스마트 폰의 알림을 설정할 수 있는 Javascript 라이브러리. - https://github.com/Nickersoft/push.js
Web frameworks
Backend
Http client
- Node.js:HTTP – the Standard Library
- Request - Simplified HTTP request client - https://github.com/request/request
- Axios - Promise based HTTP client for the browser and node.js - https://github.com/axios/axios
- SuperAgent - Ajax with less suck - (and node.js HTTP client to match) - https://github.com/visionmedia/superagent
- Got - Simplified HTTP requests - https://github.com/sindresorhus/got
- node-fetch
- cross-fetch
SMTP
- Nodemailer - Powered by EmailEngine
Desktop application
Security & Encryption & Crypto
- Passport
- tus - open protocol for resumable file uploads
- hashids.js - Web 서비스에 고유 URL을 제공 할 때 ID를 숫자 그대로 보여주면 ID를 예측하거나 데이터 건수 등을 알 수 있기에 임의의 문자열을 만들어서 ID로 보낼때 활용함. YouTube에서 사용하는 방식. - https://github.com/niieani/hashids.js
- crypto-js - 암호화 라이브러리로 클라이언트와 서버간에 파라미터 보안 강화를 위해 암호화를 사용할 때 활용 가능. - https://github.com/brix/crypto-js
Internet privacy
- fingerprint.js - 사용자가 웹에서 하는 행위를 추적하거나 서비스 특정 지점에서의 이탈 포인트를 확인하는 용도로 활용 가능.
서명 (웹에서 싸인 처리)
- Signature Pad - 웹에서 싸인 처리를 해주는 Canvas 기반 싸인 캡처 Javascript 라이브러리. - https://github.com/szimek/signature_pad
Authentication
- Auth.js - 웹용 인증 라이브러리
- AuthKit - The world's best login box powered by WorkOS and Radix.
- Better Auth - TypeScript용 포괄적인 Auth 프레임워크
Client-Side Rendering (CSR)
- Cycle.js: Meetup : TOAST Cloud - 자바스크립트 프레임워크 소개 1 - Cycle.js 1
- AngularJS: Meetup : TOAST Cloud - 자바스크립트 프레임워크 소개 2 - Angular2 2
- Vue.js: Meetup : TOAST Cloud - 자바스크립트 프레임워크 소개 3 - Vue.js 3
- React: Meetup : TOAST Cloud - 자바스크립트 프레임워크 소개 4 - React 4
- Svelte
Single Page Application
State Management
Design System
- Storybook - UI component explorer for frontend developers
- kickstartDS - 디자인 시스템을 위한 스타터킷 오픈소스
Dashboard / Administration
- gridstack.js - 대쉬보드 생성을 위한 TypeScript 라이브러리
Server-Side Rendering (SSR)
Web Components
Polyfill
- URLSearchParams polyfills:
-
url-search-params(deprecated) - @ungap/url-search-params
- qs - A querystring parser with nesting support
-
UI Placeholder
- UI Fillers - 디자인을 위한 플레이스홀더들
- ImgSrc.Space - 쓰기 편한 이미지/비디오 플레이스홀더
- SQIP - SVG 기반 이미지 플레이스홀더
- BlurHash - 블러 처리된 이미지 플레이스홀더 생성기
- Lorem Faces - AI로 자동 생성된 아바타용 얼굴들
Graphics
더 많은 목록은 Web Canvas 항목 참조.
- PaperJS - HTML canvas vector graphics library
- Konva.js - HTML5 2d canvas js library for desktop and mobile applications
- JS Paint - MS Paint 의 자바 스크립트 포팅 버전.
- Skia Canvas (node) - A canvas environment for Node.js
Javascript Game Engines
- 8 Best Javascript Game Engines
- PixiJS
- Phaser
- Babylon.js
- PlayCanvas WebGL Game Engine
- Melon.js
- GDevelop
- Kiwi.js
- Three.js
Table/Grid
- 10 Data Table Libraries for JavaScript
- Cheetah Grid - 초고속 데이터 테이블 오픈소스
- Tabulator
- ag-Grid - https://www.ag-grid.com/
- AnyGrids - https://anygrids.com/
- Backgrid.js - https://backgridjs.com/
- DataTables - https://datatables.net/
- Handsontable - https://handsontable.com/
- jExcel Spreadsheet - https://bossanova.uk/jexcel/v4/
- KendoReact - https://www.telerik.com/kendo-react-ui/
- React DataGrid - https://adazzle.github.io/react-data-grid/
- UI Grid - http://ui-grid.info/
- W2ui - http://w2ui.com/web/home
- TOAST UI Grid - Github - tui.grid
- DataGridXL2.js - 엑셀과 비슷한 데이터 테이블 라이브러리
- Cheetah-Grid - 초고속 데이터 테이블 오픈소스
Signing
- Documenso - 오픈소스 DocuSign 대체제
Kanban
- jkanban - Vanilla Javascript plugin for manage kanban boards
TOAST UI
- TOAST UI :: Make Your Web Delicious!
- Chart
- Editor
- Grid
- Calender
- Image-editor
WYSIWYG & Editor
- Quill - 웹상에서 글쓰기 기능에 필요한 WYSIWYG editor Javascript 라이브러리. - https://github.com/quilljs/quill
- Summernote - 웹상에서 글쓰기 기능에 필요한 WYSIWYG editor Javascript 라이브러리. - https://github.com/summernote/summernote
Spreadsheet
- HyperFormula - 엑셀과 비슷한 계산엔진 오픈소스
- Luckysheet - JS 스프레드시트 라이브러리 오픈소스
CSS
- LESS
- SASS
- Bootstrap
- Material Design Lite
- cosha - 이미지에 컬러 쉐도우 입히기
- CSSgram - Sass/CSS로 만든 인스타그램 필터 라이브러리
- Buttons
- Tailwind CSS (Tailwindcss)
- XP.css - Windows XP 스타일을 구현한 CSS
- SmolCSS - Minimal snippets for modern CSS layouts and components
- Pico.css - 미니멀 CSS 프레임워크
- MVP.css - A minimalist stylesheet
- CSS Bed - No-Class CSS Frameworks
- Animatize - 객체를 드래깅 해서 애니메이션 만들기
- Griffel - 미리 컴파일 가능한 CSS-in-JS
- Autoprefixer - 브라우저 벤더에 맞는 CSS Prefix를 추가해 준다.
- Sorted CSS Colors - CSS 색상들을 Hue에 따라 Lightness/Saturation 으로 정렬해서 영문명/RGB/HSL을 보여주는 색상표
- PostCSS - PostCSS는 일상적인 CSS 동작을 자동화하기 위해 자바스크립트 기반 플러그인을 사용하는 소프트웨어 개발 도구이다.
- PurgeCSS - 사용 안하는 CSS 찾아서 삭제해주는 도구
코드 압축 (Minify)
- Minify
- html-minifier
코드 난독화 (Uglify; Obfuscation)
- Uglify.js
Scroll Box
- Scroll-snap - 스크롤중 멈추면 원하는 형태로 페이지 스냅
- Scrollbar.app - CSS 스크롤바 인터랙티브 디자이너
- Infinite Scroll - 페이지 무한 스크롤 지원 Javascript 라이브러리. - https://github.com/metafizzy/infinite-scroll
Font and Icon
- [추천] Fontsource - Self-host Open Source fonts in neatly bundled NPM packages.
캐로셀 라이브러리
- Flicking - 네이버 FE팀의 Carousel 오픈소스
Query language
Programming language
- JSPyBridge - Node.js와 Python의 상호운용을 위한 브릿지
- pyscript - https://pyscript.net/
- Pyodide - Pyodide is a Python distribution for the browser and Node.js based on WebAssembly.
Template engine
Logging
- morgan - Node.js Logger.
- LogLayer - 여러 Javascript 로깅 라이브러리 위에서 동작하는 통합 로거
Logging Browser
- frontail - streaming logs to the browser
Boilerplate code (Scaffold)
Front-End UI
- Responsively - 반응형 웹페이지 테스팅 도구 오픈소스
빌더 (Builder)
Popup & Alert & Dialog & Toast
- react-hot-toast
- Sweet Alert - 예쁜 브라우저 기반 팝업 박스 JavaScript 라이브러리. - https://sweetalert2.github.io/
- Modaal - 브라우저 기반 팝업 JavaScript 라이브러리. - https://github.com/humaan/Modaal
- toastr - 푸시 알람을 보여줄 수 있는 Javascript 라이브러리. - https://github.com/CodeSeven/toastr
Test
End-to-End Test (e2e)
Bundler
- webpack
- bower
- Vite - ESM을 사용한 빠른 번들링.
- ncc - Node.js 프로젝트를 1개 파일로 컴파일
- Turbopack
- rollup.js
- parcel
- Turborepo - Vercel이 만든 빌드시스템
Task runner
Deploy
- branch-release
- Astro - 웹사이트를 빠르게 하기 위해 기존 웹프레임워크에서 JS를 최대한 걷어내주는 오픈소스 도구
Web crawler
(crawling/scraping/spider/spiderbot/crawler/scraper 모두 같은 의미)
- Metascraper - 메타데이터 추출 도구
Database
- MongoDB: Mongoose
- Elasticsearch: elasticsearch.js
- MySQL: node-mysql
- Redis: node_redis
- Knex.js - 멀티DB용 SQL 쿼리 빌더 for Node.js
Search
- MiniSearch - JavaScript 인메모리 풀텍스트 검색 엔진
Batch
- node-cron
- Node Schedule
- Agenda
Parsing
YAML
JSON
- JSON5 - 인간을 위한 JSON
Process manager
이 세 가지 도구 중 어느 것을 사용해도 큰 도움이 될 수 있지만, StrongLoop Process Manager는 Node.js 애플리케이션 라이프사이클 전체를 처리하는 포괄적인 런타임 및 배치 솔루션과 프로덕션의 이전과 이후의 모든 단계에 대한 툴링을 통합 인터페이스를 통해 제공하는 유일한 도구입니다.
아래에서는 이 세 가지 도구를 각각 간략히 살펴보겠습니다. 이 도구들에 대한 상세한 비교를 확인하려면 http://strong-pm.io/compare/를 참조하십시오.
Watch service
파일의 변경을 확인하고 자동 업데이트 해준다.
Node-based editor (visual programming)
- Rete.js: JavaScript framework for visual programming and creating node editor
- Total.js
- Litegraph.js
- Flume
- Drawflow
차트 & 시각화 (Visualizations)
- JavaScript를 사용한 데이터 시각화를위한 7 가지 훌륭한 유틸리티 라이브러리
- d3.js - 대표적인 오픈소스형 데이터 시각화 라이브러리. 그래프에 특화된 확장형 오픈소스들이 만들어지고 있어 시각화 오픈소스 생태계를 형성하고 있는 오픈 소스. - https://d3js.org/
- three.js
- Chart.js
- vue-chartjs
- vue-chart-3 - chart.js 3.x 지원.
Gantt chart
- Frappe - 인터랙티브 Gantt 차트 오픈소스
Timeline
- Planby - React용 Timeline 컴포넌트
AD (광고) 관련
Analytics
favicon
- Supercookie - favicon으로 핑거프린팅하기
- favicons - Favicons generator for Node.js
Storage
LocalStorage, SessionStorage, etc
Cookie
- js-cookie
- next-client-cookies (Nextjs)
- react-cookie (React)
- universal-cookie - Universal cookies for JavaScript
- universal-cookie-express - Hook cookies get/set on Express for server-rendering
Static web server
List of Static Site Generator
- Static Site Generator
- Documentation generator
- Octopress
- Hugo (Golang)
- Pelican
- GatsbyJS (JS+React)
- Jekyll (Ruby)
- Hexo (JavaScript)
- JAMstack
- VuePress
- meli - 스태틱 사이트 오픈소스 호스팅 플랫폼
- Netlify
- GitHub Pages
- ROAPI - 코드 한줄 없이 정적 데이터셋용 API 생성
- zola - A fast static site generator in a single binary with everything built-in.
- Evidence - 데이터 분석가를 위한 웹 프레임워크 (SQL 과 마크다운으로 작성된 문서를 스태틱 사이트 형태의 보고서로 만들어주는 오픈소스)
- Eleventy - Eleventy, a simpler static site generator.
- Nuxt (JavaScript+Vue)
- Zola (Rust)
- Elder (JavaScript+Svelte)
- Lusift - 제품 투어 작성용 JS라이브러리
- Astro - JavaScript를 최소한으로 배포하기
- fusion.ssg - 정적 웹사이트를 위한 미니멀 프레임워크
- 11ty
- SkunkHTML - 마크다운으로 GitHub Page에 웹사이트 자동 생성
- Pelican
- Sphinx (documentation generator)
- Redoc
- mkdocs
- Nikola
- Docusaurus
Media Player
- Clappr - An extensible media player for the web.
- OvenPlayer
- hls.js - HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.
- Video.js
WebRTC
- PeerJS - simplifies WebRTC peer-to-peer data, video, and audio calls.
Audio
- wavesurfer.js - 인터랙티브 오디오 파형 시각화 라이브러리 오픈소스
- (JavaScript 오디오 이펙터 만들기) 오디오 이펙터로 나만의 소리 만들기 (JavaScript; Effects unit) 5
Sound/Music
Web automation
- playwright: Node.js library to automate Chromium, Firefox and WebKit with a single API
Virtual environments
Environment variables
Metrics Aggregations (Stats Aggregation)
CMS
Session
- OpenReplay - OpenReplay는 사용자가 웹 앱에서 수행하는 작업을 볼 수있는 오픈 소스 세션 재생 스택으로, 문제를 더 빨리 해결하는 데 도움이됩니다.
Image/Background
- probe-image-size - 파일 다 안받고 이미지 크기 알아내기
- JS IMAGE CARVER (js-image-carver) - Seam Carving 알고리즘을 사용한, 이미지 내의 중요하지 않은 반복되는 부분(Seam)만 찾아서 줄이거나 확장.
- pinry - Pinterest 같은 이미지 프리뷰 보드.
- CompressImage.io - 브라우저에서 JPG / PNG 이미지를 압축해주는 도구 (Offline 으로 동작해서 안전하고 제한 없음)
- Compressor.js 사용.
아바타 (Avatar)
- Boring Avatars - 아바타 자동 생성 https://boringavatars.com/
- RoboHash - 문자열로 프로필 이미지 만들기 https://news.hada.io/topic?id=3787
- BigHeads - 랜덤 아바타 생성 오픈소스 https://news.hada.io/topic?id=2468
- Multiavatar - 멀티 컬처럴 아바타 생성기 https://news.hada.io/topic?id=3276
- Unavatar - 사용자 아바타 이미지 통합 불러오기 https://news.hada.io/topic?id=2419
- UI Faces - 디자인 목업을 위한 아바타 이미지 모음 https://news.hada.io/topic?id=331
HTTP Status Code
- HTTP Cats - HTTP 상태코드를 고양이로 보여주는 API
Animation
- @vueuse/motion - Vue Composables putting your components in motion
- keen-slider.js - 감각적 슬라이드 라이브러리 - https://keen-slider.io/
- Vanta.js - Animated website backgrounds in a few lines of code.
- Animatize - 객체를 드래깅 해서 애니메이션 만들기
- Velocity.js
- barba.js - 웹사이트 페이지간 유연하고 부드러운 전환을 추가해주는 라이브러리
- AutoAnimate - 한줄의 코드로 웹앱에 모션 추가하기
- Animista - https://animista.net/ - On-Demand CSS Animations Library - 사이트에서 애니메이션 선택한 후 코드를 만들어준다. (추천)
- Animation Library - 좋은데 무난... 평범... 특색이 적다.
- Magic CSS - 이것도 좋은데 무난...
- Animate.css - https://animate.style/ - 종류가 많이서 추천. fadeInLeft 같은게 좋더라.
- CSS Gradient Animator
path animation
ETC (확인요망)
- AnimXYZ - https://animxyz.com/
-
lightGallery- 애니메이션 있지만 주 목적은 이미지 갤러리. - Loading.io
- Skeleton Elements
- Micron
- AOS
- Vivify - https://github.com/Martz90/vivify
- Motus - https://github.com/alexcambose/motus
Tooltip/Popup
- Floating UI - 툴팁/팝업/드롭다운 포지셔닝 라이브러리
WebAssembly
- WebContainers
- Javy - JS to WebAssembly 툴체인
Window Manager
- [추천] WinBox.js - 웹용 윈도우 매니저
- [추천] rc-dock - Dock Layout for React Component
- [추천] dock-spawn-ts
- [추천] Golden Layout
- wcDocker
- jsPanel
-
http://www.htmldockfloat.com - PhosphorJS
- vue-lumino
File Manager
- Media Manager - https://github.com/iutbay/mm
- Vuetify File Browser - https://github.com/semeniuk/vuetify-file-browser
- File Browser
- filepond - flexible and fun JavaScript file upload library.
- KodExplorer
- Uppy - 웹에서 파일 업로드용 Javascript 라이브러리
IO
- txt-reader - 큰(GB+)파일을 읽을 수 있는 FileReader
QR code
Random
- Rando.js - 감각적인 디자인과 효과를 부여한 랜덤값 - https://github.com/nastyox/Rando.js
Debugging/Logging
- WebHint - 웹사이트 개선을 위한 도구
- Web Vitals - 훌륭한 사용자 경험을 제공하는 데 필수라고 생각하는 품질 지표에 대한 통합적 지침
- ScreenLog.js - 개발자 콘솔의 내용을 화면에 띄워주는 라이브러리
Syntaxhighlight
- Shiki - A beautiful Syntax Highlighter
- Chalk.ist - 예쁜 소스 코드 이미지 만들기
- Prism.js - 최신 웹 표준을 염두에 두고 구축된 가볍고 확장 가능한 구문 강조 표시기입니다.
Other Markup
Latex
- CortexJS MathLive - 수학식 입력을 위한 웹 컴포넌트
Markdown
...
Terminal
GIS/Map
- Mapkick.js - 한줄의 JS코드로 아름답고 인터랙티브한 지도 만들기
- Mapbox-GL-js는 더이상 3조항 BSD 라이센스가 아닙니다
- MapLibre GL - MapboxGL JS의 오픈소스 포크
Deep learning
- Handsfree.js - 웹에서 얼굴/손/포즈 인식을 쉽게
- tesseract.js
- tensorflow.js
Compress/Zip/Unzip
- JSZip - Zip파일 생성/읽기/수정용 JS 라이브러리
Datetime
-
Moment.js - Time format (Parse, validate, manipulate, and display dates and times in JavaScript)- Deprecated
Date picker
- Duet Date Picker
- flatpickr - 날짜 표현을 예쁘게 해주는 JavaScript 라이브러리. - https://flatpickr.js.org/
Drag and drop
- dragula - Drag and drop so simple it hurts - 드래그 & 드롭으로는 추천. 잘 구현되어 있다.
VCS/Git
- husky - git hook
- lint-staged - git hook for eslint
Lint/Type Checker
private registry
Lightweight
- UnsuckJS
- preact
- Bau
- lit
- spræ
- VanJS
- TwinSpark
- dom-proxy
- roxy
- Tram-Lite
- ite
- reken
- htmx
- strawberry
- Alpine.js
- Mithril
- Crank.js
- diffHTML
- hyperapp
- dlite
- data-template
- ponys
- bdc-js
- RE:DOM
- petite-vue
- CalDOM
- lighterhtml
- Litedom
Performance - Block DOM
Reactive
Utilities
- Lodash - Array, Collection, Object 등 필수 자료구조를 쉽게 다룰 수 있는 유틸리티.
- rambda - 함수형 프로그래밍에서 자주 사용되는 함수를 미리 구현한 lodash같은 유틸리티성 라이브러리다.
- htmlq - Like jq, but for HTML.
- vkBeautify.js
- npm-run-all - 여러 스크립트를 순차/병렬 로 실행
- del-cli - 파일/디렉토리 제거
- delete-empty - 빈 디렉토리 제거
Format and Schema validation
- Zod - TypeScript-first schema validation with static type inference
- Cleave - 폼의 input 요소에 입력하는 숫자 형식을 쉽게 정의 할 수 있음. 지원 형식은 신용 카드, 전화 번호, 날짜 시간, 숫자(금액), 구분 문자 접두사 블록 패턴. React, AngularJS 지원. - https://nosir.github.io/cleave.js/
Form & Input & Select
- typeahead.js - Twitter에서 만든 자동 완성 Javascript 라이브러리. - https://github.com/twitter/typeahead.js
- autoComplete.js - 자동 완성 Javascript 라이브러리. - https://github.com/TarekRaafat/autoComplete.js
- Select2 - 셀렉트 박스를 유연하게 해주는 Javascript 라이브러리. - https://github.com/select2/select2
- chosen - 셀렉트 박스를 유연하게 해주는 Javascript 라이브러리. - https://github.com/harvesthq/chosen
Clipboard
- clipboard.js - 웹에서 클립보드에 복사하기를 지원하는 Javascript 라이브러리. - https://github.com/zenorocha/clipboard.js/
제품투어, 하이라이트, 문맥 도움말
- Driver.js - 제품투어, 하이라이트, 문맥 도움말 보여주기 라이브러리 (화면상의 특정 엘리먼트 집중(하이라이트) 조명을 스탭 바이 스탭으로 전환해줌 - 클릭 순서를 배포된 사이트에서 하이라이트로 알려주는 효과 -)
- highlight.js - 화면의 특정 문구를 강조합니다. HTML5 캔버스 기반으로 작동합니다.
ETC
- Relay: A JavaScript framework for building data-driven React applications.
- Flux: Application Architecture for Building User Interfaces.
- Immutable.js: Immutable data cannot be changed once created, leading to much simpler application development, no defensive copying, and enabling advanced memoization and change detection techniques with simple logic.
- Babel
- Browserify
- Stylus
- ded/bowser: 웹 브라우저 버전과 종류를 확인하는 라이브러리.
- Github - hotkey: Trigger an action on an element with a keyboard shortcut.
- Svelte
- Snowpack - 스트리밍 import 지원 : 미리 설치하지 않고 필요할 때 자동으로 모듈을 설치
- simple-keyboard- 의존성 없는 가상키보드 라이브러리 (Angular, React, Vue, Vanilla JS 지원)
- Flagsmith - Feature Flag 서비스
- falso - 가짜 데이터 생성 오픈소스
- 이메일, 도메인, 이름, 주소, 회사명, 신용카드정보, 이더리움/비트코인 주소 ...
- git 브랜치/커밋(메시지,SHA,), 폴더/파일/확장자, MAC주소 ...
- 영화, 음악, 자동차, 슈퍼히어로 ...
See also
Favorite site
- [추천] Openbase web site - 수백만 개의 오픈 소스 패키지를 리뷰, 확인, 비교.
- Awesome Tiny JS - 초소형 JS 라이브러리들 모음 | GeekNews
References
-
Meetup_TOAST_Cloud_-Introduction_to_the_JavaScript_Framework_1-_Cycle.pdf ↩
-
Meetup_TOAST_Cloud_-Introduction_to_the_JavaScript_Framework_2-_Angular2.pdf ↩
-
Meetup_TOAST_Cloud_-Introduction_to_the_JavaScript_Framework_3-_Vue.pdf ↩
-
Meetup_TOAST_Cloud_-Introduction_to_the_JavaScript_Framework_4-_React.pdf ↩
-
Javascript-audio-effectors-practice_-_Evans_Library.pdf ↩