@teambit/react 0.0.918 → 0.0.920

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/apps/web/react.application.ts +6 -6
  2. package/artifacts/__bit_junit.xml +2 -2
  3. package/artifacts/env-template/public/{611.3f8b1f749fb9fe7fd869.js → 325.f2a8c992d09dfa8809f6.js} +134 -208
  4. package/artifacts/env-template/public/744.8ce026d1d8623f2a45d5.js +114 -0
  5. package/artifacts/env-template/public/assets-manifest.json +18 -18
  6. package/artifacts/env-template/public/compositions.71378e8646cf01ede04b.js +12 -0
  7. package/artifacts/env-template/public/compositions.html +1 -1
  8. package/artifacts/env-template/public/overview.38913c3a4933cdb47b3e.js +5 -0
  9. package/artifacts/env-template/public/overview.html +1 -1
  10. package/artifacts/env-template/public/peers.a283a593cd53e31aff04.js +1 -0
  11. package/artifacts/env-template/public/preview-root.52c6d54651c389284038.js +1 -0
  12. package/artifacts/env-template/public/static/css/325.b616a6f9.css +1 -0
  13. package/artifacts/env-template/public/static/css/compositions.e163efe5.css +1 -0
  14. package/artifacts/env-template/public/static/css/preview-root.120a1d04.css +1 -0
  15. package/artifacts/preview/teambit_react_react-preview.js +1 -1
  16. package/artifacts/schema.json +214 -246
  17. package/{compositions-1669765084342.js → compositions-1669911866429.js} +0 -0
  18. package/dist/apps/web/react.application.d.ts +1 -1
  19. package/dist/apps/web/react.application.js +6 -6
  20. package/dist/apps/web/react.application.js.map +1 -1
  21. package/dist/jest/transformers/base-transformer-plugins.js +3 -1
  22. package/dist/jest/transformers/base-transformer-plugins.js.map +1 -1
  23. package/dist/jest/transformers/cjs-transformer.js +5 -4
  24. package/dist/jest/transformers/cjs-transformer.js.map +1 -1
  25. package/{preview-1669765084342.js → dist/preview-1669911866429.js} +2 -2
  26. package/dist/react.env.d.ts +4 -10
  27. package/dist/react.env.js +5 -11
  28. package/dist/react.env.js.map +1 -1
  29. package/jest/transformers/base-transformer-plugins.js +1 -1
  30. package/jest/transformers/cjs-transformer.js +3 -3
  31. package/{overview-1669765084342.js → overview-1669911866429.js} +0 -0
  32. package/package-tar/teambit-react-0.0.920.tgz +0 -0
  33. package/package.json +38 -39
  34. package/{peers-link.12da65a556b208dcb44e12e06e145839e9b3df37.js → peers-link.45cebb1746ae76219d77ea205ee71642b6e1a9b3.js} +6 -6
  35. package/artifacts/env-template/public/22.8c98d2c3cd9d1bdb2d18.js +0 -47
  36. package/artifacts/env-template/public/compositions.25c72088da5b04b13dd4.js +0 -9
  37. package/artifacts/env-template/public/overview.4c3c55f633971b746447.js +0 -1
  38. package/artifacts/env-template/public/peers.0aaa15fdfb55a4f3f3c0.js +0 -1
  39. package/artifacts/env-template/public/preview-root.ba159fe0cb1c3cb2fbbc.js +0 -5
  40. package/artifacts/env-template/public/static/css/611.5888b93b.css +0 -1
  41. package/artifacts/env-template/public/static/css/compositions.812d93fb.css +0 -1
  42. package/artifacts/env-template/public/static/css/overview.fff79c79.css +0 -1
  43. package/package-tar/teambit-react-0.0.918.tgz +0 -0
@@ -42,5 +42,5 @@ export declare class ReactApp implements Application {
42
42
  getEntries(path?: string): Promise<string[]>;
43
43
  getSsrEntries(): Promise<string[]>;
44
44
  private getDevServerContext;
45
- private getPeers;
45
+ private getHostDependencies;
46
46
  }
@@ -189,7 +189,7 @@ class ReactApp {
189
189
  entries: await this.getEntries(),
190
190
  components: [context.appComponent],
191
191
  outputPath: (0, _path().resolve)(context.workdir, (0, _webpackAppSsr().calcOutputPath)(context.appName, 'browser')),
192
- hostDependencies: await this.getPeers(),
192
+ hostDependencies: this.getHostDependencies(),
193
193
  aliasHostDependencies: true
194
194
  }],
195
195
  // @ts-ignore
@@ -207,7 +207,7 @@ class ReactApp {
207
207
  entries: await this.getSsrEntries(),
208
208
  components: [context.appComponent],
209
209
  outputPath: (0, _path().resolve)(context.workdir, (0, _webpackAppSsr().calcOutputPath)(context.appName, 'ssr')),
210
- hostDependencies: await this.getPeers(),
210
+ hostDependencies: this.getHostDependencies(),
211
211
  aliasHostDependencies: true
212
212
  }],
213
213
  // @ts-ignore
@@ -357,7 +357,7 @@ class ReactApp {
357
357
  entries,
358
358
  outputPath,
359
359
  hostRootDir: capsule === null || capsule === void 0 ? void 0 : capsule.path,
360
- hostDependencies: await this.getPeers(),
360
+ hostDependencies: this.getHostDependencies(),
361
361
  aliasHostDependencies: true
362
362
  }],
363
363
  entry: [],
@@ -389,12 +389,12 @@ class ReactApp {
389
389
  publicPath: `public/${this.name}`,
390
390
  title: this.name,
391
391
  favicon: this.favicon,
392
- hostDependencies: await this.getPeers(),
392
+ hostDependencies: await this.getHostDependencies(),
393
393
  aliasHostDependencies: true
394
394
  });
395
395
  }
396
- getPeers() {
397
- return this.reactEnv.getPeerDependenciesList();
396
+ getHostDependencies() {
397
+ return this.reactEnv.getAdditionalHostDependencies();
398
398
  }
399
399
  }
400
400
  exports.ReactApp = ReactApp;
