@teambit/react 0.0.881 → 0.0.883

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 (238) hide show
  1. package/artifacts/__bit_junit.xml +2 -2
  2. package/artifacts/env-template/public/{22.110c1e3ba45b0bbf27b0.js → 22.f311243a4b7463651c8e.js} +7 -3
  3. package/artifacts/env-template/public/{238.2ddc5a20aad2fef149e6.js → 700.b88f9139e07991261905.js} +21 -29
  4. package/artifacts/env-template/public/assets-manifest.json +18 -18
  5. package/artifacts/env-template/public/compositions.ac9e6df16c523807a4e3.js +9 -0
  6. package/artifacts/env-template/public/compositions.html +1 -1
  7. package/artifacts/env-template/public/{overview.085d128a4f5272ef7319.js → overview.97f55013f9fda82a24ae.js} +1 -1
  8. package/artifacts/env-template/public/overview.html +1 -1
  9. package/artifacts/env-template/public/{peers.df1b33444b47cc9becfc.js → peers.65a74a62f208506b0532.js} +1 -1
  10. package/artifacts/env-template/public/{preview-root.b9ea187989f25bad7bf4.js → preview-root.a829360e0cc95e341dfd.js} +1 -1
  11. package/artifacts/env-template/public/static/css/700.2aa44154.css +1 -0
  12. package/artifacts/env-template/public/static/css/compositions.812d93fb.css +1 -0
  13. package/artifacts/env-template/public/static/css/overview.793d10f3.css +1 -0
  14. package/artifacts/preview/teambit_react_react-preview.js +1 -1
  15. package/{compositions-1666409808293.js → compositions-1666582798766.js} +0 -0
  16. package/dist/apps/web/compute-results.js +0 -2
  17. package/dist/apps/web/compute-results.js.map +1 -1
  18. package/dist/apps/web/index.js +0 -3
  19. package/dist/apps/web/index.js.map +1 -1
  20. package/dist/apps/web/plugins/index.js +0 -3
  21. package/dist/apps/web/plugins/index.js.map +1 -1
  22. package/dist/apps/web/plugins/prerender.js +0 -14
  23. package/dist/apps/web/plugins/prerender.js.map +1 -1
  24. package/dist/apps/web/react.app-type.js +0 -7
  25. package/dist/apps/web/react.app-type.js.map +1 -1
  26. package/dist/apps/web/react.application.js +11 -76
  27. package/dist/apps/web/react.application.js.map +1 -1
  28. package/dist/apps/web/ssr/ssr-express.js +0 -31
  29. package/dist/apps/web/ssr/ssr-express.js.map +1 -1
  30. package/dist/apps/web/webpack/mutators.js +0 -13
  31. package/dist/apps/web/webpack/mutators.js.map +1 -1
  32. package/dist/apps/web/webpack/webpack.app.ssr.config.js +0 -11
  33. package/dist/apps/web/webpack/webpack.app.ssr.config.js.map +1 -1
  34. package/dist/eslint/eslintrc.js +1 -1
  35. package/dist/eslint/eslintrc.js.map +1 -1
  36. package/dist/highlighter-widget.js +0 -16
  37. package/dist/highlighter-widget.js.map +1 -1
  38. package/dist/index.js +0 -3
  39. package/dist/index.js.map +1 -1
  40. package/dist/jest/index.js +0 -7
  41. package/dist/jest/index.js.map +1 -1
  42. package/dist/jest/jest.base.config.js +3 -3
  43. package/dist/jest/jest.base.config.js.map +1 -1
  44. package/dist/jest/jest.cjs.config.js +0 -10
  45. package/dist/jest/jest.cjs.config.js.map +1 -1
  46. package/dist/jest/jest.config.js +1 -1
  47. package/dist/jest/jest.config.js.map +1 -1
  48. package/dist/jest/jest.esm.config.js +0 -10
  49. package/dist/jest/jest.esm.config.js.map +1 -1
  50. package/dist/jest/setupTests.js.map +1 -1
  51. package/dist/jest/transformers/base-transformer-plugins.js +1 -0
  52. package/dist/jest/transformers/base-transformer-plugins.js.map +1 -1
  53. package/dist/jest/transformers/base-transformer-presets.js +1 -0
  54. package/dist/jest/transformers/base-transformer-presets.js.map +1 -1
  55. package/dist/jest/transformers/base-transformer-process.js +0 -2
  56. package/dist/jest/transformers/base-transformer-process.js.map +1 -1
  57. package/dist/jest/transformers/cjs-transformer.js +0 -5
  58. package/dist/jest/transformers/cjs-transformer.js.map +1 -1
  59. package/dist/jest/transformers/css-transform.js +1 -2
  60. package/dist/jest/transformers/css-transform.js.map +1 -1
  61. package/dist/jest/transformers/esm-transformer.js +1 -5
  62. package/dist/jest/transformers/esm-transformer.js.map +1 -1
  63. package/dist/jest/transformers/file-transform.js +2 -6
  64. package/dist/jest/transformers/file-transform.js.map +1 -1
  65. package/dist/prettier/prettier.config.js.map +1 -1
  66. package/dist/react.aspect.js +0 -5
  67. package/dist/react.aspect.js.map +1 -1
  68. package/dist/react.composition.js +0 -6
  69. package/dist/react.composition.js.map +1 -1
  70. package/dist/react.env.js +34 -143
  71. package/dist/react.env.js.map +1 -1
  72. package/dist/react.graphql.js +0 -6
  73. package/dist/react.graphql.js.map +1 -1
  74. package/dist/react.main.runtime.js +23 -152
  75. package/dist/react.main.runtime.js.map +1 -1
  76. package/dist/react.preview.runtime.js +0 -32
  77. package/dist/react.preview.runtime.js.map +1 -1
  78. package/dist/react.templates.js +0 -46
  79. package/dist/react.templates.js.map +1 -1
  80. package/dist/react.ui.runtime.js +0 -35
  81. package/dist/react.ui.runtime.js.map +1 -1
  82. package/dist/templates/react-app/files/app-plugin.js +0 -1
  83. package/dist/templates/react-app/files/app-plugin.js.map +1 -1
  84. package/dist/templates/react-app/files/app-root.js +0 -1
  85. package/dist/templates/react-app/files/app-root.js.map +1 -1
  86. package/dist/templates/react-app/files/app.js +0 -1
  87. package/dist/templates/react-app/files/app.js.map +1 -1
  88. package/dist/templates/react-app/files/compositions.js +0 -1
  89. package/dist/templates/react-app/files/compositions.js.map +1 -1
  90. package/dist/templates/react-app/files/doc.js +0 -1
  91. package/dist/templates/react-app/files/doc.js.map +1 -1
  92. package/dist/templates/react-app/files/index.js +0 -1
  93. package/dist/templates/react-app/files/index.js.map +1 -1
  94. package/dist/templates/react-app/index.js +0 -19
  95. package/dist/templates/react-app/index.js.map +1 -1
  96. package/dist/templates/react-component/files/component.js +0 -2
  97. package/dist/templates/react-component/files/component.js.map +1 -1
  98. package/dist/templates/react-component/files/composition.js +0 -2
  99. package/dist/templates/react-component/files/composition.js.map +1 -1
  100. package/dist/templates/react-component/files/docs.js +0 -2
  101. package/dist/templates/react-component/files/docs.js.map +1 -1
  102. package/dist/templates/react-component/files/index-file.js +0 -2
  103. package/dist/templates/react-component/files/index-file.js.map +1 -1
  104. package/dist/templates/react-component/files/test.js +0 -2
  105. package/dist/templates/react-component/files/test.js.map +1 -1
  106. package/dist/templates/react-component/index.js +0 -24
  107. package/dist/templates/react-component/index.js.map +1 -1
  108. package/dist/templates/react-component-js/files/component.js +0 -2
  109. package/dist/templates/react-component-js/files/component.js.map +1 -1
  110. package/dist/templates/react-component-js/files/composition.js +0 -2
  111. package/dist/templates/react-component-js/files/composition.js.map +1 -1
  112. package/dist/templates/react-component-js/files/docs.js +0 -2
  113. package/dist/templates/react-component-js/files/docs.js.map +1 -1
  114. package/dist/templates/react-component-js/files/test.js +0 -2
  115. package/dist/templates/react-component-js/files/test.js.map +1 -1
  116. package/dist/templates/react-component-js/index.js +0 -21
  117. package/dist/templates/react-component-js/index.js.map +1 -1
  118. package/dist/templates/react-context/files/composition.js +0 -2
  119. package/dist/templates/react-context/files/composition.js.map +1 -1
  120. package/dist/templates/react-context/files/context-provider.js +0 -2
  121. package/dist/templates/react-context/files/context-provider.js.map +1 -1
  122. package/dist/templates/react-context/files/context.js +0 -2
  123. package/dist/templates/react-context/files/context.js.map +1 -1
  124. package/dist/templates/react-context/files/docs.js +0 -2
  125. package/dist/templates/react-context/files/docs.js.map +1 -1
  126. package/dist/templates/react-context/files/index-file.js +0 -2
  127. package/dist/templates/react-context/files/index-file.js.map +1 -1
  128. package/dist/templates/react-context/files/test.js +0 -2
  129. package/dist/templates/react-context/files/test.js.map +1 -1
  130. package/dist/templates/react-context/index.js +0 -19
  131. package/dist/templates/react-context/index.js.map +1 -1
  132. package/dist/templates/react-env/files/aspect.js +0 -1
  133. package/dist/templates/react-env/files/aspect.js.map +1 -1
  134. package/dist/templates/react-env/files/doc.js +0 -1
  135. package/dist/templates/react-env/files/doc.js.map +1 -1
  136. package/dist/templates/react-env/files/index.js +0 -1
  137. package/dist/templates/react-env/files/index.js.map +1 -1
  138. package/dist/templates/react-env/files/jest.config.js +0 -1
  139. package/dist/templates/react-env/files/jest.config.js.map +1 -1
  140. package/dist/templates/react-env/files/main.runtime.js +0 -1
  141. package/dist/templates/react-env/files/main.runtime.js.map +1 -1
  142. package/dist/templates/react-env/files/preview.runtime.js +0 -1
  143. package/dist/templates/react-env/files/preview.runtime.js.map +1 -1
  144. package/dist/templates/react-env/files/typescript/styles.js +0 -1
  145. package/dist/templates/react-env/files/typescript/styles.js.map +1 -1
  146. package/dist/templates/react-env/files/typescript/ts-transformer.js +0 -1
  147. package/dist/templates/react-env/files/typescript/ts-transformer.js.map +1 -1
  148. package/dist/templates/react-env/files/typescript/typescript.config.js +0 -1
  149. package/dist/templates/react-env/files/typescript/typescript.config.js.map +1 -1
  150. package/dist/templates/react-env/files/webpack.config.js +0 -1
  151. package/dist/templates/react-env/files/webpack.config.js.map +1 -1
  152. package/dist/templates/react-env/index.js +0 -31
  153. package/dist/templates/react-env/index.js.map +1 -1
  154. package/dist/templates/react-hook/files/component.js +0 -2
  155. package/dist/templates/react-hook/files/component.js.map +1 -1
  156. package/dist/templates/react-hook/files/composition.js +0 -2
  157. package/dist/templates/react-hook/files/composition.js.map +1 -1
  158. package/dist/templates/react-hook/files/docs.js +0 -2
  159. package/dist/templates/react-hook/files/docs.js.map +1 -1
  160. package/dist/templates/react-hook/files/index-file.js +0 -2
  161. package/dist/templates/react-hook/files/index-file.js.map +1 -1
  162. package/dist/templates/react-hook/files/index-file.spec.js +0 -6
  163. package/dist/templates/react-hook/files/index-file.spec.js.map +1 -1
  164. package/dist/templates/react-hook/files/test.js +0 -2
  165. package/dist/templates/react-hook/files/test.js.map +1 -1
  166. package/dist/templates/react-hook/index.js +0 -16
  167. package/dist/templates/react-hook/index.js.map +1 -1
  168. package/dist/templates/react-workspace/index.js +2 -6
  169. package/dist/templates/react-workspace/index.js.map +1 -1
  170. package/dist/templates/react-workspace-analytics/index.js +0 -5
  171. package/dist/templates/react-workspace-analytics/index.js.map +1 -1
  172. package/dist/templates/react-workspace-app/index.js +2 -13
  173. package/dist/templates/react-workspace-app/index.js.map +1 -1
  174. package/dist/templates/react-workspace-blog/index.js +0 -5
  175. package/dist/templates/react-workspace-blog/index.js.map +1 -1
  176. package/dist/templates/react-workspace-data-fetching/index.js +0 -5
  177. package/dist/templates/react-workspace-data-fetching/index.js.map +1 -1
  178. package/dist/templates/react-workspace-deprecated/index.js +0 -5
  179. package/dist/templates/react-workspace-deprecated/index.js.map +1 -1
  180. package/dist/templates/react-workspace-design-system/index.js +0 -5
  181. package/dist/templates/react-workspace-design-system/index.js.map +1 -1
  182. package/dist/templates/react-workspace-lib/index.js +0 -5
  183. package/dist/templates/react-workspace-lib/index.js.map +1 -1
  184. package/dist/templates/react-workspace-wiki/index.js +0 -5
  185. package/dist/templates/react-workspace-wiki/index.js.map +1 -1
  186. package/dist/templates/workspace-common/constants.js.map +1 -1
  187. package/dist/templates/workspace-common/files/eslint-config.js.map +1 -1
  188. package/dist/templates/workspace-common/files/git-ignore.js +0 -1
  189. package/dist/templates/workspace-common/files/git-ignore.js.map +1 -1
  190. package/dist/templates/workspace-common/files/launch-json.js +0 -2
  191. package/dist/templates/workspace-common/files/launch-json.js.map +1 -1
  192. package/dist/templates/workspace-common/files/prettier-config.js.map +1 -1
  193. package/dist/templates/workspace-common/files/readme-file.js +0 -1
  194. package/dist/templates/workspace-common/files/readme-file.js.map +1 -1
  195. package/dist/templates/workspace-common/files/ts-config.js.map +1 -1
  196. package/dist/templates/workspace-common/files/types/asset.js.map +1 -1
  197. package/dist/templates/workspace-common/files/types/style.js.map +1 -1
  198. package/dist/templates/workspace-common/files/workspace-config.js +0 -14
  199. package/dist/templates/workspace-common/files/workspace-config.js.map +1 -1
  200. package/dist/templates/workspace-common/generate-files.js +0 -29
  201. package/dist/templates/workspace-common/generate-files.js.map +1 -1
  202. package/dist/templates/workspace-common/index.js +0 -3
  203. package/dist/templates/workspace-common/index.js.map +1 -1
  204. package/dist/webpack/html.js +3 -2
  205. package/dist/webpack/html.js.map +1 -1
  206. package/dist/webpack/index.js +0 -3
  207. package/dist/webpack/index.js.map +1 -1
  208. package/dist/webpack/overlay/formatWebpackMessages.js +26 -37
  209. package/dist/webpack/overlay/formatWebpackMessages.js.map +1 -1
  210. package/dist/webpack/overlay/launchEditorEndpoint.js +2 -2
  211. package/dist/webpack/overlay/launchEditorEndpoint.js.map +1 -1
  212. package/dist/webpack/overlay/refreshOverlayInterop.js +1 -3
  213. package/dist/webpack/overlay/refreshOverlayInterop.js.map +1 -1
  214. package/dist/webpack/overlay/webpackHotDevClient.js +54 -71
  215. package/dist/webpack/overlay/webpackHotDevClient.js.map +1 -1
  216. package/dist/webpack/postcss.config.js +6 -3
  217. package/dist/webpack/postcss.config.js.map +1 -1
  218. package/dist/webpack/webpack.config.base.js +28 -53
  219. package/dist/webpack/webpack.config.base.js.map +1 -1
  220. package/dist/webpack/webpack.config.base.prod.js +10 -14
  221. package/dist/webpack/webpack.config.base.prod.js.map +1 -1
  222. package/dist/webpack/webpack.config.component.dev.js +10 -17
  223. package/dist/webpack/webpack.config.component.dev.js.map +1 -1
  224. package/dist/webpack/webpack.config.component.prod.js +3 -6
  225. package/dist/webpack/webpack.config.component.prod.js.map +1 -1
  226. package/dist/webpack/webpack.config.env.dev.js +5 -5
  227. package/dist/webpack/webpack.config.env.dev.js.map +1 -1
  228. package/dist/webpack/webpack.config.env.template.js +0 -1
  229. package/dist/webpack/webpack.config.env.template.js.map +1 -1
  230. package/{overview-1666409808293.js → overview-1666582798766.js} +0 -0
  231. package/package-tar/teambit-react-0.0.883.tgz +0 -0
  232. package/package.json +26 -26
  233. package/{preview-1666409808293.js → preview-1666582798766.js} +2 -2
  234. package/artifacts/env-template/public/compositions.c4e18d110cce13606364.js +0 -5
  235. package/artifacts/env-template/public/static/css/238.a0238c25.css +0 -1
  236. package/artifacts/env-template/public/static/css/compositions.6d8c7702.css +0 -1
  237. package/artifacts/env-template/public/static/css/overview.367aeb5b.css +0 -1
  238. package/package-tar/teambit-react-0.0.881.tgz +0 -0
