Fork me on GitHub
#clojure-russia
<
2015-11-09
>
malch02:11:40

@abtv У меня все отлично работает с CIDER и figwheel, спрашивай 😊

malch02:11:22

Да и без figwheel работало, помнится, просто я потом перешел

malch02:11:54

И piggieback на моей памяти ни разу не ломался

malch02:11:00

@asolovyov: А что в связке CIDER+figwheel у тебя не работает?

rm05:11:59

> И piggieback на моей памяти не разу не ломался прочитал как "не сразу сломался"

delaguardo08:11:36

А кто-нибудь знает причины по которым advanced билд для clojurescript стал таким толстым? собираю Hello world 0.0-3308 => 1.2K 1.7.170 => 100K

dottedmag09:11:30

@delaguardo: Это какой-то regression, в 1.7.122 было нормально ещё.

dottedmag09:11:47

Либо функциональности добавили, которая потребовала весь это boilerplate

dottedmag09:11:54

@delaguardo: А баг уже висит?

delaguardo09:11:48

@dottedmag: похоже что нет такого

dottedmag09:11:58

@delaguardo: Ты знаешь, где #C03S1L9DN и где "new issue" в JIRA ;)

delaguardo09:11:21

я как раз уже оформлять начал

delaguardo10:11:21

а это кажется фича( https://github.com/clojure/clojurescript/wiki/Quick-Start#production-builds

Examine out/main.js, the file size should be around 100K. If you zip this file you'll see that it's around 23K. This is significantly smaller than a jQuery dependency yet when using ClojureScript you have implicit dependencies on the entire ClojureScript standard library (10KLOC) and the Google Closure Library (300KLOC). You can thank dead code elimination.

artemyarulin10:11:51

хм, может из-за того что CLJS может скомпилить CLJS счас, поэтому столько всего и тащит. Хотя совсем не круто конечно

dottedmag10:11:52

@delaguardo: Так раньше было меньше всё равно.

delaguardo10:11:28

написал нолану, может скажет что понятного

delaguardo10:11:13

причем он тащит столько всякого мусора( шимы для Object, Window, какие-то проверки на отсутствие реализации каки-то интерфейсов

artemyarulin10:11:27

кстати - там в последней версии обещали компиляцию ускоренную, никто не смотрел на сколько быстрее?

delaguardo10:11:53

300ms vs 60ms на том же проекте

delaguardo10:11:58

вполне себе ускорили)

artemyarulin10:11:06

вау, ништяк

delaguardo10:11:56

это advanced

artemyarulin10:11:01

не то чтоб я часто компилирую с реплом то, но приятно

asolovyov10:11:35

@malch: сидер не разбирается, у меня clj или cljs, и потому переход по айтему в cljs не работает simple_smile

dottedmag10:11:25

@delaguardo: зафайлишь как Нолан сказал?

malch10:11:05

@asolovyov: У меня работает, правда-правда 😄

delaguardo10:11:27

@dottedmag: уже создал

malch10:11:16

@asolovyov: Только что проверил

malch10:11:07

А с новым clojurescript так вообще очень быстро работает (раньше компиляция заметно медленнее была)

asolovyov12:11:03

@malch: ого, рассказывай, как достиг simple_smile

malch12:11:18

Тебе с какого места?

asolovyov12:11:18

ты cider-jack-in делаешь или cider-connect?

malch12:11:34

второе

malch12:11:47

но у меня и первый вариант работал раньше

malch12:11:09

Я запускаю репл сервер отдельно

malch12:11:44

figwheel сервер запускается внутри как компонент

malch12:11:20

Потом делаю cider-connect и делаю из clj repl cljs

malch12:11:40

и второй раз подключаюсь для чистого clj repl-а

asolovyov12:11:06

во, я так же делаю

malch12:11:19

для этого есть удобный cider-replicate-connection, кстати 😃

asolovyov12:11:21

но потом у меня cider считает все файлы кложуркой обычный

asolovyov12:11:25

о, ок, спасибо

malch12:11:33

А у тебя все новое?

malch12:11:48

Это несколько дней назад было сломано

malch12:11:54

Но сейчас работает

malch12:11:24

Загляни в cider gitter - там я про это писал 😄

malch12:11:31

я еще после clj->cljs делаю eval на какую-нибудь форму из cljs буффера

malch12:11:59

Проверяю заодно, что работает

asolovyov12:11:30

ага, ок, сча попробую

asolovyov12:11:02

я вообще вчера обновился и у меня наступил странный глюк - когда я запускаю cljs-repl, в минибуфере появляется промпт Stdin: и что-то от меня хочет simple_smile

malch12:11:17

Хмм, у меня такого не было

abtv12:11:00

@malch: давай тогда с самого начала: ты выбирал вариант с piggieback или второй, который с weasel? А потом cider-jack-in-clojurescript? Кстати, а какая у тебя версия cider?

malch12:11:25

ок, давай

malch12:11:36

я выбрал figwheel

malch12:11:32

; CIDER 0.10.0snapshot (package: 20151106.2226) (Java 1.8.0_60, Clojure 1.7.0, nREPL 0.2.12)

malch12:11:07

[cider/cider-nrepl "0.10.0-SNAPSHOT"]
                  [refactor-nrepl "2.0.0-SNAPSHOT"]

abtv12:11:24

@malch: т.е. ты не добавлял [com.cemerick/piggieback "0.2.1"] в проект?

malch12:11:22

видимо нет

malch12:11:44

есть такой

abtv12:11:06

и версия 0.2.1?

abtv12:11:24

это у тебя в profiles.clj?

abtv13:11:36

@malch: ^тоже есть в project.clj?

malch13:11:25

:figwheel {:css-dirs ["resources/public/css"]
             :nrepl-port 7888
             :repl false
             :nrepl-middleware ["cider.nrepl/cider-middleware"
                                "refactor-nrepl.middleware/wrap-refactor"
                                "cemerick.piggieback/wrap-cljs-repl"]}

malch13:11:54

На самом деле я запускаю figwheel немного по-другому, но это не важно

asolovyov13:11:07

@malch: если ты фигвил юзаешь, то пиггибэк не нужен

asolovyov13:11:13

аа, у тебя он таки есть!

asolovyov13:11:21

не, ну он должен быть не нужен ))

