veged / borschik

Main repository moved to https://github.com/bem/borschik. Extendable builder for text-based file formats.
http://bem.info/articles/borschik/
94 stars 0 forks source link

borschik problem #25

Closed shuhrat closed 12 years ago

shuhrat commented 12 years ago

borschik -t css -i pages/index/index.css -o pages/index/_index.css

throwing an error

screen shoot with error, and node, bem, borschik version http://farm8.staticflickr.com/7270/7804075700_762e81fa5d_b.jpg

arikon commented 12 years ago

Show output of npm -g ls which relates to borschik module, please. We need to know cssp version.

shuhrat commented 12 years ago

version of cssp is 1.0.6

Whole modue tree ├─┬ bem@0.4.2 │ ├─┬ borschik@0.0.11 │ │ ├─┬ cssp@1.0.6 │ │ │ └─┬ ometajs@3.1.12 │ │ │ └── uglify-js@1.3.3 │ │ ├── q@0.8.6 │ │ └─┬ q-fs@0.1.30 │ │ ├── fs-boot@0.0.8 │ │ └─┬ q-io@0.0.13 │ │ └── q@0.8.4 │ ├── coa@0.3.5 │ ├── inherit@1.0.4 │ ├─┬ q@0.7.2 │ │ └── event-queue@0.2.0 │ ├── q-wrap@0.0.1 │ └── qq@0.3.3 ├─┬ borschik@0.0.11 │ ├─┬ coa@0.3.5 │ │ └─┬ q@0.7.2 │ │ └── event-queue@0.2.0 │ ├─┬ cssp@1.0.6 │ │ └─┬ ometajs@3.1.12 │ │ └── uglify-js@1.3.3 │ ├── inherit@1.0.4 │ ├── q@0.8.6 │ └─┬ q-fs@0.1.30 │ ├── fs-boot@0.0.8 │ └─┬ q-io@0.0.13 │ └── q@0.8.4 ├─┬ npm@1.1.48 │ ├── abbrev@1.0.3 │ ├── ansi@0.1.2 │ ├── archy@0.0.2 │ ├── block-stream@0.0.6 │ ├── chownr@0.0.1 │ ├── couch-login@0.1.8 │ ├── fstream@0.1.18 │ ├─┬ fstream-npm@0.1.1 │ │ └── fstream-ignore@0.0.5 │ ├── glob@3.1.11 │ ├── graceful-fs@1.1.10 │ ├── inherits@1.0.0 │ ├── ini@1.0.2 │ ├─┬ init-package-json@0.0.5 │ │ └── promzard@0.2.0 │ ├── lockfile@0.2.1 │ ├── lru-cache@1.1.1 │ ├── minimatch@0.2.5 │ ├── mkdirp@0.3.3 │ ├── node-gyp@0.6.3 │ ├── node-uuid@1.3.3 │ ├── nopt@2.0.0 │ ├── npm-registry-client@0.1.3 │ ├── npmlog@0.0.2 │ ├── osenv@0.0.3 │ ├── proto-list@1.0.0 │ ├─┬ read@1.0.2 │ │ └── mute-stream@0.0.2 │ ├── read-installed@0.0.1 │ ├── read-package-json@0.1.2 │ ├── request@2.9.203 │ ├── retry@0.6.0 │ ├── rimraf@2.0.2 │ ├── semver@1.0.14 │ ├── slide@1.1.3 │ ├── tar@0.1.13 │ ├── uid-number@0.0.3 │ └── which@1.0.5 ├─┬ ometajs@3.1.12 │ ├─┬ coa@0.3.5 │ │ └─┬ q@0.7.2 │ │ └── event-queue@0.2.0 │ ├── q@0.8.6 │ └── uglify-js@1.3.3 ├── uglify-js@1.3.3 └─┬ xjst@0.2.21 ├── coa@0.3.1 ├── ometajs@2.1.10 ├─┬ q@0.7.2 │ └── event-queue@0.2.0 └── uglify-js@1.1.1

olegman commented 12 years ago

Same error, how to fix it?

arikon commented 12 years ago

/cc @afelix

afelix commented 12 years ago

Pretty strange. Typical case for such error is the wrong version of OmetaJS or CSSP. Our last CSSP fix is the fix of this problem exactly. Ok. Please, can you show me the content of your /usr/local/lib/node_modules/borschik/node_modules/cssp/package.json and /usr/local/lib/node_modules/borschik/node_modules/cssp/node_modules/ometajs/package.json?

shuhrat commented 12 years ago

Contents of "/usr/local/lib/node_modules/borschik/node_modules/cssp/package.json"

