# Formatted Function Node with separate JS files

**URL:** https://discourse.nodered.org/t/formatted-function-node-with-separate-js-files/1760
**Category:** Feature Requests
**Created:** [23 July 2018 12:54 UTC](https://discourse.nodered.org/t/formatted-function-node-with-separate-js-files/1760 "2018-07-23T12:54:48Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)
#### Post date: [23 July 2018 13:10 UTC](https://discourse.nodered.org/t/formatted-function-node-with-separate-js-files/1760/2 "2018-07-23T13:10:41Z")

</div>

Hi @Grendel61

I'm aware of this issue and would like to find a way to play more nicely with comparing changes to individual node properties.

The problem is JSON does not support line-breaks within a property value - so if we didn't escape line breaks, it would no longer be valid JSON.

There are extensions to JSON that support line breaks, such as [https://json5.org/](https://json5.org/) - but by virtue of being non-standard extensions they reduce portability of the the flow file.

We know of some users who have implemented a YAML-based storage plugin to Node-RED to help address this - although this predates the Projects feature and you can't have a custom storage plugin _and_ use the Projects feature.

But this is an area we want to look at. For example, allowing a flow to be split into multiple files. Or saving in an alternative format that does support linebreaks, such as YAML.

---

_[View the full topic](https://discourse.nodered.org/t/formatted-function-node-with-separate-js-files/1760)._
