Comments (6)
It sounds like you want to make a preset?
If so https://github.com/wooorm/remark-preset-wooorm gives an example of how that can look
from unified.
Yeah, this is intentional. First the plugins are added to a list, and not called yet. Only when they are needed, they are called, at which point your anonymous plugin adds plugin1
also to the list.
from unified.
I see. So what is the proper way for a plugin to push many transformers onto the stack?
from unified.
function myPlugin()
return function manyTransforms(tree, file) {
transformOne(tree, file)
transformTwo(tree, file)
}
}
from unified.
To use your example above, transformOne
is the actual transform function and not the plugin, right? So to do with plugins, I would do
function myPlugin(){
return (tree, file) => {
plugin1()(tree, file)
plugin2()(tree, file)
}
}
?
And if the transform returned a new tree instead of mutating the existing tree, I assume that would need to be manually accounted for?
from unified.
If you have multiple transforms, do what I did, not what you do.
If you have multiple plugins, use a preset as Christian points out, not what you do.
If transforms return things, you have to handle that.
This all seems like an XY problem. You are asking about a solution and not about your problem. Perhaps you can formulate your question in more words.
from unified.
Related Issues (20)
- Update vfile to 4.2.1 HOT 1
- Logo not readable on github dark mode HOT 1
- Next major for the ecosystem HOT 46
- Dependencies need to be ESM HOT 6
- 3rd overload signature of `FrozenProcessor.run` should accept `ParseTree` instead of `CompileTree` HOT 5
- Support async compilers HOT 31
- Rethink how `*-stringify` should work HOT 16
- Throw on preset w/ neither `settings` nor `plugins` HOT 1
- unify AST types HOT 1
- Support `Node` typeParam in `Pluggable` and `PluggableList` HOT 9
- Notion Block AST HOT 4
- Error: No overload matches this call after library update. HOT 5
- Type errors on new major version → 11.0.2 HOT 5
- TypeScript error when doing simple unified markdown pipeline HOT 3
- CallableInstance throws error in older ECMA 5 targets HOT 6
- examples of tools? HOT 4
- Make VFileContents generic to support processors that return objects HOT 3
- tsc reports incorrect / missing types HOT 14
- VFile types do not support property result HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unified.