mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
6.3 KiB
48 lines
6.3 KiB
12 years ago
|
{
|
||
|
"name": "normalize-package-data",
|
||
|
"version": "0.1.7",
|
||
|
"author": {
|
||
|
"name": "Meryn Stol",
|
||
|
"email": "merynstol@gmail.com"
|
||
|
},
|
||
|
"description": "Normalizes data that can be found in package.json files.",
|
||
|
"repository": {
|
||
|
"type": "git",
|
||
|
"url": "git://github.com/meryn/normalize-package-data.git"
|
||
|
},
|
||
|
"main": "lib/normalize.js",
|
||
|
"scripts": {
|
||
|
"test": "tap test/*.js"
|
||
|
},
|
||
|
"dependencies": {
|
||
|
"semver": "1.x",
|
||
|
"github-url-from-git": "~1.1.1"
|
||
|
},
|
||
|
"devDependencies": {
|
||
|
"tap": "~0.2.5",
|
||
|
"underscore": "~1.4.4",
|
||
|
"async": "~0.2.7"
|
||
|
},
|
||
|
"contributors": [
|
||
|
{
|
||
|
"name": "Isaac Z. Schlueter",
|
||
|
"email": "i@izs.me"
|
||
|
},
|
||
|
{
|
||
|
"name": "Meryn Stol",
|
||
|
"email": "merynstol@gmail.com"
|
||
|
}
|
||
|
],
|
||
|
"readme": "# normalize-package-data [![Build Status](https://travis-ci.org/meryn/normalize-package-data.png?branch=master)](https://travis-ci.org/meryn/normalize-package-data)\n\nnormalize-package data exports a function that normalizes package metadata. This data is typically found in a package.json file, but in principle could come from any source - for example the npm registry.\n\nnormalize-package-data is used by [read-package-json](https://npmjs.org/package/read-package-json) to normalize the data it reads from a package.json file. In turn, read-package-json is used by [npm](https://npmjs.org/package/npm) and various npm-related tools.\n\n## Installation\n\n```\nnpm install normalize-package-data\n```\n\n## Usage\n\nBasic usage is really simple. You call the function that normalize-package-data exports. Let's call it `normalizeData`.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readfileSync(\"package.json\")\nnormalizeData(packageData)\n// packageData is now normalized\n```\n\nOptionally, you may pass a \"warning\" function. It gets called whenever the normalizeData function encounters something that doesn't look right. It indicates less than perfect input data.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readfileSync(\"package.json\")\nwarnFn = function(msg) { console.error(msg) }\nnormalizeData(packageData, warnFn)\n// packageData is now normalized. Any number of warnings may have been logged.\n```\n\nIf you don't provide a warning function, `normalizeData` functions silently.\n\n### Potential exceptions\n\nIf the supplied data has an invalid name or version vield, `normalizeData` will throw an error. Depending on where you call `normalizeData`, you may want to catch these errors so can pass them to a callback.\n\n## What normalization (currently) entails\n\n* The value of `name` field gets trimmed.\n* The value of the `version` field gets cleaned by `semver.clean`. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n* If `name` and/or `version` fields are missing, they are set to empty strings.\n* If `files` field is not an array, it will be removed.\n* If `bin` field is a string, then `bin` field will become an object with `name` set to the value of the `name` field, and `bin` set to the original string value.\n* If `man` field is a string, it will become an array with the original string as its sole member.\n* If `keywords` field is string, it is considered to be a list of keywords separated by one or more white-space characters. It gets converted to an array by splitting on `\\s+`.\n* All people fields (`author`, `maintainers`, `contributors`) get converted into objects with name, email and url properties.\n* If `bundledDependencies` field (a typo) exists and `bundleDependencies` field does not, `bundledDependencies` will get renamed to `bundleDependencies`.\n* If the value of any of the dependencies fields (`dependencies`, `devDependencies`, `optionalDependencies`) is a string, it gets converted into an object with familiar `name=>value` pairs.\n* The values in `optionalDependencies` get added to `dependencies`. The `optionalDependencies` array is left untouched.\n* If `description` field does not exists, but `readme` field does, then (more or less) the first paragraph of text that's found in the readme is taken as value for `description`.\n* If `repository` field is a string, it will become an object with `url` set to the original string value, and `type` set to `\"git\"`.\n* If `bugs` field is a string, the value of `bugs` field is changed into an object with `url` set to the original string value.\n* If `bugs` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `bugs` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/issues . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.\n* If `bugs` field is an object, the resulting value only has email and url properties. If
|
||
|
"readmeFilename": "README.md",
|
||
|
"bugs": {
|
||
|
"url": "https://github.com/meryn/normalize-package-data/issues"
|
||
|
},
|
||
|
"_id": "normalize-package-data@0.1.7",
|
||
|
"dist": {
|
||
|
"shasum": "8d3240084501de180f3cef9ea7708f9279d87445"
|
||
|
},
|
||
|
"_from": "normalize-package-data@0.1.7",
|
||
|
"_resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.1.7.tgz"
|
||
|
}
|