📝 The Minimum Implementation of Design Pattern, Framework, Infrastructure and Library in Front-End.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Tiny All Over The World


What I want to do is to achieve the simple and tiny version of the most Front-End frameworks and libraries with non-based. In the process of implementation to understand the core principles of them.

Feel free to create an issue, report bugs, discussion or create a Pull Request.

If you think this project is helpful to you or want to support me to continue. You can donate through the following ways.

Build Status Dependency Status devDependency Status All Contributors platform


├── asynchronous
│   ├── co
│   ├── deferred
│   └── eventproxy
├── design-pattern
│   ├── decorator
│   ├── iterator
│   ├── observable
│   └── singleton
├── fastify
│   └── json-stringify
├── framework
│   ├── angular
│   ├── node
│   └── react
├── immutable
│   ├── immer
│   ├── immutable.js
│   └── seamless-immutable
├── infrastructure
│   ├── package-manager
│   └── require
├── library
│   ├── callbacks
│   ├── redux
│   ├── reselect
│   └── router
└── template-engines
    └── ejs


What's the meaning of non-based

In another word, non-based equals to each project has no dependencies package from third party.

At the beginning of looking other people's code, I often meet some packages that I don't even used or heard before. In order to keep looking at what the author did, I must need a brief look at the usage of this package. That really slowly my enthusiasm. I admit that the node package management is indeed a rich variety, but in the learning process need to add more learning costs.

So in this project, each tiny project doesn't have any third-party dependencies, all of the code in their own scope which can be more convenient to review and learn.

Can I use it in production

No, you can't.

Most open source projects are filled with a lot of Glue Code, such as the judgment of some configuration items and some types of boundary processing. Even some of the framework or library core code only a few dozen lines, the purpose of tiny-all-over-the-world is to remove useless parameters and boundaries to judge, leaving only the core part.

In the actual production environment, you may need to encapsulate according to different business scenarios. If you have the ability to distinguish between right and wrong, then you can re-package based on this project and use, if not, then my answer is The Best Do Not Use, only use it as a learning communication tool.

I really like this project, where should I start

Actually, my anwser is anywhere. The purpose of this project is to allow you to understand the internal implementation of some of the frameworks you are using every day. They are not dependent on each other, each framework or library is an independent entity, you can choose your favorite or your interested in and start.



💻 📖 ⚠️

Chang Yan



GPL V3.0

Buy Me Coffee

  • Common Currency
  • Digital Currency