UNPKG

@lottiefiles/relottie-stringify

Version:

relottie plugin to add support for serializing LAST

78 lines (47 loc) 2 kB
# relottie-stringify ![npm](https://img.shields.io/npm/v/@lottiefiles/relottie-stringify) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/%40lottiefiles%2Frelottie-stringify) ![npm](https://img.shields.io/npm/dt/%40lottiefiles/relottie-stringify) ![npm](https://img.shields.io/npm/l/@lottiefiles/relottie-stringify) Compiler for [unified]. Serializes [last] syntax trees to LottieJSON ## Use ```sh yarn add @lottiefiles/relottie-stringify ``` ```ts import { unified } from 'unified'; import { visit } from 'unist-util-visit'; import type { Attribute } from '@lottiefiles/last'; import relottieParse from '@lottiefiles/relottie-parse'; import relottieStringify from '@lottiefiles/relottie-stringify'; const processor = unified().use(relottieParse).use(relottieStringify); const tree = processor.parse('{"v":"5.5.7"}'); visit(tree, 'attribute', (node: Attribute) => { node.key = 'new_v'; }); const output = processor.stringify(tree); ``` `output` will equal ```json {"new_v":"5.5.7"} ``` ## dotLottie You can use [dotLottie.js] for converting a LottieJSON into `.lottie` format ## Security As last properties can have [expressions][], and improper use of **last** can open you up to cross-site scripting [cross-site scripting (XSS)][XSS]. Carefully assess each plugin and the risks involved in using them. ## Contribute Any contributions are welcome. ## Acknowledgments * [unified][] * [momoa][] * [lottie-docs][lottie-docs] ## Legal [License](license) © [LottieFiles][lottiefiles] [last]: https://github.com/LottieFiles/relottie/tree/main/packages/last [momoa]: https://github.com/humanwhocodes/momoa [LottieFiles]: https://github.com/LottieFiles [lottie-docs]: https://lottiefiles.github.io/lottie-docs/ [unified]: https://github.com/unifiedjs/unified [dotLottie.js]: https://github.com/dotlottie/dotlottie-js [expressions]: https://lottiefiles.github.io/lottie-docs/expressions/#expressions [xss]: https://en.wikipedia.org/wiki/Cross-site_scripting