@teambit/react 0.0.821 → 0.0.824

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 (30) hide show
  1. package/apps/web/react.app-type.ts +11 -4
  2. package/apps/web/react.application.ts +52 -8
  3. package/apps/web/ssr/app/runner +52 -0
  4. package/artifacts/__bit_junit.xml +2 -2
  5. package/artifacts/env-template/public/{468.cd1f4df4f64643fd973c.js → 495.454d54d3a744b964e8f3.js} +3 -3
  6. package/artifacts/env-template/public/assets-manifest.json +12 -12
  7. package/artifacts/env-template/public/{compositions.fe500a80d56eb541bb70.js → compositions.3df631d4707327ff440a.js} +1 -1
  8. package/artifacts/env-template/public/compositions.html +1 -1
  9. package/artifacts/env-template/public/{overview.9228d5549e81da52a2f9.js → overview.350ab37ed983e4672a56.js} +1 -1
  10. package/artifacts/env-template/public/overview.html +1 -1
  11. package/artifacts/env-template/public/{peers.fdffb7b8e289f2a5f63d.js → peers.2b888fa307efa027222a.js} +1 -1
  12. package/artifacts/env-template/public/{preview-root.49e8972ad0f3fe570ee0.js → preview-root.af44199bbe8f2481801e.js} +1 -1
  13. package/artifacts/env-template/public/static/css/{468.bd6f7c48.css → 495.bd6f7c48.css} +0 -0
  14. package/artifacts/preview/teambit_react_react-preview.js +1 -1
  15. package/{compositions-1660879941721.js → compositions-1661225521544.js} +0 -0
  16. package/dist/apps/web/react.app-type.d.ts +5 -3
  17. package/dist/apps/web/react.app-type.js +3 -2
  18. package/dist/apps/web/react.app-type.js.map +1 -1
  19. package/dist/apps/web/react.application.d.ts +6 -2
  20. package/dist/apps/web/react.application.js +91 -9
  21. package/dist/apps/web/react.application.js.map +1 -1
  22. package/dist/apps/web/ssr/app/runner +52 -0
  23. package/dist/react.main.runtime.d.ts +3 -2
  24. package/dist/react.main.runtime.js +5 -4
  25. package/dist/react.main.runtime.js.map +1 -1
  26. package/{overview-1660879941721.js → overview-1661225521544.js} +0 -0
  27. package/package-tar/teambit-react-0.0.824.tgz +0 -0
  28. package/package.json +31 -31
  29. package/{preview-1660879941721.js → preview-1661225521544.js} +2 -2
  30. package/package-tar/teambit-react-0.0.821.tgz +0 -0
@@ -21,6 +21,16 @@ function _defineProperty2() {
21
21
  return data;
22
22
  }
23
23
 
