Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Обновление стилей #552

Open
godfreyd opened this issue Aug 13, 2015 · 32 comments
Open

Обновление стилей #552

godfreyd opened this issue Aug 13, 2015 · 32 comments

Comments

@godfreyd
Copy link

Почему часто дописывая новое свойство в препроцессор styl, у меня все ломается. Перезапуск сервера ничего не решает. Проблема иногда решается переименованием блока, и всегда решается установкой модификатора. Может есть какая-то команда для обновления стилей, а я ее пропустил, прослушивая лекции. Нехочится плодить модификаторы для общих свойств всего блока.
P.S. Да и firebug это новое свойство тоже не видит.

@blond
Copy link

blond commented Aug 13, 2015

Какая версия stylus? Похоже на проблему с кэшом стайлуса, которая была исправлена в 0.52.0.

@godfreyd
Copy link
Author

версия 0.47.3

@blond
Copy link

blond commented Aug 13, 2015

Можно посмотреть в package.jsonhttps://github.com/bem/project-stub/blob/bem-core/package.json#L26

Если enb-stylus версии 2.x, то приедет свежая версия [email protected], если 1.x, то более более ранняя версия.

@godfreyd
Copy link
Author

как правильно мне удалить старую и поставить новую, чтобы ничего не испортить? сейчас папка stylus находится в папке node_modules

@godfreyd
Copy link
Author

"stylus": "^0.47.1", в в package.json — https://github.com/bem/project-stub/blob/bem-core/package.json#L26

@godfreyd
Copy link
Author

а если смотрю в package.json node_modules/stylus, то 0.47.3

@godfreyd
Copy link
Author

вот полный список

{
  "author": "",
  "name": "bem-project-stub",
  "version": "1.0.0",
     "repository": {
       "type": "git",
   "url": "git://github.com/bem/project-stub.git"
 },
  "engines": {
   "node": ">=0.10"
 },
 "dependencies": {
 "bem-environ": "~1.4.0"
 },
  "devDependencies": {
"bem": "0.9.0",
"bem-tools-autoprefixer": "0.0.3",
"borschik": "^1.3.0",
"borschik-tech-cleancss": "^1.0.0",
"bower": "^1.3.9",
"bower-npm-install": "~0.5.4",
"enb": "0.13.8",
  "enb-bh-php": "0.1.3",
   "enb-bem-techs": "1.0.0-rc",
  "enb-autoprefixer": "0.1.1",
  "enb-bemxjst": "1.3.3",
  "enb-borschik": "1.1.1",
  "enb-diverse-js": "0.1.0",
  "enb-modules": "0.2.0",
  "enb-stylus": "1.1.5",
  "stylus": "^0.47.1",
   "ym": "^0.1.0"
  },
  "scripts": {
   "start": "bem server",
   "postinstall": "bower-npm-install",
   "deps": "bower-npm-install --non-interactive"
   },
   "private": true
}

Что желательно обновить?

@blond
Copy link

blond commented Aug 13, 2015

В прошлых версиях project-stub"stylus": "^0.47.1" был нужен для bem-tools. Сейчас для сборки используется ENB, даже, когда используется bem-tools.

Нужно обновить enb-stylus, т.к. внутри этого пакета есть зависимость до пакета stylus.

Я бы предложил целиком обновиться на новый project-stub целиком, т.к. там было много важных исправлений.

@godfreyd
Copy link
Author

Спасибо. Правда я месяц назад ставил project-stub, неужели так быстро все изменилось.
делал так

git clone --depth 1 -b php-bem-bh [email protected]:bem/project-stub.git test

@godfreyd
Copy link
Author

Спасибо. Благодаря Вам нашел ошибку у себя в командах по установки своего проекта. все дело было в этом branch v1.0.0 при установке project-stub

@godfreyd
Copy link
Author

Странно, только что пересобрал. Версия не изменилась. Что я сделал не так.

git clone --depth 1 -b php-bem-bh https://github.com/bem/project-stub.git ls-project
cd ls-project
rm -rf .git; git init; git add ./; git commit -m "initial"
npm install
git clone --depth 1  https://github.com/bem/bh-php.git ./vendor/bem/bh
./node_modules/.bin/enb make -n
ls ./desktop.bundles/index/ | grep php
npm start

