bem-site / bem-lib-site-view

1 stars 3 forks source link

Невозможно установить из исходников #12

Closed ilyar closed 8 years ago

ilyar commented 8 years ago

Если поставить на уровне проекта:

$ npm i -D bem-site/bem-lib-site-data
$ npm i -D bem-site/bem-lib-site-view

скопировать в проект реализацию bem-lib-site:

$ cp -r bem-lib-site/bin project
$ cp index.js project 

Получаю ошибку:

$ ./bin/bem-lib-site .
module.js:341
    throw err;
    ^

Error: Cannot find module '/home/user/project/node_modules/bem-lib-site-view/desktop.bundles/index/index.bemtree'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (/home/user/project/node_modules/bem-lib-site-view/lib/process-blocks.js:11:15)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)

Важно отметить, что использовать дебаг при стили объявления переменных через один var невозможно, поправите если я не прав. Все меняется и дебаг становится возможным когда один var на одну перемененную.

ilyar commented 8 years ago

Если папки с блоками (common.blocks и lib-view.blocks) не доставляется через npm https://github.com/bem-site/bem-lib-site-view/blob/ca3eebdd3cbec37e0d0614cc22b5686f3d1d99c7/package.json#L20-L23 не понятно как вообще может работать?

ilyar commented 8 years ago

Проблема ясна, но как ее обойти не понятно. npm публикует собранный бандл, а при установки с гитхаба сборка не происходит, пытался решить https://github.com/ilyar/bem-lib-site-view/commit/31c003323ea9f32c90a713b1f99ee24506af0624 но этого не достаточно, надо тащить остальное (.enb, lib-view.blocks, common.blocks и может еще что-то).

Может есть элегантное решения для такого случая?

iniel commented 8 years ago

Как временное решение, тянуть форк с собранными закоммиченными desktop.bundles.

ilyar commented 8 years ago

@iniel спасибо за наводку, но пока сделал так https://github.com/ilyar/bem-lib-site-view/commit/39a109003ebdc2c975fc76054f06eb1ddf57f394

Считаю все таки должна быть возможность поставить не опубликованную версию, на данный момент без форка это не возможно.

ilyar commented 8 years ago

@tadatuta подскажи существует возможность игнорировать https://github.com/bem-site/bem-lib-site-view/blame/master/package.json#L19-L24 и получить возможность ставить библиотеку с мастера не создавая форк?

ilyar commented 8 years ago

scripts/postinstall:

#!/usr/bin/env bash

vendorPath=$(pwd)'/node_modules'

cd ${vendorPath}
git clone --depth 1 --single-branch -b master git@github.com:bem-site/bem-lib-site-view.git
git clone --depth 1 --single-branch -b master git@github.com:bem-site/bem-lib-site-data.git

cd ${vendorPath}'/bem-lib-site-view' && npm install
cd ${vendorPath}'/bem-lib-site-data' && npm install

package.json:

{
  "name": "bem-dev-site",
  "scripts": {
    "postinstall": "scripts/postinstall.sh",
    "test": "rm -fr docs && bem-lib-site-data . && bem-lib-site-view output-data"
  }
}