{"id":16167102,"url":"https://github.com/timroes/libraries-metadata-registry","last_synced_at":"2026-02-09T08:04:24.770Z","repository":{"id":139655386,"uuid":"43892660","full_name":"timroes/libraries-metadata-registry","owner":"timroes","description":null,"archived":false,"fork":false,"pushed_at":"2015-10-11T08:47:09.000Z","size":148,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-21T23:51:13.455Z","etag":null,"topics":["abandoned","deprecated"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timroes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-08T14:05:49.000Z","updated_at":"2017-03-03T13:14:26.000Z","dependencies_parsed_at":"2023-03-13T12:11:28.017Z","dependency_job_id":null,"html_url":"https://github.com/timroes/libraries-metadata-registry","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/timroes/libraries-metadata-registry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timroes%2Flibraries-metadata-registry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timroes%2Flibraries-metadata-registry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timroes%2Flibraries-metadata-registry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timroes%2Flibraries-metadata-registry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timroes","download_url":"https://codeload.github.com/timroes/libraries-metadata-registry/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timroes%2Flibraries-metadata-registry/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284115871,"owners_count":26949957,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-12T02:00:06.336Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abandoned","deprecated"],"created_at":"2024-10-10T03:06:05.776Z","updated_at":"2025-11-12T22:03:36.391Z","avatar_url":"https://github.com/timroes.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"Libraries metadata registry\n===========================\n\n**This library holds information about libraries and what files they contain.**\n\nThe data is used in the plugin [gulp-libraries](https://github.com/timroes/gulp-libraries)\nto retrieve information about libraries that doesn't bring their own `metadata.json` file.\n\nHow do I use this?\n------------------\n\nYou normally don't need to use this directly at all. See the \n[gulp-libraries](https://github.com/timroes/gulp-libraries) project\nfor documentation on how to use the plugin.\n\nHow can I add data?\n-------------------\n\n**You got a message that you should head here, because of missing metadata?**\n\nYou tried to use a library for which there isn't any metadata (neither in this registry\nnor in the library itself). You have two choices now:\n\n* Add it yourself and send a pull request\n* Open a ticket here and wait for me to add it\n\n_In the first case:_ Thank you a lot! Just read further to learn about the structure\nof the project, add the metadata and send a pull request. If the pull request looks\ngood I try to merge it as soon as possible for the library to work properly with\n`gulp-libraries`.\n\n_In the second case:_ Create a new issue in this project and state the library (if\npossible the bower link directly, but at least its id) and the version you where trying\nto use. I will try to add appropriate metadata for this library as soon as possible\n(though it most likely will need longer, then accepting just a pull request).\n\n\nI want to add my own library\n----------------------------\n\nIf you have your own library you should put a `metadata.json` (see below)\ndirectly into the root of your bower project for it to work. That is the\npreferred way, so you can always keep the data in that file in sync with\nthe current state of your project.\n\nNevertheless there is a good reason why you might want to add files for your\nown library here: _backward compatible_.\n\nIf you start adding a `metadata.json` to your project today, you might still\nwant to add `metadata.json` files for older versions of your library here.\n\nHow is this project structured?\n-------------------------------\n\nTo add metadata add the name of library (i.e. its bower id) as a folder to the `data` folder\nof this project. Inside this package folder you can add folders for the versions you\nwant to deliver. The version folders must be a semantic versions and can replace parts\nof this version by 'x' from the end, which work like wildcards. Inside the version folder\nthere must be the file `metadata.json` which holds the metadata (see below for its format).\n\nLet's explain with an example: Your library is named _mylib_. If the metadata for version 1.2.3\nneeds to be looked up, the following files will be tried until one is found, that exists:\n\n1. `data/mylib/1.2.3/metadata.json`\n2. `data/mylib/1.2.x/metadata.json`\n3. `data/mylib/1.x.x/metadata.json`\n4. `data/mylib/x.x.x/metadata.json`\n\nAlways try to use the most general version possible. Since most likely the structure of\nyour project won't change during a major version, you most likely want to create the\n`data/mylib/1.x.x/metadata.json` in this repository to place the information for all versions\nunder major version 1.\n\nThe metadata.json\n-----------------\n\nThe `metadata.json` file cotains information about what files are contained in the project\nand needs to be copied over to a project using this library. A very simple matadata file could\nlook like:\n\n```\n{\n  \"js\": [ \"dist/jquery.min.js\" ]\n}\n```\n\nIf the user requests all JavaScript files of all libraries now, the file named\n`jquery.min.js` inside the `dist` folder of the bower installed library will be added\nto that file list. You can add as many files as you want inside the array. You can also\nuse some simple wildcards in the file names.\n\nTo add another type of files just add another key to the object, e.g. to add some css files:\n\n```\n{\n  \"js\": [ \"dist/mylib.min.js\" ],\n  \"css\": [ \"dist/mylib.min.css\" ]\n}\n```\n\nYou basically can add any type, that is not a reserved keyword (see below). There are some\nthat should be used for common file types, because the user only fill get a list of your files\nwhen requesting that specific type. Of course you could name a type `foobar`, but the user would\nneed to request files of type `foobar` to get these files, which he isn't most likely doing.\n\nSome of the most common types in this file are:\n\ntype | description      \n-----|------------------\njs   | JavaScript files \ncss  | CSS files\nless | LESS files\nscss | SASS files\n\n### Reserved keywords (i.e. more options)\n\nThere are currently two reserved keywords that cannot be used as types, because they have a\nspecial meanings, explained here:\n\n#### `modules`\n\nSome libraries have some optional features (e.g. themes when having CSS), that your user won't\nneed everytime using your library. These can be defined as modules in the metadata:\n\n```\n{\n  \"js\": [ \"mylib.min.js\" ],\n  \"css\": [ \"common.min.css\" ],\n  \"modules\": {\n    \"theme-default\": {\n      \"css\": [ \"theme-default.min.css\" ]\n    },\n    \"theme-light\": {\n      \"css\": [ \"theme-light.min.css\" ]\n    }\n  }\n}\n```\n\nThe modules key must hold an object (not an array). Each key in this object specifies a\nmodule. The value of each module must be an object again. This object can specify any kind\nof files again (as you can in the root object). If the user just includes your library he will\nonly get the files defined in the root of the metadata information. He can enable any of the\nmodules in their configuration. In that case the files defined in that module will be returned\nin addition to the ones defined in the root of the metadata.\n\n#### `options`\n\nThe `options` key hold an object of further configuration about this module. Currently\nthis options object can contain the following keys:\n\n```\n{\n  \"options\": {\n    \"after\": [ \"pkgid\", \"pkgid2\" ]\n  }\n}\n```\n\nThe `after` option is an array of strings. These strings are bower ids of other libraries.\nIf a user include your library and one one of the others library, this option defines, that\nyour library always needs to be added *after* the other package to any file stream. If the user\ndoes *not* have the library defined in *after* in their project nothing will happen. This is\njust an ordering hint and nothing more.\n\nBy default all bower dependencies in the library are handled like *afters* in the metadata,\ni.e. if your bower library has a bower dependency on `jquery` you don't need to specify\nin your `metadata.json`, that you want to be loaded after jquery. This will be done\nautomatically due to the bower dependency.\n\nYou only need to specify *after* for soft dependencies. For example if you don't require `jquery`,\nbut if it is available you will make use of it (e.g. AngularJS does this), specify it in your\n*after* and your library will be loaded after jquery **if** it is available.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimroes%2Flibraries-metadata-registry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimroes%2Flibraries-metadata-registry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimroes%2Flibraries-metadata-registry/lists"}