Skip to content

Write Everything in JavaScript under 100 Lines!!!:smiling_imp:

License

Notifications You must be signed in to change notification settings

loatheb/100-lines-of-code-challenge-js

Repository files navigation

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

Structure

.
├── 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

FAQ

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.

Contributors


zhao.zhang

💻 📖 ⚠️

Chang Yan

💻

License

GPL V3.0

Buy Me Coffee

  • Common Currency
  • Digital Currency