{
  "name": "cssp",
  "description": "CSSP — Ometa-JS based CSS parser",
  "version": "1.0.6",
  "homepage": "http://github.com/css/cssp",
  "author": {
    "name": "Sergey Kryzhanovsky",
    "email": "skryzhanovsky@ya.ru",
    "url": "http://github.com/afelix"
  },
  "repository": {
    "type": "git",
    "url": "http://github.com/css/cssp.git"
  },
  "directories": {
    "lib": "./lib"
  },
  "main": "./lib/csspapi",
  "dependencies": {
    "ometajs": "~ 3.1.x"
  },
  "bin": {
    "cssp": "./bin/cssp"
  },
  "engines": {
    "node": ">=0.4.0"
  },
  "licenses": [
    {
      "type": "MIT"
    }
  ],
  "readme": "## Предварительные требования:\n\n* Node.js: http://nodejs.org\n* npm: https://github.com/isaacs/npm\n\n##Установка, удаление и обновление:\n\nУстановка: `npm install cssp`\n\nОбновление: `npm update cssp`\n\nУдаление: `npm uninstall cssp`\n\n## Описание\n\nПо умолчанию CSSP разбирает входной CSS-текст в дерево (parser -- P), затем отправляет дерево на трансформацию (transformer -- TF), после чего транслирует в CSS-текст (translator -- TL).\n\nТаким образом полный цикл выглядит как CSS -> P -> TF -> TL -> CSS, и без указания ключей CSSP отдаст тот же текст, что был на входе.\n\n## Использование\n\nИспользование command line интерфейса:\n\n    cssp\n        показывает этот текст\n    cssp <имя_файла>\n        считывает CSS из <имя_файла> и записывает результат полного цикла (тот же CSS) в stdout\n    cssp <имя_файла> -dp\n    cssp <имя_файла> --parser\n        считывает CSS из <имя_файла> и записывает результат CSS -> P -> stdout\n    cssp <имя_файла> -df\n    cssp <имя_файла> --transformer\n        считывает CSS из <имя_файла> и записывает результат CSS -> P -> TF -> stdout\n    cssp <имя_файла> -dl\n    cssp <имя_файла> --translator\n        считывает CSS из <имя_файла> и записывает результат CSS -> P -> TF -> TL -> stdout\n    cssp <имя_файла> -r <имя_правила>\n    cssp <имя_файла> --rule <имя_правила>\n        считывает CSS из <имя_файла> и передаёт в цикл (P TF TL) <имя_правила>, которое надо обработать\n    cssp <имя_файла> -t\n    cssp <имя_файла> --trim\n        считывает CSS из <имя_файла> и удаляет начальные и концевые пробельные символы\n\nПримеры:\n\n    1) test.css = 'color: red'\n    > cssp test.css -r declaration -dp\n    > ['declaration',\n        ['property',\n          ['ident', 'color']],\n        ['value',\n          ['s', ' '],\n          ['ident', 'red']]]\n    2) test.css = '10px'\n    > cssp test.css -r dimension -dp -dl\n    > ['dimension',\n        ['number', '10'], 'px']\n      10px\n\nПример программного использования (Node.js):\n\n    var cssp = require('cssp'),\n        src = 'a { color: red }',\n        tree, trans,\n        dst;\n\n    tree = cssp.parse(src);\n    trans = cssp.transform(tree);\n    dst = cssp.translate(trans);\n\n    console.log('Source CSS:');\n    console.log(src);\n    console.log('Parser out:');\n    console.log(tree);\n    console.log('Transformer out:');\n    console.log(trans);\n    console.log('Translator out:');\n    console.log(dst);\n",
  "_id": "cssp@1.0.6",
  "dist": {
    "shasum": "5ac64fba22a90a12347e46e035982182c1bf1b01"
  },
  "_from": "cssp@~1.0.5"
}

Contents of "/usr/local/lib/node_modules/borschik/node_modules/cssp/node_modules/ometajs/package.json"

{
  "name": "ometajs",
  "description": "A object-oriented language for pattern matching",
  "version": "3.1.12",
  "homepage": "https://github.com/veged/ometa-js",
  "author": {
    "name": "Fedor Indutny",
    "email": "fedor@indutny.com",
    "url": "https://github.com/indutny"
  },
  "contributors": [
    {
      "name": "Sergey Berezhnoy",
      "email": "veged@mail.ru",
      "url": "http://github.com/veged"
    }
  ],
  "repository": {
    "type": "git",
    "url": "git://github.com/veged/ometa-js.git"
  },
  "bugs": {
    "url": "http://github.com/veged/ometa-js/issues"
  },
  "main": "./lib/ometajs",
  "directories": {
    "doc": "./doc",
    "lib": "./lib"
  },
  "dependencies": {
    "coa": "0.3.x",
    "q": "0.8.x",
    "uglify-js": "1.3.x"
  },
  "devDependencies": {
    "mocha": "1.3.x"
  },
  "bin": {
    "ometajs2js": "./bin/ometajs2js"
  },
  "engines": {
    "node": ">=0.4.0"
  },
  "licenses": [
    {
      "type": "AS IS"
    }
  ],
  "scripts": {
    "test": "mocha --ui tdd --growl --reporter spec test/unit/*-test.js"
  },
  "optionalDependencies": {},
  "readme": "```\n   ____  __  ___     __            _______\n  / __ \\/  |/  /__  / /_____ _    / / ___/\n / / / / /|_/ / _ \\/ __/ __ `/_  / /\\__ \\\n/ /_/ / /  / /  __/ /_/ /_/ / /_/ /___/ /\n\\____/_/  /_/\\___/\\__/\\__,_/\\____//____/\n```\n\n## OMetaJS [![Build Status](https://secure.travis-ci.org/veged/ometa-js.png)](http://travis-ci.org/veged/ometa-js)\n\nOMetaJS is a JavaScript implementation of the OMeta, an object-oriented language\nfor pattern matching.\n\nThis is a *node.js* module for developing and using such pattern matching\ngrammars.\n\n## Installation\n\n### Installing npm (node package manager)\n\n``` bash\n$ curl http://npmjs.org/install.sh | sh\n```\n\n### Installing ometajs\n\n``` bash\n$ [sudo] npm install ometajs -g\n```\n\n**Note:** If you are using ometajs _programatically_ you should not install\nit globally.\n\n``` bash\n$ cd /path/to/your/project\n$ npm install ometajs\n```\n\n## Usage\n\n### Command line\n\n```bash\n$ ometajs2js --help\n\nUsage:\n  ometajs2js [OPTIONS] [ARGS]\n\n\nOptions:\n  -h, --help : Help\n  -v, --version : Version\n  -i INPUT, --input=INPUT : Input file (default: stdin)\n  -o OUTPUT, --output=OUTPUT : Output file (default: stdout)\n  --root=ROOT : Path to root module (default: ometajs)\n```\n\n`ometajs2js` will take input `*.ometajs` file and produce [CommonJS][0]\ncompatible javascript file.\n\nAlso you may `require('*.ometajs')` files directly without compilation.\n(OmetaJS is patching `require.extensions` as [CoffeeScript][1] does).\n\n### Using as CommonJS module\n\n```javascript\nvar ometajs = require('ometajs');\n\nvar ast = ometajs.grammars.BSJSParser.matchAll('var x = 1', 'topLevel'),\n    code = ometajs.grammars.BSJSTranslator.matchAll([ast], 'trans');\n```\nExample\n\n### Example grammar\n\n```javascript\nometa Simple {\n  top = [#simple] -> 'ok'\n}\n```\n\n[More information][5] about OmetaJS syntax.\n\n### Use cases\n\nFast prototyping and building your own parser/language. Processing/traversing\ncomplex [AST][2].\n\nSome projects that are using this:\n\n -   [XJST](http://github.com/veged/xjst)\n -   [ShmakoWiki](http://github.com/veged/shmakowiki/)\n -   [OmetaHighlighter](http://github.com/veged/ometa-highlighter)\n\n### More information\n\nTo study OmetaJS or ask questions about it's core you can try to reach out\n[original repository][3] author [Alessandro Warth][4] or me.\n\nHere is [documented code][5].\n\n#### Contributors\n\n* [Alessandro Warth][4]\n* [Takashi Yamamiya](https://github.com/propella)\n* [Sergey Berezhnoy](https://github.com/veged)\n* [Nikita Vasilyev](https://github.com/NV)\n* [Fedor Indutny](https://github.com/indutny)\n\n[0]: http://www.commonjs.org/\n[1]: http://coffeescript.org/\n[2]: http://en.wikipedia.org/wiki/Abstract_syntax_tree\n[3]: http://www.tinlizzie.org/ometa/\n[4]: http://github.com/alexwarth\n[5]: http://veged.github.com/ometa-js/\n",
  "_id": "ometajs@3.1.12",
  "dist": {
    "shasum": "e34a839ca9ff498c1a126ac2d6c7899f96ad9d31"
  },
  "_from": "ometajs@~ 3.1.x"
}
afelix commented 12 years ago