@@ -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","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,92 +1,65 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.promise.js");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
9
  exports.createExpressSsr = createExpressSsr;
13
10
  exports.loadSsrApp = loadSsrApp;
14
11
  exports.parseAssets = parseAssets;
15
-
16
12
  function _uiFoundationUiPages() {
17
13
  const data = require("@teambit/ui-foundation.ui.pages.static-error");
18
-
19
14
  _uiFoundationUiPages = function () {
20
15
  return data;
21
16
  };
22
-
23
17
  return data;
24
18
  }
25
-
26
19
  function _reactRendering() {
27
20
  const data = require("@teambit/react.rendering.ssr");
28
-
29
21
  _reactRendering = function () {
30
22
  return data;
31
23
  };
32
-
33
24
  return data;
34
25
  }
35
-
36
26
  function _express() {
37
27
  const data = _interopRequireDefault(require("express"));
38
-
39
28
  _express = function () {
40
29
  return data;
41
30
  };
42
-
43
31
  return data;
44
32
  }
45
-
46
33
  function fs() {
47
34
  const data = _interopRequireWildcard(require("fs-extra"));
48
-
49
35
  fs = function () {
50
36
  return data;
51
37
  };
52
-
53
38
  return data;
54
39
  }
55
-
56
40
  function _path() {
57
41
  const data = require("path");
58
-
59
42
  _path = function () {
60
43
  return data;
61
44
  };
62
-
63
45
  return data;
64
46
  }
