{"id":16701078,"url":"https://github.com/scriptex/npm-maintainer","last_synced_at":"2025-06-27T19:32:13.293Z","repository":{"id":38390263,"uuid":"310605756","full_name":"scriptex/npm-maintainer","owner":"scriptex","description":"Web component which shows statistics for a user in NPM","archived":false,"fork":false,"pushed_at":"2025-03-06T04:21:58.000Z","size":119,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-04T00:12:32.677Z","etag":null,"topics":["npm-stats","statistics","web-component"],"latest_commit_sha":null,"homepage":"https://npm-maintainer.atanas.info/","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/scriptex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"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},"funding":{"github":["scriptex"],"patreon":"atanas","open_collective":null,"ko_fi":"scriptex","tidelift":null,"community_bridge":null,"liberapay":"scriptex","issuehunt":"scriptex","otechie":null,"custom":["paypal.me/scriptex","revolut.me/scriptex"]}},"created_at":"2020-11-06T13:32:43.000Z","updated_at":"2025-03-06T04:22:01.000Z","dependencies_parsed_at":"2023-09-25T10:26:03.783Z","dependency_job_id":"a84ed214-92ee-40d4-af78-dce80626536c","html_url":"https://github.com/scriptex/npm-maintainer","commit_stats":{"total_commits":52,"total_committers":3,"mean_commits":"17.333333333333332","dds":0.5384615384615384,"last_synced_commit":"6fd0c703fcbbb3f105316659ecc3cbbe087ebe66"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":"scriptex/initial-commit","purl":"pkg:github/scriptex/npm-maintainer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptex%2Fnpm-maintainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptex%2Fnpm-maintainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptex%2Fnpm-maintainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptex%2Fnpm-maintainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scriptex","download_url":"https://codeload.github.com/scriptex/npm-maintainer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptex%2Fnpm-maintainer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262319021,"owners_count":23292997,"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":["npm-stats","statistics","web-component"],"created_at":"2024-10-12T18:28:29.178Z","updated_at":"2025-06-27T19:32:13.244Z","avatar_url":"https://github.com/scriptex.png","language":"TypeScript","readme":"[![Github Build](https://github.com/scriptex/npm-maintainer/workflows/Build/badge.svg)](https://github.com/scriptex/npm-maintainer/actions?query=workflow%3ABuild)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/34d3d75710534dc6a38c3584a1dcd068)](https://www.codacy.com/gh/scriptex/npm-maintainer/dashboard?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=scriptex/npm-maintainer\u0026utm_campaign=Badge_Grade)\n[![Codebeat Badge](https://codebeat.co/badges/d765a4c8-2c0e-44f2-89c3-fa364fdc14e6)](https://codebeat.co/projects/github-com-scriptex-npm-maintainer-master)\n[![CodeFactor Badge](https://www.codefactor.io/repository/github/scriptex/npm-maintainer/badge)](https://www.codefactor.io/repository/github/scriptex/npm-maintainer)\n[![DeepScan grade](https://deepscan.io/api/teams/3574/projects/5257/branches/40799/badge/grade.svg)](https://deepscan.io/dashboard#view=project\u0026tid=3574\u0026pid=5257\u0026bid=40799)\n[![Analytics](https://ga-beacon-361907.ew.r.appspot.com/UA-83446952-1/github.com/scriptex/npm-maintainer/README.md?pixel)](https://github.com/scriptex/npm-maintainer/)\n\n# NPM Maintainer\n\n\u003e Statistics for a NPM user. See the demo [here](https://npm-maintainer.atanas.info/)\n\nA web component which shows various statistics for a user in the NPM database.\n\n## Visitor stats\n\n![GitHub stars](https://img.shields.io/github/stars/scriptex/npm-maintainer?style=social)\n![GitHub forks](https://img.shields.io/github/forks/scriptex/npm-maintainer?style=social)\n![GitHub watchers](https://img.shields.io/github/watchers/scriptex/npm-maintainer?style=social)\n![GitHub followers](https://img.shields.io/github/followers/scriptex?style=social)\n\n## Code stats\n\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/scriptex/npm-maintainer)\n![GitHub repo size](https://img.shields.io/github/repo-size/scriptex/npm-maintainer?style=plastic)\n![GitHub language count](https://img.shields.io/github/languages/count/scriptex/npm-maintainer?style=plastic)\n![GitHub top language](https://img.shields.io/github/languages/top/scriptex/npm-maintainer?style=plastic)\n![GitHub last commit](https://img.shields.io/github/last-commit/scriptex/npm-maintainer?style=plastic)\n\n## Install\n\n```sh\nnpm i npm-maintainer\n\n#or\n\nyarn add npm-maintainer\n```\n\n## Usage\n\n```js\n// In your JS entrypoint\nimport 'npm-maintainer';\n```\n\n```html\n\u003c!-- In your HTML file --\u003e\n\n\u003cnpm-maintainer\n\tuser=\"scriptex\"\n\terror=\"An unknown error occurred. Please try again later.\"\n\tloading=\"Loading data from NPM...\"\n\u003e\u003c/npm-maintainer\u003e\n```\n\n## Attributes\n\n| Name      | Type     | Required | Default               | Description                        |\n| --------- | -------- | -------- | --------------------- | ---------------------------------- |\n| `user`    | `string` | true     | ''                    | The user name from NPM             |\n| `error`   | `string` | false    | 'Error loading data.' | Message shown when an error occurs |\n| `loading` | `string` | false    | 'Loading data...'     | Message shown when loading data    |\n\n## Styling\n\nThe `npm-maintainer` Web Component utilizes the [`::part()`](https://developer.mozilla.org/en-US/docs/Web/CSS/::part) pseudo-element. In order to add custom styles, you should use the corresponding parts of the components:\n\n-   `error` - The element which shows the error message\n-   `loading` - The element which shows the loading message\n-   `content` - The element which shows the data table\n-   `table` - The \u0026lt;table\u0026gt; itself\n-   `thead` - The \u0026lt;thead\u0026gt; element\n-   `thead`-row - The \u0026lt;tr\u0026gt; inside the \u0026lt;thead\u0026gt; element\n-   `tbody` - The \u0026lt;tbody\u0026gt; element\n-   `tbody`-row - The \u0026lt;tr\u0026gt; inside the \u0026lt;tbody\u0026gt; element\n-   `th` - the \u0026lt;th\u0026gt; elements\n-   `td` - the \u0026lt;td\u0026gt; elements\n\nHere is an example:\n\n```css\nnpm-maintainer {\n\tdisplay: block;\n}\n\nnpm-maintainer::part(error),\nnpm-maintainer::part(loading) {\n\ttext-align: center;\n\tmin-height: 75vh;\n\tdisplay: flex;\n\talign-items: center;\n\talign-content: center;\n\tjustify-content: center;\n}\n\nnpm-maintainer::part(error) {\n\tcolor: red;\n}\n\nnpm-maintainer::part(table) {\n\twidth: 100%;\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\nnpm-maintainer::part(th),\nnpm-maintainer::part(td) {\n\tpadding: 0.25rem;\n\tborder: 1px solid;\n}\n\nnpm-maintainer::part(link) {\n\tcolor: inherit;\n\ttext-decoration: underline;\n}\n\nnpm-maintainer::part(link):hover {\n\ttext-decoration: none;\n}\n```\n\n## LICENSE\n\nMIT\n\n\u003cdiv align=\"center\"\u003eConnect with me:\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n\t\u003ca href=\"https://atanas.info\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://raw.githubusercontent.com/scriptex/socials/master/styled-assets/logo.svg\"\n\t\t\theight=\"20\"\n\t\t\talt=\"\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"mailto:hi@atanas.info\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://raw.githubusercontent.com/scriptex/socials/master/styled-assets/email.svg\"\n\t\t\theight=\"20\"\n\t\t\talt=\"\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://www.linkedin.com/in/scriptex/\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://raw.githubusercontent.com/scriptex/socials/master/styled-assets/linkedin.svg\"\n\t\t\theight=\"20\"\n\t\t\talt=\"\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://github.com/scriptex\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://raw.githubusercontent.com/scriptex/socials/master/styled-assets/github.svg\"\n\t\t\theight=\"20\"\n\t\t\talt=\"\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://gitlab.com/scriptex\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://raw.githubusercontent.com/scriptex/socials/master/styled-assets/gitlab.svg\"\n\t\t\theight=\"20\"\n\t\t\talt=\"\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://twitter.com/scriptexbg\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://raw.githubusercontent.com/scriptex/socials/master/styled-assets/twitter.svg\"\n\t\t\theight=\"20\"\n\t\t\talt=\"\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://www.npmjs.com/~scriptex\"\u003e\n\t\t\u003cimg src=\"https://raw.githubusercontent.com/scriptex/socials/master/styled-assets/npm.svg\" height=\"20\" alt=\"\" /\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://www.youtube.com/user/scriptex\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://raw.githubusercontent.com/scriptex/socials/master/styled-assets/youtube.svg\"\n\t\t\theight=\"20\"\n\t\t\talt=\"\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://stackoverflow.com/users/4140082/atanas-atanasov\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://raw.githubusercontent.com/scriptex/socials/master/styled-assets/stackoverflow.svg\"\n\t\t\theight=\"20\"\n\t\t\talt=\"\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://codepen.io/scriptex/\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://raw.githubusercontent.com/scriptex/socials/master/styled-assets/codepen.svg\"\n\t\t\twidth=\"20\"\n\t\t\talt=\"\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://profile.codersrank.io/user/scriptex\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://raw.githubusercontent.com/scriptex/socials/master/styled-assets/codersrank.svg\"\n\t\t\theight=\"20\"\n\t\t\talt=\"\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\t\u0026nbsp;\n\t\u003ca href=\"https://linktr.ee/scriptex\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://raw.githubusercontent.com/scriptex/socials/master/styled-assets/linktree.svg\"\n\t\t\theight=\"20\"\n\t\t\talt=\"\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\tSupport and sponsor my work:\n\t\u003cbr /\u003e\n\t\u003cbr /\u003e\n\t\u003ca\n\t\thref=\"https://twitter.com/intent/tweet?text=Checkout%20this%20awesome%20developer%20profile%3A\u0026url=https%3A%2F%2Fgithub.com%2Fscriptex\u0026via=scriptexbg\u0026hashtags=software%2Cgithub%2Ccode%2Cawesome\"\n\t\ttitle=\"Tweet\"\n\t\u003e\n\t\t\u003cimg src=\"https://img.shields.io/badge/Tweet-Share_my_profile-blue.svg?logo=twitter\u0026color=38A1F3\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://paypal.me/scriptex\" title=\"Donate on Paypal\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/badge/Donate-Support_me_on_PayPal-blue.svg?logo=paypal\u0026color=222d65\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://revolut.me/scriptex\" title=\"Donate on Revolut\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/scriptex/scriptex/master/badges/revolut.json\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://patreon.com/atanas\" title=\"Become a Patron\"\u003e\n\t\t\u003cimg\n\t\t\tsrc=\"https://img.shields.io/badge/Become_Patron-Support_me_on_Patreon-blue.svg?logo=patreon\u0026color=e64413\"\n\t\t/\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://ko-fi.com/scriptex\" title=\"Buy Me A Coffee\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/badge/Donate-Buy%20me%20a%20coffee-yellow.svg?logo=ko-fi\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://liberapay.com/scriptex/donate\" title=\"Donate on Liberapay\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/liberapay/receives/scriptex?label=Donate%20on%20Liberapay\u0026logo=liberapay\" /\u003e\n\t\u003c/a\u003e\n    \u003ca\n    \thref=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/scriptex/scriptex/master/badges/bitcoin.json\"\n    \ttitle=\"Donate Bitcoin\"\n    \u003e\n    \t\u003cimg\n    \t\tsrc=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/scriptex/scriptex/master/badges/bitcoin.json\"\n    \t/\u003e\n    \u003c/a\u003e\n    \u003ca\n    \thref=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/scriptex/scriptex/master/badges/etherium.json\"\n    \ttitle=\"Donate Etherium\"\n    \u003e\n    \t\u003cimg\n    \t\tsrc=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/scriptex/scriptex/master/badges/etherium.json\"\n    \t/\u003e\n    \u003c/a\u003e\n    \u003ca\n    \thref=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/scriptex/scriptex/master/badges/shiba-inu.json\"\n    \ttitle=\"Donate Shiba Inu\"\n    \u003e\n    \t\u003cimg\n    \t\tsrc=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/scriptex/scriptex/master/badges/shiba-inu.json\"\n    \t/\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n","funding_links":["https://github.com/sponsors/scriptex","https://patreon.com/atanas","https://ko-fi.com/scriptex","https://liberapay.com/scriptex","https://issuehunt.io/r/scriptex","paypal.me/scriptex","revolut.me/scriptex","https://paypal.me/scriptex","https://liberapay.com/scriptex/donate"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscriptex%2Fnpm-maintainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscriptex%2Fnpm-maintainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscriptex%2Fnpm-maintainer/lists"}