@teambit/node 0.0.692 → 0.0.693

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/artifacts/env-template/public/162.js +119 -2
  2. package/artifacts/env-template/public/420.js +74 -1
  3. package/artifacts/env-template/public/677.js +4 -1
  4. package/artifacts/env-template/public/793.js +744 -16
  5. package/artifacts/env-template/public/934.js +30 -1
  6. package/artifacts/env-template/public/assets-manifest.json +8 -8
  7. package/artifacts/env-template/public/compositions.86685f707d3236d1f8d2.js +1 -0
  8. package/artifacts/env-template/public/compositions.html +1 -1
  9. package/artifacts/env-template/public/overview.014727df7ee11608af7a.js +5 -0
  10. package/artifacts/env-template/public/overview.html +1 -1
  11. package/artifacts/env-template/public/peers.8783e8267afb6ce0955c.js +12 -0
  12. package/artifacts/env-template/public/preview-root.5cb2241e13afdf8e0c32.js +1 -0
  13. package/artifacts/env-template/public/runtime.js +1 -1
  14. package/artifacts/env-template/public/service-worker.js +1 -1
  15. package/artifacts/preview/teambit_harmony_node-preview.js +172 -1
  16. package/{compositions-1648437892896.js → compositions-1648524148272.js} +0 -0
  17. package/{overview-1648437892896.js → overview-1648524148272.js} +0 -0
  18. package/package-tar/teambit-node-0.0.693.tgz +0 -0
  19. package/package.json +14 -14
  20. package/{preview-1648437892896.js → preview-1648524148272.js} +2 -2
  21. package/artifacts/env-template/public/compositions.f790a803c1c4d8bc5271.js +0 -1
  22. package/artifacts/env-template/public/overview.d30e1a3e34f5c4de9b91.js +0 -1
  23. package/artifacts/env-template/public/peers.2ea1af4a13a9264c3592.js +0 -1
  24. package/artifacts/env-template/public/preview-root.eac53668ab588a64c169.js +0 -1
  25. package/package-tar/teambit-node-0.0.692.tgz +0 -0
@@ -6,7 +6,7 @@
6
6
  "934.js": "934.js",
7
7
  "compositions.css": "static/css/compositions.cd8be53f.css",
8
8
  "compositions.html": "compositions.html",