@godfreyd
Copy link
Author

Может быть причина в том, что мне нужен stub с php и я ставлю это -b php-bem-bh ?

@blond
Copy link

blond commented Aug 13, 2015

@Sergei-b84 да, в ветку php-bem-bh обновления не доехали.

/cc @tadatuta @zxqfox Давайте уже сделаем отдельные репозитории и выпилим все ветки из project-stub?

@godfreyd
Copy link
Author

Что же делать, руками самостоятельно это сложно?

@qfox
Copy link

qfox commented Aug 13, 2015

@blond Сделать можно, декомпозировать и определиться с задачей — сложно. Что решили? Я не побрезгаю сделать задачки, если они будут формализованы и висеть на мне ;-)

@Sergei-b84 Руками не сложно, но могут быть конфликты. В папке с клоном репозитория: git pull --rebase origin bem-core, если что-то пойдет не так — git rebase --abort ;-)

@godfreyd
Copy link
Author

В папке с клоном репозитория

Вы имеете ввиду c клоном последней версии project-stub (1.2.0) или ветки stub c php ?

@Guria
Copy link

Guria commented Aug 13, 2015

@zxqfox после rm -rf .git; git init; git add ./; git commit -m "initial" делать git pull --rebase origin bem-core кажется бессмысленно.

@qfox
Copy link

qfox commented Aug 13, 2015

@Guria есть такое.

@Sergei-b84 ветки стаб, но ДО удаления .git (можно пока вообще не удалять).

@godfreyd
Copy link
Author

Так как Node.js я не знаю, и проект пишу на php, поэтому я искал решения как мне лучше все собрать и наткнулся на вашу статью https://ru.bem.info/forum/175/
Все сделал, начал переписывать фронтенд и со временем стал замечать, что дописанные свойства стилей часто не применяются и ломают верстку. В связи с чем и возникло данное обсуждение.
@blond подсказал, что лучше вообще обновить project-stub, так как у меня старая версия stylus и не только. Вот и думаю, как все исправить, чтобы и версии всего необходимого были свежие и stub с php.

@godfreyd
Copy link
Author

Сейчас буду пробовать.

@godfreyd
Copy link
Author

@zxqfox

git pull --rebase origin bem-core

до npm install или после? Я полагаю. что после.

@qfox
Copy link

qfox commented Aug 13, 2015

до, чтобы свежий package.json подтянулся. можно еще rm -rf node_modules, если они там есть

@godfreyd
Copy link
Author

Вот ответ на выполнение данной команды git pull --rebase origin bem-core

remote: Counting objects: 779, done.
remote: Compressing objects: 100% (385/385), done.
remote: Total 779 (delta 347), reused 761 (delta 329), pack-reused 0
Receiving objects: 100% (779/779), 127.03 KiB | 0 bytes/s, done.
Resolving deltas: 100% (347/347), completed with 11 local objects.
From https://github.com/bem/project-stub
 * branch            bem-core   -> FETCH_HEAD
First, rewinding head to replay your work on top of it...
Applying: Merge pull request #106 from uradvd85/patch-1
Using index info to reconstruct a base tree...
<stdin>:214: trailing whitespace.
<stdin>:233: trailing whitespace.
warning: 2 lines add whitespace errors.
Falling back to patching base and 3-way merge...
Auto-merging package.json
CONFLICT (add/add): Merge conflict in package.json
 Auto-merging desktop.bundles/index/index.bemjson.js
CONFLICT (add/add): Merge conflict in desktop.bundles/index/index.bemjson.js
Auto-merging bower.json
CONFLICT (add/add): Merge conflict in bower.json
Auto-merging README.md
CONFLICT (add/add): Merge conflict in README.md
Auto-merging .gitignore
CONFLICT (add/add): Merge conflict in .gitignore
Auto-merging .enb/make.js
CONFLICT (add/add): Merge conflict in .enb/make.js
Auto-merging .bem/techs/bemjson.js.js
CONFLICT (add/add): Merge conflict in .bem/techs/bemjson.js.js
Auto-merging .bem/levels/bundles.js
CONFLICT (add/add): Merge conflict in .bem/levels/bundles.js
Auto-merging .bem/levels/blocks.js
CONFLICT (add/add): Merge conflict in .bem/levels/blocks.js
Failed to merge in the changes.
Patch failed at 0001 Merge pull request #106 from uradvd85/patch-1
The copy of the patch that failed is found in:
  /usr/home/sergei/htdocs/ls-project/.git/rebase-apply/patch
  When you have resolved this problem, run "git rebase --continue".
  If you prefer to skip this patch, run "git rebase --skip" instead.
   To check out the original branch and stop rebasing, run "git rebase --abort".

