@teambit/react 0.0.881 → 0.0.882
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/__bit_junit.xml +2 -2
- package/artifacts/env-template/public/{238.2ddc5a20aad2fef149e6.js → 700.fcb0085dcdf160cc65c9.js} +15 -15
- package/artifacts/env-template/public/assets-manifest.json +16 -16
- package/artifacts/env-template/public/{compositions.c4e18d110cce13606364.js → compositions.d36450c5ae70173e7a70.js} +1 -1
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/{overview.085d128a4f5272ef7319.js → overview.ca1695b4bf4d507d7a28.js} +1 -1
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/peers.9642cecf0c09b9d93f54.js +1 -0
- package/artifacts/env-template/public/{preview-root.b9ea187989f25bad7bf4.js → preview-root.a829360e0cc95e341dfd.js} +1 -1
- package/artifacts/env-template/public/static/css/700.bd8655a5.css +1 -0
- package/artifacts/env-template/public/static/css/compositions.e163efe5.css +1 -0
- package/artifacts/env-template/public/static/css/{overview.367aeb5b.css → overview.18adf1ee.css} +1 -1
- package/artifacts/preview/teambit_react_react-preview.js +1 -1
- package/{compositions-1666409808293.js → compositions-1666496165706.js} +0 -0
- package/dist/apps/web/compute-results.js +0 -2
- package/dist/apps/web/compute-results.js.map +1 -1
- package/dist/apps/web/index.js +0 -3
- package/dist/apps/web/index.js.map +1 -1
- package/dist/apps/web/plugins/index.js +0 -3
- package/dist/apps/web/plugins/index.js.map +1 -1
- package/dist/apps/web/plugins/prerender.js +0 -14
- package/dist/apps/web/plugins/prerender.js.map +1 -1
- package/dist/apps/web/react.app-type.js +0 -7
- package/dist/apps/web/react.app-type.js.map +1 -1
- package/dist/apps/web/react.application.js +11 -76
- package/dist/apps/web/react.application.js.map +1 -1
- package/dist/apps/web/ssr/ssr-express.js +0 -31
- package/dist/apps/web/ssr/ssr-express.js.map +1 -1
- package/dist/apps/web/webpack/mutators.js +0 -13
- package/dist/apps/web/webpack/mutators.js.map +1 -1
- package/dist/apps/web/webpack/webpack.app.ssr.config.js +0 -11
- package/dist/apps/web/webpack/webpack.app.ssr.config.js.map +1 -1
- package/dist/eslint/eslintrc.js +1 -1
- package/dist/eslint/eslintrc.js.map +1 -1
- package/dist/highlighter-widget.js +0 -16
- package/dist/highlighter-widget.js.map +1 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/jest/index.js +0 -7
- package/dist/jest/index.js.map +1 -1
- package/dist/jest/jest.base.config.js +3 -3
- package/dist/jest/jest.base.config.js.map +1 -1
- package/dist/jest/jest.cjs.config.js +0 -10
- package/dist/jest/jest.cjs.config.js.map +1 -1
- package/dist/jest/jest.config.js +1 -1
- package/dist/jest/jest.config.js.map +1 -1
- package/dist/jest/jest.esm.config.js +0 -10
- package/dist/jest/jest.esm.config.js.map +1 -1
- package/dist/jest/setupTests.js.map +1 -1
- package/dist/jest/transformers/base-transformer-plugins.js +1 -0
- package/dist/jest/transformers/base-transformer-plugins.js.map +1 -1
- package/dist/jest/transformers/base-transformer-presets.js +1 -0
- package/dist/jest/transformers/base-transformer-presets.js.map +1 -1
- package/dist/jest/transformers/base-transformer-process.js +0 -2
- package/dist/jest/transformers/base-transformer-process.js.map +1 -1
- package/dist/jest/transformers/cjs-transformer.js +0 -5
- package/dist/jest/transformers/cjs-transformer.js.map +1 -1
- package/dist/jest/transformers/css-transform.js +1 -2
- package/dist/jest/transformers/css-transform.js.map +1 -1
- package/dist/jest/transformers/esm-transformer.js +1 -5
- package/dist/jest/transformers/esm-transformer.js.map +1 -1
- package/dist/jest/transformers/file-transform.js +2 -6
- package/dist/jest/transformers/file-transform.js.map +1 -1
- package/dist/prettier/prettier.config.js.map +1 -1
- package/dist/react.aspect.js +0 -5
- package/dist/react.aspect.js.map +1 -1
- package/dist/react.composition.js +0 -6
- package/dist/react.composition.js.map +1 -1
- package/dist/react.env.js +34 -143
- package/dist/react.env.js.map +1 -1
- package/dist/react.graphql.js +0 -6
- package/dist/react.graphql.js.map +1 -1
- package/dist/react.main.runtime.js +23 -152
- package/dist/react.main.runtime.js.map +1 -1
- package/dist/react.preview.runtime.js +0 -32
- package/dist/react.preview.runtime.js.map +1 -1
- package/dist/react.templates.js +0 -46
- package/dist/react.templates.js.map +1 -1
- package/dist/react.ui.runtime.js +0 -35
- package/dist/react.ui.runtime.js.map +1 -1
- package/dist/templates/react-app/files/app-plugin.js +0 -1
- package/dist/templates/react-app/files/app-plugin.js.map +1 -1
- package/dist/templates/react-app/files/app-root.js +0 -1
- package/dist/templates/react-app/files/app-root.js.map +1 -1
- package/dist/templates/react-app/files/app.js +0 -1
- package/dist/templates/react-app/files/app.js.map +1 -1
- package/dist/templates/react-app/files/compositions.js +0 -1
- package/dist/templates/react-app/files/compositions.js.map +1 -1
- package/dist/templates/react-app/files/doc.js +0 -1
- package/dist/templates/react-app/files/doc.js.map +1 -1
- package/dist/templates/react-app/files/index.js +0 -1
- package/dist/templates/react-app/files/index.js.map +1 -1
- package/dist/templates/react-app/index.js +0 -19
- package/dist/templates/react-app/index.js.map +1 -1
- package/dist/templates/react-component/files/component.js +0 -2
- package/dist/templates/react-component/files/component.js.map +1 -1
- package/dist/templates/react-component/files/composition.js +0 -2
- package/dist/templates/react-component/files/composition.js.map +1 -1
- package/dist/templates/react-component/files/docs.js +0 -2
- package/dist/templates/react-component/files/docs.js.map +1 -1
- package/dist/templates/react-component/files/index-file.js +0 -2
- package/dist/templates/react-component/files/index-file.js.map +1 -1
- package/dist/templates/react-component/files/test.js +0 -2
- package/dist/templates/react-component/files/test.js.map +1 -1
- package/dist/templates/react-component/index.js +0 -24
- package/dist/templates/react-component/index.js.map +1 -1
- package/dist/templates/react-component-js/files/component.js +0 -2
- package/dist/templates/react-component-js/files/component.js.map +1 -1
- package/dist/templates/react-component-js/files/composition.js +0 -2
- package/dist/templates/react-component-js/files/composition.js.map +1 -1
- package/dist/templates/react-component-js/files/docs.js +0 -2
- package/dist/templates/react-component-js/files/docs.js.map +1 -1
- package/dist/templates/react-component-js/files/test.js +0 -2
- package/dist/templates/react-component-js/files/test.js.map +1 -1
- package/dist/templates/react-component-js/index.js +0 -21
- package/dist/templates/react-component-js/index.js.map +1 -1
- package/dist/templates/react-context/files/composition.js +0 -2
- package/dist/templates/react-context/files/composition.js.map +1 -1
- package/dist/templates/react-context/files/context-provider.js +0 -2
- package/dist/templates/react-context/files/context-provider.js.map +1 -1
- package/dist/templates/react-context/files/context.js +0 -2
- package/dist/templates/react-context/files/context.js.map +1 -1
- package/dist/templates/react-context/files/docs.js +0 -2
- package/dist/templates/react-context/files/docs.js.map +1 -1
- package/dist/templates/react-context/files/index-file.js +0 -2
- package/dist/templates/react-context/files/index-file.js.map +1 -1
- package/dist/templates/react-context/files/test.js +0 -2
- package/dist/templates/react-context/files/test.js.map +1 -1
- package/dist/templates/react-context/index.js +0 -19
- package/dist/templates/react-context/index.js.map +1 -1
- package/dist/templates/react-env/files/aspect.js +0 -1
- package/dist/templates/react-env/files/aspect.js.map +1 -1
- package/dist/templates/react-env/files/doc.js +0 -1
- package/dist/templates/react-env/files/doc.js.map +1 -1
- package/dist/templates/react-env/files/index.js +0 -1
- package/dist/templates/react-env/files/index.js.map +1 -1
- package/dist/templates/react-env/files/jest.config.js +0 -1
- package/dist/templates/react-env/files/jest.config.js.map +1 -1
- package/dist/templates/react-env/files/main.runtime.js +0 -1
- package/dist/templates/react-env/files/main.runtime.js.map +1 -1
- package/dist/templates/react-env/files/preview.runtime.js +0 -1
- package/dist/templates/react-env/files/preview.runtime.js.map +1 -1
- package/dist/templates/react-env/files/typescript/styles.js +0 -1
- package/dist/templates/react-env/files/typescript/styles.js.map +1 -1
- package/dist/templates/react-env/files/typescript/ts-transformer.js +0 -1
- package/dist/templates/react-env/files/typescript/ts-transformer.js.map +1 -1
- package/dist/templates/react-env/files/typescript/typescript.config.js +0 -1
- package/dist/templates/react-env/files/typescript/typescript.config.js.map +1 -1
- package/dist/templates/react-env/files/webpack.config.js +0 -1
- package/dist/templates/react-env/files/webpack.config.js.map +1 -1
- package/dist/templates/react-env/index.js +0 -31
- package/dist/templates/react-env/index.js.map +1 -1
- package/dist/templates/react-hook/files/component.js +0 -2
- package/dist/templates/react-hook/files/component.js.map +1 -1
- package/dist/templates/react-hook/files/composition.js +0 -2
- package/dist/templates/react-hook/files/composition.js.map +1 -1
- package/dist/templates/react-hook/files/docs.js +0 -2
- package/dist/templates/react-hook/files/docs.js.map +1 -1
- package/dist/templates/react-hook/files/index-file.js +0 -2
- package/dist/templates/react-hook/files/index-file.js.map +1 -1
- package/dist/templates/react-hook/files/index-file.spec.js +0 -6
- package/dist/templates/react-hook/files/index-file.spec.js.map +1 -1
- package/dist/templates/react-hook/files/test.js +0 -2
- package/dist/templates/react-hook/files/test.js.map +1 -1
- package/dist/templates/react-hook/index.js +0 -16
- package/dist/templates/react-hook/index.js.map +1 -1
- package/dist/templates/react-workspace/index.js +2 -6
- package/dist/templates/react-workspace/index.js.map +1 -1
- package/dist/templates/react-workspace-analytics/index.js +0 -5
- package/dist/templates/react-workspace-analytics/index.js.map +1 -1
- package/dist/templates/react-workspace-app/index.js +2 -13
- package/dist/templates/react-workspace-app/index.js.map +1 -1
- package/dist/templates/react-workspace-blog/index.js +0 -5
- package/dist/templates/react-workspace-blog/index.js.map +1 -1
- package/dist/templates/react-workspace-data-fetching/index.js +0 -5
- package/dist/templates/react-workspace-data-fetching/index.js.map +1 -1
- package/dist/templates/react-workspace-deprecated/index.js +0 -5
- package/dist/templates/react-workspace-deprecated/index.js.map +1 -1
- package/dist/templates/react-workspace-design-system/index.js +0 -5
- package/dist/templates/react-workspace-design-system/index.js.map +1 -1
- package/dist/templates/react-workspace-lib/index.js +0 -5
- package/dist/templates/react-workspace-lib/index.js.map +1 -1
- package/dist/templates/react-workspace-wiki/index.js +0 -5
- package/dist/templates/react-workspace-wiki/index.js.map +1 -1
- package/dist/templates/workspace-common/constants.js.map +1 -1
- package/dist/templates/workspace-common/files/eslint-config.js.map +1 -1
- package/dist/templates/workspace-common/files/git-ignore.js +0 -1
- package/dist/templates/workspace-common/files/git-ignore.js.map +1 -1
- package/dist/templates/workspace-common/files/launch-json.js +0 -2
- package/dist/templates/workspace-common/files/launch-json.js.map +1 -1
- package/dist/templates/workspace-common/files/prettier-config.js.map +1 -1
- package/dist/templates/workspace-common/files/readme-file.js +0 -1
- package/dist/templates/workspace-common/files/readme-file.js.map +1 -1
- package/dist/templates/workspace-common/files/ts-config.js.map +1 -1
- package/dist/templates/workspace-common/files/types/asset.js.map +1 -1
- package/dist/templates/workspace-common/files/types/style.js.map +1 -1
- package/dist/templates/workspace-common/files/workspace-config.js +0 -14
- package/dist/templates/workspace-common/files/workspace-config.js.map +1 -1
- package/dist/templates/workspace-common/generate-files.js +0 -29
- package/dist/templates/workspace-common/generate-files.js.map +1 -1
- package/dist/templates/workspace-common/index.js +0 -3
- package/dist/templates/workspace-common/index.js.map +1 -1
- package/dist/webpack/html.js +3 -2
- package/dist/webpack/html.js.map +1 -1
- package/dist/webpack/index.js +0 -3
- package/dist/webpack/index.js.map +1 -1
- package/dist/webpack/overlay/formatWebpackMessages.js +26 -37
- package/dist/webpack/overlay/formatWebpackMessages.js.map +1 -1
- package/dist/webpack/overlay/launchEditorEndpoint.js +2 -2
- package/dist/webpack/overlay/launchEditorEndpoint.js.map +1 -1
- package/dist/webpack/overlay/refreshOverlayInterop.js +1 -3
- package/dist/webpack/overlay/refreshOverlayInterop.js.map +1 -1
- package/dist/webpack/overlay/webpackHotDevClient.js +54 -71
- package/dist/webpack/overlay/webpackHotDevClient.js.map +1 -1
- package/dist/webpack/postcss.config.js +6 -3
- package/dist/webpack/postcss.config.js.map +1 -1
- package/dist/webpack/webpack.config.base.js +28 -53
- package/dist/webpack/webpack.config.base.js.map +1 -1
- package/dist/webpack/webpack.config.base.prod.js +10 -14
- package/dist/webpack/webpack.config.base.prod.js.map +1 -1
- package/dist/webpack/webpack.config.component.dev.js +10 -17
- package/dist/webpack/webpack.config.component.dev.js.map +1 -1
- package/dist/webpack/webpack.config.component.prod.js +3 -6
- package/dist/webpack/webpack.config.component.prod.js.map +1 -1
- package/dist/webpack/webpack.config.env.dev.js +5 -5
- package/dist/webpack/webpack.config.env.dev.js.map +1 -1
- package/dist/webpack/webpack.config.env.template.js +0 -1
- package/dist/webpack/webpack.config.env.template.js.map +1 -1
- package/{overview-1666409808293.js → overview-1666496165706.js} +0 -0
- package/package-tar/teambit-react-0.0.882.tgz +0 -0
- package/package.json +25 -25
- package/{preview-1666409808293.js → preview-1666496165706.js} +2 -2
- package/artifacts/env-template/public/peers.df1b33444b47cc9becfc.js +0 -1
- package/artifacts/env-template/public/static/css/238.a0238c25.css +0 -1
- package/artifacts/env-template/public/static/css/compositions.6d8c7702.css +0 -1
- 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":"
|
|
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":"
|
|
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":"
|
|
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"}
|
package/dist/eslint/eslintrc.js
CHANGED
|
@@ -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;;
|
|
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":"
|
|
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
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":"
|
|
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"}
|
package/dist/jest/index.js
CHANGED
|
@@ -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
|
|
package/dist/jest/index.js.map
CHANGED
|
@@ -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":"
|
|
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"}
|