πŸ“ The Minimum Implementation of Design Pattern, Framework, Infrastructure and Library in Front-End.
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode fix(typo): fix the wrong type before, associate the all-contributorsr… Jan 31, 2018
assets tweak(assets): add paypal recevie qrcode & add digital currency address Jan 28, 2018
asynchronous tweak(code-style): fix all code style issue because of the eslint Jan 28, 2018
design-pattern tweak(code-style): fix all code style issue because of the eslint Jan 28, 2018
fastify/json-stringify tweak(code-style): fix all code style issue because of the eslint Jan 28, 2018
framework tweak(code-style): fix all code style issue because of the eslint Jan 28, 2018
immutable tweak(code-style): fix all code style issue because of the eslint Jan 28, 2018
infrastructure tweak(code-style): fix all code style issue because of the eslint Jan 28, 2018
library refactor(reselect): refactor reselect to use jest Jan 31, 2018
template-engines/ejs fix(test): change the test file pattern to fix the `yarn test` command Jan 31, 2018
.all-contributorsrc chore(readme): update contributors list manually Jan 31, 2018
.eslintignore feat(eslint): start eslint at the root config to construct project Jan 28, 2018
.eslintrc.yml feat(eslint): start eslint at the root config to construct project Jan 28, 2018
.gitignore feat(jest): replace the test framework to jest Jan 29, 2018
.lintstagedrc tweak(lint-staged): move out the lint-staged config Jan 31, 2018
.travis.yml refactor(autobuild): remove the autobuild script Jan 31, 2018
LICENSE Initial commit Sep 20, 2017
README.ZH-CN.md feat(chinese-doc): add chinese readme and link between english mode a… Jan 31, 2018
README.md feat(chinese-doc): add chinese readme and link between english mode a… Jan 31, 2018
jest.config.js fix(test): change the test file pattern to fix the `yarn test` command Jan 31, 2018
package.json tweak(format): associate the lint-staged and contributor rc config to… Jan 31, 2018
yarn.lock feat(travis): add travis-ci for auto generate contributors list Jan 30, 2018

README.md

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