cc @indutny Any ideas? As I can see, everything should be ok.

indutny commented 12 years ago
function isSequenceable(o) {
  return typeof o == 'string' || Array.isArray(o);
}

Probably you're giving buffer as an input of ometajs grammar?

olegman commented 12 years ago

$ npm -g ls /usr/local/lib ├─┬ bem@0.5.15 │ ├── apw@0.3.6 │ ├─┬ borschik@0.0.11 │ │ └─┬ cssp@1.0.6 │ │ └── ometajs@3.1.14 │ ├─┬ coa@0.3.5 │ │ └─┬ q@0.7.2 │ │ └── event-queue@0.2.0 │ ├── csso@1.2.17 │ ├─┬ dom-js@0.0.9 │ │ └── sax@0.4.2 │ ├── inherit@1.0.4 │ ├── memorystream@0.2.0 │ ├── mime@1.2.7 │ ├─┬ ometajs@2.1.10 │ │ ├─┬ q@0.7.2 │ │ │ └── event-queue@0.2.0 │ │ └── uglify-js@1.1.1 │ ├── q@0.8.8 │ ├─┬ q-fs@0.1.32 │ │ ├── fs-boot@0.0.8 │ │ └── q-io@0.0.15 │ ├─┬ q-http@0.1.14 │ │ ├── q@0.8.4 │ │ └── q-io@0.0.13 │ ├─┬ qq@0.3.5 │ │ └── q@0.8.4 │ ├── uglify-js@1.3.3 │ ├── underscore@1.3.3 │ ├─┬ winston@0.6.2 │ │ ├── async@0.1.22 │ │ ├── colors@0.6.0-1 │ │ ├── cycle@1.0.0 │ │ ├── eyes@0.1.8 │ │ ├── pkginfo@0.2.3 │ │ ├── request@2.9.203 │ │ └── stack-trace@0.0.6 │ └─┬ xjst@0.2.21 │ ├── coa@0.3.1 │ ├─┬ q@0.7.2 │ │ └── event-queue@0.2.0 │ └── uglify-js@1.1.1 ├─┬ borschik@0.0.11 │ ├─┬ coa@0.3.5 │ │ └─┬ q@0.7.2 │ │ └── event-queue@0.2.0 │ ├─┬ cssp@1.0.6 │ │ └─┬ ometajs@3.1.14 │ │ └── uglify-js@1.3.3 │ ├── inherit@1.0.4 │ ├── q@0.8.8 │ └─┬ q-fs@0.1.32 │ ├── fs-boot@0.0.8 │ └── q-io@0.0.15 ├── csso@1.2.17 ├─┬ npm@1.1.59 │ ├── abbrev@1.0.3 │ ├── ansi@0.1.2 │ ├── archy@0.0.2 │ ├── block-stream@0.0.6 │ ├── chownr@0.0.1 │ ├── couch-login@0.1.10 │ ├─┬ fstream@0.1.19 │ │ ├── graceful-fs@1.1.10 │ │ ├── inherits@1.0.0 │ │ ├── mkdirp@0.3.4 │ │ └── rimraf@2.0.2 │ ├─┬ fstream-npm@0.1.1 │ │ └─┬ fstream-ignore@0.0.5 │ │ └─┬ fstream@0.1.19 │ │ ├── graceful-fs@1.1.10 │ │ ├── inherits@1.0.0 │ │ ├── mkdirp@0.3.4 │ │ └── rimraf@2.0.2 │ ├── glob@3.1.12 │ ├── graceful-fs@1.1.10 │ ├── inherits@1.0.0 │ ├── ini@1.0.4 │ ├─┬ init-package-json@0.0.5 │ │ ├── promzard@0.2.0 │ │ └─┬ read-package-json@0.1.5 │ │ ├─┬ glob@3.1.12 │ │ │ ├── inherits@1.0.0 │ │ │ └── minimatch@0.2.6 │ │ ├── graceful-fs@1.1.10 │ │ ├── lru-cache@2.0.2 │ │ ├─┬ npmlog@0.0.2 │ │ │ └── ansi@0.1.2 │ │ ├── semver@1.0.14 │ │ └── slide@1.1.3 │ ├── lockfile@0.2.1 │ ├── lru-cache@2.0.2 │ ├─┬ minimatch@0.2.6 │ │ └── lru-cache@2.0.2 │ ├── mkdirp@0.3.4 │ ├─┬ node-gyp@0.6.10 │ │ ├─┬ fstream@0.1.19 │ │ │ └── inherits@1.0.0 │ │ ├─┬ glob@3.1.12 │ │ │ └── inherits@1.0.0 │ │ ├── graceful-fs@1.1.10 │ │ ├─┬ minimatch@0.2.6 │ │ │ └── lru-cache@2.0.2 │ │ ├── mkdirp@0.3.4 │ │ ├─┬ nopt@2.0.0 │ │ │ └── abbrev@1.0.3 │ │ ├─┬ npmlog@0.0.2 │ │ │ └── ansi@0.1.2 │ │ ├── osenv@0.0.3 │ │ ├── request@2.9.203 │ │ ├── rimraf@2.0.2 │ │ ├── semver@1.0.14 │ │ ├─┬ tar@0.1.13 │ │ │ ├── block-stream@0.0.6 │ │ │ └── inherits@1.0.0 │ │ └── which@1.0.5 │ ├── nopt@2.0.0 │ ├─┬ npm-registry-client@0.2.7 │ │ ├── chownr@0.0.1 │ │ ├── couch-login@0.1.10 │ │ ├── graceful-fs@1.1.10 │ │ ├── mkdirp@0.3.4 │ │ ├─┬ npmlog@0.0.2 │ │ │ └── ansi@0.1.2 │ │ ├── request@2.9.203 │ │ ├── retry@0.6.0 │ │ ├── rimraf@2.0.2 │ │ ├── semver@1.0.14 │ │ └── slide@1.1.3 │ ├─┬ npmconf@0.0.14 │ │ ├─┬ config-chain@1.1.2 │ │ │ ├── ini@1.0.4 │ │ │ └── proto-list@1.2.2 │ │ ├── inherits@1.0.0 │ │ ├── mkdirp@0.3.4 │ │ ├─┬ nopt@2.0.0 │ │ │ └── abbrev@1.0.3 │ │ ├── once@1.1.1 │ │ └── osenv@0.0.3 │ ├── npmlog@0.0.2 │ ├── once@1.1.1 │ ├── osenv@0.0.3 │ ├─┬ read@1.0.4 │ │ └── mute-stream@0.0.3 │ ├─┬ read-installed@0.0.2 │ │ └─┬ read-package-json@0.1.5 │ │ ├─┬ glob@3.1.12 │ │ │ ├── inherits@1.0.0 │ │ │ └── minimatch@0.2.6 │ │ ├── graceful-fs@1.1.10 │ │ ├── lru-cache@2.0.2 │ │ ├─┬ npmlog@0.0.2 │ │ │ └── ansi@0.1.2 │ │ ├── semver@1.0.14 │ │ └── slide@1.1.3 │ ├─┬ read-package-json@0.1.5 │ │ ├─┬ glob@3.1.12 │ │ │ ├── inherits@1.0.0 │ │ │ └── minimatch@0.2.6 │ │ ├── graceful-fs@1.1.10 │ │ ├── lru-cache@2.0.2 │ │ ├─┬ npmlog@0.0.2 │ │ │ └── ansi@0.1.2 │ │ ├── semver@1.0.14 │ │ └── slide@1.1.3 │ ├── request@2.9.203 │ ├── retry@0.6.0 │ ├── rimraf@2.0.2 │ ├── semver@1.0.14 │ ├── slide@1.1.3 │ ├─┬ tar@0.1.13 │ │ └─┬ fstream@0.1.19 │ │ ├── graceful-fs@1.1.10 │ │ ├── inherits@1.0.0 │ │ ├── mkdirp@0.3.4 │ │ └── rimraf@2.0.2 │ ├── uid-number@0.0.3 │ └── which@1.0.5 ├─┬ ometajs@3.1.14 │ ├─┬ coa@0.3.5 │ │ └─┬ q@0.7.2 │ │ └── event-queue@0.2.0 │ ├── q@0.8.8 │ └── uglify-js@1.3.3 ├─┬ serve@1.1.0 │ ├── commander@0.6.1 │ ├─┬ connect@2.3.9 │ │ ├── bytes@0.1.0 │ │ ├── cookie@0.0.4 │ │ ├── crc@0.2.0 │ │ ├── debug@0.7.0 │ │ ├── formidable@1.0.11 │ │ ├── fresh@0.1.0 │ │ ├── qs@0.4.2 │ │ └─┬ send@0.0.3 │ │ ├── mime@1.2.6 │ │ └── range-parser@0.0.4 │ ├─┬ jade@0.27.2 │ │ └── mkdirp@0.3.0 │ └─┬ stylus@0.29.0 │ ├── cssom@0.2.5 │ ├── debug@0.7.0 │ └── mkdirp@0.3.4 ├── uglify-js@1.3.3 └─┬ xjst@0.3.3 ├── coa@0.3.1 ├── ometajs@3.1.14 ├── q@0.8.8 └── uglify-js@1.3.3

