{"id":18068785,"url":"https://github.com/sunny-117/mini-anything","last_synced_at":"2025-03-14T16:07:04.520Z","repository":{"id":65304013,"uuid":"588435283","full_name":"Sunny-117/mini-anything","owner":"Sunny-117","description":"🚀 Explore the source code of the front-end library and implement a super mini version 前端轮子库，包含框架及其周边生态、工具链、插件迷你源码实现","archived":false,"fork":false,"pushed_at":"2025-03-14T09:03:10.000Z","size":8721,"stargazers_count":117,"open_issues_count":1,"forks_count":12,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-14T10:22:19.069Z","etag":null,"topics":["hooks","pinia","plugins","react","vite","vuejs","vuex","webpack"],"latest_commit_sha":null,"homepage":"https://sunny-117.github.io/mini-anything","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sunny-117.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-01-13T05:28:00.000Z","updated_at":"2025-03-14T09:03:13.000Z","dependencies_parsed_at":"2023-02-17T15:31:07.905Z","dependency_job_id":"28d85d48-58bf-4760-80d6-de9f6b17e11e","html_url":"https://github.com/Sunny-117/mini-anything","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sunny-117%2Fmini-anything","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sunny-117%2Fmini-anything/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sunny-117%2Fmini-anything/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sunny-117%2Fmini-anything/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sunny-117","download_url":"https://codeload.github.com/Sunny-117/mini-anything/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243606859,"owners_count":20318314,"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":["hooks","pinia","plugins","react","vite","vuejs","vuex","webpack"],"created_at":"2024-10-31T08:07:46.230Z","updated_at":"2025-03-14T16:07:04.490Z","avatar_url":"https://github.com/Sunny-117.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eWelcome to mini-anything 👋\u003c/h1\u003e\n\u003cp\u003e\n  \u003cimg alt=\"Version\" src=\"https://img.shields.io/badge/version-0.0.1-blue.svg?cacheSeconds=2592000\" /\u003e\n  \u003ca href=\"https://sunny-117.github.io/mini-anything/\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Documentation\" src=\"https://img.shields.io/badge/documentation-yes-brightgreen.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://opensource.org/licenses/MIT\" target=\"_blank\"\u003e\n    \u003cimg alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003e 🚀 mini-anything 是一个集合了前端领域的各种迷你版本的库，方便前端学习者学习，探索前端源码。里面的库是原库的超级迷你版本，只包含原库的主流程，不包含边界 case，所以建议仅学习使用，请勿用于生产环境\n\n### 🏠 [Homepage](https://github.com/Sunny-117/mini-anything)\n\n# documentation\n\n## 框架\n\n\u003e 由于 Vue, React 较为复杂，mini-vue 和 mini-react 在其他仓库\n\n✅ mini-vue3\n\nhttps://github.com/sunny-117/tiny-vue\n\n✅ mini-vue2\n\nhttps://github.com/sunny-117/mini-vue2\n\n✅ mini-react\n\nhttps://github.com/sunny-117/tiny-react\n\n✅ mini-react-hooks\n\n✅ mini-vue-reactivity\n\n\n## Vue 生态\n\n✅ mini-vue-router3\n\n✅ mini-vuex4\n\n✅ mini-mini-vuex3 100 行写一个 vuex\n\n✅ mini-pinia\n\n✅ mini-mini-pinia 40 行写一个 pinia\n\n✅ mini-pinia-ts 最接近官方的 pinia 实现\n\n## React 生态\n\n✅ mini-react-router4\n\n✅ mini-react-router5\n\n✅ mini-redux\n\n✅ connected-react-router\n\n✅ mini-react-redux\n\n✅ mini-redux-promise\n\n✅ mini-redux-thunk\n\n✅ mini-redux-saga\n\n✅ mini-recoil\n\n## 工具链\n\n✅ mini-create-react-app-template\n\n## 上层框架\n\n✅ mini-dva\n\n✅ mini-umi\n\n✅ mini-plugin-dva-loading\n\n✅ mini-formily\n\nhttps://github.com/Sunny-117/mini-formily\n\n## 工程化\n\n✅ mini-webpack\n\n- 最接近源码的实现：https://github.com/sunny-117/jspack\n\n- 简化版 mini-webpack-loader-plugins\n\n- 极简版（适合新手）：https://github.com/Sunny-117/mini-webpack\n\n✅ mini-vite\n\n- 最接近源码的实现：https://github.com/Sunny-117/tiny-vite\n\n- 简化版：https://github.com/Sunny-117/mini-vite\n\n✅ mini-rollup\n\n详见：https://github.com/Sunny-117/cherry\n\n✅ mini-jest\n\n迷你单元测试框架\n\n## 工具库\n\n✅ mini-axios\n\n✅ mini-nodemon\n\n✅ mini-express\n\n✅ mini-koa\n\nTODO: [mini-mitt](https://github.com/developit/mitt)\n\n## 插件\n\n✅ vite 插件\n\nhttps://github.com/sunny-117/vite-plugins\n\n✅ rollup plugin\n\nhttps://github.com/Sunny-117/rollup-core-plugins\n\n✅ esbuild plugin\n\nhttps://github.com/Sunny-117/esbuild-book\n\n## 状态管理\n\n✅ mini-mobx\n\n✅ mini-zustand\n\n## 编译器\n\n✅ parse\u0026codegen\u0026compiler\n\nhttps://github.com/Sunny-117/tiny-complier\n\n\u003ch2\u003e💼 repo\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead align=\"center\"\u003e\n    \u003ctr\u003e\n      \u003cth\u003elogo\u003c/th\u003e\n      \u003cth\u003e迷你项目名称\u003c/th\u003e\n      \u003cth\u003e简述\u003c/th\u003e\n      \u003cth\u003e技术\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody align=\"center\"\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\n        \u003ca href=\"#\" target=\"_blank\"\u003e\n        \u003cimg src=\"./img/mini-vue.png\" width=\"50\" align=\"center\"/\u003e\n        \u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e\n        \u003ca href=\"\" target=\"_blank\"\u003emini-vue3\u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e⚡️ vue3 核心包: reactivity, compile, runtime\u003c/th\u003e\n      \u003cth\u003e\n        \u003cimg src=\"https://img.shields.io/badge/TypeScript-007ACC?style=flat-square\u0026amp;logo=typescript\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Node.js-43853D?style=flat-square\u0026amp;logo=node.js\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n      \u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\n        \u003ca href=\"\" target=\"_blank\"\u003e\n        \u003cimg src=\"./img/mini-react.png\" width=\"50\" align=\"center\"/\u003e\n        \u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e\n        \u003ca href=\"\" target=\"_blank\"\u003emini-react\u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e🦋 React 核心包: core, scheduler, reconciler\u003c/th\u003e\n      \u003cth\u003e\n        \u003cimg src=\"https://img.shields.io/badge/TypeScript-007ACC?style=flat-square\u0026amp;logo=typescript\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Node.js-43853D?style=flat-square\u0026amp;logo=node.js\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Babel-F9DC3e?style=for-the-badge\u0026amp;logo=babel\u0026amp;logoColor=black\" alt=\"badge\"\u003e\n      \u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\n        \u003ca href=\"#\" target=\"_blank\"\u003e\n         \u003cimg src=\"./img/mini-vue.png\" width=\"50\" align=\"center\"/\u003e\n        \u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e\n        \u003ca href=\"#\" target=\"_blank\"\u003eVue Router3\u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e🐝 Vue 路由 version: 3\u003c/th\u003e\n      \u003cth\u003e\n        \u003cimg src=\"https://img.shields.io/badge/TypeScript-007ACC?style=flat-square\u0026amp;logo=typescript\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Node.js-43853D?style=flat-square\u0026amp;logo=node.js\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n      \u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\n        \u003ca href=\"#\" target=\"_blank\"\u003e\n         \u003cimg src=\"./img/mini-vue.png\" width=\"50\" align=\"center\"/\n        \u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e\n        \u003ca href=\"#\" target=\"_blank\"\u003eVuex\u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e✨ Vuex 迷你实现\u003c/th\u003e\n      \u003cth\u003e\n        \u003cimg src=\"https://img.shields.io/badge/TypeScript-007ACC?style=flat-square\u0026amp;logo=typescript\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Node.js-43853D?style=flat-square\u0026amp;logo=node.js\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n      \u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\n        \u003ca href=\"#\" target=\"_blank\"\u003e\n        \u003cimg src=\"./img/pinia.svg\" width=\"50\" align=\"center\" height=\"50\"/\n        \u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e\n        \u003ca href=\"https://github.com/sunny-117unxlsx\" target=\"_blank\"\u003emini-pinia\u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e🌸 Pinia 您将喜欢使用的 Vue 存储库\u003c/th\u003e\n      \u003cth\u003e\n        \u003cimg src=\"https://img.shields.io/badge/TypeScript-007ACC?style=flat-square\u0026amp;logo=typescript\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Node.js-43853D?style=flat-square\u0026amp;logo=node.js\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n      \u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\n        \u003ca href=\"#\" target=\"_blank\"\u003e\n        \u003cimg src=\"./img/ahooks.svg\" width=\"50\" align=\"center\" height=\"50\"/\n        \u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e\n        \u003ca href=\"#\" target=\"_blank\"\u003eahooks\u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e🦄 一套高质量可靠的 React Hooks 库\u003c/th\u003e\n      \u003cth\u003e\n        \u003cimg src=\"https://img.shields.io/badge/TypeScript-007ACC?style=flat-square\u0026amp;logo=typescript\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/React-20232A?style=flat-square\u0026amp;logo=react\u0026amp;logoColor=61DAFB\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/React_Router-CA4245?style=flat-square\u0026amp;logo=react-router\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Redux-593D88?style=flat-square\u0026amp;logo=redux\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n      \u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\n        \u003ca href=\"https://github.com/HaiyaoTec/heimdall-ts\" target=\"_blank\"\u003e\n        \u003cimg src=\"./img/react-router.png\" width=\"50\"  alt=\"\"/\u003e\n        \u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e\n        \u003ca href=\"#\" target=\"_blank\"\u003ereact-router\u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e🏎 React 中的路由\u003c/th\u003e\n      \u003cth\u003e\n        \u003cimg src=\"https://img.shields.io/badge/TypeScript-007ACC?style=flat-square\u0026amp;logo=typescript\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Node.js-43853D?style=flat-square\u0026amp;logo=node.js\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n      \u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\n        \u003ca href=\"https://mini-spotify-rose.vercel.app/\" target=\"_blank\"\u003e\n        \u003cimg src=\"./img/redux.svg\" width=\"50\" height=\"50\" /\u003e\n        \u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e\n        \u003ca href=\"#\" target=\"_blank\"\u003eRedux\u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e🎸 JavaScript 状态容器，提供可预测化的状态管理\u003c/th\u003e\n      \u003cth\u003e\n        \u003cimg src=\"https://img.shields.io/badge/TypeScript-007ACC?style=flat-square\u0026amp;logo=typescript\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Next.js-black?style=flat-square\u0026amp;logo=next.js\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=flat-square\u0026amp;logo=tailwind-css\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n      \u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\n        \u003ca href=\"https://github.com/sunny-117toy-browser\" target=\"_blank\"\u003e\n            \u003cimg src=\"./img/redux.svg\" width=\"50\" height=\"50\" alt=\"\"/\u003e\n        \u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e\n        \u003ca href=\"#\" target=\"_blank\"\u003eredux-thunk\u003c/a\u003e\n      \u003c/th\u003e\n      \u003cth\u003e🌍 Thunk middleware for Redux^_^\u003c/th\u003e\n      \u003cth\u003e\n        \u003cimg src=\"https://img.shields.io/badge/JavaScript-F7DF1E?style=flat-square\u0026amp;logo=javascript\u0026amp;logoColor=black\" alt=\"badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Node.js-43853D?style=flat-square\u0026amp;logo=node.js\u0026amp;logoColor=white\" alt=\"badge\"\u003e\n      \u003c/th\u003e\n    \u003c/tr\u003e\n    \n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n![mmexport1728274142812](https://github.com/user-attachments/assets/40098184-7947-48e4-90c9-160e2d62c587)\n\n\n🖥 Environment Suppor\n\n- Modern browsers\n- NodeJS\n\n\n## Author\n\n👤 **sunny-117**\n\n- Website: https://sunny-117.github.io/blog/\n- Github: [@sunny-117](https://github.com/sunny-117)\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome!\u003cbr /\u003eFeel free to check [issues page](https://github.com/Sunny-117/mini-anything/issues). You can also take a look at the [contributing guide](https://github.com/Sunny-117/mini-anything/blob/main/CONTRIBUTING.md).\n\n## Show your support\n\nGive a ⭐️ if this project helped you!\n\n## 📝 License\n\nCopyright © 2023 [sunny-117](https://github.com/sunny-117).\u003cbr /\u003e\nThis project is [MIT](https://opensource.org/licenses/MIT) licensed.\n\n---\n\n_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunny-117%2Fmini-anything","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunny-117%2Fmini-anything","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunny-117%2Fmini-anything/lists"}