24
+ function _fs() {
25
+ const data = require("fs");
26
+
27
+ _fs = function () {
28
+ return data;
29
+ };
30
+
31
+ return data;
32
+ }
33
+
24
34
  function _path() {
25
35
  const data = require("path");
26
36
 
@@ -41,6 +51,26 @@ function _toolboxNetwork() {
41
51
  return data;
42
52
  }
43
53
 
54
+ function _component() {
55
+ const data = require("@teambit/component");
56
+
57
+ _component = function () {
58
+ return data;
59
+ };
60
+
61
+ return data;
62
+ }
63
+
64
+ function _dependencyResolver() {
65
+ const data = require("@teambit/dependency-resolver");
66
+
67
+ _dependencyResolver = function () {
68
+ return data;
69
+ };
70
+
71
+ return data;
72
+ }
73
+
44
74
  function _lodash() {
45
75
  const data = _interopRequireDefault(require("lodash.compact"));
46
76
 
@@ -126,12 +156,14 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
126
156
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
127
157
 
128
158
  class ReactApp {
129
- constructor(name, entry, ssr, portRange, reactEnv, prerender, bundler, ssrBundler, devServer, transformers = [], deploy, favicon, logger) {
159
+ constructor(name, entry, ssr, portRange, reactEnv, logger, dependencyResolver, prerender, bundler, ssrBundler, devServer, transformers = [], deploy, favicon) {
130
160
  this.name = name;
131
161
  this.entry = entry;
132
162
  this.ssr = ssr;
133
163
  this.portRange = portRange;
134
164
  this.reactEnv = reactEnv;
165
+ this.logger = logger;
166
+ this.dependencyResolver = dependencyResolver;
135
167
  this.prerender = prerender;
136
168
  this.bundler = bundler;
137
169
  this.ssrBundler = ssrBundler;
@@ -139,7 +171,6 @@ class ReactApp {
139
171
  this.transformers = transformers;
140
172
  this.deploy = deploy;
141
173
  this.favicon = favicon;
142
- this.logger = logger;
143
174
  (0, _defineProperty2().default)(this, "applicationType", 'react-common-js');
144
175
  (0, _defineProperty2().default)(this, "dir", 'public');
145
176
  (0, _defineProperty2().default)(this, "ssrDir", 'ssr');
@@ -252,16 +283,67 @@ class ReactApp {
252
283
  });
253
284
  const bundler = await this.getBundler(context);
254
285
  const bundleResult = await bundler.run();
255
-
256
- if (this.ssr) {
257
- const bunlder = await this.getSsrBundler(context);
258
- await bunlder.run();
259
- }
260
-
286
+ const ssrAppDir = (0, _path().join)(this.getPublicDir(context.artifactsDir));
287
+ if (this.ssr) await this.buildSsrApp(context, ssrAppDir);
261
288
  return (0, _computeResults().computeResults)(bundleResult, {
262
289
  publicDir: `${this.getPublicDir(context.artifactsDir)}/${this.dir}`,
263
- ssrPublicDir: this.ssr ? `${this.getPublicDir(context.artifactsDir)}/${this.ssrDir}` : undefined
290
+ ssrPublicDir: ssrAppDir
291
+ });
292
+ }
293
+
294
+ async buildSsrApp(context, ssrAppDir) {
295
+ const ssrBundler = await this.getSsrBundler(context);
296
+ await ssrBundler.run();
297
+ const runner = (0, _fs().readFileSync)((0, _path().join)(__dirname, './ssr/app/runner')).toString();
298
+ context.capsule.fs.writeFileSync((0, _path().join)(ssrAppDir, 'runner.js'), runner);
299
+ const capsuleSsrDir = context.capsule.fs.getPath(ssrAppDir);
300
+ const installer = this.dependencyResolver.getInstaller({
301
+ packageManager: 'teambit.dependencies/yarn',
302
+ rootDir: capsuleSsrDir,
303
+ cacheRootDirectory: capsuleSsrDir
304
+ });
305
+ await installer.install(capsuleSsrDir, this.getSsrPolicy(), new (_component().ComponentMap)(new Map()));
306
+ return ssrAppDir;
307
+ }
308
+
309
+ getSsrPolicy() {
310
+ const workspacePolicy = new (_dependencyResolver().WorkspacePolicy)([]);
311
+ workspacePolicy.add({
312
+ lifecycleType: 'runtime',
313
+ dependencyId: 'express',
314
+ value: {
315
+ version: '4.18.1'
316
+ }
317
+ });
318
+ workspacePolicy.add({
319
+ lifecycleType: 'runtime',
320
+ dependencyId: '@teambit/react.rendering.ssr',
321
+ value: {
322
+ version: '0.0.3'
323
+ }
324
+ });
325
+ workspacePolicy.add({
326
+ lifecycleType: 'runtime',
327
+ dependencyId: '@teambit/ui-foundation.ui.pages.static-error',
328
+ value: {
329
+ version: '0.0.75'
330
+ }
331
+ });
332
+ workspacePolicy.add({
333
+ lifecycleType: 'peer',
334
+ dependencyId: 'react',
335
+ value: {
336
+ version: '17.0.2'
337
+ }
338
+ });
339
+ workspacePolicy.add({
340
+ lifecycleType: 'peer',
341
+ dependencyId: 'react-dom',
342
+ value: {
343
+ version: '17.0.2'
344
+ }
264
345
  });
346
+ return workspacePolicy;
265
347
  }
266
348
 
267
349
  getBundler(context) {
@@ -1 +1 @@
1
- {"version":3,"names":["ReactApp","constructor","name","entry","ssr","portRange","reactEnv","prerender","bundler","ssrBundler","devServer","transformers","deploy","favicon","logger","run","context","from","to","port","Port","getPort","listen","devServerContext","getDevServerContext","getDevServer","addDevServer","setOutput","runSsr","clientBundle","buildClient","errors","length","info","serverBundle","buildSsr","app","loadSsrApp","workdir","appName","expressApp","createExpressSsr","assets","parseAssets","htmlConfig","title","templateContent","html","minify","ctx","Object","assign","create","targets","entries","getEntries","components","appComponent","outputPath","resolve","calcOutputPath","hostDependencies","getPeers","aliasHostDependencies","capsuleNetwork","undefined","previousTasksResults","getBundler","config","merge","clientConfig","bundleResult","getSsrEntries","ssrConfig","build","bunlder","getSsrBundler","computeResults","publicDir","getPublicDir","artifactsDir","dir","ssrPublicDir","ssrDir","getDefaultBundler","getDefaultSsrBundler","capsule","join","path","bundlerContext","getBuildContext","compact","configMutator","buildConfig","addPlugin","prerenderPlugin","replaceTerserPlugin","env","ssrBuildConfig","distDir","getCompiler","targetEntries","map","require","basename","component","hostRootDir","rootPath","metaData","initiator","envId","id","applicationType","Array","isArray","BitError","publicPath","getPeerDependenciesList"],"sources":["react.application.ts"],"sourcesContent":["import { join, resolve, basename } from 'path';\nimport { Application, AppContext, AppBuildContext, AppResult } from '@teambit/application';\nimport type { Bundler, DevServer, BundlerContext, DevServerContext, BundlerHtmlConfig } from '@teambit/bundler';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport type { Logger } from '@teambit/logger';\nimport compact from 'lodash.compact';\nimport { WebpackConfigTransformer } from '@teambit/webpack';\nimport { BitError } from '@teambit/bit-error';\nimport { ReactEnv } from '../../react.env';\nimport { prerenderPlugin } from './plugins';\nimport { ReactAppBuildResult } from './react-build-result';\nimport { ReactAppPrerenderOptions } from './react-app-options';\nimport { html } from '../../webpack';\nimport { ReactDeployContext } from '.';\nimport { computeResults } from './compute-results';\nimport { clientConfig, ssrConfig, calcOutputPath, ssrBuildConfig, buildConfig } from './webpack/webpack.app.ssr.config';\nimport { addDevServer, setOutput, replaceTerserPlugin } from './webpack/mutators';\nimport { createExpressSsr, loadSsrApp, parseAssets } from './ssr/ssr-express';\n\nexport class ReactApp implements Application {\n constructor(\n readonly name: string,\n readonly entry: string[] | ((path?: string) => Promise<string[]>),\n readonly ssr: string | (() => Promise<string>) | undefined,\n readonly portRange: [number, number],\n private reactEnv: ReactEnv,\n readonly prerender?: ReactAppPrerenderOptions,\n readonly bundler?: Bundler,\n readonly ssrBundler?: Bundler,\n readonly devServer?: DevServer,\n readonly transformers: WebpackConfigTransformer[] = [],\n readonly deploy?: (context: ReactDeployContext) => Promise<void>,\n readonly favicon?: string,\n private logger?: Logger\n ) {}\n readonly applicationType = 'react-common-js';\n readonly dir = 'public';\n readonly ssrDir = 'ssr';\n\n async run(context: AppContext): Promise<number> {\n const [from, to] = this.portRange;\n const port = await Port.getPort(from, to);\n\n if (this.devServer) {\n await this.devServer.listen(port);\n return port;\n }\n\n const devServerContext = await this.getDevServerContext(context);\n const devServer = this.reactEnv.getDevServer(devServerContext, [addDevServer, setOutput, ...this.transformers]);\n await devServer.listen(port);\n return port;\n }\n\n async runSsr(context: AppContext): Promise<AppResult> {\n const [from, to] = this.portRange;\n const port = await Port.getPort(from, to);\n\n // bundle client\n const clientBundle = await this.buildClient(context);\n if (clientBundle.errors.length > 0) return { errors: clientBundle.errors };\n this.logger?.info('[react.application] [ssr] client bundle - complete');\n\n // bundle server\n const serverBundle = await this.buildSsr(context);\n if (serverBundle.errors.length > 0) return { errors: serverBundle.errors };\n this.logger?.info('[react.application] [ssr] server bundle - complete');\n\n // load server-side runtime\n const app = await loadSsrApp(context.workdir, context.appName);\n this.logger?.info('[react.application] [ssr] bundle code - loaded');\n\n const expressApp = createExpressSsr({\n name: context.appName,\n workdir: context.workdir,\n port,\n app,\n assets: parseAssets(clientBundle.assets),\n logger: this.logger,\n });\n\n expressApp.listen(port);\n return { port };\n }\n\n private async buildClient(context: AppContext) {\n const htmlConfig: BundlerHtmlConfig[] = [\n {\n title: context.appName,\n templateContent: html(context.appName),\n minify: false,\n favicon: this.favicon,\n },\n ];\n\n // extend, including prototype methods\n const ctx: BundlerContext = Object.assign(Object.create(context), {\n html: htmlConfig,\n targets: [\n {\n entries: await this.getEntries(),\n components: [context.appComponent],\n outputPath: resolve(context.workdir, calcOutputPath(context.appName, 'browser')),\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n\n // @ts-ignore\n capsuleNetwork: undefined,\n previousTasksResults: [],\n });\n\n const bundler = await this.reactEnv.getBundler(ctx, [\n (config) => config.merge([clientConfig()]),\n ...this.transformers,\n ]);\n\n const bundleResult = await bundler.run();\n return bundleResult[0];\n }\n\n private async buildSsr(context: AppContext) {\n // extend, including prototype methods\n const ctx: BundlerContext = Object.assign(Object.create(context), {\n ...context,\n targets: [\n {\n entries: await this.getSsrEntries(),\n components: [context.appComponent],\n outputPath: resolve(context.workdir, calcOutputPath(context.appName, 'ssr')),\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n\n // @ts-ignore\n capsuleNetwork: undefined,\n previousTasksResults: [],\n });\n\n const bundler = await this.reactEnv.getBundler(ctx, [\n (config) => config.merge([ssrConfig()]),\n ...this.transformers,\n ]);\n\n const bundleResult = await bundler.run();\n return bundleResult[0];\n }\n\n async build(context: AppBuildContext): Promise<ReactAppBuildResult> {\n const htmlConfig: BundlerHtmlConfig[] = [\n {\n title: context.name,\n templateContent: html(context.name),\n minify: false,\n favicon: this.favicon,\n // filename: ''.html`,\n },\n ];\n Object.assign(context, {\n html: htmlConfig,\n });\n const bundler = await this.getBundler(context);\n const bundleResult = await bundler.run();\n\n if (this.ssr) {\n const bunlder = await this.getSsrBundler(context);\n await bunlder.run();\n }\n\n return computeResults(bundleResult, {\n publicDir: `${this.getPublicDir(context.artifactsDir)}/${this.dir}`,\n ssrPublicDir: this.ssr ? `${this.getPublicDir(context.artifactsDir)}/${this.ssrDir}` : undefined,\n });\n }\n\n private getBundler(context: AppBuildContext) {\n if (this.bundler) return this.bundler;\n return this.getDefaultBundler(context);\n }\n\n private getSsrBundler(context: AppBuildContext) {\n if (this.ssrBundler) return this.ssrBundler;\n return this.getDefaultSsrBundler(context);\n }\n\n private async getDefaultBundler(context: AppBuildContext) {\n const { capsule } = context;\n const publicDir = this.getPublicDir(context.artifactsDir);\n const outputPath = join(capsule.path, publicDir);\n\n const bundlerContext = await this.getBuildContext(context, { outputPath });\n const transformers: WebpackConfigTransformer[] = compact([\n (configMutator) => configMutator.merge(buildConfig({ outputPath: join(outputPath, this.dir) })),\n (config) => {\n if (this.prerender) config.addPlugin(prerenderPlugin(this.prerender));\n return config;\n },\n replaceTerserPlugin({ prerender: !!this.prerender }),\n ...this.transformers,\n ]);\n\n const reactEnv = context.env as ReactEnv;\n const bundler: Bundler = await reactEnv.getBundler(bundlerContext, transformers);\n return bundler;\n }\n\n private async getDefaultSsrBundler(context: AppBuildContext) {\n const { capsule } = context;\n const publicDir = this.getPublicDir(context.artifactsDir);\n const outputPath = join(capsule.path, publicDir);\n\n const bundlerContext = await this.getBuildContext(context, { outputPath });\n const transformers: WebpackConfigTransformer[] = compact([\n (configMutator) => configMutator.merge(ssrBuildConfig({ outputPath: join(outputPath, this.ssrDir) })),\n replaceTerserPlugin({ prerender: !!this.prerender }),\n ...this.transformers,\n ]);\n\n const reactEnv = context.env as ReactEnv;\n const bundler: Bundler = await reactEnv.getBundler(bundlerContext, transformers);\n return bundler;\n }\n\n private async getBuildContext(context: AppBuildContext, { outputPath }: { outputPath: string }) {\n const { capsule } = context;\n const reactEnv = context.env as ReactEnv;\n const { distDir } = reactEnv.getCompiler();\n const targetEntries = await this.getEntries(`${capsule.path}/${distDir}`);\n const entries = targetEntries.map((entry) => require.resolve(`${capsule.path}/${distDir}/${basename(entry)}`));\n\n const bundlerContext: BundlerContext = Object.assign(context, {\n targets: [\n {\n components: [capsule?.component],\n entries,\n outputPath,\n hostRootDir: capsule?.path,\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n entry: [],\n rootPath: '/',\n metaData: {\n initiator: `building app: ${context.name}`,\n envId: context.id,\n },\n });\n\n return bundlerContext;\n }\n\n private getPublicDir(artifactsDir: string) {\n return join(artifactsDir, this.applicationType, this.name);\n }\n\n async getEntries(path?: string): Promise<string[]> {\n if (Array.isArray(this.entry)) return this.entry;\n return this.entry(path);\n }\n\n async getSsrEntries(): Promise<string[]> {\n if (!this.ssr) throw new BitError('tried to build ssr without ssr entries');\n if (typeof this.ssr === 'string') return [this.ssr];\n return [await this.ssr()];\n }\n\n private async getDevServerContext(context: AppContext): Promise<DevServerContext> {\n const entries = await this.getEntries();\n return Object.assign(context, {\n entry: entries,\n rootPath: '',\n publicPath: `public/${this.name}`,\n title: this.name,\n favicon: this.favicon,\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n });\n }\n\n private getPeers(): Promise<string[]> {\n return this.reactEnv.getPeerDependenciesList();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;;;;;AAEO,MAAMA,QAAN,CAAsC;EAC3CC,WAAW,CACAC,IADA,EAEAC,KAFA,EAGAC,GAHA,EAIAC,SAJA,EAKDC,QALC,EAMAC,SANA,EAOAC,OAPA,EAQAC,UARA,EASAC,SATA,EAUAC,YAAwC,GAAG,EAV3C,EAWAC,MAXA,EAYAC,OAZA,EAaDC,MAbC,EAcT;IAAA,KAbSZ,IAaT,GAbSA,IAaT;IAAA,KAZSC,KAYT,GAZSA,KAYT;IAAA,KAXSC,GAWT,GAXSA,GAWT;IAAA,KAVSC,SAUT,GAVSA,SAUT;IAAA,KATQC,QASR,GATQA,QASR;IAAA,KARSC,SAQT,GARSA,SAQT;IAAA,KAPSC,OAOT,GAPSA,OAOT;IAAA,KANSC,UAMT,GANSA,UAMT;IAAA,KALSC,SAKT,GALSA,SAKT;IAAA,KAJSC,YAIT,GAJSA,YAIT;IAAA,KAHSC,MAGT,GAHSA,MAGT;IAAA,KAFSC,OAET,GAFSA,OAET;IAAA,KADQC,MACR,GADQA,MACR;IAAA,yDACyB,iBADzB;IAAA,6CAEa,QAFb;IAAA,gDAGgB,KAHhB;EAAE;;EAKK,MAAHC,GAAG,CAACC,OAAD,EAAuC;IAC9C,MAAM,CAACC,IAAD,EAAOC,EAAP,IAAa,KAAKb,SAAxB;IACA,MAAMc,IAAI,GAAG,MAAMC,sBAAA,CAAKC,OAAL,CAAaJ,IAAb,EAAmBC,EAAnB,CAAnB;;IAEA,IAAI,KAAKR,SAAT,EAAoB;MAClB,MAAM,KAAKA,SAAL,CAAeY,MAAf,CAAsBH,IAAtB,CAAN;MACA,OAAOA,IAAP;IACD;;IAED,MAAMI,gBAAgB,GAAG,MAAM,KAAKC,mBAAL,CAAyBR,OAAzB,CAA/B;IACA,MAAMN,SAAS,GAAG,KAAKJ,QAAL,CAAcmB,YAAd,CAA2BF,gBAA3B,EAA6C,CAACG,wBAAD,EAAeC,qBAAf,EAA0B,GAAG,KAAKhB,YAAlC,CAA7C,CAAlB;IACA,MAAMD,SAAS,CAACY,MAAV,CAAiBH,IAAjB,CAAN;IACA,OAAOA,IAAP;EACD;;EAEW,MAANS,MAAM,CAACZ,OAAD,EAA0C;IAAA;;IACpD,MAAM,CAACC,IAAD,EAAOC,EAAP,IAAa,KAAKb,SAAxB;IACA,MAAMc,IAAI,GAAG,MAAMC,sBAAA,CAAKC,OAAL,CAAaJ,IAAb,EAAmBC,EAAnB,CAAnB,CAFoD,CAIpD;;IACA,MAAMW,YAAY,GAAG,MAAM,KAAKC,WAAL,CAAiBd,OAAjB,CAA3B;IACA,IAAIa,YAAY,CAACE,MAAb,CAAoBC,MAApB,GAA6B,CAAjC,EAAoC,OAAO;MAAED,MAAM,EAAEF,YAAY,CAACE;IAAvB,CAAP;IACpC,qBAAKjB,MAAL,8DAAamB,IAAb,CAAkB,oDAAlB,EAPoD,CASpD;;IACA,MAAMC,YAAY,GAAG,MAAM,KAAKC,QAAL,CAAcnB,OAAd,CAA3B;IACA,IAAIkB,YAAY,CAACH,MAAb,CAAoBC,MAApB,GAA6B,CAAjC,EAAoC,OAAO;MAAED,MAAM,EAAEG,YAAY,CAACH;IAAvB,CAAP;IACpC,sBAAKjB,MAAL,gEAAamB,IAAb,CAAkB,oDAAlB,EAZoD,CAcpD;;IACA,MAAMG,GAAG,GAAG,MAAM,IAAAC,wBAAA,EAAWrB,OAAO,CAACsB,OAAnB,EAA4BtB,OAAO,CAACuB,OAApC,CAAlB;IACA,sBAAKzB,MAAL,gEAAamB,IAAb,CAAkB,gDAAlB;IAEA,MAAMO,UAAU,GAAG,IAAAC,8BAAA,EAAiB;MAClCvC,IAAI,EAAEc,OAAO,CAACuB,OADoB;MAElCD,OAAO,EAAEtB,OAAO,CAACsB,OAFiB;MAGlCnB,IAHkC;MAIlCiB,GAJkC;MAKlCM,MAAM,EAAE,IAAAC,yBAAA,EAAYd,YAAY,CAACa,MAAzB,CAL0B;MAMlC5B,MAAM,EAAE,KAAKA;IANqB,CAAjB,CAAnB;IASA0B,UAAU,CAAClB,MAAX,CAAkBH,IAAlB;IACA,OAAO;MAAEA;IAAF,CAAP;EACD;;EAEwB,MAAXW,WAAW,CAACd,OAAD,EAAsB;IAC7C,MAAM4B,UAA+B,GAAG,CACtC;MACEC,KAAK,EAAE7B,OAAO,CAACuB,OADjB;MAEEO,eAAe,EAAE,IAAAC,eAAA,EAAK/B,OAAO,CAACuB,OAAb,CAFnB;MAGES,MAAM,EAAE,KAHV;MAIEnC,OAAO,EAAE,KAAKA;IAJhB,CADsC,CAAxC,CAD6C,CAU7C;;IACA,MAAMoC,GAAmB,GAAGC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACE,MAAP,CAAcpC,OAAd,CAAd,EAAsC;MAChE+B,IAAI,EAAEH,UAD0D;MAEhES,OAAO,EAAE,CACP;QACEC,OAAO,EAAE,MAAM,KAAKC,UAAL,EADjB;QAEEC,UAAU,EAAE,CAACxC,OAAO,CAACyC,YAAT,CAFd;QAGEC,UAAU,EAAE,IAAAC,eAAA,EAAQ3C,OAAO,CAACsB,OAAhB,EAAyB,IAAAsB,+BAAA,EAAe5C,OAAO,CAACuB,OAAvB,EAAgC,SAAhC,CAAzB,CAHd;QAIEsB,gBAAgB,EAAE,MAAM,KAAKC,QAAL,EAJ1B;QAKEC,qBAAqB,EAAE;MALzB,CADO,CAFuD;MAYhE;MACAC,cAAc,EAAEC,SAbgD;MAchEC,oBAAoB,EAAE;IAd0C,CAAtC,CAA5B;IAiBA,MAAM1D,OAAO,GAAG,MAAM,KAAKF,QAAL,CAAc6D,UAAd,CAAyBlB,GAAzB,EAA8B,CACjDmB,MAAD,IAAYA,MAAM,CAACC,KAAP,CAAa,CAAC,IAAAC,6BAAA,GAAD,CAAb,CADsC,EAElD,GAAG,KAAK3D,YAF0C,CAA9B,CAAtB;IAKA,MAAM4D,YAAY,GAAG,MAAM/D,OAAO,CAACO,GAAR,EAA3B;IACA,OAAOwD,YAAY,CAAC,CAAD,CAAnB;EACD;;EAEqB,MAARpC,QAAQ,CAACnB,OAAD,EAAsB;IAC1C;IACA,MAAMiC,GAAmB,GAAGC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACE,MAAP,CAAcpC,OAAd,CAAd,kCACvBA,OADuB;MAE1BqC,OAAO,EAAE,CACP;QACEC,OAAO,EAAE,MAAM,KAAKkB,aAAL,EADjB;QAEEhB,UAAU,EAAE,CAACxC,OAAO,CAACyC,YAAT,CAFd;QAGEC,UAAU,EAAE,IAAAC,eAAA,EAAQ3C,OAAO,CAACsB,OAAhB,EAAyB,IAAAsB,+BAAA,EAAe5C,OAAO,CAACuB,OAAvB,EAAgC,KAAhC,CAAzB,CAHd;QAIEsB,gBAAgB,EAAE,MAAM,KAAKC,QAAL,EAJ1B;QAKEC,qBAAqB,EAAE;MALzB,CADO,CAFiB;MAY1B;MACAC,cAAc,EAAEC,SAbU;MAc1BC,oBAAoB,EAAE;IAdI,GAA5B;IAiBA,MAAM1D,OAAO,GAAG,MAAM,KAAKF,QAAL,CAAc6D,UAAd,CAAyBlB,GAAzB,EAA8B,CACjDmB,MAAD,IAAYA,MAAM,CAACC,KAAP,CAAa,CAAC,IAAAI,0BAAA,GAAD,CAAb,CADsC,EAElD,GAAG,KAAK9D,YAF0C,CAA9B,CAAtB;IAKA,MAAM4D,YAAY,GAAG,MAAM/D,OAAO,CAACO,GAAR,EAA3B;IACA,OAAOwD,YAAY,CAAC,CAAD,CAAnB;EACD;;EAEU,MAALG,KAAK,CAAC1D,OAAD,EAAyD;IAClE,MAAM4B,UAA+B,GAAG,CACtC;MACEC,KAAK,EAAE7B,OAAO,CAACd,IADjB;MAEE4C,eAAe,EAAE,IAAAC,eAAA,EAAK/B,OAAO,CAACd,IAAb,CAFnB;MAGE8C,MAAM,EAAE,KAHV;MAIEnC,OAAO,EAAE,KAAKA,OAJhB,CAKE;;IALF,CADsC,CAAxC;IASAqC,MAAM,CAACC,MAAP,CAAcnC,OAAd,EAAuB;MACrB+B,IAAI,EAAEH;IADe,CAAvB;IAGA,MAAMpC,OAAO,GAAG,MAAM,KAAK2D,UAAL,CAAgBnD,OAAhB,CAAtB;IACA,MAAMuD,YAAY,GAAG,MAAM/D,OAAO,CAACO,GAAR,EAA3B;;IAEA,IAAI,KAAKX,GAAT,EAAc;MACZ,MAAMuE,OAAO,GAAG,MAAM,KAAKC,aAAL,CAAmB5D,OAAnB,CAAtB;MACA,MAAM2D,OAAO,CAAC5D,GAAR,EAAN;IACD;;IAED,OAAO,IAAA8D,gCAAA,EAAeN,YAAf,EAA6B;MAClCO,SAAS,EAAG,GAAE,KAAKC,YAAL,CAAkB/D,OAAO,CAACgE,YAA1B,CAAwC,IAAG,KAAKC,GAAI,EADhC;MAElCC,YAAY,EAAE,KAAK9E,GAAL,GAAY,GAAE,KAAK2E,YAAL,CAAkB/D,OAAO,CAACgE,YAA1B,CAAwC,IAAG,KAAKG,MAAO,EAArE,GAAyElB;IAFrD,CAA7B,CAAP;EAID;;EAEOE,UAAU,CAACnD,OAAD,EAA2B;IAC3C,IAAI,KAAKR,OAAT,EAAkB,OAAO,KAAKA,OAAZ;IAClB,OAAO,KAAK4E,iBAAL,CAAuBpE,OAAvB,CAAP;EACD;;EAEO4D,aAAa,CAAC5D,OAAD,EAA2B;IAC9C,IAAI,KAAKP,UAAT,EAAqB,OAAO,KAAKA,UAAZ;IACrB,OAAO,KAAK4E,oBAAL,CAA0BrE,OAA1B,CAAP;EACD;;EAE8B,MAAjBoE,iBAAiB,CAACpE,OAAD,EAA2B;IACxD,MAAM;MAAEsE;IAAF,IAActE,OAApB;IACA,MAAM8D,SAAS,GAAG,KAAKC,YAAL,CAAkB/D,OAAO,CAACgE,YAA1B,CAAlB;IACA,MAAMtB,UAAU,GAAG,IAAA6B,YAAA,EAAKD,OAAO,CAACE,IAAb,EAAmBV,SAAnB,CAAnB;IAEA,MAAMW,cAAc,GAAG,MAAM,KAAKC,eAAL,CAAqB1E,OAArB,EAA8B;MAAE0C;IAAF,CAA9B,CAA7B;IACA,MAAM/C,YAAwC,GAAG,IAAAgF,iBAAA,EAAQ,CACtDC,aAAD,IAAmBA,aAAa,CAACvB,KAAd,CAAoB,IAAAwB,4BAAA,EAAY;MAAEnC,UAAU,EAAE,IAAA6B,YAAA,EAAK7B,UAAL,EAAiB,KAAKuB,GAAtB;IAAd,CAAZ,CAApB,CADoC,EAEtDb,MAAD,IAAY;MACV,IAAI,KAAK7D,SAAT,EAAoB6D,MAAM,CAAC0B,SAAP,CAAiB,IAAAC,0BAAA,EAAgB,KAAKxF,SAArB,CAAjB;MACpB,OAAO6D,MAAP;IACD,CALsD,EAMvD,IAAA4B,+BAAA,EAAoB;MAAEzF,SAAS,EAAE,CAAC,CAAC,KAAKA;IAApB,CAApB,CANuD,EAOvD,GAAG,KAAKI,YAP+C,CAAR,CAAjD;IAUA,MAAML,QAAQ,GAAGU,OAAO,CAACiF,GAAzB;IACA,MAAMzF,OAAgB,GAAG,MAAMF,QAAQ,CAAC6D,UAAT,CAAoBsB,cAApB,EAAoC9E,YAApC,CAA/B;IACA,OAAOH,OAAP;EACD;;EAEiC,MAApB6E,oBAAoB,CAACrE,OAAD,EAA2B;IAC3D,MAAM;MAAEsE;IAAF,IAActE,OAApB;IACA,MAAM8D,SAAS,GAAG,KAAKC,YAAL,CAAkB/D,OAAO,CAACgE,YAA1B,CAAlB;IACA,MAAMtB,UAAU,GAAG,IAAA6B,YAAA,EAAKD,OAAO,CAACE,IAAb,EAAmBV,SAAnB,CAAnB;IAEA,MAAMW,cAAc,GAAG,MAAM,KAAKC,eAAL,CAAqB1E,OAArB,EAA8B;MAAE0C;IAAF,CAA9B,CAA7B;IACA,MAAM/C,YAAwC,GAAG,IAAAgF,iBAAA,EAAQ,CACtDC,aAAD,IAAmBA,aAAa,CAACvB,KAAd,CAAoB,IAAA6B,+BAAA,EAAe;MAAExC,UAAU,EAAE,IAAA6B,YAAA,EAAK7B,UAAL,EAAiB,KAAKyB,MAAtB;IAAd,CAAf,CAApB,CADoC,EAEvD,IAAAa,+BAAA,EAAoB;MAAEzF,SAAS,EAAE,CAAC,CAAC,KAAKA;IAApB,CAApB,CAFuD,EAGvD,GAAG,KAAKI,YAH+C,CAAR,CAAjD;IAMA,MAAML,QAAQ,GAAGU,OAAO,CAACiF,GAAzB;IACA,MAAMzF,OAAgB,GAAG,MAAMF,QAAQ,CAAC6D,UAAT,CAAoBsB,cAApB,EAAoC9E,YAApC,CAA/B;IACA,OAAOH,OAAP;EACD;;EAE4B,MAAfkF,eAAe,CAAC1E,OAAD,EAA2B;IAAE0C;EAAF,CAA3B,EAAmE;IAC9F,MAAM;MAAE4B;IAAF,IAActE,OAApB;IACA,MAAMV,QAAQ,GAAGU,OAAO,CAACiF,GAAzB;IACA,MAAM;MAAEE;IAAF,IAAc7F,QAAQ,CAAC8F,WAAT,EAApB;IACA,MAAMC,aAAa,GAAG,MAAM,KAAK9C,UAAL,CAAiB,GAAE+B,OAAO,CAACE,IAAK,IAAGW,OAAQ,EAA3C,CAA5B;IACA,MAAM7C,OAAO,GAAG+C,aAAa,CAACC,GAAd,CAAmBnG,KAAD,IAAWoG,OAAO,CAAC5C,OAAR,CAAiB,GAAE2B,OAAO,CAACE,IAAK,IAAGW,OAAQ,IAAG,IAAAK,gBAAA,EAASrG,KAAT,CAAgB,EAA9D,CAA7B,CAAhB;IAEA,MAAMsF,cAA8B,GAAGvC,MAAM,CAACC,MAAP,CAAcnC,OAAd,EAAuB;MAC5DqC,OAAO,EAAE,CACP;QACEG,UAAU,EAAE,CAAC8B,OAAD,aAACA,OAAD,uBAACA,OAAO,CAAEmB,SAAV,CADd;QAEEnD,OAFF;QAGEI,UAHF;QAIEgD,WAAW,EAAEpB,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEE,IAJxB;QAKE3B,gBAAgB,EAAE,MAAM,KAAKC,QAAL,EAL1B;QAMEC,qBAAqB,EAAE;MANzB,CADO,CADmD;MAW5D5D,KAAK,EAAE,EAXqD;MAY5DwG,QAAQ,EAAE,GAZkD;MAa5DC,QAAQ,EAAE;QACRC,SAAS,EAAG,iBAAgB7F,OAAO,CAACd,IAAK,EADjC;QAER4G,KAAK,EAAE9F,OAAO,CAAC+F;MAFP;IAbkD,CAAvB,CAAvC;IAmBA,OAAOtB,cAAP;EACD;;EAEOV,YAAY,CAACC,YAAD,EAAuB;IACzC,OAAO,IAAAO,YAAA,EAAKP,YAAL,EAAmB,KAAKgC,eAAxB,EAAyC,KAAK9G,IAA9C,CAAP;EACD;;EAEe,MAAVqD,UAAU,CAACiC,IAAD,EAAmC;IACjD,IAAIyB,KAAK,CAACC,OAAN,CAAc,KAAK/G,KAAnB,CAAJ,EAA+B,OAAO,KAAKA,KAAZ;IAC/B,OAAO,KAAKA,KAAL,CAAWqF,IAAX,CAAP;EACD;;EAEkB,MAAbhB,aAAa,GAAsB;IACvC,IAAI,CAAC,KAAKpE,GAAV,EAAe,MAAM,KAAI+G,oBAAJ,EAAa,wCAAb,CAAN;IACf,IAAI,OAAO,KAAK/G,GAAZ,KAAoB,QAAxB,EAAkC,OAAO,CAAC,KAAKA,GAAN,CAAP;IAClC,OAAO,CAAC,MAAM,KAAKA,GAAL,EAAP,CAAP;EACD;;EAEgC,MAAnBoB,mBAAmB,CAACR,OAAD,EAAiD;IAChF,MAAMsC,OAAO,GAAG,MAAM,KAAKC,UAAL,EAAtB;IACA,OAAOL,MAAM,CAACC,MAAP,CAAcnC,OAAd,EAAuB;MAC5Bb,KAAK,EAAEmD,OADqB;MAE5BqD,QAAQ,EAAE,EAFkB;MAG5BS,UAAU,EAAG,UAAS,KAAKlH,IAAK,EAHJ;MAI5B2C,KAAK,EAAE,KAAK3C,IAJgB;MAK5BW,OAAO,EAAE,KAAKA,OALc;MAM5BgD,gBAAgB,EAAE,MAAM,KAAKC,QAAL,EANI;MAO5BC,qBAAqB,EAAE;IAPK,CAAvB,CAAP;EASD;;EAEOD,QAAQ,GAAsB;IACpC,OAAO,KAAKxD,QAAL,CAAc+G,uBAAd,EAAP;EACD;;AAzQ0C"}
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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"}
@@ -0,0 +1,52 @@
1
+ const Express = require('express');
2
+ const { readFileSync } = require('fs');
3
+ const { browserFromExpress } = require('@teambit/react.rendering.ssr');
4
+ const { join, resolve } = require('path');
5
+
6
+ const client = './public';
7
+ const ssrPath = './ssr';
8
+ const mainFile = 'index.html';
9
+
10
+ // eslint-disable-next-line
11
+ const entry = require(`./${ssrPath}`);
12
+ const manifest = JSON.parse(readFileSync(join(client, 'assets-manifest.json')).toString());
13
+ const options = process?.argv?.slice(2)?.[0] ? JSON.parse(process?.argv?.slice(2)?.[0]) : {};
14
+
15
+ const assetsArray = Object.values(manifest);
16
+ const assets = {
17
+ css: assetsArray.filter((id) => id.endsWith && id.endsWith('.css')).map((name) => join(name)),
18
+ js: assetsArray.filter((id) => id.endsWith && id.endsWith('.js')).map((name) => join(name)),
19
+ };
20
+
21
+ const app = Express();
22
+ const ssrApp = entry?.default;
23
+ if (!ssrApp) throw new Error(`bundle entry file has no default export (at "${entry}")`);
24
+
25
+ app.use('/', Express.static(resolve(client)));
26
+ app.use((request, response, next) => {
27
+ if (request.query._rendering !== 'client') {
28
+ next();
29
+ return;
30
+ }
31
+ response.sendFile(resolve(client, mainFile));
32
+ });
33
+
34
+ const port = options?.port || 3000;
35
+
36
+ app.use(async (request, response) => {
37
+ const browser = browserFromExpress(request, port);
38
+ const session = { assets, browser, request, response };
39
+
40
+ try {
41
+ // the app itself controls the response
42
+ await ssrApp(session);
43
+ } catch (error) {
44
+ // eslint-disable-next-line
45
+ console.log(error);
46
+ response.sendFile(resolve(client, mainFile));
47
+ }
48
+ });
49
+
50
+ app.listen(port, () => {
51
+ console.log(`Listening to requests on ${port}`);
52
+ });
@@ -74,12 +74,13 @@ export declare class ReactMain {
74
74
  private envs;
75
75
  private application;
76
76
  private reactAppType;
77
- private logger?;
77
+ private dependencyResolver;
78
+ private logger;
78
79
  constructor(
79
80
  /**
80
81
  * an instance of the React env.
81
82
  */
82
- reactEnv: ReactEnv, envs: EnvsMain, application: ApplicationMain, reactAppType: ReactAppType, logger?: Logger | undefined);
83
+ reactEnv: ReactEnv, envs: EnvsMain, application: ApplicationMain, reactAppType: ReactAppType, dependencyResolver: DependencyResolverMain, logger: Logger);
83
84
  readonly env: ReactEnv;
84
85
  getReactAppType(name: string): ReactAppType;
85
86
  /**
@@ -272,17 +272,18 @@ class ReactMain {
272
272
  /**
273
273
  * an instance of the React env.
274
274
  */
275
- reactEnv, envs, application, reactAppType, logger) {
275
+ reactEnv, envs, application, reactAppType, dependencyResolver, logger) {
276
276
  this.reactEnv = reactEnv;
277
277
  this.envs = envs;
278
278
  this.application = application;
279
279
  this.reactAppType = reactAppType;
280
+ this.dependencyResolver = dependencyResolver;
280
281
  this.logger = logger;
281
282
  (0, _defineProperty2().default)(this, "env", this.reactEnv);
282
283
  }
283
284
 
284
285
  getReactAppType(name) {
285
- return new (_web().ReactAppType)(name, this.reactEnv, this.logger);
286
+ return new (_web().ReactAppType)(name, this.reactEnv, this.logger, this.dependencyResolver);
286
287
  }
287
288
  /**
288
289
  * use this to register apps programmatically.
@@ -589,8 +590,8 @@ class ReactMain {
589
590
  static async provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, prettier, application, generator, dependencyResolver, loggerMain], config) {
590
591
  const logger = loggerMain.createLogger(_react().ReactAspect.id);
591
592
  const reactEnv = new (_react2().ReactEnv)(jestAspect, tsAspect, compiler, webpack, workspace, pkg, tester, config, eslint, prettier, dependencyResolver, logger, _compiler().CompilerAspect.id);
592
- const appType = new (_web().ReactAppType)('react-app', reactEnv, logger);
593
- const react = new ReactMain(reactEnv, envs, application, appType, logger);
593
+ const appType = new (_web().ReactAppType)('react-app', reactEnv, logger, dependencyResolver);
594
+ const react = new ReactMain(reactEnv, envs, application, appType, dependencyResolver, logger);
594
595
  graphql.register((0, _react3().reactSchema)(react));
595
596
  envs.registerEnv(reactEnv);
596
597
  generator.registerComponentTemplate(_react4().componentTemplates);
@@ -1 +1 @@
1
- {"version":3,"names":["ReactMain","constructor","reactEnv","envs","application","reactAppType","logger","getReactAppType","name","ReactAppType","registerApp","reactApp","createApp","useTypescript","modifiers","tsModule","ts","overrides","devTransformers","devConfig","getCompiler","buildTransformers","buildConfig","buildPipeModifiers","tsModifier","transformers","module","getBuildPipe","override","overrideTsConfig","tsconfig","compilerOptions","transformer","configMutator","mergeTsConfig","raw","compileJs","compileJsx","types","addTypes","genericCompilerOptions","omit","Object","assign","overrideDocsTemplate","templatePath","getDevEnvId","context","envDefinition","id","getDocsTemplate","overrideBuildTsConfig","useWebpack","devServerTransformers","devServerConfig","getDevServer","previewTransformers","previewConfig","getBundler","useEslint","getLinter","usePrettier","getFormatter","overrideDevServerConfig","config","merge","overridePreviewConfig","overrideMounter","mounterPath","getMounter","compose","targetEnv","overrideJestConfig","jestConfigPath","jestModulePath","getTester","overrideBuildPipe","tasks","overrideCompilerTasks","pipeWithoutCompiler","getBuildPipeWithoutCompiler","overrideDependencies","dependencyPolicy","getDependencies","reactDeps","mergeDeepLeft","overrideCompiler","compiler","overrideEslintConfig","overridePackageJsonProps","props","getPackageJsonProps","getDocs","component","docsArray","state","_consumer","docs","abstract","description","filePath","properties","provider","jestAspect","tsAspect","webpack","workspace","graphql","pkg","tester","eslint","prettier","generator","dependencyResolver","loggerMain","createLogger","ReactAspect","ReactEnv","CompilerAspect","appType","react","register","reactSchema","registerEnv","registerComponentTemplate","componentTemplates","registerWorkspaceTemplate","workspaceTemplates","registerAppType","MainRuntime","EnvsAspect","JestAspect","TypescriptAspect","WebpackAspect","WorkspaceAspect","GraphqlAspect","PkgAspect","TesterAspect","ESLintAspect","PrettierAspect","ApplicationAspect","GeneratorAspect","DependencyResolverAspect","LoggerAspect","addRuntime"],"sources":["react.main.runtime.ts"],"sourcesContent":["import mergeDeepLeft from 'ramda/src/mergeDeepLeft';\nimport { omit } from 'lodash';\nimport { MainRuntime } from '@teambit/cli';\nimport type { CompilerMain } from '@teambit/compiler';\nimport { CompilerAspect, Compiler } from '@teambit/compiler';\nimport { BuildTask } from '@teambit/builder';\nimport { Component } from '@teambit/component';\nimport { EnvsAspect, EnvsMain, EnvTransformer, Environment } from '@teambit/envs';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { JestMain } from '@teambit/jest';\nimport { JestAspect } from '@teambit/jest';\nimport type { PkgMain, PackageJsonProps } from '@teambit/pkg';\nimport { PkgAspect } from '@teambit/pkg';\nimport type { TesterMain } from '@teambit/tester';\nimport { TesterAspect } from '@teambit/tester';\nimport type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransformer } from '@teambit/typescript';\nimport { TypescriptAspect } from '@teambit/typescript';\nimport type { WebpackMain, Configuration, WebpackConfigTransformer } from '@teambit/webpack';\nimport { WebpackAspect } from '@teambit/webpack';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { DevServerContext, BundlerContext } from '@teambit/bundler';\nimport { DependencyResolverAspect, DependencyResolverMain, EnvPolicyConfigObject } from '@teambit/dependency-resolver';\nimport ts from 'typescript';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { FormatterContext } from '@teambit/formatter';\nimport { LinterContext } from '@teambit/linter';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ESLintMain, ESLintAspect, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierMain, PrettierAspect, PrettierConfigTransformer } from '@teambit/prettier';\nimport { ReactAspect } from './react.aspect';\nimport { ReactEnv } from './react.env';\nimport { ReactAppType } from './apps/web';\nimport { reactSchema } from './react.graphql';\nimport { componentTemplates, workspaceTemplates } from './react.templates';\nimport { ReactAppOptions } from './apps/web/react-app-options';\n\ntype ReactDeps = [\n EnvsMain,\n JestMain,\n TypescriptMain,\n CompilerMain,\n WebpackMain,\n Workspace,\n GraphqlMain,\n PkgMain,\n TesterMain,\n ESLintMain,\n PrettierMain,\n ApplicationMain,\n GeneratorMain,\n DependencyResolverMain,\n LoggerMain\n];\n\nexport type ReactMainConfig = {\n /**\n * configure the react env compiler.\n * can be configured to either TypeScript ('ts') or Babel ('babel').\n */\n compiler: 'babel' | 'ts';\n\n /**\n * configure the component tester.\n * can be either Jest ('jest') or Mocha ('mocha')\n */\n tester: 'jest' | 'mocha';\n\n /**\n * version of React to configure.\n */\n reactVersion: string;\n};\n\nexport type UseWebpackModifiers = {\n previewConfig?: WebpackConfigTransformer[];\n devServerConfig?: WebpackConfigTransformer[];\n};\n\nexport type UseTypescriptModifiers = {\n buildConfig?: TsConfigTransformer[];\n devConfig?: TsConfigTransformer[];\n};\n\nexport type UseEslintModifiers = {\n transformers: EslintConfigTransformer[];\n};\nexport type UsePrettierModifiers = {\n transformers: PrettierConfigTransformer[];\n};\n\nexport class ReactMain {\n constructor(\n /**\n * an instance of the React env.\n */\n readonly reactEnv: ReactEnv,\n\n private envs: EnvsMain,\n\n private application: ApplicationMain,\n\n private reactAppType: ReactAppType,\n\n private logger?: Logger,\n ) {}\n\n readonly env = this.reactEnv;\n\n getReactAppType(name: string) {\n return new ReactAppType(name, this.reactEnv, this.logger);\n }\n\n /**\n * use this to register apps programmatically.\n */\n async registerApp(reactApp: ReactAppOptions) {\n return this.application.registerApp(this.reactAppType.createApp(reactApp));\n }\n\n /**\n * override the env's typescript config for both dev and build time.\n * Replaces both overrideTsConfig (devConfig) and overrideBuildTsConfig (buildConfig)\n */\n useTypescript(modifiers?: UseTypescriptModifiers, tsModule: any = ts) {\n const overrides: any = {};\n const devTransformers = modifiers?.devConfig;\n if (devTransformers) {\n overrides.getCompiler = () => this.reactEnv.getCompiler(devTransformers, tsModule);\n }\n const buildTransformers = modifiers?.buildConfig;\n if (buildTransformers) {\n const buildPipeModifiers = {\n tsModifier: {\n transformers: buildTransformers,\n module: tsModule,\n },\n };\n overrides.getBuildPipe = () => this.reactEnv.getBuildPipe(buildPipeModifiers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * @deprecated use useTypescript()\n * override the TS config of the React environment.\n * @param tsModule typeof `ts` module instance.\n */\n overrideTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getCompiler: () => this.reactEnv.getCompiler([transformer], tsModule),\n // });\n return this.useTypescript({ devConfig: [transformer] }, tsModule);\n }\n\n /**\n * Override the Bit documentation link. See docs: https://bit.dev/docs/docs/doc-templates\n */\n overrideDocsTemplate(templatePath: string) {\n return this.envs.override({\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n getDocsTemplate: () => templatePath,\n });\n }\n\n /**\n * @deprecated use useTypescript()\n * override the build tsconfig.\n */\n overrideBuildTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getBuildPipe: () => this.reactEnv.getBuildPipe([transformer], tsModule),\n // });\n return this.useTypescript({ buildConfig: [transformer] }, tsModule);\n }\n\n /**\n * override the env's dev server and preview webpack configurations.\n * Replaces both overrideDevServerConfig and overridePreviewConfig\n */\n useWebpack(modifiers?: UseWebpackModifiers): EnvTransformer {\n const overrides: any = {};\n const devServerTransformers = modifiers?.devServerConfig;\n if (devServerTransformers) {\n overrides.getDevServer = (context: DevServerContext) =>\n this.reactEnv.getDevServer(context, devServerTransformers);\n overrides.getDevEnvId = (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id);\n }\n const previewTransformers = modifiers?.previewConfig;\n if (previewTransformers) {\n overrides.getBundler = (context: BundlerContext) => this.reactEnv.getBundler(context, previewTransformers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n useEslint(modifiers?: UseEslintModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getLinter: (context: LinterContext) => this.reactEnv.getLinter(context, transformers),\n });\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n usePrettier(modifiers?: UsePrettierModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getFormatter: (context: FormatterContext) => this.reactEnv.getFormatter(context, transformers),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the dev server webpack config.\n */\n overrideDevServerConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n\n return this.envs.override({\n getDevServer: (context: DevServerContext) => this.reactEnv.getDevServer(context, [transformer]),\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the preview webpack config.\n */\n overridePreviewConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n return this.envs.override({\n getBundler: (context: BundlerContext) => this.reactEnv.getBundler(context, [transformer]),\n });\n }\n\n overrideMounter(mounterPath: string) {\n return this.envs.override({\n getMounter: () => {\n return mounterPath;\n },\n });\n }\n\n /**\n * create a new composition of the react environment.\n */\n compose(transformers: EnvTransformer[], targetEnv: Environment = {}) {\n return this.envs.compose(this.envs.merge(targetEnv, this.reactEnv), transformers);\n }\n\n /**\n * override the jest configuration.\n * @param jestConfigPath {typeof jest} absolute path to jest.config.json.\n * @param jestModulePath absolute path to jest\n */\n overrideJestConfig(jestConfigPath: string, jestModulePath?: string) {\n return this.envs.override({\n getTester: () => this.reactEnv.getTester(jestConfigPath, jestModulePath),\n });\n }\n\n /**\n * override the build pipeline of the component environment.\n */\n overrideBuildPipe(tasks: BuildTask[]) {\n return this.envs.override({\n getBuildPipe: () => tasks,\n });\n }\n\n /**\n * override the compiler tasks inside the build pipeline of the component environment.\n */\n overrideCompilerTasks(tasks: BuildTask[]) {\n const pipeWithoutCompiler = this.reactEnv.getBuildPipeWithoutCompiler();\n\n return this.envs.override({\n getBuildPipe: () => [...tasks, ...pipeWithoutCompiler],\n });\n }\n\n /**\n * override the dependency configuration of the component environment.\n */\n overrideDependencies(dependencyPolicy: EnvPolicyConfigObject) {\n return this.envs.override({\n getDependencies: async () => {\n const reactDeps = await this.reactEnv.getDependencies();\n return mergeDeepLeft(dependencyPolicy, reactDeps);\n },\n });\n }\n\n /**\n * override the workspace compiler.\n */\n overrideCompiler(compiler: Compiler) {\n return this.envs.override({\n getCompiler: () => {\n return compiler;\n },\n });\n }\n\n /**\n * TODO: @gilad we need to implement this.\n */\n overrideEslintConfig() {}\n\n /**\n * override the package json props of the component environment.\n */\n overridePackageJsonProps(props: PackageJsonProps) {\n return this.envs.override({\n getPackageJsonProps: () => {\n return {\n ...this.reactEnv.getPackageJsonProps(),\n ...props,\n };\n },\n });\n }\n\n /**\n * returns doc adjusted specifically for react components.\n */\n getDocs(component: Component) {\n const docsArray = component.state._consumer.docs;\n if (!docsArray || !docsArray[0]) {\n return null;\n }\n\n const docs = docsArray[0];\n\n return {\n abstract: docs.description,\n filePath: docs.filePath,\n properties: docs.properties,\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n EnvsAspect,\n JestAspect,\n TypescriptAspect,\n CompilerAspect,\n WebpackAspect,\n WorkspaceAspect,\n GraphqlAspect,\n PkgAspect,\n TesterAspect,\n ESLintAspect,\n PrettierAspect,\n ApplicationAspect,\n GeneratorAspect,\n DependencyResolverAspect,\n LoggerAspect,\n ];\n\n static async provider(\n [\n envs,\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n graphql,\n pkg,\n tester,\n eslint,\n prettier,\n application,\n generator,\n dependencyResolver,\n loggerMain,\n ]: ReactDeps,\n config: ReactMainConfig\n ) {\n const logger = loggerMain.createLogger(ReactAspect.id);\n const reactEnv = new ReactEnv(\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n pkg,\n tester,\n config,\n eslint,\n prettier,\n dependencyResolver,\n logger,\n CompilerAspect.id\n );\n const appType = new ReactAppType('react-app', reactEnv, logger);\n const react = new ReactMain(reactEnv, envs, application, appType, logger);\n graphql.register(reactSchema(react));\n envs.registerEnv(reactEnv);\n generator.registerComponentTemplate(componentTemplates);\n generator.registerWorkspaceTemplate(workspaceTemplates);\n application.registerAppType(appType);\n\n return react;\n }\n}\n\nReactAspect.addRuntime(ReactMain);\n"],"mappings":"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"}
1
+ {"version":3,"names":["ReactMain","constructor","reactEnv","envs","application","reactAppType","dependencyResolver","logger","getReactAppType","name","ReactAppType","registerApp","reactApp","createApp","useTypescript","modifiers","tsModule","ts","overrides","devTransformers","devConfig","getCompiler","buildTransformers","buildConfig","buildPipeModifiers","tsModifier","transformers","module","getBuildPipe","override","overrideTsConfig","tsconfig","compilerOptions","transformer","configMutator","mergeTsConfig","raw","compileJs","compileJsx","types","addTypes","genericCompilerOptions","omit","Object","assign","overrideDocsTemplate","templatePath","getDevEnvId","context","envDefinition","id","getDocsTemplate","overrideBuildTsConfig","useWebpack","devServerTransformers","devServerConfig","getDevServer","previewTransformers","previewConfig","getBundler","useEslint","getLinter","usePrettier","getFormatter","overrideDevServerConfig","config","merge","overridePreviewConfig","overrideMounter","mounterPath","getMounter","compose","targetEnv","overrideJestConfig","jestConfigPath","jestModulePath","getTester","overrideBuildPipe","tasks","overrideCompilerTasks","pipeWithoutCompiler","getBuildPipeWithoutCompiler","overrideDependencies","dependencyPolicy","getDependencies","reactDeps","mergeDeepLeft","overrideCompiler","compiler","overrideEslintConfig","overridePackageJsonProps","props","getPackageJsonProps","getDocs","component","docsArray","state","_consumer","docs","abstract","description","filePath","properties","provider","jestAspect","tsAspect","webpack","workspace","graphql","pkg","tester","eslint","prettier","generator","loggerMain","createLogger","ReactAspect","ReactEnv","CompilerAspect","appType","react","register","reactSchema","registerEnv","registerComponentTemplate","componentTemplates","registerWorkspaceTemplate","workspaceTemplates","registerAppType","MainRuntime","EnvsAspect","JestAspect","TypescriptAspect","WebpackAspect","WorkspaceAspect","GraphqlAspect","PkgAspect","TesterAspect","ESLintAspect","PrettierAspect","ApplicationAspect","GeneratorAspect","DependencyResolverAspect","LoggerAspect","addRuntime"],"sources":["react.main.runtime.ts"],"sourcesContent":["import mergeDeepLeft from 'ramda/src/mergeDeepLeft';\nimport { omit } from 'lodash';\nimport { MainRuntime } from '@teambit/cli';\nimport type { CompilerMain } from '@teambit/compiler';\nimport { CompilerAspect, Compiler } from '@teambit/compiler';\nimport { BuildTask } from '@teambit/builder';\nimport { Component } from '@teambit/component';\nimport { EnvsAspect, EnvsMain, EnvTransformer, Environment } from '@teambit/envs';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { JestMain } from '@teambit/jest';\nimport { JestAspect } from '@teambit/jest';\nimport type { PkgMain, PackageJsonProps } from '@teambit/pkg';\nimport { PkgAspect } from '@teambit/pkg';\nimport type { TesterMain } from '@teambit/tester';\nimport { TesterAspect } from '@teambit/tester';\nimport type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransformer } from '@teambit/typescript';\nimport { TypescriptAspect } from '@teambit/typescript';\nimport type { WebpackMain, Configuration, WebpackConfigTransformer } from '@teambit/webpack';\nimport { WebpackAspect } from '@teambit/webpack';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { DevServerContext, BundlerContext } from '@teambit/bundler';\nimport { DependencyResolverAspect, DependencyResolverMain, EnvPolicyConfigObject } from '@teambit/dependency-resolver';\nimport ts from 'typescript';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { FormatterContext } from '@teambit/formatter';\nimport { LinterContext } from '@teambit/linter';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ESLintMain, ESLintAspect, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierMain, PrettierAspect, PrettierConfigTransformer } from '@teambit/prettier';\nimport { ReactAspect } from './react.aspect';\nimport { ReactEnv } from './react.env';\nimport { ReactAppType } from './apps/web';\nimport { reactSchema } from './react.graphql';\nimport { componentTemplates, workspaceTemplates } from './react.templates';\nimport { ReactAppOptions } from './apps/web/react-app-options';\n\ntype ReactDeps = [\n EnvsMain,\n JestMain,\n TypescriptMain,\n CompilerMain,\n WebpackMain,\n Workspace,\n GraphqlMain,\n PkgMain,\n TesterMain,\n ESLintMain,\n PrettierMain,\n ApplicationMain,\n GeneratorMain,\n DependencyResolverMain,\n LoggerMain\n];\n\nexport type ReactMainConfig = {\n /**\n * configure the react env compiler.\n * can be configured to either TypeScript ('ts') or Babel ('babel').\n */\n compiler: 'babel' | 'ts';\n\n /**\n * configure the component tester.\n * can be either Jest ('jest') or Mocha ('mocha')\n */\n tester: 'jest' | 'mocha';\n\n /**\n * version of React to configure.\n */\n reactVersion: string;\n};\n\nexport type UseWebpackModifiers = {\n previewConfig?: WebpackConfigTransformer[];\n devServerConfig?: WebpackConfigTransformer[];\n};\n\nexport type UseTypescriptModifiers = {\n buildConfig?: TsConfigTransformer[];\n devConfig?: TsConfigTransformer[];\n};\n\nexport type UseEslintModifiers = {\n transformers: EslintConfigTransformer[];\n};\nexport type UsePrettierModifiers = {\n transformers: PrettierConfigTransformer[];\n};\n\nexport class ReactMain {\n constructor(\n /**\n * an instance of the React env.\n */\n readonly reactEnv: ReactEnv,\n\n private envs: EnvsMain,\n\n private application: ApplicationMain,\n\n private reactAppType: ReactAppType,\n\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger\n ) {}\n\n readonly env = this.reactEnv;\n\n getReactAppType(name: string) {\n return new ReactAppType(name, this.reactEnv, this.logger, this.dependencyResolver);\n }\n\n /**\n * use this to register apps programmatically.\n */\n async registerApp(reactApp: ReactAppOptions) {\n return this.application.registerApp(this.reactAppType.createApp(reactApp));\n }\n\n /**\n * override the env's typescript config for both dev and build time.\n * Replaces both overrideTsConfig (devConfig) and overrideBuildTsConfig (buildConfig)\n */\n useTypescript(modifiers?: UseTypescriptModifiers, tsModule: any = ts) {\n const overrides: any = {};\n const devTransformers = modifiers?.devConfig;\n if (devTransformers) {\n overrides.getCompiler = () => this.reactEnv.getCompiler(devTransformers, tsModule);\n }\n const buildTransformers = modifiers?.buildConfig;\n if (buildTransformers) {\n const buildPipeModifiers = {\n tsModifier: {\n transformers: buildTransformers,\n module: tsModule,\n },\n };\n overrides.getBuildPipe = () => this.reactEnv.getBuildPipe(buildPipeModifiers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * @deprecated use useTypescript()\n * override the TS config of the React environment.\n * @param tsModule typeof `ts` module instance.\n */\n overrideTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getCompiler: () => this.reactEnv.getCompiler([transformer], tsModule),\n // });\n return this.useTypescript({ devConfig: [transformer] }, tsModule);\n }\n\n /**\n * Override the Bit documentation link. See docs: https://bit.dev/docs/docs/doc-templates\n */\n overrideDocsTemplate(templatePath: string) {\n return this.envs.override({\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n getDocsTemplate: () => templatePath,\n });\n }\n\n /**\n * @deprecated use useTypescript()\n * override the build tsconfig.\n */\n overrideBuildTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getBuildPipe: () => this.reactEnv.getBuildPipe([transformer], tsModule),\n // });\n return this.useTypescript({ buildConfig: [transformer] }, tsModule);\n }\n\n /**\n * override the env's dev server and preview webpack configurations.\n * Replaces both overrideDevServerConfig and overridePreviewConfig\n */\n useWebpack(modifiers?: UseWebpackModifiers): EnvTransformer {\n const overrides: any = {};\n const devServerTransformers = modifiers?.devServerConfig;\n if (devServerTransformers) {\n overrides.getDevServer = (context: DevServerContext) =>\n this.reactEnv.getDevServer(context, devServerTransformers);\n overrides.getDevEnvId = (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id);\n }\n const previewTransformers = modifiers?.previewConfig;\n if (previewTransformers) {\n overrides.getBundler = (context: BundlerContext) => this.reactEnv.getBundler(context, previewTransformers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n useEslint(modifiers?: UseEslintModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getLinter: (context: LinterContext) => this.reactEnv.getLinter(context, transformers),\n });\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n usePrettier(modifiers?: UsePrettierModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getFormatter: (context: FormatterContext) => this.reactEnv.getFormatter(context, transformers),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the dev server webpack config.\n */\n overrideDevServerConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n\n return this.envs.override({\n getDevServer: (context: DevServerContext) => this.reactEnv.getDevServer(context, [transformer]),\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the preview webpack config.\n */\n overridePreviewConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n return this.envs.override({\n getBundler: (context: BundlerContext) => this.reactEnv.getBundler(context, [transformer]),\n });\n }\n\n overrideMounter(mounterPath: string) {\n return this.envs.override({\n getMounter: () => {\n return mounterPath;\n },\n });\n }\n\n /**\n * create a new composition of the react environment.\n */\n compose(transformers: EnvTransformer[], targetEnv: Environment = {}) {\n return this.envs.compose(this.envs.merge(targetEnv, this.reactEnv), transformers);\n }\n\n /**\n * override the jest configuration.\n * @param jestConfigPath {typeof jest} absolute path to jest.config.json.\n * @param jestModulePath absolute path to jest\n */\n overrideJestConfig(jestConfigPath: string, jestModulePath?: string) {\n return this.envs.override({\n getTester: () => this.reactEnv.getTester(jestConfigPath, jestModulePath),\n });\n }\n\n /**\n * override the build pipeline of the component environment.\n */\n overrideBuildPipe(tasks: BuildTask[]) {\n return this.envs.override({\n getBuildPipe: () => tasks,\n });\n }\n\n /**\n * override the compiler tasks inside the build pipeline of the component environment.\n */\n overrideCompilerTasks(tasks: BuildTask[]) {\n const pipeWithoutCompiler = this.reactEnv.getBuildPipeWithoutCompiler();\n\n return this.envs.override({\n getBuildPipe: () => [...tasks, ...pipeWithoutCompiler],\n });\n }\n\n /**\n * override the dependency configuration of the component environment.\n */\n overrideDependencies(dependencyPolicy: EnvPolicyConfigObject) {\n return this.envs.override({\n getDependencies: async () => {\n const reactDeps = await this.reactEnv.getDependencies();\n return mergeDeepLeft(dependencyPolicy, reactDeps);\n },\n });\n }\n\n /**\n * override the workspace compiler.\n */\n overrideCompiler(compiler: Compiler) {\n return this.envs.override({\n getCompiler: () => {\n return compiler;\n },\n });\n }\n\n /**\n * TODO: @gilad we need to implement this.\n */\n overrideEslintConfig() {}\n\n /**\n * override the package json props of the component environment.\n */\n overridePackageJsonProps(props: PackageJsonProps) {\n return this.envs.override({\n getPackageJsonProps: () => {\n return {\n ...this.reactEnv.getPackageJsonProps(),\n ...props,\n };\n },\n });\n }\n\n /**\n * returns doc adjusted specifically for react components.\n */\n getDocs(component: Component) {\n const docsArray = component.state._consumer.docs;\n if (!docsArray || !docsArray[0]) {\n return null;\n }\n\n const docs = docsArray[0];\n\n return {\n abstract: docs.description,\n filePath: docs.filePath,\n properties: docs.properties,\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n EnvsAspect,\n JestAspect,\n TypescriptAspect,\n CompilerAspect,\n WebpackAspect,\n WorkspaceAspect,\n GraphqlAspect,\n PkgAspect,\n TesterAspect,\n ESLintAspect,\n PrettierAspect,\n ApplicationAspect,\n GeneratorAspect,\n DependencyResolverAspect,\n LoggerAspect,\n ];\n\n static async provider(\n [\n envs,\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n graphql,\n pkg,\n tester,\n eslint,\n prettier,\n application,\n generator,\n dependencyResolver,\n loggerMain,\n ]: ReactDeps,\n config: ReactMainConfig\n ) {\n const logger = loggerMain.createLogger(ReactAspect.id);\n const reactEnv = new ReactEnv(\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n pkg,\n tester,\n config,\n eslint,\n prettier,\n dependencyResolver,\n logger,\n CompilerAspect.id\n );\n const appType = new ReactAppType('react-app', reactEnv, logger, dependencyResolver);\n const react = new ReactMain(reactEnv, envs, application, appType, dependencyResolver, logger);\n graphql.register(reactSchema(react));\n envs.registerEnv(reactEnv);\n generator.registerComponentTemplate(componentTemplates);\n generator.registerWorkspaceTemplate(workspaceTemplates);\n application.registerAppType(appType);\n\n return react;\n }\n}\n\nReactAspect.addRuntime(ReactMain);\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/react",
3
- "version": "0.0.821",
3
+ "version": "0.0.824",
4
4
  "homepage": "https://bit.dev/teambit/react/react",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.react",
8
8
  "name": "react",
9
- "version": "0.0.821"
9
+ "version": "0.0.824"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -84,37 +84,37 @@
84
84
  "@teambit/react.rendering.ssr": "0.0.3",
85
85
  "@teambit/compositions.ui.hooks.use-composition": "0.0.163",
86
86
  "@teambit/design.ui.tooltip": "0.0.352",
87
- "@teambit/builder": "0.0.821",
88
- "@teambit/bundler": "0.0.821",
89
- "@teambit/compiler": "0.0.821",
87
+ "@teambit/builder": "0.0.824",
88
+ "@teambit/bundler": "0.0.824",
89
+ "@teambit/compiler": "0.0.824",
90
90
  "@teambit/component.modules.component-url": "0.0.128",
91
- "@teambit/component": "0.0.821",
92
- "@teambit/dependency-resolver": "0.0.821",
93
- "@teambit/envs": "0.0.821",
94
- "@teambit/eslint": "0.0.821",
95
- "@teambit/formatter": "0.0.372",
96
- "@teambit/jest": "0.0.821",
97
- "@teambit/linter": "0.0.821",
98
- "@teambit/logger": "0.0.642",
99
- "@teambit/pkg": "0.0.821",
100
- "@teambit/prettier": "0.0.372",
91
+ "@teambit/component": "0.0.824",
92
+ "@teambit/dependency-resolver": "0.0.824",
93
+ "@teambit/envs": "0.0.824",
94
+ "@teambit/eslint": "0.0.824",
95
+ "@teambit/formatter": "0.0.375",
96
+ "@teambit/jest": "0.0.824",
97
+ "@teambit/linter": "0.0.824",
98
+ "@teambit/logger": "0.0.645",
99
+ "@teambit/pkg": "0.0.824",
100
+ "@teambit/prettier": "0.0.375",
101
101
  "@teambit/react.ui.compositions-app": "0.0.2",
102
- "@teambit/react.ui.docs-app": "0.0.183",
102
+ "@teambit/react.ui.docs-app": "0.0.184",
103
103
  "@teambit/react.ui.highlighter.component-metadata.bit-component-meta": "0.0.21",
104
- "@teambit/schema": "0.0.821",
105
- "@teambit/tester": "0.0.821",
106
- "@teambit/typescript": "0.0.821",
107
- "@teambit/webpack": "0.0.821",
108
- "@teambit/workspace": "0.0.821",
109
- "@teambit/application": "0.0.463",
110
- "@teambit/cli": "0.0.549",
111
- "@teambit/generator": "0.0.821",
112
- "@teambit/graphql": "0.0.821",
113
- "@teambit/preview": "0.0.821",
104
+ "@teambit/schema": "0.0.824",
105
+ "@teambit/tester": "0.0.824",
106
+ "@teambit/typescript": "0.0.824",
107
+ "@teambit/webpack": "0.0.824",
108
+ "@teambit/workspace": "0.0.824",
109
+ "@teambit/application": "0.0.466",
110
+ "@teambit/cli": "0.0.552",
111
+ "@teambit/generator": "0.0.824",
112
+ "@teambit/graphql": "0.0.824",
113
+ "@teambit/preview": "0.0.824",
114
114
  "@teambit/react.ui.highlighter-provider": "0.0.190",
115
- "@teambit/compositions": "0.0.821",
116
- "@teambit/ui": "0.0.821",
117
- "@teambit/react.eslint-config-bit-react": "0.0.623",
115
+ "@teambit/compositions": "0.0.824",
116
+ "@teambit/ui": "0.0.824",
117
+ "@teambit/react.eslint-config-bit-react": "0.0.626",
118
118
  "@teambit/mdx.modules.mdx-loader": "0.0.492",
119
119
  "@teambit/react.babel.bit-react-transformer": "0.0.504",
120
120
  "@teambit/webpack.modules.generate-style-loaders": "0.0.103",
@@ -124,7 +124,7 @@
124
124
  "@teambit/toolbox.network.get-port": "0.0.113",
125
125
  "@teambit/react.modules.prerenderer-puppeteer": "0.0.2",
126
126
  "@teambit/ui-foundation.ui.pages.static-error": "0.0.75",
127
- "@teambit/config": "0.0.562"
127
+ "@teambit/config": "0.0.565"
128
128
  },
129
129
  "devDependencies": {
130
130
  "@types/react": "^17.0.8",
@@ -146,7 +146,7 @@
146
146
  "@teambit/react.content.react-overview": "1.95.0"
147
147
  },
148
148
  "peerDependencies": {
149
- "@teambit/legacy": "1.0.332",
149
+ "@teambit/legacy": "1.0.335",
150
150
  "react-dom": "^16.8.0 || ^17.0.0",
151
151
  "react": "^16.8.0 || ^17.0.0"
152
152
  },
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.821/dist/react.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.821/dist/react.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.824/dist/react.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.824/dist/react.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];