$ cat /usr/local/lib/node_modules/borschik/node_modules/cssp/package.json

{
  "name": "cssp",
  "description": "CSSP — Ometa-JS based CSS parser",
  "version": "1.0.6",
  "homepage": "http://github.com/css/cssp",
  "author": {
    "name": "Sergey Kryzhanovsky",
    "email": "skryzhanovsky@ya.ru",
    "url": "http://github.com/afelix"
  },
  "repository": {
    "type": "git",
    "url": "http://github.com/css/cssp.git"
  },
  "directories": {
    "lib": "./lib"
  },
  "main": "./lib/csspapi",
  "dependencies": {
    "ometajs": "~ 3.1.x"
  },
  "bin": {
    "cssp": "./bin/cssp"
  },
  "engines": {
    "node": ">=0.4.0"
  },
  "licenses": [
    {
      "type": "MIT"
    }
  ],
  "readme": "## Предварительные требования:\n\n* Node.js: http://nodejs.org\n* npm: https://github.com/isaacs/npm\n\n##Установка, удаление и обновление:\n\nУстановка: `npm install cssp`\n\nОбновление: `npm update cssp`\n\nУдаление: `npm uninstall cssp`\n\n## Описание\n\nПо умолчанию CSSP разбирает входной CSS-текст в дерево (parser -- P), затем отправляет дерево на трансформацию (transformer -- TF), после чего транслирует в CSS-текст (translator -- TL).\n\nТаким образом полный цикл выглядит как CSS -> P -> TF -> TL -> CSS, и без указания ключей CSSP отдаст тот же текст, что был на входе.\n\n## Использование\n\nИспользование command line интерфейса:\n\n    cssp\n        показывает этот текст\n    cssp <имя_файла>\n        считывает CSS из <имя_файла> и записывает результат полного цикла (тот же CSS) в stdout\n    cssp <имя_файла> -dp\n    cssp <имя_файла> --parser\n        считывает CSS из <имя_файла> и записывает результат CSS -> P -> stdout\n    cssp <имя_файла> -df\n    cssp <имя_файла> --transformer\n        считывает CSS из <имя_файла> и записывает результат CSS -> P -> TF -> stdout\n    cssp <имя_файла> -dl\n    cssp <имя_файла> --translator\n        считывает CSS из <имя_файла> и записывает результат CSS -> P -> TF -> TL -> stdout\n    cssp <имя_файла> -r <имя_правила>\n    cssp <имя_файла> --rule <имя_правила>\n        считывает CSS из <имя_файла> и передаёт в цикл (P TF TL) <имя_правила>, которое надо обработать\n    cssp <имя_файла> -t\n    cssp <имя_файла> --trim\n        считывает CSS из <имя_файла> и удаляет начальные и концевые пробельные символы\n\nПримеры:\n\n    1) test.css = 'color: red'\n    > cssp test.css -r declaration -dp\n    > ['declaration',\n        ['property',\n          ['ident', 'color']],\n        ['value',\n          ['s', ' '],\n          ['ident', 'red']]]\n    2) test.css = '10px'\n    > cssp test.css -r dimension -dp -dl\n    > ['dimension',\n        ['number', '10'], 'px']\n      10px\n\nПример программного использования (Node.js):\n\n    var cssp = require('cssp'),\n        src = 'a { color: red }',\n        tree, trans,\n        dst;\n\n    tree = cssp.parse(src);\n    trans = cssp.transform(tree);\n    dst = cssp.translate(trans);\n\n    console.log('Source CSS:');\n    console.log(src);\n    console.log('Parser out:');\n    console.log(tree);\n    console.log('Transformer out:');\n    console.log(trans);\n    console.log('Translator out:');\n    console.log(dst);\n",
  "_id": "cssp@1.0.6",
  "dist": {
    "shasum": "b29caba6ce98809902afc447b10e406332eace83"
  },
  "_from": "cssp@~1.0.5"
}

