@teambit/react 0.0.1166 → 0.0.1167
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/artifacts/env-template/public/{807.f3ffe4dcb1724ed4e50d.js → 794.183fbb8a100e1cb8d1d9.js} +2 -2
- package/artifacts/env-template/public/assets-manifest.json +12 -12
- package/artifacts/env-template/public/{compositions.8150f7f39660fe262ba2.js → compositions.848c7f2655ea61736156.js} +1 -1
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/{overview.cbb53c587e762812ccf7.js → overview.c2cd6a2680615da6cc69.js} +2 -2
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/{peers.d8d12981ddf408f49191.js → peers.edde96a31b37b047aede.js} +1 -1
- package/artifacts/env-template/public/{preview-root.13aad94643ec4ba90aaa.js → preview-root.3571f9102ffecafa7bb0.js} +2 -2
- package/dist/apps/web/react.application.js +3 -3
- package/dist/apps/web/react.application.js.map +1 -1
- package/dist/apps/web/ssr/ssr-express.js +3 -3
- package/dist/apps/web/ssr/ssr-express.js.map +1 -1
- package/dist/apps/web/webpack/mutators.js +1 -1
- package/dist/apps/web/webpack/mutators.js.map +1 -1
- package/dist/{preview-1695027337942.js → preview-1695053895626.js} +2 -2
- package/dist/react.env.js +2 -2
- package/dist/react.env.js.map +1 -1
- package/dist/react.main.runtime.js +2 -2
- package/dist/react.main.runtime.js.map +1 -1
- package/package.json +36 -36
- /package/artifacts/env-template/public/static/css/{807.924bbb41.css → 794.924bbb41.css} +0 -0
- /package/{compositions-1695027337942.js → compositions-1695053895626.js} +0 -0
- /package/{overview-1695027337942.js → overview-1695053895626.js} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Preview</title><script>// Allow to use react dev-tools inside the examples
|
|
2
|
-
try { window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.parent.__REACT_DEVTOOLS_GLOBAL_HOOK__; } catch {}</script><style>body { margin: 0; }</style><script defer="defer" src="244.23981efc3a92f81df93b.js"></script><script defer="defer" src="peers.
|
|
2
|
+
try { window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.parent.__REACT_DEVTOOLS_GLOBAL_HOOK__; } catch {}</script><style>body { margin: 0; }</style><script defer="defer" src="244.23981efc3a92f81df93b.js"></script><script defer="defer" src="peers.edde96a31b37b047aede.js"></script><script defer="defer" src="794.183fbb8a100e1cb8d1d9.js"></script><script defer="defer" src="preview-root.3571f9102ffecafa7bb0.js"></script><script defer="defer" src="compositions.848c7f2655ea61736156.js"></script><script defer="defer" src="overview.c2cd6a2680615da6cc69.js"></script><link href="static/css/794.924bbb41.css" rel="stylesheet"><link href="static/css/compositions.e163efe5.css" rel="stylesheet"><link href="static/css/503.3a84acb5.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var __webpack_modules__={
|
|
1
|
+
(()=>{"use strict";var __webpack_modules__={19457:(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__2)=>{var react__WEBPACK_IMPORTED_MODULE_2___namespace_cache,react_dom__WEBPACK_IMPORTED_MODULE_3___namespace_cache,_teambit_mdx_ui_mdx_scope_context__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__2(38168),_mdx_js_react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__2(3905),react__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__2(67294),react_dom__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__2(73935);const globalObj=window;guard("TeambitMdxUiMdxScopeContext",_teambit_mdx_ui_mdx_scope_context__WEBPACK_IMPORTED_MODULE_0__),guard("MdxJsReact",_mdx_js_react__WEBPACK_IMPORTED_MODULE_1__),guard("React",react__WEBPACK_IMPORTED_MODULE_2___namespace_cache||(react__WEBPACK_IMPORTED_MODULE_2___namespace_cache=__webpack_require__2.t(react__WEBPACK_IMPORTED_MODULE_2__,2))),guard("ReactDom",react_dom__WEBPACK_IMPORTED_MODULE_3___namespace_cache||(react_dom__WEBPACK_IMPORTED_MODULE_3___namespace_cache=__webpack_require__2.t(react_dom__WEBPACK_IMPORTED_MODULE_3__,2))),globalObj.TeambitMdxUiMdxScopeContext=_teambit_mdx_ui_mdx_scope_context__WEBPACK_IMPORTED_MODULE_0__,globalObj.MdxJsReact=_mdx_js_react__WEBPACK_IMPORTED_MODULE_1__,globalObj.React=react__WEBPACK_IMPORTED_MODULE_2___namespace_cache||(react__WEBPACK_IMPORTED_MODULE_2___namespace_cache=__webpack_require__2.t(react__WEBPACK_IMPORTED_MODULE_2__,2)),globalObj.ReactDom=react_dom__WEBPACK_IMPORTED_MODULE_3___namespace_cache||(react_dom__WEBPACK_IMPORTED_MODULE_3___namespace_cache=__webpack_require__2.t(react_dom__WEBPACK_IMPORTED_MODULE_3__,2));function guard(property,expected){var existing=globalObj[property];if(existing===expected&&expected!==void 0)console.warn('[expose-peers] "'+property+'" already exists in global scope, but with correct value');else if(existing!==void 0)throw new Error('[expose-peers] "'+property+'" already exists in the global scope, cannot overwrite')}}},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(cachedModule!==void 0)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={id:moduleId,loaded:!1,exports:{}};return __webpack_modules__[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}__webpack_require__.m=__webpack_modules__,(()=>{var deferred=[];__webpack_require__.O=(result,chunkIds,fn,priority)=>{if(chunkIds){priority=priority||0;for(var i=deferred.length;i>0&&deferred[i-1][2]>priority;i--)deferred[i]=deferred[i-1];deferred[i]=[chunkIds,fn,priority];return}for(var notFulfilled=1/0,i=0;i<deferred.length;i++){for(var[chunkIds,fn,priority]=deferred[i],fulfilled=!0,j=0;j<chunkIds.length;j++)(priority&!1||notFulfilled>=priority)&&Object.keys(__webpack_require__.O).every(key=>__webpack_require__.O[key](chunkIds[j]))?chunkIds.splice(j--,1):(fulfilled=!1,priority<notFulfilled&&(notFulfilled=priority));if(fulfilled){deferred.splice(i--,1);var r=fn();r!==void 0&&(result=r)}}return result}})(),__webpack_require__.n=module=>{var getter=module&&module.__esModule?()=>module.default:()=>module;return __webpack_require__.d(getter,{a:getter}),getter},(()=>{var getProto=Object.getPrototypeOf?obj=>Object.getPrototypeOf(obj):obj=>obj.__proto__,leafPrototypes;__webpack_require__.t=function(value,mode){if(mode&1&&(value=this(value)),mode&8||typeof value=="object"&&value&&(mode&4&&value.__esModule||mode&16&&typeof value.then=="function"))return value;var ns=Object.create(null);__webpack_require__.r(ns);var def={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var current=mode&2&&value;typeof current=="object"&&!~leafPrototypes.indexOf(current);current=getProto(current))Object.getOwnPropertyNames(current).forEach(key=>def[key]=()=>value[key]);return def.default=()=>value,__webpack_require__.d(ns,def),ns}})(),__webpack_require__.d=(exports,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})},__webpack_require__.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),__webpack_require__.r=exports=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__.nmd=module=>(module.paths=[],module.children||(module.children=[]),module),(()=>{var installedChunks={703:0,503:0};__webpack_require__.O.j=chunkId=>installedChunks[chunkId]===0;var webpackJsonpCallback=(parentChunkLoadingFunction,data)=>{var[chunkIds,moreModules,runtime]=data,moduleId,chunkId,i=0;if(chunkIds.some(id=>installedChunks[id]!==0)){for(moduleId in moreModules)__webpack_require__.o(moreModules,moduleId)&&(__webpack_require__.m[moduleId]=moreModules[moduleId]);if(runtime)var result=runtime(__webpack_require__)}for(parentChunkLoadingFunction&&parentChunkLoadingFunction(data);i<chunkIds.length;i++)chunkId=chunkIds[i],__webpack_require__.o(installedChunks,chunkId)&&installedChunks[chunkId]&&installedChunks[chunkId][0](),installedChunks[chunkId]=0;return __webpack_require__.O(result)},chunkLoadingGlobal=self.__loadChunks_EnvTemplate=self.__loadChunks_EnvTemplate||[];chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null,0)),chunkLoadingGlobal.push=webpackJsonpCallback.bind(null,chunkLoadingGlobal.push.bind(chunkLoadingGlobal))})();var __webpack_exports__=__webpack_require__.O(void 0,[244],()=>__webpack_require__(19457));__webpack_exports__=__webpack_require__.O(__webpack_exports__)})();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(self.__loadChunks_EnvTemplate=self.__loadChunks_EnvTemplate||[]).push([[629],{58225:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";var process=__webpack_require__(34155),Buffer=__webpack_require__(48764).Buffer;Object.defineProperty(exports,"__esModule",{value:!0}),exports.auto=auto,exports.cr=cr,exports.crlf=crlf,exports.lf=lf
|
|
1
|
+
(self.__loadChunks_EnvTemplate=self.__loadChunks_EnvTemplate||[]).push([[629],{58225:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";var process=__webpack_require__(34155),Buffer=__webpack_require__(48764).Buffer;__webpack_require__(74916),__webpack_require__(15306),Object.defineProperty(exports,"__esModule",{value:!0}),exports.auto=auto,exports.cr=cr,exports.crlf=crlf,exports.lf=lf;function _isbinaryfile(){const data=__webpack_require__(88954);return _isbinaryfile=function(){return data},data}const lineBreak=typeof process<"u"&&process.platform==="win32"?`\r
|
|
2
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}},591:()=>{},74112:()=>{},24654:()=>{},52361:()=>{},94616:()=>{}},__webpack_require__=>{var __webpack_exec__=moduleId=>__webpack_require__(__webpack_require__.s=moduleId);__webpack_require__.O(0,[
|
|
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}},591:()=>{},74112:()=>{},24654:()=>{},52361:()=>{},94616:()=>{}},__webpack_require__=>{var __webpack_exec__=moduleId=>__webpack_require__(__webpack_require__.s=moduleId);__webpack_require__.O(0,[794,244],()=>__webpack_exec__(84941));var __webpack_exports__=__webpack_require__.O()}]);
|
|
@@ -145,18 +145,18 @@ class ReactApp {
|
|
|
145
145
|
if (clientBundle.errors.length > 0) return {
|
|
146
146
|
errors: clientBundle.errors
|
|
147
147
|
};
|
|
148
|
-
(_this$logger = this.logger) === null || _this$logger === void 0
|
|
148
|
+
(_this$logger = this.logger) === null || _this$logger === void 0 ? void 0 : _this$logger.info('[react.application] [ssr] client bundle - complete');
|
|
149
149
|
|
|
150
150
|
// bundle server
|
|
151
151
|
const serverBundle = await this.buildSsr(context);
|
|
152
152
|
if (serverBundle.errors.length > 0) return {
|
|
153
153
|
errors: serverBundle.errors
|
|
154
154
|
};
|
|
155
|
-
(_this$logger2 = this.logger) === null || _this$logger2 === void 0
|
|
155
|
+
(_this$logger2 = this.logger) === null || _this$logger2 === void 0 ? void 0 : _this$logger2.info('[react.application] [ssr] server bundle - complete');
|
|
156
156
|
|
|
157
157
|
// load server-side runtime
|
|
158
158
|
const app = await (0, _ssrExpress().loadSsrApp)(context.workdir, context.appName);
|
|
159
|
-
(_this$logger3 = this.logger) === null || _this$logger3 === void 0
|
|
159
|
+
(_this$logger3 = this.logger) === null || _this$logger3 === void 0 ? void 0 : _this$logger3.info('[react.application] [ssr] bundle code - loaded');
|
|
160
160
|
const expressApp = (0, _ssrExpress().createExpressSsr)({
|
|
161
161
|
name: context.appName,
|
|
162
162
|
workdir: context.workdir,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_fs","data","require","_path","_toolboxNetwork","_component","_dependencyResolver","_lodash","_interopRequireDefault","_bitError","_plugins","_webpack","_computeResults","_webpackAppSsr","_mutators","_ssrExpress","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ReactApp","constructor","name","entry","ssr","portRange","reactEnv","logger","dependencyResolver","prerender","bundler","ssrBundler","devServer","transformers","deploy","favicon","webpackModulePath","webpackDevServerModulePath","run","context","from","to","port","Port","getPort","listen","devServerContext","getDevServerContext","getDevServer","addDevServer","setOutput","runSsr","_this$logger","_this$logger2","_this$logger3","clientBundle","buildClient","errors","info","serverBundle","buildSsr","app","loadSsrApp","workdir","appName","expressApp","createExpressSsr","assets","parseAssets","htmlConfig","title","templateContent","html","minify","ctx","assign","create","targets","entries","getEntries","components","appComponent","outputPath","resolve","calcOutputPath","hostDependencies","getHostDependencies","aliasHostDependencies","capsuleNetwork","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","version","getDefaultBundler","getDefaultSsrBundler","path","bundlerContext","getBuildContext","compact","configMutator","buildConfig","addPlugin","prerenderPlugin","replaceTerserPlugin","env","ssrBuildConfig","ssrDir","distDir","getCompiler","targetEntries","map","basename","component","hostRootDir","rootPath","metaData","initiator","envId","id","applicationType","Array","isArray","BitError","publicPath","getAdditionalHostDependencies","exports"],"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 readonly webpackModulePath?: string,\n readonly webpackDevServerModulePath?: 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 = context.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(\n devServerContext,\n [addDevServer, setOutput, ...this.transformers],\n this.webpackModulePath,\n this.webpackDevServerModulePath\n );\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: this.getHostDependencies(),\n aliasHostDependencies: true,\n },\n ],\n\n // @ts-ignore\n capsuleNetwork: undefined,\n previousTasksResults: [],\n });\n\n const bundler = await this.reactEnv.getBundler(\n ctx,\n [(config) => config.merge([clientConfig()]), ...this.transformers],\n this.webpackModulePath\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: this.getHostDependencies(),\n aliasHostDependencies: true,\n },\n ],\n\n // @ts-ignore\n capsuleNetwork: undefined,\n previousTasksResults: [],\n });\n\n const bundler = await this.reactEnv.getBundler(\n ctx,\n [(config) => config.merge([ssrConfig()]), ...this.transformers],\n this.webpackModulePath\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, this.webpackModulePath);\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, this.webpackModulePath);\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: this.getHostDependencies(),\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.getHostDependencies(),\n aliasHostDependencies: true,\n });\n }\n\n private getHostDependencies(): string[] {\n return this.reactEnv.getAdditionalHostDependencies();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_fs","data","require","_path","_toolboxNetwork","_component","_dependencyResolver","_lodash","_interopRequireDefault","_bitError","_plugins","_webpack","_computeResults","_webpackAppSsr","_mutators","_ssrExpress","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ReactApp","constructor","name","entry","ssr","portRange","reactEnv","logger","dependencyResolver","prerender","bundler","ssrBundler","devServer","transformers","deploy","favicon","webpackModulePath","webpackDevServerModulePath","run","context","from","to","port","Port","getPort","listen","devServerContext","getDevServerContext","getDevServer","addDevServer","setOutput","runSsr","_this$logger","_this$logger2","_this$logger3","clientBundle","buildClient","errors","info","serverBundle","buildSsr","app","loadSsrApp","workdir","appName","expressApp","createExpressSsr","assets","parseAssets","htmlConfig","title","templateContent","html","minify","ctx","assign","create","targets","entries","getEntries","components","appComponent","outputPath","resolve","calcOutputPath","hostDependencies","getHostDependencies","aliasHostDependencies","capsuleNetwork","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","version","getDefaultBundler","getDefaultSsrBundler","path","bundlerContext","getBuildContext","compact","configMutator","buildConfig","addPlugin","prerenderPlugin","replaceTerserPlugin","env","ssrBuildConfig","ssrDir","distDir","getCompiler","targetEntries","map","basename","component","hostRootDir","rootPath","metaData","initiator","envId","id","applicationType","Array","isArray","BitError","publicPath","getAdditionalHostDependencies","exports"],"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 readonly webpackModulePath?: string,\n readonly webpackDevServerModulePath?: 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 = context.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(\n devServerContext,\n [addDevServer, setOutput, ...this.transformers],\n this.webpackModulePath,\n this.webpackDevServerModulePath\n );\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: this.getHostDependencies(),\n aliasHostDependencies: true,\n },\n ],\n\n // @ts-ignore\n capsuleNetwork: undefined,\n previousTasksResults: [],\n });\n\n const bundler = await this.reactEnv.getBundler(\n ctx,\n [(config) => config.merge([clientConfig()]), ...this.transformers],\n this.webpackModulePath\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: this.getHostDependencies(),\n aliasHostDependencies: true,\n },\n ],\n\n // @ts-ignore\n capsuleNetwork: undefined,\n previousTasksResults: [],\n });\n\n const bundler = await this.reactEnv.getBundler(\n ctx,\n [(config) => config.merge([ssrConfig()]), ...this.transformers],\n this.webpackModulePath\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, this.webpackModulePath);\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, this.webpackModulePath);\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: this.getHostDependencies(),\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.getHostDependencies(),\n aliasHostDependencies: true,\n });\n }\n\n private getHostDependencies(): string[] {\n return this.reactEnv.getAdditionalHostDependencies();\n }\n}\n"],"mappings":"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"}
|
|
@@ -79,7 +79,7 @@ function createExpressSsr({
|
|
|
79
79
|
response.sendFile((0, _path().resolve)(workdir, (0, _webpackAppSsr().calcOutputPath)(name, 'browser'), MAGIC_FOLDER, 'index.html'));
|
|
80
80
|
});
|
|
81
81
|
express.use(async (request, response) => {
|
|
82
|
-
logger === null || logger === void 0
|
|
82
|
+
logger === null || logger === void 0 ? void 0 : logger.info(`[react.application] [ssr] handling "${request.url}"`);
|
|
83
83
|
const browser = (0, _reactRendering().browserFromExpress)(request, port);
|
|
84
84
|
const session = {
|
|
85
85
|
assets,
|
|
@@ -90,9 +90,9 @@ function createExpressSsr({
|
|
|
90
90
|
try {
|
|
91
91
|
// the app itself controls the response
|
|
92
92
|
await app(session);
|
|
93
|
-
logger === null || logger === void 0
|
|
93
|
+
logger === null || logger === void 0 ? void 0 : logger.console(`[react.application] [ssr] success "${request.url}"`);
|
|
94
94
|
} catch (error) {
|
|
95
|
-
logger === null || logger === void 0
|
|
95
|
+
logger === null || logger === void 0 ? void 0 : logger.consoleError(`[react.application] [ssr] error at "${request.url}"`, error);
|
|
96
96
|
response.status(500).send((0, _uiFoundationUiPages().serverError)());
|
|
97
97
|
}
|
|
98
98
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_uiFoundationUiPages","data","require","_reactRendering","_express","_interopRequireDefault","fs","_interopRequireWildcard","_path","_urlJoin","_webpackAppSsr","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MAGIC_FOLDER","createExpressSsr","name","workdir","port","app","assets","logger","express","Express","publicFolder","resolve","calcOutputPath","use","PUBLIC_PATH","static","request","response","next","query","_rendering","sendFile","info","url","browser","browserFromExpress","session","console","error","consoleError","status","send","serverError","loadSsrApp","appName","entryFile","SSR_ENTRY_FILE","existsSync","Error","entry","Promise","then","s","parseAssets","publicPath","deadAssets","filter","x","length","css","map","endsWith","urlJoin","js"],"sources":["ssr-express.ts"],"sourcesContent":["import { Asset } from '@teambit/bundler';\nimport { Logger } from '@teambit/logger';\nimport { serverError } from '@teambit/ui-foundation.ui.pages.static-error';\nimport { browserFromExpress } from '@teambit/react.rendering.ssr';\nimport type { HtmlAssets, SsrSession } from '@teambit/react.rendering.ssr';\n\nimport Express from 'express';\nimport * as fs from 'fs-extra';\nimport { resolve } from 'path';\nimport urlJoin from 'url-join';\n\nimport { calcOutputPath, PUBLIC_PATH, SSR_ENTRY_FILE } from '../webpack/webpack.app.ssr.config';\n\nconst MAGIC_FOLDER = 'public'; // idk where this is comping from\n\ntype ExpressSsrOptions = {\n name: string;\n workdir: string;\n port: number;\n app: any;\n assets: HtmlAssets;\n logger?: Logger;\n};\n\nexport function createExpressSsr({ name, workdir, port, app, assets, logger }: ExpressSsrOptions) {\n const express = Express();\n\n const publicFolder = resolve(workdir, calcOutputPath(name, 'browser'), MAGIC_FOLDER);\n\n express.use(PUBLIC_PATH, Express.static(publicFolder));\n express.use((request, response, next) => {\n if (request.query._rendering !== 'client') {\n next();\n return;\n }\n response.sendFile(resolve(workdir, calcOutputPath(name, 'browser'), MAGIC_FOLDER, 'index.html'));\n });\n express.use(async (request, response) => {\n logger?.info(`[react.application] [ssr] handling \"${request.url}\"`);\n const browser = browserFromExpress(request, port);\n const session: SsrSession = { assets, browser, request, response };\n\n try {\n // the app itself controls the response\n await app(session);\n logger?.console(`[react.application] [ssr] success \"${request.url}\"`);\n } catch (error: any) {\n logger?.consoleError(`[react.application] [ssr] error at \"${request.url}\"`, error);\n response.status(500).send(serverError());\n }\n });\n\n return express;\n}\n\nexport async function loadSsrApp(workdir: string, appName: string) {\n const entryFile = resolve(workdir, calcOutputPath(appName, 'ssr'), MAGIC_FOLDER, SSR_ENTRY_FILE);\n if (!fs.existsSync(entryFile)) throw new Error(`expected ssr bundle entry file at \"${entryFile}\"`);\n\n const entry = await import(entryFile);\n const app = entry?.default;\n if (!app) throw new Error(`bundle entry file has no default export (at \"${entryFile}\")`);\n\n return app;\n}\n\nexport function parseAssets(assets: Asset[], publicPath = PUBLIC_PATH): HtmlAssets {\n const deadAssets = assets.filter((x) => !x.name);\n if (deadAssets.length > 0) throw new Error('missing some build assets (maybe need to turn on cachedAssets, etc)');\n\n return {\n css: assets\n .map((x) => x.name)\n .filter((name) => name?.endsWith('.css'))\n .map((name) => urlJoin(publicPath, name)),\n js: assets\n .map((x) => x.name)\n .filter((name) => name?.endsWith('.js'))\n .map((name) => urlJoin(publicPath, name)),\n };\n}\n"],"mappings":";;;;;;;;AAEA,SAAAA,qBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,oBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,gBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,GAAA;EAAA,MAAAL,IAAA,GAAAM,uBAAA,CAAAL,OAAA;EAAAI,EAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,MAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,KAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,SAAA;EAAA,MAAAR,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAO,QAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAS,eAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,cAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAgG,SAAAI,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAR,wBAAAI,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAEhG,MAAMW,YAAY,GAAG,QAAQ,CAAC,CAAC;;AAWxB,SAASC,gBAAgBA,CAAC;EAAEC,IAAI;EAAEC,OAAO;EAAEC,IAAI;EAAEC,GAAG;EAAEC,MAAM;EAAEC;AAA0B,CAAC,EAAE;EAChG,MAAMC,OAAO,GAAG,IAAAC,kBAAO,EAAC,CAAC;EAEzB,MAAMC,YAAY,GAAG,IAAAC,eAAO,EAACR,OAAO,EAAE,IAAAS,+BAAc,EAACV,IAAI,EAAE,SAAS,CAAC,EAAEF,YAAY,CAAC;EAEpFQ,OAAO,CAACK,GAAG,CAACC,4BAAW,EAAEL,kBAAO,CAACM,MAAM,CAACL,YAAY,CAAC,CAAC;EACtDF,OAAO,CAACK,GAAG,CAAC,CAACG,OAAO,EAAEC,QAAQ,EAAEC,IAAI,KAAK;IACvC,IAAIF,OAAO,CAACG,KAAK,CAACC,UAAU,KAAK,QAAQ,EAAE;MACzCF,IAAI,CAAC,CAAC;MACN;IACF;IACAD,QAAQ,CAACI,QAAQ,CAAC,IAAAV,eAAO,EAACR,OAAO,EAAE,IAAAS,+BAAc,EAACV,IAAI,EAAE,SAAS,CAAC,EAAEF,YAAY,EAAE,YAAY,CAAC,CAAC;EAClG,CAAC,CAAC;EACFQ,OAAO,CAACK,GAAG,CAAC,OAAOG,OAAO,EAAEC,QAAQ,KAAK;IACvCV,MAAM,aAANA,MAAM,
|
|
1
|
+
{"version":3,"names":["_uiFoundationUiPages","data","require","_reactRendering","_express","_interopRequireDefault","fs","_interopRequireWildcard","_path","_urlJoin","_webpackAppSsr","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MAGIC_FOLDER","createExpressSsr","name","workdir","port","app","assets","logger","express","Express","publicFolder","resolve","calcOutputPath","use","PUBLIC_PATH","static","request","response","next","query","_rendering","sendFile","info","url","browser","browserFromExpress","session","console","error","consoleError","status","send","serverError","loadSsrApp","appName","entryFile","SSR_ENTRY_FILE","existsSync","Error","entry","Promise","then","s","parseAssets","publicPath","deadAssets","filter","x","length","css","map","endsWith","urlJoin","js"],"sources":["ssr-express.ts"],"sourcesContent":["import { Asset } from '@teambit/bundler';\nimport { Logger } from '@teambit/logger';\nimport { serverError } from '@teambit/ui-foundation.ui.pages.static-error';\nimport { browserFromExpress } from '@teambit/react.rendering.ssr';\nimport type { HtmlAssets, SsrSession } from '@teambit/react.rendering.ssr';\n\nimport Express from 'express';\nimport * as fs from 'fs-extra';\nimport { resolve } from 'path';\nimport urlJoin from 'url-join';\n\nimport { calcOutputPath, PUBLIC_PATH, SSR_ENTRY_FILE } from '../webpack/webpack.app.ssr.config';\n\nconst MAGIC_FOLDER = 'public'; // idk where this is comping from\n\ntype ExpressSsrOptions = {\n name: string;\n workdir: string;\n port: number;\n app: any;\n assets: HtmlAssets;\n logger?: Logger;\n};\n\nexport function createExpressSsr({ name, workdir, port, app, assets, logger }: ExpressSsrOptions) {\n const express = Express();\n\n const publicFolder = resolve(workdir, calcOutputPath(name, 'browser'), MAGIC_FOLDER);\n\n express.use(PUBLIC_PATH, Express.static(publicFolder));\n express.use((request, response, next) => {\n if (request.query._rendering !== 'client') {\n next();\n return;\n }\n response.sendFile(resolve(workdir, calcOutputPath(name, 'browser'), MAGIC_FOLDER, 'index.html'));\n });\n express.use(async (request, response) => {\n logger?.info(`[react.application] [ssr] handling \"${request.url}\"`);\n const browser = browserFromExpress(request, port);\n const session: SsrSession = { assets, browser, request, response };\n\n try {\n // the app itself controls the response\n await app(session);\n logger?.console(`[react.application] [ssr] success \"${request.url}\"`);\n } catch (error: any) {\n logger?.consoleError(`[react.application] [ssr] error at \"${request.url}\"`, error);\n response.status(500).send(serverError());\n }\n });\n\n return express;\n}\n\nexport async function loadSsrApp(workdir: string, appName: string) {\n const entryFile = resolve(workdir, calcOutputPath(appName, 'ssr'), MAGIC_FOLDER, SSR_ENTRY_FILE);\n if (!fs.existsSync(entryFile)) throw new Error(`expected ssr bundle entry file at \"${entryFile}\"`);\n\n const entry = await import(entryFile);\n const app = entry?.default;\n if (!app) throw new Error(`bundle entry file has no default export (at \"${entryFile}\")`);\n\n return app;\n}\n\nexport function parseAssets(assets: Asset[], publicPath = PUBLIC_PATH): HtmlAssets {\n const deadAssets = assets.filter((x) => !x.name);\n if (deadAssets.length > 0) throw new Error('missing some build assets (maybe need to turn on cachedAssets, etc)');\n\n return {\n css: assets\n .map((x) => x.name)\n .filter((name) => name?.endsWith('.css'))\n .map((name) => urlJoin(publicPath, name)),\n js: assets\n .map((x) => x.name)\n .filter((name) => name?.endsWith('.js'))\n .map((name) => urlJoin(publicPath, name)),\n };\n}\n"],"mappings":";;;;;;;;AAEA,SAAAA,qBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,oBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,gBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,GAAA;EAAA,MAAAL,IAAA,GAAAM,uBAAA,CAAAL,OAAA;EAAAI,EAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,MAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,KAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,SAAA;EAAA,MAAAR,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAO,QAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAS,eAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,cAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAgG,SAAAI,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAR,wBAAAI,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAEhG,MAAMW,YAAY,GAAG,QAAQ,CAAC,CAAC;;AAWxB,SAASC,gBAAgBA,CAAC;EAAEC,IAAI;EAAEC,OAAO;EAAEC,IAAI;EAAEC,GAAG;EAAEC,MAAM;EAAEC;AAA0B,CAAC,EAAE;EAChG,MAAMC,OAAO,GAAG,IAAAC,kBAAO,EAAC,CAAC;EAEzB,MAAMC,YAAY,GAAG,IAAAC,eAAO,EAACR,OAAO,EAAE,IAAAS,+BAAc,EAACV,IAAI,EAAE,SAAS,CAAC,EAAEF,YAAY,CAAC;EAEpFQ,OAAO,CAACK,GAAG,CAACC,4BAAW,EAAEL,kBAAO,CAACM,MAAM,CAACL,YAAY,CAAC,CAAC;EACtDF,OAAO,CAACK,GAAG,CAAC,CAACG,OAAO,EAAEC,QAAQ,EAAEC,IAAI,KAAK;IACvC,IAAIF,OAAO,CAACG,KAAK,CAACC,UAAU,KAAK,QAAQ,EAAE;MACzCF,IAAI,CAAC,CAAC;MACN;IACF;IACAD,QAAQ,CAACI,QAAQ,CAAC,IAAAV,eAAO,EAACR,OAAO,EAAE,IAAAS,+BAAc,EAACV,IAAI,EAAE,SAAS,CAAC,EAAEF,YAAY,EAAE,YAAY,CAAC,CAAC;EAClG,CAAC,CAAC;EACFQ,OAAO,CAACK,GAAG,CAAC,OAAOG,OAAO,EAAEC,QAAQ,KAAK;IACvCV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEe,IAAI,CAAE,uCAAsCN,OAAO,CAACO,GAAI,GAAE,CAAC;IACnE,MAAMC,OAAO,GAAG,IAAAC,oCAAkB,EAACT,OAAO,EAAEZ,IAAI,CAAC;IACjD,MAAMsB,OAAmB,GAAG;MAAEpB,MAAM;MAAEkB,OAAO;MAAER,OAAO;MAAEC;IAAS,CAAC;IAElE,IAAI;MACF;MACA,MAAMZ,GAAG,CAACqB,OAAO,CAAC;MAClBnB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEoB,OAAO,CAAE,sCAAqCX,OAAO,CAACO,GAAI,GAAE,CAAC;IACvE,CAAC,CAAC,OAAOK,KAAU,EAAE;MACnBrB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEsB,YAAY,CAAE,uCAAsCb,OAAO,CAACO,GAAI,GAAE,EAAEK,KAAK,CAAC;MAClFX,QAAQ,CAACa,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,IAAAC,kCAAW,EAAC,CAAC,CAAC;IAC1C;EACF,CAAC,CAAC;EAEF,OAAOxB,OAAO;AAChB;AAEO,eAAeyB,UAAUA,CAAC9B,OAAe,EAAE+B,OAAe,EAAE;EACjE,MAAMC,SAAS,GAAG,IAAAxB,eAAO,EAACR,OAAO,EAAE,IAAAS,+BAAc,EAACsB,OAAO,EAAE,KAAK,CAAC,EAAElC,YAAY,EAAEoC,+BAAc,CAAC;EAChG,IAAI,CAAC/D,EAAE,CAAD,CAAC,CAACgE,UAAU,CAACF,SAAS,CAAC,EAAE,MAAM,IAAIG,KAAK,CAAE,sCAAqCH,SAAU,GAAE,CAAC;EAElG,MAAMI,KAAK,GAAG,MAAAC,OAAA,CAAA7B,OAAA,IAAawB,SAAS,IAAAM,IAAA,CAAAC,CAAA,IAAApE,uBAAA,CAAAL,OAAA,CAAAyE,CAAA,GAAC;EACrC,MAAMrC,GAAG,GAAGkC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE3D,OAAO;EAC1B,IAAI,CAACyB,GAAG,EAAE,MAAM,IAAIiC,KAAK,CAAE,gDAA+CH,SAAU,IAAG,CAAC;EAExF,OAAO9B,GAAG;AACZ;AAEO,SAASsC,WAAWA,CAACrC,MAAe,EAAEsC,UAAU,GAAG9B,4BAAW,EAAc;EACjF,MAAM+B,UAAU,GAAGvC,MAAM,CAACwC,MAAM,CAAEC,CAAC,IAAK,CAACA,CAAC,CAAC7C,IAAI,CAAC;EAChD,IAAI2C,UAAU,CAACG,MAAM,GAAG,CAAC,EAAE,MAAM,IAAIV,KAAK,CAAC,qEAAqE,CAAC;EAEjH,OAAO;IACLW,GAAG,EAAE3C,MAAM,CACR4C,GAAG,CAAEH,CAAC,IAAKA,CAAC,CAAC7C,IAAI,CAAC,CAClB4C,MAAM,CAAE5C,IAAI,IAAKA,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiD,QAAQ,CAAC,MAAM,CAAC,CAAC,CACxCD,GAAG,CAAEhD,IAAI,IAAK,IAAAkD,kBAAO,EAACR,UAAU,EAAE1C,IAAI,CAAC,CAAC;IAC3CmD,EAAE,EAAE/C,MAAM,CACP4C,GAAG,CAAEH,CAAC,IAAKA,CAAC,CAAC7C,IAAI,CAAC,CAClB4C,MAAM,CAAE5C,IAAI,IAAKA,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiD,QAAQ,CAAC,KAAK,CAAC,CAAC,CACvCD,GAAG,CAAEhD,IAAI,IAAK,IAAAkD,kBAAO,EAACR,UAAU,EAAE1C,IAAI,CAAC;EAC5C,CAAC;AACH"}
|
|
@@ -48,7 +48,7 @@ function replaceTerserPlugin({
|
|
|
48
48
|
return minimizer.constructor.name === 'TerserPlugin';
|
|
49
49
|
});
|
|
50
50
|
const terserer = prerender ? CreateTerserPluginForPrerender() : CreateTerserPlugin();
|
|
51
|
-
(_configMutator$raw$op3 = configMutator.raw.optimization) === null || _configMutator$raw$op3 === void 0
|
|
51
|
+
(_configMutator$raw$op3 = configMutator.raw.optimization) === null || _configMutator$raw$op3 === void 0 ? void 0 : _configMutator$raw$op3.minimizer.push(terserer);
|
|
52
52
|
return configMutator;
|
|
53
53
|
};
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_terserWebpackPlugin","_interopRequireDefault","obj","__esModule","default","addDevServer","configMutator","addTopLevel","allowedHosts","historyApiFallback","index","disableDotRule","headers","setOutput","raw","output","publicPath","replaceTerserPlugin","prerender","_configMutator$raw$op","_configMutator$raw$op2","_configMutator$raw$op3","optimization","minimizer","remove","constructor","name","terserer","CreateTerserPluginForPrerender","CreateTerserPlugin","push","TerserPlugin","minify","esbuildMinify","terserOptions","extractComments","parse","ecma","compress","warnings","comparisons","inline","mangle","safari10","comments","ascii_only"],"sources":["mutators.ts"],"sourcesContent":["import { WebpackConfigMutator } from '@teambit/webpack';\nimport { remove } from 'lodash';\nimport TerserPlugin from 'terser-webpack-plugin';\n\nexport function addDevServer(configMutator: WebpackConfigMutator) {\n return configMutator.addTopLevel('devServer', {\n allowedHosts: 'all',\n historyApiFallback: {\n index: '/index.html',\n disableDotRule: true,\n },\n headers: {\n 'Access-Control-Allow-Origin': '*',\n },\n });\n}\n\nexport function setOutput(configMutator: WebpackConfigMutator) {\n if (!configMutator.raw.output) configMutator.raw.output = {};\n configMutator.raw.output.publicPath = '/';\n\n return configMutator;\n}\n\nexport function replaceTerserPlugin({ prerender = false }: { prerender: boolean }) {\n return (configMutator: WebpackConfigMutator) => {\n if (!configMutator.raw.optimization?.minimizer) return configMutator;\n\n remove(configMutator.raw.optimization?.minimizer, (minimizer: any) => {\n return minimizer.constructor.name === 'TerserPlugin';\n });\n\n const terserer = prerender ? CreateTerserPluginForPrerender() : CreateTerserPlugin();\n configMutator.raw.optimization?.minimizer.push(terserer);\n\n return configMutator;\n };\n}\n\nfunction CreateTerserPlugin() {\n return new TerserPlugin({\n minify: TerserPlugin.esbuildMinify,\n // `terserOptions` options will be passed to `esbuild`\n // Link to options - https://esbuild.github.io/api/#minify\n terserOptions: {\n minify: true,\n },\n });\n}\n\nfunction CreateTerserPluginForPrerender() {\n return new TerserPlugin({\n extractComments: false,\n terserOptions: {\n parse: {\n // We want terser to parse ecma 8 code. However, we don't want it\n // to apply any minification steps that turns valid ecma 5 code\n // into invalid ecma 5 code. This is why the 'compress' and 'output'\n // sections only apply transformations that are ecma 5 safe\n // https://github.com/facebook/create-react-app/pull/4234\n ecma: 8,\n },\n compress: {\n ecma: 5,\n warnings: false,\n // Disabled because of an issue with Uglify breaking seemingly valid code:\n // https://github.com/facebook/create-react-app/issues/2376\n // Pending further investigation:\n // https://github.com/mishoo/UglifyJS2/issues/2011\n comparisons: false,\n // Disabled because of an issue with Terser breaking valid code:\n // https://github.com/facebook/create-react-app/issues/5250\n // Pending further investigation:\n // https://github.com/terser-js/terser/issues/120\n inline: 2,\n },\n mangle: {\n safari10: true,\n },\n output: {\n ecma: 5,\n comments: false,\n // Turned on because emoji and regex is not minified properly using default\n // https://github.com/facebook/create-react-app/issues/2488\n ascii_only: true,\n },\n },\n });\n}\n"],"mappings":";;;;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,qBAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,oBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiD,SAAAG,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1C,SAASG,YAAYA,CAACC,aAAmC,EAAE;EAChE,OAAOA,aAAa,CAACC,WAAW,CAAC,WAAW,EAAE;IAC5CC,YAAY,EAAE,KAAK;IACnBC,kBAAkB,EAAE;MAClBC,KAAK,EAAE,aAAa;MACpBC,cAAc,EAAE;IAClB,CAAC;IACDC,OAAO,EAAE;MACP,6BAA6B,EAAE;IACjC;EACF,CAAC,CAAC;AACJ;AAEO,SAASC,SAASA,CAACP,aAAmC,EAAE;EAC7D,IAAI,CAACA,aAAa,CAACQ,GAAG,CAACC,MAAM,EAAET,aAAa,CAACQ,GAAG,CAACC,MAAM,GAAG,CAAC,CAAC;EAC5DT,aAAa,CAACQ,GAAG,CAACC,MAAM,CAACC,UAAU,GAAG,GAAG;EAEzC,OAAOV,aAAa;AACtB;AAEO,SAASW,mBAAmBA,CAAC;EAAEC,SAAS,GAAG;AAA8B,CAAC,EAAE;EACjF,OAAQZ,aAAmC,IAAK;IAAA,IAAAa,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAC9C,IAAI,GAAAF,qBAAA,GAACb,aAAa,CAACQ,GAAG,CAACQ,YAAY,cAAAH,qBAAA,eAA9BA,qBAAA,CAAgCI,SAAS,GAAE,OAAOjB,aAAa;IAEpE,IAAAkB,gBAAM,GAAAJ,sBAAA,GAACd,aAAa,CAACQ,GAAG,CAACQ,YAAY,cAAAF,sBAAA,uBAA9BA,sBAAA,CAAgCG,SAAS,EAAGA,SAAc,IAAK;MACpE,OAAOA,SAAS,CAACE,WAAW,CAACC,IAAI,KAAK,cAAc;IACtD,CAAC,CAAC;IAEF,MAAMC,QAAQ,GAAGT,SAAS,GAAGU,8BAA8B,CAAC,CAAC,GAAGC,kBAAkB,CAAC,CAAC;IACpF,CAAAR,sBAAA,GAAAf,aAAa,CAACQ,GAAG,CAACQ,YAAY,cAAAD,sBAAA,
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","_terserWebpackPlugin","_interopRequireDefault","obj","__esModule","default","addDevServer","configMutator","addTopLevel","allowedHosts","historyApiFallback","index","disableDotRule","headers","setOutput","raw","output","publicPath","replaceTerserPlugin","prerender","_configMutator$raw$op","_configMutator$raw$op2","_configMutator$raw$op3","optimization","minimizer","remove","constructor","name","terserer","CreateTerserPluginForPrerender","CreateTerserPlugin","push","TerserPlugin","minify","esbuildMinify","terserOptions","extractComments","parse","ecma","compress","warnings","comparisons","inline","mangle","safari10","comments","ascii_only"],"sources":["mutators.ts"],"sourcesContent":["import { WebpackConfigMutator } from '@teambit/webpack';\nimport { remove } from 'lodash';\nimport TerserPlugin from 'terser-webpack-plugin';\n\nexport function addDevServer(configMutator: WebpackConfigMutator) {\n return configMutator.addTopLevel('devServer', {\n allowedHosts: 'all',\n historyApiFallback: {\n index: '/index.html',\n disableDotRule: true,\n },\n headers: {\n 'Access-Control-Allow-Origin': '*',\n },\n });\n}\n\nexport function setOutput(configMutator: WebpackConfigMutator) {\n if (!configMutator.raw.output) configMutator.raw.output = {};\n configMutator.raw.output.publicPath = '/';\n\n return configMutator;\n}\n\nexport function replaceTerserPlugin({ prerender = false }: { prerender: boolean }) {\n return (configMutator: WebpackConfigMutator) => {\n if (!configMutator.raw.optimization?.minimizer) return configMutator;\n\n remove(configMutator.raw.optimization?.minimizer, (minimizer: any) => {\n return minimizer.constructor.name === 'TerserPlugin';\n });\n\n const terserer = prerender ? CreateTerserPluginForPrerender() : CreateTerserPlugin();\n configMutator.raw.optimization?.minimizer.push(terserer);\n\n return configMutator;\n };\n}\n\nfunction CreateTerserPlugin() {\n return new TerserPlugin({\n minify: TerserPlugin.esbuildMinify,\n // `terserOptions` options will be passed to `esbuild`\n // Link to options - https://esbuild.github.io/api/#minify\n terserOptions: {\n minify: true,\n },\n });\n}\n\nfunction CreateTerserPluginForPrerender() {\n return new TerserPlugin({\n extractComments: false,\n terserOptions: {\n parse: {\n // We want terser to parse ecma 8 code. However, we don't want it\n // to apply any minification steps that turns valid ecma 5 code\n // into invalid ecma 5 code. This is why the 'compress' and 'output'\n // sections only apply transformations that are ecma 5 safe\n // https://github.com/facebook/create-react-app/pull/4234\n ecma: 8,\n },\n compress: {\n ecma: 5,\n warnings: false,\n // Disabled because of an issue with Uglify breaking seemingly valid code:\n // https://github.com/facebook/create-react-app/issues/2376\n // Pending further investigation:\n // https://github.com/mishoo/UglifyJS2/issues/2011\n comparisons: false,\n // Disabled because of an issue with Terser breaking valid code:\n // https://github.com/facebook/create-react-app/issues/5250\n // Pending further investigation:\n // https://github.com/terser-js/terser/issues/120\n inline: 2,\n },\n mangle: {\n safari10: true,\n },\n output: {\n ecma: 5,\n comments: false,\n // Turned on because emoji and regex is not minified properly using default\n // https://github.com/facebook/create-react-app/issues/2488\n ascii_only: true,\n },\n },\n });\n}\n"],"mappings":";;;;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,qBAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,oBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiD,SAAAG,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1C,SAASG,YAAYA,CAACC,aAAmC,EAAE;EAChE,OAAOA,aAAa,CAACC,WAAW,CAAC,WAAW,EAAE;IAC5CC,YAAY,EAAE,KAAK;IACnBC,kBAAkB,EAAE;MAClBC,KAAK,EAAE,aAAa;MACpBC,cAAc,EAAE;IAClB,CAAC;IACDC,OAAO,EAAE;MACP,6BAA6B,EAAE;IACjC;EACF,CAAC,CAAC;AACJ;AAEO,SAASC,SAASA,CAACP,aAAmC,EAAE;EAC7D,IAAI,CAACA,aAAa,CAACQ,GAAG,CAACC,MAAM,EAAET,aAAa,CAACQ,GAAG,CAACC,MAAM,GAAG,CAAC,CAAC;EAC5DT,aAAa,CAACQ,GAAG,CAACC,MAAM,CAACC,UAAU,GAAG,GAAG;EAEzC,OAAOV,aAAa;AACtB;AAEO,SAASW,mBAAmBA,CAAC;EAAEC,SAAS,GAAG;AAA8B,CAAC,EAAE;EACjF,OAAQZ,aAAmC,IAAK;IAAA,IAAAa,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAC9C,IAAI,GAAAF,qBAAA,GAACb,aAAa,CAACQ,GAAG,CAACQ,YAAY,cAAAH,qBAAA,eAA9BA,qBAAA,CAAgCI,SAAS,GAAE,OAAOjB,aAAa;IAEpE,IAAAkB,gBAAM,GAAAJ,sBAAA,GAACd,aAAa,CAACQ,GAAG,CAACQ,YAAY,cAAAF,sBAAA,uBAA9BA,sBAAA,CAAgCG,SAAS,EAAGA,SAAc,IAAK;MACpE,OAAOA,SAAS,CAACE,WAAW,CAACC,IAAI,KAAK,cAAc;IACtD,CAAC,CAAC;IAEF,MAAMC,QAAQ,GAAGT,SAAS,GAAGU,8BAA8B,CAAC,CAAC,GAAGC,kBAAkB,CAAC,CAAC;IACpF,CAAAR,sBAAA,GAAAf,aAAa,CAACQ,GAAG,CAACQ,YAAY,cAAAD,sBAAA,uBAA9BA,sBAAA,CAAgCE,SAAS,CAACO,IAAI,CAACH,QAAQ,CAAC;IAExD,OAAOrB,aAAa;EACtB,CAAC;AACH;AAEA,SAASuB,kBAAkBA,CAAA,EAAG;EAC5B,OAAO,KAAIE,8BAAY,EAAC;IACtBC,MAAM,EAAED,8BAAY,CAACE,aAAa;IAClC;IACA;IACAC,aAAa,EAAE;MACbF,MAAM,EAAE;IACV;EACF,CAAC,CAAC;AACJ;AAEA,SAASJ,8BAA8BA,CAAA,EAAG;EACxC,OAAO,KAAIG,8BAAY,EAAC;IACtBI,eAAe,EAAE,KAAK;IACtBD,aAAa,EAAE;MACbE,KAAK,EAAE;QACL;QACA;QACA;QACA;QACA;QACAC,IAAI,EAAE;MACR,CAAC;MACDC,QAAQ,EAAE;QACRD,IAAI,EAAE,CAAC;QACPE,QAAQ,EAAE,KAAK;QACf;QACA;QACA;QACA;QACAC,WAAW,EAAE,KAAK;QAClB;QACA;QACA;QACA;QACAC,MAAM,EAAE;MACV,CAAC;MACDC,MAAM,EAAE;QACNC,QAAQ,EAAE;MACZ,CAAC;MACD5B,MAAM,EAAE;QACNsB,IAAI,EAAE,CAAC;QACPO,QAAQ,EAAE,KAAK;QACf;QACA;QACAC,UAAU,EAAE;MACd;IACF;EACF,CAAC,CAAC;AACJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.1167/dist/react.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.1167/dist/react.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/dist/react.env.js
CHANGED
|
@@ -523,8 +523,8 @@ class ReactEnv {
|
|
|
523
523
|
*/
|
|
524
524
|
getBuildPipe(modifiers = {}) {
|
|
525
525
|
var _modifiers$tsModifier, _modifiers$tsModifier2;
|
|
526
|
-
const transformers = (modifiers === null || modifiers === void 0
|
|
527
|
-
return [this.createCjsCompilerTask(transformers, (modifiers === null || modifiers === void 0
|
|
526
|
+
const transformers = (modifiers === null || modifiers === void 0 ? void 0 : (_modifiers$tsModifier = modifiers.tsModifier) === null || _modifiers$tsModifier === void 0 ? void 0 : _modifiers$tsModifier.transformers) || [];
|
|
527
|
+
return [this.createCjsCompilerTask(transformers, (modifiers === null || modifiers === void 0 ? void 0 : (_modifiers$tsModifier2 = modifiers.tsModifier) === null || _modifiers$tsModifier2 === void 0 ? void 0 : _modifiers$tsModifier2.module) || _typescript().default), this.tester.task];
|
|
528
528
|
}
|
|
529
529
|
|
|
530
530
|
/**
|
package/dist/react.env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_os","_componentModules","_builder","_lodash","_preview","_defender","_typescript2","_defender2","_utils","_path","_fsExtra","_react","_webpackConfig","_webpackConfigBase","_webpackConfigEnv","_webpackConfigEnv2","_webpackConfigComponent","_webpackConfigComponent2","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ReactEnvType","exports","defaultTsConfig","buildTsConfig","eslintConfig","prettierConfig","ReactEnv","constructor","jestAspect","tsAspect","compiler","webpack","workspace","pkg","tester","config","eslint","prettier","dependencyResolver","logger","compilerAspectId","getTsConfig","targetTsConfig","merge","getBuildTsConfig","getCjsJestTester","jestConfigPath","jestModulePath","createCjsJestTester","pathToSource","pathNormalizeToLinux","__dirname","replace","defaultConfig","join","createTester","resolve","getEsmJestTester","createEsmJestTester","getTester","createTsCompilerOptions","mode","tsconfig","cloneDeep","compileJs","compileJsx","types","getTsCjsCompiler","transformers","tsModule","ts","createTsCjsCompiler","tsCompileOptions","createCjsCompiler","getTsEsmCompiler","createTsEsmCompiler","createEsmCompiler","getCompiler","getLinter","context","tsConfig","defaultTransformer","configMutator","addExtensionTypes","setTsConfig","allTransformers","createLinter","pluginPath","getFormatter","createFormatter","check","getFileMap","components","local","reduce","index","component","state","filesystem","files","forEach","file","path","id","toString","homepage","fullName","ComponentUrl","toUrl","writeFileMap","fileMap","tmpdir","Math","random","slice","outputFileSync","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","tsserverPath","contextPath","createSchemaExtractor","getDevServer","webpackModulePath","webpackDevServerModulePath","baseConfig","basePreviewConfigFactory","envDevConfig","envPreviewDevConfigFactory","componentDevConfig","componentPreviewDevConfigFactory","merged","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","basePreviewProdConfigFactory","componentProdConfig","componentPreviewProdConfigFactory","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","templateConfig","templateWebpackConfigFactory","createBundler","getAdditionalHostDependencies","getDocsTemplate","getMounter","getPreviewConfig","strategyName","COMPONENT_PREVIEW_STRATEGY_NAME","splitComponentBundle","isScaling","getPackageJsonProps","getCjsPackageJsonProps","createCjsPackageJsonProps","getEsmPackageJsonProps","createEsmPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","getDependencies","dependencies","react","devDependencies","peerDependencies","getBuildPipe","modifiers","_modifiers$tsModifier","_modifiers$tsModifier2","tsModifier","createCjsCompilerTask","module","task","getBuildPipeWithoutCompiler","createBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","aspectId","getEsmCompilerTask","createEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","workspaceConfig","TypescriptConfigWriter","create","EslintConfigWriter","configPath","PrettierConfigWriter","__getDescriptor","type"],"sources":["react.env.ts"],"sourcesContent":["import ts, { TsConfigSourceFile } from 'typescript';\nimport { tmpdir } from 'os';\nimport { Component } from '@teambit/component';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { BuildTask, CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { merge, cloneDeep } from 'lodash';\nimport { Bundler, BundlerContext, DevServer, DevServerContext } from '@teambit/bundler';\nimport { COMPONENT_PREVIEW_STRATEGY_NAME, PreviewStrategyName } from '@teambit/preview';\nimport { PrettierConfigWriter } from '@teambit/defender.prettier-formatter';\nimport { TypescriptConfigWriter } from '@teambit/typescript.typescript-compiler';\nimport { EslintConfigWriter } from '@teambit/defender.eslint-linter';\nimport { CompilerMain } from '@teambit/compiler';\nimport {\n BuilderEnv,\n CompilerEnv,\n DependenciesEnv,\n DevEnv,\n LinterEnv,\n PackageEnv,\n TesterEnv,\n FormatterEnv,\n PipeServiceModifier,\n PipeServiceModifiersMap,\n} from '@teambit/envs';\nimport { JestMain } from '@teambit/jest';\nimport { PackageJsonProps, PkgMain } from '@teambit/pkg';\nimport { Tester, TesterMain } from '@teambit/tester';\nimport { TsConfigTransformer, TypescriptMain } from '@teambit/typescript';\nimport type { TypeScriptCompilerOptions } from '@teambit/typescript';\nimport { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';\nimport { Workspace } from '@teambit/workspace';\nimport { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierConfigTransformer, PrettierMain } from '@teambit/prettier';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Linter, LinterContext } from '@teambit/linter';\nimport { Formatter, FormatterContext } from '@teambit/formatter';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport type { ComponentMeta } from '@teambit/react.ui.highlighter.component-metadata.bit-component-meta';\nimport { SchemaExtractor } from '@teambit/schema';\nimport { join, resolve } from 'path';\nimport { outputFileSync } from 'fs-extra';\nimport { Logger } from '@teambit/logger';\nimport { ConfigWriterEntry } from '@teambit/workspace-config-files';\n\n// ensure reactEnv depends on compositions-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { CompositionsApp } from '@teambit/react.ui.compositions-app';\n// ensure reactEnv depends on docs-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport DocsApps from '@teambit/react.ui.docs-app';\nimport type { ReactMainConfig } from './react.main.runtime';\nimport { ReactAspect } from './react.aspect';\n// webpack configs for both components and envs\nimport basePreviewConfigFactory from './webpack/webpack.config.base';\nimport basePreviewProdConfigFactory from './webpack/webpack.config.base.prod';\n\n// webpack configs for envs only\n// import devPreviewConfigFactory from './webpack/webpack.config.preview.dev';\nimport envPreviewDevConfigFactory from './webpack/webpack.config.env.dev';\nimport { templateWebpackConfigFactory } from './webpack/webpack.config.env.template';\n\n// webpack configs for components only\nimport componentPreviewProdConfigFactory from './webpack/webpack.config.component.prod';\nimport componentPreviewDevConfigFactory from './webpack/webpack.config.component.dev';\n\nexport const ReactEnvType = 'react';\nconst defaultTsConfig = require('./typescript/tsconfig.json');\nconst buildTsConfig = require('./typescript/tsconfig.build.json');\nconst eslintConfig = require('./eslint/eslintrc');\nconst prettierConfig = require('./prettier/prettier.config.js');\n\n// TODO: move to be taken from the key mode of compiler context\ntype CompilerMode = 'build' | 'dev';\n\ntype GetBuildPipeModifiers = PipeServiceModifiersMap & {\n tsModifier?: PipeServiceModifier;\n};\n\n/**\n * a component environment built for [React](https://reactjs.org) .\n */\nexport class ReactEnv\n implements TesterEnv, CompilerEnv, LinterEnv, DevEnv, BuilderEnv, DependenciesEnv, PackageEnv, FormatterEnv\n{\n constructor(\n /**\n * jest extension\n */\n private jestAspect: JestMain,\n\n /**\n * typescript extension.\n */\n protected tsAspect: TypescriptMain,\n\n /**\n * compiler extension.\n */\n private compiler: CompilerMain,\n\n /**\n * webpack extension.\n */\n private webpack: WebpackMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * pkg extension.\n */\n private pkg: PkgMain,\n\n /**\n * tester extension\n */\n private tester: TesterMain,\n\n private config: ReactMainConfig,\n\n private eslint: ESLintMain,\n\n private prettier: PrettierMain,\n\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger,\n\n private compilerAspectId: string\n ) {}\n\n getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, defaultTsConfig, targetTsConfig) : defaultTsConfig;\n }\n\n getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, buildTsConfig, targetTsConfig) : buildTsConfig;\n }\n\n /**\n * @deprecated use createCjsJestTester()\n */\n getCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n /**\n * Get a jest tester instance with react config and cjs configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n createCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.cjs.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * @deprecated use createEsmJestTester()\n */\n getEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createEsmJestTester(jestConfigPath, jestModulePath);\n }\n\n /**\n * Get a jest tester instance with react config and esm configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n createEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.esm.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * returns a component tester.\n */\n getTester(jestConfigPath: string, jestModulePath?: string): Tester {\n // return this.createEsmJestTester(jestConfigPath, jestModulePath);\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n private createTsCompilerOptions(mode: CompilerMode = 'dev'): TypeScriptCompilerOptions {\n const tsconfig = mode === 'dev' ? cloneDeep(defaultTsConfig) : cloneDeep(buildTsConfig);\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist/', '/src/');\n const compileJs = true;\n const compileJsx = true;\n return {\n tsconfig,\n // TODO: @david please remove this line and refactor to be something that makes sense.\n types: [resolve(pathToSource, './typescript/style.d.ts'), resolve(pathToSource, './typescript/asset.d.ts')],\n compileJs,\n compileJsx,\n };\n }\n\n /**\n * @deprecated use createTsCjsCompiler()\n */\n getTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createTsCjsCompiler(mode, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to cjs module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n createTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createCjsCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n /**\n * @deprecated use createTsEsmCompiler()\n */\n getTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n this.createTsEsmCompiler(mode, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to esm module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n createTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createEsmCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n getCompiler(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n // return this.getTsEsmCompiler('dev', transformers, tsModule);\n return this.createTsCjsCompiler('dev', transformers, tsModule);\n }\n\n /**\n * returns and configures the component linter.\n */\n getLinter(context: LinterContext, transformers: EslintConfigTransformer[] = []): Linter {\n const tsConfig = this.createTsCompilerOptions('dev').tsconfig;\n\n const defaultTransformer: EslintConfigTransformer = (configMutator) => {\n configMutator.addExtensionTypes(['.md', '.mdx']);\n configMutator.setTsConfig(tsConfig);\n return configMutator;\n };\n\n const allTransformers = [defaultTransformer, ...transformers];\n\n return this.eslint.createLinter(\n context,\n {\n config: eslintConfig,\n // resolve all plugins from the react environment.\n pluginPath: __dirname,\n },\n allTransformers\n );\n }\n\n /**\n * returns and configures the component formatter.\n */\n getFormatter(context: FormatterContext, transformers: PrettierConfigTransformer[] = []): Formatter {\n return this.prettier.createFormatter(\n { check: context?.check },\n {\n config: prettierConfig,\n },\n transformers\n );\n }\n\n private getFileMap(components: Component[], local = false) {\n return components.reduce<{ [key: string]: ComponentMeta }>((index, component: Component) => {\n component.state.filesystem.files.forEach((file) => {\n index[file.path] = {\n id: component.id.toString(),\n homepage: local ? `/${component.id.fullName}` : ComponentUrl.toUrl(component.id),\n };\n });\n\n return index;\n }, {});\n }\n\n private writeFileMap(components: Component[], local?: boolean) {\n const fileMap = this.getFileMap(components, local);\n const path = join(tmpdir(), `${Math.random().toString(36).slice(2, 11)}.json`);\n outputFileSync(path, JSON.stringify(fileMap));\n return path;\n }\n\n /**\n * required for `bit start`\n */\n getDevEnvId(id?: string) {\n if (typeof id !== 'string') return ReactAspect.id;\n return id || ReactAspect.id;\n }\n\n /**\n * get a schema generator instance configured with the correct tsconfig.\n */\n getSchemaExtractor(tsconfig: TsConfigSourceFile, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig), tsserverPath, contextPath);\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(\n context: DevServerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string,\n webpackDevServerModulePath?: string\n ): DevServer {\n const baseConfig = basePreviewConfigFactory(false);\n const envDevConfig = envPreviewDevConfigFactory(context.id);\n const componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);\n return merged;\n };\n\n return this.webpack.createDevServer(\n context,\n [defaultTransformer, ...transformers],\n webpackModulePath,\n webpackDevServerModulePath\n );\n }\n\n async getBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers, webpackModulePath);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const componentProdConfig = componentPreviewProdConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, componentProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const templateConfig = templateWebpackConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, templateConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers, undefined, webpackModulePath);\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react', 'react-dom'];\n }\n\n /**\n * returns a path to a docs template.\n */\n getDocsTemplate() {\n return require.resolve('@teambit/react.ui.docs-app');\n }\n\n icon = 'https://static.bit.dev/extensions-icons/react.svg';\n\n /**\n * returns the path to the compositions template\n */\n getMounter() {\n return require.resolve('@teambit/react.ui.compositions-app');\n }\n\n getPreviewConfig() {\n return {\n strategyName: COMPONENT_PREVIEW_STRATEGY_NAME as PreviewStrategyName,\n splitComponentBundle: true,\n isScaling: true,\n };\n }\n\n /**\n * define the package json properties to add to each component.\n */\n getPackageJsonProps(): PackageJsonProps {\n // React compile by default to esm, so uses type module\n // return this.getEsmPackageJsonProps();\n return this.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createCjsPackageJsonProps()\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return this.createCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for a cjs component\n * @returns\n */\n createCjsPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createEsmPackageJsonProps()\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return this.createEsmPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for an esm component\n * @returns\n */\n createEsmPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getEsmPackageJsonProps();\n }\n\n getNpmIgnore() {\n // ignores only .ts files in the root directory, so d.ts files inside dists are unaffected.\n // without this change, the package has \"index.ts\" file in the root, causing typescript to parse it instead of the\n // d.ts files. (changing the \"types\" prop in the package.json file doesn't help).\n return [`${CAPSULE_ARTIFACTS_DIR}/`];\n }\n\n /**\n * adds dependencies to all configured components.\n */\n getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n // 'core-js': '^3.0.0',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^17.0.8',\n '@types/react-dom': '^17.0.5',\n '@types/jest': '^26.0.0',\n // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed\n // '@babel/runtime': '7.20.0',\n '@types/testing-library__jest-dom': '5.9.5',\n },\n peerDependencies: {\n react: '^16.8.0 || ^17.0.0',\n 'react-dom': '^16.8.0 || ^17.0.0',\n },\n };\n }\n\n /**\n * returns the component build pipeline.\n */\n getBuildPipe(modifiers: GetBuildPipeModifiers = {}): BuildTask[] {\n const transformers: Function[] = modifiers?.tsModifier?.transformers || [];\n return [this.createCjsCompilerTask(transformers, modifiers?.tsModifier?.module || ts), this.tester.task];\n }\n\n /**\n * @deprecated use createBuildPipeWithoutCompiler()\n */\n getBuildPipeWithoutCompiler(): BuildTask[] {\n return this.createBuildPipeWithoutCompiler();\n }\n\n /**\n * Get the react build pipeline without the compilation task.\n * This help in cases you want to only replace the compilation task with something else\n * @returns\n */\n createBuildPipeWithoutCompiler(): BuildTask[] {\n const pipeWithoutCompiler = this.getBuildPipe().filter((task) => task.aspectId !== this.compilerAspectId);\n return pipeWithoutCompiler;\n }\n\n /**\n * @deprecated use createEsmCompilerTask()\n */\n getEsmCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createEsmCompilerTask(transformers as Function[], tsModule);\n }\n\n /**\n * Get a compiler task with react config and set to esm module\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsEsmCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n /**\n * @deprecated use createCjsCompilerTask()\n * */\n getCjsCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCjsCompilerTask(transformers as Function[], tsModule);\n }\n\n /**\n * Get a compiler task with react config and set to cjs module\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsCjsCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n workspaceConfig(): ConfigWriterEntry[] {\n return [\n TypescriptConfigWriter.create(\n {\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n // types: resolveTypes(__dirname, [\"./types\"]),\n },\n this.logger\n ),\n EslintConfigWriter.create(\n {\n configPath: require.resolve('./eslint/eslintrc.js'),\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n },\n this.logger\n ),\n PrettierConfigWriter.create(\n {\n configPath: require.resolve('./prettier/prettier.config.js'),\n },\n this.logger\n ),\n ];\n }\n\n async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_os","_componentModules","_builder","_lodash","_preview","_defender","_typescript2","_defender2","_utils","_path","_fsExtra","_react","_webpackConfig","_webpackConfigBase","_webpackConfigEnv","_webpackConfigEnv2","_webpackConfigComponent","_webpackConfigComponent2","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ReactEnvType","exports","defaultTsConfig","buildTsConfig","eslintConfig","prettierConfig","ReactEnv","constructor","jestAspect","tsAspect","compiler","webpack","workspace","pkg","tester","config","eslint","prettier","dependencyResolver","logger","compilerAspectId","getTsConfig","targetTsConfig","merge","getBuildTsConfig","getCjsJestTester","jestConfigPath","jestModulePath","createCjsJestTester","pathToSource","pathNormalizeToLinux","__dirname","replace","defaultConfig","join","createTester","resolve","getEsmJestTester","createEsmJestTester","getTester","createTsCompilerOptions","mode","tsconfig","cloneDeep","compileJs","compileJsx","types","getTsCjsCompiler","transformers","tsModule","ts","createTsCjsCompiler","tsCompileOptions","createCjsCompiler","getTsEsmCompiler","createTsEsmCompiler","createEsmCompiler","getCompiler","getLinter","context","tsConfig","defaultTransformer","configMutator","addExtensionTypes","setTsConfig","allTransformers","createLinter","pluginPath","getFormatter","createFormatter","check","getFileMap","components","local","reduce","index","component","state","filesystem","files","forEach","file","path","id","toString","homepage","fullName","ComponentUrl","toUrl","writeFileMap","fileMap","tmpdir","Math","random","slice","outputFileSync","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","tsserverPath","contextPath","createSchemaExtractor","getDevServer","webpackModulePath","webpackDevServerModulePath","baseConfig","basePreviewConfigFactory","envDevConfig","envPreviewDevConfigFactory","componentDevConfig","componentPreviewDevConfigFactory","merged","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","basePreviewProdConfigFactory","componentProdConfig","componentPreviewProdConfigFactory","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","templateConfig","templateWebpackConfigFactory","createBundler","getAdditionalHostDependencies","getDocsTemplate","getMounter","getPreviewConfig","strategyName","COMPONENT_PREVIEW_STRATEGY_NAME","splitComponentBundle","isScaling","getPackageJsonProps","getCjsPackageJsonProps","createCjsPackageJsonProps","getEsmPackageJsonProps","createEsmPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","getDependencies","dependencies","react","devDependencies","peerDependencies","getBuildPipe","modifiers","_modifiers$tsModifier","_modifiers$tsModifier2","tsModifier","createCjsCompilerTask","module","task","getBuildPipeWithoutCompiler","createBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","aspectId","getEsmCompilerTask","createEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","workspaceConfig","TypescriptConfigWriter","create","EslintConfigWriter","configPath","PrettierConfigWriter","__getDescriptor","type"],"sources":["react.env.ts"],"sourcesContent":["import ts, { TsConfigSourceFile } from 'typescript';\nimport { tmpdir } from 'os';\nimport { Component } from '@teambit/component';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { BuildTask, CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { merge, cloneDeep } from 'lodash';\nimport { Bundler, BundlerContext, DevServer, DevServerContext } from '@teambit/bundler';\nimport { COMPONENT_PREVIEW_STRATEGY_NAME, PreviewStrategyName } from '@teambit/preview';\nimport { PrettierConfigWriter } from '@teambit/defender.prettier-formatter';\nimport { TypescriptConfigWriter } from '@teambit/typescript.typescript-compiler';\nimport { EslintConfigWriter } from '@teambit/defender.eslint-linter';\nimport { CompilerMain } from '@teambit/compiler';\nimport {\n BuilderEnv,\n CompilerEnv,\n DependenciesEnv,\n DevEnv,\n LinterEnv,\n PackageEnv,\n TesterEnv,\n FormatterEnv,\n PipeServiceModifier,\n PipeServiceModifiersMap,\n} from '@teambit/envs';\nimport { JestMain } from '@teambit/jest';\nimport { PackageJsonProps, PkgMain } from '@teambit/pkg';\nimport { Tester, TesterMain } from '@teambit/tester';\nimport { TsConfigTransformer, TypescriptMain } from '@teambit/typescript';\nimport type { TypeScriptCompilerOptions } from '@teambit/typescript';\nimport { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';\nimport { Workspace } from '@teambit/workspace';\nimport { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierConfigTransformer, PrettierMain } from '@teambit/prettier';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Linter, LinterContext } from '@teambit/linter';\nimport { Formatter, FormatterContext } from '@teambit/formatter';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport type { ComponentMeta } from '@teambit/react.ui.highlighter.component-metadata.bit-component-meta';\nimport { SchemaExtractor } from '@teambit/schema';\nimport { join, resolve } from 'path';\nimport { outputFileSync } from 'fs-extra';\nimport { Logger } from '@teambit/logger';\nimport { ConfigWriterEntry } from '@teambit/workspace-config-files';\n\n// ensure reactEnv depends on compositions-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { CompositionsApp } from '@teambit/react.ui.compositions-app';\n// ensure reactEnv depends on docs-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport DocsApps from '@teambit/react.ui.docs-app';\nimport type { ReactMainConfig } from './react.main.runtime';\nimport { ReactAspect } from './react.aspect';\n// webpack configs for both components and envs\nimport basePreviewConfigFactory from './webpack/webpack.config.base';\nimport basePreviewProdConfigFactory from './webpack/webpack.config.base.prod';\n\n// webpack configs for envs only\n// import devPreviewConfigFactory from './webpack/webpack.config.preview.dev';\nimport envPreviewDevConfigFactory from './webpack/webpack.config.env.dev';\nimport { templateWebpackConfigFactory } from './webpack/webpack.config.env.template';\n\n// webpack configs for components only\nimport componentPreviewProdConfigFactory from './webpack/webpack.config.component.prod';\nimport componentPreviewDevConfigFactory from './webpack/webpack.config.component.dev';\n\nexport const ReactEnvType = 'react';\nconst defaultTsConfig = require('./typescript/tsconfig.json');\nconst buildTsConfig = require('./typescript/tsconfig.build.json');\nconst eslintConfig = require('./eslint/eslintrc');\nconst prettierConfig = require('./prettier/prettier.config.js');\n\n// TODO: move to be taken from the key mode of compiler context\ntype CompilerMode = 'build' | 'dev';\n\ntype GetBuildPipeModifiers = PipeServiceModifiersMap & {\n tsModifier?: PipeServiceModifier;\n};\n\n/**\n * a component environment built for [React](https://reactjs.org) .\n */\nexport class ReactEnv\n implements TesterEnv, CompilerEnv, LinterEnv, DevEnv, BuilderEnv, DependenciesEnv, PackageEnv, FormatterEnv\n{\n constructor(\n /**\n * jest extension\n */\n private jestAspect: JestMain,\n\n /**\n * typescript extension.\n */\n protected tsAspect: TypescriptMain,\n\n /**\n * compiler extension.\n */\n private compiler: CompilerMain,\n\n /**\n * webpack extension.\n */\n private webpack: WebpackMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * pkg extension.\n */\n private pkg: PkgMain,\n\n /**\n * tester extension\n */\n private tester: TesterMain,\n\n private config: ReactMainConfig,\n\n private eslint: ESLintMain,\n\n private prettier: PrettierMain,\n\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger,\n\n private compilerAspectId: string\n ) {}\n\n getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, defaultTsConfig, targetTsConfig) : defaultTsConfig;\n }\n\n getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, buildTsConfig, targetTsConfig) : buildTsConfig;\n }\n\n /**\n * @deprecated use createCjsJestTester()\n */\n getCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n /**\n * Get a jest tester instance with react config and cjs configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n createCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.cjs.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * @deprecated use createEsmJestTester()\n */\n getEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createEsmJestTester(jestConfigPath, jestModulePath);\n }\n\n /**\n * Get a jest tester instance with react config and esm configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n createEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.esm.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * returns a component tester.\n */\n getTester(jestConfigPath: string, jestModulePath?: string): Tester {\n // return this.createEsmJestTester(jestConfigPath, jestModulePath);\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n private createTsCompilerOptions(mode: CompilerMode = 'dev'): TypeScriptCompilerOptions {\n const tsconfig = mode === 'dev' ? cloneDeep(defaultTsConfig) : cloneDeep(buildTsConfig);\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist/', '/src/');\n const compileJs = true;\n const compileJsx = true;\n return {\n tsconfig,\n // TODO: @david please remove this line and refactor to be something that makes sense.\n types: [resolve(pathToSource, './typescript/style.d.ts'), resolve(pathToSource, './typescript/asset.d.ts')],\n compileJs,\n compileJsx,\n };\n }\n\n /**\n * @deprecated use createTsCjsCompiler()\n */\n getTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createTsCjsCompiler(mode, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to cjs module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n createTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createCjsCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n /**\n * @deprecated use createTsEsmCompiler()\n */\n getTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n this.createTsEsmCompiler(mode, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to esm module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n createTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createEsmCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n getCompiler(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n // return this.getTsEsmCompiler('dev', transformers, tsModule);\n return this.createTsCjsCompiler('dev', transformers, tsModule);\n }\n\n /**\n * returns and configures the component linter.\n */\n getLinter(context: LinterContext, transformers: EslintConfigTransformer[] = []): Linter {\n const tsConfig = this.createTsCompilerOptions('dev').tsconfig;\n\n const defaultTransformer: EslintConfigTransformer = (configMutator) => {\n configMutator.addExtensionTypes(['.md', '.mdx']);\n configMutator.setTsConfig(tsConfig);\n return configMutator;\n };\n\n const allTransformers = [defaultTransformer, ...transformers];\n\n return this.eslint.createLinter(\n context,\n {\n config: eslintConfig,\n // resolve all plugins from the react environment.\n pluginPath: __dirname,\n },\n allTransformers\n );\n }\n\n /**\n * returns and configures the component formatter.\n */\n getFormatter(context: FormatterContext, transformers: PrettierConfigTransformer[] = []): Formatter {\n return this.prettier.createFormatter(\n { check: context?.check },\n {\n config: prettierConfig,\n },\n transformers\n );\n }\n\n private getFileMap(components: Component[], local = false) {\n return components.reduce<{ [key: string]: ComponentMeta }>((index, component: Component) => {\n component.state.filesystem.files.forEach((file) => {\n index[file.path] = {\n id: component.id.toString(),\n homepage: local ? `/${component.id.fullName}` : ComponentUrl.toUrl(component.id),\n };\n });\n\n return index;\n }, {});\n }\n\n private writeFileMap(components: Component[], local?: boolean) {\n const fileMap = this.getFileMap(components, local);\n const path = join(tmpdir(), `${Math.random().toString(36).slice(2, 11)}.json`);\n outputFileSync(path, JSON.stringify(fileMap));\n return path;\n }\n\n /**\n * required for `bit start`\n */\n getDevEnvId(id?: string) {\n if (typeof id !== 'string') return ReactAspect.id;\n return id || ReactAspect.id;\n }\n\n /**\n * get a schema generator instance configured with the correct tsconfig.\n */\n getSchemaExtractor(tsconfig: TsConfigSourceFile, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig), tsserverPath, contextPath);\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(\n context: DevServerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string,\n webpackDevServerModulePath?: string\n ): DevServer {\n const baseConfig = basePreviewConfigFactory(false);\n const envDevConfig = envPreviewDevConfigFactory(context.id);\n const componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);\n return merged;\n };\n\n return this.webpack.createDevServer(\n context,\n [defaultTransformer, ...transformers],\n webpackModulePath,\n webpackDevServerModulePath\n );\n }\n\n async getBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers, webpackModulePath);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const componentProdConfig = componentPreviewProdConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, componentProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const templateConfig = templateWebpackConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, templateConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers, undefined, webpackModulePath);\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react', 'react-dom'];\n }\n\n /**\n * returns a path to a docs template.\n */\n getDocsTemplate() {\n return require.resolve('@teambit/react.ui.docs-app');\n }\n\n icon = 'https://static.bit.dev/extensions-icons/react.svg';\n\n /**\n * returns the path to the compositions template\n */\n getMounter() {\n return require.resolve('@teambit/react.ui.compositions-app');\n }\n\n getPreviewConfig() {\n return {\n strategyName: COMPONENT_PREVIEW_STRATEGY_NAME as PreviewStrategyName,\n splitComponentBundle: true,\n isScaling: true,\n };\n }\n\n /**\n * define the package json properties to add to each component.\n */\n getPackageJsonProps(): PackageJsonProps {\n // React compile by default to esm, so uses type module\n // return this.getEsmPackageJsonProps();\n return this.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createCjsPackageJsonProps()\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return this.createCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for a cjs component\n * @returns\n */\n createCjsPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createEsmPackageJsonProps()\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return this.createEsmPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for an esm component\n * @returns\n */\n createEsmPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getEsmPackageJsonProps();\n }\n\n getNpmIgnore() {\n // ignores only .ts files in the root directory, so d.ts files inside dists are unaffected.\n // without this change, the package has \"index.ts\" file in the root, causing typescript to parse it instead of the\n // d.ts files. (changing the \"types\" prop in the package.json file doesn't help).\n return [`${CAPSULE_ARTIFACTS_DIR}/`];\n }\n\n /**\n * adds dependencies to all configured components.\n */\n getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n // 'core-js': '^3.0.0',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^17.0.8',\n '@types/react-dom': '^17.0.5',\n '@types/jest': '^26.0.0',\n // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed\n // '@babel/runtime': '7.20.0',\n '@types/testing-library__jest-dom': '5.9.5',\n },\n peerDependencies: {\n react: '^16.8.0 || ^17.0.0',\n 'react-dom': '^16.8.0 || ^17.0.0',\n },\n };\n }\n\n /**\n * returns the component build pipeline.\n */\n getBuildPipe(modifiers: GetBuildPipeModifiers = {}): BuildTask[] {\n const transformers: Function[] = modifiers?.tsModifier?.transformers || [];\n return [this.createCjsCompilerTask(transformers, modifiers?.tsModifier?.module || ts), this.tester.task];\n }\n\n /**\n * @deprecated use createBuildPipeWithoutCompiler()\n */\n getBuildPipeWithoutCompiler(): BuildTask[] {\n return this.createBuildPipeWithoutCompiler();\n }\n\n /**\n * Get the react build pipeline without the compilation task.\n * This help in cases you want to only replace the compilation task with something else\n * @returns\n */\n createBuildPipeWithoutCompiler(): BuildTask[] {\n const pipeWithoutCompiler = this.getBuildPipe().filter((task) => task.aspectId !== this.compilerAspectId);\n return pipeWithoutCompiler;\n }\n\n /**\n * @deprecated use createEsmCompilerTask()\n */\n getEsmCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createEsmCompilerTask(transformers as Function[], tsModule);\n }\n\n /**\n * Get a compiler task with react config and set to esm module\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsEsmCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n /**\n * @deprecated use createCjsCompilerTask()\n * */\n getCjsCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCjsCompilerTask(transformers as Function[], tsModule);\n }\n\n /**\n * Get a compiler task with react config and set to cjs module\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsCjsCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n workspaceConfig(): ConfigWriterEntry[] {\n return [\n TypescriptConfigWriter.create(\n {\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n // types: resolveTypes(__dirname, [\"./types\"]),\n },\n this.logger\n ),\n EslintConfigWriter.create(\n {\n configPath: require.resolve('./eslint/eslintrc.js'),\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n },\n this.logger\n ),\n PrettierConfigWriter.create(\n {\n configPath: require.resolve('./prettier/prettier.config.js'),\n },\n this.logger\n ),\n ];\n }\n\n async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,IAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,GAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,kBAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,iBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,SAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,QAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,UAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,SAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,aAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,YAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,WAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,UAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AA0BA,SAAAW,OAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,MAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAY,MAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,KAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,SAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,QAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAWA,SAAAc,OAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,MAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAe,eAAA;EAAA,MAAAf,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAa,cAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,mBAAA;EAAA,MAAAhB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAc,kBAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAiB,kBAAA;EAAA,MAAAjB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAe,iBAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,mBAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,kBAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAmB,wBAAA;EAAA,MAAAnB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAiB,uBAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,yBAAA;EAAA,MAAApB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAkB,wBAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsF,SAAAC,uBAAAoB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA,KAnBtF;AACA;AAEA;AACA;AAIA;AAIA;AACA;AAIA;AAIO,MAAMU,YAAY,GAAG,OAAO;AAACC,OAAA,CAAAD,YAAA,GAAAA,YAAA;AACpC,MAAME,eAAe,GAAG9C,OAAO,CAAC,4BAA4B,CAAC;AAC7D,MAAM+C,aAAa,GAAG/C,OAAO,CAAC,kCAAkC,CAAC;AACjE,MAAMgD,YAAY,GAAGhD,OAAO,CAAC,mBAAmB,CAAC;AACjD,MAAMiD,cAAc,GAAGjD,OAAO,CAAC,+BAA+B,CAAC;;AAE/D;;AAOA;AACA;AACA;AACO,MAAMkD,QAAQ,CAErB;EACEC,WAAWA;EACT;AACJ;AACA;EACYC,UAAoB;EAE5B;AACJ;AACA;EACcC,QAAwB;EAElC;AACJ;AACA;EACYC,QAAsB;EAE9B;AACJ;AACA;EACYC,OAAoB;EAE5B;AACJ;AACA;EACYC,SAAoB;EAE5B;AACJ;AACA;EACYC,GAAY;EAEpB;AACJ;AACA;EACYC,MAAkB,EAElBC,MAAuB,EAEvBC,MAAkB,EAElBC,QAAsB,EAEtBC,kBAA0C,EAE1CC,MAAc,EAEdC,gBAAwB,EAChC;IAAA,KA3CQZ,UAAoB,GAApBA,UAAoB;IAAA,KAKlBC,QAAwB,GAAxBA,QAAwB;IAAA,KAK1BC,QAAsB,GAAtBA,QAAsB;IAAA,KAKtBC,OAAoB,GAApBA,OAAoB;IAAA,KAKpBC,SAAoB,GAApBA,SAAoB;IAAA,KAKpBC,GAAY,GAAZA,GAAY;IAAA,KAKZC,MAAkB,GAAlBA,MAAkB;IAAA,KAElBC,MAAuB,GAAvBA,MAAuB;IAAA,KAEvBC,MAAkB,GAAlBA,MAAkB;IAAA,KAElBC,QAAsB,GAAtBA,QAAsB;IAAA,KAEtBC,kBAA0C,GAA1CA,kBAA0C;IAAA,KAE1CC,MAAc,GAAdA,MAAc;IAAA,KAEdC,gBAAwB,GAAxBA,gBAAwB;IAAA1C,eAAA,eAqR3B,mDAAmD;EApRvD;EAEH2C,WAAWA,CAACC,cAAmC,EAAsB;IACnE,OAAOA,cAAc,GAAG,IAAAC,eAAK,EAAC,CAAC,CAAC,EAAErB,eAAe,EAAEoB,cAAc,CAAC,GAAGpB,eAAe;EACtF;EAEAsB,gBAAgBA,CAACF,cAAmC,EAAsB;IACxE,OAAOA,cAAc,GAAG,IAAAC,eAAK,EAAC,CAAC,CAAC,EAAEpB,aAAa,EAAEmB,cAAc,CAAC,GAAGnB,aAAa;EAClF;;EAEA;AACF;AACA;EACEsB,gBAAgBA,CAACC,cAAuB,EAAEC,cAAuB,EAAU;IACzE,OAAO,IAAI,CAACC,mBAAmB,CAACF,cAAc,EAAEC,cAAc,CAAC;EACjE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEC,mBAAmBA,CAACF,cAAuB,EAAEC,cAAuB,EAAU;IAC5E,MAAME,YAAY,GAAG,IAAAC,6BAAoB,EAACC,SAAS,CAAC,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IACzE,MAAMC,aAAa,GAAG,IAAAC,YAAI,EAACL,YAAY,EAAE,2BAA2B,CAAC;IACrE,MAAMd,MAAM,GAAGW,cAAc,IAAIO,aAAa;IAC9C,OAAO,IAAI,CAACzB,UAAU,CAAC2B,YAAY,CAACpB,MAAM,EAAEY,cAAc,IAAIvE,OAAO,CAACgF,OAAO,CAAC,MAAM,CAAC,CAAC;EACxF;;EAEA;AACF;AACA;EACEC,gBAAgBA,CAACX,cAAuB,EAAEC,cAAuB,EAAU;IACzE,OAAO,IAAI,CAACW,mBAAmB,CAACZ,cAAc,EAAEC,cAAc,CAAC;EACjE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEW,mBAAmBA,CAACZ,cAAuB,EAAEC,cAAuB,EAAU;IAC5E,MAAME,YAAY,GAAG,IAAAC,6BAAoB,EAACC,SAAS,CAAC,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IACzE,MAAMC,aAAa,GAAG,IAAAC,YAAI,EAACL,YAAY,EAAE,2BAA2B,CAAC;IACrE,MAAMd,MAAM,GAAGW,cAAc,IAAIO,aAAa;IAC9C,OAAO,IAAI,CAACzB,UAAU,CAAC2B,YAAY,CAACpB,MAAM,EAAEY,cAAc,IAAIvE,OAAO,CAACgF,OAAO,CAAC,MAAM,CAAC,CAAC;EACxF;;EAEA;AACF;AACA;EACEG,SAASA,CAACb,cAAsB,EAAEC,cAAuB,EAAU;IACjE;IACA,OAAO,IAAI,CAACC,mBAAmB,CAACF,cAAc,EAAEC,cAAc,CAAC;EACjE;EAEQa,uBAAuBA,CAACC,IAAkB,GAAG,KAAK,EAA6B;IACrF,MAAMC,QAAQ,GAAGD,IAAI,KAAK,KAAK,GAAG,IAAAE,mBAAS,EAACzC,eAAe,CAAC,GAAG,IAAAyC,mBAAS,EAACxC,aAAa,CAAC;IACvF,MAAM0B,YAAY,GAAG,IAAAC,6BAAoB,EAACC,SAAS,CAAC,CAACC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC/E,MAAMY,SAAS,GAAG,IAAI;IACtB,MAAMC,UAAU,GAAG,IAAI;IACvB,OAAO;MACLH,QAAQ;MACR;MACAI,KAAK,EAAE,CAAC,IAAAV,eAAO,EAACP,YAAY,EAAE,yBAAyB,CAAC,EAAE,IAAAO,eAAO,EAACP,YAAY,EAAE,yBAAyB,CAAC,CAAC;MAC3Ge,SAAS;MACTC;IACF,CAAC;EACH;;EAEA;AACF;AACA;EACEE,gBAAgBA,CAACN,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACpG,OAAO,IAAI,CAACC,mBAAmB,CAACV,IAAI,EAAEO,YAAY,EAAEC,QAAQ,CAAC;EAC/D;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEE,mBAAmBA,CAACV,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACvG,MAAME,gBAAgB,GAAG,IAAI,CAACZ,uBAAuB,CAACC,IAAI,CAAC;IAC3D,OAAO,IAAI,CAAChC,QAAQ,CAAC4C,iBAAiB,CAACD,gBAAgB,EAAEJ,YAAY,EAAEC,QAAQ,CAAC;EAClF;;EAEA;AACF;AACA;EACEK,gBAAgBA,CAACb,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACpG,IAAI,CAACK,mBAAmB,CAACd,IAAI,EAAEO,YAAY,EAAEC,QAAQ,CAAC;EACxD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEM,mBAAmBA,CAACd,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACvG,MAAME,gBAAgB,GAAG,IAAI,CAACZ,uBAAuB,CAACC,IAAI,CAAC;IAC3D,OAAO,IAAI,CAAChC,QAAQ,CAAC+C,iBAAiB,CAACJ,gBAAgB,EAAEJ,YAAY,EAAEC,QAAQ,CAAC;EAClF;EAEAQ,WAAWA,CAACT,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACnE;IACA,OAAO,IAAI,CAACC,mBAAmB,CAAC,KAAK,EAAEH,YAAY,EAAEC,QAAQ,CAAC;EAChE;;EAEA;AACF;AACA;EACES,SAASA,CAACC,OAAsB,EAAEX,YAAuC,GAAG,EAAE,EAAU;IACtF,MAAMY,QAAQ,GAAG,IAAI,CAACpB,uBAAuB,CAAC,KAAK,CAAC,CAACE,QAAQ;IAE7D,MAAMmB,kBAA2C,GAAIC,aAAa,IAAK;MACrEA,aAAa,CAACC,iBAAiB,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;MAChDD,aAAa,CAACE,WAAW,CAACJ,QAAQ,CAAC;MACnC,OAAOE,aAAa;IACtB,CAAC;IAED,MAAMG,eAAe,GAAG,CAACJ,kBAAkB,EAAE,GAAGb,YAAY,CAAC;IAE7D,OAAO,IAAI,CAAChC,MAAM,CAACkD,YAAY,CAC7BP,OAAO,EACP;MACE5C,MAAM,EAAEX,YAAY;MACpB;MACA+D,UAAU,EAAEpC;IACd,CAAC,EACDkC,eACF,CAAC;EACH;;EAEA;AACF;AACA;EACEG,YAAYA,CAACT,OAAyB,EAAEX,YAAyC,GAAG,EAAE,EAAa;IACjG,OAAO,IAAI,CAAC/B,QAAQ,CAACoD,eAAe,CAClC;MAAEC,KAAK,EAAEX,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEW;IAAM,CAAC,EACzB;MACEvD,MAAM,EAAEV;IACV,CAAC,EACD2C,YACF,CAAC;EACH;EAEQuB,UAAUA,CAACC,UAAuB,EAAEC,KAAK,GAAG,KAAK,EAAE;IACzD,OAAOD,UAAU,CAACE,MAAM,CAAmC,CAACC,KAAK,EAAEC,SAAoB,KAAK;MAC1FA,SAAS,CAACC,KAAK,CAACC,UAAU,CAACC,KAAK,CAACC,OAAO,CAAEC,IAAI,IAAK;QACjDN,KAAK,CAACM,IAAI,CAACC,IAAI,CAAC,GAAG;UACjBC,EAAE,EAAEP,SAAS,CAACO,EAAE,CAACC,QAAQ,CAAC,CAAC;UAC3BC,QAAQ,EAAEZ,KAAK,GAAI,IAAGG,SAAS,CAACO,EAAE,CAACG,QAAS,EAAC,GAAGC,gCAAY,CAACC,KAAK,CAACZ,SAAS,CAACO,EAAE;QACjF,CAAC;MACH,CAAC,CAAC;MAEF,OAAOR,KAAK;IACd,CAAC,EAAE,CAAC,CAAC,CAAC;EACR;EAEQc,YAAYA,CAACjB,UAAuB,EAAEC,KAAe,EAAE;IAC7D,MAAMiB,OAAO,GAAG,IAAI,CAACnB,UAAU,CAACC,UAAU,EAAEC,KAAK,CAAC;IAClD,MAAMS,IAAI,GAAG,IAAAhD,YAAI,EAAC,IAAAyD,YAAM,EAAC,CAAC,EAAG,GAAEC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACT,QAAQ,CAAC,EAAE,CAAC,CAACU,KAAK,CAAC,CAAC,EAAE,EAAE,CAAE,OAAM,CAAC;IAC9E,IAAAC,yBAAc,EAACb,IAAI,EAAEc,IAAI,CAACC,SAAS,CAACP,OAAO,CAAC,CAAC;IAC7C,OAAOR,IAAI;EACb;;EAEA;AACF;AACA;EACEgB,WAAWA,CAACf,EAAW,EAAE;IACvB,IAAI,OAAOA,EAAE,KAAK,QAAQ,EAAE,OAAOgB,oBAAW,CAAChB,EAAE;IACjD,OAAOA,EAAE,IAAIgB,oBAAW,CAAChB,EAAE;EAC7B;;EAEA;AACF;AACA;EACEiB,kBAAkBA,CAAC1D,QAA4B,EAAE2D,YAAqB,EAAEC,WAAoB,EAAmB;IAC7G,OAAO,IAAI,CAAC7F,QAAQ,CAAC8F,qBAAqB,CAAC,IAAI,CAAClF,WAAW,CAACqB,QAAQ,CAAC,EAAE2D,YAAY,EAAEC,WAAW,CAAC;EACnG;;EAEA;AACF;AACA;AACA;EACEE,YAAYA,CACV7C,OAAyB,EACzBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EAC1BC,0BAAmC,EACxB;IACX,MAAMC,UAAU,GAAG,IAAAC,wBAAwB,EAAC,KAAK,CAAC;IAClD,MAAMC,YAAY,GAAG,IAAAC,2BAA0B,EAACnD,OAAO,CAACwB,EAAE,CAAC;IAC3D,MAAM4B,kBAAkB,GAAG,IAAAC,kCAAgC,EAAC,IAAI,CAACpG,SAAS,CAACsE,IAAI,EAAEvB,OAAO,CAACwB,EAAE,CAAC;IAE5F,MAAMtB,kBAA4C,GAAIC,aAAa,IAAK;MACtE,MAAMmD,MAAM,GAAGnD,aAAa,CAACvC,KAAK,CAAC,CAACoF,UAAU,EAAEE,YAAY,EAAEE,kBAAkB,CAAC,CAAC;MAClF,OAAOE,MAAM;IACf,CAAC;IAED,OAAO,IAAI,CAACtG,OAAO,CAACuG,eAAe,CACjCvD,OAAO,EACP,CAACE,kBAAkB,EAAE,GAAGb,YAAY,CAAC,EACrCyD,iBAAiB,EACjBC,0BACF,CAAC;EACH;EAEA,MAAMS,UAAUA,CACdxD,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,OAAO,IAAI,CAACW,8BAA8B,CAACzD,OAAO,EAAEX,YAAY,EAAEyD,iBAAiB,CAAC;EACtF;EAEA,MAAMW,8BAA8BA,CAClCzD,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,MAAME,UAAU,GAAG,IAAAC,wBAAwB,EAAC,CAACjD,OAAO,CAAC0D,WAAW,CAAC;IACjE,MAAMC,cAAc,GAAG,IAAAC,4BAA4B,EAAC5D,OAAO,CAAC0D,WAAW,CAAC;IACxE,MAAMG,mBAAmB,GAAG,IAAAC,iCAAiC,EAAC,CAAC;IAE/D,MAAM5D,kBAA4C,GAAIC,aAAa,IAAK;MACtE,MAAMmD,MAAM,GAAGnD,aAAa,CAACvC,KAAK,CAAC,CAACoF,UAAU,EAAEW,cAAc,EAAEE,mBAAmB,CAAC,CAAC;MACrF,OAAOP,MAAM;IACf,CAAC;IACD,MAAMS,kBAAkB,GAAG,CAAC7D,kBAAkB,EAAE,GAAGb,YAAY,CAAC;IAChE,OAAO,IAAI,CAAC2E,oBAAoB,CAAChE,OAAO,EAAE+D,kBAAkB,EAAEjB,iBAAiB,CAAC;EAClF;EAEA,MAAMmB,4BAA4BA,CAChCjE,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,MAAME,UAAU,GAAG,IAAAC,wBAAwB,EAAC,CAACjD,OAAO,CAAC0D,WAAW,CAAC;IACjE,MAAMC,cAAc,GAAG,IAAAC,4BAA4B,EAAC5D,OAAO,CAAC0D,WAAW,CAAC;IACxE,MAAMQ,cAAc,GAAG,IAAAC,iDAA4B,EAAC,CAAC;IAErD,MAAMjE,kBAA4C,GAAIC,aAAa,IAAK;MACtE,MAAMmD,MAAM,GAAGnD,aAAa,CAACvC,KAAK,CAAC,CAACoF,UAAU,EAAEW,cAAc,EAAEO,cAAc,CAAC,CAAC;MAChF,OAAOZ,MAAM;IACf,CAAC;IACD,MAAMS,kBAAkB,GAAG,CAAC7D,kBAAkB,EAAE,GAAGb,YAAY,CAAC;IAChE,OAAO,IAAI,CAAC2E,oBAAoB,CAAChE,OAAO,EAAE+D,kBAAkB,EAAEjB,iBAAiB,CAAC;EAClF;EAEA,MAAckB,oBAAoBA,CAChChE,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,OAAO,IAAI,CAAC9F,OAAO,CAACoH,aAAa,CAACpE,OAAO,EAAEX,YAAY,EAAErD,SAAS,EAAE8G,iBAAiB,CAAC;EACxF;EAEAuB,6BAA6BA,CAAA,EAAa;IACxC,OAAO,CAAC,mCAAmC,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,CAAC;EACrF;;EAEA;AACF;AACA;EACEC,eAAeA,CAAA,EAAG;IAChB,OAAO7K,OAAO,CAACgF,OAAO,CAAC,4BAA4B,CAAC;EACtD;EAIA;AACF;AACA;EACE8F,UAAUA,CAAA,EAAG;IACX,OAAO9K,OAAO,CAACgF,OAAO,CAAC,oCAAoC,CAAC;EAC9D;EAEA+F,gBAAgBA,CAAA,EAAG;IACjB,OAAO;MACLC,YAAY,EAAEC,0CAAsD;MACpEC,oBAAoB,EAAE,IAAI;MAC1BC,SAAS,EAAE;IACb,CAAC;EACH;;EAEA;AACF;AACA;EACEC,mBAAmBA,CAAA,EAAqB;IACtC;IACA;IACA,OAAO,IAAI,CAACC,sBAAsB,CAAC,CAAC;EACtC;;EAEA;AACF;AACA;EACEA,sBAAsBA,CAAA,EAAqB;IACzC,OAAO,IAAI,CAACC,yBAAyB,CAAC,CAAC;EACzC;;EAEA;AACF;AACA;AACA;EACEA,yBAAyBA,CAAA,EAAqB;IAC5C,OAAO,IAAI,CAACjI,QAAQ,CAACgI,sBAAsB,CAAC,CAAC;EAC/C;;EAEA;AACF;AACA;EACEE,sBAAsBA,CAAA,EAAqB;IACzC,OAAO,IAAI,CAACC,yBAAyB,CAAC,CAAC;EACzC;;EAEA;AACF;AACA;AACA;EACEA,yBAAyBA,CAAA,EAAqB;IAC5C,OAAO,IAAI,CAACnI,QAAQ,CAACkI,sBAAsB,CAAC,CAAC;EAC/C;EAEAE,YAAYA,CAAA,EAAG;IACb;IACA;IACA;IACA,OAAO,CAAE,GAAEC,gCAAsB,GAAE,CAAC;EACtC;;EAEA;AACF;AACA;EACEC,eAAeA,CAAA,EAAG;IAChB,OAAO;MACLC,YAAY,EAAE;QACZC,KAAK,EAAE,GAAG;QACV,WAAW,EAAE;QACb;MACF,CAAC;;MACD;MACAC,eAAe,EAAE;QACfD,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,GAAG;QAChB,cAAc,EAAE,GAAG;QACnB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,SAAS;QACzB,kBAAkB,EAAE,SAAS;QAC7B,aAAa,EAAE,SAAS;QACxB;QACA;QACA,kCAAkC,EAAE;MACtC,CAAC;MACDE,gBAAgB,EAAE;QAChBF,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE;MACf;IACF,CAAC;EACH;;EAEA;AACF;AACA;EACEG,YAAYA,CAACC,SAAgC,GAAG,CAAC,CAAC,EAAe;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAC/D,MAAMvG,YAAwB,GAAG,CAAAqG,SAAS,aAATA,SAAS,wBAAAC,qBAAA,GAATD,SAAS,CAAEG,UAAU,cAAAF,qBAAA,uBAArBA,qBAAA,CAAuBtG,YAAY,KAAI,EAAE;IAC1E,OAAO,CAAC,IAAI,CAACyG,qBAAqB,CAACzG,YAAY,EAAE,CAAAqG,SAAS,aAATA,SAAS,wBAAAE,sBAAA,GAATF,SAAS,CAAEG,UAAU,cAAAD,sBAAA,uBAArBA,sBAAA,CAAuBG,MAAM,KAAIxG,qBAAE,CAAC,EAAE,IAAI,CAACpC,MAAM,CAAC6I,IAAI,CAAC;EAC1G;;EAEA;AACF;AACA;EACEC,2BAA2BA,CAAA,EAAgB;IACzC,OAAO,IAAI,CAACC,8BAA8B,CAAC,CAAC;EAC9C;;EAEA;AACF;AACA;AACA;AACA;EACEA,8BAA8BA,CAAA,EAAgB;IAC5C,MAAMC,mBAAmB,GAAG,IAAI,CAACV,YAAY,CAAC,CAAC,CAACW,MAAM,CAAEJ,IAAI,IAAKA,IAAI,CAACK,QAAQ,KAAK,IAAI,CAAC5I,gBAAgB,CAAC;IACzG,OAAO0I,mBAAmB;EAC5B;;EAEA;AACF;AACA;EACEG,kBAAkBA,CAACjH,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAC1E,OAAO,IAAI,CAACgH,qBAAqB,CAAClH,YAAY,EAAgBC,QAAQ,CAAC;EACzE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEiH,qBAAqBA,CAAClH,YAAwB,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAClE,MAAMiH,UAAU,GAAG,IAAI,CAAC5G,mBAAmB,CAAC,OAAO,EAAEP,YAAY,EAA2BC,QAAQ,CAAC;IACrG,OAAO,IAAI,CAACvC,QAAQ,CAAC0J,UAAU,CAAC,YAAY,EAAED,UAAU,CAAC;EAC3D;;EAEA;AACF;AACA;EACEE,kBAAkBA,CAACrH,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAC1E,OAAO,IAAI,CAACuG,qBAAqB,CAACzG,YAAY,EAAgBC,QAAQ,CAAC;EACzE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEwG,qBAAqBA,CAACzG,YAAwB,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAClE,MAAMiH,UAAU,GAAG,IAAI,CAAChH,mBAAmB,CAAC,OAAO,EAAEH,YAAY,EAA2BC,QAAQ,CAAC;IACrG,OAAO,IAAI,CAACvC,QAAQ,CAAC0J,UAAU,CAAC,YAAY,EAAED,UAAU,CAAC;EAC3D;EAEAG,eAAeA,CAAA,EAAwB;IACrC,OAAO,CACLC,qCAAsB,CAACC,MAAM,CAC3B;MACE9H,QAAQ,EAAEtF,OAAO,CAACgF,OAAO,CAAC,gCAAgC;MAC1D;IACF,CAAC,EACD,IAAI,CAACjB,MACP,CAAC,EACDsJ,+BAAkB,CAACD,MAAM,CACvB;MACEE,UAAU,EAAEtN,OAAO,CAACgF,OAAO,CAAC,sBAAsB,CAAC;MACnDM,QAAQ,EAAEtF,OAAO,CAACgF,OAAO,CAAC,gCAAgC;IAC5D,CAAC,EACD,IAAI,CAACjB,MACP,CAAC,EACDwJ,gCAAoB,CAACH,MAAM,CACzB;MACEE,UAAU,EAAEtN,OAAO,CAACgF,OAAO,CAAC,+BAA+B;IAC7D,CAAC,EACD,IAAI,CAACjB,MACP,CAAC,CACF;EACH;EAEA,MAAMyJ,eAAeA,CAAA,EAAG;IACtB,OAAO;MACLC,IAAI,EAAE7K;IACR,CAAC;EACH;AACF;AAACC,OAAA,CAAAK,QAAA,GAAAA,QAAA"}
|
|
@@ -479,8 +479,8 @@ class ReactMain {
|
|
|
479
479
|
generator.registerComponentTemplate(_react4().componentTemplates);
|
|
480
480
|
}
|
|
481
481
|
if (application) application.registerAppType(appType);
|
|
482
|
-
schemaMain.registerSchemaClass(_().ReactSchema);
|
|
483
|
-
tsAspect.registerApiTransformer([new (_().ReactAPITransformer)()]);
|
|
482
|
+
if (schemaMain) schemaMain.registerSchemaClass(_().ReactSchema);
|
|
483
|
+
if (tsAspect) tsAspect.registerApiTransformer([new (_().ReactAPITransformer)()]);
|
|
484
484
|
return react;
|
|
485
485
|
}
|
|
486
486
|
}
|