@@ -1 +1 @@
1
- {"version":3,"names":["ReactApp","constructor","name","entry","ssr","portRange","reactEnv","logger","dependencyResolver","prerender","bundler","ssrBundler","devServer","transformers","deploy","favicon","run","context","from","to","port","Port","getPort","listen","devServerContext","getDevServerContext","getDevServer","addDevServer","setOutput","runSsr","clientBundle","buildClient","errors","length","info","serverBundle","buildSsr","app","loadSsrApp","workdir","appName","expressApp","createExpressSsr","assets","parseAssets","htmlConfig","title","templateContent","html","minify","ctx","Object","assign","create","targets","entries","getEntries","components","appComponent","outputPath","resolve","calcOutputPath","hostDependencies","getPeers","aliasHostDependencies","capsuleNetwork","undefined","previousTasksResults","getBundler","config","merge","clientConfig","bundleResult","getSsrEntries","ssrConfig","build","ssrAppDir","join","getPublicDir","artifactsDir","buildSsrApp","computeResults","publicDir","dir","ssrPublicDir","getSsrBundler","runner","readFileSync","__dirname","toString","capsule","fs","writeFileSync","capsuleSsrDir","getPath","installer","getInstaller","packageManager","rootDir","cacheRootDirectory","install","getSsrPolicy","ComponentMap","Map","workspacePolicy","WorkspacePolicy","add","lifecycleType","dependencyId","value","version","getDefaultBundler","getDefaultSsrBundler","path","bundlerContext","getBuildContext","compact","configMutator","buildConfig","addPlugin","prerenderPlugin","replaceTerserPlugin","env","ssrBuildConfig","ssrDir","distDir","getCompiler","targetEntries","map","require","basename","component","hostRootDir","rootPath","metaData","initiator","envId","id","applicationType","Array","isArray","BitError","publicPath","getPeerDependenciesList"],"sources":["react.application.ts"],"sourcesContent":["import { readFileSync } from 'fs';\nimport { join, resolve, basename } from 'path';\nimport { Application, AppContext, AppBuildContext, AppResult } from '@teambit/application';\nimport type { Bundler, DevServer, BundlerContext, DevServerContext, BundlerHtmlConfig } from '@teambit/bundler';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { ComponentMap } from '@teambit/component';\nimport type { Logger } from '@teambit/logger';\nimport { DependencyResolverMain, WorkspacePolicy } from '@teambit/dependency-resolver';\nimport compact from 'lodash.compact';\nimport { WebpackConfigTransformer } from '@teambit/webpack';\nimport { BitError } from '@teambit/bit-error';\nimport { ReactEnv } from '../../react.env';\nimport { prerenderPlugin } from './plugins';\nimport { ReactAppBuildResult } from './react-build-result';\nimport { ReactAppPrerenderOptions } from './react-app-options';\nimport { html } from '../../webpack';\nimport { ReactDeployContext } from '.';\nimport { computeResults } from './compute-results';\nimport { clientConfig, ssrConfig, calcOutputPath, ssrBuildConfig, buildConfig } from './webpack/webpack.app.ssr.config';\nimport { addDevServer, setOutput, replaceTerserPlugin } from './webpack/mutators';\nimport { createExpressSsr, loadSsrApp, parseAssets } from './ssr/ssr-express';\n\nexport class ReactApp implements Application {\n constructor(\n readonly name: string,\n readonly entry: string[] | ((path?: string) => Promise<string[]>),\n readonly ssr: string | (() => Promise<string>) | undefined,\n readonly portRange: [number, number],\n private reactEnv: ReactEnv,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n readonly prerender?: ReactAppPrerenderOptions,\n readonly bundler?: Bundler,\n readonly ssrBundler?: Bundler,\n readonly devServer?: DevServer,\n readonly transformers: WebpackConfigTransformer[] = [],\n readonly deploy?: (context: ReactDeployContext) => Promise<void>,\n readonly favicon?: string\n ) {}\n readonly applicationType = 'react-common-js';\n readonly dir = 'public';\n readonly ssrDir = 'ssr';\n\n async run(context: AppContext): Promise<number> {\n const [from, to] = this.portRange;\n const port = await Port.getPort(from, to);\n\n if (this.devServer) {\n await this.devServer.listen(port);\n return port;\n }\n\n const devServerContext = await this.getDevServerContext(context);\n const devServer = this.reactEnv.getDevServer(devServerContext, [addDevServer, setOutput, ...this.transformers]);\n await devServer.listen(port);\n return port;\n }\n\n async runSsr(context: AppContext): Promise<AppResult> {\n const [from, to] = this.portRange;\n const port = await Port.getPort(from, to);\n\n // bundle client\n const clientBundle = await this.buildClient(context);\n if (clientBundle.errors.length > 0) return { errors: clientBundle.errors };\n this.logger?.info('[react.application] [ssr] client bundle - complete');\n\n // bundle server\n const serverBundle = await this.buildSsr(context);\n if (serverBundle.errors.length > 0) return { errors: serverBundle.errors };\n this.logger?.info('[react.application] [ssr] server bundle - complete');\n\n // load server-side runtime\n const app = await loadSsrApp(context.workdir, context.appName);\n this.logger?.info('[react.application] [ssr] bundle code - loaded');\n\n const expressApp = createExpressSsr({\n name: context.appName,\n workdir: context.workdir,\n port,\n app,\n assets: parseAssets(clientBundle.assets),\n logger: this.logger,\n });\n\n expressApp.listen(port);\n return { port };\n }\n\n private async buildClient(context: AppContext) {\n const htmlConfig: BundlerHtmlConfig[] = [\n {\n title: context.appName,\n templateContent: html(context.appName),\n minify: false,\n favicon: this.favicon,\n },\n ];\n\n // extend, including prototype methods\n const ctx: BundlerContext = Object.assign(Object.create(context), {\n html: htmlConfig,\n targets: [\n {\n entries: await this.getEntries(),\n components: [context.appComponent],\n outputPath: resolve(context.workdir, calcOutputPath(context.appName, 'browser')),\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n\n // @ts-ignore\n capsuleNetwork: undefined,\n previousTasksResults: [],\n });\n\n const bundler = await this.reactEnv.getBundler(ctx, [\n (config) => config.merge([clientConfig()]),\n ...this.transformers,\n ]);\n\n const bundleResult = await bundler.run();\n return bundleResult[0];\n }\n\n private async buildSsr(context: AppContext) {\n // extend, including prototype methods\n const ctx: BundlerContext = Object.assign(Object.create(context), {\n ...context,\n targets: [\n {\n entries: await this.getSsrEntries(),\n components: [context.appComponent],\n outputPath: resolve(context.workdir, calcOutputPath(context.appName, 'ssr')),\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n\n // @ts-ignore\n capsuleNetwork: undefined,\n previousTasksResults: [],\n });\n\n const bundler = await this.reactEnv.getBundler(ctx, [\n (config) => config.merge([ssrConfig()]),\n ...this.transformers,\n ]);\n\n const bundleResult = await bundler.run();\n return bundleResult[0];\n }\n\n async build(context: AppBuildContext): Promise<ReactAppBuildResult> {\n const htmlConfig: BundlerHtmlConfig[] = [\n {\n title: context.name,\n templateContent: html(context.name),\n minify: false,\n favicon: this.favicon,\n // filename: ''.html`,\n },\n ];\n Object.assign(context, {\n html: htmlConfig,\n });\n const bundler = await this.getBundler(context);\n const bundleResult = await bundler.run();\n const ssrAppDir = join(this.getPublicDir(context.artifactsDir));\n\n if (this.ssr) await this.buildSsrApp(context, ssrAppDir);\n return computeResults(bundleResult, {\n publicDir: `${this.getPublicDir(context.artifactsDir)}/${this.dir}`,\n ssrPublicDir: ssrAppDir,\n });\n }\n\n private async buildSsrApp(context: AppBuildContext, ssrAppDir: string) {\n const ssrBundler = await this.getSsrBundler(context);\n await ssrBundler.run();\n const runner = readFileSync(join(__dirname, './ssr/app/runner')).toString();\n context.capsule.fs.writeFileSync(join(ssrAppDir, 'runner.js'), runner);\n const capsuleSsrDir = context.capsule.fs.getPath(ssrAppDir);\n const installer = this.dependencyResolver.getInstaller({\n packageManager: 'teambit.dependencies/yarn',\n rootDir: capsuleSsrDir,\n cacheRootDirectory: capsuleSsrDir,\n });\n await installer.install(capsuleSsrDir, this.getSsrPolicy(), new ComponentMap(new Map()));\n return ssrAppDir;\n }\n\n private getSsrPolicy() {\n const workspacePolicy = new WorkspacePolicy([]);\n workspacePolicy.add({ lifecycleType: 'runtime', dependencyId: 'express', value: { version: '4.18.1' } });\n workspacePolicy.add({\n lifecycleType: 'runtime',\n dependencyId: '@teambit/react.rendering.ssr',\n value: { version: '0.0.3' },\n });\n workspacePolicy.add({\n lifecycleType: 'runtime',\n dependencyId: '@teambit/ui-foundation.ui.pages.static-error',\n value: { version: '0.0.75' },\n });\n\n workspacePolicy.add({\n lifecycleType: 'peer',\n dependencyId: 'react',\n value: { version: '17.0.2' },\n });\n\n workspacePolicy.add({\n lifecycleType: 'peer',\n dependencyId: 'react-dom',\n value: { version: '17.0.2' },\n });\n return workspacePolicy;\n }\n\n private getBundler(context: AppBuildContext) {\n if (this.bundler) return this.bundler;\n return this.getDefaultBundler(context);\n }\n\n private getSsrBundler(context: AppBuildContext) {\n if (this.ssrBundler) return this.ssrBundler;\n return this.getDefaultSsrBundler(context);\n }\n\n private async getDefaultBundler(context: AppBuildContext) {\n const { capsule } = context;\n const publicDir = this.getPublicDir(context.artifactsDir);\n const outputPath = join(capsule.path, publicDir);\n\n const bundlerContext = await this.getBuildContext(context, { outputPath });\n const transformers: WebpackConfigTransformer[] = compact([\n (configMutator) => configMutator.merge(buildConfig({ outputPath: join(outputPath, this.dir) })),\n (config) => {\n if (this.prerender) config.addPlugin(prerenderPlugin(this.prerender));\n return config;\n },\n replaceTerserPlugin({ prerender: !!this.prerender }),\n ...this.transformers,\n ]);\n\n const reactEnv = context.env as ReactEnv;\n const bundler: Bundler = await reactEnv.getBundler(bundlerContext, transformers);\n return bundler;\n }\n\n private async getDefaultSsrBundler(context: AppBuildContext) {\n const { capsule } = context;\n const publicDir = this.getPublicDir(context.artifactsDir);\n const outputPath = join(capsule.path, publicDir);\n\n const bundlerContext = await this.getBuildContext(context, { outputPath });\n const transformers: WebpackConfigTransformer[] = compact([\n (configMutator) => configMutator.merge(ssrBuildConfig({ outputPath: join(outputPath, this.ssrDir) })),\n replaceTerserPlugin({ prerender: !!this.prerender }),\n ...this.transformers,\n ]);\n\n const reactEnv = context.env as ReactEnv;\n const bundler: Bundler = await reactEnv.getBundler(bundlerContext, transformers);\n return bundler;\n }\n\n private async getBuildContext(context: AppBuildContext, { outputPath }: { outputPath: string }) {\n const { capsule } = context;\n const reactEnv = context.env as ReactEnv;\n const { distDir } = reactEnv.getCompiler();\n const targetEntries = await this.getEntries(`${capsule.path}/${distDir}`);\n const entries = targetEntries.map((entry) => require.resolve(`${capsule.path}/${distDir}/${basename(entry)}`));\n\n const bundlerContext: BundlerContext = Object.assign(context, {\n targets: [\n {\n components: [capsule?.component],\n entries,\n outputPath,\n hostRootDir: capsule?.path,\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n entry: [],\n rootPath: '/',\n metaData: {\n initiator: `building app: ${context.name}`,\n envId: context.id,\n },\n });\n\n return bundlerContext;\n }\n\n private getPublicDir(artifactsDir: string) {\n return join(artifactsDir, this.applicationType, this.name);\n }\n\n async getEntries(path?: string): Promise<string[]> {\n if (Array.isArray(this.entry)) return this.entry;\n return this.entry(path);\n }\n\n async getSsrEntries(): Promise<string[]> {\n if (!this.ssr) throw new BitError('tried to build ssr without ssr entries');\n if (typeof this.ssr === 'string') return [this.ssr];\n return [await this.ssr()];\n }\n\n private async getDevServerContext(context: AppContext): Promise<DevServerContext> {\n const entries = await this.getEntries();\n return Object.assign(context, {\n entry: entries,\n rootPath: '',\n publicPath: `public/${this.name}`,\n title: this.name,\n favicon: this.favicon,\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n });\n }\n\n private getPeers(): Promise<string[]> {\n return this.reactEnv.getPeerDependenciesList();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ReactApp","constructor","name","entry","ssr","portRange","reactEnv","logger","dependencyResolver","prerender","bundler","ssrBundler","devServer","transformers","deploy","favicon","run","context","from","to","port","Port","getPort","listen","devServerContext","getDevServerContext","getDevServer","addDevServer","setOutput","runSsr","clientBundle","buildClient","errors","length","info","serverBundle","buildSsr","app","loadSsrApp","workdir","appName","expressApp","createExpressSsr","assets","parseAssets","htmlConfig","title","templateContent","html","minify","ctx","Object","assign","create","targets","entries","getEntries","components","appComponent","outputPath","resolve","calcOutputPath","hostDependencies","getHostDependencies","aliasHostDependencies","capsuleNetwork","undefined","previousTasksResults","getBundler","config","merge","clientConfig","bundleResult","getSsrEntries","ssrConfig","build","ssrAppDir","join","getPublicDir","artifactsDir","buildSsrApp","computeResults","publicDir","dir","ssrPublicDir","getSsrBundler","runner","readFileSync","__dirname","toString","capsule","fs","writeFileSync","capsuleSsrDir","getPath","installer","getInstaller","packageManager","rootDir","cacheRootDirectory","install","getSsrPolicy","ComponentMap","Map","workspacePolicy","WorkspacePolicy","add","lifecycleType","dependencyId","value","version","getDefaultBundler","getDefaultSsrBundler","path","bundlerContext","getBuildContext","compact","configMutator","buildConfig","addPlugin","prerenderPlugin","replaceTerserPlugin","env","ssrBuildConfig","ssrDir","distDir","getCompiler","targetEntries","map","require","basename","component","hostRootDir","rootPath","metaData","initiator","envId","id","applicationType","Array","isArray","BitError","publicPath","getAdditionalHostDependencies"],"sources":["react.application.ts"],"sourcesContent":["import { readFileSync } from 'fs';\nimport { join, resolve, basename } from 'path';\nimport { Application, AppContext, AppBuildContext, AppResult } from '@teambit/application';\nimport type { Bundler, DevServer, BundlerContext, DevServerContext, BundlerHtmlConfig } from '@teambit/bundler';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { ComponentMap } from '@teambit/component';\nimport type { Logger } from '@teambit/logger';\nimport { DependencyResolverMain, WorkspacePolicy } from '@teambit/dependency-resolver';\nimport compact from 'lodash.compact';\nimport { WebpackConfigTransformer } from '@teambit/webpack';\nimport { BitError } from '@teambit/bit-error';\nimport { ReactEnv } from '../../react.env';\nimport { prerenderPlugin } from './plugins';\nimport { ReactAppBuildResult } from './react-build-result';\nimport { ReactAppPrerenderOptions } from './react-app-options';\nimport { html } from '../../webpack';\nimport { ReactDeployContext } from '.';\nimport { computeResults } from './compute-results';\nimport { clientConfig, ssrConfig, calcOutputPath, ssrBuildConfig, buildConfig } from './webpack/webpack.app.ssr.config';\nimport { addDevServer, setOutput, replaceTerserPlugin } from './webpack/mutators';\nimport { createExpressSsr, loadSsrApp, parseAssets } from './ssr/ssr-express';\n\nexport class ReactApp implements Application {\n constructor(\n readonly name: string,\n readonly entry: string[] | ((path?: string) => Promise<string[]>),\n readonly ssr: string | (() => Promise<string>) | undefined,\n readonly portRange: [number, number],\n private reactEnv: ReactEnv,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n readonly prerender?: ReactAppPrerenderOptions,\n readonly bundler?: Bundler,\n readonly ssrBundler?: Bundler,\n readonly devServer?: DevServer,\n readonly transformers: WebpackConfigTransformer[] = [],\n readonly deploy?: (context: ReactDeployContext) => Promise<void>,\n readonly favicon?: string\n ) {}\n readonly applicationType = 'react-common-js';\n readonly dir = 'public';\n readonly ssrDir = 'ssr';\n\n async run(context: AppContext): Promise<number> {\n const [from, to] = this.portRange;\n const port = await Port.getPort(from, to);\n\n if (this.devServer) {\n await this.devServer.listen(port);\n return port;\n }\n\n const devServerContext = await this.getDevServerContext(context);\n const devServer = this.reactEnv.getDevServer(devServerContext, [addDevServer, setOutput, ...this.transformers]);\n await devServer.listen(port);\n return port;\n }\n\n async runSsr(context: AppContext): Promise<AppResult> {\n const [from, to] = this.portRange;\n const port = await Port.getPort(from, to);\n\n // bundle client\n const clientBundle = await this.buildClient(context);\n if (clientBundle.errors.length > 0) return { errors: clientBundle.errors };\n this.logger?.info('[react.application] [ssr] client bundle - complete');\n\n // bundle server\n const serverBundle = await this.buildSsr(context);\n if (serverBundle.errors.length > 0) return { errors: serverBundle.errors };\n this.logger?.info('[react.application] [ssr] server bundle - complete');\n\n // load server-side runtime\n const app = await loadSsrApp(context.workdir, context.appName);\n this.logger?.info('[react.application] [ssr] bundle code - loaded');\n\n const expressApp = createExpressSsr({\n name: context.appName,\n workdir: context.workdir,\n port,\n app,\n assets: parseAssets(clientBundle.assets),\n logger: this.logger,\n });\n\n expressApp.listen(port);\n return { port };\n }\n\n private async buildClient(context: AppContext) {\n const htmlConfig: BundlerHtmlConfig[] = [\n {\n title: context.appName,\n templateContent: html(context.appName),\n minify: false,\n favicon: this.favicon,\n },\n ];\n\n // extend, including prototype methods\n const ctx: BundlerContext = Object.assign(Object.create(context), {\n html: htmlConfig,\n targets: [\n {\n entries: await this.getEntries(),\n components: [context.appComponent],\n outputPath: resolve(context.workdir, calcOutputPath(context.appName, 'browser')),\n hostDependencies: 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(ctx, [\n (config) => config.merge([clientConfig()]),\n ...this.transformers,\n ]);\n\n const bundleResult = await bundler.run();\n return bundleResult[0];\n }\n\n private async buildSsr(context: AppContext) {\n // extend, including prototype methods\n const ctx: BundlerContext = Object.assign(Object.create(context), {\n ...context,\n targets: [\n {\n entries: await this.getSsrEntries(),\n components: [context.appComponent],\n outputPath: resolve(context.workdir, calcOutputPath(context.appName, 'ssr')),\n hostDependencies: 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(ctx, [\n (config) => config.merge([ssrConfig()]),\n ...this.transformers,\n ]);\n\n const bundleResult = await bundler.run();\n return bundleResult[0];\n }\n\n async build(context: AppBuildContext): Promise<ReactAppBuildResult> {\n const htmlConfig: BundlerHtmlConfig[] = [\n {\n title: context.name,\n templateContent: html(context.name),\n minify: false,\n favicon: this.favicon,\n // filename: ''.html`,\n },\n ];\n Object.assign(context, {\n html: htmlConfig,\n });\n const bundler = await this.getBundler(context);\n const bundleResult = await bundler.run();\n const ssrAppDir = join(this.getPublicDir(context.artifactsDir));\n\n if (this.ssr) await this.buildSsrApp(context, ssrAppDir);\n return computeResults(bundleResult, {\n publicDir: `${this.getPublicDir(context.artifactsDir)}/${this.dir}`,\n ssrPublicDir: ssrAppDir,\n });\n }\n\n private async buildSsrApp(context: AppBuildContext, ssrAppDir: string) {\n const ssrBundler = await this.getSsrBundler(context);\n await ssrBundler.run();\n const runner = readFileSync(join(__dirname, './ssr/app/runner')).toString();\n context.capsule.fs.writeFileSync(join(ssrAppDir, 'runner.js'), runner);\n const capsuleSsrDir = context.capsule.fs.getPath(ssrAppDir);\n const installer = this.dependencyResolver.getInstaller({\n packageManager: 'teambit.dependencies/yarn',\n rootDir: capsuleSsrDir,\n cacheRootDirectory: capsuleSsrDir,\n });\n await installer.install(capsuleSsrDir, this.getSsrPolicy(), new ComponentMap(new Map()));\n return ssrAppDir;\n }\n\n private getSsrPolicy() {\n const workspacePolicy = new WorkspacePolicy([]);\n workspacePolicy.add({ lifecycleType: 'runtime', dependencyId: 'express', value: { version: '4.18.1' } });\n workspacePolicy.add({\n lifecycleType: 'runtime',\n dependencyId: '@teambit/react.rendering.ssr',\n value: { version: '0.0.3' },\n });\n workspacePolicy.add({\n lifecycleType: 'runtime',\n dependencyId: '@teambit/ui-foundation.ui.pages.static-error',\n value: { version: '0.0.75' },\n });\n\n workspacePolicy.add({\n lifecycleType: 'peer',\n dependencyId: 'react',\n value: { version: '17.0.2' },\n });\n\n workspacePolicy.add({\n lifecycleType: 'peer',\n dependencyId: 'react-dom',\n value: { version: '17.0.2' },\n });\n return workspacePolicy;\n }\n\n private getBundler(context: AppBuildContext) {\n if (this.bundler) return this.bundler;\n return this.getDefaultBundler(context);\n }\n\n private getSsrBundler(context: AppBuildContext) {\n if (this.ssrBundler) return this.ssrBundler;\n return this.getDefaultSsrBundler(context);\n }\n\n private async getDefaultBundler(context: AppBuildContext) {\n const { capsule } = context;\n const publicDir = this.getPublicDir(context.artifactsDir);\n const outputPath = join(capsule.path, publicDir);\n\n const bundlerContext = await this.getBuildContext(context, { outputPath });\n const transformers: WebpackConfigTransformer[] = compact([\n (configMutator) => configMutator.merge(buildConfig({ outputPath: join(outputPath, this.dir) })),\n (config) => {\n if (this.prerender) config.addPlugin(prerenderPlugin(this.prerender));\n return config;\n },\n replaceTerserPlugin({ prerender: !!this.prerender }),\n ...this.transformers,\n ]);\n\n const reactEnv = context.env as ReactEnv;\n const bundler: Bundler = await reactEnv.getBundler(bundlerContext, transformers);\n return bundler;\n }\n\n private async getDefaultSsrBundler(context: AppBuildContext) {\n const { capsule } = context;\n const publicDir = this.getPublicDir(context.artifactsDir);\n const outputPath = join(capsule.path, publicDir);\n\n const bundlerContext = await this.getBuildContext(context, { outputPath });\n const transformers: WebpackConfigTransformer[] = compact([\n (configMutator) => configMutator.merge(ssrBuildConfig({ outputPath: join(outputPath, this.ssrDir) })),\n replaceTerserPlugin({ prerender: !!this.prerender }),\n ...this.transformers,\n ]);\n\n const reactEnv = context.env as ReactEnv;\n const bundler: Bundler = await reactEnv.getBundler(bundlerContext, transformers);\n return bundler;\n }\n\n private async getBuildContext(context: AppBuildContext, { outputPath }: { outputPath: string }) {\n const { capsule } = context;\n const reactEnv = context.env as ReactEnv;\n const { distDir } = reactEnv.getCompiler();\n const targetEntries = await this.getEntries(`${capsule.path}/${distDir}`);\n const entries = targetEntries.map((entry) => require.resolve(`${capsule.path}/${distDir}/${basename(entry)}`));\n\n const bundlerContext: BundlerContext = Object.assign(context, {\n targets: [\n {\n components: [capsule?.component],\n entries,\n outputPath,\n hostRootDir: capsule?.path,\n hostDependencies: 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":";;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAA8E;AAAA;AAEvE,MAAMA,QAAQ,CAAwB;EAC3CC,WAAW,CACAC,IAAY,EACZC,KAAwD,EACxDC,GAAiD,EACjDC,SAA2B,EAC5BC,QAAkB,EAClBC,MAAc,EACdC,kBAA0C,EACzCC,SAAoC,EACpCC,OAAiB,EACjBC,UAAoB,EACpBC,SAAqB,EACrBC,YAAwC,GAAG,EAAE,EAC7CC,MAAuD,EACvDC,OAAgB,EACzB;IAAA,KAdSb,IAAY,GAAZA,IAAY;IAAA,KACZC,KAAwD,GAAxDA,KAAwD;IAAA,KACxDC,GAAiD,GAAjDA,GAAiD;IAAA,KACjDC,SAA2B,GAA3BA,SAA2B;IAAA,KAC5BC,QAAkB,GAAlBA,QAAkB;IAAA,KAClBC,MAAc,GAAdA,MAAc;IAAA,KACdC,kBAA0C,GAA1CA,kBAA0C;IAAA,KACzCC,SAAoC,GAApCA,SAAoC;IAAA,KACpCC,OAAiB,GAAjBA,OAAiB;IAAA,KACjBC,UAAoB,GAApBA,UAAoB;IAAA,KACpBC,SAAqB,GAArBA,SAAqB;IAAA,KACrBC,YAAwC,GAAxCA,YAAwC;IAAA,KACxCC,MAAuD,GAAvDA,MAAuD;IAAA,KACvDC,OAAgB,GAAhBA,OAAgB;IAAA,yDAEA,iBAAiB;IAAA,6CAC7B,QAAQ;IAAA,gDACL,KAAK;EAHpB;EAKH,MAAMC,GAAG,CAACC,OAAmB,EAAmB;IAC9C,MAAM,CAACC,IAAI,EAAEC,EAAE,CAAC,GAAG,IAAI,CAACd,SAAS;IACjC,MAAMe,IAAI,GAAG,MAAMC,sBAAI,CAACC,OAAO,CAACJ,IAAI,EAAEC,EAAE,CAAC;IAEzC,IAAI,IAAI,CAACP,SAAS,EAAE;MAClB,MAAM,IAAI,CAACA,SAAS,CAACW,MAAM,CAACH,IAAI,CAAC;MACjC,OAAOA,IAAI;IACb;IAEA,MAAMI,gBAAgB,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAACR,OAAO,CAAC;IAChE,MAAML,SAAS,GAAG,IAAI,CAACN,QAAQ,CAACoB,YAAY,CAACF,gBAAgB,EAAE,CAACG,wBAAY,EAAEC,qBAAS,EAAE,GAAG,IAAI,CAACf,YAAY,CAAC,CAAC;IAC/G,MAAMD,SAAS,CAACW,MAAM,CAACH,IAAI,CAAC;IAC5B,OAAOA,IAAI;EACb;EAEA,MAAMS,MAAM,CAACZ,OAAmB,EAAsB;IAAA;IACpD,MAAM,CAACC,IAAI,EAAEC,EAAE,CAAC,GAAG,IAAI,CAACd,SAAS;IACjC,MAAMe,IAAI,GAAG,MAAMC,sBAAI,CAACC,OAAO,CAACJ,IAAI,EAAEC,EAAE,CAAC;;IAEzC;IACA,MAAMW,YAAY,GAAG,MAAM,IAAI,CAACC,WAAW,CAACd,OAAO,CAAC;IACpD,IAAIa,YAAY,CAACE,MAAM,CAACC,MAAM,GAAG,CAAC,EAAE,OAAO;MAAED,MAAM,EAAEF,YAAY,CAACE;IAAO,CAAC;IAC1E,oBAAI,CAACzB,MAAM,iDAAX,aAAa2B,IAAI,CAAC,oDAAoD,CAAC;;IAEvE;IACA,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACC,QAAQ,CAACnB,OAAO,CAAC;IACjD,IAAIkB,YAAY,CAACH,MAAM,CAACC,MAAM,GAAG,CAAC,EAAE,OAAO;MAAED,MAAM,EAAEG,YAAY,CAACH;IAAO,CAAC;IAC1E,qBAAI,CAACzB,MAAM,kDAAX,cAAa2B,IAAI,CAAC,oDAAoD,CAAC;;IAEvE;IACA,MAAMG,GAAG,GAAG,MAAM,IAAAC,wBAAU,EAACrB,OAAO,CAACsB,OAAO,EAAEtB,OAAO,CAACuB,OAAO,CAAC;IAC9D,qBAAI,CAACjC,MAAM,kDAAX,cAAa2B,IAAI,CAAC,gDAAgD,CAAC;IAEnE,MAAMO,UAAU,GAAG,IAAAC,8BAAgB,EAAC;MAClCxC,IAAI,EAAEe,OAAO,CAACuB,OAAO;MACrBD,OAAO,EAAEtB,OAAO,CAACsB,OAAO;MACxBnB,IAAI;MACJiB,GAAG;MACHM,MAAM,EAAE,IAAAC,yBAAW,EAACd,YAAY,CAACa,MAAM,CAAC;MACxCpC,MAAM,EAAE,IAAI,CAACA;IACf,CAAC,CAAC;IAEFkC,UAAU,CAAClB,MAAM,CAACH,IAAI,CAAC;IACvB,OAAO;MAAEA;IAAK,CAAC;EACjB;EAEA,MAAcW,WAAW,CAACd,OAAmB,EAAE;IAC7C,MAAM4B,UAA+B,GAAG,CACtC;MACEC,KAAK,EAAE7B,OAAO,CAACuB,OAAO;MACtBO,eAAe,EAAE,IAAAC,eAAI,EAAC/B,OAAO,CAACuB,OAAO,CAAC;MACtCS,MAAM,EAAE,KAAK;MACblC,OAAO,EAAE,IAAI,CAACA;IAChB,CAAC,CACF;;IAED;IACA,MAAMmC,GAAmB,GAAGC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACpC,OAAO,CAAC,EAAE;MAChE+B,IAAI,EAAEH,UAAU;MAChBS,OAAO,EAAE,CACP;QACEC,OAAO,EAAE,MAAM,IAAI,CAACC,UAAU,EAAE;QAChCC,UAAU,EAAE,CAACxC,OAAO,CAACyC,YAAY,CAAC;QAClCC,UAAU,EAAE,IAAAC,eAAO,EAAC3C,OAAO,CAACsB,OAAO,EAAE,IAAAsB,+BAAc,EAAC5C,OAAO,CAACuB,OAAO,EAAE,SAAS,CAAC,CAAC;QAChFsB,gBAAgB,EAAE,IAAI,CAACC,mBAAmB,EAAE;QAC5CC,qBAAqB,EAAE;MACzB,CAAC,CACF;MAED;MACAC,cAAc,EAAEC,SAAS;MACzBC,oBAAoB,EAAE;IACxB,CAAC,CAAC;IAEF,MAAMzD,OAAO,GAAG,MAAM,IAAI,CAACJ,QAAQ,CAAC8D,UAAU,CAAClB,GAAG,EAAE,CACjDmB,MAAM,IAAKA,MAAM,CAACC,KAAK,CAAC,CAAC,IAAAC,6BAAY,GAAE,CAAC,CAAC,EAC1C,GAAG,IAAI,CAAC1D,YAAY,CACrB,CAAC;IAEF,MAAM2D,YAAY,GAAG,MAAM9D,OAAO,CAACM,GAAG,EAAE;IACxC,OAAOwD,YAAY,CAAC,CAAC,CAAC;EACxB;EAEA,MAAcpC,QAAQ,CAACnB,OAAmB,EAAE;IAC1C;IACA,MAAMiC,GAAmB,GAAGC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACpC,OAAO,CAAC,kCAC3DA,OAAO;MACVqC,OAAO,EAAE,CACP;QACEC,OAAO,EAAE,MAAM,IAAI,CAACkB,aAAa,EAAE;QACnChB,UAAU,EAAE,CAACxC,OAAO,CAACyC,YAAY,CAAC;QAClCC,UAAU,EAAE,IAAAC,eAAO,EAAC3C,OAAO,CAACsB,OAAO,EAAE,IAAAsB,+BAAc,EAAC5C,OAAO,CAACuB,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5EsB,gBAAgB,EAAE,IAAI,CAACC,mBAAmB,EAAE;QAC5CC,qBAAqB,EAAE;MACzB,CAAC,CACF;MAED;MACAC,cAAc,EAAEC,SAAS;MACzBC,oBAAoB,EAAE;IAAE,GACxB;IAEF,MAAMzD,OAAO,GAAG,MAAM,IAAI,CAACJ,QAAQ,CAAC8D,UAAU,CAAClB,GAAG,EAAE,CACjDmB,MAAM,IAAKA,MAAM,CAACC,KAAK,CAAC,CAAC,IAAAI,0BAAS,GAAE,CAAC,CAAC,EACvC,GAAG,IAAI,CAAC7D,YAAY,CACrB,CAAC;IAEF,MAAM2D,YAAY,GAAG,MAAM9D,OAAO,CAACM,GAAG,EAAE;IACxC,OAAOwD,YAAY,CAAC,CAAC,CAAC;EACxB;EAEA,MAAMG,KAAK,CAAC1D,OAAwB,EAAgC;IAClE,MAAM4B,UAA+B,GAAG,CACtC;MACEC,KAAK,EAAE7B,OAAO,CAACf,IAAI;MACnB6C,eAAe,EAAE,IAAAC,eAAI,EAAC/B,OAAO,CAACf,IAAI,CAAC;MACnC+C,MAAM,EAAE,KAAK;MACblC,OAAO,EAAE,IAAI,CAACA;MACd;IACF,CAAC,CACF;;IACDoC,MAAM,CAACC,MAAM,CAACnC,OAAO,EAAE;MACrB+B,IAAI,EAAEH;IACR,CAAC,CAAC;IACF,MAAMnC,OAAO,GAAG,MAAM,IAAI,CAAC0D,UAAU,CAACnD,OAAO,CAAC;IAC9C,MAAMuD,YAAY,GAAG,MAAM9D,OAAO,CAACM,GAAG,EAAE;IACxC,MAAM4D,SAAS,GAAG,IAAAC,YAAI,EAAC,IAAI,CAACC,YAAY,CAAC7D,OAAO,CAAC8D,YAAY,CAAC,CAAC;IAE/D,IAAI,IAAI,CAAC3E,GAAG,EAAE,MAAM,IAAI,CAAC4E,WAAW,CAAC/D,OAAO,EAAE2D,SAAS,CAAC;IACxD,OAAO,IAAAK,gCAAc,EAACT,YAAY,EAAE;MAClCU,SAAS,EAAG,GAAE,IAAI,CAACJ,YAAY,CAAC7D,OAAO,CAAC8D,YAAY,CAAE,IAAG,IAAI,CAACI,GAAI,EAAC;MACnEC,YAAY,EAAER;IAChB,CAAC,CAAC;EACJ;EAEA,MAAcI,WAAW,CAAC/D,OAAwB,EAAE2D,SAAiB,EAAE;IACrE,MAAMjE,UAAU,GAAG,MAAM,IAAI,CAAC0E,aAAa,CAACpE,OAAO,CAAC;IACpD,MAAMN,UAAU,CAACK,GAAG,EAAE;IACtB,MAAMsE,MAAM,GAAG,IAAAC,kBAAY,EAAC,IAAAV,YAAI,EAACW,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAACC,QAAQ,EAAE;IAC3ExE,OAAO,CAACyE,OAAO,CAACC,EAAE,CAACC,aAAa,CAAC,IAAAf,YAAI,EAACD,SAAS,EAAE,WAAW,CAAC,EAAEU,MAAM,CAAC;IACtE,MAAMO,aAAa,GAAG5E,OAAO,CAACyE,OAAO,CAACC,EAAE,CAACG,OAAO,CAAClB,SAAS,CAAC;IAC3D,MAAMmB,SAAS,GAAG,IAAI,CAACvF,kBAAkB,CAACwF,YAAY,CAAC;MACrDC,cAAc,EAAE,2BAA2B;MAC3CC,OAAO,EAAEL,aAAa;MACtBM,kBAAkB,EAAEN;IACtB,CAAC,CAAC;IACF,MAAME,SAAS,CAACK,OAAO,CAACP,aAAa,EAAE,IAAI,CAACQ,YAAY,EAAE,EAAE,KAAIC,yBAAY,EAAC,IAAIC,GAAG,EAAE,CAAC,CAAC;IACxF,OAAO3B,SAAS;EAClB;EAEQyB,YAAY,GAAG;IACrB,MAAMG,eAAe,GAAG,KAAIC,qCAAe,EAAC,EAAE,CAAC;IAC/CD,eAAe,CAACE,GAAG,CAAC;MAAEC,aAAa,EAAE,SAAS;MAAEC,YAAY,EAAE,SAAS;MAAEC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAS;IAAE,CAAC,CAAC;IACxGN,eAAe,CAACE,GAAG,CAAC;MAClBC,aAAa,EAAE,SAAS;MACxBC,YAAY,EAAE,8BAA8B;MAC5CC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAQ;IAC5B,CAAC,CAAC;IACFN,eAAe,CAACE,GAAG,CAAC;MAClBC,aAAa,EAAE,SAAS;MACxBC,YAAY,EAAE,8CAA8C;MAC5DC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAS;IAC7B,CAAC,CAAC;IAEFN,eAAe,CAACE,GAAG,CAAC;MAClBC,aAAa,EAAE,MAAM;MACrBC,YAAY,EAAE,OAAO;MACrBC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAS;IAC7B,CAAC,CAAC;IAEFN,eAAe,CAACE,GAAG,CAAC;MAClBC,aAAa,EAAE,MAAM;MACrBC,YAAY,EAAE,WAAW;MACzBC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAS;IAC7B,CAAC,CAAC;IACF,OAAON,eAAe;EACxB;EAEQpC,UAAU,CAACnD,OAAwB,EAAE;IAC3C,IAAI,IAAI,CAACP,OAAO,EAAE,OAAO,IAAI,CAACA,OAAO;IACrC,OAAO,IAAI,CAACqG,iBAAiB,CAAC9F,OAAO,CAAC;EACxC;EAEQoE,aAAa,CAACpE,OAAwB,EAAE;IAC9C,IAAI,IAAI,CAACN,UAAU,EAAE,OAAO,IAAI,CAACA,UAAU;IAC3C,OAAO,IAAI,CAACqG,oBAAoB,CAAC/F,OAAO,CAAC;EAC3C;EAEA,MAAc8F,iBAAiB,CAAC9F,OAAwB,EAAE;IACxD,MAAM;MAAEyE;IAAQ,CAAC,GAAGzE,OAAO;IAC3B,MAAMiE,SAAS,GAAG,IAAI,CAACJ,YAAY,CAAC7D,OAAO,CAAC8D,YAAY,CAAC;IACzD,MAAMpB,UAAU,GAAG,IAAAkB,YAAI,EAACa,OAAO,CAACuB,IAAI,EAAE/B,SAAS,CAAC;IAEhD,MAAMgC,cAAc,GAAG,MAAM,IAAI,CAACC,eAAe,CAAClG,OAAO,EAAE;MAAE0C;IAAW,CAAC,CAAC;IAC1E,MAAM9C,YAAwC,GAAG,IAAAuG,iBAAO,EAAC,CACtDC,aAAa,IAAKA,aAAa,CAAC/C,KAAK,CAAC,IAAAgD,4BAAW,EAAC;MAAE3D,UAAU,EAAE,IAAAkB,YAAI,EAAClB,UAAU,EAAE,IAAI,CAACwB,GAAG;IAAE,CAAC,CAAC,CAAC,EAC9Fd,MAAM,IAAK;MACV,IAAI,IAAI,CAAC5D,SAAS,EAAE4D,MAAM,CAACkD,SAAS,CAAC,IAAAC,0BAAe,EAAC,IAAI,CAAC/G,SAAS,CAAC,CAAC;MACrE,OAAO4D,MAAM;IACf,CAAC,EACD,IAAAoD,+BAAmB,EAAC;MAAEhH,SAAS,EAAE,CAAC,CAAC,IAAI,CAACA;IAAU,CAAC,CAAC,EACpD,GAAG,IAAI,CAACI,YAAY,CACrB,CAAC;IAEF,MAAMP,QAAQ,GAAGW,OAAO,CAACyG,GAAe;IACxC,MAAMhH,OAAgB,GAAG,MAAMJ,QAAQ,CAAC8D,UAAU,CAAC8C,cAAc,EAAErG,YAAY,CAAC;IAChF,OAAOH,OAAO;EAChB;EAEA,MAAcsG,oBAAoB,CAAC/F,OAAwB,EAAE;IAC3D,MAAM;MAAEyE;IAAQ,CAAC,GAAGzE,OAAO;IAC3B,MAAMiE,SAAS,GAAG,IAAI,CAACJ,YAAY,CAAC7D,OAAO,CAAC8D,YAAY,CAAC;IACzD,MAAMpB,UAAU,GAAG,IAAAkB,YAAI,EAACa,OAAO,CAACuB,IAAI,EAAE/B,SAAS,CAAC;IAEhD,MAAMgC,cAAc,GAAG,MAAM,IAAI,CAACC,eAAe,CAAClG,OAAO,EAAE;MAAE0C;IAAW,CAAC,CAAC;IAC1E,MAAM9C,YAAwC,GAAG,IAAAuG,iBAAO,EAAC,CACtDC,aAAa,IAAKA,aAAa,CAAC/C,KAAK,CAAC,IAAAqD,+BAAc,EAAC;MAAEhE,UAAU,EAAE,IAAAkB,YAAI,EAAClB,UAAU,EAAE,IAAI,CAACiE,MAAM;IAAE,CAAC,CAAC,CAAC,EACrG,IAAAH,+BAAmB,EAAC;MAAEhH,SAAS,EAAE,CAAC,CAAC,IAAI,CAACA;IAAU,CAAC,CAAC,EACpD,GAAG,IAAI,CAACI,YAAY,CACrB,CAAC;IAEF,MAAMP,QAAQ,GAAGW,OAAO,CAACyG,GAAe;IACxC,MAAMhH,OAAgB,GAAG,MAAMJ,QAAQ,CAAC8D,UAAU,CAAC8C,cAAc,EAAErG,YAAY,CAAC;IAChF,OAAOH,OAAO;EAChB;EAEA,MAAcyG,eAAe,CAAClG,OAAwB,EAAE;IAAE0C;EAAmC,CAAC,EAAE;IAC9F,MAAM;MAAE+B;IAAQ,CAAC,GAAGzE,OAAO;IAC3B,MAAMX,QAAQ,GAAGW,OAAO,CAACyG,GAAe;IACxC,MAAM;MAAEG;IAAQ,CAAC,GAAGvH,QAAQ,CAACwH,WAAW,EAAE;IAC1C,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACvE,UAAU,CAAE,GAAEkC,OAAO,CAACuB,IAAK,IAAGY,OAAQ,EAAC,CAAC;IACzE,MAAMtE,OAAO,GAAGwE,aAAa,CAACC,GAAG,CAAE7H,KAAK,IAAK8H,OAAO,CAACrE,OAAO,CAAE,GAAE8B,OAAO,CAACuB,IAAK,IAAGY,OAAQ,IAAG,IAAAK,gBAAQ,EAAC/H,KAAK,CAAE,EAAC,CAAC,CAAC;IAE9G,MAAM+G,cAA8B,GAAG/D,MAAM,CAACC,MAAM,CAACnC,OAAO,EAAE;MAC5DqC,OAAO,EAAE,CACP;QACEG,UAAU,EAAE,CAACiC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEyC,SAAS,CAAC;QAChC5E,OAAO;QACPI,UAAU;QACVyE,WAAW,EAAE1C,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEuB,IAAI;QAC1BnD,gBAAgB,EAAE,IAAI,CAACC,mBAAmB,EAAE;QAC5CC,qBAAqB,EAAE;MACzB,CAAC,CACF;MACD7D,KAAK,EAAE,EAAE;MACTkI,QAAQ,EAAE,GAAG;MACbC,QAAQ,EAAE;QACRC,SAAS,EAAG,iBAAgBtH,OAAO,CAACf,IAAK,EAAC;QAC1CsI,KAAK,EAAEvH,OAAO,CAACwH;MACjB;IACF,CAAC,CAAC;IAEF,OAAOvB,cAAc;EACvB;EAEQpC,YAAY,CAACC,YAAoB,EAAE;IACzC,OAAO,IAAAF,YAAI,EAACE,YAAY,EAAE,IAAI,CAAC2D,eAAe,EAAE,IAAI,CAACxI,IAAI,CAAC;EAC5D;EAEA,MAAMsD,UAAU,CAACyD,IAAa,EAAqB;IACjD,IAAI0B,KAAK,CAACC,OAAO,CAAC,IAAI,CAACzI,KAAK,CAAC,EAAE,OAAO,IAAI,CAACA,KAAK;IAChD,OAAO,IAAI,CAACA,KAAK,CAAC8G,IAAI,CAAC;EACzB;EAEA,MAAMxC,aAAa,GAAsB;IACvC,IAAI,CAAC,IAAI,CAACrE,GAAG,EAAE,MAAM,KAAIyI,oBAAQ,EAAC,wCAAwC,CAAC;IAC3E,IAAI,OAAO,IAAI,CAACzI,GAAG,KAAK,QAAQ,EAAE,OAAO,CAAC,IAAI,CAACA,GAAG,CAAC;IACnD,OAAO,CAAC,MAAM,IAAI,CAACA,GAAG,EAAE,CAAC;EAC3B;EAEA,MAAcqB,mBAAmB,CAACR,OAAmB,EAA6B;IAChF,MAAMsC,OAAO,GAAG,MAAM,IAAI,CAACC,UAAU,EAAE;IACvC,OAAOL,MAAM,CAACC,MAAM,CAACnC,OAAO,EAAE;MAC5Bd,KAAK,EAAEoD,OAAO;MACd8E,QAAQ,EAAE,EAAE;MACZS,UAAU,EAAG,UAAS,IAAI,CAAC5I,IAAK,EAAC;MACjC4C,KAAK,EAAE,IAAI,CAAC5C,IAAI;MAChBa,OAAO,EAAE,IAAI,CAACA,OAAO;MACrB+C,gBAAgB,EAAE,MAAM,IAAI,CAACC,mBAAmB,EAAE;MAClDC,qBAAqB,EAAE;IACzB,CAAC,CAAC;EACJ;EAEQD,mBAAmB,GAAa;IACtC,OAAO,IAAI,CAACzD,QAAQ,CAACyI,6BAA6B,EAAE;EACtD;AACF;AAAC"}
@@ -4,7 +4,9 @@
4
4
 
5
5
  const basePlugins = [[require('babel-plugin-transform-typescript-metadata')], [require('@babel/plugin-proposal-decorators'), {
6
6
  legacy: true
7
- }], [require('@babel/plugin-transform-runtime')], [require('@babel/plugin-proposal-object-rest-spread')], [require('@babel/plugin-proposal-class-properties')]];
7
+ }],
8
+ // [require('@babel/plugin-transform-runtime')],
9
+ [require('@babel/plugin-proposal-object-rest-spread')], [require('@babel/plugin-proposal-class-properties')]];
8
10
  module.exports = {
9
11
  basePlugins
10
12
  };
