{"id":25692759,"url":"https://github.com/davideperozzi/smoovy","last_synced_at":"2025-04-04T13:12:58.777Z","repository":{"id":41207639,"uuid":"183323075","full_name":"davideperozzi/smoovy","owner":"davideperozzi","description":"A collection of small and useful js packages (smooth scrolling, router, parallax, webgl, utils, etc.) preventing copy \u0026 paste","archived":false,"fork":false,"pushed_at":"2025-03-15T23:07:03.000Z","size":4352,"stargazers_count":82,"open_issues_count":0,"forks_count":9,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-27T10:47:52.304Z","etag":null,"topics":["javascript","monorepo","router","smooth","smooth-scrolling","ticker","tween","typescript","webgl","website"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/davideperozzi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-24T23:56:13.000Z","updated_at":"2025-03-15T23:07:06.000Z","dependencies_parsed_at":"2023-12-05T18:33:25.568Z","dependency_job_id":"f341fab6-7138-4877-93a7-ac6f6892a2cb","html_url":"https://github.com/davideperozzi/smoovy","commit_stats":{"total_commits":505,"total_committers":5,"mean_commits":101.0,"dds":"0.19999999999999996","last_synced_commit":"6f2732ac1f692fe6f7d456ad0dd45f165835e74b"},"previous_names":[],"tags_count":379,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davideperozzi%2Fsmoovy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davideperozzi%2Fsmoovy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davideperozzi%2Fsmoovy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davideperozzi%2Fsmoovy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davideperozzi","download_url":"https://codeload.github.com/davideperozzi/smoovy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247182401,"owners_count":20897381,"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":["javascript","monorepo","router","smooth","smooth-scrolling","ticker","tween","typescript","webgl","website"],"created_at":"2025-02-24T23:33:22.855Z","updated_at":"2025-04-04T13:12:58.752Z","avatar_url":"https://github.com/davideperozzi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# smoovy\n[![Build Status](https://cicd.davideperozzi.com/api/badges/davideperozzi/smoovy/status.svg)](https://cicd.davideperozzi.com/davideperozzi/smoovy)\n[![Codecov](https://img.shields.io/codecov/c/gh/davideperozzi/smoovy.svg?style=flat-square)](https://codecov.io/gh/davideperozzi/smoovy)\n![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat-square)\n[![License](https://flat.badgen.net/badge/license/MIT/blue)](./LICENSE)\n\nA collection of small and useful js packages for simple preventing copy \u0026 paste. The goal is to use as few dependencies as possible to guarantee a **small final bundle**.\n\n## Packages\n| Name| Version |\n| --- | --- |\n| [@smoovy/composer](./packages/composer) | [![Version](https://flat.badgen.net/npm/v/@smoovy/composer)](https://www.npmjs.com/package/@smoovy/scroller)\n| [@smoovy/scroller](./packages/scroller) | [![Version](https://flat.badgen.net/npm/v/@smoovy/scroller)](https://www.npmjs.com/package/@smoovy/scroller)\n| [@smoovy/observer](./packages/observer) | [![Version](https://flat.badgen.net/npm/v/@smoovy/observer)](https://www.npmjs.com/package/@smoovy/observer)\n| [@smoovy/parallax](./packages/parallax) | [![Version](https://flat.badgen.net/npm/v/@smoovy/parallax)](https://www.npmjs.com/package/@smoovy/parallax)\n| [@smoovy/tween](./packages/tween) | [![Version](https://flat.badgen.net/npm/v/@smoovy/tween)](https://www.npmjs.com/package/@smoovy/tween)\n| [@smoovy/ticker](./packages/ticker) | [![Version](https://flat.badgen.net/npm/v/@smoovy/ticker)](https://www.npmjs.com/package/@smoovy/ticker)\n| [@smoovy/emitter](./packages/emitter) | [![Version](https://flat.badgen.net/npm/v/@smoovy/emitter)](https://www.npmjs.com/package/@smoovy/emitter)\n| [@smoovy/listener](./packages/listener) | [![Version](https://flat.badgen.net/npm/v/@smoovy/listener)](https://www.npmjs.com/package/@smoovy/listener)\n| [@smoovy/router](./packages/router) | [![Version](https://flat.badgen.net/npm/v/@smoovy/router)](https://www.npmjs.com/package/@smoovy/router)\n| [@smoovy/webgl](./packages/webgl) | [![Version](https://flat.badgen.net/npm/v/@smoovy/webgl)](https://www.npmjs.com/package/@smoovy/webgl)\n| [@smoovy/utils](./packages/utils) | [![Version](https://flat.badgen.net/npm/v/@smoovy/utils)](https://www.npmjs.com/package/@smoovy/utils)\n\n## Getting started\nChoose a package you want to install. It's as easy as that:\n```sh\nyarn add @smoovy/\u003cpackage\u003e\n```\nor\n```sh\nnpm install --save @smoovy/\u003cpackage\u003e\n```\n\n## Workflow\nThis is a simple monorepo consisting of some of the packages mentioned above.\n\n### Building a package\nTo ensure the best result, packages are created with esbuild and tsc.\n```sh\nyarn build --scope=\u003cname\u003e\n```\n\n### Testing a package\nPackages will be tested with `vitest`.\n```sh\nyarn test --scope=\u003cname\u003e\n```\n\u003e Some packages are still missing tests. These will be excluded from the code coverage completely.\n\n### Serving a package demo\nThe demo will be served and bundled with `vite`. Every demo must have a `index.html` file.\n```sh\nyarn dev --scope=\u003cname\u003e\n```\n\n### Linting a package\nThe `ESLinter` is being used for linting packages. Everything except the `src` folder will be ignored.\n```sh\nyarn lint --scope=\u003cname\u003e\n```\n\n## License\nSee the [LICENSE](./LICENSE) file for license rights and limitations (MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavideperozzi%2Fsmoovy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavideperozzi%2Fsmoovy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavideperozzi%2Fsmoovy/lists"}