65
-
66
47
  function _urlJoin() {
67
48
  const data = _interopRequireDefault(require("url-join"));
68
-
69
49
  _urlJoin = function () {
70
50
  return data;
71
51
  };
72
-
73
52
  return data;
74
53
  }
75
-
76
54
  function _webpackAppSsr() {
77
55
  const data = require("../webpack/webpack.app.ssr.config");
78
-
79
56
  _webpackAppSsr = function () {
80
57
  return data;
81
58
  };
82
-
83
59
  return data;
84
60
  }
85
-
86
61
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
87
-
88
62
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
89
-
90
63
  const MAGIC_FOLDER = 'public'; // idk where this is comping from
91
64
 
92
65
  function createExpressSsr({
@@ -105,7 +78,6 @@ function createExpressSsr({
105
78
  next();
106
79
  return;
107
80
  }
108
-
109
81
  response.sendFile((0, _path().resolve)(workdir, (0, _webpackAppSsr().calcOutputPath)(name, 'browser'), MAGIC_FOLDER, 'index.html'));
110
82
  });
111
83
  express.use(async (request, response) => {
@@ -117,7 +89,6 @@ function createExpressSsr({
117
89
  request,
118
90
  response
119
91
  };
120
-
121
92
  try {
122
93
  // the app itself controls the response
123
94
  await app(session);
@@ -129,7 +100,6 @@ function createExpressSsr({
129
100
  });
130
101
  return express;
131
102
  }
132
-
133
103
  async function loadSsrApp(workdir, appName) {
134
104
  const entryFile = (0, _path().resolve)(workdir, (0, _webpackAppSsr().calcOutputPath)(appName, 'ssr'), MAGIC_FOLDER, _webpackAppSsr().SSR_ENTRY_FILE);
135
105
  if (!fs().existsSync(entryFile)) throw new Error(`expected ssr bundle entry file at "${entryFile}"`);
@@ -138,7 +108,6 @@ async function loadSsrApp(workdir, appName) {
138
108
  if (!app) throw new Error(`bundle entry file has no default export (at "${entryFile}")`);
139
109
  return app;
140
110
  }
141
-
142
111
  function parseAssets(assets, publicPath = _webpackAppSsr().PUBLIC_PATH) {
143
112
  const deadAssets = assets.filter(x => !x.name);
144
113
  if (deadAssets.length > 0) throw new Error('missing some build assets (maybe need to turn on cachedAssets, etc)');
@@ -1 +1 @@
1
- {"version":3,"names":["MAGIC_FOLDER","createExpressSsr","name","workdir","port","app","assets","logger","express","Express","publicFolder","resolve","calcOutputPath","use","PUBLIC_PATH","static","request","response","next","query","_rendering","sendFile","info","url","browser","browserFromExpress","session","console","error","consoleError","status","send","serverError","loadSsrApp","appName","entryFile","SSR_ENTRY_FILE","fs","existsSync","Error","entry","default","parseAssets","publicPath","deadAssets","filter","x","length","css","map","endsWith","urlJoin","js"],"sources":["ssr-express.ts"],"sourcesContent":["import { Asset } from '@teambit/bundler';\nimport { Logger } from '@teambit/logger';\nimport { serverError } from '@teambit/ui-foundation.ui.pages.static-error';\nimport { browserFromExpress } from '@teambit/react.rendering.ssr';\nimport type { HtmlAssets, SsrSession } from '@teambit/react.rendering.ssr';\n\nimport Express from 'express';\nimport * as fs from 'fs-extra';\nimport { resolve } from 'path';\nimport urlJoin from 'url-join';\n\nimport { calcOutputPath, PUBLIC_PATH, SSR_ENTRY_FILE } from '../webpack/webpack.app.ssr.config';\n\nconst MAGIC_FOLDER = 'public'; // idk where this is comping from\n\ntype ExpressSsrOptions = {\n name: string;\n workdir: string;\n port: number;\n app: any;\n assets: HtmlAssets;\n logger?: Logger;\n};\n\nexport function createExpressSsr({ name, workdir, port, app, assets, logger }: ExpressSsrOptions) {\n const express = Express();\n\n const publicFolder = resolve(workdir, calcOutputPath(name, 'browser'), MAGIC_FOLDER);\n\n express.use(PUBLIC_PATH, Express.static(publicFolder));\n express.use((request, response, next) => {\n if (request.query._rendering !== 'client') {\n next();\n return;\n }\n response.sendFile(resolve(workdir, calcOutputPath(name, 'browser'), MAGIC_FOLDER, 'index.html'));\n });\n express.use(async (request, response) => {\n logger?.info(`[react.application] [ssr] handling \"${request.url}\"`);\n const browser = browserFromExpress(request, port);\n const session: SsrSession = { assets, browser, request, response };\n\n try {\n // the app itself controls the response\n await app(session);\n logger?.console(`[react.application] [ssr] success \"${request.url}\"`);\n } catch (error: any) {\n logger?.consoleError(`[react.application] [ssr] error at \"${request.url}\"`, error);\n response.status(500).send(serverError());\n }\n });\n\n return express;\n}\n\nexport async function loadSsrApp(workdir: string, appName: string) {\n const entryFile = resolve(workdir, calcOutputPath(appName, 'ssr'), MAGIC_FOLDER, SSR_ENTRY_FILE);\n if (!fs.existsSync(entryFile)) throw new Error(`expected ssr bundle entry file at \"${entryFile}\"`);\n\n const entry = await import(entryFile);\n const app = entry?.default;\n if (!app) throw new Error(`bundle entry file has no default export (at \"${entryFile}\")`);\n\n return app;\n}\n\nexport function parseAssets(assets: Asset[], publicPath = PUBLIC_PATH): HtmlAssets {\n const deadAssets = assets.filter((x) => !x.name);\n if (deadAssets.length > 0) throw new Error('missing some build assets (maybe need to turn on cachedAssets, etc)');\n\n return {\n css: assets\n .map((x) => x.name)\n .filter((name) => name?.endsWith('.css'))\n .map((name) => urlJoin(publicPath, name)),\n js: assets\n .map((x) => x.name)\n .filter((name) => name?.endsWith('.js'))\n .map((name) => urlJoin(publicPath, name)),\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["MAGIC_FOLDER","createExpressSsr","name","workdir","port","app","assets","logger","express","Express","publicFolder","resolve","calcOutputPath","use","PUBLIC_PATH","static","request","response","next","query","_rendering","sendFile","info","url","browser","browserFromExpress","session","console","error","consoleError","status","send","serverError","loadSsrApp","appName","entryFile","SSR_ENTRY_FILE","fs","existsSync","Error","entry","default","parseAssets","publicPath","deadAssets","filter","x","length","css","map","endsWith","urlJoin","js"],"sources":["ssr-express.ts"],"sourcesContent":["import { Asset } from '@teambit/bundler';\nimport { Logger } from '@teambit/logger';\nimport { serverError } from '@teambit/ui-foundation.ui.pages.static-error';\nimport { browserFromExpress } from '@teambit/react.rendering.ssr';\nimport type { HtmlAssets, SsrSession } from '@teambit/react.rendering.ssr';\n\nimport Express from 'express';\nimport * as fs from 'fs-extra';\nimport { resolve } from 'path';\nimport urlJoin from 'url-join';\n\nimport { calcOutputPath, PUBLIC_PATH, SSR_ENTRY_FILE } from '../webpack/webpack.app.ssr.config';\n\nconst MAGIC_FOLDER = 'public'; // idk where this is comping from\n\ntype ExpressSsrOptions = {\n name: string;\n workdir: string;\n port: number;\n app: any;\n assets: HtmlAssets;\n logger?: Logger;\n};\n\nexport function createExpressSsr({ name, workdir, port, app, assets, logger }: ExpressSsrOptions) {\n const express = Express();\n\n const publicFolder = resolve(workdir, calcOutputPath(name, 'browser'), MAGIC_FOLDER);\n\n express.use(PUBLIC_PATH, Express.static(publicFolder));\n express.use((request, response, next) => {\n if (request.query._rendering !== 'client') {\n next();\n return;\n }\n response.sendFile(resolve(workdir, calcOutputPath(name, 'browser'), MAGIC_FOLDER, 'index.html'));\n });\n express.use(async (request, response) => {\n logger?.info(`[react.application] [ssr] handling \"${request.url}\"`);\n const browser = browserFromExpress(request, port);\n const session: SsrSession = { assets, browser, request, response };\n\n try {\n // the app itself controls the response\n await app(session);\n logger?.console(`[react.application] [ssr] success \"${request.url}\"`);\n } catch (error: any) {\n logger?.consoleError(`[react.application] [ssr] error at \"${request.url}\"`, error);\n response.status(500).send(serverError());\n }\n });\n\n return express;\n}\n\nexport async function loadSsrApp(workdir: string, appName: string) {\n const entryFile = resolve(workdir, calcOutputPath(appName, 'ssr'), MAGIC_FOLDER, SSR_ENTRY_FILE);\n if (!fs.existsSync(entryFile)) throw new Error(`expected ssr bundle entry file at \"${entryFile}\"`);\n\n const entry = await import(entryFile);\n const app = entry?.default;\n if (!app) throw new Error(`bundle entry file has no default export (at \"${entryFile}\")`);\n\n return app;\n}\n\nexport function parseAssets(assets: Asset[], publicPath = PUBLIC_PATH): HtmlAssets {\n const deadAssets = assets.filter((x) => !x.name);\n if (deadAssets.length > 0) throw new Error('missing some build assets (maybe need to turn on cachedAssets, etc)');\n\n return {\n css: assets\n .map((x) => x.name)\n .filter((name) => name?.endsWith('.css'))\n .map((name) => urlJoin(publicPath, name)),\n js: assets\n .map((x) => x.name)\n .filter((name) => name?.endsWith('.js'))\n .map((name) => urlJoin(publicPath, name)),\n };\n}\n"],"mappings":"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"}
@@ -1,34 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.addDevServer = addDevServer;
9
8
  exports.replaceTerserPlugin = replaceTerserPlugin;
10
9
  exports.setOutput = setOutput;
11
-
12
10
  function _lodash() {
13
11
  const data = require("lodash");
14
-
15
12
  _lodash = function () {
16
13
  return data;
17
14
  };
18
-
19
15
  return data;
20
16
  }
21
-
22
17
  function _terserWebpackPlugin() {
23
18
  const data = _interopRequireDefault(require("terser-webpack-plugin"));
24
-
25
19
  _terserWebpackPlugin = function () {
26
20
  return data;
27
21
  };
28
-
29
22
  return data;
30
23
  }
31
-
32
24
  function addDevServer(configMutator) {
33
25
  return configMutator.addTopLevel('devServer', {
34
26
  allowedHosts: 'all',
@@ -41,19 +33,16 @@ function addDevServer(configMutator) {
41
33
  }
42
34
  });
43
35
  }
44
-
45
36
  function setOutput(configMutator) {
46
37
  if (!configMutator.raw.output) configMutator.raw.output = {};
47
38
  configMutator.raw.output.publicPath = '/';
48
39
  return configMutator;
49
40
  }
50
-
51
41
  function replaceTerserPlugin({
52
42
  prerender = false
53
43
  }) {
54
44
  return configMutator => {
55
45
  var _configMutator$raw$op, _configMutator$raw$op2, _configMutator$raw$op3;
56
-
57
46
  if (!((_configMutator$raw$op = configMutator.raw.optimization) !== null && _configMutator$raw$op !== void 0 && _configMutator$raw$op.minimizer)) return configMutator;
58
47
  (0, _lodash().remove)((_configMutator$raw$op2 = configMutator.raw.optimization) === null || _configMutator$raw$op2 === void 0 ? void 0 : _configMutator$raw$op2.minimizer, minimizer => {
59
48
  return minimizer.constructor.name === 'TerserPlugin';
@@ -63,7 +52,6 @@ function replaceTerserPlugin({
63
52
  return configMutator;
64
53
  };
65
54
  }
66
-
67
55
  function CreateTerserPlugin() {
68
56
  return new (_terserWebpackPlugin().default)({
69
57
  minify: _terserWebpackPlugin().default.esbuildMinify,
@@ -74,7 +62,6 @@ function CreateTerserPlugin() {
74
62
  }
75
63
  });
76
64
  }
77
-
78
65
  function CreateTerserPluginForPrerender() {
79
66
  return new (_terserWebpackPlugin().default)({
80
67
  extractComments: false,
@@ -1 +1 @@
1
- {"version":3,"names":["addDevServer","configMutator","addTopLevel","allowedHosts","historyApiFallback","index","disableDotRule","headers","setOutput","raw","output","publicPath","replaceTerserPlugin","prerender","optimization","minimizer","remove","constructor","name","terserer","CreateTerserPluginForPrerender","CreateTerserPlugin","push","TerserPlugin","minify","esbuildMinify","terserOptions","extractComments","parse","ecma","compress","warnings","comparisons","inline","mangle","safari10","comments","ascii_only"],"sources":["mutators.ts"],"sourcesContent":["import { WebpackConfigMutator } from '@teambit/webpack';\nimport { remove } from 'lodash';\nimport TerserPlugin from 'terser-webpack-plugin';\n\nexport function addDevServer(configMutator: WebpackConfigMutator) {\n return configMutator.addTopLevel('devServer', {\n allowedHosts: 'all',\n historyApiFallback: {\n index: '/index.html',\n disableDotRule: true,\n },\n headers: {\n 'Access-Control-Allow-Origin': '*',\n },\n });\n}\n\nexport function setOutput(configMutator: WebpackConfigMutator) {\n if (!configMutator.raw.output) configMutator.raw.output = {};\n configMutator.raw.output.publicPath = '/';\n\n return configMutator;\n}\n\nexport function replaceTerserPlugin({ prerender = false }: { prerender: boolean }) {\n return (configMutator: WebpackConfigMutator) => {\n if (!configMutator.raw.optimization?.minimizer) return configMutator;\n\n remove(configMutator.raw.optimization?.minimizer, (minimizer) => {\n return minimizer.constructor.name === 'TerserPlugin';\n });\n\n const terserer = prerender ? CreateTerserPluginForPrerender() : CreateTerserPlugin();\n configMutator.raw.optimization?.minimizer.push(terserer);\n\n return configMutator;\n };\n}\n\nfunction CreateTerserPlugin() {\n return new TerserPlugin({\n minify: TerserPlugin.esbuildMinify,\n // `terserOptions` options will be passed to `esbuild`\n // Link to options - https://esbuild.github.io/api/#minify\n terserOptions: {\n minify: true,\n },\n });\n}\n\nfunction CreateTerserPluginForPrerender() {\n return new TerserPlugin({\n extractComments: false,\n terserOptions: {\n parse: {\n // We want terser to parse ecma 8 code. However, we don't want it\n // to apply any minification steps that turns valid ecma 5 code\n // into invalid ecma 5 code. This is why the 'compress' and 'output'\n // sections only apply transformations that are ecma 5 safe\n // https://github.com/facebook/create-react-app/pull/4234\n ecma: 8,\n },\n compress: {\n ecma: 5,\n warnings: false,\n // Disabled because of an issue with Uglify breaking seemingly valid code:\n // https://github.com/facebook/create-react-app/issues/2376\n // Pending further investigation:\n // https://github.com/mishoo/UglifyJS2/issues/2011\n comparisons: false,\n // Disabled because of an issue with Terser breaking valid code:\n // https://github.com/facebook/create-react-app/issues/5250\n // Pending further investigation:\n // https://github.com/terser-js/terser/issues/120\n inline: 2,\n },\n mangle: {\n safari10: true,\n },\n output: {\n ecma: 5,\n comments: false,\n // Turned on because emoji and regex is not minified properly using default\n // https://github.com/facebook/create-react-app/issues/2488\n ascii_only: true,\n },\n },\n });\n}\n"],"mappings":";;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,SAASA,YAAT,CAAsBC,aAAtB,EAA2D;EAChE,OAAOA,aAAa,CAACC,WAAd,CAA0B,WAA1B,EAAuC;IAC5CC,YAAY,EAAE,KAD8B;IAE5CC,kBAAkB,EAAE;MAClBC,KAAK,EAAE,aADW;MAElBC,cAAc,EAAE;IAFE,CAFwB;IAM5CC,OAAO,EAAE;MACP,+BAA+B;IADxB;EANmC,CAAvC,CAAP;AAUD;;AAEM,SAASC,SAAT,CAAmBP,aAAnB,EAAwD;EAC7D,IAAI,CAACA,aAAa,CAACQ,GAAd,CAAkBC,MAAvB,EAA+BT,aAAa,CAACQ,GAAd,CAAkBC,MAAlB,GAA2B,EAA3B;EAC/BT,aAAa,CAACQ,GAAd,CAAkBC,MAAlB,CAAyBC,UAAzB,GAAsC,GAAtC;EAEA,OAAOV,aAAP;AACD;;AAEM,SAASW,mBAAT,CAA6B;EAAEC,SAAS,GAAG;AAAd,CAA7B,EAA4E;EACjF,OAAQZ,aAAD,IAAyC;IAAA;;IAC9C,IAAI,2BAACA,aAAa,CAACQ,GAAd,CAAkBK,YAAnB,kDAAC,sBAAgCC,SAAjC,CAAJ,EAAgD,OAAOd,aAAP;IAEhD,IAAAe,gBAAA,4BAAOf,aAAa,CAACQ,GAAd,CAAkBK,YAAzB,2DAAO,uBAAgCC,SAAvC,EAAmDA,SAAD,IAAe;MAC/D,OAAOA,SAAS,CAACE,WAAV,CAAsBC,IAAtB,KAA+B,cAAtC;IACD,CAFD;IAIA,MAAMC,QAAQ,GAAGN,SAAS,GAAGO,8BAA8B,EAAjC,GAAsCC,kBAAkB,EAAlF;IACA,0BAAApB,aAAa,CAACQ,GAAd,CAAkBK,YAAlB,kFAAgCC,SAAhC,CAA0CO,IAA1C,CAA+CH,QAA/C;IAEA,OAAOlB,aAAP;EACD,CAXD;AAYD;;AAED,SAASoB,kBAAT,GAA8B;EAC5B,OAAO,KAAIE,8BAAJ,EAAiB;IACtBC,MAAM,EAAED,8BAAA,CAAaE,aADC;IAEtB;IACA;IACAC,aAAa,EAAE;MACbF,MAAM,EAAE;IADK;EAJO,CAAjB,CAAP;AAQD;;AAED,SAASJ,8BAAT,GAA0C;EACxC,OAAO,KAAIG,8BAAJ,EAAiB;IACtBI,eAAe,EAAE,KADK;IAEtBD,aAAa,EAAE;MACbE,KAAK,EAAE;QACL;QACA;QACA;QACA;QACA;QACAC,IAAI,EAAE;MAND,CADM;MASbC,QAAQ,EAAE;QACRD,IAAI,EAAE,CADE;QAERE,QAAQ,EAAE,KAFF;QAGR;QACA;QACA;QACA;QACAC,WAAW,EAAE,KAPL;QAQR;QACA;QACA;QACA;QACAC,MAAM,EAAE;MAZA,CATG;MAuBbC,MAAM,EAAE;QACNC,QAAQ,EAAE;MADJ,CAvBK;MA0BbzB,MAAM,EAAE;QACNmB,IAAI,EAAE,CADA;QAENO,QAAQ,EAAE,KAFJ;QAGN;QACA;QACAC,UAAU,EAAE;MALN;IA1BK;EAFO,CAAjB,CAAP;AAqCD"}
1
+ {"version":3,"names":["addDevServer","configMutator","addTopLevel","allowedHosts","historyApiFallback","index","disableDotRule","headers","setOutput","raw","output","publicPath","replaceTerserPlugin","prerender","optimization","minimizer","remove","constructor","name","terserer","CreateTerserPluginForPrerender","CreateTerserPlugin","push","TerserPlugin","minify","esbuildMinify","terserOptions","extractComments","parse","ecma","compress","warnings","comparisons","inline","mangle","safari10","comments","ascii_only"],"sources":["mutators.ts"],"sourcesContent":["import { WebpackConfigMutator } from '@teambit/webpack';\nimport { remove } from 'lodash';\nimport TerserPlugin from 'terser-webpack-plugin';\n\nexport function addDevServer(configMutator: WebpackConfigMutator) {\n return configMutator.addTopLevel('devServer', {\n allowedHosts: 'all',\n historyApiFallback: {\n index: '/index.html',\n disableDotRule: true,\n },\n headers: {\n 'Access-Control-Allow-Origin': '*',\n },\n });\n}\n\nexport function setOutput(configMutator: WebpackConfigMutator) {\n if (!configMutator.raw.output) configMutator.raw.output = {};\n configMutator.raw.output.publicPath = '/';\n\n return configMutator;\n}\n\nexport function replaceTerserPlugin({ prerender = false }: { prerender: boolean }) {\n return (configMutator: WebpackConfigMutator) => {\n if (!configMutator.raw.optimization?.minimizer) return configMutator;\n\n remove(configMutator.raw.optimization?.minimizer, (minimizer) => {\n return minimizer.constructor.name === 'TerserPlugin';\n });\n\n const terserer = prerender ? CreateTerserPluginForPrerender() : CreateTerserPlugin();\n configMutator.raw.optimization?.minimizer.push(terserer);\n\n return configMutator;\n };\n}\n\nfunction CreateTerserPlugin() {\n return new TerserPlugin({\n minify: TerserPlugin.esbuildMinify,\n // `terserOptions` options will be passed to `esbuild`\n // Link to options - https://esbuild.github.io/api/#minify\n terserOptions: {\n minify: true,\n },\n });\n}\n\nfunction CreateTerserPluginForPrerender() {\n return new TerserPlugin({\n extractComments: false,\n terserOptions: {\n parse: {\n // We want terser to parse ecma 8 code. However, we don't want it\n // to apply any minification steps that turns valid ecma 5 code\n // into invalid ecma 5 code. This is why the 'compress' and 'output'\n // sections only apply transformations that are ecma 5 safe\n // https://github.com/facebook/create-react-app/pull/4234\n ecma: 8,\n },\n compress: {\n ecma: 5,\n warnings: false,\n // Disabled because of an issue with Uglify breaking seemingly valid code:\n // https://github.com/facebook/create-react-app/issues/2376\n // Pending further investigation:\n // https://github.com/mishoo/UglifyJS2/issues/2011\n comparisons: false,\n // Disabled because of an issue with Terser breaking valid code:\n // https://github.com/facebook/create-react-app/issues/5250\n // Pending further investigation:\n // https://github.com/terser-js/terser/issues/120\n inline: 2,\n },\n mangle: {\n safari10: true,\n },\n output: {\n ecma: 5,\n comments: false,\n // Turned on because emoji and regex is not minified properly using default\n // https://github.com/facebook/create-react-app/issues/2488\n ascii_only: true,\n },\n },\n });\n}\n"],"mappings":";;;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,SAASA,YAAY,CAACC,aAAmC,EAAE;EAChE,OAAOA,aAAa,CAACC,WAAW,CAAC,WAAW,EAAE;IAC5CC,YAAY,EAAE,KAAK;IACnBC,kBAAkB,EAAE;MAClBC,KAAK,EAAE,aAAa;MACpBC,cAAc,EAAE;IAClB,CAAC;IACDC,OAAO,EAAE;MACP,6BAA6B,EAAE;IACjC;EACF,CAAC,CAAC;AACJ;AAEO,SAASC,SAAS,CAACP,aAAmC,EAAE;EAC7D,IAAI,CAACA,aAAa,CAACQ,GAAG,CAACC,MAAM,EAAET,aAAa,CAACQ,GAAG,CAACC,MAAM,GAAG,CAAC,CAAC;EAC5DT,aAAa,CAACQ,GAAG,CAACC,MAAM,CAACC,UAAU,GAAG,GAAG;EAEzC,OAAOV,aAAa;AACtB;AAEO,SAASW,mBAAmB,CAAC;EAAEC,SAAS,GAAG;AAA8B,CAAC,EAAE;EACjF,OAAQZ,aAAmC,IAAK;IAAA;IAC9C,IAAI,2BAACA,aAAa,CAACQ,GAAG,CAACK,YAAY,kDAA9B,sBAAgCC,SAAS,GAAE,OAAOd,aAAa;IAEpE,IAAAe,gBAAM,4BAACf,aAAa,CAACQ,GAAG,CAACK,YAAY,2DAA9B,uBAAgCC,SAAS,EAAGA,SAAS,IAAK;MAC/D,OAAOA,SAAS,CAACE,WAAW,CAACC,IAAI,KAAK,cAAc;IACtD,CAAC,CAAC;IAEF,MAAMC,QAAQ,GAAGN,SAAS,GAAGO,8BAA8B,EAAE,GAAGC,kBAAkB,EAAE;IACpF,0BAAApB,aAAa,CAACQ,GAAG,CAACK,YAAY,2DAA9B,uBAAgCC,SAAS,CAACO,IAAI,CAACH,QAAQ,CAAC;IAExD,OAAOlB,aAAa;EACtB,CAAC;AACH;AAEA,SAASoB,kBAAkB,GAAG;EAC5B,OAAO,KAAIE,8BAAY,EAAC;IACtBC,MAAM,EAAED,8BAAY,CAACE,aAAa;IAClC;IACA;IACAC,aAAa,EAAE;MACbF,MAAM,EAAE;IACV;EACF,CAAC,CAAC;AACJ;AAEA,SAASJ,8BAA8B,GAAG;EACxC,OAAO,KAAIG,8BAAY,EAAC;IACtBI,eAAe,EAAE,KAAK;IACtBD,aAAa,EAAE;MACbE,KAAK,EAAE;QACL;QACA;QACA;QACA;QACA;QACAC,IAAI,EAAE;MACR,CAAC;MACDC,QAAQ,EAAE;QACRD,IAAI,EAAE,CAAC;QACPE,QAAQ,EAAE,KAAK;QACf;QACA;QACA;QACA;QACAC,WAAW,EAAE,KAAK;QAClB;QACA;QACA;QACA;QACAC,MAAM,EAAE;MACV,CAAC;MACDC,MAAM,EAAE;QACNC,QAAQ,EAAE;MACZ,CAAC;MACDzB,MAAM,EAAE;QACNmB,IAAI,EAAE,CAAC;QACPO,QAAQ,EAAE,KAAK;QACf;QACA;QACAC,UAAU,EAAE;MACd;IACF;EACF,CAAC,CAAC;AACJ"}
@@ -9,38 +9,30 @@ exports.calcOutputPath = calcOutputPath;
9
9
  exports.clientConfig = clientConfig;
10
10
  exports.ssrBuildConfig = ssrBuildConfig;
11
11
  exports.ssrConfig = ssrConfig;
12
-
13
12
  function _path() {
14
13
  const data = require("path");
15
-
16
14
  _path = function () {
17
15
  return data;
18
16
  };
19
-
20
17
  return data;
21
18
  }
22
-
23
19
  const OUTPUT_FOLDER = 'public/bit-apps';
24
20
  const SSR_ENTRY_FILE = 'index.js';
25
21
  /** _external_ base url for static files. (is not a folder)
26
22
  * @example
27
23
  * "http://localhost:3000/public/main.88a88d47d86aaabc0230.js"
28
24
  */
29
-
30
25
  exports.SSR_ENTRY_FILE = SSR_ENTRY_FILE;
31
26
  const PUBLIC_PATH = '/public';
32
27
  exports.PUBLIC_PATH = PUBLIC_PATH;
33
28
  var Targets;
34
-
35
29
  (function (Targets) {
36
30
  Targets["ssr"] = "ssr";
37
31
  Targets["browser"] = "browser";
38
32
  })(Targets || (Targets = {}));
39
-
40
33
  function calcOutputPath(appName, target) {
41
34
  return (0, _path().join)(OUTPUT_FOLDER, appName, target);
42
35
  }
43
-
44
36
  function clientConfig() {
45
37
  return {
46
38
  output: {
@@ -49,7 +41,6 @@ function clientConfig() {
49
41
  }
50
42
  };
51
43
  }
52
-
53
44
  function ssrConfig() {
54
45
  return {
55
46
  target: 'node',
@@ -60,7 +51,6 @@ function ssrConfig() {
60
51
  }
61
52
  };
62
53
  }
63
-
64
54
  function buildConfig({
65
55
  outputPath
66
56
  }) {
@@ -72,7 +62,6 @@ function buildConfig({
72
62
  }
73
63
  };
74
64
  }
75
-
76
65
  function ssrBuildConfig({
77
66
  outputPath
78
67
  }) {
@@ -1 +1 @@
1
- {"version":3,"names":["OUTPUT_FOLDER","SSR_ENTRY_FILE","PUBLIC_PATH","Targets","calcOutputPath","appName","target","join","clientConfig","output","publicPath","filename","ssrConfig","devtool","libraryTarget","buildConfig","outputPath","path","ssrBuildConfig"],"sources":["webpack.app.ssr.config.ts"],"sourcesContent":["import { join } from 'path';\nimport type { Configuration } from 'webpack';\n\nconst OUTPUT_FOLDER = 'public/bit-apps';\nexport const SSR_ENTRY_FILE = 'index.js';\n/** _external_ base url for static files. (is not a folder)\n * @example\n * \"http://localhost:3000/public/main.88a88d47d86aaabc0230.js\"\n */\nexport const PUBLIC_PATH = '/public';\n\nenum Targets {\n ssr = 'ssr',\n browser = 'browser',\n}\n\nexport function calcOutputPath(appName: string, target: Targets | keyof typeof Targets) {\n return join(OUTPUT_FOLDER, appName, target);\n}\n\nexport function clientConfig(): Configuration {\n return {\n output: { publicPath: PUBLIC_PATH, filename: '[name].[chunkhash].js' },\n };\n}\n\nexport function ssrConfig(): Configuration {\n return {\n target: 'node',\n devtool: 'eval-cheap-source-map',\n\n output: {\n libraryTarget: 'commonjs',\n filename: SSR_ENTRY_FILE,\n },\n };\n}\n\nexport function buildConfig({ outputPath }: { outputPath: string }): Configuration {\n return {\n output: {\n path: outputPath,\n publicPath: `/`,\n filename: '[name].[chunkhash].js',\n },\n };\n}\n\nexport function ssrBuildConfig({ outputPath }: { outputPath: string }): Configuration {\n return {\n target: 'node',\n devtool: 'eval-cheap-source-map',\n\n output: {\n path: outputPath,\n publicPath: `/`,\n libraryTarget: 'commonjs',\n filename: 'index.js',\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA,MAAMA,aAAa,GAAG,iBAAtB;AACO,MAAMC,cAAc,GAAG,UAAvB;AACP;AACA;AACA;AACA;;;AACO,MAAMC,WAAW,GAAG,SAApB;;IAEFC,O;;WAAAA,O;EAAAA,O;EAAAA,O;GAAAA,O,KAAAA,O;;AAKE,SAASC,cAAT,CAAwBC,OAAxB,EAAyCC,MAAzC,EAAiF;EACtF,OAAO,IAAAC,YAAA,EAAKP,aAAL,EAAoBK,OAApB,EAA6BC,MAA7B,CAAP;AACD;;AAEM,SAASE,YAAT,GAAuC;EAC5C,OAAO;IACLC,MAAM,EAAE;MAAEC,UAAU,EAAER,WAAd;MAA2BS,QAAQ,EAAE;IAArC;EADH,CAAP;AAGD;;AAEM,SAASC,SAAT,GAAoC;EACzC,OAAO;IACLN,MAAM,EAAE,MADH;IAELO,OAAO,EAAE,uBAFJ;IAILJ,MAAM,EAAE;MACNK,aAAa,EAAE,UADT;MAENH,QAAQ,EAAEV;IAFJ;EAJH,CAAP;AASD;;AAEM,SAASc,WAAT,CAAqB;EAAEC;AAAF,CAArB,EAA4E;EACjF,OAAO;IACLP,MAAM,EAAE;MACNQ,IAAI,EAAED,UADA;MAENN,UAAU,EAAG,GAFP;MAGNC,QAAQ,EAAE;IAHJ;EADH,CAAP;AAOD;;AAEM,SAASO,cAAT,CAAwB;EAAEF;AAAF,CAAxB,EAA+E;EACpF,OAAO;IACLV,MAAM,EAAE,MADH;IAELO,OAAO,EAAE,uBAFJ;IAILJ,MAAM,EAAE;MACNQ,IAAI,EAAED,UADA;MAENN,UAAU,EAAG,GAFP;MAGNI,aAAa,EAAE,UAHT;MAINH,QAAQ,EAAE;IAJJ;EAJH,CAAP;AAWD"}
1
+ {"version":3,"names":["OUTPUT_FOLDER","SSR_ENTRY_FILE","PUBLIC_PATH","Targets","calcOutputPath","appName","target","join","clientConfig","output","publicPath","filename","ssrConfig","devtool","libraryTarget","buildConfig","outputPath","path","ssrBuildConfig"],"sources":["webpack.app.ssr.config.ts"],"sourcesContent":["import { join } from 'path';\nimport type { Configuration } from 'webpack';\n\nconst OUTPUT_FOLDER = 'public/bit-apps';\nexport const SSR_ENTRY_FILE = 'index.js';\n/** _external_ base url for static files. (is not a folder)\n * @example\n * \"http://localhost:3000/public/main.88a88d47d86aaabc0230.js\"\n */\nexport const PUBLIC_PATH = '/public';\n\nenum Targets {\n ssr = 'ssr',\n browser = 'browser',\n}\n\nexport function calcOutputPath(appName: string, target: Targets | keyof typeof Targets) {\n return join(OUTPUT_FOLDER, appName, target);\n}\n\nexport function clientConfig(): Configuration {\n return {\n output: { publicPath: PUBLIC_PATH, filename: '[name].[chunkhash].js' },\n };\n}\n\nexport function ssrConfig(): Configuration {\n return {\n target: 'node',\n devtool: 'eval-cheap-source-map',\n\n output: {\n libraryTarget: 'commonjs',\n filename: SSR_ENTRY_FILE,\n },\n };\n}\n\nexport function buildConfig({ outputPath }: { outputPath: string }): Configuration {\n return {\n output: {\n path: outputPath,\n publicPath: `/`,\n filename: '[name].[chunkhash].js',\n },\n };\n}\n\nexport function ssrBuildConfig({ outputPath }: { outputPath: string }): Configuration {\n return {\n target: 'node',\n devtool: 'eval-cheap-source-map',\n\n output: {\n path: outputPath,\n publicPath: `/`,\n libraryTarget: 'commonjs',\n filename: 'index.js',\n },\n };\n}\n"],"mappings":";;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA,MAAMA,aAAa,GAAG,iBAAiB;AAChC,MAAMC,cAAc,GAAG,UAAU;AACxC;AACA;AACA;AACA;AAHA;AAIO,MAAMC,WAAW,GAAG,SAAS;AAAC;AAAA,IAEhCC,OAAO;AAAA,WAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;AAAA,GAAPA,OAAO,KAAPA,OAAO;AAKL,SAASC,cAAc,CAACC,OAAe,EAAEC,MAAsC,EAAE;EACtF,OAAO,IAAAC,YAAI,EAACP,aAAa,EAAEK,OAAO,EAAEC,MAAM,CAAC;AAC7C;AAEO,SAASE,YAAY,GAAkB;EAC5C,OAAO;IACLC,MAAM,EAAE;MAAEC,UAAU,EAAER,WAAW;MAAES,QAAQ,EAAE;IAAwB;EACvE,CAAC;AACH;AAEO,SAASC,SAAS,GAAkB;EACzC,OAAO;IACLN,MAAM,EAAE,MAAM;IACdO,OAAO,EAAE,uBAAuB;IAEhCJ,MAAM,EAAE;MACNK,aAAa,EAAE,UAAU;MACzBH,QAAQ,EAAEV;IACZ;EACF,CAAC;AACH;AAEO,SAASc,WAAW,CAAC;EAAEC;AAAmC,CAAC,EAAiB;EACjF,OAAO;IACLP,MAAM,EAAE;MACNQ,IAAI,EAAED,UAAU;MAChBN,UAAU,EAAG,GAAE;MACfC,QAAQ,EAAE;IACZ;EACF,CAAC;AACH;AAEO,SAASO,cAAc,CAAC;EAAEF;AAAmC,CAAC,EAAiB;EACpF,OAAO;IACLV,MAAM,EAAE,MAAM;IACdO,OAAO,EAAE,uBAAuB;IAEhCJ,MAAM,EAAE;MACNQ,IAAI,EAAED,UAAU;MAChBN,UAAU,EAAG,GAAE;MACfI,aAAa,EAAE,UAAU;MACzBH,QAAQ,EAAE;IACZ;EACF,CAAC;AACH"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  require("@teambit/react.eslint-config-bit-react");
4
-
5
4
  // Using object
5
+
6
6
  module.exports = {
7
7
  extends: [require.resolve('@teambit/react.eslint-config-bit-react')],
8
8
  parserOptions: {
@@ -1 +1 @@
1
- {"version":3,"names":["module","exports","extends","require","resolve","parserOptions","project"],"sources":["eslintrc.js"],"sourcesContent":["// Using object\nimport '@teambit/react.eslint-config-bit-react';\n\nmodule.exports = {\n extends: [require.resolve('@teambit/react.eslint-config-bit-react')],\n parserOptions: {\n // parser: require.resolve('@typescript-eslint/parser'),\n // createDefaultProgram: true,\n // resolve the env tsconfig.\n project: require.resolve('../typescript/tsconfig.json'),\n },\n};\n"],"mappings":";;AACA;;AADA;AAGAA,MAAM,CAACC,OAAP,GAAiB;EACfC,OAAO,EAAE,CAACC,OAAO,CAACC,OAAR,CAAgB,wCAAhB,CAAD,CADM;EAEfC,aAAa,EAAE;IACb;IACA;IACA;IACAC,OAAO,EAAEH,OAAO,CAACC,OAAR,CAAgB,6BAAhB;EAJI;AAFA,CAAjB"}
1
+ {"version":3,"names":["module","exports","extends","require","resolve","parserOptions","project"],"sources":["eslintrc.js"],"sourcesContent":["// Using object\nimport '@teambit/react.eslint-config-bit-react';\n\nmodule.exports = {\n extends: [require.resolve('@teambit/react.eslint-config-bit-react')],\n parserOptions: {\n // parser: require.resolve('@typescript-eslint/parser'),\n // createDefaultProgram: true,\n // resolve the env tsconfig.\n project: require.resolve('../typescript/tsconfig.json'),\n },\n};\n"],"mappings":";;AACA;AADA;;AAGAA,MAAM,CAACC,OAAO,GAAG;EACfC,OAAO,EAAE,CAACC,OAAO,CAACC,OAAO,CAAC,wCAAwC,CAAC,CAAC;EACpEC,aAAa,EAAE;IACb;IACA;IACA;IACAC,OAAO,EAAEH,OAAO,CAACC,OAAO,CAAC,6BAA6B;EACxD;AACF,CAAC"}
@@ -1,56 +1,40 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.HighlighterWidget = HighlighterWidget;
11
-
12
9
  function _react() {
13
10
  const data = _interopRequireDefault(require("react"));
14
-
15
11
  _react = function () {
16
12
  return data;
17
13
  };
18
-
19
14
  return data;
20
15
  }
21
-
22
16
  function _designUiInput() {
23
17
  const data = require("@teambit/design.ui.input.option-button");
24
-
25
18
  _designUiInput = function () {
26
19
  return data;
27
20
  };
28
-
29
21
  return data;
30
22
  }
31
-
32
23
  function _designUi() {
33
24
  const data = require("@teambit/design.ui.tooltip");
34
-
35
25
  _designUi = function () {
36
26
  return data;
37
27
  };
38
-
39
28
  return data;
40
29
  }
41
-
42
30
  function _compositionsUiHooks() {
43
31
  const data = require("@teambit/compositions.ui.hooks.use-composition");
44
-
45
32
  _compositionsUiHooks = function () {
46
33
  return data;
47
34
  };
48
-
49
35
  return data;
50
36
  }
51
-
52
37
  const PARAM_NAME = 'highlighter';
53
-
54
38
  function HighlighterWidget() {
55
39
  const [active, setActive] = (0, _compositionsUiHooks().usePreviewQueryParams)(PARAM_NAME);
56
40
  return /*#__PURE__*/_react().default.createElement(_designUi().Tooltip, {
@@ -1 +1 @@
1
- {"version":3,"names":["PARAM_NAME","HighlighterWidget","active","setActive","usePreviewQueryParams"],"sources":["highlighter-widget.tsx"],"sourcesContent":["import React from 'react';\nimport { OptionButton } from '@teambit/design.ui.input.option-button';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport { usePreviewQueryParams } from '@teambit/compositions.ui.hooks.use-composition';\n\nconst PARAM_NAME = 'highlighter';\n\nexport function HighlighterWidget() {\n const [active, setActive] = usePreviewQueryParams(PARAM_NAME);\n\n return (\n <Tooltip content=\"Component Highlighter (beta)\">\n {/* tooltip requires child with ref */}\n <span>\n <OptionButton icon=\"highlighter-toggle\" onClick={() => setActive(!active)} active={active} />\n </span>\n </Tooltip>\n );\n}\n"],"mappings":";;;;;;;;;;;AAAA;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;;AAEA,MAAMA,UAAU,GAAG,aAAnB;;AAEO,SAASC,iBAAT,GAA6B;EAClC,MAAM,CAACC,MAAD,EAASC,SAAT,IAAsB,IAAAC,4CAAA,EAAsBJ,UAAtB,CAA5B;EAEA,oBACE,+BAAC,mBAAD;IAAS,OAAO,EAAC;EAAjB,gBAEE,0DACE,+BAAC,6BAAD;IAAc,IAAI,EAAC,oBAAnB;IAAwC,OAAO,EAAE,MAAMG,SAAS,CAAC,CAACD,MAAF,CAAhE;IAA2E,MAAM,EAAEA;EAAnF,EADF,CAFF,CADF;AAQD"}
1
+ {"version":3,"names":["PARAM_NAME","HighlighterWidget","active","setActive","usePreviewQueryParams"],"sources":["highlighter-widget.tsx"],"sourcesContent":["import React from 'react';\nimport { OptionButton } from '@teambit/design.ui.input.option-button';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport { usePreviewQueryParams } from '@teambit/compositions.ui.hooks.use-composition';\n\nconst PARAM_NAME = 'highlighter';\n\nexport function HighlighterWidget() {\n const [active, setActive] = usePreviewQueryParams(PARAM_NAME);\n\n return (\n <Tooltip content=\"Component Highlighter (beta)\">\n {/* tooltip requires child with ref */}\n <span>\n <OptionButton icon=\"highlighter-toggle\" onClick={() => setActive(!active)} active={active} />\n </span>\n </Tooltip>\n );\n}\n"],"mappings":";;;;;;;;AAAA;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;AAEA,MAAMA,UAAU,GAAG,aAAa;AAEzB,SAASC,iBAAiB,GAAG;EAClC,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,4CAAqB,EAACJ,UAAU,CAAC;EAE7D,oBACE,+BAAC,mBAAO;IAAC,OAAO,EAAC;EAA8B,gBAE7C,0DACE,+BAAC,6BAAY;IAAC,IAAI,EAAC,oBAAoB;IAAC,OAAO,EAAE,MAAMG,SAAS,CAAC,CAACD,MAAM,CAAE;IAAC,MAAM,EAAEA;EAAO,EAAG,CACxF,CACC;AAEd"}
package/dist/index.js CHANGED
@@ -15,14 +15,11 @@ Object.defineProperty(exports, "default", {
15
15
  return _react().ReactAspect;
16
16
  }
17
17
  });
18
-
19
18
  function _react() {
20
19
  const data = require("./react.aspect");
21
-
22
20
  _react = function () {
23
21
  return data;
24
22
  };
25
-
26
23
  return data;
27
24
  }
28
25
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export type { ReactMain, UseWebpackModifiers, UseTypescriptModifiers } from './react.main.runtime';\nexport type { ReactPreview } from './react.preview.runtime';\nexport type { ReactAppType } from './apps/web/react.app-type';\nexport type { ReactEnv } from './react.env';\nexport type { ReactAppOptions, ReactDeployContext } from './apps/web';\n// Re-export it to indicate for people that extends the react env that we are using it\n// Commented - make errors in safari - SyntaxError: Invalid regular expression: invalid group specifier name\n// export * as styleRegexps from '@teambit/modules.style-regexps';\n\nexport { ReactAspect, ReactAspect as default } from './react.aspect';\n"],"mappings":";;;;;;;;;;;;;;;;;;AASA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export type { ReactMain, UseWebpackModifiers, UseTypescriptModifiers } from './react.main.runtime';\nexport type { ReactPreview } from './react.preview.runtime';\nexport type { ReactAppType } from './apps/web/react.app-type';\nexport type { ReactEnv } from './react.env';\nexport type { ReactAppOptions, ReactDeployContext } from './apps/web';\n// Re-export it to indicate for people that extends the react env that we are using it\n// Commented - make errors in safari - SyntaxError: Invalid regular expression: invalid group specifier name\n// export * as styleRegexps from '@teambit/modules.style-regexps';\n\nexport { ReactAspect, ReactAspect as default } from './react.aspect';\n"],"mappings":";;;;;;;;;;;;;;;;;AASA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -17,24 +16,18 @@ Object.defineProperty(exports, "esmConfig", {
17
16
  return _jestEsm().default;
18
17
  }
19
18
  });
20
-
21
19
  function _jestCjs() {
22
20
  const data = _interopRequireDefault(require("./jest.cjs.config"));
23
-
24
21
  _jestCjs = function () {
25
22
  return data;
26
23
  };
27
-
28
24
  return data;
29
25
  }
30
-
31
26
  function _jestEsm() {
32
27
  const data = _interopRequireDefault(require("./jest.esm.config"));
33
-
34
28
  _jestEsm = function () {
35
29
  return data;
36
30
  };
37
-
38
31
  return data;
39
32
  }
40
33
 
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import cjsConfig from './jest.cjs.config';\nimport esmConfig from './jest.esm.config';\n\nexport { cjsConfig, esmConfig };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import cjsConfig from './jest.cjs.config';\nimport esmConfig from './jest.esm.config';\n\nexport { cjsConfig, esmConfig };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}