{"id":13798192,"url":"https://github.com/xwartz/PupaFM","last_synced_at":"2025-05-13T05:31:57.881Z","repository":{"id":57171436,"uuid":"54044585","full_name":"xwartz/PupaFM","owner":"xwartz","description":"🎵 douban.fm Music Desktop Player","archived":true,"fork":false,"pushed_at":"2018-01-03T07:28:38.000Z","size":1456,"stargazers_count":331,"open_issues_count":3,"forks_count":59,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-07-24T10:10:04.031Z","etag":null,"topics":["douban","electron","react","redux"],"latest_commit_sha":null,"homepage":"https://github.com/xwartz/PupaFM","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/xwartz.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":"2016-03-16T15:38:15.000Z","updated_at":"2024-06-18T09:41:10.000Z","dependencies_parsed_at":"2022-08-27T12:02:13.423Z","dependency_job_id":null,"html_url":"https://github.com/xwartz/PupaFM","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xwartz%2FPupaFM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xwartz%2FPupaFM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xwartz%2FPupaFM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xwartz%2FPupaFM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xwartz","download_url":"https://codeload.github.com/xwartz/PupaFM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":213867517,"owners_count":15649764,"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":["douban","electron","react","redux"],"created_at":"2024-08-04T00:00:40.204Z","updated_at":"2024-08-04T00:02:24.596Z","avatar_url":"https://github.com/xwartz.png","language":"JavaScript","funding_links":[],"categories":["Apps"],"sub_categories":["Video/Music","Open Source"],"readme":"## PupaFM\n![screen](./screen.png)\n\n[douban.fm](https://douban.fm) Music Desktop Player.\n\n[![Build Status](https://travis-ci.org/xwartz/PupaFM.svg?branch=master)](https://travis-ci.org/xwartz/PupaFM)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/)\n[![Dependency Status](https://david-dm.org/xwartz/PupaFM.svg?style=flat-square)](https://david-dm.org/xwartz/PupaFM)\n[![MIT Licensed](https://img.shields.io/badge/License-MIT-blue.svg?style=flat)](https://opensource.org/licenses/MIT)\n\n### [中文说明](./README_ZH.md)\n\n## based on\n\n![based on](./erb-logo.png)\n\n1. Framework: [Electron](http://electron.atom.io/)\n2. Bundler: [Webpack](http://webpack.github.io/docs/),\n[Babel](https://babeljs.io), \n[electron-builder](https://github.com/electron-userland/electron-builder)\n3. Language: [ES2015](https://babeljs.io/docs/learn-es2015/), [Sass](http://sass-lang.com/)\n4. Library: [React](https://facebook.github.io/react/), [Redux](https://github.com/reactjs/redux),\n[React Router](https://github.com/reactjs/react-router),\n[React Hot Loader](https://github.com/gaearon/react-hot-loader),\n[Redux Thunk](https://github.com/gaearon/redux-thunk)\n5. Lint: [ESLint](http://eslint.org/)\n\n## Release Page\n[Releases](https://github.com/xwartz/PupaFM/releases)\n\n## Development\n\n![based on](./dev.png)\n\n### Redux DevTools\nSee [redux-devtools-dock-monitor](https://github.com/gaearon/redux-devtools-dock-monitor) for more information.\n\n### Install\n\nFirst, clone the repo via git:\n\n```bash\ngit clone git@github.com:xwartz/PupaFM.git\n```\n\nAnd then install dependencies.\n\n```bash\n$ cd PupaFM \u0026\u0026 npm i\n```\n\n### run\n\n```bash\n$ npm run hot-server\n$ npm run hot-start\n```\n\nor enable watch with pm2 [eco.json](./eco.json)\n\n```bash\n$ npm start\n$ npm stop\n$ npm restart\n```\n\n## Package\n\n```bash\n$ npm run compile\n$ npm run pack\n```\n\nor just run package\n\n```bash\n$ npm run package\n```\n\n## Build installer App\n\nBy default build for current platform and current arch.\n\n```bash\n$ npm run builder\n```\n\nBuild app for Windows\n\n```bash\n$ npm run builder:win\n```\n\nBuild app for Linux\n\n```bash\n$ npm run builder:linux\n```\n\n\n## Note\nBefore runing `package` or `builder`, you should read [electron-builder docs](https://github.com/electron-userland/electron-builder#readme) and checkout [Code Signing](https://github.com/electron-userland/electron-builder#code-signing)\n\n## Contribution\n\nFollow this [code style](./.eslintrc.js)\n\n```bash\n$ npm install\n# install pre-commit lint hook\n$ npm run install-hook\n```\n\n## License\nMIT © [xwartz](https://github.com/xwartz)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxwartz%2FPupaFM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxwartz%2FPupaFM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxwartz%2FPupaFM/lists"}