{"_id":"multiline","_rev":"51-d3d118d53325377cfa2baef9d47583e3","name":"multiline","time":{"modified":"2023-06-16T22:40:05.072Z","created":"2013-05-31T22:22:14.826Z","0.0.0":"2013-05-31T23:05:01.913Z","0.1.0":"2014-03-05T20:31:10.837Z","0.2.0":"2014-03-10T00:20:57.759Z","0.3.0":"2014-03-29T14:46:37.105Z","0.3.1":"2014-04-06T22:50:28.424Z","0.3.2":"2014-04-06T23:05:42.957Z","0.3.3":"2014-04-29T23:16:19.857Z","0.3.4":"2014-04-30T22:32:47.046Z","1.0.0":"2014-08-17T18:52:28.489Z","1.0.1":"2014-10-03T22:16:17.497Z","1.0.2":"2015-01-10T19:51:57.964Z","2.0.0":"2018-10-14T11:34:27.832Z"},"description":"Multiline strings in JavaScript","readme":"# multiline [![Build Status](https://travis-ci.org/sindresorhus/multiline.svg?branch=master)](https://travis-ci.org/sindresorhus/multiline)\n\n> Multiline strings in JavaScript\n\nNo more string concatenation or array join!\n\n*Use ES2015 [template literals](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/template_strings) instead whenever possible.*\n\n#### Before\n\n```js\nconst str = '' +\n'<!doctype html>' +\n'<html>' +\n'\t<body>' +\n'\t\t<h1>❤ unicorns</h1>' +\n'\t</body>' +\n'</html>' +\n'';\n```\n\n#### After\n\n```js\nconst str = multiline(()=>{/*\n<!doctype html>\n<html>\n\t<body>\n\t\t<h1>❤ unicorns</h1>\n\t</body>\n</html>\n*/});\n```\n\n\n## How\n\nIt works by wrapping the text in a block comment, anonymous function, and a function call. The anonymous function is passed into the function call and the contents of the comment extracted.\n\nEven though it's [slower than string concat](http://jsperf.com/multiline), that shouldn't realistically matter as you can still do 2 million of those a second. Convenience over micro performance always.\n\n\n## Install\n\n```\n$ npm install multiline\n```\n\n\n## Usage\n\nEverything after the first newline and before the last will be returned as seen below:\n\n```js\nconst str = multiline(()=>{/*\n<!doctype html>\n<html>\n\t<body>\n\t\t<h1>❤ unicorns</h1>\n\t</body>\n</html>\n*/});\n```\n\nWhich outputs:\n\n```\n<!doctype html>\n<html>\n\t<body>\n\t\t<h1>❤ unicorns</h1>\n\t</body>\n</html>\n```\n\n### Strip indent\n\nYou can use `multiline.stripIndent()` to be able to indent your multiline string without preserving the redundant leading whitespace.\n\n```js\n\tconst str = multiline.stripIndent(()=>{/*\n\t\t\t<!doctype html>\n\t\t\t<html>\n\t\t\t\t<body>\n\t\t\t\t\t<h1>❤ unicorns</h1>\n\t\t\t\t</body>\n\t\t\t</html>\n\t*/});\n```\n\nWhich outputs:\n\n```\n<!doctype html>\n<html>\n\t<body>\n\t\t<h1>❤ unicorns</h1>\n\t</body>\n</html>\n```\n\n\n### String substitution\n\n`console.log()` supports [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data):\n\n```js\nconst str = 'unicorns';\n\nconsole.log(multiline(()=>{/*\n  I love %s\n*/}), str);\n\n//=> 'I love unicorns'\n```\n\n\n## Use cases\n\n- [CLI help output](https://github.com/sindresorhus/pageres/blob/cb85922dec2b962c7b45484023c9ba43a9abf6bd/cli.js#L14-L33)\n- [Test fixtures](https://twitter.com/TooTallNate/status/465392558000984064)\n- [Queries](https://github.com/freethejazz/twitter-to-neo4j/blob/a41b6c2e8480d4b9943640a8aa4b6976f07083bf/cypher/queries.js#L15-L22) - *here an example in Cypher, the query language for Neo4j*\n- [CLI welcome message](https://github.com/yeoman/generator-jquery/blob/4b532843663e4b5ce7d433d351e0a78dcf2b1e20/app/index.js#L28-L40) - *here in a Yeoman generator*\n\nHave one? [Let me know.](https://github.com/sindresorhus/multiline/issues/new)\n\n\n## Experiment\n\nI've also done an [experiment](experiment.js) where you don't need the anonymous function. It's too fragile and slow to be practical though.\n\nIt generates a callstack and extracts the contents of the comment in the function call.\n\n```js\nconst str = multiline(/*\n<!doctype html>\n<html>\n\t<body>\n\t\t<h1>❤ unicorns</h1>\n\t</body>\n</html>\n*/);\n```\n\n\n## FAQ\n\n### But JS already has multiline strings with `\\`?\n\n```js\nconst str = 'foo\\\nbar';\n```\n\nThis is not a multiline string. It's line-continuation. It doesn't preserve newlines, which is the main reason for wanting multiline strings.\n\nYou would need to do the following:\n\n```js\nconst str = 'foo\\n\\\nbar';\n```\n\nBut then you could just as well concatenate:\n\n```js\nconst str = 'foo\\n' +\n'bar';\n```\n\n\n## Browser\n\nWhile it does work fine in the browser, it's mainly intended for use in Node.js. Use at your own risk.\n\n```\n$ npm install multiline\n```\n\nWith Webpack, Browserify, or something similar.\n\n\n### Compatibility\n\n- Latest Chrome\n- Firefox >=17\n- Safari >=4\n- Opera >=9\n- Internet Explorer >=6\n\n### Minification\n\nEven though minifiers strip comments by default there are ways to preserve them:\n\n- Uglify: Use `/*@preserve` instead of `/*` and enable the `comments` option\n- Closure Compiler: Use `/*@preserve` instead of `/*`\n- YUI Compressor: Use `/*!` instead of `/*`\n\nYou also need to add `console.log` after the comment so it's not removed as dead-code.\n\nThe final result would be:\n\n```js\nconst str = multiline(function(){/*!@preserve\n<!doctype html>\n<html>\n\t<body>\n\t\t<h1>❤ unicorns</h1>\n\t</body>\n</html>\n*/console.log});\n```\n\n\n## License\n\nMIT © [Sindre Sorhus](https://sindresorhus.com)\n","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"dist-tags":{"latest":"2.0.0"},"versions":{"0.1.0":{"name":"multiline","version":"0.1.0","description":"Multiline strings in JavaScript","license":"MIT","main":"multiline.js","repository":{"type":"git","url":"git://github.com/sindresorhus/multiline"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"files":["multiline.js"],"keywords":["multiline","multi-line","multiple","line","comment","string","str","text","comment"],"devDependencies":{"mocha":"*","callsite":"^1.0.0"},"bugs":{"url":"https://github.com/sindresorhus/multiline/issues"},"homepage":"https://github.com/sindresorhus/multiline","_id":"multiline@0.1.0","dist":{"shasum":"aaf5c8da152eb2ef38089552cae938d894873571","tarball":"https://registry.npmjs.org/multiline/-/multiline-0.1.0.tgz","integrity":"sha512-1XSJrulr00Q0MdTpTkgPsRoh5YatxjXNCc7PhU/MO76pEWrwiiIF2RaNNIQs4Rv+E3GzJwmbNUELxrPI05QiGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyhFCSjXN8Xal9XvPPIH1tcYdjujRdPAwK3khBt6WVswIhANhDP9ZsBLL/+jA6mmmbqx8QFMSe7gwPG8DdaMMdvJa+"}]},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{}},"0.2.0":{"name":"multiline","version":"0.2.0","description":"Multiline strings in JavaScript","license":"MIT","main":"multiline.js","repository":{"type":"git","url":"git://github.com/sindresorhus/multiline"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"files":["multiline.js"],"keywords":["multiline","multi-line","multiple","line","comment","string","str","text","comment"],"devDependencies":{"mocha":"*","callsite":"^1.0.0"},"bugs":{"url":"https://github.com/sindresorhus/multiline/issues"},"homepage":"https://github.com/sindresorhus/multiline","_id":"multiline@0.2.0","dist":{"shasum":"7cb4a4bd15b9f238007bf05b16306d2d12ab8958","tarball":"https://registry.npmjs.org/multiline/-/multiline-0.2.0.tgz","integrity":"sha512-+6hOGOSHp7CcG/coN7G/WndqR2Brymxxs07/H18mq2RuHct0GlUGWmqzlIUaHoiWjGKTTPK+A7tIOE1sfCatjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBmCLZwMwLYf9So2bsMGamV6SUqRocUFZdRavsNfXuEKAiA5g5klrqrDYed/a8qcdr36goa6KHnGTALgkgMvP7ha5A=="}]},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{}},"0.3.0":{"name":"multiline","version":"0.3.0","description":"Multiline strings in JavaScript","license":"MIT","repository":{"type":"git","url":"git://github.com/sindresorhus/multiline"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha","browser":"a=$npm_package_name; browserify -r ./index:$a -s $a index.js -o browser.js"},"files":["index.js"],"keywords":["browser","multiline","multi-line","multiple","line","comment","string","str","text","comment"],"dependencies":{"strip-indent":"^0.1.0"},"devDependencies":{"mocha":"*","browserify":"^3.0.0","callsite":"^1.0.0"},"bugs":{"url":"https://github.com/sindresorhus/multiline/issues"},"homepage":"https://github.com/sindresorhus/multiline","_id":"multiline@0.3.0","dist":{"shasum":"2dc24f88ff3bd0e7c9964abce913072e98fb118e","tarball":"https://registry.npmjs.org/multiline/-/multiline-0.3.0.tgz","integrity":"sha512-9JTjZ4LkdnZeAlK2XTPxQq0/6XgdGLcTkKOapDkqKspZPnYoiqBh3oMNebuShL1hZbvZaKgVRgaK6AmMtetQJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCm5j5UCXxDSBK5fNVPo4iRl3pyDDaKx8FkERkHtWR9LgIgV8wvxWEn351503bMXZeXjdj4UyheBhyx1LlC8dBv1cw="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{}},"0.3.1":{"name":"multiline","version":"0.3.1","description":"Multiline strings in JavaScript","license":"MIT","repository":{"type":"git","url":"git://github.com/sindresorhus/multiline"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha","browser":"a=$npm_package_name; browserify -r ./index:$a -s $a index.js -o browser.js"},"files":["index.js"],"keywords":["browser","multiline","multi-line","multiple","line","comment","string","str","text","comment"],"dependencies":{"strip-indent":"^0.1.0"},"devDependencies":{"mocha":"*","browserify":"^3.0.0","callsite":"^1.0.0"},"bugs":{"url":"https://github.com/sindresorhus/multiline/issues"},"homepage":"https://github.com/sindresorhus/multiline","_id":"multiline@0.3.1","dist":{"shasum":"d40c244c8f4167596dc878e88464aad7ff4f5b17","tarball":"https://registry.npmjs.org/multiline/-/multiline-0.3.1.tgz","integrity":"sha512-EjWpMvI9b99ArcpdR0Y6II16cCkj5hAB1kUWqEYl+5dxcJWej0fRQBzdLzYZ+mZ8XfbimBh4YhKDU+M5812znQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJ/2MMXCtE8djScXNJ+B975VciScphcmt1154gZHKD1gIhAM8biEMhlMXi4HfwkQMJ5ERdApwJ1FoJbqlDqghrY1+y"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{}},"0.3.2":{"name":"multiline","version":"0.3.2","description":"Multiline strings in JavaScript","license":"MIT","repository":{"type":"git","url":"git://github.com/sindresorhus/multiline"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha","browser":"a=$npm_package_name; browserify -r ./index:$a -s $a index.js -o browser.js"},"files":["index.js"],"keywords":["browser","multiline","multi-line","multiple","line","comment","string","str","text","comment"],"dependencies":{"strip-indent":"^0.1.0"},"devDependencies":{"mocha":"*","browserify":"^3.0.0","callsite":"^1.0.0"},"bugs":{"url":"https://github.com/sindresorhus/multiline/issues"},"homepage":"https://github.com/sindresorhus/multiline","_id":"multiline@0.3.2","dist":{"shasum":"1f51567569c24861a702d283d98f22333860de27","tarball":"https://registry.npmjs.org/multiline/-/multiline-0.3.2.tgz","integrity":"sha512-J4WW9fvuAu4UJATBT8YCJwjiKpDjic0kpblHd4vquXMNrFUzAUZM9mh06DwB9zYN0mCmpimTI56x/6sdBRCZSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCh78nbY5TpvKC2gm6GdllVFUbpoYHfeVthkSRCQZKIdgIhAJVmTY2NV1LbO6AB0MSvCMQHRqT0IuIbcVXPEX4MwInV"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{}},"0.3.3":{"name":"multiline","version":"0.3.3","description":"Multiline strings in JavaScript","license":"MIT","repository":{"type":"git","url":"git://github.com/sindresorhus/multiline"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha","browser":"a=$npm_package_name; browserify -r ./index:$a -s $a index.js -o browser.js"},"files":["index.js","browser.js"],"keywords":["browser","multiline","multi-line","multiple","line","comment","string","str","text","comment"],"dependencies":{"strip-indent":"^0.1.0"},"devDependencies":{"mocha":"*","browserify":"^3.0.0","callsite":"^1.0.0"},"bugs":{"url":"https://github.com/sindresorhus/multiline/issues"},"homepage":"https://github.com/sindresorhus/multiline","_id":"multiline@0.3.3","dist":{"shasum":"1d3453596ebf5793ddf496a68290415ba2f13240","tarball":"https://registry.npmjs.org/multiline/-/multiline-0.3.3.tgz","integrity":"sha512-IOuYMuRYdpEDKfRk9kuhKvfBmaT+/BL47t5f/hBtTDXg3+sRKmUIYlfu1jdvBhdnhE2bL1Eez3iUcKp3skwucg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMQ2QNVONm0IrMPO54SvlZK74ydZZu8WqkC3oJALzxTwIgVn7uZGdIpSg6HQN84qIq1HlUqZXkG7Fr5GyBGHeTntc="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{}},"0.3.4":{"name":"multiline","version":"0.3.4","description":"Multiline strings in JavaScript","license":"MIT","repository":{"type":"git","url":"git://github.com/sindresorhus/multiline"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha","browser":"browserify -s $npm_package_name -o browser.js ."},"files":["index.js","browser.js"],"keywords":["browser","multiline","multi-line","multiple","line","comment","string","str","text","comment"],"dependencies":{"strip-indent":"^0.1.0"},"devDependencies":{"mocha":"*","browserify":"^3.0.0","callsites":"^0.2.0"},"bugs":{"url":"https://github.com/sindresorhus/multiline/issues"},"homepage":"https://github.com/sindresorhus/multiline","_id":"multiline@0.3.4","dist":{"shasum":"1d38cb053097b5b94b21fcd31b10b116559defdc","tarball":"https://registry.npmjs.org/multiline/-/multiline-0.3.4.tgz","integrity":"sha512-F4/m1gFxvrpFlW/kIBOrGtB9mVpIoQ5PgT+vd6hC63u7vggtYnw1LG/zjkLoxQXI7sDexPlfbF6+w0jmvIfsnQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIANgmmKsuxRPjnr6i0H8ttP09hOpzkfX7lJqj5j5ksT0AiBRRJZ7teP7o5kiH4RlzzhLCRUoRCEod9iSeKvVufHNTA=="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{}},"1.0.0":{"name":"multiline","version":"1.0.0","description":"Multiline strings in JavaScript","license":"MIT","repository":{"type":"git","url":"git://github.com/sindresorhus/multiline"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha","browser":"browserify -s $npm_package_name -o browser.js ."},"files":["index.js","browser.js"],"keywords":["browser","multiline","multi-line","multiple","line","comment","string","str","text","comment"],"dependencies":{"strip-indent":"^1.0.0"},"devDependencies":{"browserify":"^5.10.0","callsites":"^1.0.0","mocha":"*","uglify-js":"^2.4.13"},"gitHead":"5de3e423717b2ca4646e3269ab6380fae58e6183","bugs":{"url":"https://github.com/sindresorhus/multiline/issues"},"homepage":"https://github.com/sindresorhus/multiline","_id":"multiline@1.0.0","_shasum":"f162c517e478a0348e94864f682491f695c54afb","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"dist":{"shasum":"f162c517e478a0348e94864f682491f695c54afb","tarball":"https://registry.npmjs.org/multiline/-/multiline-1.0.0.tgz","integrity":"sha512-su5q/R/J29zYzBFoxynVI/XlJhqj3WBaHzmR3UrjuO0/iclLOeoAQB/tGHUzAQ6rHp8ypgYroYh5JUNOl7t7fw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICG+d58zLGnoc5r81FMFepdd9RwXL3/5PoV1GZiWCGb9AiEAqQOXnAzioXoCM8/oYtHF3+o6s7KZSB48JQswmE7sOhA="}]},"directories":{}},"1.0.1":{"name":"multiline","version":"1.0.1","description":"Multiline strings in JavaScript","license":"MIT","repository":{"type":"git","url":"https://github.com/sindresorhus/multiline"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha","browser":"browserify -s $npm_package_name -o browser.js ."},"files":["index.js","browser.js"],"keywords":["browser","multiline","multi-line","multiple","line","comment","string","str","text","comment"],"dependencies":{"strip-indent":"^1.0.0"},"devDependencies":{"browserify":"^6.0.2","callsites":"^1.0.0","mocha":"*","uglify-js":"^2.4.13"},"gitHead":"69c26c826ec8909b8a92da37ae7aba562362faff","bugs":{"url":"https://github.com/sindresorhus/multiline/issues"},"homepage":"https://github.com/sindresorhus/multiline","_id":"multiline@1.0.1","_shasum":"47c37ddb87a0f9e0e33468278f5c8fbbefa0dcae","_from":".","_npmVersion":"2.1.2","_nodeVersion":"0.10.32","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"dist":{"shasum":"47c37ddb87a0f9e0e33468278f5c8fbbefa0dcae","tarball":"https://registry.npmjs.org/multiline/-/multiline-1.0.1.tgz","integrity":"sha512-n66jQX5/BeuXPRIM6Q0ybX/K8UnNIkmSEnRCL2iK5gqHIDUMRG0xRQykAhhi6fnTm8XSwa0kIHGM6kaELQaI2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8Co0d1XrNbfleew6U2QPhyCJIfPGu7Y/w7jAYhf1pSwIgI98Q1eIRGEa+Xsi7PYQKSLr7MvTONqXwdLVijExBTsU="}]},"directories":{}},"1.0.2":{"name":"multiline","version":"1.0.2","description":"Multiline strings in JavaScript","license":"MIT","repository":{"type":"git","url":"https://github.com/sindresorhus/multiline"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha","browser":"browserify -s $npm_package_name -o browser.js ."},"files":["index.js","browser.js"],"keywords":["browser","multiline","multi-line","multiple","line","comment","string","str","text","comment"],"dependencies":{"strip-indent":"^1.0.0"},"devDependencies":{"browserify":"^6.0.2","callsites":"^1.0.0","mocha":"*","uglify-js":"^2.4.13"},"gitHead":"bc7665a7f7e6a0c17956bbda532912d09ddb8be1","bugs":{"url":"https://github.com/sindresorhus/multiline/issues"},"homepage":"https://github.com/sindresorhus/multiline","_id":"multiline@1.0.2","_shasum":"69b1f25ff074d2828904f244ddd06b7d96ef6c93","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.10.32","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"dist":{"shasum":"69b1f25ff074d2828904f244ddd06b7d96ef6c93","tarball":"https://registry.npmjs.org/multiline/-/multiline-1.0.2.tgz","integrity":"sha512-DGpmDIZKKQ+EVx0sh0757V6qlb+ouuByoC5CWH7J0bOd6KRM6ka6l9LGHWfe17OKxm+4AsLs1tgiK4vZIx66RQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTyyrvX1qbh9x64Ndn6aiLUu/YPaOVf30tamD1P8wOJAIhAM5lRJrR9+nbs5Fx2YRsTb8//uzY2PqWyr3wp7xDSoVF"}]},"directories":{}},"2.0.0":{"name":"multiline","version":"2.0.0","description":"Multiline strings in JavaScript","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/multiline.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha","browser":"browserify -s $npm_package_name -o browser.js ."},"keywords":["browser","multiline","multi-line","multiple","line","comment","string","str","text","comment"],"dependencies":{"strip-indent":"^2.0.0"},"devDependencies":{"browserify":"^14.5.0","callsites":"^2.0.0","mocha":"^4.1.0","uglify-js":"^2.4.13"},"gitHead":"81c2025e097a17042eb3665b65e94c504ba22f73","bugs":{"url":"https://github.com/sindresorhus/multiline/issues"},"homepage":"https://github.com/sindresorhus/multiline#readme","_id":"multiline@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"integrity":"sha512-+HpXaUcV8PIGNNmuhtlaVmw4NH0W30/A5WP+rq6pxZYBjDslX/sXkFgL3Mgk1cSGGIICjWu4gNStkJXL6ZM2DQ==","shasum":"4bb44ddc474c4fa6deaee4266c75c7be2535127a","tarball":"https://registry.npmjs.org/multiline/-/multiline-2.0.0.tgz","fileCount":5,"unpackedSize":8915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbwynECRA9TVsSAnZWagAAPsEP/ickUPbhjQlDnOr0OKnn\nkK8ynTobnB/uDbC/rFv615lz9GTkD9+LajQwHWvqU3wI2l7MLcuL3siWLlK0\n+sWFgWUQ1EPR1dxC5v9shtrXWLvFSlrJgrVjnmmQ5fU3I0Wm5+ctKraQVCbt\nx39gh/g8N1qBm4tB+1rLBgc/FgI2VwIpkkDKcJSMiiiB5TtwZexdW+xl0R/t\n2ynSm9rW2gp5M0IfFNMyjbptu55bGmnZxVviKStz3Ul+YJRlunb4U+VzKaht\ntTX4b8l5BuN/sfP3gbs3id3VsUCS3kfOnt7fkrSXLZZ/WTEG27gEN7oLLYO3\nELR+eYeyApjr7/Jno7U7iQykTAvIGPlENVjY/CUN3F37HE8eelBeJTuDeJdC\nOxWSV1KUJAtZU3Xe1T1gSMPNSkrLIzXKWyIM4WjTJflEgliJ+wZsQnlUrRtg\nWekqEpUHSEVG9YJnyTaunUSzNhZ/jRKnSt8d8qlWHhtSS9dL1sBNGvBt0QcN\nx2ReXuc/19UBtlmEdW7WuEy+OQHcljuBoS5SMtOQd82Up+LxI2H12vBfOF/O\nAPGugfokPGG91urFew+t3hVdoJNnR/8d0zqXIzz0sF3i05cAw5ji/kftcRHn\ntfzAmyL+jPtjWr1EJcvtpcGIoVyYT25xmprPq9XqxLHvvAkHooS5qPyGYVwc\nSXmr\r\n=XKPz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAhfzjkS26dZs4709VUsynFytLGfDuqrR8I2aNzhzNGQAiEAmEZuzphad/wnx1HtEChsKkXS3ISYe9xzPRLSYZR8FMg="}]},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/multiline_2.0.0_1539516867678_0.23570420511554047"},"_hasShrinkwrap":false,"deprecated":"This was a fun hack, but now we have template literals, so use that instead."}},"homepage":"https://github.com/sindresorhus/multiline#readme","keywords":["browser","multiline","multi-line","multiple","line","comment","string","str","text","comment"],"repository":{"type":"git","url":"git+https://github.com/sindresorhus/multiline.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"bugs":{"url":"https://github.com/sindresorhus/multiline/issues"},"license":"MIT","readmeFilename":"readme.md","users":{"tunnckocore":true,"shawnbot":true,"willhoag":true,"lunelson":true,"joshhartigan":true,"toogle":true,"flyslow":true,"amongiants":true,"jondashkyle":true,"leonardorb":true,"joshwyatt":true,"carsy":true,"daizch":true,"xueboren":true,"itcorp":true,"edwardxyt":true,"flumpus-dev":true}}