9
- "compositions.js": "compositions.f790a803c1c4d8bc5271.js",
9
+ "compositions.js": "compositions.86685f707d3236d1f8d2.js",
10
10
  "entrypoints": {
11
11
  "previewRoot": {
12
12
  "assets": {
@@ -15,7 +15,7 @@
15
15
  "162.js",
16
16
  "420.js",
17
17
  "934.js",
18
- "preview-root.eac53668ab588a64c169.js"
18
+ "preview-root.5cb2241e13afdf8e0c32.js"
19
19
  ],
20
20
  "css": [
21
21
  "static/css/previewRoot.1262db93.css"
@@ -26,7 +26,7 @@
26
26
  "assets": {
27
27
  "js": [
28
28
  "runtime.js",
29
- "peers.2ea1af4a13a9264c3592.js"
29
+ "peers.8783e8267afb6ce0955c.js"
30
30
  ]
31
31
  }
32
32
  },
@@ -36,7 +36,7 @@
36
36
  "runtime.js",
37
37
  "162.js",
38
38
  "677.js",
39
- "compositions.f790a803c1c4d8bc5271.js"
39
+ "compositions.86685f707d3236d1f8d2.js"
40
40
  ],
41
41
  "css": [
42
42
  "static/css/compositions.cd8be53f.css"
@@ -48,7 +48,7 @@
48
48
  "js": [
49
49
  "420.js",
50
50
  "793.js",
51
- "overview.d30e1a3e34f5c4de9b91.js"
51
+ "overview.014727df7ee11608af7a.js"
52
52
  ],
53
53
  "css": [
54
54
  "static/css/793.253dc893.css",
@@ -59,10 +59,10 @@
59
59
  },
60
60
  "overview.css": "static/css/overview.7bb7dce6.css",
61
61
  "overview.html": "overview.html",
62
- "overview.js": "overview.d30e1a3e34f5c4de9b91.js",
63
- "peers.js": "peers.2ea1af4a13a9264c3592.js",
62
+ "overview.js": "overview.014727df7ee11608af7a.js",
63
+ "peers.js": "peers.8783e8267afb6ce0955c.js",
64
64
  "previewRoot.css": "static/css/previewRoot.1262db93.css",
65
- "previewRoot.js": "preview-root.eac53668ab588a64c169.js",
65
+ "previewRoot.js": "preview-root.5cb2241e13afdf8e0c32.js",
66
66
  "runtime.js": "runtime.js",
67
67
  "service-worker.js": "service-worker.js",
68
68
  "static/css/793.253dc893.css": "static/css/793.253dc893.css",
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_teambit_legacy=self.webpackChunk_teambit_legacy||[]).push([[384],{64947:(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{var _home_circleci_bit_bit_node_modules_teambit_preview_dist_preview_preview_runtime_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(74649),_home_circleci_bit_bit_node_modules_teambit_harmony_dist_index_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(16738),_home_circleci_bit_bit_node_modules_teambit_react_dist_mount_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(677);(0,_home_circleci_bit_bit_node_modules_teambit_preview_dist_preview_preview_runtime_js__WEBPACK_IMPORTED_MODULE_0__.Bu)("compositions",{mainModule:_home_circleci_bit_bit_node_modules_teambit_react_dist_mount_js__WEBPACK_IMPORTED_MODULE_2__,isSplitComponentBundle:!1,componentMap:{}})}},__webpack_require__=>{var __webpack_exec__=moduleId=>__webpack_require__(__webpack_require__.s=moduleId);__webpack_require__.O(0,[162,677],()=>__webpack_exec__(64947));var __webpack_exports__=__webpack_require__.O()}]);
@@ -1,2 +1,2 @@
1
1
  <!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Preview</title><script>// Allow to use react dev-tools inside the examples
2
- try { window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.parent.__REACT_DEVTOOLS_GLOBAL_HOOK__; } catch {}</script><style>html { height: 100%; } body { margin: 0; height: 100%; } #root { height: 100%; }</style><script defer="defer" src="runtime.js"></script><script defer="defer" src="peers.2ea1af4a13a9264c3592.js"></script><script defer="defer" src="162.js"></script><script defer="defer" src="677.js"></script><script defer="defer" src="compositions.f790a803c1c4d8bc5271.js"></script><script defer="defer" src="420.js"></script><script defer="defer" src="934.js"></script><script defer="defer" src="preview-root.eac53668ab588a64c169.js"></script><link href="static/css/compositions.cd8be53f.css" rel="stylesheet"><link href="static/css/previewRoot.1262db93.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
2
+ try { window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.parent.__REACT_DEVTOOLS_GLOBAL_HOOK__; } catch {}</script><style>html { height: 100%; } body { margin: 0; height: 100%; } #root { height: 100%; }</style><script defer="defer" src="runtime.js"></script><script defer="defer" src="peers.8783e8267afb6ce0955c.js"></script><script defer="defer" src="162.js"></script><script defer="defer" src="677.js"></script><script defer="defer" src="compositions.86685f707d3236d1f8d2.js"></script><script defer="defer" src="420.js"></script><script defer="defer" src="934.js"></script><script defer="defer" src="preview-root.5cb2241e13afdf8e0c32.js"></script><link href="static/css/compositions.cd8be53f.css" rel="stylesheet"><link href="static/css/previewRoot.1262db93.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
@@ -0,0 +1,5 @@
1
+ (self.webpackChunk_teambit_legacy=self.webpackChunk_teambit_legacy||[]).push([[340],{4604:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";var _interopRequireDefault=__webpack_require__(95318);Object.defineProperty(exports,"__esModule",{value:!0}),exports.clickable=void 0;function _clickableModule(){const data=_interopRequireDefault(__webpack_require__(8592));return _clickableModule=function(){return data},data}const clickable=_clickableModule().default.clickable;exports.clickable=clickable},58225:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";var process=__webpack_require__(34155),Buffer=__webpack_require__(48764).Buffer;__webpack_require__(74916),__webpack_require__(15306),Object.defineProperty(exports,"__esModule",{value:!0}),exports.auto=auto,exports.cr=cr,exports.crlf=crlf,exports.lf=lf;function _isbinaryfile(){const data=__webpack_require__(88954);return _isbinaryfile=function(){return data},data}const lineBreak=typeof process<"u"&&process.platform==="win32"?`\r
2
+ `:`
3
+ `,newline=/\r\n|\r|\n/g;function converts(text,to){if(Buffer.isBuffer(text)){if((0,_isbinaryfile().isBinaryFileSync)(text))return text;const str=text.toString(),strReplaced=str.replace(newline,to);return str!==strReplaced?Buffer.from(strReplaced):text}return text.toString().replace(newline,to)}function lf(text){return converts(text,`
4
+ `)}function auto(text){return converts(text,lineBreak)}function cr(text){return converts(text,"\r")}function crlf(text){return converts(text,`\r
5
+ `)}},30755:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getLatestVersion=getLatestVersion,exports.getValidVersionOrReleaseType=getValidVersionOrReleaseType,exports.isReleaseTypeSupported=isReleaseTypeSupported,exports.isStrReleaseType=isStrReleaseType,exports.throwForUnsupportedReleaseType=throwForUnsupportedReleaseType,exports.validateVersion=validateVersion;function _semver(){const data=__webpack_require__(81249);return _semver=function(){return data},data}function _componentVersion(){const data=__webpack_require__(8886);return _componentVersion=function(){return data},data}function isStrReleaseType(str){return["major","premajor","minor","preminor","patch","prepatch","prerelease"].includes(str)}function isReleaseTypeSupported(str){return["patch","minor","major","prerelease"].includes(str)}function throwForUnsupportedReleaseType(str){if(!isReleaseTypeSupported(str))throw new Error(`the release-type "${str}" is not supported`)}function validateVersion(version){if(version){const validVersion=(0,_semver().valid)(version);if(!validVersion)throw new(_componentVersion()).InvalidVersion(version);return validVersion}}function getValidVersionOrReleaseType(str){if(isStrReleaseType(str)){const releaseType=str;return throwForUnsupportedReleaseType(releaseType),{releaseType}}return{exactVersion:validateVersion(str)}}function getLatestVersion(versions){const max=(0,_semver().maxSatisfying)(versions,"*",{includePrerelease:!0});if(!max)throw new Error(`unable to find the latest version from ${versions.join(", ")}`);return max}},14729:(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _home_circleci_bit_bit_node_modules_teambit_preview_dist_preview_preview_runtime_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(74649),_home_circleci_bit_bit_node_modules_teambit_harmony_dist_index_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(16738),_home_circleci_bit_bit_node_modules_teambit_react_ui_docs_app_dist_index_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(79022),_home_circleci_bit_bit_node_modules_teambit_react_ui_docs_app_dist_index_js__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_home_circleci_bit_bit_node_modules_teambit_react_ui_docs_app_dist_index_js__WEBPACK_IMPORTED_MODULE_2__);(0,_home_circleci_bit_bit_node_modules_teambit_preview_dist_preview_preview_runtime_js__WEBPACK_IMPORTED_MODULE_0__.Bu)("overview",{mainModule:_home_circleci_bit_bit_node_modules_teambit_react_ui_docs_app_dist_index_js__WEBPACK_IMPORTED_MODULE_2__,isSplitComponentBundle:!1,componentMap:{}})},23670:(module,__unused_webpack_exports,__webpack_require__)=>{var map={"./Binary_Property/ASCII.js":468,"./Binary_Property/ASCII_Hex_Digit.js":30585,"./Binary_Property/Alphabetic.js":87099,"./Binary_Property/Any.js":29658,"./Binary_Property/Assigned.js":54949,"./Binary_Property/Bidi_Control.js":3872,"./Binary_Property/Bidi_Mirrored.js":75448,"./Binary_Property/Case_Ignorable.js":46506,"./Binary_Property/Cased.js":8745,"./Binary_Property/Changes_When_Casefolded.js":78717,"./Binary_Property/Changes_When_Casemapped.js":45751,"./Binary_Property/Changes_When_Lowercased.js":28336,"./Binary_Property/Changes_When_NFKC_Casefolded.js":19543,"./Binary_Property/Changes_When_Titlecased.js":4054,"./Binary_Property/Changes_When_Uppercased.js":55703,"./Binary_Property/Dash.js":9921,"./Binary_Property/Default_Ignorable_Code_Point.js":83266,"./Binary_Property/Deprecated.js":7342,"./Binary_Property/Diacritic.js":41814,"./Binary_Property/Emoji.js":93733,"./Binary_Property/Emoji_Component.js":89668,"./Binary_Property/Emoji_Modifier.js":56308,"./Binary_Property/Emoji_Modifier_Base.js":1742,"./Binary_Property/Emoji_Presentation.js":97849,"./Binary_Property/Extended_Pictographic.js":8484,"./Binary_Property/Extender.js":235,"./Binary_Property/Grapheme_Base.js":63830,"./Binary_Property/Grapheme_Extend.js":7763,"./Binary_Property/Hex_Digit.js":90333,"./Binary_Property/IDS_Binary_Operator.js":66897,"./Binary_Property/IDS_Trinary_Operator.js":80227,"./Binary_Property/ID_Continue.js":49810,"./Binary_Property/ID_Start.js":91280,"./Binary_Property/Ideographic.js":7351,"./Binary_Property/Join_Control.js":3124,"./Binary_Property/Logical_Order_Exception.js":14199,"./Binary_Property/Lowercase.js":41614,"./Binary_Property/Math.js":37283,"./Binary_Property/Noncharacter_Code_Point.js":59907,"./Binary_Property/Pattern_Syntax.js":16721,"./Binary_Property/Pattern_White_Space.js":14965,"./Binary_Property/Quotation_Mark.js":28310,"./Binary_Property/Radical.js":80589,"./Binary_Property/Regional_Indicator.js":15913,"./Binary_Property/Sentence_Terminal.js":12665,"./Binary_Property/Soft_Dotted.js":87612,"./Binary_Property/Terminal_Punctuation.js":2417,"./Binary_Property/Unified_Ideograph.js":93403,"./Binary_Property/Uppercase.js":66875,"./Binary_Property/Variation_Selector.js":34215,"./Binary_Property/White_Space.js":13746,"./Binary_Property/XID_Continue.js":84120,"./Binary_Property/XID_Start.js":77268,"./General_Category/Cased_Letter.js":78786,"./General_Category/Close_Punctuation.js":9373,"./General_Category/Connector_Punctuation.js":94585,"./General_Category/Control.js":98619,"./General_Category/Currency_Symbol.js":68873,"./General_Category/Dash_Punctuation.js":7280,"./General_Category/Decimal_Number.js":22865,"./General_Category/Enclosing_Mark.js":37621,"./General_Category/Final_Punctuation.js":12908,"./General_Category/Format.js":71290,"./General_Category/Initial_Punctuation.js":64055,"./General_Category/Letter.js":84258,"./General_Category/Letter_Number.js":53019,"./General_Category/Line_Separator.js":60424,"./General_Category/Lowercase_Letter.js":67142,"./General_Category/Mark.js":2097,"./General_Category/Math_Symbol.js":73362,"./General_Category/Modifier_Letter.js":26244,"./General_Category/Modifier_Symbol.js":89779,"./General_Category/Nonspacing_Mark.js":29516,"./General_Category/Number.js":1177,"./General_Category/Open_Punctuation.js":84538,"./General_Category/Other.js":45763,"./General_Category/Other_Letter.js":14893,"./General_Category/Other_Number.js":12949,"./General_Category/Other_Punctuation.js":58558,"./General_Category/Other_Symbol.js":33752,"./General_Category/Paragraph_Separator.js":7561,"./General_Category/Private_Use.js":58061,"./General_Category/Punctuation.js":1499,"./General_Category/Separator.js":87959,"./General_Category/Space_Separator.js":38917,"./General_Category/Spacing_Mark.js":84104,"./General_Category/Surrogate.js":47026,"./General_Category/Symbol.js":55957,"./General_Category/Titlecase_Letter.js":77076,"./General_Category/Unassigned.js":33829,"./General_Category/Uppercase_Letter.js":60252,"./Script/Adlam.js":43004,"./Script/Ahom.js":59173,"./Script/Anatolian_Hieroglyphs.js":2313,"./Script/Arabic.js":11156,"./Script/Armenian.js":15961,"./Script/Avestan.js":52394,"./Script/Balinese.js":13897,"./Script/Bamum.js":13300,"./Script/Bassa_Vah.js":35042,"./Script/Batak.js":20780,"./Script/Bengali.js":94094,"./Script/Bhaiksuki.js":75180,"./Script/Bopomofo.js":88446,"./Script/Brahmi.js":28519,"./Script/Braille.js":62529,"./Script/Buginese.js":46362,"./Script/Buhid.js":16217,"./Script/Canadian_Aboriginal.js":95139,"./Script/Carian.js":49698,"./Script/Caucasian_Albanian.js":3502,"./Script/Chakma.js":53002,"./Script/Cham.js":21420,"./Script/Cherokee.js":86e3,"./Script/Chorasmian.js":93014,"./Script/Common.js":87228,"./Script/Coptic.js":68541,"./Script/Cuneiform.js":34477,"./Script/Cypriot.js":90837,"./Script/Cypro_Minoan.js":64477,"./Script/Cyrillic.js":49289,"./Script/Deseret.js":56903,"./Script/Devanagari.js":73099,"./Script/Dives_Akuru.js":41115,"./Script/Dogra.js":90729,"./Script/Duployan.js":92245,"./Script/Egyptian_Hieroglyphs.js":6867,"./Script/Elbasan.js":47850,"./Script/Elymaic.js":71879,"./Script/Ethiopic.js":36960,"./Script/Georgian.js":20117,"./Script/Glagolitic.js":19951,"./Script/Gothic.js":92671,"./Script/Grantha.js":40496,"./Script/Greek.js":13254,"./Script/Gujarati.js":60772,"./Script/Gunjala_Gondi.js":26755,"./Script/Gurmukhi.js":93493,"./Script/Han.js":27150,"./Script/Hangul.js":85357,"./Script/Hanifi_Rohingya.js":3608,"./Script/Hanunoo.js":23695,"./Script/Hatran.js":4326,"./Script/Hebrew.js":28625,"./Script/Hiragana.js":25016,"./Script/Imperial_Aramaic.js":39193,"./Script/Inherited.js":89510,"./Script/Inscriptional_Pahlavi.js":46551,"./Script/Inscriptional_Parthian.js":77387,"./Script/Javanese.js":6345,"./Script/Kaithi.js":96423,"./Script/Kannada.js":59606,"./Script/Katakana.js":55098,"./Script/Kayah_Li.js":65973,"./Script/Kharoshthi.js":82173,"./Script/Khitan_Small_Script.js":19961,"./Script/Khmer.js":71427,"./Script/Khojki.js":49171,"./Script/Khudawadi.js":71871,"./Script/Lao.js":6412,"./Script/Latin.js":47588,"./Script/Lepcha.js":63009,"./Script/Limbu.js":3404,"./Script/Linear_A.js":41488,"./Script/Linear_B.js":34578,"./Script/Lisu.js":29637,"./Script/Lycian.js":54232,"./Script/Lydian.js":56741,"./Script/Mahajani.js":48927,"./Script/Makasar.js":68054,"./Script/Malayalam.js":10027,"./Script/Mandaic.js":77013,"./Script/Manichaean.js":79456,"./Script/Marchen.js":40125,"./Script/Masaram_Gondi.js":95323,"./Script/Medefaidrin.js":72924,"./Script/Meetei_Mayek.js":41773,"./Script/Mende_Kikakui.js":25878,"./Script/Meroitic_Cursive.js":7476,"./Script/Meroitic_Hieroglyphs.js":11633,"./Script/Miao.js":38653,"./Script/Modi.js":54400,"./Script/Mongolian.js":16356,"./Script/Mro.js":20191,"./Script/Multani.js":52974,"./Script/Myanmar.js":57487,"./Script/Nabataean.js":77128,"./Script/Nandinagari.js":92517,"./Script/New_Tai_Lue.js":61859,"./Script/Newa.js":13251,"./Script/Nko.js":44460,"./Script/Nushu.js":27539,"./Script/Nyiakeng_Puachue_Hmong.js":9433,"./Script/Ogham.js":32613,"./Script/Ol_Chiki.js":46527,"./Script/Old_Hungarian.js":41172,"./Script/Old_Italic.js":67605,"./Script/Old_North_Arabian.js":39289,"./Script/Old_Permic.js":10363,"./Script/Old_Persian.js":94403,"./Script/Old_Sogdian.js":59859,"./Script/Old_South_Arabian.js":16857,"./Script/Old_Turkic.js":91282,"./Script/Old_Uyghur.js":2506,"./Script/Oriya.js":38013,"./Script/Osage.js":47009,"./Script/Osmanya.js":80675,"./Script/Pahawh_Hmong.js":34317,"./Script/Palmyrene.js":60093,"./Script/Pau_Cin_Hau.js":5010,"./Script/Phags_Pa.js":47097,"./Script/Phoenician.js":59191,"./Script/Psalter_Pahlavi.js":88274,"./Script/Rejang.js":78623,"./Script/Runic.js":5652,"./Script/Samaritan.js":79205,"./Script/Saurashtra.js":35536,"./Script/Sharada.js":26532,"./Script/Shavian.js":66908,"./Script/Siddham.js":60607,"./Script/SignWriting.js":20730,"./Script/Sinhala.js":50236,"./Script/Sogdian.js":78599,"./Script/Sora_Sompeng.js":85856,"./Script/Soyombo.js":8649,"./Script/Sundanese.js":55688,"./Script/Syloti_Nagri.js":12975,"./Script/Syriac.js":20405,"./Script/Tagalog.js":1997,"./Script/Tagbanwa.js":36393,"./Script/Tai_Le.js":92134,"./Script/Tai_Tham.js":73364,"./Script/Tai_Viet.js":3830,"./Script/Takri.js":78379,"./Script/Tamil.js":35094,"./Script/Tangsa.js":5193,"./Script/Tangut.js":30576,"./Script/Telugu.js":31870,"./Script/Thaana.js":97909,"./Script/Thai.js":41546,"./Script/Tibetan.js":316,"./Script/Tifinagh.js":36086,"./Script/Tirhuta.js":46509,"./Script/Toto.js":87410,"./Script/Ugaritic.js":44226,"./Script/Vai.js":4948,"./Script/Vithkuqi.js":65684,"./Script/Wancho.js":49339,"./Script/Warang_Citi.js":38873,"./Script/Yezidi.js":46152,"./Script/Yi.js":46330,"./Script/Zanabazar_Square.js":12522,"./Script_Extensions/Adlam.js":5849,"./Script_Extensions/Ahom.js":8478,"./Script_Extensions/Anatolian_Hieroglyphs.js":82625,"./Script_Extensions/Arabic.js":21067,"./Script_Extensions/Armenian.js":59323,"./Script_Extensions/Avestan.js":56692,"./Script_Extensions/Balinese.js":79467,"./Script_Extensions/Bamum.js":82462,"./Script_Extensions/Bassa_Vah.js":55370,"./Script_Extensions/Batak.js":60823,"./Script_Extensions/Bengali.js":47077,"./Script_Extensions/Bhaiksuki.js":14634,"./Script_Extensions/Bopomofo.js":83931,"./Script_Extensions/Brahmi.js":38771,"./Script_Extensions/Braille.js":46678,"./Script_Extensions/Buginese.js":70003,"./Script_Extensions/Buhid.js":68246,"./Script_Extensions/Canadian_Aboriginal.js":99887,"./Script_Extensions/Carian.js":84847,"./Script_Extensions/Caucasian_Albanian.js":34251,"./Script_Extensions/Chakma.js":69108,"./Script_Extensions/Cham.js":46794,"./Script_Extensions/Cherokee.js":33505,"./Script_Extensions/Chorasmian.js":38186,"./Script_Extensions/Common.js":42259,"./Script_Extensions/Coptic.js":53775,"./Script_Extensions/Cuneiform.js":70982,"./Script_Extensions/Cypriot.js":45920,"./Script_Extensions/Cypro_Minoan.js":74147,"./Script_Extensions/Cyrillic.js":27659,"./Script_Extensions/Deseret.js":33490,"./Script_Extensions/Devanagari.js":24172,"./Script_Extensions/Dives_Akuru.js":13822,"./Script_Extensions/Dogra.js":24862,"./Script_Extensions/Duployan.js":25310,"./Script_Extensions/Egyptian_Hieroglyphs.js":2162,"./Script_Extensions/Elbasan.js":95189,"./Script_Extensions/Elymaic.js":93541,"./Script_Extensions/Ethiopic.js":59271,"./Script_Extensions/Georgian.js":47646,"./Script_Extensions/Glagolitic.js":35643,"./Script_Extensions/Gothic.js":34663,"./Script_Extensions/Grantha.js":57627,"./Script_Extensions/Greek.js":97324,"./Script_Extensions/Gujarati.js":32560,"./Script_Extensions/Gunjala_Gondi.js":52777,"./Script_Extensions/Gurmukhi.js":26362,"./Script_Extensions/Han.js":9316,"./Script_Extensions/Hangul.js":26776,"./Script_Extensions/Hanifi_Rohingya.js":71213,"./Script_Extensions/Hanunoo.js":59257,"./Script_Extensions/Hatran.js":71190,"./Script_Extensions/Hebrew.js":49927,"./Script_Extensions/Hiragana.js":41384,"./Script_Extensions/Imperial_Aramaic.js":40263,"./Script_Extensions/Inherited.js":69706,"./Script_Extensions/Inscriptional_Pahlavi.js":99170,"./Script_Extensions/Inscriptional_Parthian.js":84635,"./Script_Extensions/Javanese.js":41755,"./Script_Extensions/Kaithi.js":84257,"./Script_Extensions/Kannada.js":61374,"./Script_Extensions/Katakana.js":10369,"./Script_Extensions/Kayah_Li.js":48555,"./Script_Extensions/Kharoshthi.js":77584,"./Script_Extensions/Khitan_Small_Script.js":50865,"./Script_Extensions/Khmer.js":53446,"./Script_Extensions/Khojki.js":90059,"./Script_Extensions/Khudawadi.js":794,"./Script_Extensions/Lao.js":48534,"./Script_Extensions/Latin.js":86631,"./Script_Extensions/Lepcha.js":84994,"./Script_Extensions/Limbu.js":47409,"./Script_Extensions/Linear_A.js":39001,"./Script_Extensions/Linear_B.js":83725,"./Script_Extensions/Lisu.js":71939,"./Script_Extensions/Lycian.js":29625,"./Script_Extensions/Lydian.js":68809,"./Script_Extensions/Mahajani.js":16998,"./Script_Extensions/Makasar.js":51797,"./Script_Extensions/Malayalam.js":69534,"./Script_Extensions/Mandaic.js":23573,"./Script_Extensions/Manichaean.js":56202,"./Script_Extensions/Marchen.js":1694,"./Script_Extensions/Masaram_Gondi.js":42673,"./Script_Extensions/Medefaidrin.js":68226,"./Script_Extensions/Meetei_Mayek.js":54312,"./Script_Extensions/Mende_Kikakui.js":17484,"./Script_Extensions/Meroitic_Cursive.js":22089,"./Script_Extensions/Meroitic_Hieroglyphs.js":71845,"./Script_Extensions/Miao.js":54606,"./Script_Extensions/Modi.js":95643,"./Script_Extensions/Mongolian.js":37763,"./Script_Extensions/Mro.js":27091,"./Script_Extensions/Multani.js":40083,"./Script_Extensions/Myanmar.js":4110,"./Script_Extensions/Nabataean.js":73147,"./Script_Extensions/Nandinagari.js":59241,"./Script_Extensions/New_Tai_Lue.js":3150,"./Script_Extensions/Newa.js":50645,"./Script_Extensions/Nko.js":19291,"./Script_Extensions/Nushu.js":73190,"./Script_Extensions/Nyiakeng_Puachue_Hmong.js":69168,"./Script_Extensions/Ogham.js":4475,"./Script_Extensions/Ol_Chiki.js":13556,"./Script_Extensions/Old_Hungarian.js":29656,"./Script_Extensions/Old_Italic.js":9941,"./Script_Extensions/Old_North_Arabian.js":87237,"./Script_Extensions/Old_Permic.js":5280,"./Script_Extensions/Old_Persian.js":29057,"./Script_Extensions/Old_Sogdian.js":360,"./Script_Extensions/Old_South_Arabian.js":64174,"./Script_Extensions/Old_Turkic.js":86511,"./Script_Extensions/Old_Uyghur.js":96843,"./Script_Extensions/Oriya.js":53646,"./Script_Extensions/Osage.js":5061,"./Script_Extensions/Osmanya.js":47640,"./Script_Extensions/Pahawh_Hmong.js":82658,"./Script_Extensions/Palmyrene.js":55297,"./Script_Extensions/Pau_Cin_Hau.js":84374,"./Script_Extensions/Phags_Pa.js":69587,"./Script_Extensions/Phoenician.js":14401,"./Script_Extensions/Psalter_Pahlavi.js":59594,"./Script_Extensions/Rejang.js":689,"./Script_Extensions/Runic.js":90518,"./Script_Extensions/Samaritan.js":70331,"./Script_Extensions/Saurashtra.js":90860,"./Script_Extensions/Sharada.js":12215,"./Script_Extensions/Shavian.js":77430,"./Script_Extensions/Siddham.js":4401,"./Script_Extensions/SignWriting.js":97177,"./Script_Extensions/Sinhala.js":71284,"./Script_Extensions/Sogdian.js":46494,"./Script_Extensions/Sora_Sompeng.js":8287,"./Script_Extensions/Soyombo.js":52073,"./Script_Extensions/Sundanese.js":90581,"./Script_Extensions/Syloti_Nagri.js":20820,"./Script_Extensions/Syriac.js":71298,"./Script_Extensions/Tagalog.js":35997,"./Script_Extensions/Tagbanwa.js":38586,"./Script_Extensions/Tai_Le.js":95164,"./Script_Extensions/Tai_Tham.js":18393,"./Script_Extensions/Tai_Viet.js":40829,"./Script_Extensions/Takri.js":4997,"./Script_Extensions/Tamil.js":25143,"./Script_Extensions/Tangsa.js":94747,"./Script_Extensions/Tangut.js":2876,"./Script_Extensions/Telugu.js":76556,"./Script_Extensions/Thaana.js":47023,"./Script_Extensions/Thai.js":8687,"./Script_Extensions/Tibetan.js":168,"./Script_Extensions/Tifinagh.js":12247,"./Script_Extensions/Tirhuta.js":50857,"./Script_Extensions/Toto.js":38924,"./Script_Extensions/Ugaritic.js":52063,"./Script_Extensions/Vai.js":34670,"./Script_Extensions/Vithkuqi.js":76698,"./Script_Extensions/Wancho.js":37055,"./Script_Extensions/Warang_Citi.js":26580,"./Script_Extensions/Yezidi.js":18059,"./Script_Extensions/Yi.js":98617,"./Script_Extensions/Zanabazar_Square.js":81922,"./index.js":13290,"./unicode-version.js":51899};function webpackContext(req){var id=webpackContextResolve(req);return __webpack_require__(id)}function webpackContextResolve(req){if(!__webpack_require__.o(map,req)){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}return map[req]}webpackContext.keys=function(){return Object.keys(map)},webpackContext.resolve=webpackContextResolve,module.exports=webpackContext,webpackContext.id=23670},8592:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});const __WEBPACK_DEFAULT_EXPORT__={clickable:"clickable_clickable__3W2Kh"}},591:()=>{},74112:()=>{},52361:()=>{},94616:()=>{}},__webpack_require__=>{var __webpack_exec__=moduleId=>__webpack_require__(__webpack_require__.s=moduleId);__webpack_require__.O(0,[420,793,162,677,384],()=>__webpack_exec__(14729));var __webpack_exports__=__webpack_require__.O()}]);
@@ -1,2 +1,2 @@
1
1
  <!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Preview</title><script>// Allow to use react dev-tools inside the examples
