Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mrmlnc/emitty
A platform for finding dependencies between files and building tools for incremental compilation or build.
https://github.com/mrmlnc/emitty
inheritance jade less nunjucks performance postcss posthtml pug scss stylus
Last synced: 3 months ago
JSON representation
A platform for finding dependencies between files and building tools for incremental compilation or build.
- Host: GitHub
- URL: https://github.com/mrmlnc/emitty
- Owner: mrmlnc
- License: mit
- Created: 2016-11-25T14:26:29.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2020-01-17T07:40:20.000Z (about 5 years ago)
- Last Synced: 2024-04-14T06:36:00.943Z (9 months ago)
- Topics: inheritance, jade, less, nunjucks, performance, postcss, posthtml, pug, scss, stylus
- Language: TypeScript
- Homepage:
- Size: 123 KB
- Stars: 65
- Watchers: 4
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE-OF-CONDUCT.md
Awesome Lists containing this project
README
# emitty
> Monorepo for @emitty.
## What is @emitty?
A platform for finding dependencies between files and building tools for incremental compilation or build.
## Why does this project exist?
Most HTML and CSS preprocessors use a synchronous API to access file system and don't use cache for already read files.
It degrades performance and increases the time required to compile the code.Also, when your project is very large and has a large number of dependencies between components (e.g. many imports) — compiles all files of a project may take seconds or even minutes. This is unacceptable if you are working with a "watch" mode.
This monorepo contains tools that allows you to compile only those files that depend on the changed file and require compilation.
For example, if you have the following files:
```js
templates/
├── home.pug // include components/header
├── news.pug // include components/header
└── components/
└── header.pug
```If you change the `home.pug` file, then will be compiled only it. If you change the `components/header.pug` file, then will be compiled `home.pug` and `news.pug` files.
## How to use it?
For details on how to configure the tools, see the [`@emitty/core`](./packages/core) documentation.
## Packages
* [`core`](./packages/core) — Package to find dependencies between files.
## Languages
* [Nunjucks](./packages/language-nunjucks)
* [PostHTML](./packages/language-posthtml)
* [Pug](./packages/language-pug)
* [Less](./packages/language-less)
* [SCSS](./packages/language-scss)## Want to report a bug or request a feature?
Please read through our [CONTRIBUTING.md](.github/CONTRIBUTING.md).
## Want to contribute to @emitty?
Check out our [CONTRIBUTING.md](.github/CONTRIBUTING.md) to get started with setting up the repo.