{
  "id": "javascript-libraries-directory",
  "name": "JavaScript Libraries Directory",
  "title": "JavaScript Libraries Directory",
  "description": "108 curated JavaScript libraries with repository links, categories, and technology tags. Covers async, UI frameworks, testing, bundling, and more.",
  "category": "tech",
  "source": "https://github.com/sourcerer-io/awesome-libraries",
  "source_url": "https://github.com/sourcerer-io/awesome-libraries",
  "updated": "2026-04",
  "record_count": 108,
  "columns": [
    {
      "key": "id",
      "label": "Id",
      "type": "string"
    },
    {
      "key": "imports",
      "label": "Imports",
      "type": "string"
    },
    {
      "key": "name",
      "label": "Name",
      "type": "string"
    },
    {
      "key": "repo",
      "label": "Repo",
      "type": "string"
    },
    {
      "key": "tags",
      "label": "Tags",
      "type": "string"
    },
    {
      "key": "tech",
      "label": "Tech",
      "type": "string"
    },
    {
      "key": "status",
      "label": "Status",
      "type": "string"
    }
  ],
  "rows": [
    {
      "id": "js.async",
      "imports": "async",
      "name": "async",
      "repo": "caolan/async",
      "tags": "async",
      "tech": "app-arch",
      "status": "model-ready"
    },
    {
      "id": "js.graphql",
      "imports": "graphql",
      "name": "graphql",
      "repo": "graphql/graphql-js",
      "tags": "query-language",
      "tech": "app-arch",
      "status": "model-ready"
    },
    {
      "id": "js.react-native",
      "imports": "react-native",
      "name": "react-native",
      "repo": "facebook/react-native",
      "tags": "framework",
      "tech": "app-arch",
      "status": "model-ready"
    },
    {
      "id": "js.pdf",
      "imports": "pdf",
      "name": "pdf",
      "repo": "mozilla/pdf.js",
      "tags": "pdf-reader",
      "tech": "app-blocks",
      "status": "model-ready"
    },
    {
      "id": "js.fast-csv",
      "imports": "fast-csv",
      "name": "fast-csv",
      "repo": "C2FO/fast-csv",
      "tags": "csv",
      "tech": "app-data",
      "status": "model-ready"
    },
    {
      "id": "js.normalizr",
      "imports": "normalizr",
      "name": "normalizr",
      "repo": "paularmstrong/normalizr",
      "tags": "transformations",
      "tech": "app-data",
      "status": "model-ready"
    },
    {
      "id": "js.yaml",
      "imports": "yaml",
      "name": "yaml",
      "repo": "jeremyfa/yaml.js",
      "tags": "json-yaml",
      "tech": "app-data",
      "status": "model-ready"
    },
    {
      "id": "js.chalk",
      "imports": "chalk",
      "name": "Chalk",
      "repo": "chalk/chalk",
      "tags": "terminal-styling",
      "tech": "cli",
      "status": "model-ready"
    },
    {
      "id": "js.commander",
      "imports": "commander",
      "name": "Commander.js",
      "repo": "tj/commander.js",
      "tags": "node-program",
      "tech": "cli",
      "status": "model-ready"
    },
    {
      "id": "js.tesseract",
      "imports": "tesseract",
      "name": "tesseract",
      "repo": "naptha/tesseract.js",
      "tags": "ocr",
      "tech": "computer-vision",
      "status": "model-ready"
    },
    {
      "id": "js.d3",
      "imports": "d3",
      "name": "d3",
      "repo": "d3/d3",
      "tags": "visualization",
      "tech": "data-science",
      "status": "model-ready"
    },
    {
      "id": "js.rickshaw",
      "imports": "rickshaw",
      "name": "rickshaw",
      "repo": "shutterstock/rickshaw",
      "tags": "visualization",
      "tech": "data-science",
      "status": "model-ready"
    },
    {
      "id": "js.winston",
      "imports": "winston",
      "name": "winston",
      "repo": "winstonjs/winston",
      "tags": "logging",
      "tech": "diagnostics",
      "status": "model-ready"
    },
    {
      "id": "js.eslint",
      "imports": "eslint",
      "name": "Eslint",
      "repo": "eslint/eslint",
      "tags": "eslint",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "js.gulp",
      "imports": "gulp",
      "name": "gulp",
      "repo": "gulpjs/gulp",
      "tags": "streaming-build",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "js.less",
      "imports": "less",
      "name": "less",
      "repo": "less/less.js",
      "tags": "css-processor",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "js.postcss",
      "imports": "postcss",
      "name": "postcss",
      "repo": "postcss/postcss",
      "tags": "css-processing",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "js.prettier",
      "imports": "prettier",
      "name": "prettier",
      "repo": "prettier/prettier",
      "tags": "code-formatter",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "js.purify",
      "imports": "purify",
      "name": "purify",
      "repo": "purifycss/purifycss",
      "tags": "unused-css",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "js.immutable",
      "imports": "immutable",
      "name": "immutable",
      "repo": "facebook/immutable-js",
      "tags": "immutable-data",
      "tech": "faster-code",
      "status": "model-ready"
    },
    {
      "id": "js.maxmind",
      "imports": "maxmind",
      "name": "maxmind",
      "repo": "runk/node-maxmind",
      "tags": "geolocation",
      "tech": "geo-maps",
      "status": "awaiting-model"
    },
    {
      "id": "js.three",
      "imports": "three",
      "name": "three",
      "repo": "mrdoob/three.js",
      "tags": "3d-library",
      "tech": "graphics-gaming",
      "status": "model-ready"
    },
    {
      "id": "js.smartcrop",
      "imports": "smartcrop",
      "name": "smartcrop",
      "repo": "jwagner/smartcrop.js",
      "tags": "cropping",
      "tech": "images",
      "status": "model-ready"
    },
    {
      "id": "js.axios",
      "imports": "axios",
      "name": "axios",
      "repo": "mzabriskie/axios",
      "tags": "http-client",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "js.jsonwebtoken",
      "imports": "jsonwebtoken",
      "name": "jsonwebtoken",
      "repo": "auth0/node-jsonwebtoken",
      "tags": "jwt",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "js.request",
      "imports": "request",
      "name": "request",
      "repo": "request/request",
      "tags": "http-client",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "js.babel-loader",
      "imports": "babel-loader",
      "name": "Babel Loader",
      "repo": "babel/babel-loader",
      "tags": "js-transpiler",
      "tech": "interoperability",
      "status": "model-ready"
    },
    {
      "id": "js.angular",
      "imports": "angular",
      "name": "angular",
      "repo": "angular/angular.js",
      "tags": "ui-framework",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.ant-design",
      "imports": "antd",
      "name": "ant-design",
      "repo": "ant-design/ant-design",
      "tags": "react-components",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.backbone",
      "imports": "backbone",
      "name": "backbone",
      "repo": "jashkenas/backbone",
      "tags": "ui-framework",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.bootstrap",
      "imports": "bootstrap",
      "name": "bootstrap",
      "repo": "angular-ui/bootstrap",
      "tags": "ui-library",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.browserify",
      "imports": "browserify",
      "name": "browserify",
      "repo": "substack/node-browserify",
      "tags": "browser-modules",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.cheerio",
      "imports": "cheerio",
      "name": "cheerio",
      "repo": "cheeriojs/cheerio",
      "tags": "dom-manipulation",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.cookie",
      "imports": "cookie",
      "name": "cookie",
      "repo": "js-cookie/js-cookie",
      "tags": "cookies",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.datepicker",
      "imports": "datepicker",
      "name": "datepicker",
      "repo": "uxsolutions/bootstrap-datepicker",
      "tags": "jquery-widget",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.ember",
      "imports": "ember",
      "name": "ember",
      "repo": "emberjs/ember.js",
      "tags": "frontend-framework",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.express",
      "imports": "express",
      "name": "express",
      "repo": "expressjs/express",
      "tags": "nodejs-framework",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.fastify",
      "imports": "fastify",
      "name": "fastify",
      "repo": "fastify/fastify",
      "tags": "nodejs-framework",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.fetch",
      "imports": "fetch ",
      "name": "fetch",
      "repo": "github/fetch",
      "tags": "web-requests",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.flux",
      "imports": "flux",
      "name": "flux",
      "repo": "facebook/flux",
      "tags": "ui-framework",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.fullpage",
      "imports": "fullpage",
      "name": "fullpage",
      "repo": "alvarotrigo/fullPage.js",
      "tags": "ui",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.handlebars",
      "imports": "handlebars",
      "name": "handlebars",
      "repo": "wycats/handlebars.js",
      "tags": "templates",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.html5shiv",
      "imports": "html5shiv",
      "name": "html5shiv",
      "repo": "aFarkas/html5shiv",
      "tags": "ie-html5",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.http-proxy",
      "imports": "http-proxy",
      "name": "http-proxy",
      "repo": "nodejitsu/node-http-proxy",
      "tags": "nodejs-proxy",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.jquery",
      "imports": "jquery",
      "name": "jquery",
      "repo": "jquery/jquery",
      "tags": "dom-manipulation",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.jquery-file-upload",
      "imports": "jquery-file-upload",
      "name": "jquery-file-upload",
      "repo": "blueimp/jQuery-File-Upload",
      "tags": "ui-widget",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.jquery-mobile",
      "imports": "jquery-mobile",
      "name": "jquery-mobile",
      "repo": "jquery/jquery-mobile",
      "tags": "responsive",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.jquery-signal-r",
      "imports": "jquery.signalR",
      "name": "jquery.signalR",
      "repo": "SignalR/bower-signalr",
      "tags": "signalr-client",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.jquery-ui",
      "imports": "jquery-ui",
      "name": "jquery-ui",
      "repo": "jquery/jquery-ui",
      "tags": "ui-library",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.jsdom",
      "imports": "jsdom",
      "name": "jsdom",
      "repo": "jsdom/jsdom",
      "tags": "dom-manipulation",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.knockout",
      "imports": "knockout",
      "name": "knockout",
      "repo": "knockout/knockout",
      "tags": "mvvm",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.koa",
      "imports": "koa",
      "name": "koa",
      "repo": "koajs/koa",
      "tags": "nodejs-framework",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.material",
      "imports": "material",
      "name": "material",
      "repo": "angular/material",
      "tags": "react-components",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.material-ui",
      "imports": "material-ui",
      "name": "material-ui",
      "repo": "callemall/material-ui",
      "tags": "react-components",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.meteor",
      "imports": "meteor",
      "name": "meteor",
      "repo": "meteor/meteor",
      "tags": "fullstack",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.modernizr",
      "imports": "modernizr",
      "name": "modernizr",
      "repo": "Modernizr/Modernizr",
      "tags": "html5-css3",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.mustache",
      "imports": "mustache",
      "name": "mustache",
      "repo": "janl/mustache.js",
      "tags": "templates",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.ng-file-upload",
      "imports": "ng-file-upload",
      "name": "ng-file-upload",
      "repo": "danialfarid/ng-file-upload",
      "tags": "angular-widget",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.p5",
      "imports": "p5",
      "name": "p5.js",
      "repo": "processing/p5.js",
      "tags": "visualization",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.passport",
      "imports": "passport",
      "name": "passport",
      "repo": "jaredhanson/passport",
      "tags": "nodejs-auth",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.pjax",
      "imports": "pjax",
      "name": "pjax",
      "repo": "defunkt/jquery-pjax",
      "tags": "jquery-ajax",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.preact",
      "imports": "preact",
      "name": "preact",
      "repo": "preactjs/preact",
      "tags": "ui-framework",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.pug",
      "imports": "pug",
      "name": "pug",
      "repo": "pugjs/pug",
      "tags": "templates",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.quasar",
      "imports": "",
      "name": "Quasar",
      "repo": "quasarframework/quasar",
      "tags": "ui-framework",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.react",
      "imports": "react",
      "name": "react",
      "repo": "facebook/react",
      "tags": "ui-framework",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.react-bootstrap",
      "imports": "react-bootstrap",
      "name": "react-bootstrap",
      "repo": "react-bootstrap/react-bootstrap",
      "tags": "react-ui",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.react-redux",
      "imports": "react-redux",
      "name": "react-redux",
      "repo": "reactjs/react-redux",
      "tags": "state-management",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.react-router",
      "imports": "react-router",
      "name": "react-router",
      "repo": "ReactTraining/react-router",
      "tags": "routing",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.redux",
      "imports": "redux",
      "name": "redux",
      "repo": "reactjs/redux",
      "tags": "state-management",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.riot",
      "imports": "riot",
      "name": "riot",
      "repo": "riot/riot",
      "tags": "ui-framework",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.rx-lite",
      "imports": "rx",
      "name": "rx.lite",
      "repo": "Reactive-Extensions/RxJS",
      "tags": "reactive",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.socketio",
      "imports": "socketio",
      "name": "socketio",
      "repo": "socketio/socket.io",
      "tags": "networking",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.svelte",
      "imports": "svelte",
      "name": "svelte",
      "repo": "sveltejs/svelte",
      "tags": "ui-framework",
      "tech": "javascript-web",
      "status": "awaiting-model"
    },
    {
      "id": "js.tether",
      "imports": "tether",
      "name": "tether",
      "repo": "HubSpot/tether",
      "tags": "frontend-positioning",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.uglify",
      "imports": "uglify",
      "name": "uglify",
      "repo": "mishoo/UglifyJS",
      "tags": "nodejs-parser",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.validate",
      "imports": "validate",
      "name": "validate",
      "repo": "jquery-validation/jquery-validation",
      "tags": "jquery-validation",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.vue",
      "imports": "vue",
      "name": "vue",
      "repo": "vuejs/vue",
      "tags": "ui-framework",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.vuex",
      "imports": "vuex",
      "name": "vuex",
      "repo": "vuejs/vuex",
      "tags": "state-management",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.xmldom",
      "imports": "xmldom",
      "name": "xmldom",
      "repo": "jindw/xmldom",
      "tags": "dom-manipulation",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.xmldom-ts",
      "imports": "xmldom-ts",
      "name": "xmldom-ts",
      "repo": "backslash47/xmldom",
      "tags": "dom-manipulation",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.xpath",
      "imports": "xpath",
      "name": "xpath",
      "repo": "goto100/xpath",
      "tags": "dom-manipulation",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.xpath-ts",
      "imports": "xpath-ts",
      "name": "xpath-ts",
      "repo": "backslash47/xpath",
      "tags": "dom-manipulation",
      "tech": "javascript-web",
      "status": "model-ready"
    },
    {
      "id": "js.ml5",
      "imports": "ml5",
      "name": "ml5",
      "repo": "ml5js/ml5-library",
      "tags": "toolkit",
      "tech": "ml",
      "status": "model-ready"
    },
    {
      "id": "js.webpack",
      "imports": "",
      "name": "webpack",
      "repo": "webpack/webpack",
      "tags": "module-bundler",
      "tech": "software-distribution",
      "status": "model-ready"
    },
    {
      "id": "js.better-sqlite3",
      "imports": "better-sqlite3",
      "name": "better-sqlite3",
      "repo": "JoshuaWise/better-sqlite3",
      "tags": "sql",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "js.knex",
      "imports": "knex",
      "name": "knex",
      "repo": "tgriesser/knex",
      "tags": "db-abstraction-layer, db-manipulation",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "js.mariadb",
      "imports": "mariadb",
      "name": "mariadb",
      "repo": "MariaDB/mariadb-connector-nodejs",
      "tags": "mariadb, sql",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "js.mongoose",
      "imports": "mongoose",
      "name": "mongoose",
      "repo": "Automattic/mongoose",
      "tags": "mongodb",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "js.mysql",
      "imports": "mysql",
      "name": "mysql",
      "repo": "mysqljs/mysql",
      "tags": "sql",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "js.mysql2",
      "imports": "mysql2",
      "name": "mysql2",
      "repo": "sidorares/node-mysql2",
      "tags": "sql",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "js.redis",
      "imports": "redis",
      "name": "redis",
      "repo": "NodeRedis/node_redis",
      "tags": "nosql",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "js.sequelize",
      "imports": "sequelize",
      "name": "sequelize",
      "repo": "sequelize/sequelize",
      "tags": "orm",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "js.sqlite3",
      "imports": "sqlite3",
      "name": "sqlite3",
      "repo": "mapbox/node-sqlite3",
      "tags": "sql",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "js.chai",
      "imports": "chai",
      "name": "Chai",
      "repo": "chaijs/chai",
      "tags": "nodejs-testing, assertions, bdd-testing",
      "tech": "testing",
      "status": "model-ready"
    },
    {
      "id": "js.jest",
      "imports": "jest",
      "name": "jest",
      "repo": "facebook/jest",
      "tags": "painless-js-testing",
      "tech": "testing",
      "status": "model-ready"
    },
    {
      "id": "js.karma",
      "imports": "karma",
      "name": "Karma",
      "repo": "karma-runner/karma",
      "tags": "multi-browser-testing",
      "tech": "testing",
      "status": "model-ready"
    },
    {
      "id": "js.mocha",
      "imports": "mocha",
      "name": "mocha",
      "repo": "mochajs/mocha",
      "tags": "nodejs-testing",
      "tech": "testing",
      "status": "model-ready"
    },
    {
      "id": "js.tap",
      "imports": "tap",
      "name": "tap",
      "repo": "tapjs/node-tap",
      "tags": "nodejs-testing",
      "tech": "testing",
      "status": "model-ready"
    },
    {
      "id": "js.tape",
      "imports": "tape",
      "name": "tape",
      "repo": "substack/tape",
      "tags": "nodejs-testing",
      "tech": "testing",
      "status": "model-ready"
    },
    {
      "id": "js.config",
      "imports": "config",
      "name": "config",
      "repo": "lorenwest/node-config",
      "tags": "configuration",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "js.date-and-time",
      "imports": "datime-and-time",
      "name": "date-and-time",
      "repo": "knowledgecode/date-and-time",
      "tags": "date-time",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "js.dotenv",
      "imports": "dotenv",
      "name": "dotenv",
      "repo": "motdotla/dotenv",
      "tags": "configuration",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "js.lodash",
      "imports": "lodash",
      "name": "lodash",
      "repo": "lodash/lodash",
      "tags": "toolkit",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "js.moment",
      "imports": "moment",
      "name": "moment",
      "repo": "moment/moment",
      "tags": "date-time",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "js.node-datetime",
      "imports": "node-datime",
      "name": "node-datetime",
      "repo": "voltrue2/node-datetime",
      "tags": "date-time",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "js.q",
      "imports": "q",
      "name": "q",
      "repo": "kriskowal/q",
      "tags": "promises",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "js.ramda",
      "imports": "ramda",
      "name": "ramda",
      "repo": "ramda/ramda",
      "tags": "toolkit",
      "tech": "utils, functional",
      "status": "awaiting-model"
    },
    {
      "id": "js.underscore",
      "imports": "underscore",
      "name": "underscore",
      "repo": "jashkenas/underscore",
      "tags": "toolkit",
      "tech": "utils",
      "status": "model-ready"
    }
  ],
  "meta": {
    "title": "JavaScript Libraries Directory - Free Download",
    "description": "108 curated JavaScript libraries with repository links, categories, and technology tags. Covers async, UI frameworks, testing, bundling, and more. Contains 108 records. Download in Excel, CSV, PDF formats.",
    "seo_title": "JavaScript Libraries Directory | ListBase",
    "seo_description": "Download JavaScript Libraries Directory — 108 records. Available in Excel, CSV, PDF formats.",
    "key_takeaways": [
      "Contains 108 records / 7 fields",
      "Available for free download in Excel, CSV, and PDF formats",
      "Data sourced from: https://github.com/sourcerer-io/awesome-libraries"
    ]
  }
}