{
  "_args": [
    [
      "css-selector-tokenizer@https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz",
      "/Users/nw/flint/packages/flint"
    ]
  ],
  "_from": "css-selector-tokenizer@>=0.5.1 <0.6.0",
  "_id": "css-selector-tokenizer@0.5.4",
  "_inCache": true,
  "_location": "/css-selector-tokenizer",
  "_phantomChildren": {},
  "_requested": {
    "name": "css-selector-tokenizer",
    "raw": "css-selector-tokenizer@https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz",
    "rawSpec": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz",
    "scope": null,
    "spec": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz",
    "type": "remote"
  },
  "_requiredBy": [
    "/css-loader",
    "/postcss-modules-local-by-default",
    "/postcss-modules-scope"
  ],
  "_resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz",
  "_shasum": "139bafd34a35fd0c1428487049e0699e6f6a2c21",
  "_shrinkwrap": null,
  "_spec": "css-selector-tokenizer@https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz",
  "_where": "/Users/nw/flint/packages/flint",
  "author": {
    "name": "Tobias Koppers @sokra"
  },
  "bugs": {
    "url": "https://github.com/css-modules/css-selector-tokenizer/issues"
  },
  "dependencies": {
    "cssesc": "^0.1.0",
    "fastparse": "^1.1.1"
  },
  "description": "Parses and stringifies CSS selectors",
  "devDependencies": {
    "chokidar-cli": "^0.2.1",
    "codecov.io": "^0.1.2",
    "coveralls": "^2.11.2",
    "eslint": "^0.21.2",
    "istanbul": "^0.3.14",
    "mocha": "^2.2.5"
  },
  "directories": {
    "test": "test"
  },
  "files": [
    "lib"
  ],
  "homepage": "https://github.com/css-modules/css-selector-tokenizer",
  "keywords": [
    "css-modules",
    "selectors"
  ],
  "license": "MIT",
  "main": "lib/index.js",
  "name": "css-selector-tokenizer",
  "optionalDependencies": {},
  "readme": "# CSS Modules: CSS selector Tokenizer\r\n\r\nParses and stringifies CSS selectors.\r\n\r\n``` js\r\nimport Tokenizer from \"css-selector-tokenizer\";\r\n\r\nlet input = \"a#content.active > div::first-line [data-content], a:not(:visited)\";\r\n\r\nTokenizer.parse(input); // === expected\r\nlet expected = {\r\n  type: \"selectors\",\r\n  nodes: [\r\n    {\r\n      type: \"selector\",\r\n      nodes: [\r\n        { type: \"element\", name: \"a\" },\r\n        { type: \"id\", name: \"content\" },\r\n        { type: \"class\", name: \"active\" },\r\n        { type: \"operator\", operator: \">\", before: \" \", after: \" \" },\r\n        { type: \"element\", name: \"div\" },\r\n        { type: \"pseudo-element\", name: \"first-line\" },\r\n        { type: \"spacing\", value: \" \" },\r\n        { type: \"attribute\", content: \"data-content\" },\r\n      ]\r\n    },\r\n    {\r\n      type: \"selector\",\r\n      nodes: [\r\n        { type: \"element\", name: \"a\" },\r\n        { type: \"nested-pseudo-class\", name: \"not\", nodes: [\r\n          {\r\n            type: \"selector\",\r\n            nodes: [\r\n              { type: \"pseudo-class\", name: \"visited\" }\r\n            ]\r\n          }\r\n        ] }\r\n      ],\r\n      before: \" \"\r\n    }\r\n  ]\r\n}\r\n\r\nTokenizer.stringify(expected) // === input\r\n\r\n// * => { type: \"universal\" }\r\n// foo|element = { type: \"element\", name: \"element\", namespace: \"foo\" }\r\n// *|* = { type: \"universal\", namespace: \"*\" }\r\n// :has(h1, h2) => { type: \"nested-pseudo-class\", name: \"has\", nodes: [\r\n//     {\r\n//       type: \"selector\",\r\n//       nodes: [\r\n//         { type: \"element\", name: \"h1\" }\r\n//       ]\r\n//     },\r\n//     {\r\n//       type: \"selector\",\r\n//       nodes: [\r\n//         { type: \"element\", name: \"h2\" }\r\n//       ],\r\n//       before: \" \"\r\n//     }\r\n//   ] }\r\n```\r\n\r\n## Building\r\n\r\n```\r\nnpm install\r\nnpm test\r\n```\r\n\r\n[![Build Status](https://travis-ci.org/css-modules/css-selector-tokenizer.svg?branch=master)](https://travis-ci.org/css-modules/css-selector-tokenizer)\r\n\r\n* Lines: [![Coverage Status](https://coveralls.io/repos/css-modules/css-selector-tokenizer/badge.svg?branch=master)](https://coveralls.io/r/css-modules/css-selector-tokenizer?branch=master)\r\n* Statements: [![codecov.io](http://codecov.io/github/css-modules/css-selector-tokenizer/coverage.svg?branch=master)](http://codecov.io/github/css-modules/css-selector-tokenizer?branch=master)\r\n\r\n## Development\r\n\r\n- `npm autotest` will watch `lib` and `test` for changes and retest\r\n\r\n## License\r\n\r\nMIT\r\n\r\n## With thanks\r\n\r\n- Mark Dalgleish\r\n- Glen Maddern\r\n- Guy Bedford\r\n\r\n---\r\nTobias Koppers, 2015.\r\n",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/css-modules/css-selector-tokenizer.git"
  },
  "scripts": {
    "autotest": "chokidar lib test -c 'npm test'",
    "cover": "istanbul cover node_modules/mocha/bin/_mocha",
    "lint": "eslint lib",
    "precover": "npm run lint",
    "pretest": "npm run lint",
    "publish-patch": "npm test && npm version patch && git push && git push --tags && npm publish",
    "test": "mocha",
    "travis": "npm run cover -- --report lcovonly"
  },
  "version": "0.5.4"
}