$ cat /usr/local/lib/node_modules/borschik/node_modules/cssp/node_modules/ometajs/package.json

{
  "name": "ometajs",
  "description": "A object-oriented language for pattern matching",
  "version": "3.1.14",
  "homepage": "https://github.com/veged/ometa-js",
  "author": {
    "name": "Fedor Indutny",
    "email": "fedor@indutny.com",
    "url": "https://github.com/indutny"
  },
  "contributors": [
    {
      "name": "Sergey Berezhnoy",
      "email": "veged@mail.ru",
      "url": "http://github.com/veged"
    }
  ],
  "repository": {
    "type": "git",
    "url": "git://github.com/veged/ometa-js.git"
  },
  "bugs": {
    "url": "http://github.com/veged/ometa-js/issues"
  },
  "main": "./lib/ometajs",
  "directories": {
    "doc": "./doc",
    "lib": "./lib"
  },
  "dependencies": {
    "coa": "0.3.x",
    "q": "0.8.x",
    "uglify-js": "1.3.x"
  },
  "devDependencies": {
    "mocha": "1.3.x"
  },
  "bin": {
    "ometajs2js": "./bin/ometajs2js"
  },
  "engines": {
    "node": ">=0.4.0"
  },
  "licenses": [
    {
      "type": "AS IS"
    }
  ],
  "scripts": {
    "test": "mocha --ui tdd --growl --reporter spec test/unit/*-test.js"
  },
  "optionalDependencies": {},
  "readme": "```\n   ____  __  ___     __            _______\n  / __ \\/  |/  /__  / /_____ _    / / ___/\n / / / / /|_/ / _ \\/ __/ __ `/_  / /\\__ \\\n/ /_/ / /  / /  __/ /_/ /_/ / /_/ /___/ /\n\\____/_/  /_/\\___/\\__/\\__,_/\\____//____/\n```\n\n## OMetaJS [![Build Status](https://secure.travis-ci.org/veged/ometa-js.png)](http://travis-ci.org/veged/ometa-js)\n\nOMetaJS is a JavaScript implementation of the OMeta, an object-oriented language\nfor pattern matching.\n\nThis is a *node.js* module for developing and using such pattern matching\ngrammars.\n\n## Installation\n\n### Installing npm (node package manager)\n\n``` bash\n$ curl http://npmjs.org/install.sh | sh\n```\n\n### Installing ometajs\n\n``` bash\n$ [sudo] npm install ometajs -g\n```\n\n**Note:** If you are using ometajs _programatically_ you should not install\nit globally.\n\n``` bash\n$ cd /path/to/your/project\n$ npm install ometajs\n```\n\n## Usage\n\n### Command line\n\n```bash\n$ ometajs2js --help\n\nUsage:\n  ometajs2js [OPTIONS] [ARGS]\n\n\nOptions:\n  -h, --help : Help\n  -v, --version : Version\n  -i INPUT, --input=INPUT : Input file (default: stdin)\n  -o OUTPUT, --output=OUTPUT : Output file (default: stdout)\n  --root=ROOT : Path to root module (default: ometajs)\n```\n\n`ometajs2js` will take input `*.ometajs` file and produce [CommonJS][0]\ncompatible javascript file.\n\nAlso you may `require('*.ometajs')` files directly without compilation.\n(OmetaJS is patching `require.extensions` as [CoffeeScript][1] does).\n\n### Using as CommonJS module\n\n```javascript\nvar ometajs = require('ometajs');\n\nvar ast = ometajs.grammars.BSJSParser.matchAll('var x = 1', 'topLevel'),\n    code = ometajs.grammars.BSJSTranslator.matchAll([ast], 'trans');\n```\nExample\n\n### Example grammar\n\n```javascript\nometa Simple {\n  top = [#simple] -> 'ok'\n}\n```\n\n[More information][5] about OmetaJS syntax.\n\n### Use cases\n\nFast prototyping and building your own parser/language. Processing/traversing\ncomplex [AST][2].\n\nSome projects that are using this:\n\n -   [XJST](http://github.com/veged/xjst)\n -   [ShmakoWiki](http://github.com/veged/shmakowiki/)\n -   [OmetaHighlighter](http://github.com/veged/ometa-highlighter)\n\n### More information\n\nTo study OmetaJS or ask questions about it's core you can try to reach out\n[original repository][3] author [Alessandro Warth][4] or me.\n\nHere is [documented code][5].\n\n#### Contributors\n\n* [Alessandro Warth][4]\n* [Takashi Yamamiya](https://github.com/propella)\n* [Sergey Berezhnoy](https://github.com/veged)\n* [Nikita Vasilyev](https://github.com/NV)\n* [Fedor Indutny](https://github.com/indutny)\n\n[0]: http://www.commonjs.org/\n[1]: http://coffeescript.org/\n[2]: http://en.wikipedia.org/wiki/Abstract_syntax_tree\n[3]: http://www.tinlizzie.org/ometa/\n[4]: http://github.com/alexwarth\n[5]: http://veged.github.com/ometa-js/\n",
  "_id": "ometajs@3.1.14",
  "_from": "ometajs@~ 3.1.x"
}

