{"id":16167107,"url":"https://github.com/timroes/gulp-libraries","last_synced_at":"2026-02-27T10:42:55.860Z","repository":{"id":142510855,"uuid":"43880127","full_name":"timroes/gulp-libraries","owner":"timroes","description":"Work in progress","archived":false,"fork":false,"pushed_at":"2015-10-11T08:25:25.000Z","size":148,"stargazers_count":1,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"alpha","last_synced_at":"2025-11-12T22:23:46.847Z","etag":null,"topics":["abandoned","deprecated"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-08T10:06:10.000Z","updated_at":"2017-03-03T13:13:44.000Z","dependencies_parsed_at":"2023-03-13T23:26:22.883Z","dependency_job_id":null,"html_url":"https://github.com/timroes/gulp-libraries","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/timroes/gulp-libraries","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timroes%2Fgulp-libraries","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timroes%2Fgulp-libraries/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timroes%2Fgulp-libraries/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timroes%2Fgulp-libraries/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timroes","download_url":"https://codeload.github.com/timroes/gulp-libraries/tar.gz/refs/heads/alpha","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timroes%2Fgulp-libraries/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29892054,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T09:48:51.284Z","status":"ssl_error","status_checked_at":"2026-02-27T09:48:43.992Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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:06.917Z","updated_at":"2026-02-27T10:42:55.813Z","avatar_url":"https://github.com/timroes.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"gulp-libraries\n=================\n\n**An easy way to deal with libraries.**\n\nWhat does it do?\n----------------\n\nAfter installing libraries via bower you can use this gulp plugin\nto get streams to all your libraries sources you need to copy to your\nproject. You don't need to specify for each project again, where exactly\nthe JavaScript or CSS is located, that you need to copy over.\n\nA lengthy explanation of the motivation behind this library can be found\nin a [blog post](#) (*TODO: write blog post*) I wrote.\n\nThis plugin examines all your dependencies, if they have specified metadata\nin their package (see [Metadata for your library](#metadata-library)). If they\ndon't have metadata, it will look up the metadata for this library in a central\nrepository (so this pugin also works for libraries, that don't want to specify\nmetadata on their own). After that you can get access to all JavaScript, CSS or\nwhatever resources the libraries exported via this plugin.\n\n\nHow to set it up?\n-----------------\n\nTo use this plugin, you need to `require` it in your Gulpfile and initialize it:\n\n```javascript\nvar libraries = require('gulp-libraries')();\n```\n\nYou can pass several options to the initialization of the plugin, to configure it.\nThe plugin has sensible default values for all the options. The options are described\nfurther down.\n\nAfter you have initialized the plugin, you can get access to the files of your libraries\nby calling the modules `files` method. To just copy all the JavaScript files from all your\nlibraries to `build/libs` you can write the following task:\n\n```javascript\ngulp.task('libsjs', function() {\n  libraries.files('js')\n    .pipe(gulp.dest('build/libs'));\n});\n```\n\nA library can export any kind of resources. The most common ones are `js` (JavaScript files),\n`css` (CSS files). (*TODO: Define a list somewhere*).\n\nTODO: Ordering of packages\n\nMetadata for your library\n-------------------------\n\n*TODO: How the metadata file has to look*\n\nlibrary.json\n------------\n\nTODO\n\nAPI Documentation\n-----------------\n\n### `gulp-libraries(options)`\n\nYou need to call this in your buildscript to initialize the library.\n\n##### **options** (`object` or `undefined`)\n\nAn optional object to configure the library. The following options are available:\n\n* `config` (default: `libraries.json`) - The relative (from the root of your project) path to\n  the configuration file for this library. See [library.json](#libraryjson).\n* `metadataRegistry` (default: `https://github.com/timroes/gulp-libraries-registry/`) - The base url\n  of the metadata registry. This can be any http(s) or file URL. If the plugin tries to look for\n  metadata it will try to append the package id and the version and *metadata.json* to the\n  base URL and look for that file (e.g. `file:/tmp/jquery/2.0.0/metadata.json`) if you set this\n  option to `file:/tmp/`. If you set this option, because you are missing metadata in the official\n  repository: sending a pull request is highly appreciated (see\n  [Metadata Repository Project](https://github.com/timroes/gulp-libraries-registry)).\n* `ignoreCyclicDependencies` TODO\n\n### `gulp-libraries.files(types, opts, gulpOpts)`\n\nReturn a file stream (that you can call `.pipe` on) for the specified file types.\n\n##### **types** (`string` or `string[]`)\n\nEither a string or an array of strings. Define the type of files which to create a stream\nfor (e.g. `js` or `css`). *(TODO: Link to list)* If you specify an array of types, the order\nin which the resources appear in the array will determine the order of the files in the stream.\n\n##### **opts** (`object` or `undefined`)\n\nAn optional parameter, that can hold options on how to create the stream. There following keys\ncan be set in the object:\n\n* `keepHierarchy` (default: `false`) - By default this plugin will flatten all packages, so they will all be put in the\n  same folder if you output them via `gulp.dest`. If you set `keepHierarchy` to `true` the original\n  structure inside the module folder will be kept. E.g. if you include *jquery* that way and output\n  with `gulp.dest('tmp')` you will end up having the folder structure `tmp/jquery/dist/jquery.min.js`\n  instead of just `tmp/jquery.min.js`.\n\n##### **gulpOpts** (`object` or `undefined`)\n\nAn optional parameter that will be passed to the `gulp.src` function as a second parameter.\nYou can set there any options [`gulp.src` understands](https://github.com/gulpjs/gulp/blob/master/docs/API.md#options).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimroes%2Fgulp-libraries","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimroes%2Fgulp-libraries","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimroes%2Fgulp-libraries/lists"}