For more than a decade, Django's template system has been a model of stability and reliability. Its block and inheritance approach is simple, solid, and effective for many projects. Yet, when building user interfaces in a component-oriented style, its limitations become apparent. Another built-in backend, Jinja, extends these boundaries with macros and allows for more flexible templates. Yet, some projects demand even greater composability.
At the heart of webpack lies a powerful architecture built from numerous plugins working together in perfect harmony. These plugins communicate and coordinate through tapable hooks, forming the backbone of webpack's extensibility. Although originally developed for webpack, tapable is a standalone library designed for building hook-based systems with JavaScript. It allows to expose well-structured extension points using a publish/subscribe model, where subscribers “tap” into hooks and publishers “call” them when those hooks are triggered.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# MIT License | |
# | |
# Copyright (c) 2024 Ertuğrul Keremoğlu <ertugkeremoglu@gmail.com> | |
# | |
# Permission is hereby granted, free of charge, to any person obtaining a copy | |
# of this software and associated documentation files (the "Software"), to deal | |
# in the Software without restriction, including without limitation the rights | |
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
# copies of the Software, and to permit persons to whom the Software is | |
# furnished to do so, subject to the following conditions: |