2
- try { window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.parent.__REACT_DEVTOOLS_GLOBAL_HOOK__; } catch {}</script><style>html { height: 100%; } body { margin: 0; height: 100%; } #root { height: 100%; }</style><script defer="defer" src="runtime.js"></script><script defer="defer" src="peers.2ea1af4a13a9264c3592.js"></script><script defer="defer" src="162.js"></script><script defer="defer" src="677.js"></script><script defer="defer" src="compositions.f790a803c1c4d8bc5271.js"></script><script defer="defer" src="420.js"></script><script defer="defer" src="793.js"></script><script defer="defer" src="overview.d30e1a3e34f5c4de9b91.js"></script><script defer="defer" src="934.js"></script><script defer="defer" src="preview-root.eac53668ab588a64c169.js"></script><link href="static/css/compositions.cd8be53f.css" rel="stylesheet"><link href="static/css/793.253dc893.css" rel="stylesheet"><link href="static/css/overview.7bb7dce6.css" rel="stylesheet"><link href="static/css/previewRoot.1262db93.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
2
+ try { window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.parent.__REACT_DEVTOOLS_GLOBAL_HOOK__; } catch {}</script><style>html { height: 100%; } body { margin: 0; height: 100%; } #root { height: 100%; }</style><script defer="defer" src="runtime.js"></script><script defer="defer" src="peers.8783e8267afb6ce0955c.js"></script><script defer="defer" src="162.js"></script><script defer="defer" src="677.js"></script><script defer="defer" src="compositions.86685f707d3236d1f8d2.js"></script><script defer="defer" src="420.js"></script><script defer="defer" src="793.js"></script><script defer="defer" src="overview.014727df7ee11608af7a.js"></script><script defer="defer" src="934.js"></script><script defer="defer" src="preview-root.5cb2241e13afdf8e0c32.js"></script><link href="static/css/compositions.cd8be53f.css" rel="stylesheet"><link href="static/css/793.253dc893.css" rel="stylesheet"><link href="static/css/overview.7bb7dce6.css" rel="stylesheet"><link href="static/css/previewRoot.1262db93.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
@@ -0,0 +1,12 @@
1
+ (self.webpackChunk_teambit_legacy=self.webpackChunk_teambit_legacy||[]).push([[703],{81254:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=__webpack_require__(4516);function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _extends(){return _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_extends.apply(this,arguments)}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _objectSpread2(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.keys(source),key,i;for(i=0;i<sourceKeys.length;i++)key=sourceKeys[i],!(excluded.indexOf(key)>=0)&&(target[key]=source[key]);return target}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded),key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++)key=sourceSymbolKeys[i],!(excluded.indexOf(key)>=0)&&(!Object.prototype.propertyIsEnumerable.call(source,key)||(target[key]=source[key]))}return target}var isFunction=function(obj){return typeof obj=="function"},MDXContext=React__default.default.createContext({}),withMDXComponents=function(Component){return function(props){var allComponents=useMDXComponents(props.components);return React__default.default.createElement(Component,_extends({},props,{components:allComponents}))}},useMDXComponents=function(components){var contextComponents=React__default.default.useContext(MDXContext),allComponents=contextComponents;return components&&(allComponents=isFunction(components)?components(contextComponents):_objectSpread2(_objectSpread2({},contextComponents),components)),allComponents},MDXProvider=function(props){var allComponents=useMDXComponents(props.components);return React__default.default.createElement(MDXContext.Provider,{value:allComponents},props.children)},TYPE_PROP_NAME="mdxType",DEFAULTS={inlineCode:"code",wrapper:function(_ref){var children=_ref.children;return React__default.default.createElement(React__default.default.Fragment,{},children)}},MDXCreateElement=React__default.default.forwardRef(function(props,ref){var propComponents=props.components,mdxType=props.mdxType,originalType=props.originalType,parentName=props.parentName,etc=_objectWithoutProperties(props,["components","mdxType","originalType","parentName"]),components=useMDXComponents(propComponents),type=mdxType,Component=components["".concat(parentName,".").concat(type)]||components[type]||DEFAULTS[type]||originalType;return propComponents?React__default.default.createElement(Component,_objectSpread2(_objectSpread2({ref},etc),{},{components:propComponents})):React__default.default.createElement(Component,_objectSpread2({ref},etc))});MDXCreateElement.displayName="MDXCreateElement";function createElement(type,props){var args=arguments,mdxType=props&&props.mdxType;if(typeof type=="string"||mdxType){var argsLength=args.length,createElementArgArray=new Array(argsLength);createElementArgArray[0]=MDXCreateElement;var newProps={};for(var key in props)hasOwnProperty.call(props,key)&&(newProps[key]=props[key]);newProps.originalType=type,newProps[TYPE_PROP_NAME]=typeof type=="string"?type:mdxType,createElementArgArray[1]=newProps;for(var i=2;i<argsLength;i++)createElementArgArray[i]=args[i];return React__default.default.createElement.apply(null,createElementArgArray)}return React__default.default.createElement.apply(null,args)}exports.MDXContext=MDXContext,exports.MDXProvider=MDXProvider,exports.mdx=createElement,exports.useMDXComponents=useMDXComponents,exports.withMDXComponents=withMDXComponents},38168:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MDXScopeProvider=exports.MDXScopeContext=void 0;var mdx_scope_context_1=__webpack_require__(5689);Object.defineProperty(exports,"MDXScopeContext",{enumerable:!0,get:function(){return mdx_scope_context_1.MDXScopeContext}});var mdx_scope_provider_1=__webpack_require__(74148);Object.defineProperty(exports,"MDXScopeProvider",{enumerable:!0,get:function(){return mdx_scope_provider_1.MDXScopeProvider}})},5689:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MDXScopeContext=void 0;const react_1=__webpack_require__(4516);exports.MDXScopeContext=(0,react_1.createContext)({})},74148:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MDXScopeProvider=void 0;const react_1=__importDefault(__webpack_require__(4516)),mdx_scope_context_1=__webpack_require__(5689);function MDXScopeProvider({components,children}){return react_1.default.createElement(mdx_scope_context_1.MDXScopeContext.Provider,{value:components},children)}exports.MDXScopeProvider=MDXScopeProvider},4516:(module,__unused_webpack_exports,__webpack_require__)=>{var ___EXPOSE_LOADER_IMPORT___=__webpack_require__(67294),___EXPOSE_LOADER_GET_GLOBAL_THIS___=__webpack_require__(27672),___EXPOSE_LOADER_GLOBAL_THIS___=___EXPOSE_LOADER_GET_GLOBAL_THIS___;typeof ___EXPOSE_LOADER_GLOBAL_THIS___.React>"u"&&(___EXPOSE_LOADER_GLOBAL_THIS___.React=___EXPOSE_LOADER_IMPORT___),module.exports=___EXPOSE_LOADER_IMPORT___},65255:(module,__unused_webpack_exports,__webpack_require__)=>{var ___EXPOSE_LOADER_IMPORT___=__webpack_require__(38168),___EXPOSE_LOADER_GET_GLOBAL_THIS___=__webpack_require__(27672),___EXPOSE_LOADER_GLOBAL_THIS___=___EXPOSE_LOADER_GET_GLOBAL_THIS___;typeof ___EXPOSE_LOADER_GLOBAL_THIS___.TeambitMdxUiMdxScopeContext>"u"&&(___EXPOSE_LOADER_GLOBAL_THIS___.TeambitMdxUiMdxScopeContext=___EXPOSE_LOADER_IMPORT___),module.exports=___EXPOSE_LOADER_IMPORT___},55261:(module,__unused_webpack_exports,__webpack_require__)=>{var ___EXPOSE_LOADER_IMPORT___=__webpack_require__(81254),___EXPOSE_LOADER_GET_GLOBAL_THIS___=__webpack_require__(27672),___EXPOSE_LOADER_GLOBAL_THIS___=___EXPOSE_LOADER_GET_GLOBAL_THIS___;typeof ___EXPOSE_LOADER_GLOBAL_THIS___.MdxJsReact>"u"&&(___EXPOSE_LOADER_GLOBAL_THIS___.MdxJsReact=___EXPOSE_LOADER_IMPORT___),module.exports=___EXPOSE_LOADER_IMPORT___},27672:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";module.exports=function(){if(typeof globalThis=="object")return globalThis;var g;try{g=this||new Function("return this")()}catch{if(typeof window=="object")return window;if(typeof self=="object")return self;if(typeof __webpack_require__.g<"u")return __webpack_require__.g}return g}()},27418:module=>{"use strict";/*
2
+ object-assign
3
+ (c) Sindre Sorhus
4
+ @license MIT
5
+ */var getOwnPropertySymbols=Object.getOwnPropertySymbols,hasOwnProperty2=Object.prototype.hasOwnProperty,propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(val)}function shouldUseNative(){try{if(!Object.assign)return!1;var test1=new String("abc");if(test1[5]="de",Object.getOwnPropertyNames(test1)[0]==="5")return!1;for(var test2={},i=0;i<10;i++)test2["_"+String.fromCharCode(i)]=i;var order2=Object.getOwnPropertyNames(test2).map(function(n){return test2[n]});if(order2.join("")!=="0123456789")return!1;var test3={};return"abcdefghijklmnopqrst".split("").forEach(function(letter){test3[letter]=letter}),Object.keys(Object.assign({},test3)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}module.exports=shouldUseNative()?Object.assign:function(target,source){for(var from,to=toObject(target),symbols,s=1;s<arguments.length;s++){from=Object(arguments[s]);for(var key in from)hasOwnProperty2.call(from,key)&&(to[key]=from[key]);if(getOwnPropertySymbols){symbols=getOwnPropertySymbols(from);for(var i=0;i<symbols.length;i++)propIsEnumerable.call(from,symbols[i])&&(to[symbols[i]]=from[symbols[i]])}}return to}},72408:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";/** @license React v17.0.2
6
+ * react.production.min.js
7
+ *
8
+ * Copyright (c) Facebook, Inc. and its affiliates.
9
+ *
10
+ * This source code is licensed under the MIT license found in the
11
+ * LICENSE file in the root directory of this source tree.
12
+ */var l=__webpack_require__(27418),n=60103,p=60106;exports.Fragment=60107,exports.StrictMode=60108,exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;if(typeof Symbol=="function"&&Symbol.for){var w=Symbol.for;n=w("react.element"),p=w("react.portal"),exports.Fragment=w("react.fragment"),exports.StrictMode=w("react.strict_mode"),exports.Profiler=w("react.profiler"),q=w("react.provider"),r=w("react.context"),t=w("react.forward_ref"),exports.Suspense=w("react.suspense"),u=w("react.memo"),v=w("react.lazy")}var x=typeof Symbol=="function"&&Symbol.iterator;function y(a){return a===null||typeof a!="object"?null:(a=x&&a[x]||a["@@iterator"],typeof a=="function"?a:null)}function z(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c<arguments.length;c++)b+="&args[]="+encodeURIComponent(arguments[c]);return"Minified React error #"+a+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},B={};function C(a,b,c){this.props=a,this.context=b,this.refs=B,this.updater=c||A}C.prototype.isReactComponent={},C.prototype.setState=function(a,b){if(typeof a!="object"&&typeof a!="function"&&a!=null)throw Error(z(85));this.updater.enqueueSetState(this,a,b,"setState")},C.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};function D(){}D.prototype=C.prototype;function E(a,b,c){this.props=a,this.context=b,this.refs=B,this.updater=c||A}var F=E.prototype=new D;F.constructor=E,l(F,C.prototype),F.isPureReactComponent=!0;var G={current:null},H=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};function J(a,b,c){var e,d={},k=null,h=null;if(b!=null)for(e in b.ref!==void 0&&(h=b.ref),b.key!==void 0&&(k=""+b.key),b)H.call(b,e)&&!I.hasOwnProperty(e)&&(d[e]=b[e]);var g=arguments.length-2;if(g===1)d.children=c;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];d.children=f}if(a&&a.defaultProps)for(e in g=a.defaultProps,g)d[e]===void 0&&(d[e]=g[e]);return{$$typeof:n,type:a,key:k,ref:h,props:d,_owner:G.current}}function K(a,b){return{$$typeof:n,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function L(a){return typeof a=="object"&&a!==null&&a.$$typeof===n}function escape(a){var b={"=":"=0",":":"=2"};return"$"+a.replace(/[=:]/g,function(a2){return b[a2]})}var M=/\/+/g;function N(a,b){return typeof a=="object"&&a!==null&&a.key!=null?escape(""+a.key):b.toString(36)}function O(a,b,c,e,d){var k=typeof a;(k==="undefined"||k==="boolean")&&(a=null);var h=!1;if(a===null)h=!0;else switch(k){case"string":case"number":h=!0;break;case"object":switch(a.$$typeof){case n:case p:h=!0}}if(h)return h=a,d=d(h),a=e===""?"."+N(h,0):e,Array.isArray(d)?(c="",a!=null&&(c=a.replace(M,"$&/")+"/"),O(d,b,c,"",function(a2){return a2})):d!=null&&(L(d)&&(d=K(d,c+(!d.key||h&&h.key===d.key?"":(""+d.key).replace(M,"$&/")+"/")+a)),b.push(d)),1;if(h=0,e=e===""?".":e+":",Array.isArray(a))for(var g=0;g<a.length;g++){k=a[g];var f=e+N(k,g);h+=O(k,b,c,f,d)}else if(f=y(a),typeof f=="function")for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=e+N(k,g++),h+=O(k,b,c,f,d);else if(k==="object")throw b=""+a,Error(z(31,b==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":b));return h}function P(a,b,c){if(a==null)return a;var e=[],d=0;return O(a,e,"","",function(a2){return b.call(c,a2,d++)}),e}function Q(a){if(a._status===-1){var b=a._result;b=b(),a._status=0,a._result=b,b.then(function(b2){a._status===0&&(b2=b2.default,a._status=1,a._result=b2)},function(b2){a._status===0&&(a._status=2,a._result=b2)})}if(a._status===1)return a._result;throw a._result}var R={current:null};function S(){var a=R.current;if(a===null)throw Error(z(321));return a}var T={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:G,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:P,forEach:function(a,b,c){P(a,function(){b.apply(this,arguments)},c)},count:function(a){var b=0;return P(a,function(){b++}),b},toArray:function(a){return P(a,function(a2){return a2})||[]},only:function(a){if(!L(a))throw Error(z(143));return a}},exports.Component=C,exports.PureComponent=E,exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=T,exports.cloneElement=function(a,b,c){if(a==null)throw Error(z(267,a));var e=l({},a.props),d=a.key,k=a.ref,h=a._owner;if(b!=null){if(b.ref!==void 0&&(k=b.ref,h=G.current),b.key!==void 0&&(d=""+b.key),a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)H.call(b,f)&&!I.hasOwnProperty(f)&&(e[f]=b[f]===void 0&&g!==void 0?g[f]:b[f])}var f=arguments.length-2;if(f===1)e.children=c;else if(1<f){g=Array(f);for(var m=0;m<f;m++)g[m]=arguments[m+2];e.children=g}return{$$typeof:n,type:a.type,key:d,ref:k,props:e,_owner:h}},exports.createContext=function(a,b){return b===void 0&&(b=null),a={$$typeof:r,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null},a.Provider={$$typeof:q,_context:a},a.Consumer=a},exports.createElement=J,exports.createFactory=function(a){var b=J.bind(null,a);return b.type=a,b},exports.createRef=function(){return{current:null}},exports.forwardRef=function(a){return{$$typeof:t,render:a}},exports.isValidElement=L,exports.lazy=function(a){return{$$typeof:v,_payload:{_status:-1,_result:a},_init:Q}},exports.memo=function(a,b){return{$$typeof:u,type:a,compare:b===void 0?null:b}},exports.useCallback=function(a,b){return S().useCallback(a,b)},exports.useContext=function(a,b){return S().useContext(a,b)},exports.useDebugValue=function(){},exports.useEffect=function(a,b){return S().useEffect(a,b)},exports.useImperativeHandle=function(a,b,c){return S().useImperativeHandle(a,b,c)},exports.useLayoutEffect=function(a,b){return S().useLayoutEffect(a,b)},exports.useMemo=function(a,b){return S().useMemo(a,b)},exports.useReducer=function(a,b,c){return S().useReducer(a,b,c)},exports.useRef=function(a){return S().useRef(a)},exports.useState=function(a){return S().useState(a)},exports.version="17.0.2"},67294:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";module.exports=__webpack_require__(72408)}},__webpack_require__=>{var __webpack_exec__=moduleId=>__webpack_require__(__webpack_require__.s=moduleId),__webpack_exports__=(__webpack_exec__(65255),__webpack_exec__(55261))}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_teambit_legacy=self.webpackChunk_teambit_legacy||[]).push([[89],{},__webpack_require__=>{var __webpack_exec__=moduleId=>__webpack_require__(__webpack_require__.s=moduleId);__webpack_require__.O(0,[162,420,934],()=>__webpack_exec__(14934));var __webpack_exports__=__webpack_require__.O()}]);
@@ -1 +1 @@
1
- (()=>{"use strict";var e={},r={};function t(o){var n=r[o];if(void 0!==n)return n.exports;var a=r[o]={id:o,loaded:!1,exports:{}};return e[o].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}t.m=e,(()=>{var e=[];t.O=(r,o,n,a)=>{if(!o){var i=1/0;for(u=0;u<e.length;u++){for(var[o,n,a]=e[u],l=!0,d=0;d<o.length;d++)(!1&a||i>=a)&&Object.keys(t.O).every((e=>t.O[e](o[d])))?o.splice(d--,1):(l=!1,a<i&&(i=a));if(l){e.splice(u--,1);var s=n();void 0!==s&&(r=s)}}return r}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[o,n,a]}})(),t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},t.d=(e,r)=>{for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),t.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={666:0};t.O.j=r=>0===e[r];var r=(r,o)=>{var n,a,[i,l,d]=o,s=0;if(i.some((r=>0!==e[r]))){for(n in l)t.o(l,n)&&(t.m[n]=l[n]);if(d)var u=d(t)}for(r&&r(o);s<i.length;s++)a=i[s],t.o(e,a)&&e[a]&&e[a][0](),e[i[s]]=0;return t.O(u)},o=self.webpackChunk_teambit_legacy=self.webpackChunk_teambit_legacy||[];o.forEach(r.bind(null,0)),o.push=r.bind(null,o.push.bind(o))})()})();
1
+ (()=>{"use strict";var __webpack_modules__={},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(cachedModule!==void 0)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={id:moduleId,loaded:!1,exports:{}};return __webpack_modules__[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}__webpack_require__.m=__webpack_modules__,(()=>{var deferred=[];__webpack_require__.O=(result,chunkIds,fn,priority)=>{if(chunkIds){priority=priority||0;for(var i=deferred.length;i>0&&deferred[i-1][2]>priority;i--)deferred[i]=deferred[i-1];deferred[i]=[chunkIds,fn,priority];return}for(var notFulfilled=1/0,i=0;i<deferred.length;i++){for(var[chunkIds,fn,priority]=deferred[i],fulfilled=!0,j=0;j<chunkIds.length;j++)(priority&!1||notFulfilled>=priority)&&Object.keys(__webpack_require__.O).every(key=>__webpack_require__.O[key](chunkIds[j]))?chunkIds.splice(j--,1):(fulfilled=!1,priority<notFulfilled&&(notFulfilled=priority));if(fulfilled){deferred.splice(i--,1);var r=fn();r!==void 0&&(result=r)}}return result}})(),__webpack_require__.n=module=>{var getter=module&&module.__esModule?()=>module.default:()=>module;return __webpack_require__.d(getter,{a:getter}),getter},__webpack_require__.d=(exports,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})},__webpack_require__.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),__webpack_require__.hmd=module=>(module=Object.create(module),module.children||(module.children=[]),Object.defineProperty(module,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+module.id)}}),module),__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),__webpack_require__.r=exports=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__.nmd=module=>(module.paths=[],module.children||(module.children=[]),module),(()=>{var installedChunks={666:0};__webpack_require__.O.j=chunkId=>installedChunks[chunkId]===0;var webpackJsonpCallback=(parentChunkLoadingFunction,data)=>{var[chunkIds,moreModules,runtime]=data,moduleId,chunkId,i=0;if(chunkIds.some(id=>installedChunks[id]!==0)){for(moduleId in moreModules)__webpack_require__.o(moreModules,moduleId)&&(__webpack_require__.m[moduleId]=moreModules[moduleId]);if(runtime)var result=runtime(__webpack_require__)}for(parentChunkLoadingFunction&&parentChunkLoadingFunction(data);i<chunkIds.length;i++)chunkId=chunkIds[i],__webpack_require__.o(installedChunks,chunkId)&&installedChunks[chunkId]&&installedChunks[chunkId][0](),installedChunks[chunkIds[i]]=0;return __webpack_require__.O(result)},chunkLoadingGlobal=self.webpackChunk_teambit_legacy=self.webpackChunk_teambit_legacy||[];chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null,0)),chunkLoadingGlobal.push=webpackJsonpCallback.bind(null,chunkLoadingGlobal.push.bind(chunkLoadingGlobal))})()})();
@@ -1 +1 @@
1
- if(!self.define){const e=e=>{"require"!==e&&(e+=".js");let s=Promise.resolve();return r[e]||(s=new Promise((async s=>{if("document"in self){const r=document.createElement("script");r.src=e,document.head.appendChild(r),r.onload=s}else importScripts(e),s()}))),s.then((()=>{if(!r[e])throw new Error(`Module ${e} didn’t register its module`);return r[e]}))},s=(s,r)=>{Promise.all(s.map(e)).then((e=>r(1===e.length?e[0]:e)))},r={require:Promise.resolve(s)};self.define=(s,i,o)=>{r[s]||(r[s]=Promise.resolve().then((()=>{let r={};const c={uri:location.origin+s.slice(1)};return Promise.all(i.map((s=>{switch(s){case"exports":return r;case"module":return c;default:return e(s)}}))).then((e=>{const s=o(...e);return r.default||(r.default=s),r}))})))}}define("./service-worker.js",["./workbox-ca45de73"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.clientsClaim(),e.precacheAndRoute([{url:"162.js",revision:"05402718b197055225857ddf57deebd7"},{url:"420.js",revision:"e7d28997a8e9f6e307a1c28142eea457"},{url:"677.js",revision:"be695b16f4aa55f78a3c32a3c3f3fbb8"},{url:"934.js",revision:"e3f8d4891fecead4af62fe9718983467"},{url:"compositions.f790a803c1c4d8bc5271.js",revision:null},{url:"compositions.html",revision:"77d7ae8c3b10d1a3dc9f5d05f61b3514"},{url:"overview.d30e1a3e34f5c4de9b91.js",revision:null},{url:"overview.html",revision:"1603f4735d4109f25df0af0a54a073a3"},{url:"peers.2ea1af4a13a9264c3592.js",revision:null},{url:"preview-root.eac53668ab588a64c169.js",revision:null},{url:"runtime.js",revision:"5e3031ac599f6e18782c167d9159cf25"},{url:"static/css/793.253dc893.css",revision:null},{url:"static/css/compositions.cd8be53f.css",revision:null},{url:"static/css/overview.7bb7dce6.css",revision:null},{url:"static/css/previewRoot.1262db93.css",revision:null}],{}),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("public/index.html"),{denylist:[/^\/_/,/\/[^/?]+\.[^/]+$/]}))}));
1
+ if(!self.define){const e=e=>{"require"!==e&&(e+=".js");let s=Promise.resolve();return r[e]||(s=new Promise((async s=>{if("document"in self){const r=document.createElement("script");r.src=e,document.head.appendChild(r),r.onload=s}else importScripts(e),s()}))),s.then((()=>{if(!r[e])throw new Error(`Module ${e} didn’t register its module`);return r[e]}))},s=(s,r)=>{Promise.all(s.map(e)).then((e=>r(1===e.length?e[0]:e)))},r={require:Promise.resolve(s)};self.define=(s,i,c)=>{r[s]||(r[s]=Promise.resolve().then((()=>{let r={};const o={uri:location.origin+s.slice(1)};return Promise.all(i.map((s=>{switch(s){case"exports":return r;case"module":return o;default:return e(s)}}))).then((e=>{const s=c(...e);return r.default||(r.default=s),r}))})))}}define("./service-worker.js",["./workbox-ca45de73"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.clientsClaim(),e.precacheAndRoute([{url:"162.js",revision:"40082668160586cffb0945cf2d615fe7"},{url:"420.js",revision:"0475249cf127498dfa8baf0c15012aef"},{url:"677.js",revision:"4f307c6fc3a14c148eb36d0ee93c34b8"},{url:"934.js",revision:"c15eafd92d409cd5fb75b894328d21aa"},{url:"compositions.86685f707d3236d1f8d2.js",revision:null},{url:"compositions.html",revision:"48b7e20fafd5ebbc256e5ed6c18c01e1"},{url:"overview.014727df7ee11608af7a.js",revision:null},{url:"overview.html",revision:"09c7da61d614728dbf7237164c4c7d79"},{url:"peers.8783e8267afb6ce0955c.js",revision:null},{url:"preview-root.5cb2241e13afdf8e0c32.js",revision:null},{url:"runtime.js",revision:"9766ace9b1bfbc909a57d2232976e462"},{url:"static/css/793.253dc893.css",revision:null},{url:"static/css/compositions.cd8be53f.css",revision:null},{url:"static/css/overview.7bb7dce6.css",revision:null},{url:"static/css/previewRoot.1262db93.css",revision:null}],{}),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("public/index.html"),{denylist:[/^\/_/,/\/[^/?]+\.[^/]+$/]}))}));
@@ -1 +1,172 @@
1
- !function(e,n){"object"===typeof exports&&"object"===typeof module?module.exports=n():"function"===typeof define&&define.amd?define([],n):"object"===typeof exports?exports["teambit.harmony/node-preview"]=n():e["teambit.harmony/node-preview"]=n()}(self,(function(){return(()=>{var e={88244:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},91016:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>p});t(63804);var o=t(85057),a=t(58459),r=t(56668),i=["components"];function d(){return d=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},d.apply(this,arguments)}function s(e,n){if(null==e)return{};var t,o,a=function(e,n){if(null==e)return{};var t,o,a={},r=Object.keys(e);for(o=0;o<r.length;o++)t=r[o],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)t=r[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var m={};function p(e){var n=e.components,t=s(e,i);return(0,o.mdx)("wrapper",d({},m,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)(a.MDXScopeProvider,{components:{Node:r.N},mdxType:"MDXScopeProvider"},(0,o.mdx)(r.N,{mdxType:"Node"})))}p.isMDXComponent=!0},56668:(e,n,t)=>{"use strict";Object.defineProperty(n,"N",{enumerable:!0,get:function(){return o.default}});var o=a(t(8454));function a(e){return e&&e.__esModule?e:{default:e}}a.__bit_component={id:"teambit.harmony/aspect-docs/node@0.0.135",homepage:"https://bit.dev/teambit/harmony/aspect-docs/node",exported:!0}},8454:(e,n,t)=>{"use strict";var o={id:"teambit.harmony/aspect-docs/node@0.0.135",homepage:"https://bit.dev/teambit/harmony/aspect-docs/node",exported:!0};Object.defineProperty(n,"__esModule",{value:!0}),n.default=c;d(t(63804));var a=t(85057),r=t(58459),i=["components"];function d(e){return e&&e.__esModule?e:{default:e}}function s(){return s=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},s.apply(this,arguments)}function m(e,n){if(null==e)return{};var t,o,a=p(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)t=r[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}function p(e,n){if(null==e)return{};var t,o,a={},r=Object.keys(e);for(o=0;o<r.length;o++)t=r[o],n.indexOf(t)>=0||(a[t]=e[t]);return a}d.__bit_component=o,s.__bit_component=o,m.__bit_component=o,p.__bit_component=o;var l={};function c(e){var n=e.components,t=m(e,i);return(0,a.mdx)("wrapper",s({},l,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)(r.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,a.mdx)("p",null,"The built-in ",(0,a.mdx)("a",{parentName:"p",href:"https://bit.dev/teambit/harmony/node"},"Node Component Development Environment")," is a concrete composition of the ",(0,a.mdx)("a",{parentName:"p",href:"https://bit.dev/teambit/envs/envs"},"Env Aspect"),". Use it when getting started with Node components with Bit and later as a base for any future customization of your Node-based workflow."),(0,a.mdx)("p",null,"Node environment is composed out of the base ",(0,a.mdx)("a",{parentName:"p",href:"https://bit.dev/teambit/react/react"},"React Environment")," with some specific overrides for dependency management."),(0,a.mdx)("h2",null,"Use Node environment"),(0,a.mdx)("p",null,"To use this environment for your components, add it to any of the ",(0,a.mdx)("inlineCode",{parentName:"p"},"variants")," in your ",(0,a.mdx)("inlineCode",{parentName:"p"},"workspace.jsonc")," file as follows:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-json",metastring:'title="workspace.jsonc"',title:'"workspace.jsonc"'},'{\n "teambit.workspace/variants": {\n "some/path": {\n "teambit.harmony/node": {}\n }\n }\n}\n')),(0,a.mdx)("h2",null,"Create Node components"),(0,a.mdx)("p",null,"Node implements several component templates:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"node-env")," boilerplate for customizing configuration.")),(0,a.mdx)("p",null,"Use any of these templates with the ",(0,a.mdx)("inlineCode",{parentName:"p"},"bit create")," command:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-sh"},"bit create <template name> [components...]\n")),(0,a.mdx)("h2",null,"Default Configuration and Services"),(0,a.mdx)("p",null,"Node, like all over Environments must implement a set of Service Handlers. For each service, Node compose a different tool and config by default."),(0,a.mdx)("blockquote",null,(0,a.mdx)("p",{parentName:"blockquote"},"Node is a composition of the React environment with some specific modifications. Most of the links here direct to the actual configs in React environment.")),(0,a.mdx)("table",null,(0,a.mdx)("thead",{parentName:"table"},(0,a.mdx)("tr",{parentName:"thead"},(0,a.mdx)("th",{parentName:"tr",align:null},"Service"),(0,a.mdx)("th",{parentName:"tr",align:null},"Aspect"),(0,a.mdx)("th",{parentName:"tr",align:null},"Base Configuration"))),(0,a.mdx)("tbody",{parentName:"table"},(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"Compilation"),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/typescript/typescript"},"TypeScript")),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/typescript/tsconfig.json"},"tsconfig.json"))),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"Testing"),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("strong",{parentName:"td"},"Jest")),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/jest/jest.config.js"},"jest.config.js"))),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"Linting"),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("strong",{parentName:"td"},"ESLint")),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/eslint/eslintrc.ts"},"eslintrc.ts"))),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"DevServer"),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("strong",{parentName:"td"},"Webpack")),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/webpack/webpack.config.preview.dev.ts"},"webpack.config.preview.dev.ts"))),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"Preview (simulation)"),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("strong",{parentName:"td"},"Webpack")),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/webpack/webpack.config.preview.ts"},"webpack.config.preview.ts"))),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"Package"),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("strong",{parentName:"td"},"PKG")),(0,a.mdx)("td",{parentName:"tr",align:null},"Base ",(0,a.mdx)("inlineCode",{parentName:"td"},"package.json")," props from ",(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/typescript/typescript/~code/typescript.main.runtime.ts"},"TypeScript Aspect"))),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"Bundling"),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("strong",{parentName:"td"},"Webpack")),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/webpack/webpack.config.preview.ts"},"webpack.config.preview.ts"))),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"Documentation"),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("em",{parentName:"td"},"Core implementation")),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/docs/index.tsx"},"Docs template"))),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"Build pipeline"),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/pipelines/builder"},"Builder")),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/node.env.ts"},"Build pipeline"))),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"Dependencies"),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("em",{parentName:"td"},"Core implementation")),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/harmony/node/~code/node.env.ts"},"Env-dependencies"))),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"Component Generator"),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/generator/generator"},"Generator")),(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("a",{parentName:"td",href:"https://bit.dev/harmony/node/~code/templates/node-component.ts"},"example template"))))),(0,a.mdx)("h2",null,"Customize environment"),(0,a.mdx)("p",null,"All environments are extendible. You can take any pre-existing environment, and create a component to extend it. That component can then use APIs to:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"Override default configurations."),(0,a.mdx)("li",{parentName:"ul"},"Replace composed tools with others (for example - use Babel instead of TypeScript)."),(0,a.mdx)("li",{parentName:"ul"},"Add new services and capabilities.")),(0,a.mdx)("h3",null,"Create an extension"),(0,a.mdx)("p",null,"The first step is to create a component that extends Node. Use the ",(0,a.mdx)("inlineCode",{parentName:"p"},"node-env")," template from Node env."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-sh"},"bit create node-env extensions/custom-node\n")),(0,a.mdx)("p",null,"As with any component, environments must themselves have an environment which compiles, builds, transpiles, etc, them. Bit has a special environment that knows how to create other environments - ",(0,a.mdx)("inlineCode",{parentName:"p"},"teambit.harmony/aspect"),". So for any component that is meant to be a Bit environment, you must set ",(0,a.mdx)("inlineCode",{parentName:"p"},"teambit.harmony/aspect")," as the environment for that component."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-json",metastring:'title="add variant for the extension and set the aspect env"',title:'"add',variant:!0,for:!0,the:!0,extension:!0,and:!0,set:!0,aspect:!0,'env"':!0},'{\n //...\n "teambit.workspace/variants": {\n //...\n "extensions/custom-node": {\n "teambit.harmony/aspect": {}\n }\n //...\n }\n}\n')),(0,a.mdx)("p",null,"Validate the above by running ",(0,a.mdx)("inlineCode",{parentName:"p"},"bit env")," and see that the extension-component has ",(0,a.mdx)("inlineCode",{parentName:"p"},"teambit.harmony/aspect")," set as an environment."),(0,a.mdx)("p",null,"Now that you have a basic customized extension to start from, you can go ahead and configure it for your components in ",(0,a.mdx)("inlineCode",{parentName:"p"},"workspace.json"),":"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-json",metastring:'title="edit variants and set the new env"',title:'"edit',variants:!0,and:!0,set:!0,the:!0,new:!0,'env"':!0},'{\n //...\n "teambit.workspace/variants": {\n //...\n "[some]/[variant]": {\n "[yourscope]/extensions/custom-node": {}\n }\n //...\n }\n}\n')),(0,a.mdx)("h3",null,"Customize configuration"),(0,a.mdx)("p",null,"Node implements a set of APIs you can use to merge your preferred configuration with its defaults. These APIs are called ",(0,a.mdx)("strong",{parentName:"p"},"transformers")," and they all start with the ",(0,a.mdx)("inlineCode",{parentName:"p"},"override")," pre-fix. Find ",(0,a.mdx)("a",{parentName:"p",href:"#transformers-api-docs"},"Available transformers here"),".\nIn case of a conflict, your config will override the default."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-typescript",metastring:'{4,14} title="Customized TypeScript configuration"',"{4,14}":!0,title:'"Customized',TypeScript:!0,'configuration"':!0},"import { EnvsMain, EnvsAspect } from '@teambit/envs';\nimport { NodeAspect, NodeMain } from '@teambit/node';\n\nconst tsconfig = require('./typescript/tsconfig.json');\n\nexport class CustomNodeExtension {\n constructor(private node: NodeMain) {}\n\n static dependencies: any = [EnvsAspect, NodeAspect];\n\n static async provider([envs, node]: [EnvsMain, NodeMain]) {\n const customNodeEnv = node.compose([node.overrideTsConfig(tsconfig)]);\n\n envs.registerEnv(customNodeEnv);\n\n return new CustomNodeExtension(node);\n }\n}\n")),(0,a.mdx)("blockquote",null,(0,a.mdx)("p",{parentName:"blockquote"},"To override any specific configuration it's recommended to create a separate config file with your customized configuration and import it into the main ",(0,a.mdx)("inlineCode",{parentName:"p"},".extension.ts")," file where you can supply it to the relevant ",(0,a.mdx)("strong",{parentName:"p"},"transformers"),". See the tsconfig example in the above snippet.")),(0,a.mdx)("h3",null,"Composing tools and services"),(0,a.mdx)("p",null,"Environments use Environment Services by implementing a special class of methods called Service Handlers.\nThe supplied transformers allow overriding of these services - for instance the ",(0,a.mdx)("inlineCode",{parentName:"p"},"overrideCompiler")," transformer allows overriding the environment's ",(0,a.mdx)("inlineCode",{parentName:"p"},"getCompiler()")," method."),(0,a.mdx)("p",null,"The below example uses the ",(0,a.mdx)("inlineCode",{parentName:"p"},"overrideCompiler")," transformer to override the ",(0,a.mdx)("inlineCode",{parentName:"p"},"getCompiler()")," Service Handler to change the compilation service."),(0,a.mdx)("ol",null,(0,a.mdx)("li",{parentName:"ol"},"Add a Babel config file to your custom environment and import/require it in your ",(0,a.mdx)("inlineCode",{parentName:"li"},".extension")," file"),(0,a.mdx)("li",{parentName:"ol"},"Create a new Babel compiler using the Babel aspect, and initialize it with the above babelConfig"),(0,a.mdx)("li",{parentName:"ol"},"Use the ",(0,a.mdx)("inlineCode",{parentName:"li"},"compose")," Env API to apply the compiler override transformer and add Babel as a transpiler in the environment")),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-typescript",metastring:"{3,5,10-12,15,17-18,22-23}","{3,5,10-12,15,17-18,22-23}":!0},"import { EnvsMain, EnvsAspect } from '@teambit/envs';\nimport { NodeAspect, NodeMain } from '@teambit/node';\nimport { BabelAspect, BabelMain } from '@teambit/babel';\n\nconst babelConfig = require('./babel/babel.config');\n\nexport class CustomNodeExtension {\n constructor(private node: NodeMain) {}\n\n static dependencies: any = [EnvsAspect, NodeAspect, BabelAspect];\n\n static async provider([envs, node, babel]: [EnvsMain, NodeMain, BabelMain]) {\n const babelCompiler = babel.createCompiler({\n babelTransformOptions: babelConfig,\n });\n\n const customNodeEnv = node.compose([\n node.overrideCompiler(babelCompiler),\n node.overrideCompilerTasks([babelCompiler.createTask()]),\n ]);\n\n envs.registerEnv(customNodeEnv);\n return new CustomNodeExtension(node);\n }\n}\n")),(0,a.mdx)("h3",null,"Transformers API docs"),(0,a.mdx)("p",null,"Use these APIs to customize the base Node environment default configuration with your extension. ",(0,a.mdx)("a",{parentName:"p",href:"#customizing-configuration"},"Read more here"),"."),(0,a.mdx)("h4",null,(0,a.mdx)("inlineCode",{parentName:"h4"},"overrideTsConfig(tsconfig: TsConfigSourceFile): EnvTransformer")),(0,a.mdx)("p",null,"Merges the environment's default TypeScript configuration with the contents of your ",(0,a.mdx)("a",{parentName:"p",href:"https://www.typescriptlang.org/handbook/tsconfig-json.html"},"typescript configuration file"),".\nThis config affects the transpilation carried out when rendering components on the local dev UI. To override the config used when building components, use ",(0,a.mdx)("inlineCode",{parentName:"p"},"overrideBuildTsConfig")," below."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-ts"},"// ...\nconst tsconfig = require('./typescript/tsconfig.json');\nexport class NodeExtension {\n// ...\n\n static async provider([envs, node]: [EnvsMain, NodeMain]) {\n const newNodeEnv = node.compose([\n node.overrideTsConfig(tsconfig)\n ]);\n}\n// ...\n")),(0,a.mdx)("h4",null,(0,a.mdx)("inlineCode",{parentName:"h4"},"overrideBuildTsConfig(tsconfig: TsConfigSourceFile): EnvTransformer")),(0,a.mdx)("p",null,"Merges the environment's default TypeScript configuration with the contents of your ",(0,a.mdx)("a",{parentName:"p",href:"https://www.typescriptlang.org/handbook/tsconfig-json.html"},"typescript configuration file"),".\nThis config affects transpilation of component code during the build process, i.e. in preparation for packaging and exporting the component. To override the local ts config used when rendering components in the local UI, please use ",(0,a.mdx)("inlineCode",{parentName:"p"},"overrideTsConfig")," above."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-ts"},"// ...\nconst tsconfig = require('./typescript/tsconfig.json');\nexport class NodeExtension {\n// ...\n\n static async provider([envs, node]: [EnvsMain, NodeMain]) {\n const newNodeEnv = node.compose([\n node.overrideTsConfig(tsconfig)\n ]);\n}\n// ...\n")),(0,a.mdx)("h4",null,(0,a.mdx)("inlineCode",{parentName:"h4"},"overridePreviewConfig(config: Configuration): EnvTransformer")),(0,a.mdx)("p",null,"Merges the Webpack configuration for the 'Preview' environment service, with the contents of your ",(0,a.mdx)("a",{parentName:"p",href:"https://webpack.js.org/configuration/"},"webpack configuration file"),".\nThis webpack configuration is used for building and rendering your components on the local dev server."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-ts"},"// ...\nconst webpackConfig = require('./webpack/webpack.config');\nexport class NodeExtension {\n// ...\n static async provider([envs, node]: [EnvsMain, NodeMain]) {\n const newNodeEnv = node.compose([\n node.overridePreviewConfig(webpackConfig)\n ]);\n}\n// ...\n")),(0,a.mdx)("h4",null,(0,a.mdx)("inlineCode",{parentName:"h4"},"overrideDevServerConfig(config: Configuration): EnvTransformer")),(0,a.mdx)("p",null,"Merges the Webpack configuration for the 'DevServer' environment service, with the contents of your ",(0,a.mdx)("a",{parentName:"p",href:"https://webpack.js.org/configuration/"},"webpack configuration file"),".\nThis configuration is used for building and rendering the dev server UI (but not your components, which use the PreviewConfig)"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-ts"},"// ...\nconst webpackConfig = require('./webpack/webpack.config');\nexport class NodeExtension {\n// ...\n static async provider([envs, node]: [EnvsMain, NodeMain]) {\n const newNodeEnv = node.compose([\n node.overrideDevServerConfig(webpackConfig)\n ]);\n}\n// ...\n")),(0,a.mdx)("h4",null,(0,a.mdx)("inlineCode",{parentName:"h4"},"overrideJestConfig(jestConfigPath: string): EnvTransformer")),(0,a.mdx)("p",null,"Merges the default configuration for the Jest test runner with the contents of your (",(0,a.mdx)("a",{parentName:"p",href:"https://jestjs.io/en/configuration"},"jest.config configuration file"),")."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-ts"},"// ...\nexport class NodeExtension {\n// ...\n static async provider([envs, node]: [EnvsMain, NodeMain]) {\n const newNodeEnv = node.compose([\n node.overrideJestConfig(require.resolve('./jest/jest.config'))\n ]);\n}\n// ...\n")),(0,a.mdx)("h4",null,(0,a.mdx)("inlineCode",{parentName:"h4"},"overrideBuildPipe(tasks: BuildTask[]): EnvTransformer")),(0,a.mdx)("p",null,"This method receives an array of build tasks. It merges the provided tasks with the environment's default build pipeline (initiated either on a ",(0,a.mdx)("inlineCode",{parentName:"p"},"bit tag")," or ",(0,a.mdx)("inlineCode",{parentName:"p"},"bit build")," command)."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-ts"},"// ...\n// Import the task\nimport { CustomTask } from './custom.task';\nexport class CustomNode {\n // ...\n static async provider([envs, node]: [EnvsMain, NodeMain]) {\n // Get the environment's default build pipeline using the 'getBuildPipe' service handler\n const nodePipe = node.env.getBuildPipe();\n // Add the custom task to the end of the build tasks sequence.\n const tasks = [...nodePipe, new CustomTask()];\n const newNodeEnv = node.compose([node.overrideBuildPipe(tasks)]);\n // ...\n }\n}\n")),(0,a.mdx)("h4",null,(0,a.mdx)("inlineCode",{parentName:"h4"},"overrideDependencies(dependencyPolicy: DependenciesPolicy): EnvTransformer")),(0,a.mdx)("p",null,"This method receives a dependency-policy object and merges it with the environment's default dependency policy for components using this environment.\nEach key-value pair in a dependency-policy object signifies the package and the version to be used. Use also the ",(0,a.mdx)("inlineCode",{parentName:"p"},"-")," and ",(0,a.mdx)("inlineCode",{parentName:"p"},"+")," notation to signify a module should moved between dependency types (dev, peer or standard)."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-js"},"// ...\nconst newDependencies = {\n devDependencies: {\n '@types/jest': '~26.0.9',\n },\n};\n\nexport class CustomNode {\n // ...\n static async provider([envs, node]: [EnvsMain, NodeMain]) {\n const newNodeEnv = node.compose([node.overrideDependencies(newDependencies)]);\n // ...\n }\n}\n")),(0,a.mdx)("blockquote",null,(0,a.mdx)("p",{parentName:"blockquote"},"The above example shows the 'Node' library being removed as a (runtime) dependency and added as a peer dependency.")),(0,a.mdx)("h4",null,(0,a.mdx)("inlineCode",{parentName:"h4"},"overridePackageJsonProps(props: PackageJsonProps): EnvTransformer")),(0,a.mdx)("p",null,"Merges the provide props with the default properties added to the ",(0,a.mdx)("inlineCode",{parentName:"p"},"package.json")," file of every package generated from components using this environment."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-ts"},"// ...\nconst newPackageProps = {\n main: 'dist/{main}.js',\n types: '{main}.ts',\n};\n\nexport class CustomNode {\n // ...\n static async provider([envs, node]: [EnvsMain, NodeMain]) {\n const newNodeEnv = node.compose([node.overridePackageJsonProps(newPackageProps)]);\n // ...\n }\n}\n"))))}c.__bit_component=o,c.isMDXComponent=!0},24581:(e,n,t)=>{"use strict";var o={id:"teambit.harmony/node@0.0.692",homepage:"https://bit.dev/teambit/harmony/node",exported:!0},a=t(88244);function r(){const e=a(t(63804));return r=function(){return e},e}Object.defineProperty(n,"__esModule",{value:!0}),n.Logo=void 0,r.__bit_component=o;const i=()=>r().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},r().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/node.svg"}));i.__bit_component=o,n.Logo=i},85057:e=>{"use strict";e.exports=MdxJsReact},63804:e=>{"use strict";e.exports=React},58459:e=>{"use strict";e.exports=TeambitMdxUiMdxScopeContext}},n={};function t(o){var a=n[o];if(void 0!==a)return a.exports;var r=n[o]={exports:{}};return e[o](r,r.exports,t),r.exports}t.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},t.d=(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),t.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{"use strict";t.r(o),t.d(o,{compositions:()=>e,overview:()=>n});const e=[t(24581)],n=[t(91016)]})(),o})()}));
1
+ (function(root,factory){typeof exports=="object"&&typeof module=="object"?module.exports=factory():typeof define=="function"&&define.amd?define([],factory):typeof exports=="object"?exports["teambit.harmony/node-preview"]=factory():root["teambit.harmony/node-preview"]=factory()})(self,function(){return(()=>{var __webpack_modules__={88244:module2=>{function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}module2.exports=_interopRequireDefault},81652:(__unused_webpack_module,__webpack_exports__2,__webpack_require__2)=>{"use strict";__webpack_require__2.r(__webpack_exports__2),__webpack_require__2.d(__webpack_exports__2,{default:()=>MDXContent});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__2(63804),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__2.n(react__WEBPACK_IMPORTED_MODULE_0__),_mdx_js_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__2(85057),_mdx_js_react__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__2.n(_mdx_js_react__WEBPACK_IMPORTED_MODULE_1__),_teambit_mdx_ui_mdx_scope_context__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__2(58459),_teambit_mdx_ui_mdx_scope_context__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__2.n(_teambit_mdx_ui_mdx_scope_context__WEBPACK_IMPORTED_MODULE_2__),_teambit_harmony_aspect_docs_node__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__2(56668),_excluded=["components"];function _extends(){return _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_extends.apply(this,arguments)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded),key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++)key=sourceSymbolKeys[i],!(excluded.indexOf(key)>=0)&&(!Object.prototype.propertyIsEnumerable.call(source,key)||(target[key]=source[key]))}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.keys(source),key,i;for(i=0;i<sourceKeys.length;i++)key=sourceKeys[i],!(excluded.indexOf(key)>=0)&&(target[key]=source[key]);return target}var layoutProps={},MDXLayout="wrapper";function MDXContent(_ref){var components=_ref.components,props=_objectWithoutProperties(_ref,_excluded);return(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_1__.mdx)(MDXLayout,_extends({},layoutProps,props,{components,mdxType:"MDXLayout"}),(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_1__.mdx)(_teambit_mdx_ui_mdx_scope_context__WEBPACK_IMPORTED_MODULE_2__.MDXScopeProvider,{components:{Node:_teambit_harmony_aspect_docs_node__WEBPACK_IMPORTED_MODULE_3__.N},mdxType:"MDXScopeProvider"},(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_1__.mdx)(_teambit_harmony_aspect_docs_node__WEBPACK_IMPORTED_MODULE_3__.N,{mdxType:"Node"})))}MDXContent.isMDXComponent=!0},56668:(__unused_webpack_module,exports2,__webpack_require__2)=>{"use strict";var __webpack_unused_export__,__bit_component={id:"teambit.harmony/aspect-docs/node@0.0.135",homepage:"https://bit.dev/teambit/harmony/aspect-docs/node",exported:!0};__webpack_unused_export__={value:!0},Object.defineProperty(exports2,"N",{enumerable:!0,get:function(){return _node.default}});var _node=_interopRequireDefault(__webpack_require__2(8454));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}_interopRequireDefault.__bit_component=__bit_component},8454:(__unused_webpack_module,exports2,__webpack_require__2)=>{"use strict";var __bit_component={id:"teambit.harmony/aspect-docs/node@0.0.135",homepage:"https://bit.dev/teambit/harmony/aspect-docs/node",exported:!0};Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.default=MDXContent;var _react=_interopRequireDefault(__webpack_require__2(63804)),_react2=__webpack_require__2(85057),_mdxUi=__webpack_require__2(58459),_excluded=["components"];function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}_interopRequireDefault.__bit_component=__bit_component;function _extends(){return _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_extends.apply(this,arguments)}_extends.__bit_component=__bit_component;function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded),key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++)key=sourceSymbolKeys[i],!(excluded.indexOf(key)>=0)&&(!Object.prototype.propertyIsEnumerable.call(source,key)||(target[key]=source[key]))}return target}_objectWithoutProperties.__bit_component=__bit_component;function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.keys(source),key,i;for(i=0;i<sourceKeys.length;i++)key=sourceKeys[i],!(excluded.indexOf(key)>=0)&&(target[key]=source[key]);return target}_objectWithoutPropertiesLoose.__bit_component=__bit_component;var layoutProps={},MDXLayout="wrapper";function MDXContent(_ref){var components=_ref.components,props=_objectWithoutProperties(_ref,_excluded);return(0,_react2.mdx)(MDXLayout,_extends({},layoutProps,props,{components,mdxType:"MDXLayout"}),(0,_react2.mdx)(_mdxUi.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,_react2.mdx)("p",null,"The built-in ",(0,_react2.mdx)("a",{parentName:"p",href:"https://bit.dev/teambit/harmony/node"},"Node Component Development Environment")," is a concrete composition of the ",(0,_react2.mdx)("a",{parentName:"p",href:"https://bit.dev/teambit/envs/envs"},"Env Aspect"),". Use it when getting started with Node components with Bit and later as a base for any future customization of your Node-based workflow."),(0,_react2.mdx)("p",null,"Node environment is composed out of the base ",(0,_react2.mdx)("a",{parentName:"p",href:"https://bit.dev/teambit/react/react"},"React Environment")," with some specific overrides for dependency management."),(0,_react2.mdx)("h2",null,"Use Node environment"),(0,_react2.mdx)("p",null,"To use this environment for your components, add it to any of the ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"variants")," in your ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"workspace.jsonc")," file as follows:"),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-json",metastring:'title="workspace.jsonc"',title:'"workspace.jsonc"'},`{
2
+ "teambit.workspace/variants": {
3
+ "some/path": {
4
+ "teambit.harmony/node": {}
5
+ }
6
+ }
7
+ }
8
+ `)),(0,_react2.mdx)("h2",null,"Create Node components"),(0,_react2.mdx)("p",null,"Node implements several component templates:"),(0,_react2.mdx)("ul",null,(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("inlineCode",{parentName:"li"},"node-env")," boilerplate for customizing configuration.")),(0,_react2.mdx)("p",null,"Use any of these templates with the ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"bit create")," command:"),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-sh"},`bit create <template name> [components...]
9
+ `)),(0,_react2.mdx)("h2",null,"Default Configuration and Services"),(0,_react2.mdx)("p",null,"Node, like all over Environments must implement a set of Service Handlers. For each service, Node compose a different tool and config by default."),(0,_react2.mdx)("blockquote",null,(0,_react2.mdx)("p",{parentName:"blockquote"},"Node is a composition of the React environment with some specific modifications. Most of the links here direct to the actual configs in React environment.")),(0,_react2.mdx)("table",null,(0,_react2.mdx)("thead",{parentName:"table"},(0,_react2.mdx)("tr",{parentName:"thead"},(0,_react2.mdx)("th",{parentName:"tr",align:null},"Service"),(0,_react2.mdx)("th",{parentName:"tr",align:null},"Aspect"),(0,_react2.mdx)("th",{parentName:"tr",align:null},"Base Configuration"))),(0,_react2.mdx)("tbody",{parentName:"table"},(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"Compilation"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/typescript/typescript"},"TypeScript")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/typescript/tsconfig.json"},"tsconfig.json"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"Testing"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("strong",{parentName:"td"},"Jest")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/jest/jest.config.js"},"jest.config.js"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"Linting"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("strong",{parentName:"td"},"ESLint")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/eslint/eslintrc.ts"},"eslintrc.ts"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"DevServer"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("strong",{parentName:"td"},"Webpack")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/webpack/webpack.config.preview.dev.ts"},"webpack.config.preview.dev.ts"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"Preview (simulation)"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("strong",{parentName:"td"},"Webpack")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/webpack/webpack.config.preview.ts"},"webpack.config.preview.ts"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"Package"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("strong",{parentName:"td"},"PKG")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"Base ",(0,_react2.mdx)("inlineCode",{parentName:"td"},"package.json")," props from ",(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/typescript/typescript/~code/typescript.main.runtime.ts"},"TypeScript Aspect"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"Bundling"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("strong",{parentName:"td"},"Webpack")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/webpack/webpack.config.preview.ts"},"webpack.config.preview.ts"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"Documentation"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("em",{parentName:"td"},"Core implementation")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/docs/index.tsx"},"Docs template"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"Build pipeline"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/pipelines/builder"},"Builder")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/node.env.ts"},"Build pipeline"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"Dependencies"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("em",{parentName:"td"},"Core implementation")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/harmony/node/~code/node.env.ts"},"Env-dependencies"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"Component Generator"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/generator/generator"},"Generator")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/harmony/node/~code/templates/node-component.ts"},"example template"))))),(0,_react2.mdx)("h2",null,"Customize environment"),(0,_react2.mdx)("p",null,"All environments are extendible. You can take any pre-existing environment, and create a component to extend it. That component can then use APIs to:"),(0,_react2.mdx)("ul",null,(0,_react2.mdx)("li",{parentName:"ul"},"Override default configurations."),(0,_react2.mdx)("li",{parentName:"ul"},"Replace composed tools with others (for example - use Babel instead of TypeScript)."),(0,_react2.mdx)("li",{parentName:"ul"},"Add new services and capabilities.")),(0,_react2.mdx)("h3",null,"Create an extension"),(0,_react2.mdx)("p",null,"The first step is to create a component that extends Node. Use the ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"node-env")," template from Node env."),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-sh"},`bit create node-env extensions/custom-node
10
+ `)),(0,_react2.mdx)("p",null,"As with any component, environments must themselves have an environment which compiles, builds, transpiles, etc, them. Bit has a special environment that knows how to create other environments - ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"teambit.harmony/aspect"),". So for any component that is meant to be a Bit environment, you must set ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"teambit.harmony/aspect")," as the environment for that component."),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-json",metastring:'title="add variant for the extension and set the aspect env"',title:'"add',variant:!0,for:!0,the:!0,extension:!0,and:!0,set:!0,aspect:!0,'env"':!0},`{
11
+ //...
12
+ "teambit.workspace/variants": {
13
+ //...
14
+ "extensions/custom-node": {
15
+ "teambit.harmony/aspect": {}
16
+ }
17
+ //...
18
+ }
19
+ }
20
+ `)),(0,_react2.mdx)("p",null,"Validate the above by running ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"bit env")," and see that the extension-component has ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"teambit.harmony/aspect")," set as an environment."),(0,_react2.mdx)("p",null,"Now that you have a basic customized extension to start from, you can go ahead and configure it for your components in ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"workspace.json"),":"),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-json",metastring:'title="edit variants and set the new env"',title:'"edit',variants:!0,and:!0,set:!0,the:!0,new:!0,'env"':!0},`{
21
+ //...
22
+ "teambit.workspace/variants": {
23
+ //...
24
+ "[some]/[variant]": {
25
+ "[yourscope]/extensions/custom-node": {}
26
+ }
27
+ //...
28
+ }
29
+ }
30
+ `)),(0,_react2.mdx)("h3",null,"Customize configuration"),(0,_react2.mdx)("p",null,"Node implements a set of APIs you can use to merge your preferred configuration with its defaults. These APIs are called ",(0,_react2.mdx)("strong",{parentName:"p"},"transformers")," and they all start with the ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"override")," pre-fix. Find ",(0,_react2.mdx)("a",{parentName:"p",href:"#transformers-api-docs"},"Available transformers here"),`.
31
+ In case of a conflict, your config will override the default.`),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-typescript",metastring:'{4,14} title="Customized TypeScript configuration"',"{4,14}":!0,title:'"Customized',TypeScript:!0,'configuration"':!0},`import { EnvsMain, EnvsAspect } from '@teambit/envs';
32
+ import { NodeAspect, NodeMain } from '@teambit/node';
33
+
34
+ const tsconfig = require('./typescript/tsconfig.json');
35
+
36
+ export class CustomNodeExtension {
37
+ constructor(private node: NodeMain) {}
38
+
39
+ static dependencies: any = [EnvsAspect, NodeAspect];
40
+
41
+ static async provider([envs, node]: [EnvsMain, NodeMain]) {
42
+ const customNodeEnv = node.compose([node.overrideTsConfig(tsconfig)]);
43
+
44
+ envs.registerEnv(customNodeEnv);
45
+
46
+ return new CustomNodeExtension(node);
47
+ }
48
+ }
49
+ `)),(0,_react2.mdx)("blockquote",null,(0,_react2.mdx)("p",{parentName:"blockquote"},"To override any specific configuration it's recommended to create a separate config file with your customized configuration and import it into the main ",(0,_react2.mdx)("inlineCode",{parentName:"p"},".extension.ts")," file where you can supply it to the relevant ",(0,_react2.mdx)("strong",{parentName:"p"},"transformers"),". See the tsconfig example in the above snippet.")),(0,_react2.mdx)("h3",null,"Composing tools and services"),(0,_react2.mdx)("p",null,`Environments use Environment Services by implementing a special class of methods called Service Handlers.
50
+ The supplied transformers allow overriding of these services - for instance the `,(0,_react2.mdx)("inlineCode",{parentName:"p"},"overrideCompiler")," transformer allows overriding the environment's ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"getCompiler()")," method."),(0,_react2.mdx)("p",null,"The below example uses the ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"overrideCompiler")," transformer to override the ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"getCompiler()")," Service Handler to change the compilation service."),(0,_react2.mdx)("ol",null,(0,_react2.mdx)("li",{parentName:"ol"},"Add a Babel config file to your custom environment and import/require it in your ",(0,_react2.mdx)("inlineCode",{parentName:"li"},".extension")," file"),(0,_react2.mdx)("li",{parentName:"ol"},"Create a new Babel compiler using the Babel aspect, and initialize it with the above babelConfig"),(0,_react2.mdx)("li",{parentName:"ol"},"Use the ",(0,_react2.mdx)("inlineCode",{parentName:"li"},"compose")," Env API to apply the compiler override transformer and add Babel as a transpiler in the environment")),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-typescript",metastring:"{3,5,10-12,15,17-18,22-23}","{3,5,10-12,15,17-18,22-23}":!0},`import { EnvsMain, EnvsAspect } from '@teambit/envs';
51
+ import { NodeAspect, NodeMain } from '@teambit/node';
52
+ import { BabelAspect, BabelMain } from '@teambit/babel';
53
+
54
+ const babelConfig = require('./babel/babel.config');
55
+
56
+ export class CustomNodeExtension {
57
+ constructor(private node: NodeMain) {}
58
+
59
+ static dependencies: any = [EnvsAspect, NodeAspect, BabelAspect];
60
+
61
+ static async provider([envs, node, babel]: [EnvsMain, NodeMain, BabelMain]) {
62
+ const babelCompiler = babel.createCompiler({
63
+ babelTransformOptions: babelConfig,
64
+ });
65
+
66
+ const customNodeEnv = node.compose([
67
+ node.overrideCompiler(babelCompiler),
68
+ node.overrideCompilerTasks([babelCompiler.createTask()]),
69
+ ]);
70
+
71
+ envs.registerEnv(customNodeEnv);
72
+ return new CustomNodeExtension(node);
73
+ }
74
+ }
75
+ `)),(0,_react2.mdx)("h3",null,"Transformers API docs"),(0,_react2.mdx)("p",null,"Use these APIs to customize the base Node environment default configuration with your extension. ",(0,_react2.mdx)("a",{parentName:"p",href:"#customizing-configuration"},"Read more here"),"."),(0,_react2.mdx)("h4",null,(0,_react2.mdx)("inlineCode",{parentName:"h4"},"overrideTsConfig(tsconfig: TsConfigSourceFile): EnvTransformer")),(0,_react2.mdx)("p",null,"Merges the environment's default TypeScript configuration with the contents of your ",(0,_react2.mdx)("a",{parentName:"p",href:"https://www.typescriptlang.org/handbook/tsconfig-json.html"},"typescript configuration file"),`.
76
+ This config affects the transpilation carried out when rendering components on the local dev UI. To override the config used when building components, use `,(0,_react2.mdx)("inlineCode",{parentName:"p"},"overrideBuildTsConfig")," below."),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-ts"},`// ...
77
+ const tsconfig = require('./typescript/tsconfig.json');
78
+ export class NodeExtension {
79
+ // ...
80
+
81
+ static async provider([envs, node]: [EnvsMain, NodeMain]) {
82
+ const newNodeEnv = node.compose([
83
+ node.overrideTsConfig(tsconfig)
84
+ ]);
85
+ }
86
+ // ...
87
+ `)),(0,_react2.mdx)("h4",null,(0,_react2.mdx)("inlineCode",{parentName:"h4"},"overrideBuildTsConfig(tsconfig: TsConfigSourceFile): EnvTransformer")),(0,_react2.mdx)("p",null,"Merges the environment's default TypeScript configuration with the contents of your ",(0,_react2.mdx)("a",{parentName:"p",href:"https://www.typescriptlang.org/handbook/tsconfig-json.html"},"typescript configuration file"),`.
88
+ This config affects transpilation of component code during the build process, i.e. in preparation for packaging and exporting the component. To override the local ts config used when rendering components in the local UI, please use `,(0,_react2.mdx)("inlineCode",{parentName:"p"},"overrideTsConfig")," above."),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-ts"},`// ...
89
+ const tsconfig = require('./typescript/tsconfig.json');
90
+ export class NodeExtension {
91
+ // ...
92
+
93
+ static async provider([envs, node]: [EnvsMain, NodeMain]) {
94
+ const newNodeEnv = node.compose([
95
+ node.overrideTsConfig(tsconfig)
96
+ ]);
97
+ }
98
+ // ...
99
+ `)),(0,_react2.mdx)("h4",null,(0,_react2.mdx)("inlineCode",{parentName:"h4"},"overridePreviewConfig(config: Configuration): EnvTransformer")),(0,_react2.mdx)("p",null,"Merges the Webpack configuration for the 'Preview' environment service, with the contents of your ",(0,_react2.mdx)("a",{parentName:"p",href:"https://webpack.js.org/configuration/"},"webpack configuration file"),`.
100
+ This webpack configuration is used for building and rendering your components on the local dev server.`),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-ts"},`// ...
101
+ const webpackConfig = require('./webpack/webpack.config');
102
+ export class NodeExtension {
103
+ // ...
104
+ static async provider([envs, node]: [EnvsMain, NodeMain]) {
105
+ const newNodeEnv = node.compose([
106
+ node.overridePreviewConfig(webpackConfig)
107
+ ]);
108
+ }
109
+ // ...
110
+ `)),(0,_react2.mdx)("h4",null,(0,_react2.mdx)("inlineCode",{parentName:"h4"},"overrideDevServerConfig(config: Configuration): EnvTransformer")),(0,_react2.mdx)("p",null,"Merges the Webpack configuration for the 'DevServer' environment service, with the contents of your ",(0,_react2.mdx)("a",{parentName:"p",href:"https://webpack.js.org/configuration/"},"webpack configuration file"),`.
111
+ This configuration is used for building and rendering the dev server UI (but not your components, which use the PreviewConfig)`),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-ts"},`// ...
112
+ const webpackConfig = require('./webpack/webpack.config');
113
+ export class NodeExtension {
114
+ // ...
115
+ static async provider([envs, node]: [EnvsMain, NodeMain]) {
116
+ const newNodeEnv = node.compose([
117
+ node.overrideDevServerConfig(webpackConfig)
118
+ ]);
119
+ }
120
+ // ...
121
+ `)),(0,_react2.mdx)("h4",null,(0,_react2.mdx)("inlineCode",{parentName:"h4"},"overrideJestConfig(jestConfigPath: string): EnvTransformer")),(0,_react2.mdx)("p",null,"Merges the default configuration for the Jest test runner with the contents of your (",(0,_react2.mdx)("a",{parentName:"p",href:"https://jestjs.io/en/configuration"},"jest.config configuration file"),")."),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-ts"},`// ...
122
+ export class NodeExtension {
123
+ // ...
124
+ static async provider([envs, node]: [EnvsMain, NodeMain]) {
125
+ const newNodeEnv = node.compose([
126
+ node.overrideJestConfig(require.resolve('./jest/jest.config'))
127
+ ]);
128
+ }
129
+ // ...
130
+ `)),(0,_react2.mdx)("h4",null,(0,_react2.mdx)("inlineCode",{parentName:"h4"},"overrideBuildPipe(tasks: BuildTask[]): EnvTransformer")),(0,_react2.mdx)("p",null,"This method receives an array of build tasks. It merges the provided tasks with the environment's default build pipeline (initiated either on a ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"bit tag")," or ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"bit build")," command)."),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-ts"},`// ...
131
+ // Import the task
132
+ import { CustomTask } from './custom.task';
133
+ export class CustomNode {
134
+ // ...
135
+ static async provider([envs, node]: [EnvsMain, NodeMain]) {
136
+ // Get the environment's default build pipeline using the 'getBuildPipe' service handler
137
+ const nodePipe = node.env.getBuildPipe();
138
+ // Add the custom task to the end of the build tasks sequence.
139
+ const tasks = [...nodePipe, new CustomTask()];
140
+ const newNodeEnv = node.compose([node.overrideBuildPipe(tasks)]);
141
+ // ...
142
+ }
143
+ }
144
+ `)),(0,_react2.mdx)("h4",null,(0,_react2.mdx)("inlineCode",{parentName:"h4"},"overrideDependencies(dependencyPolicy: DependenciesPolicy): EnvTransformer")),(0,_react2.mdx)("p",null,`This method receives a dependency-policy object and merges it with the environment's default dependency policy for components using this environment.
145
+ Each key-value pair in a dependency-policy object signifies the package and the version to be used. Use also the `,(0,_react2.mdx)("inlineCode",{parentName:"p"},"-")," and ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"+")," notation to signify a module should moved between dependency types (dev, peer or standard)."),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-js"},`// ...
146
+ const newDependencies = {
147
+ devDependencies: {
148
+ '@types/jest': '~26.0.9',
149
+ },
150
+ };
151
+
152
+ export class CustomNode {
153
+ // ...
154
+ static async provider([envs, node]: [EnvsMain, NodeMain]) {
155
+ const newNodeEnv = node.compose([node.overrideDependencies(newDependencies)]);
156
+ // ...
157
+ }
158
+ }
159
+ `)),(0,_react2.mdx)("blockquote",null,(0,_react2.mdx)("p",{parentName:"blockquote"},"The above example shows the 'Node' library being removed as a (runtime) dependency and added as a peer dependency.")),(0,_react2.mdx)("h4",null,(0,_react2.mdx)("inlineCode",{parentName:"h4"},"overridePackageJsonProps(props: PackageJsonProps): EnvTransformer")),(0,_react2.mdx)("p",null,"Merges the provide props with the default properties added to the ",(0,_react2.mdx)("inlineCode",{parentName:"p"},"package.json")," file of every package generated from components using this environment."),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-ts"},`// ...
160
+ const newPackageProps = {
161
+ main: 'dist/{main}.js',
162
+ types: '{main}.ts',
163
+ };
164
+
165
+ export class CustomNode {
166
+ // ...
167
+ static async provider([envs, node]: [EnvsMain, NodeMain]) {
168
+ const newNodeEnv = node.compose([node.overridePackageJsonProps(newPackageProps)]);
169
+ // ...
170
+ }
171
+ }
172
+ `))))}MDXContent.__bit_component=__bit_component,MDXContent.isMDXComponent=!0},5709:(__unused_webpack_module,exports2,__webpack_require__2)=>{"use strict";var __bit_component={id:"teambit.harmony/node@0.0.693",homepage:"https://bit.dev/teambit/harmony/node",exported:!0},_interopRequireDefault=__webpack_require__2(88244);Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.Logo=void 0;function _react(){const data=_interopRequireDefault(__webpack_require__2(63804));return _react=function(){return data},data}_react.__bit_component=__bit_component;const Logo=()=>_react().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},_react().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/node.svg"}));Logo.__bit_component=__bit_component,exports2.Logo=Logo},85057:module2=>{"use strict";module2.exports=MdxJsReact},63804:module2=>{"use strict";module2.exports=React},58459:module2=>{"use strict";module2.exports=TeambitMdxUiMdxScopeContext}},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(cachedModule!==void 0)return cachedModule.exports;var module2=__webpack_module_cache__[moduleId]={exports:{}};return __webpack_modules__[moduleId](module2,module2.exports,__webpack_require__),module2.exports}__webpack_require__.n=module2=>{var getter=module2&&module2.__esModule?()=>module2.default:()=>module2;return __webpack_require__.d(getter,{a:getter}),getter},__webpack_require__.d=(exports2,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports2,key)&&Object.defineProperty(exports2,key,{enumerable:!0,get:definition[key]})},__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),__webpack_require__.r=exports2=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports2,"__esModule",{value:!0})};var __webpack_exports__={};return(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{compositions:()=>compositions,overview:()=>overview});const compositions=[__webpack_require__(5709)],overview=[__webpack_require__(81652)]})(),__webpack_exports__})()});