Node.js Resources In Chinese
Portal: www.zhihu.com/column/c_13…
Node.js is an open source, cross-platform JavaScript runtime tool for writing servers and command lines.
Awesome Nodejs is a list of Node.js resources maintained by SindResorhus, including command line tools, logging, debugging, HTTP, build tools, file systems, templates, Web frameworks, process controls, text, images, and data validation.
This list is arguably the most comprehensive compilation of Node.js resources available, with nearly 40,000 stars on GitHub.
The resource list
package
Black science and technology
- Webtorrent – Node.js and browser side torrent client
- Peerflix – Torrent client
- Dat – Real-time replication and versioning of data sets
- Ipfs – Explore distributed file systems that use the same system file to connect all computing devices
- Stackgl – WebGL open software ecosystem built on Browserify and NPM
- Peerwiki – All Wikipedia on BitTorrent
- Peercast – Video seed player software on Chromecast
- BitcoinJS – a concise, readable, reliable bitcoin library
- Bitcore – Pure and powerful bitcoin library
- PDFKit – PDF generation library
- Turf-modular geospatial processing and analysis engine
- Webcat – Use your GitHub private/public key for cross-network authentication using peer-to-peer web instant messaging
- NodeOS – the first NPm-based operating system
- Yodaos-ai operating system
- Brain.js – Machine learning framework
- Pipcook – a front-end algorithm framework for creating machine learning pipelines
- Cytoscape. Js – Graph theory (A.K.A. network) modeling and analysis
- Kadence – KAD algorithm distributed hash table
- Seedshot – Temporary peer-to-peer sharing browser screenshots
- Js-git – Git implemented in JavaScript
- Skale – High performance distributed data processing engine
- XLSX – Pure JS Excel spreadsheet reading and writing tools
- Isomorphic-git – pure JavaScript implementation of Git
Command line program
- np- better
npm publish
- Npm-name – Checks whether the package name is available on NPM
- Gh-home – Opens the GitHub home page for the project in the current directory
- Npm-home – Opens the NPM home page of a package
- trash- than
rm
The safer option - Speed-test – Tests your Internet connection speed and ping value
- Emoj – Command line to find the relevant emoji from the text
- Pageres – Get a screenshot of the site
- Cpy – Copies files
- Vtop – a more useful top with beautiful charts
- Empty-trash-empties the folder
- Is-is – Checks whether the website is accessible
- Is-online – Checks whether the network connection is normal
- Public-ip – Obtains your public IP address
- Clipboard – CLI – Copy and paste in terminal
- XO – Enforce a strict code style using the JavaScript Happiness style
- Standard-javascript Standard Styles – Specifies styles for all styles
- ESLint – JavaScript pluggable code specification checking tool
- Dev-time – Obtains the current local time of the GitHub user
- David – Notify you when dependencies in NPM packages become obsolete
- Http-server – a simple, zero-configuration command line HTTP server
- Live Server – HTTP Server for the development environment with hot restart capability
- Bcat – pipes commands to the Web browser
- Normit – Use speech synthesis for Google Translation in your terminal
- Fkill – A cross-platform process kill command
- PJS – a pipeline command for fast filtering, mapping, and accumulator implemented in JavaScript
- License-checker – License checks for dependencies in your application
- Browser-run – Easily run code in a browser environment
- Tmpin – Adds stdin support to all CLI programs that allow file input
- Wifi-password – Obtains the current wifi password
- Wallpaper – Change the desktop wallpaper
- Brightness – Changes the screen brightness
- Torrent – Downloads a seed
- Kill-tabs – Close all Chrome tabs to improve performance, reduce power consumption, and save memory
- Alex – Catching inappropriate expressions in writing
- Pen – Write Markdown with your favorite editor and provide a live preview in your browser
- Subloader – Subtitle loader for movies and TV shows
- Dark-mode – Enables or disables macOS Dark mode
- Iponmap – IP address finder
- Jsome – Prints beautiful JSON using custom colors and indentation
- ITunes – Remote – Interactive control iTunes
- Mobicon – Mobile app icon generator
- Mobisplash – Mobile application startup page generator
- Diff2html -cli – Generates beautiful HTML showing the results of git diff commands
- Cash – cross-platform Unix-like Shell written in pure JavaScript
- Trymodule – Use NPM package in terminal
- JSCPD – Source code duplicate code detection
- Atmo – Emulated server-side API
- Auto-install – Automatically installs dependencies when writing code
- Lessmd – Markdown preview in terminal environment
- Cost-of-modules – Finds dependencies that degrade performance
- Localtunnel – Open your localhost to the public network
- Svg-term -cli – Sharing terminal sessions based on SVG
- Gtop – System monitoring dashboard under terminal
- Themer – Generates themes for your editors, terminals, wallpapers, Slack, etc
- Carbon-now – CLI – Generates beautiful images for your code
- Cash – CLI – 170 kinds of currency exchange rate conversion
- Taskbook – A task, board, and note manager in a command line environment
- Discharge – Easily deploy static websites to Amazon S3
- Npkill – Easily find and remove outdated and bloated node_modules folders
Functional programming
- Lodash – Better and faster Underscore. Js, a library of utilities providing compatibility, flexibility, high performance and other features
- Immutable – An immutable data set
- Ramda – A set of tools focused on data immutability and purely functional style, with flexible function composition using postpositioning of parameters and automatic currification.
- Folktale – a library for general-purpose functional programming in JavaScript that allows you to write elegant, modular applications that are less buggy and more reusable
- Mout – The biggest difference between this library and other existing solutions is that you can choose to load only the required modules/functions at no additional overhead
- Bacon.js – Functional responsive programming
- RxJS – a functional and responsive library for converting, combining, and querying various types of data
- Lazy.js – Lazy evaluation-like lodash/Underscore tool libraries that can provide superior performance in many cases.
- Kefir. Js – Focuses on responsive libraries with high performance and low memory consumption
HTTP
- got- Built-in
http
Modules provide better interfaces - gh-got- for
got
Interacting with the GitHub API provides easier encapsulation - Axios – Promise based HTTP client (also works in a browser)
- Wreck – HTTP client tool.
- Download – Makes downloading and extracting files easy
- Http-proxy-http proxy
- Superagent – HTTP request library
- node-fetch- Node. Js
window.fetch
- Flashheart – REST client
- Http-fake-backend – A backend service that uses JSON files or JavaScript objects to create a disguised, customizable route
- Cacheable – Request – Encapsulates the original HTTP request with RFC-compliant cache support.
- Gotql – GraphQL request library based on got
- Global-agent – Global HTTP/HTTPS proxy that can be configured using environment variables
- Smoke – A recordable file-based mock HTTP service
Debugging/analysis
- NDB – Enhanced Chrome DevTools debugging experience
- IronNode – Support ES2015 node.js debugger out of the box
- Node-inspector – Debugger based on Blink developer tools
- Debug – Lightweight debugging tool
- Why-is-node-running – When you don’t know why Node.js didn’t exit correctly…
- NjsTrace – Detects and traces code, seeing all function calls, parameters, return values, and the time spent in each function
- Vstream – Inspects the data stream and displays it through the pipe
- Stackman – Enhanced error stack tracking for throwing exceptions
- Locus – Initiates the REPL of all accessible variables at run time
- 0X – a flame map analysis tool
- Ctrace – Format optimization and enhancement for system call and signal tracing
- Odor-write memory leak tests
- Llnode – a tool for dissecting crashed Node.js processes and viewing their objects
- Thetool – Capture different CPU, memory and other resource usage for your application in Chrome DevTools friendly format
- Swagger-stats – Tracks API calls and monitors API performance, health, and usage metrics
- NiM – Manages the DevTools debug workflow
The log
- pino-
Bunyan
Inspired ultra fast logger - Winston – Asynchronous logging library that supports multiple recording formats
- Console-log-level – The simplest logger imaginable, supporting log levels and custom prefixes
- Storyboard – End-to-end, layered, real-time, colorful logging and description
- Signale-console logger
- Consola-console logger
Command line tool
- Chalk – beautifies terminal string styles
- Meow – CLI app Help
- Yargs – Command line analyzer that automatically generates an elegant user interface
- Ora – Elegant terminal rotation progress bar
- Get-stdin – Simple stdin
- Log-update – Prints logs in the terminal overwriting the previous output, used for making progress bars, animations, etc
- Ink – React based command line interaction program
- Listr – List of terminal tasks
- Conf – a simple tool for program or module configuration management
- ANSI – Escapes – ANSI escape codes for operation terminals
- Log-symbols – Log different levels of symbols with different colors
- Figures – Unicode symbols that support Windows CMD rollback schemes
- Boxen – Creates boxes in the terminal
- Terminal-link – Creates clickable links in the terminal
- Terminal-image – Displays images in the terminal
- String-width – Gets the visual width of the string- the number of columns needed to display the string
- Cli – TRUNCate – Truncate a string to a specific width on the terminal
- First-run – Checks if the process is running for the first time
- Blessed – library similar to Curses
- Inquirer. Js – Interactive command line prompt tool
- Yn – Resolves a string containing yes/no semantics to a Boolean value
- Cli – Table3 – Beautiful Unicode table
- Drawille – Draws on terminals using Unicode braille characters
- Update-notifier – Notification for upgrading CLI applications
- ASCII -charts – ASCII bar charts under terminal
- Progress – Flexible ASCII progress bar
- Send anonymous reports to Google Analytics to help you understand how your tools are being used
- Cli-cursor – Displays or closes the CLI cursor
- Columnify – Prints console text as column output, supporting cell modification
- Cli-columns – Columns output Unicode and ANSI-safe
- Cfonts – Sexy ASCII fonts for console
- Multispinner – A variety of CLI rotation indicators that can be independently controlled simultaneously
- Automatic completion in Omelette-shell
- Cross-env – Cross-platform environment variable Settings
- Shelljs – Portable Unix shell command
- Sudo-block – Disables users from using your program as root
- Loud-rejection – Forces a prompt for unhandled promise rejections errors
- sparkly- Generate a minimap
▁ ▂ ▃ ▅ ▂ ▇
- Bit – Creates, maintains, finds, and uses small modules and components in the repository
- Gradient-string – Adds a nice color gradient to the terminal output
- Oclif – CLI framework, including parsers, automatic documentation, tests, and plug-ins
- Term-size – Get the exact size of the terminal window
- Cliffy – Interactive framework for CLI
Build tools
- Parcel – fast, zero-configuration Web application building tool
- Webpack – a browser-oriented packaging tool
- Rollup – the next generation ES2015 package build tool
- Gulp – Programmatic, streaming fast build system
- Broccoli – Fast, reliable resource pipeline that supports fixed time recompilation and compact build definitions
- Brunch – front-end Web application building tool with simple declarative configuration, fast incremental compilation and custom workflow
- Start – Has a shareable default functional task manager
- ygor- A promise-based task execution tool – when too much work needs to be performed
npm run
Not enough to complete the task - FuseBox – Preferred typescript-enabled fast build system that combines the power of WebPack, JSPM and SystemJS
- PKG – Package your Node.js project into an executable file
hardware
- Johnny five – An Arduino framework based on Firmata
- Serialport – read/write serialport
- Usb – usb library
- I2c-bus – I2C serial bus access
- Onoff-gpio access and interrupt detection
- Spi-device-spi serial bus access
- Pigpio – Fast GPIO, PWM, servo control, status change notification and interrupt handling on raspberry PI
- Gps-nmea parser for handling GPS reception
The template
- Marko – HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, asynchronous rendering, and custom tags
- Nunjucks – a template engine inspired by Jinja2 with features like inheritance, asynchronous control, etc
- Handlebars. Js – A superset of Mustache templates with powerful features such as helpers and advanced blocks
- EJS – super simple templating language.
- Pug – A high-performance template engine influenced by Haml.
Web framework
- Hapi – A framework for creating applications and services
- Koa – A framework designed by the team behind Express to provide a smaller, more expressive, and more robust foundation for Web applications and apis
- Express – a Web application framework that provides powerful capabilities for building single-page, multi-page, and hybrid Web applications
- Feathers – Express-inspired microservices framework
- LoopBack – a powerful framework for creating REST apis and easily connecting to back-end data sources
- Meteor- a super simple, pure Javascript Web framework that sits between the application database and the user interface and keeps data updated synchronously between the two.You might like itawesome-meteor)
- Restify – Helps you build the right REST Web services
- ThinkJS – WebSockets REST API framework that supports ES2015+
- ActionHero – a framework for creating reusable, extensible apis for TCP Sockets, WebSocket, and HTTP clients
- Next. Js – extremely simplified JavaScript server rendering framework
- Nuxt.js-vue.js server rendering framework
- Seneca – Toolkit for writing microservices
- AdonisJs – a true MVC framework for Node.js based on dependency injection and IoC container technology.
- Hemera – Reliable and fault tolerant microservice written on NATS
- Micro – A minimalist Micro services framework implemented using asynchrony
- Moleculer – A fast and powerful microservices framework
- Fastify – a fast and low-cost Web framework
- Nest – Angular inspired framework for building efficient and scalable server-side applications
- Zeronode – Minimization building block for Node.js microservices
- TypeGraphQL – a modern framework for writing the GraphQL API in TypeScript using classes and decorators
- TinyHttp – a modern, fast Web framework similar to Express
- Marmarble. Js – a TypeScript and RxJs-based functional programming framework for building server-side applications
Documents related to
- Documentation. Js – API documentation generator that supports ES2015+ and process annotations
- ESDoc – Document generator for ES2015, with additional test code and evaluation of document coverage
- Docco – A document generator that generates HTML mixed with comments in code
- JSDoc – API document generator similar to JavaDoc or PHPDoc
- Docusaurus – Document generator based on React and Markdown, with multilingual and version control capabilities
The file system
- Del – Deletes files/folders with globs
- Globby – Supports Glob files in multiple modes
- Cpy – File copy
- rimraf- like
rm -rf
Same recursive deletion - make-dir- like
mkdir -p
The same recursively created directory - graceful-fs-Enhanced version
fs
The module - chokidar- Like using native on macOS
fsevents
As well as to monitorfs.watch
和fs.watchFile
File system listener - Find-up – Finds files up the parent directory
- Proper -lockfile – Interprocess and intermachine lockfile tool
- Load-json-file – Reads and parses JSON files
- Write-json-file – Automatically writes json serialization to a file
- fs-write-stream-atomic- similar to the
fs.createWriteStream()
Atomic operation of - Filenamify – Converts a string to a valid filename
- lnfs- like
ln -fs
Likewise, force symbolic link creation - Istalways active with binary – checks whether the file istextorbinary
- Fs-jetpack – a completely redesigned file system API for easy everyday use
- fs-extra- Added extra methods
fs
The module - Pkg-dir – Finds the root directory of the NPM package
- Filehound – a flexible, smooth interface for file system searching
- Move-file – a tool that moves files even across devices
- Tempy – Random path to a temporary file or directory
Process control
- Promises
- Bluebird – Promise library dedicated to innovative features and performance
- Pify – Converts callback style functions to Promise style
- Delay – Delays implementing the Promise
- Promise-memoize – Promise return value caching tool with expiration time and preloading capabilities
- Valvelet – A tool to limit the frequency of Promise visits
- p-map- You can use Promise’s Map method
- More and more
- Observables
- Implementation of Zen-Observable-Observables
- RxJS – Responsive programming
- Observable – Converts an Observable to a Promise
- More…
- Streams
- Highland. Js – Easy to manage synchronous and asynchronous code using only standard JavaScript and Node-like streams
- Callbacks
- Each -async – asynchronous concurrent iterator, such as forEach
- Async – Provides simple, powerful functionality to handle asynchronous problems
- Channels
- Js-csp – Provides continuous communication for JavaScript (e.g. Clojurescript core.async or Go)
File stream
- Through2 – Streams2 based lightweight stream converter that avoids displaying subclass noise
- from2- Easy to use encapsulation of ReadableStream, inspired by
through2
- Get-stream – Gets the stream as a string or Buffer
- Into – stream – will buffer/string array/object into a stream
- Duplexify – Converts writable and readable streams to a single Stream2 duplex stream
- Pumpify – Merges a series of streams into a single duplex stream
- Peek-stream – Transforms the stream so you can preview the first line before deciding how to parse it
- Binary-split-newline (or any delimiter) separates the stream
- Byline – super simple line-by-line stream reader
- First-chunk-stream – Converts the first block in the stream
- Pad -stream – Fills each row in the stream
- multistream –
Merge multiple streams into a single stream
- Stream-combiner2 – Outputs a stream from a pipe
- The readable-stream-streams2 and Streams3 cores implement mirroring
- Through2-concurrent – Simultaneously transforms the object stream
real-time
- µWebSockets – highly extensible WebSocket server and client libraries
- Socket. IO – Enables real-time two-way communication based on events
- Faye – Real-time client-server message bus based on the Bayeux protocol
- SocketCluster – Scalable HTTP + WebSocket engine that runs multiple CPU cores
- Primus – An abstraction layer for the real-time framework to prevent module locking
- Deepstream. IO – Extensible real-time microservices framework
- Kalm – Low-level Socket routing and middleware framework
- Mqtt.js-mqtt client – Pub sub based messaging protocol built on TCP/IP
- Rpc-websockets – JSON-RPC 2.0 based on WebSocket implementation
- Aedes – MQTT quasi-system that can run on any stream server
image
- Sharp – Super fast module for resizing JPEG, PNG, WebP and TIFF images
- Image-type – Detects the image type of Buffer/Uint8Array
- Gm-graphicsmagick and ImageMagick encapsulation
- Lwip – lightweight image processor that does not require ImageMagick
- pica –
Image resizer (Lanczos3), a lightweight, high-performance, pure JS implementation that uses Canvas drawImage() instead of pixelation
- Jimp – Image processing in pure JavaScript
- Probe-image-size – Obtain the size of most image formats without a full download
- Qrcode – qrcode and barcode generator
The text
- Iconv-lite – Conversion character encoding.
- String-length – Gets the true length of the string- by correctly calculating the asterisk and ignoring the ANSI escape code.
- Camelcase – convert dashes/dots/underscores/Spaces delimited strings to camelcase: foo-bar→fooBar.
- Escape -string-regexp – Escapes special characters of regexp.
- Execall – Find multiple RegExp matches in a string.
- splice-string- Removes or replaces part of a string
Array#splice
. - Indent -string – Indents each line in a string.
- Strip -indent – Removes leading Spaces from each line of the string.
- Detect-indent – Detects code indentation.
- He-html entity encoder/decoder.
- I18n-node – simple translation module with dynamic JSON storage.
- Babelfish – i18n, plural syntax is very simple.
- Matcher – Simple wildcard matching.
- Unhomoglyph – Normalizes visually similar Unicode characters.
- I18next – Internationalization framework.
- Nanoid – small, secure, URL-friendly, unique string ID generator.
digital
- Random -int – Generates a random integer
- Random-float – Generates a random floating point number
- Unique-random – Generates consecutively unique random numbers
- round-to- Rounds the number to the specified decimal number:
1.234
→1.2
mathematics
- Ndarray – Multi-dimensional array
- Mathjs – A huge library of mathematical formulas
- Math-clamp – Extract the middle value from three numbers
- Algebra, algebraic
- Multimath – Uses WebAssembly and JS to create fast image mathematics at the core
The date of
- Luxon – A library for processing dates and times
- Date-fns – Modern date tool
- Moment.js – Analyze, validate, manipulate, and display dates
- Day.js – Moment. Js Optional Immutable date library
- Dateformat – Date formatting
- tz-format- Format time with time zone:
2015-11-30T10:40:35+01:00
- CCTZ – Quick parsing, formatting, and time zone conversion tool
URL
- Normalize-url – Normalizes the URL
- humanize-url- Readable URL:
http://sindresorhus.com
→sindresorhus.com
- Url-unshort – Restores the short address
- Speakingurl – Generates subsegments from strings by transliteration
- Linkify -it – Link pattern detector with full Unicode support
- Url-pattern -pattern matching of URLs to other strings that are simpler than regex strings
- Embedza – Creates HTML fragments/embeddings from URLS using information in oEmbed, Open Graph, meta tags
Data validation
- Object schema description language and validator for Joi-javascript objects
- Is-my-json-valid-fast JSON format verification tool
- Property-validator – Property validator for Express
- Schema-inspector-json API cleanup and validation
- Ajv – The fastest JSON profile validator, supporting V5, V6 and V7 schemes
- Superstruct – A simple, basic JavaScript and TypeScript data validator
parsing
- Remark – Plug-in Markdown processor
- Markdown -it – markdown parser with 100% support for CommonMark, extensions and syntax plug-ins
- Parse5 – Fast full spec compliant HTML parser
- Strip-json-comments -json removes comments
- Strip-css-comments-css remove comments
- Parse-json – Json processing tool with more error prompts
- Uri. js – URL conversion tool
- PostCSS – CSS parsing and compression tool
- JSONStream – Streams handle json.parse and stringify
- Csv-parser – Streaming CSV parser designed to be faster than any other tool
- Peg.js – Simple parser generator with excellent error reporting capabilities
- X-ray – Web crawler tool
- Nearley – Simple, fast and powerful JavaScript parser
- Binary-extract – a tool that extracts a value from a JSON buffer without parsing the entire object
- Stylecow – An extensible tool for parsing, manipulating, and transforming modern CSS, making it compatible with all browsers
- Js-yaml – Fast YAML parser
- Xml2js-xml to JavaScript object converter
- Jison – friendly JavaScript parser generator. Same idea as Bison, Yacc and family
- Google -libphonenumber – Parses, formats, stores, and validates phone numbers
- Ref – Reads/writes structured binary data in the buffer
- XLSX – Populate – Read/write Excel XLSX
- Chevrotain – very fast and rich JavaScript parser build kit
- Fast-xml-parser – Validates and parses XML
humanized
- pretty-bytes- Convert the number of bytes to a readable string:
1337
→1.34 kB
- pretty-ms- Convert the number of milliseconds to a readable time string:
1337000000
→15d 11h 23m 20s
- Ms – compact ms conversion tool
- Pretty -error – Simplified error message
- Read-art – Extract readable content from any page
The compression
- Yazl – compression
- Yauzl – Unzip
- Archiver – A file archiving tool with streaming interface. It supports ZIP and TAR formats
- High-speed Zlib ports for Pako-javascript (Deflate, inflate, gzip)
- Tar-stream – The streaming tar parser and generator, see also tar-fs.
- decompress- Decompression module, supported
tar
,tar.gz
和zip
Out of the box
network
- Get-port – Gets a free port
- Ipify – Get your public IP address
- Getmac – Gets the MAC address of the computer
- DHCP – DHCP client and server
- Netcat – Pure JS implementation of netcat port
The database
- Database driver
- PostgreSQL – A PostgreSQL client that uses pure JavaScript and native libpq
- Redis – Redis client
- LevelUP – LevelDB
- MySQL – MySQL client
- Couchdb – Nano – CouchDB client
- Aerospike – Aerospike client
- Couchbase – Couchbase client
- Mongodb-mongodb driver
- ODM / ORM
- Sequelize – Supports ORM for PostgreSQL, SQLite, MySQL and more
- Bookshelf – Backback. js style PostgreSQL, MySQL and SQLite3 ORM
- Massive – PostgreSQL data access tool
- Mongoose – Elegant MongoDB object modeling
- Waterline – Data store agnost tool that greatly simplifies interaction with one or more databases
- OpenRecord – Activerecord-like ORM for PostgreSQL, MySQL, SQLite3, and RESTful data storage
- Pg-promise – Promise based PostgreSQL framework using native SQL
- Slonik – PostgreSQL client with strict typing, detailed logging, and assertions
- Obj.js – Lightweight ORM based on SQL query generator Knex
- TypeORM – Supports ORM for PostgreSQL, MariaDB, MySQL, SQLite and other databases
- Mikroorm-typescript data mapping based ORM, using unit of work and identity mapping patterns, supporting MongoDB, PostgreSQL, MySQL, and SQLite
- Prisma-typescript automatic type-generating, type-safe query builder that can be used as an alternative to ORM for modern database access, supporting PostgreSQL, MySQL, and SQLite
- Query builder
- Knex – A query builder designed to be flexible, portable and easy to use for PostgreSQL, MySQL and SQLite3
- other
- NeDB – Embedded persistent database written in JavaScript
- Lowdb – Small JavaScript database supported by Lodash.
- Keyv – Supports simple key-value storage with multiple backends
- Finale – Generates RESTful ends based on the Sequelize model
- Database-js – encapsulates JDBC like database connections for a variety of databases
- Mongo Seeding – Populates the MongoDB database with JavaScript and JSON files
- Databases – A pure SQL query method that avoids SQL injection risk. Supports PostgreSQL, MySQL, and SQLite3
test
- AVA – Test run for the future
- Mocha – a feature-rich testing framework that makes asynchronous testing simple and fun
- Nyc – code coverage tool built based on Istanbul that can be used for subprocesses.
- Tap-tap testing framework
- Tape-tap production test
- Power-assert – Provides descriptive assertion messages through the standard Assert interface
- Mochify – Test driven development based on Browserify, Mocha, PhantomJS and WebDriver
- Trevor – Run tests against multiple versions of Node.js without manually switching versions or pushing to the Travis CI
- Loadtest – Run load tests for Web applications using automation apis
- Sinon.js – Test data simulation
- Navit – PhantomJS/SlimerJS package for simplifying browser test scripts
- Nock – Simulates HTTP requests and exceptions
- Intern – Code test stack
- Toxy – A traceable HTTP proxy for simulating failure scenarios and network conditions
- Hook – stD-stdout /stderr hooks and decorations
- Testen – Run local tests against multiple versions of Node.js using NVM
- Nightwatch – An automated UI testing framework based on Selenium WebDriver
- WebdriverIO – Automated tests based on the WebDriver protocol
- Jest – Simple JavaScript tests
- TestCafe – Automated browser testing
- Abstruse – Continuous integration server
- CodeceptJS – End to end testing
- Puppeteer – Headless Chrome
- Ourselves – a headless browser that implements the Chromium, WebKit and Firefox kernels with a single API
- Nve – Run any command on multiple versions of Node.js locally
- Axe – Core – Automated Web UI test engine
- Testcontainers-node – provides a lightweight, ready-to-use regular database, Web browser, or any other instance that can run inside a Docker container
security
- Upash – Provides a unified API for all cryptographic hashing algorithms
- Themis – a multilingual framework that makes typical encryption schemes easy to use: static data, authenticated data exchange, transport protection, authentication, and more
- GuardRails – GitHub application that provides security feedback on requests
- Rate-limiter-flexible – Indicates the defense against violent attacks and DDoS attacks
- Crypto-hash – asynchronous non-blocking hash
- Jose-simple – Encrypts and decrypts data using the Jose (JSON object signing and encryption) standard
Benchmark analysis
- Benchmark.js – Benchmarking library that supports high resolution counters and returns intentional statistical results
- Matcha – Simplified Benchmarking implementation solution
Code compression
- Babili – ES2015+ compression library based on Babel toolchain
- UglifyJS2 – JavaScript compression tool
- Clean-css – CSS compression tool
- Minimize – HTML compression tool
- Imagemin – Image compression tool
certification
- Passport – Simple, senseless authentication
- Grant – Permission validation middleware for Express, Koa, Hapi, Fastify, AWS Lambda, Azure, Google Cloud, Vercel, and other libraries
authorization
- Isomorphic authorization of CASL-UI and API
- Node-casbin – An authorization library that supports access control models such as ACL, RBAC, and ABAC
- Nodemailer – The fastest way to handle email
- Emailjs – Sends text/HTML E-mail with attachments to any SMTP server
- Email-templates – Create, preview, and send custom email
- MJML – A markup language designed to reduce the difficulty of creating responsive E-mail messages
Task queue
- Bull – Persistent jobs and message queues
- Agenda – A job scheduling tool based on MongoDB
- Idoit – Redis based queue engine with advanced job control
- Node-resque – Redis – based job queue
- RSMQ – Message queue based on Redis
- Bee-queue – A high performance Redis – based task queue
- RedisSMQ – A simple high-performance EDIS message queue with real-time monitoring capabilities
- Sqs-consumer – Build an application based on Amazon Simple Queue Services (SQS) without boilerplate
- Better-queue – a simple and efficient job queue that does not require Redis
Node. Js management
- N-node. js version control
- Nave-node. js virtual environment
- Nodeenv – A Node.js virtual environment compatible with Python VirtualEnv
- NVM for Windows – Windows Node version control tool
- Nodenv – A version manager similar to Ruby Rbenv, with automatic version switching
Natural language processing
- Retext – an extensible natural language system
- Franc – Detects text language
- Leven – Detects the difference between two strings using the Levenshtein distance algorithm
- Natural – a natural language facility
- NLP. Js – Construction robot, with entity extraction, emotion analysis, automatic language recognition and other functions
Process management
- PM2 – Advanced process management tool
- Nodemon – Listens for code changes and automatically restarts the server
- Node-mac – Runs scripts as MAC daemons and prints logs to the console
- Node-linux – Runs scripts as native system services and outputs logs to syslog
- Node-windows – Runs the script as a Windows service and outputs logs to the event viewer
- supervisor- When the script crashes or when
*.js
Restart the script when the file changes - Phusion Passenger – An easy-to-use process management tool built directly into Nginx
automation
- Robotjs – Desktop automation: Control mouse, keyboard and reading screen
- Nut.js – A cross-platform native GUI automation/testing framework with image matching integrated with Jest
AST
- Acorn – Lightweight, fast JavaScript parser
- Babel-parser – JavaScript parser for Babel
- Cherow – Javascript parser focused on performance and stability
Static Site generation
- Wintersmith – Flexible, minimalist, multi-platform static site generator
- Assemble – A static site generator using Node.js, Grunt. Js and Yeoman
- DocPad – static site generator with dynamic capabilities and a huge plug-in ecosystem
- Phenomic – Modern static web site generator based on the React and Webpack ecosystems
- Docsify-markdown text site generator
- Charge – Zero-configuration static site generator using JSX and MDX
Content management system
- KeystoneJS – Express and MongoDB based CMS and Web application platform
- ApostropheCMS – Express and MongoDB based content management system with an emphasis on intuitive front-end content editing and management
- Strapi – Content Management Framework for building powerful APIs (Headless -CMS)
- Tipe – Use schema files to build a developer-oriented content management system based on GraphQL and REST apis
- Factor – Vue.js-based dashboard framework and headless CMS
- AdminBro – Automatically generates the admin interface for all your resources
BBS
- NodeBB – A forum platform for the modern Web
Writing a blog
- Ghost – simple and powerful publishing platform
- Hexo – Fast, simple and powerful blogging framework
bizarre
- cows – ASCII cows
- Superb – get the word for “superb”
- Cat-names – Gets popular cat names
- Dog-names – Gets popular dog names
- Superheroes – Gets the name of the superhero
- Supervillains – Gets the name of a supervillain
- Cool-ascii-faces – Gets cool ASCII emojis
- cat-ascii-faces –
₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (= termination ω termination =)✧ (^ · o · ^) blue"
- Nerds – Get data on nerd topics like Harry Potter, Star Wars, and Pokemon
serialization
- Snappy – Binds the Google Snappy compression library
- Protobuf – Protocol buffer
- Compactr – Compactr protocol
other
- execa- than
child_process
better - Cheerio – Fast, flexible, designed for server using jQuery as a reference
- Electron- Develop cross-platform desktop applications using Web technologies(You might like awesome-electron)
- Open – Opens websites, files, executable files, etc
- Hasha – Makes hashing easy, gets the hash of buffer/string/stream/file
- dot-prop- use
.
Path gets the properties of a nested object - Onetime – Performs one-time functions
- Mem – Memory function – an optimization technique that speeds up successive function calls by caching the results of the execution of the same input function
- Import-fresh – Bypasses the cache when calling the module
- Strip – BOM – Removes UTF-8 BOM from string/Buffer/Stream
- Os-locale – Obtains the system locale
- Ssh2 – SSH2 client and server modules
- Adit – SSH related tools
- Import-lazy – Lazy loads a module
- File-type – Gets the file type of a Buffer
- Bottleneck – rate limiter, which makes flow control easy
- Ow – Function parameter validation
- Webworker-threads – lightweight Web Worker API that uses native threads
- Clipboardy – Access to the system’s clipboard (copy and paste)
- Node-pre-gyp – tool to make it easier to install node.js C++ plug-ins from binary distribution
- Opencv – Javascript opencV package, computer graphics processing library
- Dotenv – Loads environment variables from the.env file.
- Remote-git-tags – Get tags from a Git remote repository
- Semver – Semantic versioning analyzer
- Faker.js – Test data batch generation tool (recommended reading: 28000 Star! Faker.js)
- Nodegit – A Git tool packaged in a native Node
- Json-strictify – Securely serialize values to JSON without losing data or going into an infinite loop
- Resolve-from – Executes a module’s resolve method from a given path
- Simplecrawler – Event-driven Web crawler
- JavaScript implementation of JsDOM-HTML and DOM
- Hypernova – Server renders JavascSript views
- @sindresorhus/is – Checks if values and types match
- env-dot-prop- use
.
Path to get, set, or delete nested properties of process.env - Emittery – Simple and modern asynchronous event generator
- Node-video-lib – a video library written in pure JavaScript for processing MP4 and FLV video files and creating MPEG-TS blocks for HLS streams
- Basic-ftp-ftp /FTPS client
- Cashify – Exchange rate Conversion
- Genepi – automatically generates node.js addon from C++ code
- Husky – Creates a Git hook script
- Patch-package – Fixes and maintains NPM dependencies
- Editly – Declarative video editing API