@@ -1 +1 @@
1
- {"version":3,"names":["basePlugins","require","legacy","module","exports"],"sources":["base-transformer-plugins.js"],"sourcesContent":["/* eslint-disable global-require */\n\nconst basePlugins = [\n [require('babel-plugin-transform-typescript-metadata')],\n [require('@babel/plugin-proposal-decorators'), { legacy: true }],\n [require('@babel/plugin-transform-runtime')],\n [require('@babel/plugin-proposal-object-rest-spread')],\n [require('@babel/plugin-proposal-class-properties')],\n];\n\nmodule.exports = {\n basePlugins,\n};\n"],"mappings":";;AAAA;;AAEA,MAAMA,WAAW,GAAG,CAClB,CAACC,OAAO,CAAC,4CAA4C,CAAC,CAAC,EACvD,CAACA,OAAO,CAAC,mCAAmC,CAAC,EAAE;EAAEC,MAAM,EAAE;AAAK,CAAC,CAAC,EAChE,CAACD,OAAO,CAAC,iCAAiC,CAAC,CAAC,EAC5C,CAACA,OAAO,CAAC,2CAA2C,CAAC,CAAC,EACtD,CAACA,OAAO,CAAC,yCAAyC,CAAC,CAAC,CACrD;AAEDE,MAAM,CAACC,OAAO,GAAG;EACfJ;AACF,CAAC"}
1
+ {"version":3,"names":["basePlugins","require","legacy","module","exports"],"sources":["base-transformer-plugins.js"],"sourcesContent":["/* eslint-disable global-require */\n\nconst basePlugins = [\n [require('babel-plugin-transform-typescript-metadata')],\n [require('@babel/plugin-proposal-decorators'), { legacy: true }],\n // [require('@babel/plugin-transform-runtime')],\n [require('@babel/plugin-proposal-object-rest-spread')],\n [require('@babel/plugin-proposal-class-properties')],\n];\n\nmodule.exports = {\n basePlugins,\n};\n"],"mappings":";;AAAA;;AAEA,MAAMA,WAAW,GAAG,CAClB,CAACC,OAAO,CAAC,4CAA4C,CAAC,CAAC,EACvD,CAACA,OAAO,CAAC,mCAAmC,CAAC,EAAE;EAAEC,MAAM,EAAE;AAAK,CAAC,CAAC;AAChE;AACA,CAACD,OAAO,CAAC,2CAA2C,CAAC,CAAC,EACtD,CAACA,OAAO,CAAC,yCAAyC,CAAC,CAAC,CACrD;AAEDE,MAAM,CAACC,OAAO,GAAG;EACfJ;AACF,CAAC"}
@@ -14,11 +14,12 @@ const {
14
14
  } = require('./base-transformer-presets');
