Matreshka.jsã¯ããžã¥ãã¢ãšã·ãã¢ã®ã®ã£ãããåããŸã
Matreshka.jsãã¬ãŒã ã¯ãŒã¯ã®2çªç®ã®ããŒãžã§ã³ã®ããŒã¿çããªãªãŒã¹ãããŸããã ãªãªãŒã¹ã¯ãæåŸã®ãããã®1é±éåŸïŒããã«æ°æ¥åŸïŒã«ãªãªãŒã¹ãããã¬ããŒãã¯ãã®æçš¿ã®ãªãªãŒã¹ããå§ãŸããŸãã ãããžã§ã¯ãã¯é·ãéãã¬ã¢ã«ãã¡/ã¢ã«ãã¡ã¹ããŒã¿ã¹ã§ããã倧ããªå€æŽããªãå®éã®ãããžã§ã¯ãã§ãã§ãã¯ãããŠãããããããŒãžã§ã³ã¯å®å®ããŠãããšèŠãªãããããŒã¿ã¹ããŒã¿ã¹ã¯çŽç²ãªåœ¢åŒã§ãã

» ãªããžããª
» ãŠã§ããµã€ã
ãã¬ãŒã ã¯ãŒã¯ã®äœçœ®æ±ºã
çŽ æŽãªãã¿ããªã®ããã®JavaScriptãã¬ãŒã ã¯ãŒã¯ãã®ä»£ããã«ãMatreshka.jsã¯ãã·ã³ãã«ãªãã¬ãŒã ã¯ãŒã¯ããšããŠäœçœ®ä»ããããŠããŸãã ãµã€ãããããã¹ããè€è£œãã代ããã«ããã®ãã€ã³ãããã詳现ã«èª¬æããããã¹ããžã®ãªã³ã¯ãé
眮ãããŠãã ãã ã
äžè¬çãªå€æŽ
- ãã¬ãŒã ã¯ãŒã¯ã¯ãECMAScript 2015ãšæçµä»æ§ã«ãŸã å«ãŸããŠããªãããã€ãã®æ§æèŠçŽ ã䜿çšããŠãŒãããæžãçŽãããŸããã
- ãã¹ãŠã®äŸãæ°ããJavaScriptã§æžãçŽãããŠããŸãã
- æœåšçãªã¡ã¢ãªãªãŒã¯ããã¹ãŠä¿®æ£ããŸããã
- å¿
èŠãªé¢æ°ãšã¯ã©ã¹ã®ã¿ãã€ã³ããŒãããæ©èœã远å ãããŸããã åéçã¡ãœãããšã¯ã©ã¹ã®ããã¥ã¡ã³ãã«ã¯ãã¢ãžã¥ãŒã«ã®ã¢ãã¬ã¹ã瀺ãããŠããŸãã
const bindNode = require('matreshka/bindnode'); bindNode(object, key, node);
- èšäºãã«ãŒã¿ãŒãªã©ãä»éãããã¹ãŠã®è³æãæŽæ°ãããŸããã
- ããã¥ã¡ã³ãã¯ãWebpackãšãJSDocããã³GFMããHTMLãã¡ã€ã«ãéåžžã«è¿
éã«çæããç¬èªã®ãã©ã°ã€ã³ã䜿çšããŠåéãããŸãã
ãªãªãŒã¹ããã»ã¹ã®èªåå
以åã¯ãæ°ãããªãªãŒã¹ããªãªãŒã¹ããããã«ãããã€ãã®ç¹°ãè¿ãã¢ã¯ã·ã§ã³ãå®è¡ããå¿
èŠããããŸããã
- ã³ãŒãã®å€æŽããã¹ãã®äœæ
- ã³ããããã³ããã
- Gruntã§ãã«ããã
- ãã«ãã¬ããŒãã³ããã
- package.jsonã®ããŒãžã§ã³ãæåã§å€æŽãã
- NPMã«ã¢ãžã¥ãŒã«ãå
¬éãã
- GitHubãããã·ã¥ãã
- Githubã§ãªãªãŒã¹ãäœæãã
- ãµã€ãã®ãã·ã¢èªçã®ãæ°æ©èœãã»ã¯ã·ã§ã³ã®æŽæ°
- ããã¥ã¡ã³ãã«æ°ããã¢ã€ãã ã远å ããïŒæ°ããæ©èœããªãªãŒã¹ã«å«ãŸããå ŽåïŒ
- ãµã€ããæ§ç¯ããŠãµãŒããŒã«å±éãã
- ãµã€ããªããžããªã«ã³ããããã
- TwitterãVKãFacebookã§ã®æ°ããããŒãžã§ã³ã®ãªãªãŒã¹ã®çºè¡š
ãããã£ãŠã倿Žã«ãã£ãŠåé¡ãä¿®æ£ãããå ŽåããªãªãŒã¹ã¯æ¥ãã§ããŸããã§ããããããã¯ãã€ããŒãšèŠãªããã倿Žã®ãªã¹ããèç©ããŠé±æ«ã«æ°ããããŒãžã§ã³ããªãªãŒã¹ããããšã奜ã¿ãŸããïŒãã¡ãããé倧ãªåé¡ã®ä¿®æ£ã¯ã§ããã ãæ©ãåºãŸããïŒã
ãããžã§ã¯ããžã®ã»ãã³ãã£ãã¯ãªãªãŒã¹ã®è¿œå ãTravis CIã®äœ¿çšãããã³ãã®ä»ã®å€æŽïŒããšãã°ããã·ã¢èªã®å€æŽãã°ã®åé€ïŒã®ãããã§ããªãªãŒã¹ã®ãªãªãŒã¹ã¯éåžžã«åçŽãªã¹ããŒã ã«åŸã£ãŠè¡ãããŸãã
- ã³ãŒãã®å€æŽããã¹ãã®äœæ
- GitHubãããã·ã¥ãã
- ããã¥ã¡ã³ãã«æ°ããã¢ã€ãã ã远å ããïŒæ°ããæ©èœããªãªãŒã¹ã«å«ãŸããå ŽåïŒ
- ãµã€ããªããžããªã«ã³ãããããŸãïŒæ°ããæ©èœããªãªãŒã¹ã«å«ãŸããå ŽåïŒ
ããã«ããã¬ãŒã ã¯ãŒã¯èªäœã«æ°ããæ©èœã远å ããããšã¯ã»ãšãã©ãããŸããïŒä»¥äžã§è©³ãã説æããŸãïŒããã®ãããæåŸãã2çªç®ã®ãã€ã³ãã¯ç¡èŠã§ããŸãã
ä¿®æ£ãŸãã¯featãã¬ãã£ãã¯ã¹ä»ãã®ã³ããããGithubã«å°éãããšã次ã®ããšãèµ·ãããŸãã
- CIåŒã³åºããã¹ã
- ã»ãã³ãã£ãã¯ãªãªãŒã¹ã¯ãã³ããããè§£æããpackage.jsonã®ããŒãžã§ã³ã倿ŽããŸã
- NPMçšã«ES5ã§ã³ãŒããã³ã³ãã€ã«ããŸã
- Webpackã§ãã«ããã
- gh-pagesãã©ã³ãã§ã®ã¢ã»ã³ããªã®å
¬éïŒã€ãŸãã "rebuild"ãªã©ã®ããŒãã£ã³ãããã¯ãããŸããïŒ
- ããããTwitterã§æ°ãããªãªãŒã¹ãçºè¡š
- Githubã§æ°ãããªãªãŒã¹ãå
¬éãã
1æ¥ã«ããã€ãã®ããããäœæãããŠãé©ããªãã§ãã ããïŒãã®ãããªã±ãŒã¹ããŸãã«ãªãããšãé¡ã£ãŠããŸãïŒã
åæ§ã«ããµã€ããªããžããªãžã®ã³ãããã«ãããTravisã¯PM2ã䜿çšããŠãµã€ãããµãŒããŒã«èªåçã«ãããã€ããŸãã
- ãŠã¯ã©ã€ãèªçã®ããã¥ã¡ã³ãã远å ããŸããã
- ãã¬ãŒã ã¯ãŒã¯ã®ååã¯ãMatreshka.jsãŸãã¯çç¥åœ¢-MatreshkaïŒã©ãã³èªã倧æåïŒã«ãªããŸããã
- VKãšFacebookã®ããŒãžã¯ããæ°ããããŒãžã§ã³ããªãªãŒã¹ãããŸããããªã©ã®äžèŠåæ§ãšã¹ãã¬ãªã¿ã€ãã®ãã¥ãŒã¹ã«ããééãããŠããŸãã
- ãã¹ãŠã®äŸãšåºæ¬çãªãã¥ãŒããªã¢ã«ã¯ãçŸåšãã®ãªããžããªã«ãããŸã ã
- Patreonã§è³é調éãã£ã³ããŒã³ãéå§ãããŸãã ã äŒç€Ÿã§Matreshka.jsã䜿çšããŠããå Žåããããžã§ã¯ãã®è²¡æ¿çæ¯æŽã¯ããããžã§ã¯ããç©æ¥µçã«éçºãããããšãä¿èšŒããŸãã ããªããå人ã®éçºè
ã§ããã°ãããªãã®å©ããåæ§ã«éèŠã§ãã ãã®ãããªå€§èŠæš¡ãªè£œåã®éçºãš3ãåœèªã®ããã¥ã¡ã³ãã®äœæã«ã¯æ°çŸæéã®ç¡åäœæ¥ãå¿
èŠã«ãªããããçããã®ãµããŒããåžæããŸãã
APIã®å€æŽ
æå€§ã®å€æŽç¹ã¯ãæã«ãéœåžã«ããªãã£ãå€ãã®æ©èœïŒããšãã°ã trimæ©èœïŒã®åé€ã§ããã
ãããã®æ©èœãååšããã®ã¯ãªãã§ããïŒ åæ©ã¯ç°¡åã§ããããã¬ãŒã ã¯ãŒã¯ã®å
éšã¡ã«ããºã ã«å¿
èŠã§ãããããããã®é¢æ°ãååšããå Žåããããªãã¯ãã¬ãŒã ã¯ãŒã¯APIã«è¿œå ããŠã¿ãŸãããïŒ
ãã®çµæãããã¥ã¡ã³ãã¯å€§å¹
ã«èšãã¿ããã¬ãŒã ã¯ãŒã¯ã®äœ¿ããããã«æãå¿å°ãã广ããªããå€ãã®æçšãªæ¹æ³ãæ
å ±ãã€ãºã§å€±ããããã®ãããªæ©èœãåé€ããæ©èœã倱ãããŸããïŒããã¯é倧ãªå€æŽã§ããããïŒã
2çªç®ã®ããŒãžã§ã³ãããMatreshka.jsã«ã¯ãã¬ãŒã ã¯ãŒã¯èªäœã«åºæã®æ©èœãå«ãŸããŠããŸããããå
±éã颿°ã¯å«ãŸããŠããŸããã ããã€ãã®ã¡ãœãããåé€ããå
·äœçãªçç±ã«ã€ããŠã¯ããã©ãŒã©ã ã«æžããŸãã ã
æ°ããæ©èœã¯ããã¬ãŒã ã¯ãŒã¯èªäœã«å«ãŸãããããã远å ã®ãã©ã°ã€ã³ãšã©ã€ãã©ãªã®åœ¢ã§æäŸãããå¯èœæ§ãé«ããªããŸãïŒãã ããåŸè
ã¯é€å€ãããŸããïŒã
APIã®å€æŽç¹ã«ã€ããŠã¯ãããã¥ã¡ã³ãã®ããã¹ããéè€ããªãããã«ã以äžã§éåžžã«ç°¡åã«èª¬æããŸãã
ïŒ!!!ïŒ -é倧ãªå€æŽ
ïŒïŒïŒ -å€ãã¢ããªã±ãŒã·ã§ã³ã«åœ±é¿ãäžããªãå¯èœæ§ãé«ãç Žå£çãªå€æŽ
åé€ããããã®
- ïŒ!!!ïŒ
Matreshka.delay - ïŒ!!!ïŒ
Matreshka#delay - ïŒ!!!ïŒ
Matreshka.define - ïŒ!!!ïŒ
Matreshka#define - ïŒ!!!ïŒ
Matreshka.defineSetter - ïŒ!!!ïŒ
Matreshka#defineSetter - ïŒ!!!ïŒ
Matreshka.defineGetter - ïŒ!!!ïŒ
Matreshka#defineGetter - ïŒ!!!ïŒ
Matreshka#getAnswerToTheUltimateQuestionOfLifeTheUniverseAndEverything - ïŒ!!!ïŒ
Matreshka.trim - ïŒ!!!ïŒ
Matreshka.orderBy - ïŒ!!!ïŒ
Matreshka.noop - ïŒ!!!ïŒ
Matreshka.extend - ïŒ!!!ïŒ
Matreshka.each - ïŒ!!!ïŒ
Matreshka.bound - ïŒ!!!ïŒ
Matreshka#bound - ïŒ!!!ïŒ
Matreshka.$bound - ïŒ!!!ïŒ
Matreshka#$bound - ïŒ!!!ïŒ
Matreshka.boundAll - ïŒ!!!ïŒ
Matreshka#boundAll - ïŒ!!!ïŒ
Matreshka.randomString ïŒ çŸåšã¯ããã«ãããŸã ïŒ - ïŒ!!!ïŒ
Matreshka.get - ïŒ!!!ïŒ
Matreshka#get - ïŒ!!!ïŒ
Matreshka.deepFind - ïŒ!!!ïŒ
Matreshka.setProto - ïŒ!!!ïŒ
Matreshka.toArray - ïŒ!!!ïŒ
Matreshka.version - ïŒ!!!ïŒ
Matreshka#sandbox - ïŒ!!!ïŒ
Matreshka#$sandbox - ïŒ!!!ïŒ
Matreshka.Object#toNative - ïŒ!!!ïŒ
Matreshka.Object#toObject - ïŒ!!!ïŒ
Matreshka.Array#toNative - ïŒ!!!ïŒ
Matreshka.Array#toArray - ïŒ!!!ïŒ
Matreshka.binders.file ïŒ çŸåšã¯ããã«ãããŸã ïŒ - ïŒ!!!ïŒ
Matreshka.binders.dropFile ïŒ çŸåšã¯ããã«ãããŸã ïŒ - ïŒ!!!ïŒ
Matreshka.binders.dragOver ïŒ çŸåšã¯ããã«ãããŸã ïŒ - ïŒ!!!ïŒ
Matreshka.Array#each - ïŒ!!!ïŒ
Matreshka.Array#hasOwnProperty - ïŒ!!!ïŒ
Matreshka.Array#useBindingsParser - ïŒ!!!ïŒ
Matreshka.Object#hasOwnProperty - ïŒ!!!ïŒ
window.Class ïŒã°ããŒãã«å€æ°ã®ä»£ããã«Matreshka.Classã䜿çšïŒ - ïŒ!!!ïŒ
window.$b ã Matreshka.$b - ïŒ!!!ïŒ
Matreshka.$ - ïŒ!!!ïŒ
matreshka-magicã©ã€ãã©ãª - ïŒ!!!ïŒ
Matreshka.binders.innerHTML - ïŒ!!!ïŒ
Matreshka.binders.innerText - ïŒ!!!ïŒ
Matreshka.binders.attribute - ïŒ!!!ïŒ
Matreshka.binders.property
ååã倿Žãããã¡ãœãããšããããã£
- ïŒ!!!ïŒ
Matreshka#linkProps > Matreshka#calc - ïŒ!!!ïŒ
Matreshka.to > Matreshka.toMatreshka - ïŒ!!!ïŒ
Matreshka#setClassFor > Matreshka#instantiate Matreshka.Object#jset > Matreshka.Object#setData ïŒ jsetã¯åé€ãããŸããïŒ- ïŒ!!!ïŒ
Matreshka#isMK > Matreshka#isMatreshka - ïŒ!!!ïŒ
Matreshka.Object#isMKObject > Matreshka.Object#isMatreshkaObject - ïŒ!!!ïŒ
Matreshka.Array#isMKArray > Matreshka#isMatreshkaArray - ïŒ!!!ïŒ
Matreshka.useAs$ -> Matreshka.useDOMLibrary
bindNodeããã³unbindNode倿Ž
- ïŒ!!!ïŒæ§æ
{ key: [node, binder] }ãµããŒããããªããªããŸããã - ïŒ!!!ïŒåŒæ°æ§æã®ããŒãã¯ãµããŒããããªããªããŸããã
- æ°ããæ§æ
([{key, node, binder, event}], commonEventOptions) ã - æ°ããæ§æ
{key: { node, binder }}ããã³{key: [{ node, binder }]} ïŒEurekaïŒãã®æ§æã䜿çšãããšã bindNode 1ååŒã³åºãã ãã§å€ãã®ãã€ã³ãã£ã³ã°ãããŸããã³ã°ãããããšãã§ããŸãïŒã - ïŒïŒïŒã€ãã³ã
bind ã bind:KEYã¯ã bind:KEYãããåããŒãã§åŒã³åºãããŸãã - ïŒïŒïŒ
unbind ã unbind:KEYã¯ããããã®ã¢ã³ã¿ã€ãããŒãã§åŒã³åºãããŸãã useExactBinderãã©ã°ã- ïŒ!!!ïŒ
assignDefaultValueãã©ã°ã®assignDefaultValue getValueOnBind倿ŽãããŸããã - ãã©ã°
setValueOnBind ã - ïŒ!!!ïŒ
debounceãã©ã°ã¯åé€ãããŸããã - ïŒïŒïŒ
debounceSetValueãã©ã°ã - ïŒïŒïŒãã©ã°
debounceGetValue ã debounceSetValueOnBindãã©ã°ãdebounceGetValueOnBindãã©ã°ãdebounceGetValueDelayãã©ã°ãdebounceSetValueDelayãã©ã°ã- ïŒ!!!ïŒ
deepã§ã¯ãªãexactKeyãã©ã°ã
詳现ã«ã€ããŠã¯ã bindNodeããã³unbindNodeã®ããã¥ã¡ã³ãã åç
§ããŠãã ããã
ãã€ã³ããŒã®å€æŽ
- æ°ãã
destroyãã€ã³ããŒã¡ãœããã - ïŒ!!!ïŒ
classNameã¯æåç¬Šã®æ§æããµããŒãããªããªããŸããã 代ããã«ã2çªç®ã®åŒæ°ãšããŠfalseãæž¡ãããšãã§ããŸãã - ãã¹ãŠã®ãã€ã³ããŒã¡ãœããã®
bindingOptionsåŒæ°ïŒããšãã°ã getValue(bindingOptions) {...} ïŒã
詳现ã«ã€ããŠã¯ã bindNodeããã³ãã€ã³ããŒã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
parseBindings倿Ž
- ãã®ã¡ãœããã¯
eventOptions 2çªç®ã®åŒæ°eventOptionsåããŸã {{}} spanèŠçŽ ã«çœ®ãæããããŸããã- ïŒ!!!ïŒæåã®åŒæ°ã¯å¿
é ã§ãã
{{ }}ã¹ããŒã¹ã䜿çšã§ããŸãã
詳现ã«ã€ããŠã¯ã parseBindingsã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
bindSandbox
- ãã®ã¡ãœããã¯ãæ°ãããµã³ãããã¯ã¹ããã€ã³ãããåã«ã以åã®ãµã³ãããã¯ã¹ãè§£ããŸãã
詳现ã«ã€ããŠã¯ã bindSandboxã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
calcã¡ãœããã®å€æŽïŒä»¥åã¯linkPropsãšåŒã°ããŠãlinkProps ïŒ
- ïŒ!!!ïŒ
debounceãã©ã°ã®ååãdebounceCalc倿ŽãããŸããã - ïŒïŒïŒ
debounceCalcããã©ã«ãã¯trueã§ãã debounceCalcOnInitãã©ã°ãexactKeyãã©ã°ã- ïŒ!!!ïŒ
skipLinksãã©ã°ã¯ã setã¡ãœããã§äœ¿çšããããã«skipCalcã«ååskipLinks倿ŽããskipCalc ã - ïŒ!!!ïŒæ§æ
[inst, key, inst, key]åé€[inst, key, inst, key]ããŸããã - æ°ããæ§æ
{ target: {source, event, handler} } ïŒEurekaïŒå€ãã®ããããã£ã§calcã¡ãœããã1ååŒã³åºãããšãã§ããŸãïŒã - æ°ããæ§æ
[{object, key}] ã debounceCalcDelayãã©ã°ã
詳现ã«ã€ããŠã¯ã calcã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
Matreshka.Array倿Ž
- ïŒ!!!ïŒ
skipMediatorãã©ã°ã®ååãskipItemMediator倿ŽããskipItemMediator ã - ïŒïŒïŒ
pullã¡ãœããã¯ããªããžã§ã¯ããšæ°å€ã®ã¿ããµããŒãããŸãã fromãšofç¶æ¿ãããŸãã- ïŒ!!!ïŒ
addoneã€ãã³ãaddoneã¯ãaddedã§ã¯ãªãã addedItemããããã£ã®äžã«è¿œå ãããaddoneãå«ãŸããŸãã - ïŒ!!!ïŒ
removeoneã€ãã³ãremoveoneã«ã¯ã removedItem代ããã«ã removedItemããããã£ã®äžã«ãªã¢ãŒããªããžã§ã¯ããå«ãŸremovedãŸãã - ïŒïŒïŒ
itemRendererã«ã¯ãè€æ°ã®ããŒããå«ãŸããŠããå Žåã¯spanããŸããã 代ããã«äŸå€ãã¹ããŒãããŸãã useBindingsParserããããã£ã¯åé€useBindingsParserããŸããã- ïŒ!!!ïŒãã€ã³ãã£ã³ã°ããŒãµãŒã¯ããã©ã«ãã§æå¹ã«ãªã£ãŠããŸãã
includesã¡ãœãããfindã¡ãœããã- ã¡ãœãã
findIndex ã fillã¡ãœãããcopyWithinã¡ãœãããkeysã¡ãœããã- ã¡ãœãã
values ã entriesæ¹æ³ã
Matreshka.Arrayã®ããã¥ã¡ã³ãã pull ã from ã of ã itemRenderer ã METHODã åç
§ããŠãã ãã ã
Matreshka.Object倿Ž
- ããŒã¿ãåŠçããããããã£ïŒåé€ã§ã¯ãªãïŒã倿Žããããšãã«çºçãã
setã€ãã³ãã jsetã¡ãœããã®ååã¯setData倿ŽããsetData ïŒã³ãã¥ããã£ã®èŠæ±ã«ãããå€ãååã¯åŒãç¶ãååšããŸãïŒãreplaceDataã¡ãœããã®replaceDataãã©ã°ãisDataKeyã¡ãœããã- ã¡ãœãã
values ã entriesæ¹æ³ã
詳现ã«ã€ããŠã¯ã Matreshkaã®ããã¥ã¡ã³ããåç
§ããŠãã ããObject ã setData ã isDataKey ã values ã entries
Matreshka.Class倿Ž
- éçã¡ãœããã¯ç¶æ¿ãããŸãã
- ã¿ã€ã
symbolåãæã€ããããã£ã¯ããããã¿ã€ãããããã£ãšéçããããã£ã®äž¡æ¹ãšããŠãµããŒããããŸãã
詳现ã«ã€ããŠã¯ã Matreshka.Classã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
ãã®ä»ã®å€æŽ
- éçãã§ãŒã³æ¹åŒã
- ïŒ!!!ïŒ
sandboxããããã£ã®ååŸã¡ãœãããšèšå®ã¡ãœããã¯ããã¹ãŠã®ãªããžã§ã¯ãã«å¯ŸããŠäŸå€ãã¹ããŒããŸãã - ïŒ!!!ïŒ
containerããããã£ã®Matreshka.Arrayãšèšå®Matreshka.Array ã Matreshka.Arrayã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠäŸå€ãMatreshka.ArrayãŸãã - ïŒ!!!ïŒã¹ããŒã¹ã§åºåãããããŒã®ãªã¹ãã¯ãã©ã®ã¡ãœããã§ããµããŒããããªããªããŸããã
- ããã€ãã®æçœã§ãªããã°ãä¿®æ£
- ãã¹ãŠã®ã¯ã©ã¹ãšé¢æ°ã¯ãCommonJSã¢ãžã¥ãŒã«ãšããŠã€ã³ããŒãã§ããŸãïŒ
import text from 'matreshka/binders/text' ïŒ - æç¢ºãªééãã
Matreshka.jsã§ã®äœæ¥ãåå ã§è¡šç€ºããããããžã§ã¯ã
- deploy-to-git -GitãµãŒããŒã«äœãïŒç§ã®å Žåã¯ã¢ã»ã³ããªã®çµæïŒããããã€ã§ããCLIããŒã«ã
- github-embed-å
¬åŒWebãµã€ãã§äœ¿çšãããGithubã§ã³ãŒããåã蟌ã¿ãŸãã
- webpack-generate-umd-externalsã¯ããŸããªã¿ã¹ã¯ã解決ããWebpackã®é害ã§ãïŒUMDããµããŒããããã®ïŒãã®å Žåã¯Matreshka.jsïŒã®UMDããµããŒããããã©ã°ã€ã³ãäœæããŸããããã¬ãŒã ã¯ãŒã¯å
šäœãã€ã³ããŒãããã«CommonJSäŸåé¢ä¿ãã€ã³ããŒãããŸãïŒé£ãããèããªãã§ãã ããïŒã
- cz-simple-conventional-changelog-ç°¡å㪠cz-conventional-changelog ã
- eslint-plugin-output-todo-comments -ESLintçšã®ãã©ã°ã€ã³ã§ãèŠåãŸãã¯ãšã©ãŒã®åœ¢åŒã§æå®ããããã¬ãã£ãã¯ã¹ã®ã³ã¡ã³ãã衚瀺ããŸãã TODOã³ã¡ã³ãã倱ãããªãããã«ãMatreshka.jsã§äœ¿çšãããŸãã
- babel-plugin-transform-object-spread-inline -Object.assignãåŒã³åºã代ããã«ããªããžã§ã¯ããæ§æå€æããŠé«é
forã«ãŒãã«Object.assignãŸãã - babel-plugin-nofn-ã¡ã¿é¢æ°åŒã³åºããé«é
forã«ãŒãã«å€æforãŸãã - babel-plugin-transform-es2015-modules-simple-commonjsã¯ãçµæã®ã³ãŒããã³ã³ãã¯ãã«ããããã®CommonJSã®ECMAScript 2015ã¢ãžã¥ãŒã«ã®ç°¡æãã©ã³ã¹ãã©ãŒããŒã§ãã
- uniquestring-æ¬äŒŒã©ã³ãã æååãžã§ãã¬ãŒã¿ãŒïŒ
Matreshka.randomString眮ãæãMatreshka.randomString ïŒã - makeelement -DOMèŠçŽ ãäœæããŸãïŒ
Matreshka.$b.create眮ãæãMatreshka.$b.create ïŒã
ãæž
èŽããããšãããããŸããïŒ