@teambit/react 0.0.732 → 0.0.735
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/apps/web/plugins/index.ts +1 -1
- package/apps/web/plugins/prerender.ts +5 -13
- package/apps/web/react-app-options.ts +44 -3
- package/apps/web/react.application.ts +2 -2
- package/artifacts/env-template/public/117.js +34 -0
- package/artifacts/env-template/public/{283.js → 149.js} +2 -2
- package/artifacts/env-template/public/{793.js → 295.js} +63 -67
- package/artifacts/env-template/public/677.js +5 -5
- package/artifacts/env-template/public/750.js +6 -6
- package/artifacts/env-template/public/{764.js → 994.js} +6 -6
- package/artifacts/env-template/public/assets-manifest.json +21 -21
- package/artifacts/env-template/public/{compositions.3604561f89c7643dae7b.js → compositions.ff40db501672bede5e3f.js} +1 -1
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/{overview.87ea5e32ca6eab940eb6.js → overview.9ee03c1e295a357f7aa0.js} +1 -1
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/peers.edfbd1f8ec8a3331b9ac.js +1 -0
- package/artifacts/env-template/public/{preview-root.7e877ecceb7548ad9faa.js → preview-root.7a24e602c0fa0ba9f5f1.js} +1 -1
- package/artifacts/env-template/public/service-worker.js +1 -1
- package/artifacts/env-template/public/static/css/295.e370e333.css +1 -0
- package/artifacts/preview/teambit_react_react-preview.js +2 -2
- package/{compositions-1652671504464.js → compositions-1652808661748.js} +0 -0
- package/dist/apps/web/plugins/index.d.ts +1 -1
- package/dist/apps/web/plugins/index.js +2 -2
- package/dist/apps/web/plugins/index.js.map +1 -1
- package/dist/apps/web/plugins/prerender.d.ts +1 -1
- package/dist/apps/web/plugins/prerender.js +12 -21
- package/dist/apps/web/plugins/prerender.js.map +1 -1
- package/dist/apps/web/react-app-options.d.ts +32 -2
- package/dist/apps/web/react.application.js +1 -1
- package/dist/apps/web/react.application.js.map +1 -1
- package/dist/react.env.js +2 -1
- package/dist/react.env.js.map +1 -1
- package/dist/webpack/get-exposed-rules.d.ts +2 -1
- package/dist/webpack/get-exposed-rules.js +12 -2
- package/dist/webpack/get-exposed-rules.js.map +1 -1
- package/dist/webpack/resolve-peer.d.ts +14 -0
- package/dist/webpack/resolve-peer.js +108 -0
- package/dist/webpack/resolve-peer.js.map +1 -0
- package/dist/webpack/transformers.d.ts +8 -1
- package/dist/webpack/transformers.js +37 -39
- package/dist/webpack/transformers.js.map +1 -1
- package/dist/webpack/webpack.config.base.prod.js +0 -15
- package/dist/webpack/webpack.config.base.prod.js.map +1 -1
- package/{overview-1652671504464.js → overview-1652808661748.js} +0 -0
- package/package-tar/teambit-react-0.0.735.tgz +0 -0
- package/package.json +35 -33
- package/{preview-1652671504464.js → preview-1652808661748.js} +2 -2
- package/webpack/get-exposed-rules.ts +4 -2
- package/webpack/resolve-peer.ts +60 -0
- package/webpack/transformers.ts +24 -33
- package/webpack/webpack.config.base.prod.ts +0 -9
- package/artifacts/env-template/public/15.js +0 -34
- package/artifacts/env-template/public/peers.dbfbae2daf17fd0c329d.js +0 -1
- package/artifacts/env-template/public/static/css/793.52d87d5e.css +0 -1
- package/package-tar/teambit-react-0.0.732.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { prerenderPlugin } from './prerender';
|
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import PrerenderSPAPlugin from 'prerender-spa-plugin-next';
|
|
2
|
+
import { PuppeteerRenderer } from '@teambit/react.modules.prerenderer-puppeteer';
|
|
3
3
|
import { ReactAppPrerenderOptions } from '../react-app-options';
|
|
4
4
|
|
|
5
|
-
export const
|
|
5
|
+
export const prerenderPlugin = (options: ReactAppPrerenderOptions) => {
|
|
6
6
|
return new PrerenderSPAPlugin({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
postProcess(renderedRoute: any) {
|
|
10
|
-
if (prerender.postProcess) return prerender.postProcess(renderedRoute, staticDir);
|
|
11
|
-
renderedRoute.outputPath = join(staticDir, `${renderedRoute.originalRoute}.html`);
|
|
12
|
-
return renderedRoute;
|
|
13
|
-
},
|
|
14
|
-
server: {
|
|
15
|
-
...prerender?.server,
|
|
16
|
-
},
|
|
7
|
+
renderer: PuppeteerRenderer,
|
|
8
|
+
...options,
|
|
17
9
|
});
|
|
18
10
|
};
|
|
@@ -3,21 +3,62 @@ import { WebpackConfigTransformer } from '@teambit/webpack';
|
|
|
3
3
|
|
|
4
4
|
import { ReactDeployContext } from './deploy-context';
|
|
5
5
|
|
|
6
|
+
type prerenderedRoute = {
|
|
7
|
+
/** The prerendered route, after following redirects */
|
|
8
|
+
route: string;
|
|
9
|
+
/** The original route passed, before redirects */
|
|
10
|
+
originalRoute: string;
|
|
11
|
+
/** The resulting HTML for the route */
|
|
12
|
+
html: string;
|
|
13
|
+
/**
|
|
14
|
+
* The path to write the rendered HTML to.
|
|
15
|
+
* This is null (automatically calculated after postProcess)
|
|
16
|
+
* unless explicitly set. */
|
|
17
|
+
outputPath?: string | null;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
/** https://github.com/Tofandel/prerender-spa-plugin-next */
|
|
6
21
|
export type ReactAppPrerenderOptions = {
|
|
22
|
+
/**
|
|
23
|
+
* sub folder to output the prerender, inside the webpack output folder
|
|
24
|
+
* @default '/'
|
|
25
|
+
*/
|
|
26
|
+
staticDir?: string;
|
|
27
|
+
|
|
28
|
+
/** The index file to fall back on for SPAs. */
|
|
29
|
+
indexPath?: string;
|
|
30
|
+
|
|
7
31
|
/**
|
|
8
32
|
* routes to prerender
|
|
9
33
|
*/
|
|
10
34
|
routes: string[];
|
|
35
|
+
|
|
11
36
|
/**
|
|
12
37
|
* the proxy server you want the prerender headless browser to run on
|
|
13
38
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
39
|
+
server?: {
|
|
40
|
+
proxy: {
|
|
41
|
+
[key: string]: {
|
|
42
|
+
/** required by HPM.
|
|
43
|
+
* @default 'http://localhost:8000/' */
|
|
44
|
+
target: string;
|
|
45
|
+
pathRewrite: { [key: string]: string };
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
};
|
|
16
49
|
|
|
17
50
|
/**
|
|
18
51
|
* Post processing of the prerendered html. This is useful for adding meta tags to the html or changing the file name.
|
|
19
52
|
*/
|
|
20
|
-
postProcess?: (prerenderRoute:
|
|
53
|
+
postProcess?: (prerenderRoute: prerenderedRoute) => prerenderedRoute;
|
|
54
|
+
|
|
55
|
+
/** The renderer you'd like to use to prerender the app.
|
|
56
|
+
* @default new require("@prerenderer/renderer-puppeteer").
|
|
57
|
+
*/
|
|
58
|
+
renderer?: any;
|
|
59
|
+
|
|
60
|
+
/** options to pass to the renderer class's constructor */
|
|
61
|
+
rendererOptions?: any;
|
|
21
62
|
};
|
|
22
63
|
|
|
23
64
|
export type ReactAppOptions = {
|
|
@@ -6,7 +6,7 @@ import { remove } from 'lodash';
|
|
|
6
6
|
import TerserPlugin from 'terser-webpack-plugin';
|
|
7
7
|
import { WebpackConfigTransformer } from '@teambit/webpack';
|
|
8
8
|
import { ReactEnv } from '../../react.env';
|
|
9
|
-
import {
|
|
9
|
+
import { prerenderPlugin } from './plugins';
|
|
10
10
|
import { ReactAppBuildResult } from './react-build-result';
|
|
11
11
|
import { ReactAppPrerenderOptions } from './react-app-options';
|
|
12
12
|
import { html } from '../../webpack';
|
|
@@ -105,7 +105,7 @@ export class ReactApp implements Application {
|
|
|
105
105
|
|
|
106
106
|
const defaultTransformer: WebpackConfigTransformer = (configMutator) => {
|
|
107
107
|
const config = configMutator.addTopLevel('output', { path: staticDir, publicPath: `/` });
|
|
108
|
-
if (this.prerender) config.addPlugin(
|
|
108
|
+
if (this.prerender) config.addPlugin(prerenderPlugin(this.prerender));
|
|
109
109
|
if (config.raw.optimization?.minimizer) {
|
|
110
110
|
remove(config.raw.optimization?.minimizer, (minimizer) => {
|
|
111
111
|
return minimizer.constructor.name === 'TerserPlugin';
|