15
15
  const presets = [...basePresets, [require('@babel/preset-env'), {
16
16
  targets: {
17
- node: 12
18
- },
19
- useBuiltIns: 'usage',
20
- corejs: 3
17
+ node: 16
18
+ }
19
+ // useBuiltIns: 'usage',
20
+ // corejs: 3,
21
21
  }]];
22
+
22
23
  const plugins = [[require('@babel/plugin-transform-modules-commonjs')], ...basePlugins];
23
24
  module.exports = {
24
25
  process: generateProcessFunc(presets, plugins)
@@ -1 +1 @@
1
- {"version":3,"names":["generateProcessFunc","require","basePlugins","basePresets","presets","targets","node","useBuiltIns","corejs","plugins","module","exports","process"],"sources":["cjs-transformer.js"],"sourcesContent":["/* eslint-disable import/order */\n/* eslint-disable global-require */\nconst { generateProcessFunc } = require('./base-transformer-process');\nconst { basePlugins } = require('./base-transformer-plugins');\nconst { basePresets } = require('./base-transformer-presets');\n\nconst presets = [\n ...basePresets,\n [\n require('@babel/preset-env'),\n {\n targets: {\n node: 12,\n },\n useBuiltIns: 'usage',\n corejs: 3,\n },\n ],\n];\n\nconst plugins = [[require('@babel/plugin-transform-modules-commonjs')], ...basePlugins];\n\nmodule.exports = {\n process: generateProcessFunc(presets, plugins),\n};\n"],"mappings":";;;AAAA;AACA;AACA,MAAM;EAAEA;AAAoB,CAAC,GAAGC,OAAO,CAAC,4BAA4B,CAAC;AACrE,MAAM;EAAEC;AAAY,CAAC,GAAGD,OAAO,CAAC,4BAA4B,CAAC;AAC7D,MAAM;EAAEE;AAAY,CAAC,GAAGF,OAAO,CAAC,4BAA4B,CAAC;AAE7D,MAAMG,OAAO,GAAG,CACd,GAAGD,WAAW,EACd,CACEF,OAAO,CAAC,mBAAmB,CAAC,EAC5B;EACEI,OAAO,EAAE;IACPC,IAAI,EAAE;EACR,CAAC;EACDC,WAAW,EAAE,OAAO;EACpBC,MAAM,EAAE;AACV,CAAC,CACF,CACF;AAED,MAAMC,OAAO,GAAG,CAAC,CAACR,OAAO,CAAC,0CAA0C,CAAC,CAAC,EAAE,GAAGC,WAAW,CAAC;AAEvFQ,MAAM,CAACC,OAAO,GAAG;EACfC,OAAO,EAAEZ,mBAAmB,CAACI,OAAO,EAAEK,OAAO;AAC/C,CAAC"}
1
+ {"version":3,"names":["generateProcessFunc","require","basePlugins","basePresets","presets","targets","node","plugins","module","exports","process"],"sources":["cjs-transformer.js"],"sourcesContent":["/* eslint-disable import/order */\n/* eslint-disable global-require */\nconst { generateProcessFunc } = require('./base-transformer-process');\nconst { basePlugins } = require('./base-transformer-plugins');\nconst { basePresets } = require('./base-transformer-presets');\n\nconst presets = [\n ...basePresets,\n [\n require('@babel/preset-env'),\n {\n targets: {\n node: 16,\n },\n // useBuiltIns: 'usage',\n // corejs: 3,\n },\n ],\n];\n\nconst plugins = [[require('@babel/plugin-transform-modules-commonjs')], ...basePlugins];\n\nmodule.exports = {\n process: generateProcessFunc(presets, plugins),\n};\n"],"mappings":";;;AAAA;AACA;AACA,MAAM;EAAEA;AAAoB,CAAC,GAAGC,OAAO,CAAC,4BAA4B,CAAC;AACrE,MAAM;EAAEC;AAAY,CAAC,GAAGD,OAAO,CAAC,4BAA4B,CAAC;AAC7D,MAAM;EAAEE;AAAY,CAAC,GAAGF,OAAO,CAAC,4BAA4B,CAAC;AAE7D,MAAMG,OAAO,GAAG,CACd,GAAGD,WAAW,EACd,CACEF,OAAO,CAAC,mBAAmB,CAAC,EAC5B;EACEI,OAAO,EAAE;IACPC,IAAI,EAAE;EACR;EACA;EACA;AACF,CAAC,CACF,CACF;;AAED,MAAMC,OAAO,GAAG,CAAC,CAACN,OAAO,CAAC,0CAA0C,CAAC,CAAC,EAAE,GAAGC,WAAW,CAAC;AAEvFM,MAAM,CAACC,OAAO,GAAG;EACfC,OAAO,EAAEV,mBAAmB,CAACI,OAAO,EAAEG,OAAO;AAC/C,CAAC"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.918/dist/react.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.918/dist/react.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.920/dist/react.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.920/dist/react.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -171,10 +171,6 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
171
171
  createComponentsWebpackBundler(context: BundlerContext, transformers?: WebpackConfigTransformer[]): Promise<Bundler>;
172
172
  createTemplateWebpackBundler(context: BundlerContext, transformers?: WebpackConfigTransformer[]): Promise<Bundler>;
173
173
  private createWebpackBundler;
174
- /**
175
- * Get the peers configured by the env on the components + the host deps configured by the env
176
- */
177
- getPeerDependenciesList(): Promise<string[]>;
178
174
  getAdditionalHostDependencies(): string[];
179
175
  /**
180
176
  * returns a path to a docs template.
@@ -220,7 +216,6 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
220
216
  dependencies: {
221
217
  react: string;
222
218
  'react-dom': string;
223
- 'core-js': string;
224
219
  };
225
220
  devDependencies: {
226
221
  react: string;
@@ -230,7 +225,6 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
230
225
  '@types/react': string;
231
226
  '@types/react-dom': string;
232
227
  '@types/jest': string;
233
- '@babel/runtime': string;
234
228
  '@types/testing-library__jest-dom': string;
235
229
  };
236
230
  peerDependencies: {
@@ -255,25 +249,25 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
255
249
  /**
256
250
  * @deprecated use createEsmCompilerTask()
257
251
  */
258
- getEsmCompilerTask(transformers?: TsConfigTransformer[], tsModule?: typeof ts): import("@teambit/compiler/compiler.task").CompilerTask;
252
+ getEsmCompilerTask(transformers?: TsConfigTransformer[], tsModule?: typeof ts): import("@teambit/compiler").CompilerTask;
259
253
  /**
260
254
  * Get a compiler task with react config and set to esm module
261
255
  * @param transformers
262
256
  * @param tsModule
263
257
  * @returns
264
258
  */
265
- createEsmCompilerTask(transformers?: Function[], tsModule?: typeof ts): import("@teambit/compiler/compiler.task").CompilerTask;
259
+ createEsmCompilerTask(transformers?: Function[], tsModule?: typeof ts): import("@teambit/compiler").CompilerTask;
266
260
  /**
267
261
  * @deprecated use createCjsCompilerTask()
268
262
  * */
269
- getCjsCompilerTask(transformers?: TsConfigTransformer[], tsModule?: typeof ts): import("@teambit/compiler/compiler.task").CompilerTask;
263
+ getCjsCompilerTask(transformers?: TsConfigTransformer[], tsModule?: typeof ts): import("@teambit/compiler").CompilerTask;
270
264
  /**
271
265
  * Get a compiler task with react config and set to cjs module
272
266
  * @param transformers
273
267
  * @param tsModule
274
268
  * @returns
275
269
  */
276
- createCjsCompilerTask(transformers?: Function[], tsModule?: typeof ts): import("@teambit/compiler/compiler.task").CompilerTask;
270
+ createCjsCompilerTask(transformers?: Function[], tsModule?: typeof ts): import("@teambit/compiler").CompilerTask;
277
271
  __getDescriptor(): Promise<{
278
272
  type: string;
279
273
  }>;
package/dist/react.env.js CHANGED
@@ -405,15 +405,8 @@ class ReactEnv {
405
405
  async createWebpackBundler(context, transformers = []) {
406
406
  return this.webpack.createBundler(context, transformers);
407
407
  }
408
-
409
- /**
410
- * Get the peers configured by the env on the components + the host deps configured by the env
411
- */
412
- getPeerDependenciesList() {
413
- return this.dependencyResolver.getPeerDependenciesListFromEnv(this);
414
- }
415
408
  getAdditionalHostDependencies() {
416
- return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react'];
409
+ return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react', 'react-dom'];
417
410
  }
418
411
 
419
412
  /**
@@ -488,9 +481,10 @@ class ReactEnv {
488
481
  return {
489
482
  dependencies: {
490
483
  react: '-',
491
- 'react-dom': '-',
492
- 'core-js': '^3.0.0'
484
+ 'react-dom': '-'
485
+ // 'core-js': '^3.0.0',
493
486
  },
487
+
494
488
  // TODO: add this only if using ts
495
489
  devDependencies: {
496
490
  react: '-',
@@ -501,7 +495,7 @@ class ReactEnv {
501
495
  '@types/react-dom': '^17.0.5',
502
496
  '@types/jest': '^26.0.0',
503
497
  // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed
504
- '@babel/runtime': '7.20.0',
498
+ // '@babel/runtime': '7.20.0',
505
499
  '@types/testing-library__jest-dom': '5.9.5'
506
500
  },
507
501
  peerDependencies: {
@@ -1 +1 @@
1
- {"version":3,"names":["ReactEnvType","defaultTsConfig","require","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","createSchemaExtractor","getDevServer","baseConfig","basePreviewConfigFactory","envDevConfig","envPreviewDevConfigFactory","componentDevConfig","componentPreviewDevConfigFactory","merged","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","basePreviewProdConfigFactory","componentProdConfig","componentPreviewProdConfigFactory","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","templateConfig","templateWebpackConfigFactory","createBundler","getPeerDependenciesList","getPeerDependenciesListFromEnv","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","tsModifier","createCjsCompilerTask","module","task","getBuildPipeWithoutCompiler","createBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","aspectId","getEsmCompilerTask","createEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","__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 { 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';\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): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig));\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(context: DevServerContext, transformers: WebpackConfigTransformer[] = []): 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(context, [defaultTransformer, ...transformers]);\n }\n\n async getBundler(context: BundlerContext, transformers: WebpackConfigTransformer[] = []): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\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);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\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);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers);\n }\n\n /**\n * Get the peers configured by the env on the components + the host deps configured by the env\n */\n getPeerDependenciesList() {\n return this.dependencyResolver.getPeerDependenciesListFromEnv(this);\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react'];\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 async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ReactEnvType","defaultTsConfig","require","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","createSchemaExtractor","getDevServer","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","tsModifier","createCjsCompilerTask","module","task","getBuildPipeWithoutCompiler","createBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","aspectId","getEsmCompilerTask","createEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","__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 { 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';\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): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig));\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(context: DevServerContext, transformers: WebpackConfigTransformer[] = []): 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(context, [defaultTransformer, ...transformers]);\n }\n\n async getBundler(context: BundlerContext, transformers: WebpackConfigTransformer[] = []): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\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);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\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);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers);\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 async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  const basePlugins = [
4
4
  [require('babel-plugin-transform-typescript-metadata')],
5
5
  [require('@babel/plugin-proposal-decorators'), { legacy: true }],
6
- [require('@babel/plugin-transform-runtime')],
6
+ // [require('@babel/plugin-transform-runtime')],
7
7
  [require('@babel/plugin-proposal-object-rest-spread')],
8
8
  [require('@babel/plugin-proposal-class-properties')],
9
9
  ];
@@ -10,10 +10,10 @@ const presets = [
10
10
  require('@babel/preset-env'),
11
11
  {
12
12
  targets: {
13
- node: 12,
13
+ node: 16,
14
14
  },
15
- useBuiltIns: 'usage',
16
- corejs: 3,
15
+ // useBuiltIns: 'usage',
16
+ // corejs: 3,
17
17
  },
18
18
  ],
19
19
  ];