1 | # stringify-package [![npm version](https://img.shields.io/npm/v/stringify-package.svg)](https://npm.im/stringify-package) [![license](https://img.shields.io/npm/l/stringify-package.svg)](https://npm.im/stringify-package) [![Travis](https://img.shields.io/travis/npm/stringify-package/latest.svg)](https://travis-ci.org/npm/stringify-package) [![AppVeyor](https://img.shields.io/appveyor/ci/npm/stringify-package/latest.svg)](https://ci.appveyor.com/project/npm/stringify-package) [![Coverage Status](https://coveralls.io/repos/github/npm/stringify-package/badge.svg?branch=latest)](https://coveralls.io/github/npm/stringify-package?branch=latest)
|
2 |
|
3 | [`stringify-package`](https://github.com/npm/stringify-package) is a standalone
|
4 | library for writing out package data as a JSON file. It is extracted from npm.
|
5 |
|
6 | ## Install
|
7 |
|
8 | `$ npm install stringify-package`
|
9 |
|
10 | ## Table of Contents
|
11 |
|
12 | * [Example](#example)
|
13 | * [Features](#features)
|
14 | * [Contributing](#contributing)
|
15 | * [API](#api)
|
16 | * [`stringifyPackage`](#stringifypackage)
|
17 |
|
18 | ### Example
|
19 |
|
20 | ```javascript
|
21 | const fs = require('fs')
|
22 | const pkg = { /* ... */ }
|
23 |
|
24 | fs.writeFile('package.json', stringifyPackage(pkg), 'utf8', cb(err) => {
|
25 | // ...
|
26 | })
|
27 | ```
|
28 |
|
29 | ### Features
|
30 |
|
31 | * Ensures consistent file indentation
|
32 | To match existing file indentation,
|
33 | [`detect-indent`](https://npm.im/detect-indent) is recommended.
|
34 |
|
35 | * Ensures consistent newlines
|
36 | To match existing newline characters,
|
37 | [`detect-newline`](https://npm.im/detect-newline) is recommended.
|
38 |
|
39 | ### Contributing
|
40 |
|
41 | The npm team enthusiastically welcomes contributions and project participation!
|
42 | There's a bunch of things you can do if you want to contribute! The [Contributor
|
43 | Guide](CONTRIBUTING.md) has all the information you need for everything from
|
44 | reporting bugs to contributing entire new features. Please don't hesitate to
|
45 | jump in if you'd like to, or even ask us questions if something isn't clear.
|
46 |
|
47 | ### API
|
48 |
|
49 | ### <a name="stringifypackage"></a> `> stringifyPackage(data, indent, newline) -> String`
|
50 |
|
51 | #### Arguments
|
52 |
|
53 | * `data` - the package data as an object to be stringified
|
54 | * `indent` - the number of spaces to use for each level of indentation (defaults to 2)
|
55 | * `newline` - the character(s) to be used as a line terminator
|