What i need to do? After updating node to 0.8.8 and updating all of modules, i can't build my project :(

olegman commented 12 years ago

Нашел похожую проблему здесь https://github.com/bem/bem-tools/issues/132 Установил xjst версии 0.2.21, но не помогло. Это убрало только еще одну ошибку когда я делал bem build (path.exists is now called fs.exists.) А когда собираю через borschik, то что было собранно в bem build, ошибка осталась: $ borschik -t css -i locations_prototype/pages/all/all.css -o locations_prototype/pages/all/_all.css !!! !!! Warning: you're using grammar compiled with previous version of ometajs. Please recompile it with the newest one !!!

Error: Non-sequencable source! (source: @import url(../../blocks/i-global/i-global.css); @import url(../../blocks/i-clear/i-clear.css); @import url(../../blocks/b-popup/b-popup.css); @import url(../../blocks/b-map/b-map.css); @import url(../../blocks/b-scroll/b-scroll.css); @import url(../../blocks/b-scroll/jscrollpane/b-scrolljscrollpane.css); @import url(../../blocks/b-shell/b-shell.css); @import url(../../blocks/b-frame/b-frame.css); @import url(../../blocks/b-border/b-border.css); @import url(../../blocks/b-papyrus/b-papyrus.css); @import url(../../blocks/b-stats/b-stats.css); @import url(../../blocks/b-record/b-record.css); @import url(../../blocks/b-where/b-where.css); @import url(../../blocks/b-rooms/b-rooms.css); @import url(../../blocks/b-city/b-city.css); @import url(../../blocks/b-btn/b-btn.css); @import url(../../blocks/b-button/b-button.css); @import url(../../blocks/b-tabs/b-tabs.css); @import url(../../blocks/b-location/b-location.css); @import url(../../blocks/b-transfer/b-transfer.css); @import url(../../blocks/b-arrows/b-arrows.css); @import url(../../blocks/b-nav/b-nav.css); @import url(../../blocks/b-nav-new/b-nav-new.css); @import url(../../blocks/b-sep/b-sep.css); @import url(../../blocks/b-chat-top/b-chat-top.css); @import url(../../blocks/b-bar/b-bar.css); @import url(../../blocks/b-icon/b-icon.css); @import url(../../blocks/b-nickname/b-nickname.css); @import url(../../blocks/b-text/b-text.css); @import url(../../blocks/b-request/b-request.css); @import url(../../blocks/b-battles/b-battles.css); @import url(../../blocks/b-item-descr/b-item-descr.css); @import url(../../blocks/b-filter/b-filter.css); @import url(../../blocks/b-smile/b-smile.css); @import url(../../blocks/b-chat-panel/b-chat-panel.css); @import url(../../blocks/b-exp/b-exp.css); ) at Wrapper._getType (/usr/local/lib/node_modules/borschik/node_modules/cssp/node_modules/ometajs/lib/ometajs/core/parser.js:42:9) at Wrapper.AbstractParser (/usr/local/lib/node_modules/borschik/node_modules/cssp/node_modules/ometajs/lib/ometajs/core/parser.js:17:21) at Wrapper.AbstractGrammar (/usr/local/lib/node_modules/borschik/node_modules/cssp/node_modules/ometajs/lib/ometajs/core/grammar.js:10:31) at Wrapper.CSSParser (/usr/local/lib/node_modules/borschik/node_modules/cssp/src/cssptt.js:14:21) at new Wrapper (/usr/local/lib/node_modules/ometajs/lib/ometajs/legacy/utils.js:62:9) at Function.matchAll (/usr/local/lib/node_modules/ometajs/lib/ometajs/core/grammar.js:42:14) at Function.BorschikCSSParser.parse (/usr/local/lib/node_modules/borschik/lib/techs/css.ometajs.js:37:21) at exports.Tech.INHERIT.File.INHERIT.parseInclude (/usr/local/lib/node_modules/borschik/lib/techs/css.js:19:28) at exports.Tech.INHERIT.File.exports.File.INHERIT.parse (/usr/local/lib/node_modules/borschik/lib/tech.js:30:26) at exports.Tech.INHERIT.File.exports.File.INHERIT.read (/usr/local/lib/node_modules/borschik/lib/tech.js:24:37)