malch13:11:33

может и не нужен 😊

malch13:11:57

Но опять же, может и без него заработает, не знаю

abtv13:11:15

@malch: а как ты проект запускаешь? cider-jack-in, cider-jack-in-clojurescript, lein repl или еще как-то?

malch13:11:46

запускаю репл отдельно, а потом cider-connect

malch13:11:23

почитай чуть выше, я @asolovyov писал про это

asolovyov13:11:32

@malch: по-моему это старое, но я щас помедитирую

malch13:11:43

надо, наверное, создать проект с примером работы всего этого

malch13:11:55

найду время - сделаю

abtv13:11:30

@malch: а он тебе выдает сообщение 'Do you want to associate the new connection with a local project?'? у меня раньше такого не было

malch13:11:47

Это правильно

malch13:11:11

жми y и Enter

delaguardo13:11:28

а какие это плюшки дает?

malch13:11:34

Ну, насколько я понимаю, CIDER как раз с помощью этого и умеет различать clj и cljs реплы, например

malch13:11:18

если ты подключаешь repl из проекта, не вижу смысла отвечать n

abtv13:11:53

@malch: он еще спрашивает project directory. указывать каталог, в котором project.clj лежит?

malch13:11:15

он тебе должен по-умолчанию этот каталог и показывать

malch13:11:23

жми enter

abtv13:11:27

просто enter?

delaguardo13:11:40

@malch: я тоже подключаю к локальному проекту, но никаких изменений не вижу. понимание какой repl использовать от этого не зависит

malch13:11:11

почему ты так думаешь?

malch13:11:43

(я не уверен в том, что я прав, но мне интересно)

delaguardo13:11:57

просто потестил

malch13:11:48

можно спросить напрямую в канале CIDER, конечно...

abtv13:11:43

@malch: а ты еще кроме lein repl делаешь lein figwheel и все, больше ничего снаружи Emacs не стартует?

delaguardo13:11:57

кажется из исходников понятно стало - он начинает использовать директорию с проектом в качестве nrepl-project-dir, как я понимаю теперь в проекте будут складываться логи repl, история и тд

malch13:11:57

@abtv: Я, как уже говорил, на практике запускаю figwheel изнутри repl, но это не должно ни на что влиять

malch13:11:21

@abtv: так что можешь считать, что ответ “да, больше ничего"

malch13:11:37

@delaguardo: здорово, спасибо 👍

abtv13:11:04

@malch: а тут у тебя что выбрано?

malch13:11:29

ничего

malch13:11:34

то есть не важно

malch13:11:54

потому что это нужно только для cider-jack-in-cljs

malch13:11:01

А я его не делаю

abtv13:11:12

@malch: ну я уже не знаю куда смотреть просто

malch13:11:40

Так а что у тебя не работает?

abtv13:11:23

@malch: делаю все то же, что и ты. когда хочу перейти к определению функции, то жму cmd+. и Emacs пишет 'Symbol some-name not resolved'

abtv13:11:55

кстати, а у тебя это работает? simple_smile

malch13:11:08

А cider-eval-defun-at-point работает?

abtv13:11:03

нет, Unhandled java.io.FileNotFoundException Could not locate blog/header__init.class or blog/header.clj on classpath.

abtv13:11:13

clj почему-то

malch13:11:32

Значит ты все-таки не перевел clj repl в cljs

malch13:11:45

Ты как это делаешь?

abtv13:11:02

похоже никак... а как надо?

delaguardo13:11:34

(require ‘[figwheel-sidecar.repl-api :as ra])
(ra/cljs-repl)

malch13:11:23

@abtv: это нужно сделать в репле figwheel-а

delaguardo13:11:23

но лучше завести хелперы как в вики

abtv14:11:11

@malch: а как попасть в repl фигвила? я запускаю lein figwheel, но приглашений не вижу...

malch14:11:56

так же, cider connect

malch14:11:01

порт 7888

malch14:11:11

если ты делал, как у меня

abtv14:11:55

direct connection failed

abtv14:11:04

а порт настраивал этот

abtv14:11:03

похоже там еще одно объявление стирало предыдущий порт

abtv14:11:08

@malch: @delaguardo Заработал! Огромное спасибо!

malch14:11:30

Всегда рад помочь 😄

malch14:11:58

Обращайся, если будут еще вопросы

abtv14:11:56

ok, спасибо

niquola18:11:00

Часовая готовность - http://webmeetups.net/meetups/82

niquola19:11:17

обшибка вышла

abtv19:11:25

а где же участники?

razum2um19:11:37

Илья из машины, вот что называется человека не пугают трудности simple_smile