@teambit/react 0.0.823 → 0.0.826
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.
- package/apps/web/react.app-type.ts +11 -4
- package/apps/web/react.application.ts +52 -8
- package/apps/web/ssr/app/runner +52 -0
- package/artifacts/__bit_junit.xml +2 -2
- package/artifacts/env-template/public/{90.be834142fe08a3150970.js → 194.11f04d933a6db920cf9b.js} +112 -106
- package/artifacts/env-template/public/{22.0f657f2dfdd8e90d81ba.js → 22.513e68a5af8f5a59a0a2.js} +1 -1
- package/artifacts/env-template/public/assets-manifest.json +14 -14
- package/artifacts/env-template/public/{compositions.527ea483a6012a5520df.js → compositions.7943f51af41c485b721d.js} +1 -1
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/overview.c7b44125a55a1e079be8.js +1 -0
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/{peers.110c60ee1631ae126a6b.js → peers.17c5e918ad0931264215.js} +1 -1
- package/artifacts/env-template/public/{preview-root.6e5fd1b2fb189042d04d.js → preview-root.1885fa4cac1830204638.js} +1 -1
- package/artifacts/env-template/public/static/css/{90.bd6f7c48.css → 194.bd6f7c48.css} +0 -0
- package/artifacts/preview/teambit_react_react-preview.js +1 -1
- package/{compositions-1661052612585.js → compositions-1661398415639.js} +0 -0
- package/dist/apps/web/react.app-type.d.ts +5 -3
- package/dist/apps/web/react.app-type.js +3 -2
- package/dist/apps/web/react.app-type.js.map +1 -1
- package/dist/apps/web/react.application.d.ts +6 -2
- package/dist/apps/web/react.application.js +91 -9
- package/dist/apps/web/react.application.js.map +1 -1
- package/dist/apps/web/ssr/app/runner +52 -0
- package/dist/react.main.runtime.d.ts +3 -2
- package/dist/react.main.runtime.js +5 -4
- package/dist/react.main.runtime.js.map +1 -1
- package/{overview-1661052612585.js → overview-1661398415639.js} +0 -0
- package/package-tar/teambit-react-0.0.826.tgz +0 -0
- package/package.json +31 -31
- package/{preview-1661052612585.js → preview-1661398415639.js} +2 -2
- package/artifacts/env-template/public/overview.7665c490e86b919cf3b0.js +0 -1
- package/package-tar/teambit-react-0.0.823.tgz +0 -0
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
`:`
|
|
3
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
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}},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":96560,"./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":76024,"./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":81254,"./Script_Extensions/Deseret.js":4063,"./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},591:()=>{},74112:()=>{},52361:()=>{},94616:()=>{}},__webpack_require__=>{var __webpack_exec__=moduleId=>__webpack_require__(__webpack_require__.s=moduleId);__webpack_require__.O(0,[90,244],()=>__webpack_exec__(44880));var __webpack_exports__=__webpack_require__.O()}]);
|
|
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}},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":96560,"./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":76024,"./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":81254,"./Script_Extensions/Deseret.js":4063,"./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},591:()=>{},74112:()=>{},52361:()=>{},94616:()=>{}},__webpack_require__=>{var __webpack_exec__=moduleId=>__webpack_require__(__webpack_require__.s=moduleId);__webpack_require__.O(0,[194,244],()=>__webpack_exec__(28658));var __webpack_exports__=__webpack_require__.O()}]);
|
|
File without changes
|
|
@@ -8,4 +8,4 @@ It enables you to quickly set up a dev environment that follows best practices f
|
|
|
8
8
|
}
|
|
9
9
|
`)),(0,_react2.mdx)("h2",null,"Creating Components"),(0,_react2.mdx)("p",null,"React env provides a set of component templates that can be used to speed-up and standardize your component development:"),(0,_react2.mdx)("p",null,"To list all available templates:"),(0,_react2.mdx)("pre",null,(0,_react2.mdx)("code",{parentName:"pre",className:"language-bash"},`bit templates
|
|
10
10
|
`)),(0,_react2.mdx)("ul",null,(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("inlineCode",{parentName:"li"},"react")," a basic React UI component."),(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("inlineCode",{parentName:"li"},"react-context")," a react context component."),(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("inlineCode",{parentName:"li"},"react-hook")," a react hook component."),(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("inlineCode",{parentName:"li"},"mdx-component")," an MDX component."),(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("inlineCode",{parentName:"li"},"react-component-js")," a basic React component in JS."),(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("inlineCode",{parentName:"li"},"react-env")," boilerplate for a customized environment 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-bash"},`bit create react ui/my-welcome
|
|
11
|
-
`)),(0,_react2.mdx)("h2",null,"Development services and configurations"),(0,_react2.mdx)("p",null,"The table below lists ",(0,_react2.mdx)("a",{parentName:"p",href:"/dev-services/dev-services-overview"},"dev services")," that are provided by the React env. Each service handles a specific component development operation. Each is implemented by the React env, using a specific set of configurations."),(0,_react2.mdx)("p",null,"To customize and extend the React env, ",(0,_react2.mdx)("a",{parentName:"p",href:"/envs/pre-configured-envs/react/extending-react#using-your-own-react-env-extension"},"create you own React env extension"),". You can replace the Aspects used by the env, or override their configurations (use the links provided in the 'customization' column)."),(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},"Default config"),(0,_react2.mdx)("th",{parentName:"tr",align:null},"Customization"))),(0,_react2.mdx)("tbody",{parentName:"table"},(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/docs/dev-services/compiler/compiler-overview"},"Compiler")),(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)("td",{parentName:"tr",align:null},"\u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/frameworks/react/config-react-tools#typescript"},"TS compilation config")," ",(0,_react2.mdx)("br",null)," \u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/docs/dev-services/compiler/configure-env-with-compiler"},"Replace compiler"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/tester/overview"},"Tester")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/defender/jest"},"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)("td",{parentName:"tr",align:null},"\u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/frameworks/react/config-react-tools#jest"},"Jest config")," ",(0,_react2.mdx)("br",null)," \u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/dev-services/tester/configure-env-with-tester"},"Replace Tester"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/linter/overview"},"Linting")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/defender/eslint"},"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)("td",{parentName:"tr",align:null},"\u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/frameworks/react/config-react-tools#eslint"},"ESLint Config")," ",(0,_react2.mdx)("br",null)," \u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/dev-services/linter/configure-env-with-linter"},"Replace Linter"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/formatter/overview"},"Formatter")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/defender/prettier"},"Prettier")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/prettier/prettier.config.js"},"prettier.config.ts")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"\u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/frameworks/react/config-react-tools#prettier"},"Prettier config")," ",(0,_react2.mdx)("br",null)," \u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/dev-services/formatter/configure-env-with-formatter"},"Replace Formatter"))),(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)("a",{parentName:"td",href:"https://bit.dev/teambit/webpack/webpack"},"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)("td",{parentName:"tr",align:null},"\u2022 Webpack config (for bundling in the workspace)")),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/docs/dev-services/preview/overview"},"Preview")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"-"),(0,_react2.mdx)("td",{parentName:"tr",align:null}),(0,_react2.mdx)("td",{parentName:"tr",align:null},"\u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/dev-services/preview/register-custom-preview"},"Add preview"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/docs/packages/packages-overview"},"Package")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"-"),(0,_react2.mdx)("td",{parentName:"tr",align:null},"See the ",(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/typescript/typescript/~code/typescript.main.runtime.ts"},"TypeScript Aspect")," config"),(0,_react2.mdx)("td",{parentName:"tr",align:null},"\u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/packages/managing-package-json#set-configuration-from-an-env"},"Add Env package config")," ",(0,_react2.mdx)("br",null)," \u2022 TypeScript's package config")),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"Bundler"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/webpack/webpack"},"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)("td",{parentName:"tr",align:null},"\u2022 Webpack config (for bundling during build)")),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/docs/dev-services/docs/docs-overview"},"Documentation")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"-"),(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)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/docs/dev-services/docs/docs-templates"},"Replace docs template"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"http://localhost:3000/docs/dev-services/builder/builder-overview"},"Builder")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"-"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"http://localhost:3000/docs/dev-services/builder/builder-overview"},"Build pipeline")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/dev-services/builder/build-pipelines"},"Build pipelines"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/dependencies/dependencies-overview"},"Dependencies")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"-"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/react.env.ts"},"Env-dependencies")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/dependencies/configuring-dependencies#configuring-dependencies-from-an-env"},"Env dependencies"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/docs/dev-services/generator/generator-overview"},"Generator")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"-"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/templates/react-component.ts"},"React templates")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:""},"Add a component template"))))),(0,_react2.mdx)("h3",null,"Default React versions"),(0,_react2.mdx)("p",null,"By default, the React env sets the following dependency versions for components using it:"),(0,_react2.mdx)("ul",null,(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("strong",{parentName:"li"},"react")," (peer dependency): ",(0,_react2.mdx)("inlineCode",{parentName:"li"},"^16.8.0 || ^17.0.0")),(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("strong",{parentName:"li"},"react-dom")," (peer dependency): ",(0,_react2.mdx)("inlineCode",{parentName:"li"},"^16.8.0 || ^17.0.0")),(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("strong",{parentName:"li"},"@types/react"),": ",(0,_react2.mdx)("inlineCode",{parentName:"li"},"^17.0.8")),(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("strong",{parentName:"li"},"@types/react-dom"),": ",(0,_react2.mdx)("inlineCode",{parentName:"li"},"^17.0.5")))))}MDXContent.__bit_component=__bit_component,MDXContent.isMDXComponent=!0},422:(__unused_webpack_module,exports2,__webpack_require__2)=>{"use strict";var __bit_component={id:"teambit.react/react@0.0.823",homepage:"https://bit.dev/teambit/react/react",exported:!0},_interopRequireDefault=__webpack_require__2(244);Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.Logo=void 0;function _react(){const data=_interopRequireDefault(__webpack_require__2(804));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/react.svg"}));Logo.__bit_component=__bit_component,exports2.Logo=Logo},57:module2=>{"use strict";module2.exports=MdxJsReact},804:module2=>{"use strict";module2.exports=React},459: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__.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});var react_docs_namespaceObject={};__webpack_require__.r(react_docs_namespaceObject),__webpack_require__.d(react_docs_namespaceObject,{default:()=>MDXContent});var react_composition=__webpack_require__(422),external_React_=__webpack_require__(804),external_MdxJsReact_=__webpack_require__(57),external_TeambitMdxUiMdxScopeContext_=__webpack_require__(459),dist=__webpack_require__(906),_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,external_MdxJsReact_.mdx)(MDXLayout,_extends({},layoutProps,props,{components,mdxType:"MDXLayout"}),(0,external_MdxJsReact_.mdx)(external_TeambitMdxUiMdxScopeContext_.MDXScopeProvider,{components:{ReactOverview:dist.ZP},mdxType:"MDXScopeProvider"},(0,external_MdxJsReact_.mdx)(dist.ZP,{mdxType:"ReactOverview"})))}MDXContent.isMDXComponent=!0;const compositions=[react_composition],overview=[react_docs_namespaceObject]})(),__webpack_exports__})()});
|
|
11
|
+
`)),(0,_react2.mdx)("h2",null,"Development services and configurations"),(0,_react2.mdx)("p",null,"The table below lists ",(0,_react2.mdx)("a",{parentName:"p",href:"/dev-services/dev-services-overview"},"dev services")," that are provided by the React env. Each service handles a specific component development operation. Each is implemented by the React env, using a specific set of configurations."),(0,_react2.mdx)("p",null,"To customize and extend the React env, ",(0,_react2.mdx)("a",{parentName:"p",href:"/envs/pre-configured-envs/react/extending-react#using-your-own-react-env-extension"},"create you own React env extension"),". You can replace the Aspects used by the env, or override their configurations (use the links provided in the 'customization' column)."),(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},"Default config"),(0,_react2.mdx)("th",{parentName:"tr",align:null},"Customization"))),(0,_react2.mdx)("tbody",{parentName:"table"},(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/docs/dev-services/compiler/compiler-overview"},"Compiler")),(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)("td",{parentName:"tr",align:null},"\u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/frameworks/react/config-react-tools#typescript"},"TS compilation config")," ",(0,_react2.mdx)("br",null)," \u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/docs/dev-services/compiler/configure-env-with-compiler"},"Replace compiler"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/tester/overview"},"Tester")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/defender/jest"},"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)("td",{parentName:"tr",align:null},"\u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/frameworks/react/config-react-tools#jest"},"Jest config")," ",(0,_react2.mdx)("br",null)," \u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/dev-services/tester/configure-env-with-tester"},"Replace Tester"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/linter/overview"},"Linting")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/defender/eslint"},"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)("td",{parentName:"tr",align:null},"\u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/frameworks/react/config-react-tools#eslint"},"ESLint Config")," ",(0,_react2.mdx)("br",null)," \u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/dev-services/linter/configure-env-with-linter"},"Replace Linter"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/formatter/overview"},"Formatter")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/defender/prettier"},"Prettier")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/prettier/prettier.config.js"},"prettier.config.ts")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"\u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/frameworks/react/config-react-tools#prettier"},"Prettier config")," ",(0,_react2.mdx)("br",null)," \u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/dev-services/formatter/configure-env-with-formatter"},"Replace Formatter"))),(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)("a",{parentName:"td",href:"https://bit.dev/teambit/webpack/webpack"},"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)("td",{parentName:"tr",align:null},"\u2022 Webpack config (for bundling in the workspace)")),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/docs/dev-services/preview/overview"},"Preview")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"-"),(0,_react2.mdx)("td",{parentName:"tr",align:null}),(0,_react2.mdx)("td",{parentName:"tr",align:null},"\u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/dev-services/preview/register-custom-preview"},"Add preview"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/docs/packages/packages-overview"},"Package")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"-"),(0,_react2.mdx)("td",{parentName:"tr",align:null},"See the ",(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/typescript/typescript/~code/typescript.main.runtime.ts"},"TypeScript Aspect")," config"),(0,_react2.mdx)("td",{parentName:"tr",align:null},"\u2022 ",(0,_react2.mdx)("a",{parentName:"td",href:"/packages/managing-package-json#set-configuration-from-an-env"},"Add Env package config")," ",(0,_react2.mdx)("br",null)," \u2022 TypeScript's package config")),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},"Bundler"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/webpack/webpack"},"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)("td",{parentName:"tr",align:null},"\u2022 Webpack config (for bundling during build)")),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/docs/dev-services/docs/docs-overview"},"Documentation")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"-"),(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)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/docs/dev-services/docs/docs-templates"},"Replace docs template"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"http://localhost:3000/docs/dev-services/builder/builder-overview"},"Builder")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"-"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"http://localhost:3000/docs/dev-services/builder/builder-overview"},"Build pipeline")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/dev-services/builder/build-pipelines"},"Build pipelines"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/dependencies/dependencies-overview"},"Dependencies")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"-"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/react.env.ts"},"Env-dependencies")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/dependencies/configuring-dependencies#configuring-dependencies-from-an-env"},"Env dependencies"))),(0,_react2.mdx)("tr",{parentName:"tbody"},(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"/docs/dev-services/generator/generator-overview"},"Generator")),(0,_react2.mdx)("td",{parentName:"tr",align:null},"-"),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:"https://bit.dev/teambit/react/react/~code/templates/react-component.ts"},"React templates")),(0,_react2.mdx)("td",{parentName:"tr",align:null},(0,_react2.mdx)("a",{parentName:"td",href:""},"Add a component template"))))),(0,_react2.mdx)("h3",null,"Default React versions"),(0,_react2.mdx)("p",null,"By default, the React env sets the following dependency versions for components using it:"),(0,_react2.mdx)("ul",null,(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("strong",{parentName:"li"},"react")," (peer dependency): ",(0,_react2.mdx)("inlineCode",{parentName:"li"},"^16.8.0 || ^17.0.0")),(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("strong",{parentName:"li"},"react-dom")," (peer dependency): ",(0,_react2.mdx)("inlineCode",{parentName:"li"},"^16.8.0 || ^17.0.0")),(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("strong",{parentName:"li"},"@types/react"),": ",(0,_react2.mdx)("inlineCode",{parentName:"li"},"^17.0.8")),(0,_react2.mdx)("li",{parentName:"ul"},(0,_react2.mdx)("strong",{parentName:"li"},"@types/react-dom"),": ",(0,_react2.mdx)("inlineCode",{parentName:"li"},"^17.0.5")))))}MDXContent.__bit_component=__bit_component,MDXContent.isMDXComponent=!0},400:(__unused_webpack_module,exports2,__webpack_require__2)=>{"use strict";var __bit_component={id:"teambit.react/react@0.0.826",homepage:"https://bit.dev/teambit/react/react",exported:!0},_interopRequireDefault=__webpack_require__2(244);Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.Logo=void 0;function _react(){const data=_interopRequireDefault(__webpack_require__2(804));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/react.svg"}));Logo.__bit_component=__bit_component,exports2.Logo=Logo},57:module2=>{"use strict";module2.exports=MdxJsReact},804:module2=>{"use strict";module2.exports=React},459: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__.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});var react_docs_namespaceObject={};__webpack_require__.r(react_docs_namespaceObject),__webpack_require__.d(react_docs_namespaceObject,{default:()=>MDXContent});var react_composition=__webpack_require__(400),external_React_=__webpack_require__(804),external_MdxJsReact_=__webpack_require__(57),external_TeambitMdxUiMdxScopeContext_=__webpack_require__(459),dist=__webpack_require__(906),_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,external_MdxJsReact_.mdx)(MDXLayout,_extends({},layoutProps,props,{components,mdxType:"MDXLayout"}),(0,external_MdxJsReact_.mdx)(external_TeambitMdxUiMdxScopeContext_.MDXScopeProvider,{components:{ReactOverview:dist.ZP},mdxType:"MDXScopeProvider"},(0,external_MdxJsReact_.mdx)(dist.ZP,{mdxType:"ReactOverview"})))}MDXContent.isMDXComponent=!0;const compositions=[react_composition],overview=[react_docs_namespaceObject]})(),__webpack_exports__})()});
|
|
File without changes
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { ApplicationType } from '@teambit/application';
|
|
2
1
|
import type { Logger } from '@teambit/logger';
|
|
2
|
+
import type { DependencyResolverMain } from '@teambit/dependency-resolver';
|
|
3
|
+
import { ApplicationType } from '@teambit/application';
|
|
3
4
|
import { ReactAppOptions } from './react-app-options';
|
|
4
5
|
import { ReactApp } from './react.application';
|
|
5
6
|
import { ReactEnv } from '../../react.env';
|
|
6
7
|
export declare class ReactAppType implements ApplicationType<ReactAppOptions> {
|
|
7
8
|
readonly name: string;
|
|
8
9
|
private reactEnv;
|
|
9
|
-
private logger
|
|
10
|
-
|
|
10
|
+
private logger;
|
|
11
|
+
private dependencyResolver;
|
|
12
|
+
constructor(name: string, reactEnv: ReactEnv, logger: Logger, dependencyResolver: DependencyResolverMain);
|
|
11
13
|
createApp(options: ReactAppOptions): ReactApp;
|
|
12
14
|
}
|
|
@@ -16,14 +16,15 @@ function _react() {
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
class ReactAppType {
|
|
19
|
-
constructor(name, reactEnv, logger) {
|
|
19
|
+
constructor(name, reactEnv, logger, dependencyResolver) {
|
|
20
20
|
this.name = name;
|
|
21
21
|
this.reactEnv = reactEnv;
|
|
22
22
|
this.logger = logger;
|
|
23
|
+
this.dependencyResolver = dependencyResolver;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
createApp(options) {
|
|
26
|
-
return new (_react().ReactApp)(options.name, options.entry, options.ssr, options.portRange || [3000, 4000], this.reactEnv, options.prerender, options.bundler, options.ssrBundler, options.devServer, options.webpackTransformers, options.deploy, options.favicon
|
|
27
|
+
return new (_react().ReactApp)(options.name, options.entry, options.ssr, options.portRange || [3000, 4000], this.reactEnv, this.logger, this.dependencyResolver, options.prerender, options.bundler, options.ssrBundler, options.devServer, options.webpackTransformers, options.deploy, options.favicon);
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ReactAppType","constructor","name","reactEnv","logger","createApp","options","ReactApp","entry","ssr","portRange","prerender","bundler","ssrBundler","devServer","webpackTransformers","deploy","favicon"],"sources":["react.app-type.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":["ReactAppType","constructor","name","reactEnv","logger","dependencyResolver","createApp","options","ReactApp","entry","ssr","portRange","prerender","bundler","ssrBundler","devServer","webpackTransformers","deploy","favicon"],"sources":["react.app-type.ts"],"sourcesContent":["import type { Logger } from '@teambit/logger';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ApplicationType } from '@teambit/application';\nimport { ReactAppOptions } from './react-app-options';\nimport { ReactApp } from './react.application';\nimport { ReactEnv } from '../../react.env';\n\nexport class ReactAppType implements ApplicationType<ReactAppOptions> {\n constructor(\n readonly name: string,\n private reactEnv: ReactEnv,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain\n ) {}\n\n createApp(options: ReactAppOptions) {\n return new ReactApp(\n options.name,\n options.entry,\n options.ssr,\n options.portRange || [3000, 4000],\n this.reactEnv,\n this.logger,\n this.dependencyResolver,\n options.prerender,\n options.bundler,\n options.ssrBundler,\n options.devServer,\n options.webpackTransformers,\n options.deploy,\n options.favicon\n );\n }\n}\n"],"mappings":";;;;;;;AAIA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,YAAN,CAA+D;EACpEC,WAAW,CACAC,IADA,EAEDC,QAFC,EAGDC,MAHC,EAIDC,kBAJC,EAKT;IAAA,KAJSH,IAIT,GAJSA,IAIT;IAAA,KAHQC,QAGR,GAHQA,QAGR;IAAA,KAFQC,MAER,GAFQA,MAER;IAAA,KADQC,kBACR,GADQA,kBACR;EAAE;;EAEJC,SAAS,CAACC,OAAD,EAA2B;IAClC,OAAO,KAAIC,iBAAJ,EACLD,OAAO,CAACL,IADH,EAELK,OAAO,CAACE,KAFH,EAGLF,OAAO,CAACG,GAHH,EAILH,OAAO,CAACI,SAAR,IAAqB,CAAC,IAAD,EAAO,IAAP,CAJhB,EAKL,KAAKR,QALA,EAML,KAAKC,MANA,EAOL,KAAKC,kBAPA,EAQLE,OAAO,CAACK,SARH,EASLL,OAAO,CAACM,OATH,EAULN,OAAO,CAACO,UAVH,EAWLP,OAAO,CAACQ,SAXH,EAYLR,OAAO,CAACS,mBAZH,EAaLT,OAAO,CAACU,MAbH,EAcLV,OAAO,CAACW,OAdH,CAAP;EAgBD;;AAzBmE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Application, AppContext, AppBuildContext, AppResult } from '@teambit/application';
|
|
2
2
|
import type { Bundler, DevServer } from '@teambit/bundler';
|
|
3
3
|
import type { Logger } from '@teambit/logger';
|
|
4
|
+
import { DependencyResolverMain } from '@teambit/dependency-resolver';
|
|
4
5
|
import { WebpackConfigTransformer } from '@teambit/webpack';
|
|
5
6
|
import { ReactEnv } from '../../react.env';
|
|
6
7
|
import { ReactAppBuildResult } from './react-build-result';
|
|
@@ -12,6 +13,8 @@ export declare class ReactApp implements Application {
|
|
|
12
13
|
readonly ssr: string | (() => Promise<string>) | undefined;
|
|
13
14
|
readonly portRange: [number, number];
|
|
14
15
|
private reactEnv;
|
|
16
|
+
private logger;
|
|
17
|
+
private dependencyResolver;
|
|
15
18
|
readonly prerender?: ReactAppPrerenderOptions | undefined;
|
|
16
19
|
readonly bundler?: Bundler | undefined;
|
|
17
20
|
readonly ssrBundler?: Bundler | undefined;
|
|
@@ -19,8 +22,7 @@ export declare class ReactApp implements Application {
|
|
|
19
22
|
readonly transformers: WebpackConfigTransformer[];
|
|
20
23
|
readonly deploy?: ((context: ReactDeployContext) => Promise<void>) | undefined;
|
|
21
24
|
readonly favicon?: string | undefined;
|
|
22
|
-
|
|
23
|
-
constructor(name: string, entry: string[] | ((path?: string) => Promise<string[]>), ssr: string | (() => Promise<string>) | undefined, portRange: [number, number], reactEnv: ReactEnv, prerender?: ReactAppPrerenderOptions | undefined, bundler?: Bundler | undefined, ssrBundler?: Bundler | undefined, devServer?: DevServer | undefined, transformers?: WebpackConfigTransformer[], deploy?: ((context: ReactDeployContext) => Promise<void>) | undefined, favicon?: string | undefined, logger?: Logger | undefined);
|
|
25
|
+
constructor(name: string, entry: string[] | ((path?: string) => Promise<string[]>), ssr: string | (() => Promise<string>) | undefined, portRange: [number, number], reactEnv: ReactEnv, logger: Logger, dependencyResolver: DependencyResolverMain, prerender?: ReactAppPrerenderOptions | undefined, bundler?: Bundler | undefined, ssrBundler?: Bundler | undefined, devServer?: DevServer | undefined, transformers?: WebpackConfigTransformer[], deploy?: ((context: ReactDeployContext) => Promise<void>) | undefined, favicon?: string | undefined);
|
|
24
26
|
readonly applicationType = "react-common-js";
|
|
25
27
|
readonly dir = "public";
|
|
26
28
|
readonly ssrDir = "ssr";
|
|
@@ -29,6 +31,8 @@ export declare class ReactApp implements Application {
|
|
|
29
31
|
private buildClient;
|
|
30
32
|
private buildSsr;
|
|
31
33
|
build(context: AppBuildContext): Promise<ReactAppBuildResult>;
|
|
34
|
+
private buildSsrApp;
|
|
35
|
+
private getSsrPolicy;
|
|
32
36
|
private getBundler;
|
|
33
37
|
private getSsrBundler;
|
|
34
38
|
private getDefaultBundler;
|
|
@@ -21,6 +21,16 @@ function _defineProperty2() {
|
|
|
21
21
|
return data;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
function _fs() {
|
|
25
|
+
const data = require("fs");
|
|
26
|
+
|
|
27
|
+
_fs = function () {
|
|
28
|
+
return data;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
return data;
|
|
32
|
+
}
|
|
33
|
+
|
|
24
34
|
function _path() {
|
|
25
35
|
const data = require("path");
|
|
26
36
|
|
|
@@ -41,6 +51,26 @@ function _toolboxNetwork() {
|
|
|
41
51
|
return data;
|
|
42
52
|
}
|
|
43
53
|
|
|
54
|
+
function _component() {
|
|
55
|
+
const data = require("@teambit/component");
|
|
56
|
+
|
|
57
|
+
_component = function () {
|
|
58
|
+
return data;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
return data;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function _dependencyResolver() {
|
|
65
|
+
const data = require("@teambit/dependency-resolver");
|
|
66
|
+
|
|
67
|
+
_dependencyResolver = function () {
|
|
68
|
+
return data;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
return data;
|
|
72
|
+
}
|
|
73
|
+
|
|
44
74
|
function _lodash() {
|
|
45
75
|
const data = _interopRequireDefault(require("lodash.compact"));
|
|
46
76
|
|
|
@@ -126,12 +156,14 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
126
156
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(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; }
|
|
127
157
|
|
|
128
158
|
class ReactApp {
|
|
129
|
-
constructor(name, entry, ssr, portRange, reactEnv, prerender, bundler, ssrBundler, devServer, transformers = [], deploy, favicon
|
|
159
|
+
constructor(name, entry, ssr, portRange, reactEnv, logger, dependencyResolver, prerender, bundler, ssrBundler, devServer, transformers = [], deploy, favicon) {
|
|
130
160
|
this.name = name;
|
|
131
161
|
this.entry = entry;
|
|
132
162
|
this.ssr = ssr;
|
|
133
163
|
this.portRange = portRange;
|
|
134
164
|
this.reactEnv = reactEnv;
|
|
165
|
+
this.logger = logger;
|
|
166
|
+
this.dependencyResolver = dependencyResolver;
|
|
135
167
|
this.prerender = prerender;
|
|
136
168
|
this.bundler = bundler;
|
|
137
169
|
this.ssrBundler = ssrBundler;
|
|
@@ -139,7 +171,6 @@ class ReactApp {
|
|
|
139
171
|
this.transformers = transformers;
|
|
140
172
|
this.deploy = deploy;
|
|
141
173
|
this.favicon = favicon;
|
|
142
|
-
this.logger = logger;
|
|
143
174
|
(0, _defineProperty2().default)(this, "applicationType", 'react-common-js');
|
|
144
175
|
(0, _defineProperty2().default)(this, "dir", 'public');
|
|
145
176
|
(0, _defineProperty2().default)(this, "ssrDir", 'ssr');
|
|
@@ -252,16 +283,67 @@ class ReactApp {
|
|
|
252
283
|
});
|
|
253
284
|
const bundler = await this.getBundler(context);
|
|
254
285
|
const bundleResult = await bundler.run();
|
|
255
|
-
|
|
256
|
-
if (this.ssr)
|
|
257
|
-
const bunlder = await this.getSsrBundler(context);
|
|
258
|
-
await bunlder.run();
|
|
259
|
-
}
|
|
260
|
-
|
|
286
|
+
const ssrAppDir = (0, _path().join)(this.getPublicDir(context.artifactsDir));
|
|
287
|
+
if (this.ssr) await this.buildSsrApp(context, ssrAppDir);
|
|
261
288
|
return (0, _computeResults().computeResults)(bundleResult, {
|
|
262
289
|
publicDir: `${this.getPublicDir(context.artifactsDir)}/${this.dir}`,
|
|
263
|
-
ssrPublicDir:
|
|
290
|
+
ssrPublicDir: ssrAppDir
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
async buildSsrApp(context, ssrAppDir) {
|
|
295
|
+
const ssrBundler = await this.getSsrBundler(context);
|
|
296
|
+
await ssrBundler.run();
|
|
297
|
+
const runner = (0, _fs().readFileSync)((0, _path().join)(__dirname, './ssr/app/runner')).toString();
|
|
298
|
+
context.capsule.fs.writeFileSync((0, _path().join)(ssrAppDir, 'runner.js'), runner);
|
|
299
|
+
const capsuleSsrDir = context.capsule.fs.getPath(ssrAppDir);
|
|
300
|
+
const installer = this.dependencyResolver.getInstaller({
|
|
301
|
+
packageManager: 'teambit.dependencies/yarn',
|
|
302
|
+
rootDir: capsuleSsrDir,
|
|
303
|
+
cacheRootDirectory: capsuleSsrDir
|
|
304
|
+
});
|
|
305
|
+
await installer.install(capsuleSsrDir, this.getSsrPolicy(), new (_component().ComponentMap)(new Map()));
|
|
306
|
+
return ssrAppDir;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
getSsrPolicy() {
|
|
310
|
+
const workspacePolicy = new (_dependencyResolver().WorkspacePolicy)([]);
|
|
311
|
+
workspacePolicy.add({
|
|
312
|
+
lifecycleType: 'runtime',
|
|
313
|
+
dependencyId: 'express',
|
|
314
|
+
value: {
|
|
315
|
+
version: '4.18.1'
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
workspacePolicy.add({
|
|
319
|
+
lifecycleType: 'runtime',
|
|
320
|
+
dependencyId: '@teambit/react.rendering.ssr',
|
|
321
|
+
value: {
|
|
322
|
+
version: '0.0.3'
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
workspacePolicy.add({
|
|
326
|
+
lifecycleType: 'runtime',
|
|
327
|
+
dependencyId: '@teambit/ui-foundation.ui.pages.static-error',
|
|
328
|
+
value: {
|
|
329
|
+
version: '0.0.75'
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
workspacePolicy.add({
|
|
333
|
+
lifecycleType: 'peer',
|
|
334
|
+
dependencyId: 'react',
|
|
335
|
+
value: {
|
|
336
|
+
version: '17.0.2'
|
|
337
|
+
}
|
|
338
|
+
});
|
|
339
|
+
workspacePolicy.add({
|
|
340
|
+
lifecycleType: 'peer',
|
|
341
|
+
dependencyId: 'react-dom',
|
|
342
|
+
value: {
|
|
343
|
+
version: '17.0.2'
|
|
344
|
+
}
|
|
264
345
|
});
|
|
346
|
+
return workspacePolicy;
|
|
265
347
|
}
|
|
266
348
|
|
|
267
349
|
getBundler(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ReactApp","constructor","name","entry","ssr","portRange","reactEnv","prerender","bundler","ssrBundler","devServer","transformers","deploy","favicon","logger","run","context","from","to","port","Port","getPort","listen","devServerContext","getDevServerContext","getDevServer","addDevServer","setOutput","runSsr","clientBundle","buildClient","errors","length","info","serverBundle","buildSsr","app","loadSsrApp","workdir","appName","expressApp","createExpressSsr","assets","parseAssets","htmlConfig","title","templateContent","html","minify","ctx","Object","assign","create","targets","entries","getEntries","components","appComponent","outputPath","resolve","calcOutputPath","hostDependencies","getPeers","aliasHostDependencies","capsuleNetwork","undefined","previousTasksResults","getBundler","config","merge","clientConfig","bundleResult","getSsrEntries","ssrConfig","build","bunlder","getSsrBundler","computeResults","publicDir","getPublicDir","artifactsDir","dir","ssrPublicDir","ssrDir","getDefaultBundler","getDefaultSsrBundler","capsule","join","path","bundlerContext","getBuildContext","compact","configMutator","buildConfig","addPlugin","prerenderPlugin","replaceTerserPlugin","env","ssrBuildConfig","distDir","getCompiler","targetEntries","map","require","basename","component","hostRootDir","rootPath","metaData","initiator","envId","id","applicationType","Array","isArray","BitError","publicPath","getPeerDependenciesList"],"sources":["react.application.ts"],"sourcesContent":["import { join, resolve, basename } from 'path';\nimport { Application, AppContext, AppBuildContext, AppResult } from '@teambit/application';\nimport type { Bundler, DevServer, BundlerContext, DevServerContext, BundlerHtmlConfig } from '@teambit/bundler';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport type { Logger } from '@teambit/logger';\nimport compact from 'lodash.compact';\nimport { WebpackConfigTransformer } from '@teambit/webpack';\nimport { BitError } from '@teambit/bit-error';\nimport { ReactEnv } from '../../react.env';\nimport { prerenderPlugin } from './plugins';\nimport { ReactAppBuildResult } from './react-build-result';\nimport { ReactAppPrerenderOptions } from './react-app-options';\nimport { html } from '../../webpack';\nimport { ReactDeployContext } from '.';\nimport { computeResults } from './compute-results';\nimport { clientConfig, ssrConfig, calcOutputPath, ssrBuildConfig, buildConfig } from './webpack/webpack.app.ssr.config';\nimport { addDevServer, setOutput, replaceTerserPlugin } from './webpack/mutators';\nimport { createExpressSsr, loadSsrApp, parseAssets } from './ssr/ssr-express';\n\nexport class ReactApp implements Application {\n constructor(\n readonly name: string,\n readonly entry: string[] | ((path?: string) => Promise<string[]>),\n readonly ssr: string | (() => Promise<string>) | undefined,\n readonly portRange: [number, number],\n private reactEnv: ReactEnv,\n readonly prerender?: ReactAppPrerenderOptions,\n readonly bundler?: Bundler,\n readonly ssrBundler?: Bundler,\n readonly devServer?: DevServer,\n readonly transformers: WebpackConfigTransformer[] = [],\n readonly deploy?: (context: ReactDeployContext) => Promise<void>,\n readonly favicon?: string,\n private logger?: Logger\n ) {}\n readonly applicationType = 'react-common-js';\n readonly dir = 'public';\n readonly ssrDir = 'ssr';\n\n async run(context: AppContext): Promise<number> {\n const [from, to] = this.portRange;\n const port = await Port.getPort(from, to);\n\n if (this.devServer) {\n await this.devServer.listen(port);\n return port;\n }\n\n const devServerContext = await this.getDevServerContext(context);\n const devServer = this.reactEnv.getDevServer(devServerContext, [addDevServer, setOutput, ...this.transformers]);\n await devServer.listen(port);\n return port;\n }\n\n async runSsr(context: AppContext): Promise<AppResult> {\n const [from, to] = this.portRange;\n const port = await Port.getPort(from, to);\n\n // bundle client\n const clientBundle = await this.buildClient(context);\n if (clientBundle.errors.length > 0) return { errors: clientBundle.errors };\n this.logger?.info('[react.application] [ssr] client bundle - complete');\n\n // bundle server\n const serverBundle = await this.buildSsr(context);\n if (serverBundle.errors.length > 0) return { errors: serverBundle.errors };\n this.logger?.info('[react.application] [ssr] server bundle - complete');\n\n // load server-side runtime\n const app = await loadSsrApp(context.workdir, context.appName);\n this.logger?.info('[react.application] [ssr] bundle code - loaded');\n\n const expressApp = createExpressSsr({\n name: context.appName,\n workdir: context.workdir,\n port,\n app,\n assets: parseAssets(clientBundle.assets),\n logger: this.logger,\n });\n\n expressApp.listen(port);\n return { port };\n }\n\n private async buildClient(context: AppContext) {\n const htmlConfig: BundlerHtmlConfig[] = [\n {\n title: context.appName,\n templateContent: html(context.appName),\n minify: false,\n favicon: this.favicon,\n },\n ];\n\n // extend, including prototype methods\n const ctx: BundlerContext = Object.assign(Object.create(context), {\n html: htmlConfig,\n targets: [\n {\n entries: await this.getEntries(),\n components: [context.appComponent],\n outputPath: resolve(context.workdir, calcOutputPath(context.appName, 'browser')),\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n\n // @ts-ignore\n capsuleNetwork: undefined,\n previousTasksResults: [],\n });\n\n const bundler = await this.reactEnv.getBundler(ctx, [\n (config) => config.merge([clientConfig()]),\n ...this.transformers,\n ]);\n\n const bundleResult = await bundler.run();\n return bundleResult[0];\n }\n\n private async buildSsr(context: AppContext) {\n // extend, including prototype methods\n const ctx: BundlerContext = Object.assign(Object.create(context), {\n ...context,\n targets: [\n {\n entries: await this.getSsrEntries(),\n components: [context.appComponent],\n outputPath: resolve(context.workdir, calcOutputPath(context.appName, 'ssr')),\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n\n // @ts-ignore\n capsuleNetwork: undefined,\n previousTasksResults: [],\n });\n\n const bundler = await this.reactEnv.getBundler(ctx, [\n (config) => config.merge([ssrConfig()]),\n ...this.transformers,\n ]);\n\n const bundleResult = await bundler.run();\n return bundleResult[0];\n }\n\n async build(context: AppBuildContext): Promise<ReactAppBuildResult> {\n const htmlConfig: BundlerHtmlConfig[] = [\n {\n title: context.name,\n templateContent: html(context.name),\n minify: false,\n favicon: this.favicon,\n // filename: ''.html`,\n },\n ];\n Object.assign(context, {\n html: htmlConfig,\n });\n const bundler = await this.getBundler(context);\n const bundleResult = await bundler.run();\n\n if (this.ssr) {\n const bunlder = await this.getSsrBundler(context);\n await bunlder.run();\n }\n\n return computeResults(bundleResult, {\n publicDir: `${this.getPublicDir(context.artifactsDir)}/${this.dir}`,\n ssrPublicDir: this.ssr ? `${this.getPublicDir(context.artifactsDir)}/${this.ssrDir}` : undefined,\n });\n }\n\n private getBundler(context: AppBuildContext) {\n if (this.bundler) return this.bundler;\n return this.getDefaultBundler(context);\n }\n\n private getSsrBundler(context: AppBuildContext) {\n if (this.ssrBundler) return this.ssrBundler;\n return this.getDefaultSsrBundler(context);\n }\n\n private async getDefaultBundler(context: AppBuildContext) {\n const { capsule } = context;\n const publicDir = this.getPublicDir(context.artifactsDir);\n const outputPath = join(capsule.path, publicDir);\n\n const bundlerContext = await this.getBuildContext(context, { outputPath });\n const transformers: WebpackConfigTransformer[] = compact([\n (configMutator) => configMutator.merge(buildConfig({ outputPath: join(outputPath, this.dir) })),\n (config) => {\n if (this.prerender) config.addPlugin(prerenderPlugin(this.prerender));\n return config;\n },\n replaceTerserPlugin({ prerender: !!this.prerender }),\n ...this.transformers,\n ]);\n\n const reactEnv = context.env as ReactEnv;\n const bundler: Bundler = await reactEnv.getBundler(bundlerContext, transformers);\n return bundler;\n }\n\n private async getDefaultSsrBundler(context: AppBuildContext) {\n const { capsule } = context;\n const publicDir = this.getPublicDir(context.artifactsDir);\n const outputPath = join(capsule.path, publicDir);\n\n const bundlerContext = await this.getBuildContext(context, { outputPath });\n const transformers: WebpackConfigTransformer[] = compact([\n (configMutator) => configMutator.merge(ssrBuildConfig({ outputPath: join(outputPath, this.ssrDir) })),\n replaceTerserPlugin({ prerender: !!this.prerender }),\n ...this.transformers,\n ]);\n\n const reactEnv = context.env as ReactEnv;\n const bundler: Bundler = await reactEnv.getBundler(bundlerContext, transformers);\n return bundler;\n }\n\n private async getBuildContext(context: AppBuildContext, { outputPath }: { outputPath: string }) {\n const { capsule } = context;\n const reactEnv = context.env as ReactEnv;\n const { distDir } = reactEnv.getCompiler();\n const targetEntries = await this.getEntries(`${capsule.path}/${distDir}`);\n const entries = targetEntries.map((entry) => require.resolve(`${capsule.path}/${distDir}/${basename(entry)}`));\n\n const bundlerContext: BundlerContext = Object.assign(context, {\n targets: [\n {\n components: [capsule?.component],\n entries,\n outputPath,\n hostRootDir: capsule?.path,\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n entry: [],\n rootPath: '/',\n metaData: {\n initiator: `building app: ${context.name}`,\n envId: context.id,\n },\n });\n\n return bundlerContext;\n }\n\n private getPublicDir(artifactsDir: string) {\n return join(artifactsDir, this.applicationType, this.name);\n }\n\n async getEntries(path?: string): Promise<string[]> {\n if (Array.isArray(this.entry)) return this.entry;\n return this.entry(path);\n }\n\n async getSsrEntries(): Promise<string[]> {\n if (!this.ssr) throw new BitError('tried to build ssr without ssr entries');\n if (typeof this.ssr === 'string') return [this.ssr];\n return [await this.ssr()];\n }\n\n private async getDevServerContext(context: AppContext): Promise<DevServerContext> {\n const entries = await this.getEntries();\n return Object.assign(context, {\n entry: entries,\n rootPath: '',\n publicPath: `public/${this.name}`,\n title: this.name,\n favicon: this.favicon,\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n });\n }\n\n private getPeers(): Promise<string[]> {\n return this.reactEnv.getPeerDependenciesList();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["ReactApp","constructor","name","entry","ssr","portRange","reactEnv","logger","dependencyResolver","prerender","bundler","ssrBundler","devServer","transformers","deploy","favicon","run","context","from","to","port","Port","getPort","listen","devServerContext","getDevServerContext","getDevServer","addDevServer","setOutput","runSsr","clientBundle","buildClient","errors","length","info","serverBundle","buildSsr","app","loadSsrApp","workdir","appName","expressApp","createExpressSsr","assets","parseAssets","htmlConfig","title","templateContent","html","minify","ctx","Object","assign","create","targets","entries","getEntries","components","appComponent","outputPath","resolve","calcOutputPath","hostDependencies","getPeers","aliasHostDependencies","capsuleNetwork","undefined","previousTasksResults","getBundler","config","merge","clientConfig","bundleResult","getSsrEntries","ssrConfig","build","ssrAppDir","join","getPublicDir","artifactsDir","buildSsrApp","computeResults","publicDir","dir","ssrPublicDir","getSsrBundler","runner","readFileSync","__dirname","toString","capsule","fs","writeFileSync","capsuleSsrDir","getPath","installer","getInstaller","packageManager","rootDir","cacheRootDirectory","install","getSsrPolicy","ComponentMap","Map","workspacePolicy","WorkspacePolicy","add","lifecycleType","dependencyId","value","version","getDefaultBundler","getDefaultSsrBundler","path","bundlerContext","getBuildContext","compact","configMutator","buildConfig","addPlugin","prerenderPlugin","replaceTerserPlugin","env","ssrBuildConfig","ssrDir","distDir","getCompiler","targetEntries","map","require","basename","component","hostRootDir","rootPath","metaData","initiator","envId","id","applicationType","Array","isArray","BitError","publicPath","getPeerDependenciesList"],"sources":["react.application.ts"],"sourcesContent":["import { readFileSync } from 'fs';\nimport { join, resolve, basename } from 'path';\nimport { Application, AppContext, AppBuildContext, AppResult } from '@teambit/application';\nimport type { Bundler, DevServer, BundlerContext, DevServerContext, BundlerHtmlConfig } from '@teambit/bundler';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { ComponentMap } from '@teambit/component';\nimport type { Logger } from '@teambit/logger';\nimport { DependencyResolverMain, WorkspacePolicy } from '@teambit/dependency-resolver';\nimport compact from 'lodash.compact';\nimport { WebpackConfigTransformer } from '@teambit/webpack';\nimport { BitError } from '@teambit/bit-error';\nimport { ReactEnv } from '../../react.env';\nimport { prerenderPlugin } from './plugins';\nimport { ReactAppBuildResult } from './react-build-result';\nimport { ReactAppPrerenderOptions } from './react-app-options';\nimport { html } from '../../webpack';\nimport { ReactDeployContext } from '.';\nimport { computeResults } from './compute-results';\nimport { clientConfig, ssrConfig, calcOutputPath, ssrBuildConfig, buildConfig } from './webpack/webpack.app.ssr.config';\nimport { addDevServer, setOutput, replaceTerserPlugin } from './webpack/mutators';\nimport { createExpressSsr, loadSsrApp, parseAssets } from './ssr/ssr-express';\n\nexport class ReactApp implements Application {\n constructor(\n readonly name: string,\n readonly entry: string[] | ((path?: string) => Promise<string[]>),\n readonly ssr: string | (() => Promise<string>) | undefined,\n readonly portRange: [number, number],\n private reactEnv: ReactEnv,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n readonly prerender?: ReactAppPrerenderOptions,\n readonly bundler?: Bundler,\n readonly ssrBundler?: Bundler,\n readonly devServer?: DevServer,\n readonly transformers: WebpackConfigTransformer[] = [],\n readonly deploy?: (context: ReactDeployContext) => Promise<void>,\n readonly favicon?: string\n ) {}\n readonly applicationType = 'react-common-js';\n readonly dir = 'public';\n readonly ssrDir = 'ssr';\n\n async run(context: AppContext): Promise<number> {\n const [from, to] = this.portRange;\n const port = await Port.getPort(from, to);\n\n if (this.devServer) {\n await this.devServer.listen(port);\n return port;\n }\n\n const devServerContext = await this.getDevServerContext(context);\n const devServer = this.reactEnv.getDevServer(devServerContext, [addDevServer, setOutput, ...this.transformers]);\n await devServer.listen(port);\n return port;\n }\n\n async runSsr(context: AppContext): Promise<AppResult> {\n const [from, to] = this.portRange;\n const port = await Port.getPort(from, to);\n\n // bundle client\n const clientBundle = await this.buildClient(context);\n if (clientBundle.errors.length > 0) return { errors: clientBundle.errors };\n this.logger?.info('[react.application] [ssr] client bundle - complete');\n\n // bundle server\n const serverBundle = await this.buildSsr(context);\n if (serverBundle.errors.length > 0) return { errors: serverBundle.errors };\n this.logger?.info('[react.application] [ssr] server bundle - complete');\n\n // load server-side runtime\n const app = await loadSsrApp(context.workdir, context.appName);\n this.logger?.info('[react.application] [ssr] bundle code - loaded');\n\n const expressApp = createExpressSsr({\n name: context.appName,\n workdir: context.workdir,\n port,\n app,\n assets: parseAssets(clientBundle.assets),\n logger: this.logger,\n });\n\n expressApp.listen(port);\n return { port };\n }\n\n private async buildClient(context: AppContext) {\n const htmlConfig: BundlerHtmlConfig[] = [\n {\n title: context.appName,\n templateContent: html(context.appName),\n minify: false,\n favicon: this.favicon,\n },\n ];\n\n // extend, including prototype methods\n const ctx: BundlerContext = Object.assign(Object.create(context), {\n html: htmlConfig,\n targets: [\n {\n entries: await this.getEntries(),\n components: [context.appComponent],\n outputPath: resolve(context.workdir, calcOutputPath(context.appName, 'browser')),\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n\n // @ts-ignore\n capsuleNetwork: undefined,\n previousTasksResults: [],\n });\n\n const bundler = await this.reactEnv.getBundler(ctx, [\n (config) => config.merge([clientConfig()]),\n ...this.transformers,\n ]);\n\n const bundleResult = await bundler.run();\n return bundleResult[0];\n }\n\n private async buildSsr(context: AppContext) {\n // extend, including prototype methods\n const ctx: BundlerContext = Object.assign(Object.create(context), {\n ...context,\n targets: [\n {\n entries: await this.getSsrEntries(),\n components: [context.appComponent],\n outputPath: resolve(context.workdir, calcOutputPath(context.appName, 'ssr')),\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n\n // @ts-ignore\n capsuleNetwork: undefined,\n previousTasksResults: [],\n });\n\n const bundler = await this.reactEnv.getBundler(ctx, [\n (config) => config.merge([ssrConfig()]),\n ...this.transformers,\n ]);\n\n const bundleResult = await bundler.run();\n return bundleResult[0];\n }\n\n async build(context: AppBuildContext): Promise<ReactAppBuildResult> {\n const htmlConfig: BundlerHtmlConfig[] = [\n {\n title: context.name,\n templateContent: html(context.name),\n minify: false,\n favicon: this.favicon,\n // filename: ''.html`,\n },\n ];\n Object.assign(context, {\n html: htmlConfig,\n });\n const bundler = await this.getBundler(context);\n const bundleResult = await bundler.run();\n const ssrAppDir = join(this.getPublicDir(context.artifactsDir));\n\n if (this.ssr) await this.buildSsrApp(context, ssrAppDir);\n return computeResults(bundleResult, {\n publicDir: `${this.getPublicDir(context.artifactsDir)}/${this.dir}`,\n ssrPublicDir: ssrAppDir,\n });\n }\n\n private async buildSsrApp(context: AppBuildContext, ssrAppDir: string) {\n const ssrBundler = await this.getSsrBundler(context);\n await ssrBundler.run();\n const runner = readFileSync(join(__dirname, './ssr/app/runner')).toString();\n context.capsule.fs.writeFileSync(join(ssrAppDir, 'runner.js'), runner);\n const capsuleSsrDir = context.capsule.fs.getPath(ssrAppDir);\n const installer = this.dependencyResolver.getInstaller({\n packageManager: 'teambit.dependencies/yarn',\n rootDir: capsuleSsrDir,\n cacheRootDirectory: capsuleSsrDir,\n });\n await installer.install(capsuleSsrDir, this.getSsrPolicy(), new ComponentMap(new Map()));\n return ssrAppDir;\n }\n\n private getSsrPolicy() {\n const workspacePolicy = new WorkspacePolicy([]);\n workspacePolicy.add({ lifecycleType: 'runtime', dependencyId: 'express', value: { version: '4.18.1' } });\n workspacePolicy.add({\n lifecycleType: 'runtime',\n dependencyId: '@teambit/react.rendering.ssr',\n value: { version: '0.0.3' },\n });\n workspacePolicy.add({\n lifecycleType: 'runtime',\n dependencyId: '@teambit/ui-foundation.ui.pages.static-error',\n value: { version: '0.0.75' },\n });\n\n workspacePolicy.add({\n lifecycleType: 'peer',\n dependencyId: 'react',\n value: { version: '17.0.2' },\n });\n\n workspacePolicy.add({\n lifecycleType: 'peer',\n dependencyId: 'react-dom',\n value: { version: '17.0.2' },\n });\n return workspacePolicy;\n }\n\n private getBundler(context: AppBuildContext) {\n if (this.bundler) return this.bundler;\n return this.getDefaultBundler(context);\n }\n\n private getSsrBundler(context: AppBuildContext) {\n if (this.ssrBundler) return this.ssrBundler;\n return this.getDefaultSsrBundler(context);\n }\n\n private async getDefaultBundler(context: AppBuildContext) {\n const { capsule } = context;\n const publicDir = this.getPublicDir(context.artifactsDir);\n const outputPath = join(capsule.path, publicDir);\n\n const bundlerContext = await this.getBuildContext(context, { outputPath });\n const transformers: WebpackConfigTransformer[] = compact([\n (configMutator) => configMutator.merge(buildConfig({ outputPath: join(outputPath, this.dir) })),\n (config) => {\n if (this.prerender) config.addPlugin(prerenderPlugin(this.prerender));\n return config;\n },\n replaceTerserPlugin({ prerender: !!this.prerender }),\n ...this.transformers,\n ]);\n\n const reactEnv = context.env as ReactEnv;\n const bundler: Bundler = await reactEnv.getBundler(bundlerContext, transformers);\n return bundler;\n }\n\n private async getDefaultSsrBundler(context: AppBuildContext) {\n const { capsule } = context;\n const publicDir = this.getPublicDir(context.artifactsDir);\n const outputPath = join(capsule.path, publicDir);\n\n const bundlerContext = await this.getBuildContext(context, { outputPath });\n const transformers: WebpackConfigTransformer[] = compact([\n (configMutator) => configMutator.merge(ssrBuildConfig({ outputPath: join(outputPath, this.ssrDir) })),\n replaceTerserPlugin({ prerender: !!this.prerender }),\n ...this.transformers,\n ]);\n\n const reactEnv = context.env as ReactEnv;\n const bundler: Bundler = await reactEnv.getBundler(bundlerContext, transformers);\n return bundler;\n }\n\n private async getBuildContext(context: AppBuildContext, { outputPath }: { outputPath: string }) {\n const { capsule } = context;\n const reactEnv = context.env as ReactEnv;\n const { distDir } = reactEnv.getCompiler();\n const targetEntries = await this.getEntries(`${capsule.path}/${distDir}`);\n const entries = targetEntries.map((entry) => require.resolve(`${capsule.path}/${distDir}/${basename(entry)}`));\n\n const bundlerContext: BundlerContext = Object.assign(context, {\n targets: [\n {\n components: [capsule?.component],\n entries,\n outputPath,\n hostRootDir: capsule?.path,\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n entry: [],\n rootPath: '/',\n metaData: {\n initiator: `building app: ${context.name}`,\n envId: context.id,\n },\n });\n\n return bundlerContext;\n }\n\n private getPublicDir(artifactsDir: string) {\n return join(artifactsDir, this.applicationType, this.name);\n }\n\n async getEntries(path?: string): Promise<string[]> {\n if (Array.isArray(this.entry)) return this.entry;\n return this.entry(path);\n }\n\n async getSsrEntries(): Promise<string[]> {\n if (!this.ssr) throw new BitError('tried to build ssr without ssr entries');\n if (typeof this.ssr === 'string') return [this.ssr];\n return [await this.ssr()];\n }\n\n private async getDevServerContext(context: AppContext): Promise<DevServerContext> {\n const entries = await this.getEntries();\n return Object.assign(context, {\n entry: entries,\n rootPath: '',\n publicPath: `public/${this.name}`,\n title: this.name,\n favicon: this.favicon,\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n });\n }\n\n private getPeers(): Promise<string[]> {\n return this.reactEnv.getPeerDependenciesList();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;;;;;AAEO,MAAMA,QAAN,CAAsC;EAC3CC,WAAW,CACAC,IADA,EAEAC,KAFA,EAGAC,GAHA,EAIAC,SAJA,EAKDC,QALC,EAMDC,MANC,EAODC,kBAPC,EAQAC,SARA,EASAC,OATA,EAUAC,UAVA,EAWAC,SAXA,EAYAC,YAAwC,GAAG,EAZ3C,EAaAC,MAbA,EAcAC,OAdA,EAeT;IAAA,KAdSb,IAcT,GAdSA,IAcT;IAAA,KAbSC,KAaT,GAbSA,KAaT;IAAA,KAZSC,GAYT,GAZSA,GAYT;IAAA,KAXSC,SAWT,GAXSA,SAWT;IAAA,KAVQC,QAUR,GAVQA,QAUR;IAAA,KATQC,MASR,GATQA,MASR;IAAA,KARQC,kBAQR,GARQA,kBAQR;IAAA,KAPSC,SAOT,GAPSA,SAOT;IAAA,KANSC,OAMT,GANSA,OAMT;IAAA,KALSC,UAKT,GALSA,UAKT;IAAA,KAJSC,SAIT,GAJSA,SAIT;IAAA,KAHSC,YAGT,GAHSA,YAGT;IAAA,KAFSC,MAET,GAFSA,MAET;IAAA,KADSC,OACT,GADSA,OACT;IAAA,yDACyB,iBADzB;IAAA,6CAEa,QAFb;IAAA,gDAGgB,KAHhB;EAAE;;EAKK,MAAHC,GAAG,CAACC,OAAD,EAAuC;IAC9C,MAAM,CAACC,IAAD,EAAOC,EAAP,IAAa,KAAKd,SAAxB;IACA,MAAMe,IAAI,GAAG,MAAMC,sBAAA,CAAKC,OAAL,CAAaJ,IAAb,EAAmBC,EAAnB,CAAnB;;IAEA,IAAI,KAAKP,SAAT,EAAoB;MAClB,MAAM,KAAKA,SAAL,CAAeW,MAAf,CAAsBH,IAAtB,CAAN;MACA,OAAOA,IAAP;IACD;;IAED,MAAMI,gBAAgB,GAAG,MAAM,KAAKC,mBAAL,CAAyBR,OAAzB,CAA/B;IACA,MAAML,SAAS,GAAG,KAAKN,QAAL,CAAcoB,YAAd,CAA2BF,gBAA3B,EAA6C,CAACG,wBAAD,EAAeC,qBAAf,EAA0B,GAAG,KAAKf,YAAlC,CAA7C,CAAlB;IACA,MAAMD,SAAS,CAACW,MAAV,CAAiBH,IAAjB,CAAN;IACA,OAAOA,IAAP;EACD;;EAEW,MAANS,MAAM,CAACZ,OAAD,EAA0C;IAAA;;IACpD,MAAM,CAACC,IAAD,EAAOC,EAAP,IAAa,KAAKd,SAAxB;IACA,MAAMe,IAAI,GAAG,MAAMC,sBAAA,CAAKC,OAAL,CAAaJ,IAAb,EAAmBC,EAAnB,CAAnB,CAFoD,CAIpD;;IACA,MAAMW,YAAY,GAAG,MAAM,KAAKC,WAAL,CAAiBd,OAAjB,CAA3B;IACA,IAAIa,YAAY,CAACE,MAAb,CAAoBC,MAApB,GAA6B,CAAjC,EAAoC,OAAO;MAAED,MAAM,EAAEF,YAAY,CAACE;IAAvB,CAAP;IACpC,qBAAKzB,MAAL,8DAAa2B,IAAb,CAAkB,oDAAlB,EAPoD,CASpD;;IACA,MAAMC,YAAY,GAAG,MAAM,KAAKC,QAAL,CAAcnB,OAAd,CAA3B;IACA,IAAIkB,YAAY,CAACH,MAAb,CAAoBC,MAApB,GAA6B,CAAjC,EAAoC,OAAO;MAAED,MAAM,EAAEG,YAAY,CAACH;IAAvB,CAAP;IACpC,sBAAKzB,MAAL,gEAAa2B,IAAb,CAAkB,oDAAlB,EAZoD,CAcpD;;IACA,MAAMG,GAAG,GAAG,MAAM,IAAAC,wBAAA,EAAWrB,OAAO,CAACsB,OAAnB,EAA4BtB,OAAO,CAACuB,OAApC,CAAlB;IACA,sBAAKjC,MAAL,gEAAa2B,IAAb,CAAkB,gDAAlB;IAEA,MAAMO,UAAU,GAAG,IAAAC,8BAAA,EAAiB;MAClCxC,IAAI,EAAEe,OAAO,CAACuB,OADoB;MAElCD,OAAO,EAAEtB,OAAO,CAACsB,OAFiB;MAGlCnB,IAHkC;MAIlCiB,GAJkC;MAKlCM,MAAM,EAAE,IAAAC,yBAAA,EAAYd,YAAY,CAACa,MAAzB,CAL0B;MAMlCpC,MAAM,EAAE,KAAKA;IANqB,CAAjB,CAAnB;IASAkC,UAAU,CAAClB,MAAX,CAAkBH,IAAlB;IACA,OAAO;MAAEA;IAAF,CAAP;EACD;;EAEwB,MAAXW,WAAW,CAACd,OAAD,EAAsB;IAC7C,MAAM4B,UAA+B,GAAG,CACtC;MACEC,KAAK,EAAE7B,OAAO,CAACuB,OADjB;MAEEO,eAAe,EAAE,IAAAC,eAAA,EAAK/B,OAAO,CAACuB,OAAb,CAFnB;MAGES,MAAM,EAAE,KAHV;MAIElC,OAAO,EAAE,KAAKA;IAJhB,CADsC,CAAxC,CAD6C,CAU7C;;IACA,MAAMmC,GAAmB,GAAGC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACE,MAAP,CAAcpC,OAAd,CAAd,EAAsC;MAChE+B,IAAI,EAAEH,UAD0D;MAEhES,OAAO,EAAE,CACP;QACEC,OAAO,EAAE,MAAM,KAAKC,UAAL,EADjB;QAEEC,UAAU,EAAE,CAACxC,OAAO,CAACyC,YAAT,CAFd;QAGEC,UAAU,EAAE,IAAAC,eAAA,EAAQ3C,OAAO,CAACsB,OAAhB,EAAyB,IAAAsB,+BAAA,EAAe5C,OAAO,CAACuB,OAAvB,EAAgC,SAAhC,CAAzB,CAHd;QAIEsB,gBAAgB,EAAE,MAAM,KAAKC,QAAL,EAJ1B;QAKEC,qBAAqB,EAAE;MALzB,CADO,CAFuD;MAYhE;MACAC,cAAc,EAAEC,SAbgD;MAchEC,oBAAoB,EAAE;IAd0C,CAAtC,CAA5B;IAiBA,MAAMzD,OAAO,GAAG,MAAM,KAAKJ,QAAL,CAAc8D,UAAd,CAAyBlB,GAAzB,EAA8B,CACjDmB,MAAD,IAAYA,MAAM,CAACC,KAAP,CAAa,CAAC,IAAAC,6BAAA,GAAD,CAAb,CADsC,EAElD,GAAG,KAAK1D,YAF0C,CAA9B,CAAtB;IAKA,MAAM2D,YAAY,GAAG,MAAM9D,OAAO,CAACM,GAAR,EAA3B;IACA,OAAOwD,YAAY,CAAC,CAAD,CAAnB;EACD;;EAEqB,MAARpC,QAAQ,CAACnB,OAAD,EAAsB;IAC1C;IACA,MAAMiC,GAAmB,GAAGC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACE,MAAP,CAAcpC,OAAd,CAAd,kCACvBA,OADuB;MAE1BqC,OAAO,EAAE,CACP;QACEC,OAAO,EAAE,MAAM,KAAKkB,aAAL,EADjB;QAEEhB,UAAU,EAAE,CAACxC,OAAO,CAACyC,YAAT,CAFd;QAGEC,UAAU,EAAE,IAAAC,eAAA,EAAQ3C,OAAO,CAACsB,OAAhB,EAAyB,IAAAsB,+BAAA,EAAe5C,OAAO,CAACuB,OAAvB,EAAgC,KAAhC,CAAzB,CAHd;QAIEsB,gBAAgB,EAAE,MAAM,KAAKC,QAAL,EAJ1B;QAKEC,qBAAqB,EAAE;MALzB,CADO,CAFiB;MAY1B;MACAC,cAAc,EAAEC,SAbU;MAc1BC,oBAAoB,EAAE;IAdI,GAA5B;IAiBA,MAAMzD,OAAO,GAAG,MAAM,KAAKJ,QAAL,CAAc8D,UAAd,CAAyBlB,GAAzB,EAA8B,CACjDmB,MAAD,IAAYA,MAAM,CAACC,KAAP,CAAa,CAAC,IAAAI,0BAAA,GAAD,CAAb,CADsC,EAElD,GAAG,KAAK7D,YAF0C,CAA9B,CAAtB;IAKA,MAAM2D,YAAY,GAAG,MAAM9D,OAAO,CAACM,GAAR,EAA3B;IACA,OAAOwD,YAAY,CAAC,CAAD,CAAnB;EACD;;EAEU,MAALG,KAAK,CAAC1D,OAAD,EAAyD;IAClE,MAAM4B,UAA+B,GAAG,CACtC;MACEC,KAAK,EAAE7B,OAAO,CAACf,IADjB;MAEE6C,eAAe,EAAE,IAAAC,eAAA,EAAK/B,OAAO,CAACf,IAAb,CAFnB;MAGE+C,MAAM,EAAE,KAHV;MAIElC,OAAO,EAAE,KAAKA,OAJhB,CAKE;;IALF,CADsC,CAAxC;IASAoC,MAAM,CAACC,MAAP,CAAcnC,OAAd,EAAuB;MACrB+B,IAAI,EAAEH;IADe,CAAvB;IAGA,MAAMnC,OAAO,GAAG,MAAM,KAAK0D,UAAL,CAAgBnD,OAAhB,CAAtB;IACA,MAAMuD,YAAY,GAAG,MAAM9D,OAAO,CAACM,GAAR,EAA3B;IACA,MAAM4D,SAAS,GAAG,IAAAC,YAAA,EAAK,KAAKC,YAAL,CAAkB7D,OAAO,CAAC8D,YAA1B,CAAL,CAAlB;IAEA,IAAI,KAAK3E,GAAT,EAAc,MAAM,KAAK4E,WAAL,CAAiB/D,OAAjB,EAA0B2D,SAA1B,CAAN;IACd,OAAO,IAAAK,gCAAA,EAAeT,YAAf,EAA6B;MAClCU,SAAS,EAAG,GAAE,KAAKJ,YAAL,CAAkB7D,OAAO,CAAC8D,YAA1B,CAAwC,IAAG,KAAKI,GAAI,EADhC;MAElCC,YAAY,EAAER;IAFoB,CAA7B,CAAP;EAID;;EAEwB,MAAXI,WAAW,CAAC/D,OAAD,EAA2B2D,SAA3B,EAA8C;IACrE,MAAMjE,UAAU,GAAG,MAAM,KAAK0E,aAAL,CAAmBpE,OAAnB,CAAzB;IACA,MAAMN,UAAU,CAACK,GAAX,EAAN;IACA,MAAMsE,MAAM,GAAG,IAAAC,kBAAA,EAAa,IAAAV,YAAA,EAAKW,SAAL,EAAgB,kBAAhB,CAAb,EAAkDC,QAAlD,EAAf;IACAxE,OAAO,CAACyE,OAAR,CAAgBC,EAAhB,CAAmBC,aAAnB,CAAiC,IAAAf,YAAA,EAAKD,SAAL,EAAgB,WAAhB,CAAjC,EAA+DU,MAA/D;IACA,MAAMO,aAAa,GAAG5E,OAAO,CAACyE,OAAR,CAAgBC,EAAhB,CAAmBG,OAAnB,CAA2BlB,SAA3B,CAAtB;IACA,MAAMmB,SAAS,GAAG,KAAKvF,kBAAL,CAAwBwF,YAAxB,CAAqC;MACrDC,cAAc,EAAE,2BADqC;MAErDC,OAAO,EAAEL,aAF4C;MAGrDM,kBAAkB,EAAEN;IAHiC,CAArC,CAAlB;IAKA,MAAME,SAAS,CAACK,OAAV,CAAkBP,aAAlB,EAAiC,KAAKQ,YAAL,EAAjC,EAAsD,KAAIC,yBAAJ,EAAiB,IAAIC,GAAJ,EAAjB,CAAtD,CAAN;IACA,OAAO3B,SAAP;EACD;;EAEOyB,YAAY,GAAG;IACrB,MAAMG,eAAe,GAAG,KAAIC,qCAAJ,EAAoB,EAApB,CAAxB;IACAD,eAAe,CAACE,GAAhB,CAAoB;MAAEC,aAAa,EAAE,SAAjB;MAA4BC,YAAY,EAAE,SAA1C;MAAqDC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAX;IAA5D,CAApB;IACAN,eAAe,CAACE,GAAhB,CAAoB;MAClBC,aAAa,EAAE,SADG;MAElBC,YAAY,EAAE,8BAFI;MAGlBC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAX;IAHW,CAApB;IAKAN,eAAe,CAACE,GAAhB,CAAoB;MAClBC,aAAa,EAAE,SADG;MAElBC,YAAY,EAAE,8CAFI;MAGlBC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAX;IAHW,CAApB;IAMAN,eAAe,CAACE,GAAhB,CAAoB;MAClBC,aAAa,EAAE,MADG;MAElBC,YAAY,EAAE,OAFI;MAGlBC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAX;IAHW,CAApB;IAMAN,eAAe,CAACE,GAAhB,CAAoB;MAClBC,aAAa,EAAE,MADG;MAElBC,YAAY,EAAE,WAFI;MAGlBC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAX;IAHW,CAApB;IAKA,OAAON,eAAP;EACD;;EAEOpC,UAAU,CAACnD,OAAD,EAA2B;IAC3C,IAAI,KAAKP,OAAT,EAAkB,OAAO,KAAKA,OAAZ;IAClB,OAAO,KAAKqG,iBAAL,CAAuB9F,OAAvB,CAAP;EACD;;EAEOoE,aAAa,CAACpE,OAAD,EAA2B;IAC9C,IAAI,KAAKN,UAAT,EAAqB,OAAO,KAAKA,UAAZ;IACrB,OAAO,KAAKqG,oBAAL,CAA0B/F,OAA1B,CAAP;EACD;;EAE8B,MAAjB8F,iBAAiB,CAAC9F,OAAD,EAA2B;IACxD,MAAM;MAAEyE;IAAF,IAAczE,OAApB;IACA,MAAMiE,SAAS,GAAG,KAAKJ,YAAL,CAAkB7D,OAAO,CAAC8D,YAA1B,CAAlB;IACA,MAAMpB,UAAU,GAAG,IAAAkB,YAAA,EAAKa,OAAO,CAACuB,IAAb,EAAmB/B,SAAnB,CAAnB;IAEA,MAAMgC,cAAc,GAAG,MAAM,KAAKC,eAAL,CAAqBlG,OAArB,EAA8B;MAAE0C;IAAF,CAA9B,CAA7B;IACA,MAAM9C,YAAwC,GAAG,IAAAuG,iBAAA,EAAQ,CACtDC,aAAD,IAAmBA,aAAa,CAAC/C,KAAd,CAAoB,IAAAgD,4BAAA,EAAY;MAAE3D,UAAU,EAAE,IAAAkB,YAAA,EAAKlB,UAAL,EAAiB,KAAKwB,GAAtB;IAAd,CAAZ,CAApB,CADoC,EAEtDd,MAAD,IAAY;MACV,IAAI,KAAK5D,SAAT,EAAoB4D,MAAM,CAACkD,SAAP,CAAiB,IAAAC,0BAAA,EAAgB,KAAK/G,SAArB,CAAjB;MACpB,OAAO4D,MAAP;IACD,CALsD,EAMvD,IAAAoD,+BAAA,EAAoB;MAAEhH,SAAS,EAAE,CAAC,CAAC,KAAKA;IAApB,CAApB,CANuD,EAOvD,GAAG,KAAKI,YAP+C,CAAR,CAAjD;IAUA,MAAMP,QAAQ,GAAGW,OAAO,CAACyG,GAAzB;IACA,MAAMhH,OAAgB,GAAG,MAAMJ,QAAQ,CAAC8D,UAAT,CAAoB8C,cAApB,EAAoCrG,YAApC,CAA/B;IACA,OAAOH,OAAP;EACD;;EAEiC,MAApBsG,oBAAoB,CAAC/F,OAAD,EAA2B;IAC3D,MAAM;MAAEyE;IAAF,IAAczE,OAApB;IACA,MAAMiE,SAAS,GAAG,KAAKJ,YAAL,CAAkB7D,OAAO,CAAC8D,YAA1B,CAAlB;IACA,MAAMpB,UAAU,GAAG,IAAAkB,YAAA,EAAKa,OAAO,CAACuB,IAAb,EAAmB/B,SAAnB,CAAnB;IAEA,MAAMgC,cAAc,GAAG,MAAM,KAAKC,eAAL,CAAqBlG,OAArB,EAA8B;MAAE0C;IAAF,CAA9B,CAA7B;IACA,MAAM9C,YAAwC,GAAG,IAAAuG,iBAAA,EAAQ,CACtDC,aAAD,IAAmBA,aAAa,CAAC/C,KAAd,CAAoB,IAAAqD,+BAAA,EAAe;MAAEhE,UAAU,EAAE,IAAAkB,YAAA,EAAKlB,UAAL,EAAiB,KAAKiE,MAAtB;IAAd,CAAf,CAApB,CADoC,EAEvD,IAAAH,+BAAA,EAAoB;MAAEhH,SAAS,EAAE,CAAC,CAAC,KAAKA;IAApB,CAApB,CAFuD,EAGvD,GAAG,KAAKI,YAH+C,CAAR,CAAjD;IAMA,MAAMP,QAAQ,GAAGW,OAAO,CAACyG,GAAzB;IACA,MAAMhH,OAAgB,GAAG,MAAMJ,QAAQ,CAAC8D,UAAT,CAAoB8C,cAApB,EAAoCrG,YAApC,CAA/B;IACA,OAAOH,OAAP;EACD;;EAE4B,MAAfyG,eAAe,CAAClG,OAAD,EAA2B;IAAE0C;EAAF,CAA3B,EAAmE;IAC9F,MAAM;MAAE+B;IAAF,IAAczE,OAApB;IACA,MAAMX,QAAQ,GAAGW,OAAO,CAACyG,GAAzB;IACA,MAAM;MAAEG;IAAF,IAAcvH,QAAQ,CAACwH,WAAT,EAApB;IACA,MAAMC,aAAa,GAAG,MAAM,KAAKvE,UAAL,CAAiB,GAAEkC,OAAO,CAACuB,IAAK,IAAGY,OAAQ,EAA3C,CAA5B;IACA,MAAMtE,OAAO,GAAGwE,aAAa,CAACC,GAAd,CAAmB7H,KAAD,IAAW8H,OAAO,CAACrE,OAAR,CAAiB,GAAE8B,OAAO,CAACuB,IAAK,IAAGY,OAAQ,IAAG,IAAAK,gBAAA,EAAS/H,KAAT,CAAgB,EAA9D,CAA7B,CAAhB;IAEA,MAAM+G,cAA8B,GAAG/D,MAAM,CAACC,MAAP,CAAcnC,OAAd,EAAuB;MAC5DqC,OAAO,EAAE,CACP;QACEG,UAAU,EAAE,CAACiC,OAAD,aAACA,OAAD,uBAACA,OAAO,CAAEyC,SAAV,CADd;QAEE5E,OAFF;QAGEI,UAHF;QAIEyE,WAAW,EAAE1C,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEuB,IAJxB;QAKEnD,gBAAgB,EAAE,MAAM,KAAKC,QAAL,EAL1B;QAMEC,qBAAqB,EAAE;MANzB,CADO,CADmD;MAW5D7D,KAAK,EAAE,EAXqD;MAY5DkI,QAAQ,EAAE,GAZkD;MAa5DC,QAAQ,EAAE;QACRC,SAAS,EAAG,iBAAgBtH,OAAO,CAACf,IAAK,EADjC;QAERsI,KAAK,EAAEvH,OAAO,CAACwH;MAFP;IAbkD,CAAvB,CAAvC;IAmBA,OAAOvB,cAAP;EACD;;EAEOpC,YAAY,CAACC,YAAD,EAAuB;IACzC,OAAO,IAAAF,YAAA,EAAKE,YAAL,EAAmB,KAAK2D,eAAxB,EAAyC,KAAKxI,IAA9C,CAAP;EACD;;EAEe,MAAVsD,UAAU,CAACyD,IAAD,EAAmC;IACjD,IAAI0B,KAAK,CAACC,OAAN,CAAc,KAAKzI,KAAnB,CAAJ,EAA+B,OAAO,KAAKA,KAAZ;IAC/B,OAAO,KAAKA,KAAL,CAAW8G,IAAX,CAAP;EACD;;EAEkB,MAAbxC,aAAa,GAAsB;IACvC,IAAI,CAAC,KAAKrE,GAAV,EAAe,MAAM,KAAIyI,oBAAJ,EAAa,wCAAb,CAAN;IACf,IAAI,OAAO,KAAKzI,GAAZ,KAAoB,QAAxB,EAAkC,OAAO,CAAC,KAAKA,GAAN,CAAP;IAClC,OAAO,CAAC,MAAM,KAAKA,GAAL,EAAP,CAAP;EACD;;EAEgC,MAAnBqB,mBAAmB,CAACR,OAAD,EAAiD;IAChF,MAAMsC,OAAO,GAAG,MAAM,KAAKC,UAAL,EAAtB;IACA,OAAOL,MAAM,CAACC,MAAP,CAAcnC,OAAd,EAAuB;MAC5Bd,KAAK,EAAEoD,OADqB;MAE5B8E,QAAQ,EAAE,EAFkB;MAG5BS,UAAU,EAAG,UAAS,KAAK5I,IAAK,EAHJ;MAI5B4C,KAAK,EAAE,KAAK5C,IAJgB;MAK5Ba,OAAO,EAAE,KAAKA,OALc;MAM5B+C,gBAAgB,EAAE,MAAM,KAAKC,QAAL,EANI;MAO5BC,qBAAqB,EAAE;IAPK,CAAvB,CAAP;EASD;;EAEOD,QAAQ,GAAsB;IACpC,OAAO,KAAKzD,QAAL,CAAcyI,uBAAd,EAAP;EACD;;AAlT0C"}
|