{"id":32216102,"url":"https://github.com/ryan-lang/web-assetlib","last_synced_at":"2025-10-22T07:55:51.040Z","repository":{"id":56835901,"uuid":"68073565","full_name":"ryan-lang/Web-AssetLib","owner":"ryan-lang","description":"Library manager for compiling and serving static assets","archived":false,"fork":false,"pushed_at":"2017-11-15T02:29:06.000Z","size":98,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-22T07:55:50.708Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryan-lang.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","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":"2016-09-13T04:15:01.000Z","updated_at":"2016-09-14T21:25:51.000Z","dependencies_parsed_at":"2022-09-09T18:00:50.384Z","dependency_job_id":null,"html_url":"https://github.com/ryan-lang/Web-AssetLib","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/ryan-lang/Web-AssetLib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryan-lang%2FWeb-AssetLib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryan-lang%2FWeb-AssetLib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryan-lang%2FWeb-AssetLib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryan-lang%2FWeb-AssetLib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryan-lang","download_url":"https://codeload.github.com/ryan-lang/Web-AssetLib/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryan-lang%2FWeb-AssetLib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280402184,"owners_count":26324587,"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-10-22T02:00:06.515Z","response_time":63,"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":[],"created_at":"2025-10-22T07:55:50.011Z","updated_at":"2025-10-22T07:55:51.035Z","avatar_url":"https://github.com/ryan-lang.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAME\n\nWeb::AssetLib - Moose-based pluggable library manager for compiling and serving static assets\n\n# VERSION\n\nversion 0.081\n\n# SYNOPSIS\n\nCreate a library for your project:\n\n        package My::Library;\n\n        use Moose;\n\n        extends 'Web::AssetLib::Library';\n\n        sub jQuery{\n                return Web::AssetLib::Asset-\u003enew(\n                type         =\u003e 'javascript',\n                input_engine =\u003e 'LocalFile',\n                rank         =\u003e -100,\n                input_args =\u003e { path =\u003e \"your/local/path/jquery.min.js\", }\n            );\n        }\n\n        1;\n\nCompile assets from that library:\n\n        use My::Library;\n\n        # configure at least one input and one output plugin\n        # (and optionally, a minifier plugin)\n        my $lib = My::Library-\u003enew(\n                input_engines =\u003e [\n                        Web::AssetLib::InputEngine::LocalFile-\u003enew(\n                search_paths =\u003e ['/my/assets/root/']\n            )\n                ],\n                output_engines =\u003e [\n                        Web::AssetLib::OutputEngine::LocalFile-\u003enew(\n                                output_path =\u003e '/my/webserver/path/assets/'\n                        )\n                ]\n        );\n\n        # create an asset bundle to represent a group of assets\n        # that should be compiled together:\n\n        my $homepage_javascript = Web::AssetLib::Bundle-\u003enew();\n        $hompage_javascript-\u003eaddAsset($lib-\u003ejQuery);\n\n\n        # compile your bundle\n        my $html_tag = $lib-\u003ecompile( bundle =\u003e $homepage_javascript )-\u003eas_html;\n\n# DESCRIPTION\n\nWeb::AssetLib allows you to build an easy-to-tweak input -\u003e (minfiy) -\u003e output \npipeline for web assets, as well as a framework for managing those assets.\n\nYou have the option to compile groups of assets, or individual\nones.  Out of the box, Web::AssetLib supports [local file](https://metacpan.org/pod/Web::AssetLib::InputEngine::LocalFile),\n[remote file](https://metacpan.org/pod/Web::AssetLib::InputEngine::RemoteFile), and [string](https://metacpan.org/pod/Web::AssetLib::InputEngine::Content) \ninputs, minification with [CSS::Minifier](https://metacpan.org/pod/CSS::Minifier) and [JavaScript::Minifier](https://metacpan.org/pod/JavaScript::Minifier), and \n[local file](https://metacpan.org/pod/Web::AssetLib::OutputEngine::LocalFile) output.\n\nCurrently available plugins:\n\n- [Web::AssetLib::OutputEngine::S3](https://metacpan.org/pod/Web::AssetLib::OutputEngine::S3) - output to Amazon S3 bucket\n\nPossibilities for future plugins: non-S3 CDN outputs, SASS input, etc.\n\nThis documentation uses method signature notation as defined by [Method::Signatures](https://metacpan.org/pod/Method::Signatures).\n\n# USAGE\n\nBasic usage is covered in [Web::AssetLib::Library](https://metacpan.org/pod/Web::AssetLib::Library).\n\nThe following base classes are provided for extendability:\n\n- [Web::AssetLib::Library](https://metacpan.org/pod/Web::AssetLib::Library) — a base class for writing your own asset library, and configuring the various pipeline plugins\n- [Web::AssetLib::InputEngine](https://metacpan.org/pod/Web::AssetLib::InputEngine) — a base class for writing your own Input Engine\n- [Web::AssetLib::OutputEngine](https://metacpan.org/pod/Web::AssetLib::OutputEngine) — a base class for writing your own Output Engine\n- [Web::AssetLib::MinifierEngine](https://metacpan.org/pod/Web::AssetLib::MinifierEngine) — a base class for writing your own Minifier Engine\n\nThe following objects are used to define assets or groups of assets:\n\n- [Web::AssetLib::Asset](https://metacpan.org/pod/Web::AssetLib::Asset) — a representation of a particular asset in your library\n- [Web::AssetLib::Bundle](https://metacpan.org/pod/Web::AssetLib::Bundle) — an indexed grouping of [Web::AssetLib::Asset](https://metacpan.org/pod/Web::AssetLib::Asset) objects\n\nPlugins provided by default:\n\n- [Web::AssetLib::InputEngine::LocalFile](https://metacpan.org/pod/Web::AssetLib::InputEngine::LocalFile) — allows importing an asset from your local filesystem\n- [Web::AssetLib::InputEngine::RemoteFile](https://metacpan.org/pod/Web::AssetLib::InputEngine::RemoteFile) — allows importing an asset via a URL\n- [Web::AssetLib::InputEngine::Content](https://metacpan.org/pod/Web::AssetLib::InputEngine::Content) — allows importing an asset as a raw string\n- [Web::AssetLib::MinifierEngine::Standard](https://metacpan.org/pod/Web::AssetLib::MinifierEngine::Standard) — basic CSS/Javascript minification utilizing\neither [CSS::Minifier](https://metacpan.org/pod/CSS::Minifier) and [JavaScript::Minifier](https://metacpan.org/pod/JavaScript::Minifier) or [CSS::Minifier::XS](https://metacpan.org/pod/CSS::Minifier::XS) and [JavaScript::Minifier::XS](https://metacpan.org/pod/JavaScript::Minifier::XS)\ndepending on availability\n- [Web::AssetLib::OutputEngine::LocalFile](https://metacpan.org/pod/Web::AssetLib::OutputEngine::LocalFile) — allows exporting an asset or bundle to your local filesystem\n\n# SUPPORT\n\n## Bugs / Feature Requests\n\nPlease report any bugs or feature requests through the issue tracker\nat [https://github.com/ryan-lang/Web-AssetLib/issues](https://github.com/ryan-lang/Web-AssetLib/issues).\nYou will be notified automatically of any progress on your issue.\n\n## Source Code\n\nThis is open source software.  The code repository is available for\npublic review and contribution under the terms of the license.\n\n[https://github.com/ryan-lang/Web-AssetLib](https://github.com/ryan-lang/Web-AssetLib)\n\n     git clone https://github.com/ryan-lang/Web-AssetLib.git\n    \n\n# AUTHOR\n\nRyan Lang \u003crlang@cpan.org\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryan-lang%2Fweb-assetlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryan-lang%2Fweb-assetlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryan-lang%2Fweb-assetlib/lists"}