[genar@localhost dev]$ npm run dev∎
Javascript
1 | dddddddddddddddddddddddddddddd |
JavaScript, often abbreviated as JS, is a high-level, interpreted programming language. It is a language which is also characterized as dynamic, weakly typed, prototype-based and multi-paradigm.
Alongside HTML and CSS, JavaScript is one of the three core technologies of the World Wide Web. JavaScript enables interactive web pages and thus is an essential part of web applications. The vast majority of websites use it, and all major web browsers have a dedicated JavaScript engine to execute it.
As a multi-paradigm language, JavaScript supports event-driven, functional, and imperative (including object-oriented and prototype-based) programming styles. It has an API for working with text, arrays, dates, regular expressions, and basic manipulation of the DOM, but the language itself does not include any I/O, such as networking, storage, or graphics facilities, relying for these upon the host environment in which it is embedded.
Initially only implemented client-side in web browsers, JavaScript engines are now embedded in many other types of host software, including server-side in web servers and databases, and in non-web programs such as word processors and PDF software, and in runtime environments that make JavaScript available for writing mobile and desktop applications, including desktop widgets.
Although there are strong outward similarities between JavaScript and Java, including language name, syntax, and respective standard libraries, the two languages are distinct and differ greatly in design; JavaScript was influenced by programming languages such as Self and Scheme.
Inbox
- browser-perf - Performance Metrics for Web Browsers
- Redux-First Router data-fetching: solving the 80% use case for async Middleware
- jmespath.js - Javascript implementation of JMESPath, a query language for JSON http://jmespath.org
- automerge -
A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically. - The Extensible Web Manifesto
- javascript-algorithms - Algorithms and data structures implemented in JavaScript with explanations and links to further readings
- nectarjs - Javascript’s God Mode https://nectarjs.com
- html2canvas - Screenshots with JavaScript https://html2canvas.hertzen.com/
- https://github.com/developit/histore
- https://github.com/layerJS/layerJS
- https://github.com/redacademy/vue-ethereum-ipfs
- dns.js.org - Providing nice and free domains for GitHub Pages since 2015
- codegolf
- mini-tetris - Tetris in 512b
- Neutrino: Releasing v8
- browsix - Browsix is a Unix-like operating system for the browser.
- grapesjs - Free and Open source Web Builder Framework. Next generation tool for building templates without coding https://grapesjs.com
- protobuf.js - Protocol Buffers for JavaScript (& TypeScript). http://dcode.io/protobuf.js
- js-levenshtein - The most efficient JS implementation calculating the Levenshtein distance, i.e. the difference between two strings.
Pixel art
- pixel -
Javascript library to generate pixel art and animated scenes - Data-Pixels -
Create pixel art programmatically. Includes DataPixels.js and Data Pixels Playground desktop application. - pixel-art-react -
Pixel art animation and drawing web app powered by ReactJS https://www.pixelartcss.com/ - https://spritestack.io/
Animation
- anime.js - JavaScript Animation Engine http://animejs.com
Diagrams
- js-sequence-diagrams - Draws simple SVG sequence diagrams from textual representation of the diagram https://bramp.github.io/js-sequence-diagrams/
- rete - JavaScript framework for visual programming and creating node editor https://rete.js.org
Visualization libraries
- giojs - 🌏 A Declarative 3D Globe Data Visualization Library built with Three.js http://giojs.org
- butterchurn - Butterchurn is a WebGL implementation of the Milkdrop Visualizer
Crawlers
- apify-js - Apify SDK: The scalable web crawling and scraping library for JavaScript. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer. https://www.npmjs.com/package/apify
Functional programming
- sanctuary - 🙈 Refuge from unsafe JavaScript https://sanctuary.js.org
HTTP Clients
- axios - Promise based HTTP client for the browser and node.js
- wretch - A tiny wrapper built around fetch with an intuitive syntax. candy https://elbywan.github.io/wretch
Frameworks
- konva - Konva.js is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications. http://konvajs.github.io/
- radi.js - Tiny (in size) front-end framework with no extra browser re-flows https://radi.js.org
Code Generators
- plop - Micro-generator framework that makes it easy for an entire team to create files with a level of uniformity http://plopjs.com
- hygen - The simple, fast, and scalable code generator that lives in your project. http://hygen.io
- yeoman - The web’s scaffolding tool for modern webapps
DDD
- almin - Client-side DDD/CQRS for JavaScript. https://almin.js.org/
- wolkenkit - wolkenkit is an open-source CQRS and event-sourcing framework for JavaScript and Node.js that perfectly matches DDD. https://www.wolkenkit.io
- Modeling Domain Entities with Universal JavaScript
Async execution
Callbacks
Promise
- Promise Patterns & Anti-Patterns
- Promise Anti-Patterns
- Back to Basics: Running Promises in Serial with Array.reduce()
- process-control - A tool for managing continuous async process by starting, stopping, restarting and disposing
Async / Await
Browser databases
- PouchDB - The Database that Syncs!
- alasql - AlaSQL.js - JavaScript SQL database for browser and Node.js. Handles both traditional relational tables and nested JSON data (NoSQL). Export, store, and import data from localStorage, IndexedDB, or Excel. http://alasql.org
- taffydb - An opensouce library that brings database features into your JavaScript applications.
- Dexie.js - A Minimalistic Wrapper for IndexedDB http://dexie.org
- rxdb - 💻 📱 A reactive Database for Progressive Web Apps and more https://pubkey.github.io/rxdb/
- redux-saga-rxdb - Saga Boilerplate for RxDB
- workerdb - Performant, Reactive, offline-first, syncable Database in WebWorker based on PouchDB/RxDB, great for electronJS and web-applications https://workerdb.netlify.com/
- lokijs - A fast, in-memory document-oriented datastore for node.js, browser and cordova
- elasticlunr.js - Based on lunr.js, but more flexible and customized. http://elasticlunr.com
Native Addons
Compilers
- babel
- emscripten
- Examples: Porting-Examples-and-Demos
- bankai - 🚉 - friendly web compiler
Bundlers
- Webpack
- neutrino.js - Create and build modern JavaScript applications with zero initial configuration.
- webpackmonitor - A tool for monitoring webpack optimization metrics through the development process
- parcel - Blazing fast, zero configuration web application bundler
- awesome-parcel - link A curated list of awesome Parcel resources, libraries, tools and boilerplates
- bili - 🥂 A zero-config library bundler. https://egoist.moe/bili
Linters
Rendering
- two.js - A renderer agnostic two-dimensional drawing api for the web. https://two.js.org
Web workers
- workly - A really simple way to move a stand-alone function/class to a web worker. weight_lifting_woman→ smile
- via.js - Use the DOM in a Web Worker.
JSON utils
- jv - Helps you view JSON on the command-line.
- jq - jq is a lightweight and flexible command-line JSON processor.
JSON editors
- jsoneditor - A web-based tool to view, edit, format, and validate JSON http://jsoneditoronline.org
- JSONEditor - A react visual json editor
Sanitizers
- DOMPurify - DOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and hooks. Demo: https://cure53.de/purify
Graphing libraries
- plotly.js - The open source JavaScript graphing library that powers plotly https://plot.ly/javascript/
- drawio - Source to www.draw.io
Template engine
- nunjucks - A powerful templating engine with inheritance, asynchronous control, and more (jinja2 inspired) https://mozilla.github.io/nunjucks/
- handlebars
- mustache
- markdown-it - Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed https://markdown-it.github.io
- ejs
Util libraries
- dayjs - ⏰ Day.js 2KB immutable date library alternative to Moment.js with the same modern API https://github.com/iamkun/dayjs
- momentjs
- Fomat momentjs date to PHP DateTime compatible
YYYY-MM-DDTHH:mm:ss
- You-Dont-Need-Momentjs - List of date-fns or native functions which you can use to replace moment.js + ESLint Plugin
- Fomat momentjs date to PHP DateTime compatible
ECMAScript 6
Javascript Runtimes
Object Oriented Programming
- InversifyJS - A powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript. http://inversify.io/
Object schema libraries
- yup - Dead simple Object schema validation
Testing
- cucumber.io
- gremlins.js - gremlins.js is a monkey testing library written in JavaScript, for Node.js and the browser. Use it to check the robustness of web applications by unleashing a horde of undisciplined gremlins.
- pollyjs - Record, Replay, and Stub HTTP Interactions. https://netflix.github.io/pollyjs
Browser side javascript
- ReactJS
- inferno - An extremely fast, React-like JavaScript library for building modern user interfaces http://infernojs.org
Server side javascript
Desktop applications
Frontend
- driver.js - A light-weight, no-dependency, vanilla JavaScript engine to drive the user’s focus across the page http://kamranahmed.info/driver
- rough - Create graphics with a hand-drawn, sketchy, appearance http://roughjs.com
- scrollify - Trigger simple actions on scroll.
IDEs
- codesandbox.io - The online code editor
WYSIWYG
- awesome-wysiwyg - A curated list of awesome WYSIWYG editors
- trix - A rich text editor for everyday writing https://trix-editor.org/
Project management
- bolt - ⚡ Super-powered JavaScript project management http://boltpkg.com/
- bolt-interactive - An interactive CLI tool for managing your bolt projects.
Debugging
Performance
- jsperf - jsperf.com v2. https://github.com/h5bp/lazyweb-requests/issues/174 https://jsperf.com/
- perfume.js - JavaScript library that measures First (Contentful) Paint (FP/FCP), Time to Interactive (TTI) and First Input Delay (FID).
- The cost of javascript
Snippets
- 30-seconds-of-code - Curated collection of useful JavaScript snippets that you can understand in 30 seconds or less. https://30secondsofcode.org/
Check if object is empty
1 | const object = {} |
Convert javascript object into serialized querystring
Taken from stackoverflow
1 | serialize = (obj) => { |
This one also converts recursive objects (using php “array” notation for the query string)
1 | serialize = function(obj, prefix) { |
Convert dashed-string to camelCase
1 | var camelCased = myString.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); }); |
Faletten javascript object to has only one level depth
1 | const flattenObject = (ob) => { |
editorconfig for javascript projects
1 | ## .editorconfig |
importjs
ImportJS is a tool to automatically import dependencies in your JavaScript
project. Use it along with one of our editor integrations for
Atom, Emacs, Sublime, Vim, or VS Code.
Remove ;
character from automatic import
1 | // .importjs.js |
Security
Experiments
- roadtrip - A script to make movies from Google StreetView images
Learning
- js-equality-game - The Worst Minesweeper 💣 Ever https://slikts.github.io/js-equality-game/
- Learn map, filter and reduce in Javascript
- 33-js-concepts - 📜 33 concepts every JavaScript developer should know.
Links
- What the fuck JavaScript?
- Cheatsheet for the JavaScript knowledge you will frequently encounter in modern projects.
- Project guidelines - github - A set of best practices for JavaScript projects
- 4 Types of Memory Leaks in JavaScript and How to Get Rid Of Them
- The Hidden Treasures of Object Composition
- Ten Things A Serious JavaScript Developer Should Learn
- Creating Web Components with Stencil