{"id":19990305,"url":"https://github.com/ElemeFE/bowl","last_synced_at":"2025-05-04T09:35:09.582Z","repository":{"id":65980030,"uuid":"72894922","full_name":"ElemeFE/bowl","owner":"ElemeFE","description":"🍚 static resources front-end storage solving strategy","archived":false,"fork":false,"pushed_at":"2017-06-28T06:38:15.000Z","size":617,"stargazers_count":225,"open_issues_count":4,"forks_count":14,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-10-13T01:48:14.649Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://elemefe.github.io/bowl/","language":"JavaScript","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/ElemeFE.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-11-05T00:17:45.000Z","updated_at":"2024-07-24T09:31:15.000Z","dependencies_parsed_at":"2023-02-19T18:30:42.138Z","dependency_job_id":null,"html_url":"https://github.com/ElemeFE/bowl","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElemeFE%2Fbowl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElemeFE%2Fbowl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElemeFE%2Fbowl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElemeFE%2Fbowl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ElemeFE","download_url":"https://codeload.github.com/ElemeFE/bowl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224391390,"owners_count":17303609,"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","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":"2024-11-13T04:51:07.997Z","updated_at":"2024-11-13T04:51:29.369Z","avatar_url":"https://github.com/ElemeFE.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimage src=\"https://github.com/classicemi/bowl.js/blob/develop/assets/logo.png?raw=true\" width=\"128\"\u003e\u003c/p\u003e\n\n# bowl.js\n[![npm](https://img.shields.io/npm/v/bowl.js.svg?style=flat-square)](https://www.npmjs.com/package/bowl.js)\n[![npm](https://img.shields.io/npm/dt/bowl.js.svg?style=flat-square)](https://www.npmjs.com/package/bowl.js)\n[![license](https://img.shields.io/github/license/elemefe/bowl.svg?style=flat-square)](https://github.com/ElemeFE/bowl)\n[![GitHub stars](https://img.shields.io/github/stars/elemefe/bowl.svg?style=social\u0026label=Star)](https://github.com/ElemeFE/bowl)\n\u003e 🍚 static resources front-end storage solving strategy\n\n## Links\n+ [Documentation](https://elemefe.github.io/bowl/)\n\n## Screenshot\n![](https://raw.githubusercontent.com/classicemi/bowl/develop/assets/demo.gif)\n\n## Quick Start\nFor those resources that need to be cached, you do not have to insert `script` tags to the pages. Just write a little piece of JavaScript and **bowl** will take care of it.\n```html\n\u003cscript\u003e\nvar bowl = new Bowl()\nbowl.add([\n  { url: 'dist/vendor.[hash].js', key: 'vendor' },\n  { url: 'dist/app.[hash].js', key: 'app' },\n  { url: 'dist/style.[hash].css', key: 'style' }\n])\nbowl.inject().then(() =\u003e {\n  // do some stuff\n})\n\u003c/script\u003e\n```\n**bowl** will add these resources to cache(currently localStorage). whenever the url of the resources get modified, bowl will update the files in the cache. For more useful functions of **bowl**, just checkout the [API document](https://elemefe.github.io/bowl/).\n\n## Development Setup\nAfter cloning the repo, run:\n```shell\n$ yarn install # yep, yarn is recommended. :)\n```\n### Commonly used NPM scripts:\n```shell\n# watch and auto rebuild lib/bowl.js and lib/bowl.min.js\n$ npm run dev\n\n# watch and auto re-run unit tests in Chrome\n$ npm run test:unit\n\n# build all dist files\n$ npm run build\n```\n\n## License\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FElemeFE%2Fbowl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FElemeFE%2Fbowl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FElemeFE%2Fbowl/lists"}