Я как понимаю не все прошло гладко?

@godfreyd
Copy link
Author

хотя версии обновились в файле package.json

 "devDependencies": {
"bem": "^0.10.0",
"borschik": "^1.4.1",
"borschik-tech-cleancss": "^2.0.1",
"enb": "^0.17.0",
"enb-autoprefixer": "^0.3.0",
"enb-bem-techs": "^2.0.0-rc",
"enb-bemxjst": "^1.3.5",
"enb-borschik": "^1.5.1",
"enb-diverse-js": "^0.1.0",
"enb-modules": "^0.2.0",
"enb-stylus": "^2.0.0-rc",
"ym": "^0.1.1"
  },

@godfreyd
Copy link
Author

и команда npm install не выполняется

npm install
npm ERR! install Couldn't read dependencies
npm ERR! FreeBSD 10.0-RELEASE
npm ERR! argv "node" "/usr/local/bin/npm" "install"
npm ERR! node v0.12.4
npm ERR! npm  v2.12.1
npm ERR! file /usr/home/sergei/htdocs/ls-project/package.json
npm ERR! code EJSONPARSE
npm ERR! Failed to parse json
npm ERR! Unexpected token '<' at 4:1
npm ERR! <<<<<<< HEAD
npm ERR! ^
npm ERR! File: /usr/home/sergei/htdocs/ls-project/package.json
npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
npm ERR!
npm ERR! This is not a bug in npm.
npm ERR! Tell the package author to fix their package.json file. JSON.parse
npm ERR! Please include the following file with any support request:
npm ERR!     /usr/home/sergei/htdocs/ls-project/npm-debug.log

@godfreyd
Copy link
Author

Подскажите в чем проблема?

@godfreyd
Copy link
Author

Может подскажете, как без project-stub собрать заготовку для проекта, чтобы работало с Php, раз с ним проблема с обновлениями. Спасибо.

@tadatuta
Copy link
Member

@blond А какая принципиальная разницу между тем, что сейчас репо project-stub и ветка php-bem-bh, а будет репо project-stub-php и ветка master? Как была необходимость синкаться, так и остается.
Я считаю, что единственное годное решение — это поддержать PHP в генераторе, а ветку закопать.

@zxqfox Если в такой формулировке тебя задача устраивает, то issue уже есть и я с радостью его переассайню ;)

Ну а чтобы прямо сейчас помочь @Sergei-b84, думаю, нужно обновиться в существующей ветке.

@blond
Copy link

blond commented Aug 13, 2015

@tadatuta мне лижбы не было ничего кроме master в project-stub. Переедет в другой стаб или в генератор не принципиально.

В другой стаб по мне лучше чем в ветке, потому что можно будет нормально заводить ишьюсы про баги. Ну и у него должен быть кто-то ментейнер.

В генератор было бы совсем круто.

@qfox
Copy link

qfox commented Aug 13, 2015

Мде ;-) Видимо, пора поковырять генератор. Попробую приступить к станку в субботу.

@godfreyd
Copy link
Author

Спасибо. Буду ждать новостей. Отпишитесь, пожалуйста, по возможности.

@tavriaforever
Copy link
Member

@Sergei-b84

  1. Открой package.json, найди там enb-stylus, замени версию на 2.0.0-rc
  2. Выполни в консоле npm update enb-stylus
  3. Открой конфиг .enb/make.js и найди, где происходит require enb-stylus технологии, пример https://github.com/bem/project-stub/blob/php-bem-bh/.enb/make.js#L10, переименуй enb-stylus/techs/css-stylus на enb-stylus/techs/stylus
  4. Профит.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants