bower
Version:
The browser package manager
49 lines (48 loc) • 4.92 kB
JSON
{
"name": "bower-json",
"version": "0.4.0",
"description": "Read bower.json files with semantics, normalisation, defaults and validation.",
"author": {
"name": "Twitter"
},
"licenses": [
{
"type": "MIT",
"url": "https://github.com/bower/json/blob/master/LICENSE"
}
],
"repository": {
"type": "git",
"url": "git://github.com/bower/json.git"
},
"main": "lib/json",
"engines": {
"node": ">=0.8.0"
},
"dependencies": {
"deep-extend": "~0.2.5",
"graceful-fs": "~2.0.0",
"intersect": "~0.0.3"
},
"devDependencies": {
"expect.js": "~0.2.0",
"mocha": "~1.12.0",
"grunt": "~0.4.1",
"grunt-contrib-watch": "~0.4.4",
"grunt-contrib-jshint": "~0.6.0",
"grunt-simple-mocha": "~0.4.0"
},
"scripts": {
"test": "grunt test"
},
"readme": "# bower-json [](http://travis-ci.org/bower/json)\n\nRead `bower.json` files with semantics, normalisation, defaults and validation.\n\n\n## Usage\n\n#### .read(file, options, callback)\n\nReads `file` and applies normalisation, defaults and validation according to the `bower.json` spec. \nIf the passed `file` does not exist, the callback is called with `error.code` equal to `ENOENT`. \nIf the passed `file` contents are not valid JSON, the callback is called with `error.code` equal to `EMALFORMED`. \nIf the `json` does not comply with the `bower.json` spec, the callback is called with `error.code` equal to `EINVALID`.\n\nIf `file` is a directory, `find()` will be used to search for the json file. \nThe `options` argument is optional and can be omitted. These options will be passed to `parse` method.\n\n\n```js\nvar bowerJson = require('bower-json');\n\n// Can also be used by simply calling bowerJson()\nbowerJson.read('/path/to/bower.json', function (err, json) {\n if (err) {\n console.error('There was an error reading the file');\n console.error(err.message);\n return;\n }\n\n console.log('JSON: ', json);\n});\n```\n\n\n#### .parse(json, options)\n\nParses an object. Useful when you want to apply normalisation and validation directly to an object. \nIf the `json` does not comply with the `bower.json` spec, an error is thrown with `error.code` equal to `EINVALID`.\n\nThe `options` arguments is optional and can be omitted. Available options:\n\n- validate: Apply validation, defaults to `true`\n- normalize: Apply normalisation, defaults to `false`\n- clone: clone, use and return the passed in `json` object instead of using it directly, defaults to `false`\n\n\n```js\nvar bowerJson = require('bower-json');\n\nvar json = {\n name: 'my-package',\n version: '0.0.1'\n};\n\ntry {\n bowerJson.parse(json);\n} catch (err) {\n console.error('There was an error parsing the object');\n console.error(err.message);\n}\n```\n\n\n#### .validate(json)\n\nValidates the passed `json` object. \nThrows an error with `error.code` equal to `EINVALID` if it does not comply with the spec.\n\n\n```js\nvar bowerJson = require('bower-json');\n\nvar json = {\n name: 'my-package',\n version: '0.0.1'\n};\n\ntry {\n bowerJson.validate(json);\n} catch (err) {\n console.error('There was an error validating the object');\n console.error(err.message);\n}\n```\n\n\n#### .normalize(json)\n\n```js\nvar bowerJson = require('bower-json');\n\nvar json = {\n name: 'my-package',\n version: '0.0.1',\n main: 'foo.js,bar.js'\n};\n\nbowerJson.nornalize(json);\njson.main // ['foo.js', 'bar.js']\n```\n\n\n#### .find(folder, callback)\n\nFinds the `json` filename inside a folder. \nChecks if a `bower.json` exists, falling back to `component.json` (deprecated) and `.bower.json`. \nIf no file was found, the callback is called with a `error.code` of `ENOENT`.\n\n```js\nvar bowerJson = require('bower-json');\n\nbowerJson.find('/path/to/folder', function (err, filename) {\n if (err) {\n console.error('There is no json file in the folder');\n return;\n }\n\n console.log('Filename: ', filename);\n\n // Now that we got the filename, we can read its contents\n bowerJson.read(filename, function (err, json) {\n if (err) {\n console.error('There was an error reading the file');\n console.error(err.message);\n return;\n }\n\n console.log('JSON: ', json);\n });\n});\n```\n\n\n## License\n\nReleased under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n",
"readmeFilename": "README.md",
"bugs": {
"url": "https://github.com/bower/json/issues"
},
"homepage": "https://github.com/bower/json#readme",
"_id": "bower-json@0.4.0",
"_shasum": "a99c3ccf416ef0590ed0ded252c760f1c6d93766",
"_resolved": "https://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz",
"_from": "bower-json@>=0.4.0 <0.5.0"
}