aadidenko commented 12 years ago

Кто-нибудь решил проблему?

sopilkar commented 12 years ago

жесть! аналогичная проблема. Надо залить на сервер и показать заказчику, а собрать единый css из-за глюков борща не могу :(((((((((( И что делать? хоть бери, да сам пиши свой борщик. Уже не первый раз попадаю в такую ситуацию ((((((((((((

borschik -t css -i main.css -o main.min.css !!! !!! Warning: you're using grammar compiled with previous version of ometajs. Please recompile it with the newest one !!!

Error: Non-sequencable source! (source:................... at Wrapper._getType (/usr/local/lib/node_modules/ometajs/lib/ometajs/core/parser.js:42:9) at Wrapper.AbstractParser (/usr/local/lib/node_modules/ometajs/lib/ometajs/core/parser.js:17:21) at Wrapper.AbstractGrammar (/usr/local/lib/node_modules/ometajs/lib/ometajs/core/grammar.js:10:31) at Wrapper.CSSParser (/usr/local/lib/node_modules/borschik/node_modules/cssp/src/cssptt.js:14:21) at new Wrapper (/usr/local/lib/node_modules/ometajs/lib/ometajs/legacy/utils.js:62:9) at Function.matchAll (/usr/local/lib/node_modules/ometajs/lib/ometajs/core/grammar.js:42:14) at Function.parse (/usr/local/lib/node_modules/borschik/lib/techs/css.ometajs.js:37:21) at [object Object].parseInclude (/usr/local/lib/node_modules/borschik/lib/techs/css.js:19:24) at [object Object].parse (/usr/local/lib/node_modules/borschik/lib/tech.js:36:26) at [object Object].read (/usr/local/lib/node_modules/borschik/lib/tech.js:26:37)

npm ls -g

/usr/local/lib ├─┬ bem@0.5.17 │ ├── apw@0.3.7 │ ├─┬ borschik@0.0.13 │ │ ├── coffee-script@1.3.3 │ │ └─┬ cssp@1.0.6 │ │ └── ometajs@3.1.14 │ ├── coa@0.3.6 │ ├── csso@1.2.18 │ ├─┬ dom-js@0.0.9 │ │ └── sax@0.4.2 │ ├── inherit@1.0.4 │ ├── memorystream@0.2.0 │ ├── mime@1.2.7 │ ├─┬ ometajs@2.1.10 │ │ ├─┬ q@0.7.2 │ │ │ └── event-queue@0.2.0 │ │ └── uglify-js@1.1.1 │ ├── q@0.8.8 │ ├─┬ q-fs@0.1.32 │ │ ├── fs-boot@0.0.8 │ │ └── q-io@0.0.15 │ ├─┬ q-http@0.1.14 │ │ ├── q@0.8.4 │ │ └── q-io@0.0.13 │ ├─┬ qq@0.3.5 │ │ └── q@0.8.4 │ ├── uglify-js@1.3.3 │ ├── underscore@1.3.3 │ ├─┬ winston@0.6.2 │ │ ├── async@0.1.22 │ │ ├── colors@0.6.0-1 │ │ ├── cycle@1.0.0 │ │ ├── eyes@0.1.8 │ │ ├── pkginfo@0.2.3 │ │ ├── request@2.9.203 │ │ └── stack-trace@0.0.6 │ └─┬ xjst@0.2.21 │ ├── coa@0.3.1 │ ├─┬ q@0.7.2 │ │ └── event-queue@0.2.0 │ └── uglify-js@1.1.1 ├─┬ borschik@0.0.13 │ ├── coa@0.3.6 │ ├── coffee-script@1.3.3 │ ├── cssp@1.0.6 │ ├── inherit@1.0.4 │ ├── q@0.8.8 │ └─┬ q-fs@0.1.32 │ ├── fs-boot@0.0.8 │ └── q-io@0.0.15 ├── csso@1.3.0 ├─┬ jsDAV@0.1.6 │ ├── asyncjs@0.0.8 │ ├── formidable@1.0.9 │ ├── gnu-tools@0.0.8 │ ├─┬ jsftp@0.4.4 │ │ └── streamer@0.2.1 │ ├── node-sftp@0.1.1 │ └── xmldom@0.1.2 ├─┬ npm@1.1.62 │ ├── abbrev@1.0.3 │ ├── ansi@0.1.2 │ ├── archy@0.0.2 │ ├── block-stream@0.0.6 │ ├── chownr@0.0.1 │ ├── couch-login@0.1.12 │ ├── fstream@0.1.19 │ ├─┬ fstream-npm@0.1.2 │ │ └── fstream-ignore@0.0.5 │ ├── glob@3.1.12 │ ├── graceful-fs@1.1.14 │ ├── inherits@1.0.0 │ ├── ini@1.0.4 │ ├─┬ init-package-json@0.0.5 │ │ └── promzard@0.2.0 │ ├── lockfile@0.2.1 │ ├── lru-cache@2.0.4 │ ├── minimatch@0.2.6 │ ├── mkdirp@0.3.4 │ ├── node-gyp@0.6.11 │ ├── nopt@2.0.0 │ ├── npm-registry-client@0.2.7 │ ├─┬ npmconf@0.0.16 │ │ └─┬ config-chain@1.1.2 │ │ └── proto-list@1.2.2 │ ├── npmlog@0.0.2 │ ├── once@1.1.1 │ ├── opener@1.3.0 │ ├── osenv@0.0.3 │ ├─┬ read@1.0.4 │ │ └── mute-stream@0.0.3 │ ├── read-installed@0.0.2 │ ├── read-package-json@0.1.5 │ ├── request@2.9.203 │ ├── retry@0.6.0 │ ├── rimraf@2.0.2 │ ├── semver@1.0.14 │ ├── slide@1.1.3 │ ├── tar@0.1.13 │ ├── uid-number@0.0.3 │ └── which@1.0.5 ├─┬ ometajs@3.1.14 │ ├── coa@0.3.6 │ ├── q@0.8.8 │ └── uglify-js@1.3.3 ├─┬ packager@0.0.4 │ ├── async@0.1.22 │ ├── coffee-script@1.3.3 │ ├── colorodo@1.0.0 │ └─┬ optimist@0.3.4 │ └── wordwrap@0.0.2 ├─┬ sm@0.2.11 │ ├── sourcemint-pinf-js@0.1.7 │ ├─┬ sourcemint-pm-sm@0.1.33 │ │ ├── mappings@0.1.5 │ │ ├─┬ prompt@0.2.3 │ │ │ ├── pkginfo@0.2.3 │ │ │ ├── read@0.1.1 │ │ │ ├── revalidator@0.1.2 │ │ │ ├─┬ utile@0.1.3 │ │ │ │ ├── async@0.1.22 │ │ │ │ ├── deep-equal@0.0.0 │ │ │ │ ├── i@0.3.0 │ │ │ │ ├── mkdirp@0.3.3 │ │ │ │ ├── ncp@0.2.6 │ │ │ │ └── rimraf@1.0.9 │ │ │ └─┬ winston@0.6.2 │ │ │ ├── async@0.1.22 │ │ │ ├── colors@0.6.0-1 │ │ │ ├── cycle@1.0.0 │ │ │ ├── eyes@0.1.7 │ │ │ ├── request@2.9.203 │ │ │ └── stack-trace@0.0.6 │ │ ├── semver@1.0.14 │ │ ├─┬ sourcemint-deployer@0.1.5 │ │ │ ├── sourcemint-pm-rsync@0.1.3 │ │ │ ├── sourcemint-pm-ssh@0.1.2 │ │ │ └─┬ sourcemint-sdk-aws@0.1.6 │ │ │ └─┬ aws-lib@0.0.6 │ │ │ ├── sax@0.1.5 │ │ │ └── xml2js@0.1.14 │ │ ├── sourcemint-pm-git@0.1.22 │ │ ├── sourcemint-pm-npm@0.1.19 │ │ ├─┬ sourcemint-pm-tar@0.1.6 │ │ │ └─┬ tar@0.1.13 │ │ │ ├── block-stream@0.0.6 │ │ │ ├─┬ fstream@0.1.18 │ │ │ │ ├── graceful-fs@1.1.10 │ │ │ │ ├── mkdirp@0.3.3 │ │ │ │ └── rimraf@2.0.2 │ │ │ └── inherits@1.0.0 │ │ ├── sourcemint-pm-url@0.1.2 │ │ └── sourcemint-pm-zip@0.1.1 │ └─┬ sourcemint-util-js@0.1.53 │ ├─┬ console-trace@0.1.0 │ │ └── callsite@0.0.2 │ ├─┬ glob@3.1.12 │ │ ├── graceful-fs@1.1.10 │ │ ├── inherits@1.0.0 │ │ └─┬ minimatch@0.2.6 │ │ └── lru-cache@2.0.1 │ ├── n-util@0.0.1 │ ├── q@0.8.5 │ └── wrench@1.3.9 ├── treehugger@0.0.1 ├─┬ v8debug@0.1.2 │ └── amd-loader@0.0.4 └─┬ xjst@0.2.21 ├── coa@0.3.1 ├── ometajs@2.1.10 ├─┬ q@0.7.2 │ └── event-queue@0.2.0 └── uglify-js@1.1.1

scf2k commented 12 years ago

Как временный воркэраунд cd /usr/local/lib/node_modules/borschik npm uninstall cssp npm install cssp@1.0.5

sopilkar commented 12 years ago

спс. уже пробовал. не помогло :( видимо точно придется "на коленке" писать свой скрипт на каком-нибудь php или python для сборки css. это будет быстрее, чем ждать, пока починят борща. тем более, что надо заливать проект. уже "достали" эти конфликты с nodejs и зависимыми модулями.

scf2k commented 12 years ago

Должно было помочь. Тогда borschik -t css-fast

sopilkar commented 12 years ago

ДА-а-а-а-а-а-а..... css-fast помог! Спасибо!!!

aadidenko commented 12 years ago

Спасибо, помогло

arikon commented 12 years ago

veged/ometa-js#11

arikon commented 12 years ago

Fixed in #36