1"use strict";(self.webpackChunkvarya_me=self.webpackChunkvarya_me||[]).push([[408],{8453:function(e,t,n){n.d(t,{RP:function(){return r},xA:function(){return c}});var a=n(6540);const l=a.createContext({});function r(e){const t=a.useContext(l);return a.useMemo(()=>"function"==typeof e?e(t):{...t,...e},[t,e])}const s={};function c({components:e,children:t,disableParentContext:n}){let c;return c=n?"function"==typeof e?e({}):e||s:r(e),a.createElement(l.Provider,{value:c},t)}},9966:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var a=n(8453),l=n(6540);function r(e){const t=Object.assign({p:"p",a:"a",span:"span",ul:"ul",li:"li",h2:"h2",img:"img"},(0,a.RP)(),e.components);return l.createElement(l.Fragment,null,l.createElement(t.p,null,"ХоÑÑ Ð¿Ð¾Ð´ÐµÐ»Ð¸ÑÑÑÑ Ð¾Ð¿ÑÑом поддеÑÐ¶Ð°Ð½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¾Ð³Ð¾ ÑÑÐ¸Ð»Ñ JavaScript в одном из ÑвоиÑ
пÑоекÑов. Ðедавно Ð¼Ñ ÑеÑили пÑобоваÑÑ\nмолодой инÑÑÑÑÐ¼ÐµÐ½Ñ JSCS, и ÑезÑлÑÑÐ°Ñ ÐµÐ³Ð¾ иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð½ÑавилÑÑ Ð²Ñем Ñленам командÑ."),"\n",l.createElement("excerpt"),"\n",l.createElement(t.p,null,"Ðогда Ñ Ð¿ÑиÑоединилаÑÑ Ðº пÑоекÑÑ ",l.createElement(t.a,{href:"http://styleguide.sc5.io/"},"SC5 Styleguide"),", мне ÑÑÐ°Ð·Ñ Ð±ÑоÑилоÑÑ Ð² глаза оÑÑÑÑÑÑвие\nединого ÑÑÐ¸Ð»Ñ Ð´Ð»Ñ JavaScript кода. ÐÑо еÑÑ Ð½Ðµ бÑло ÑжаÑаÑÑим, но бÑло ÑÑно, ÑÑо пÑÐ¾ÐµÐºÑ Ð² ÑкоÑом вÑемени бÑÐ´ÐµÑ ÑаÑÑи и Ñем ÑанÑÑе Ð¼Ñ Ð½Ð°ÑнÑм\nпÑилагаÑÑ ÑÑÐ¸Ð»Ð¸Ñ Ðº ÑоблÑÐ´ÐµÐ½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¾Ð³Ð¾ ÑÑилÑ, Ñем лÑÑÑе. Тем более, Ñ Ñже знала о ÑÑÑеÑÑвовании и оÑобенноÑÑÑÑ
JSCS,\nпоÑÐ¾Ð¼Ñ ÑÑо на одном из моиÑ
пÑоекÑов ",l.createElement(t.a,{href:"http://frontendbabel.info/articles/jscs-javascript-code-style/"},"пÑбликовалÑÑ Ð¿ÐµÑевод\nÑÑаÑÑи о нем"),". ÐоÑÑÐ¾Ð¼Ñ Ð¼Ñ Ð´Ð°Ð¶Ðµ не ÑÑоÑли пеÑед вопÑоÑом,\nкакой инÑÑÑÑÐ¼ÐµÐ½Ñ Ð²ÑбÑаÑÑ."),"\n",l.createElement(t.p,null,"ÐонеÑно, еÑÑÑ Ð¸ дÑÑгие ÑеÑениÑ. ЧаÑе вÑего назÑваÑÑ JSLint и JSHint. Ðо давайÑе Ñ ÑнаÑала ÑаÑÑÐºÐ°Ð¶Ñ Ð²Ð°Ð¼ Ð¾Ð´Ð½Ñ Ð¸ÑÑоÑиÑ."),"\n",l.createElement(t.p,null,"ÐказÑваеÑÑÑ, когда авÑоÑÑ JSHint познакомилиÑÑ Ñ JSCS, он им Ñак понÑавилÑÑ, ÑÑо они пÑедпоÑли ÑÑаÑÑ ÐµÐ³Ð¾\nконÑÑибÑÑÑеÑами, Ñем ÑазвиваÑÑ Ð¿ÑовеÑÐºÑ ÑÑÐ¸Ð»Ñ Ð² ÑвоÑм инÑÑÑÑменÑе. Ð Ñ ÑÐµÐ±Ñ Ð¾ÑÑавили более ÑложнÑе ÑÑÑки, не пÑо ÑÑилÑ,\nа пÑо пÑогÑаммиÑование."),"\n",l.createElement("blockquote",{class:"twitter-tweet",lang:"ru"},l.createElement("p",null,"And with that, JSCS now has all the style enforcement rules that are\nbeing dropped in ",l.createElement("a",{href:"https://twitter.com/JSHint"},"@JSHint")," 3.0: ",l.createElement("a",{href:"https://t.co/W98EMSiTN5"},l.createElement(t.a,{href:"https://t.co/W98EMSiTN5"},"https://t.co/W98EMSiTN5"))," cc ",l.createElement("a",{href:"https://twitter.com/valueof"},"@valueof")),"â Mike Sherov (@mikesherov) ",l.createElement("a",{href:"https://twitter.com/mikesherov/status/419596672520318976"},"4 ÑнваÑÑ 2014")),"\n",l.createElement("script",{async:!0,src:"//platform.twitter.com/widgets.js",charset:"utf-8"}),"\n",l.createElement(t.p,null,"ÐолÑÑаеÑÑÑ, вÑÐ±Ð¾Ñ ÑÑÐ¾Ð¸Ñ Ð½Ðµ Ð¼ÐµÐ¶Ð´Ñ JSLint, JSHint и JSCS, а Ð¼ÐµÐ¶Ð´Ñ JSLint и комбинаÑией JSHint + JSCS."),"\n",l.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<div class="gatsby-highlight" data-language="js"><pre class="language-js"><code class="language-js">gulp<span class="token punctuation">.</span><span class="token function">task</span><span class="token punctuation">(</span><span class="token string">"jslint"</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token string">"jshint"</span><span class="token punctuation">,</span> <span class="token string">"jscs"</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div>'}}),"\n",l.createElement(t.p,null,"Ð ÑÑиÑÑваÑ, ÑÑо инÑÑÑÑÐ¼ÐµÐ½Ñ Ð½Ð¾Ð²Ñй, Ñо ÑÑÑойной аÑÑ
иÑекÑÑÑой, конÑÑибÑÑÑиÑÑ Ð² него бÑÐ´ÐµÑ Ð¾Ð´Ð½Ð¾ ÑдоволÑÑÑвие да и менÑÑе\nÑанÑов на ÑлиÑком долгÑÑ Ð¶Ð¸Ð·Ð½Ñ Ð±Ð°Ð³Ð¾Ð² из-за какого-нибÑÐ´Ñ Ð½ÐµÐ¿ÑоÑ
одимого легаÑи."),"\n",l.createElement(t.p,null,"ÐдоÑ
новлÑÐµÑ Ñакже и ÑÐ¾Ñ ÑакÑ, ÑÑо JSCS Ñже вÑбÑали Ñакие ÑважаемÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÐºÐ°Ðº ÑазÑабоÑÑики jQuery, Bootsrap и\nAngularJS."),"\n",l.createElement(t.p,null,"ÐÑак, JSCS â ÑÑо npm-пакеÑ, и ÑÑÑановиÑÑ ÐµÐ³Ð¾ можно как глобаÐ
1»Ñно на ÑÐ²Ð¾Ñ Ð¼Ð°ÑÐ¸Ð½Ñ Ñак и локалÑно на конкÑеÑнÑй пÑоекÑ:"),"\n",l.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<div class="gatsby-highlight" data-language="text"><pre class="language-text"><code class="language-text">npm install jscs</code></pre></div>'}}),"\n",l.createElement(t.p,null,"ÐÑоме Ñого, понадобиÑÑÑ ÑоздаÑÑ ÐºÐ¾Ð½ÑигÑÑаÑионнÑй Ñайл ",l.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">.jscsrc</code>'}})," и Ñам опиÑаÑÑ, какого ÑÑÐ¸Ð»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ пÑидеÑживаÑÑÑÑ\nJavaScript на ваÑем пÑоекÑе. ÐÑÐ¾Ñ Ñайл помеÑаеÑÑÑ Ð² коÑÐµÐ½Ñ Ð¿ÑоекÑа."),"\n",l.createElement(t.p,null,"ÐеÑмоÑÑÑ Ð½Ð° болÑÑое колиÑеÑÑво пÑавил, коÑоÑÑе поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ JSCS, конÑиг вÑÑд ли бÑÐ´ÐµÑ Ð±Ð¾Ð»ÑÑим, поÑÐ¾Ð¼Ñ ÑÑо в инÑÑÑÑменÑе\nпÑедÑÑмоÑÑÐµÐ½Ñ Ð¿ÑеÑеÑÑ. ÐопÑлÑÑнÑÑ
ÑÑилей Ð´Ð»Ñ JavaScript кода не Ñак много, и еÑли Ð²Ñ Ð²ÑбÑали один из ниÑ
, Ñо Ð½ÐµÑ Ð½ÑждÑ\nопиÑÑваÑÑ ÑÑÐ¸Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ. ÐоÑÑаÑоÑно ÑказаÑÑ, на кого Ð²Ñ Ñ
оÑели Ð±Ñ Ð±ÑÑÑ Ð¿Ð¾Ñ
ожим:"),"\n",l.createElement(t.ul,null,"\n",l.createElement(t.li,null,"airbnb"),"\n",l.createElement(t.li,null,"crockford"),"\n",l.createElement(t.li,null,"google"),"\n",l.createElement(t.li,null,"jquery"),"\n",l.createElement(t.li,null,"mdcs"),"\n",l.createElement(t.li,null,"wikimedia"),"\n",l.createElement(t.li,null,"yandex"),"\n"),"\n",l.createElement(t.p,null,"Ðаже еÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ ÑаÑÑ
Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ñ ÑÑими ÑÑилÑми, вÑÑ Ñавно Ñдобно вÑбÑаÑÑ Ð¼Ð°ÐºÑималÑно поÑ
ожий пÑеÑеÑ, поÑÐ¾Ð¼Ñ ÑÑо в JSCS\nвозможно пеÑеопÑеделиÑÑ Ð¿Ñавила пÑеÑеÑа."),"\n",l.createElement(t.p,null,"Ð, конеÑно, важно, ÑÑо инÑÑÑÑÐ¼ÐµÐ½Ñ Ñже доÑÑаÑоÑно зÑелÑй. РзнаÑиÑ, еÑÑÑ Ð²Ñе необÑ
одимÑе дÑÑжеÑÑвеннÑе пакеÑÑ Ð¸ плагинÑ\nÐ´Ð»Ñ ÑазнÑÑ
ÑедакÑоÑов."),"\n",l.createElement(t.h2,{id:"как-ÑÑо-бÑло",style:{position:"relative"}},l.createElement(t.a,{href:"#%D0%BA%D0%B0%D0%BA-%D1%8D%D1%82%D0%BE-%D0%B1%D1%8B%D0%BB%D0%BE","aria-label":"как ÑÑо бÑло permalink",className:"anchor before"},l.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>'}})),"Ðак ÑÑо бÑло"),"\n",l.createElement(t.p,null,"РобÑем, ÑÑиÑÑÐ²Ð°Ñ Ð²Ñе ÑÑи ÑакÑÑ, Ð¼Ñ Ð¾ÑÑановилиÑÑ Ð½Ð° JSCS. ÐаÑали Ñ Ñого, ÑÑо напиÑали подÑ
одÑÑÑÑ Ð½Ð°Ð¼ конÑигÑÑаÑÐ¸Ñ Ð¸ ÑÑÑ\nже иÑклÑÑили из ÑпиÑка Ð´Ð»Ñ Ð¿ÑовеÑки вÑе наÑи ÑайлÑ. У пÑоекÑа Ñже бÑла модÑлÑÐ½Ð°Ñ ÑÑÑÑкÑÑÑа, поÑÑÐ¾Ð¼Ñ ÑÑо оказалоÑÑ\nнеÑложнÑм."),"\n",l.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<div class="gatsby-highlight" data-language="text"><pre class="language-text"><code class="language-text">{\n ...\n\n "excludeFiles": [\n "node_modules/**",\n "src/modules/a/**",\n "src/modules/b/**",\n "src/*.js\n ]\n}</code></pre></div>'}}),"\n",l.createElement(t.p,null,"ÐÑ Ð´Ð¾Ð³Ð¾Ð²Ð¾ÑилиÑÑ, ÑÑо наÑÐ¸Ð½Ð°Ñ ÑабоÑаÑÑ Ñ ÐºÐ°ÐºÐ¸Ð¼-нибÑÐ´Ñ Ð¼Ð¾Ð´Ñлем, кÑоме ÑеализаÑии ÑиÑ, Ð¼Ñ Ñакже бÑдем пÑавиÑÑ ÑÑÐ¸Ð»Ñ Ð¸\nвÑÑеÑкиваÑÑ Ð¸ÑпÑавленнÑе модÑли из ÑпиÑка непÑовеÑÑемÑÑ
Ñайлов. СоблÑÐ´Ð°Ñ ÑÑо, Ð¼Ñ Ð´Ð¾Ð²Ð¾Ð»Ñно бÑÑÑÑо иÑпÑавили вÑе ÑÐ°Ð¹Ð»Ñ Ð¸\nобоÑлиÑÑ Ð±ÐµÐ· конÑликÑов."),"\n",l.createElement(t.p,null,"ÐоÑаздо важнее оказалоÑÑ Ð¿Ð¾Ð´Ð´ÐµÑжание иÑпÑавленнÑÑ
Ñайлов в иÑ
иÑпÑавленном ÑоÑÑоÑнии во вÑÐµÐ¼Ñ Ð±ÑдÑÑиÑ
пÑавок. ÐонеÑно,\nÑÑÑ Ð½Ð°Ð¼ помогаÑÑ Ð°Ð²ÑомаÑиÑеÑкие пÑовеÑки. Ðо Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ Ð²Ð¾Ð¿ÑоÑ, наÑÑолÑко ÑÑÑоги Ð¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð² ÑÑиÑ
пÑовеÑкаÑ
и когда\nименно пÑовеÑÑÑÑ. ÐÐµÐ´Ñ Ð¿Ð¾Ð´Ð´ÐµÑжка ÑÑÐ¸Ð»Ñ Ð½Ðµ должна ÑÑановиÑÑÑÑ ÑамоÑелÑÑ Ð¸ должна пеÑеÑÑгиваÑÑ Ð½Ð° ÑÐµÐ±Ñ Ð²ÐµÑÑ ÑокÑÑ\nÑазÑабоÑки."),"\n",l.createElement(t.p,null,"РиÑоге Ð¼Ñ Ð¿ÑиÑли к конÑепÑии ÑÐ°Ð·Ð´ÐµÐ½Ð¸Ñ Ð¾ÑвеÑÑÑвенноÑÑи. Так, Ð´Ð»Ñ Ð¾Ñновного ÑепозиÑоÑÐ¸Ñ Ð¼Ñ Ð²ÑбÑали жеÑÑкÑÑ Ð¿Ð¾Ð»Ð¸ÑикÑ\nв вопÑоÑе ÑоблÑÐ´ÐµÐ½Ð¸Ñ ÑÑилÑ, а Ð´Ð»Ñ ÑоÑков â ÑекомендаÑелÑнÑÑ. ÐÑ Ð½Ð°ÑÑÑоили Travis Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð
1½ пÑовеÑÑл ÑÑÐ¸Ð»Ñ Ð´Ð»Ñ\nпÑл-ÑеквеÑÑов. ÐÑли ÑÑÐ¸Ð»Ñ Ð½Ðµ ÑоблÑден, пÑл-ÑеквеÑÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²Ð»Ð¸Ñ Ð² оÑновной ÑепозиÑоÑий. Таким обÑазом, Ñам вообÑе\nникогда Ð½ÐµÑ ÐºÐ¾Ð´Ð° Ñ Ð¿Ð»Ð¾Ñ
им ÑÑилем. Ð Ñо же вÑÐµÐ¼Ñ Ð´Ð»Ñ ÑоÑков вÑÑ Ð³Ð¾Ñаздо мÑгÑе. ÐÑ Ð¾ÑказалиÑÑ Ð¾Ñ Ð½Ð°ÑилÑÑÑвеннÑÑ
pre-push\nÑ
Ñков Ñ Ð¿ÑовеÑкой ÑÑилÑ, но ÑекомендÑем ÑамоÑÑоÑÑелÑнÑÑ ÑÑÑÐ°Ð½Ð¾Ð²ÐºÑ pre-commit Ñ
Ñка и иÑполÑзование плагинов JSCS длÑ\nÑедакÑоÑов, ÑÑÐ¾Ð±Ñ ÑзнаваÑÑ Ð¾Ð± оÑибкаÑ
в пÑоÑеÑÑе ÑазÑабоÑки, а не Ñогда, когда ломаеÑÑÑ Ð¿Ñл-ÑеквеÑÑ. ÐÑе ÑекомендаÑии\nнапиÑÐ°Ð½Ñ Ñ Ð½Ð°Ñ Ð² ÑазÑабоÑÑеÑкой докÑменÑаÑии, и новÑе ÑÐ»ÐµÐ½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð°ÐºÑивно ими полÑзÑÑÑÑÑ."),"\n",l.createElement(t.p,null,"ÐÑем оÑобенно нÑавиÑÑÑ, как Ñеализована поддеÑжка в ÑедакÑоÑаÑ
. ÐÐµÐ´Ñ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ÑÑÐ¸Ð»Ñ Ð¿ÑÐ¸ÐµÐ·Ð¶Ð°ÐµÑ Ð² ÑепозиÑоÑий пÑоекÑа\nвмеÑÑе Ñ ÐºÐ¾Ð´Ð¾Ð¼, и ÑедакÑÐ¾Ñ ÑÑиÑÑÐ²Ð°ÐµÑ ÐµÑ ÑамоÑÑоÑÑелÑно. Ð, главное, Ñ ÑазнÑÑ
пÑоекÑов Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑазнÑй ÑÑилÑ, и длÑ\nпеÑекÑеÑÑной ÑабоÑÑ Ð½Ðµ ÑÑебÑеÑÑÑ Ð½Ð¸ÐºÐ°ÐºÐ°Ñ Ð¿ÐµÑенаÑÑÑойка."),"\n",l.createElement(t.img,{src:"http://varya.me/jscs-talk/pictures/sublime.gif",alt:""}),"\n",l.createElement(t.p,null,"ÐÑ Ð¸, конеÑно, вÑегда еÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð·Ð°Ð¿ÑÑÑиÑÑ Ð¿ÑовеÑÐºÑ ÑÑÐ¸Ð»Ñ Ð²ÑÑÑнÑÑ ÐºÐ°Ðº gulp-ÑаÑк."),"\n",l.createElement(t.img,{src:"http://varya.me/jscs-talk/pictures/travis.png",alt:""}),"\n",l.createElement(t.h2,{id:"пÑедоÑÑеÑежениÑ",style:{position:"relative"}},l.createElement(t.a,{href:"#%D0%BF%D1%80%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B5%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F","aria-label":"пÑедоÑÑеÑÐµÐ¶ÐµÐ½Ð¸Ñ permalink",className:"anchor before"},l.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>'}})),"ÐÑедоÑÑеÑежениÑ"),"\n",l.createElement(t.p,null,"Ðо вÑÐµÐ¼Ñ Ð²Ð½ÐµÐ´ÑÐµÐ½Ð¸Ñ Ð¸Ð½ÑÑÑÑменÑа Ð¼Ñ ÑÑолкнÑлиÑÑ Ñ Ð¿Ð°ÑоÑкой неÑдобÑÑв. ÐÑмаÑ, ÑÑÐ¾Ð¸Ñ Ð¾ ниÑ
ÑпомÑнÑÑÑ, Ñем более, ÑÑо к ним\nнаÑлиÑÑ ÑеÑениÑ."),"\n",l.createElement(t.p,null,'ÐÑновное ÑаÑÑÑÑойÑÑво â оÑибка "out of memory" пÑи запÑÑке gulp-ÑаÑка Ñ Ð¿ÑовеÑкой. ÐказалоÑÑ, ÑÑо недоÑÑаÑоÑно иÑклÑÑиÑÑ\nÑÐ°Ð¹Ð»Ñ Ð² конÑигÑÑаÑии JSCS. Gulp вÑÑ Ñавно ÑнаÑала пÑÑаеÑÑÑ ÑабоÑаÑÑ Ñ Ð½Ð¸Ð¼Ð¸ вÑеми и пока дело доÑ
Ð¾Ð´Ð¸Ñ Ð´Ð¾ JSCS, памÑÑÑ Ñже\nконÑаеÑÑÑ. РиÑоге Ð¼Ñ Ð¿ÑиÑли к иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°ÐºÐµÑа ',l.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">gulp-ignore</code>'}}),":"),"\n",l.createElement(t.span,{dangerouslySetInnerHTML:{__html:"<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">gulp.task('jscs', function() {\n return gulp.src([\n '**/*.js'\n ])\n .pipe(gulpIgnore.exclude([\n 'node_modules/**',\n 'demo-output/**'\n ]))\n .pipe(jscs());\n})</code></pre></div>"}}),"\n",l.createElement(t.p,null,"ÐÑо не оÑÐµÐ½Ñ Ñ
оÑоÑее ÑеÑение, Ð²ÐµÐ´Ñ Ð·Ð´ÐµÑÑ Ð¿ÑиÑлоÑÑ Ð¿ÐµÑеÑиÑлиÑÑ Ð²Ñе Ñе иÑклÑÑениÑ, коÑоÑÑе Ñже задеклаÑиÑÐ¾Ð²Ð°Ð½Ñ Ð² ",l.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">.jscsrc</code>'}}),".\nÐо лÑÑÑего ваÑианÑа Ñ Ð½Ð°Ñ Ð¿Ð¾ÐºÐ° неÑ."),"\n",l.createElement(t.p,null,"Ð, вÑоÑой моменÑ: еÑли Ð²Ñ Ð¸ÑполÑзÑеÑе watch в ÑазÑабоÑке, Ñо ÑкоÑее вÑего заÑ
оÑиÑе видеÑÑ Ð¾Ñибки в ÑеÑминале, но не\nпÑеÑÑваÑÑ Ð¸Ñполнение ÑаÑка. ÐÐ»Ñ ÑÑого поÑÑебÑеÑÑÑ ",l.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">gulp-plumber</code>'}}),":"),"\n",l.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<div class="gatsby-highlight" data-language="text"><pre class="language-text"><code class="language-text">
1gulp.task(\'jscs\', function() {\n return gulp.src([\n \'**/*.js\'\n ])\n ...\n .pipe(plumber())\n .pipe(jscs());\n});</code></pre></div>'}}),"\n",l.createElement(t.p,null,"ÐÑÑ, болÑÑе Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Ð¿Ñоблем или вопÑоÑов оÑноÑиÑелÑно иÑÑÑÑменÑа Ñ Ð½Ð°Ñ Ð½Ðµ бÑло. Ðн пÑекÑаÑно ÑабоÑÐ°ÐµÑ Ð¸ Ñже ÑÐ¾Ñ Ñанил нам\nÑÑÑÑÑи ÑеловекоÑаÑов."),"\n",l.createElement(t.h2,{id:"а-Ñакже",style:{position:"relative"}},l.createElement(t.a,{href:"#%D0%B0-%D1%82%D0%B0%D0%BA%D0%B6%D0%B5","aria-label":"а Ñакже permalink",className:"anchor before"},l.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>'}})),"Ð Ñакже"),"\n",l.createElement(t.p,null,"Ðозможно, Ð²Ð°Ñ Ñакже заинÑеÑеÑÑÐµÑ ",l.createElement(t.a,{href:"http://habrahabr.ru/post/220229/"},"ÑаÑÑказ авÑоÑа JSCS")," и мои\n",l.createElement(t.a,{href:"http://varya.me/jscs-talk/"},"ÑлайдÑ")," Ð¾Ñ Ð´Ð¾ÐºÐ»Ð°Ð´Ð° на ÑÑÑ ÑемÑ."))}var s=function(e={}){const{wrapper:t}=Object.assign({},(0,a.RP)(),e.components);return t?l.createElement(t,e,l.createElement(r,e)):r(e)},c=n(5556),i=n.n(c),u=n(3433),o=n(9868),m=n(7037),p=n(3928),g=n(4449);const d={Box:u.a,Button:o.$,Text:m.E,Heading:p.DZ,Paragraph:p.fz,PatternJourney:p.Rl,PureHtml:p.Qi,Section:p.wn,Hero:p.lq,Widget:p.x0,PatternJourney:p.Rl,WidgetContainer:p.uM,Workshop:p.cR,ProjectRoles:p.JV,DsAspects:p.nD,Link:p.N_,Image:p._V,ImageBlock:p.Dq,Map:p.T5,YandexImage:p.zX,Instagram:p.pd},h=e=>({children:t})=>l.createElement(p.DZ,{level:e},t),E={h1:h(1),h2:h(2),h3:h(3),h4:h(4),h5:h(5),h6:h(6),p:({children:e})=>l.createElement(p.fz,{standout:!0},e),a:p.N_,ul:p.Ul,ol:p.Ol,div:({"data-excerpt":e,children:t,...n})=>e?l.createElement(p.fz,{as:"div",lead:!0},t):l.createElement("div",n,t)};E.h1.propTypes={children:i().node};const S=({data:{mdx:e,site:{siteMetadata:{siteUrl:t}}},children:n,pageContext:{next:r,prev:s,fileSourceUrl:c}})=>{const{readingTime:i,slug:o,disqusIdentifier:m}=e.fields,{date:h,title:S,subTitle:f,cover:v,tumblr:x}=e.frontmatter,y=e.frontmatter.tags&&e.frontmatter.tags.split(","),b=o.startsWith("blog/");return e?l.createElement(p.PE,null,l.createElement(p.I0,{imageUrl:v&&v.childImageSharp.gatsbyImageData.images.fallback.src,tags:y,date:h,readingTime:b&&parseInt(i.minutes)>0?`${Math.round(i.minutes).toFixed(1)} min read`:null,title:S,subTitle:f}),l.createElement(p.G$,{data:e}),l.createElement(u.a,{flex:"grow",width:"xlarge",margin:{horizontal:"auto"},pad:"medium",direction:"column"},l.createElement(a.xA,{components:{...E,...d}},n),l.createElement(u.a,{direction:"row",fill:"horizontal",justify:"center",margin:{bottom:"auto"},pad:{vertical:"medium"}},y&&y.length>0&&y.map(e=>l.createElement(p.vw,{key:e,name:e.trim(),slug:(0,g.fX)(e),margin:"xsmall"}))),b&&l.createElement(l.Fragment,null,l.createElement(p.WB,{flex:!1,prevSlug:s&&`/${s.fields.slug}`,nextSlug:r&&`/${r.fields.slug}`,prevTitle:s&&s.frontmatter.title,nextTitle:r&&r.frontmatter.title,pad:{vertical:"medium"}}),l.createElement(p.Sn,{link:c}),l.createElement(p.Hw,{slug:o,title:S,disqusIdentifier:m,tumblr:x,siteUrl:t})))):null};function f(e){return l.createElement(S,e,l.createElement(s,e))}}}]); 2//# sourceMappingURL=component---src-templates-post-js-content-file-path-content-posts-jscs-in-use-index-ru-md-95aa5ed355a7ee29460c.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.