@teambit/react 0.0.802 → 0.0.805
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/react-app-options.ts +4 -4
- package/apps/web/react.app-type.ts +5 -2
- package/apps/web/react.application.ts +120 -25
- package/apps/web/ssr/ssr-express.ts +81 -0
- package/apps/web/webpack/mutators.ts +21 -0
- package/apps/web/webpack/webpack.app.ssr.config.ts +37 -0
- package/artifacts/__bit_junit.xml +2 -2
- package/artifacts/env-template/public/{22.20acd98351f2158a41da.js → 22.0f657f2dfdd8e90d81ba.js} +0 -0
- package/artifacts/env-template/public/{697.d653451cb84e67a5a1e6.js → 750.2bbe0002ca73603de518.js} +19 -11
- package/artifacts/env-template/public/assets-manifest.json +16 -16
- package/artifacts/env-template/public/{compositions.4f32d45facc10b788b84.js → compositions.853254f720441442d37a.js} +1 -1
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/{overview.3b7b230063483eef660c.js → overview.0ca27c1c75ca340b6722.js} +1 -1
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/{peers.185e5d6ee27c15e8a771.js → peers.283551d5f03dbfad5477.js} +1 -1
- package/artifacts/env-template/public/{preview-root.291f6f0c253a631863cb.js → preview-root.b859b02336387c766d60.js} +1 -1
- package/artifacts/env-template/public/static/css/{697.90cfc900.css → 750.f6840c3e.css} +1 -1
- package/artifacts/env-template/public/static/css/{overview.df4a22d4.css → overview.c86de60f.css} +1 -1
- package/artifacts/preview/teambit_react_react-preview.js +2 -2
- package/{compositions-1659151732866.js → compositions-1659456045857.js} +0 -0
- package/dist/apps/web/react-app-options.d.ts +4 -4
- package/dist/apps/web/react-app-options.js.map +1 -1
- package/dist/apps/web/react.app-type.d.ts +3 -1
- package/dist/apps/web/react.app-type.js +3 -2
- package/dist/apps/web/react.app-type.js.map +1 -1
- package/dist/apps/web/react.application.d.ts +12 -5
- package/dist/apps/web/react.application.js +135 -15
- package/dist/apps/web/react.application.js.map +1 -1
- package/dist/apps/web/ssr/ssr-express.d.ts +15 -0
- package/dist/apps/web/ssr/ssr-express.js +151 -0
- package/dist/apps/web/ssr/ssr-express.js.map +1 -0
- package/dist/apps/web/webpack/mutators.d.ts +3 -0
- package/dist/apps/web/webpack/mutators.js +28 -0
- package/dist/apps/web/webpack/mutators.js.map +1 -0
- package/dist/apps/web/webpack/webpack.app.ssr.config.d.ts +15 -0
- package/dist/apps/web/webpack/webpack.app.ssr.config.js +62 -0
- package/dist/apps/web/webpack/webpack.app.ssr.config.js.map +1 -0
- package/dist/react.main.runtime.d.ts +3 -2
- package/dist/react.main.runtime.js +5 -4
- package/dist/react.main.runtime.js.map +1 -1
- package/{overview-1659151732866.js → overview-1659456045857.js} +0 -0
- package/package-tar/teambit-react-0.0.805.tgz +0 -0
- package/package.json +40 -32
- package/{preview-1659151732866.js → preview-1659456045857.js} +2 -2
- package/package-tar/teambit-react-0.0.802.tgz +0 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.array.iterator.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.promise.js");
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "__esModule", {
|
|
10
|
+
value: true
|
|
11
|
+
});
|
|
12
|
+
exports.createExpressSsr = createExpressSsr;
|
|
13
|
+
exports.loadSsrApp = loadSsrApp;
|
|
14
|
+
exports.parseAssets = parseAssets;
|
|
15
|
+
|
|
16
|
+
function _uiFoundationUiPages() {
|
|
17
|
+
const data = require("@teambit/ui-foundation.ui.pages.static-error");
|
|
18
|
+
|
|
19
|
+
_uiFoundationUiPages = function () {
|
|
20
|
+
return data;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function _reactRendering() {
|
|
27
|
+
const data = require("@teambit/react.rendering.ssr");
|
|
28
|
+
|
|
29
|
+
_reactRendering = function () {
|
|
30
|
+
return data;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function _express() {
|
|
37
|
+
const data = _interopRequireDefault(require("express"));
|
|
38
|
+
|
|
39
|
+
_express = function () {
|
|
40
|
+
return data;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function fs() {
|
|
47
|
+
const data = _interopRequireWildcard(require("fs-extra"));
|
|
48
|
+
|
|
49
|
+
fs = function () {
|
|
50
|
+
return data;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
return data;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function _path() {
|
|
57
|
+
const data = require("path");
|
|
58
|
+
|
|
59
|
+
_path = function () {
|
|
60
|
+
return data;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
return data;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function _urlJoin() {
|
|
67
|
+
const data = _interopRequireDefault(require("url-join"));
|
|
68
|
+
|
|
69
|
+
_urlJoin = function () {
|
|
70
|
+
return data;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
return data;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function _webpackAppSsr() {
|
|
77
|
+
const data = require("../webpack/webpack.app.ssr.config");
|
|
78
|
+
|
|
79
|
+
_webpackAppSsr = function () {
|
|
80
|
+
return data;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
return data;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
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
|
+
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
|
+
const MAGIC_FOLDER = 'public'; // idk where this is comping from
|
|
91
|
+
|
|
92
|
+
function createExpressSsr({
|
|
93
|
+
name,
|
|
94
|
+
workdir,
|
|
95
|
+
port,
|
|
96
|
+
app,
|
|
97
|
+
assets,
|
|
98
|
+
logger
|
|
99
|
+
}) {
|
|
100
|
+
const express = (0, _express().default)();
|
|
101
|
+
const publicFolder = (0, _path().resolve)(workdir, (0, _webpackAppSsr().calcOutputPath)(name, 'browser'), MAGIC_FOLDER);
|
|
102
|
+
express.use(_webpackAppSsr().PUBLIC_PATH, _express().default.static(publicFolder));
|
|
103
|
+
express.use((request, response, next) => {
|
|
104
|
+
if (request.query._rendering !== 'client') {
|
|
105
|
+
next();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
response.sendFile((0, _path().resolve)(workdir, (0, _webpackAppSsr().calcOutputPath)(name, 'browser'), MAGIC_FOLDER, 'index.html'));
|
|
110
|
+
});
|
|
111
|
+
express.use(async (request, response) => {
|
|
112
|
+
logger === null || logger === void 0 ? void 0 : logger.info(`[react.application] [ssr] handling "${request.url}"`);
|
|
113
|
+
const browser = (0, _reactRendering().browserFromExpress)(request, port);
|
|
114
|
+
const session = {
|
|
115
|
+
assets,
|
|
116
|
+
browser,
|
|
117
|
+
request,
|
|
118
|
+
response
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
try {
|
|
122
|
+
// the app itself controls the response
|
|
123
|
+
await app(session);
|
|
124
|
+
logger === null || logger === void 0 ? void 0 : logger.console(`[react.application] [ssr] success "${request.url}"`);
|
|
125
|
+
} catch (error) {
|
|
126
|
+
logger === null || logger === void 0 ? void 0 : logger.consoleError(`[react.application] [ssr] error at "${request.url}"`, error);
|
|
127
|
+
response.status(500).send((0, _uiFoundationUiPages().serverError)());
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
return express;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
async function loadSsrApp(workdir, appName) {
|
|
134
|
+
const entryFile = (0, _path().resolve)(workdir, (0, _webpackAppSsr().calcOutputPath)(appName, 'ssr'), MAGIC_FOLDER, _webpackAppSsr().SSR_ENTRY_FILE);
|
|
135
|
+
if (!fs().existsSync(entryFile)) throw new Error(`expected ssr bundle entry file at "${entryFile}"`);
|
|
136
|
+
const entry = await Promise.resolve(`${entryFile}`).then(s => _interopRequireWildcard(require(s)));
|
|
137
|
+
const app = entry === null || entry === void 0 ? void 0 : entry.default;
|
|
138
|
+
if (!app) throw new Error(`bundle entry file has no default export (at "${entryFile}")`);
|
|
139
|
+
return app;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function parseAssets(assets, publicPath = _webpackAppSsr().PUBLIC_PATH) {
|
|
143
|
+
const deadAssets = assets.filter(x => !x.name);
|
|
144
|
+
if (deadAssets.length > 0) throw new Error('missing some build assets (maybe need to turn on cachedAssets, etc)');
|
|
145
|
+
return {
|
|
146
|
+
css: assets.map(x => x.name).filter(name => name === null || name === void 0 ? void 0 : name.endsWith('.css')).map(name => (0, _urlJoin().default)(publicPath, name)),
|
|
147
|
+
js: assets.map(x => x.name).filter(name => name === null || name === void 0 ? void 0 : name.endsWith('.js')).map(name => (0, _urlJoin().default)(publicPath, name))
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
//# sourceMappingURL=ssr-express.js.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.addDevServer = addDevServer;
|
|
7
|
+
exports.setOutput = setOutput;
|
|
8
|
+
|
|
9
|
+
function addDevServer(configMutator) {
|
|
10
|
+
return configMutator.addTopLevel('devServer', {
|
|
11
|
+
allowedHosts: 'all',
|
|
12
|
+
historyApiFallback: {
|
|
13
|
+
index: '/index.html',
|
|
14
|
+
disableDotRule: true
|
|
15
|
+
},
|
|
16
|
+
headers: {
|
|
17
|
+
'Access-Control-Allow-Origin': '*'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function setOutput(configMutator) {
|
|
23
|
+
if (!configMutator.raw.output) configMutator.raw.output = {};
|
|
24
|
+
configMutator.raw.output.publicPath = '/';
|
|
25
|
+
return configMutator;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=mutators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["addDevServer","configMutator","addTopLevel","allowedHosts","historyApiFallback","index","disableDotRule","headers","setOutput","raw","output","publicPath"],"sources":["mutators.ts"],"sourcesContent":["import { WebpackConfigMutator } from '@teambit/webpack';\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"],"mappings":";;;;;;;;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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Configuration } from 'webpack';
|
|
2
|
+
export declare const SSR_ENTRY_FILE = "index.js";
|
|
3
|
+
/** _external_ base url for static files. (is not a folder)
|
|
4
|
+
* @example
|
|
5
|
+
* "http://localhost:3000/public/main.88a88d47d86aaabc0230.js"
|
|
6
|
+
*/
|
|
7
|
+
export declare const PUBLIC_PATH = "/public";
|
|
8
|
+
declare enum Targets {
|
|
9
|
+
ssr = "ssr",
|
|
10
|
+
browser = "browser"
|
|
11
|
+
}
|
|
12
|
+
export declare function calcOutputPath(appName: string, target: Targets | keyof typeof Targets): string;
|
|
13
|
+
export declare function clientConfig(): Configuration;
|
|
14
|
+
export declare function ssrConfig(): Configuration;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SSR_ENTRY_FILE = exports.PUBLIC_PATH = void 0;
|
|
7
|
+
exports.calcOutputPath = calcOutputPath;
|
|
8
|
+
exports.clientConfig = clientConfig;
|
|
9
|
+
exports.ssrConfig = ssrConfig;
|
|
10
|
+
|
|
11
|
+
function _path() {
|
|
12
|
+
const data = require("path");
|
|
13
|
+
|
|
14
|
+
_path = function () {
|
|
15
|
+
return data;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const OUTPUT_FOLDER = 'public/bit-apps';
|
|
22
|
+
const SSR_ENTRY_FILE = 'index.js';
|
|
23
|
+
/** _external_ base url for static files. (is not a folder)
|
|
24
|
+
* @example
|
|
25
|
+
* "http://localhost:3000/public/main.88a88d47d86aaabc0230.js"
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
exports.SSR_ENTRY_FILE = SSR_ENTRY_FILE;
|
|
29
|
+
const PUBLIC_PATH = '/public';
|
|
30
|
+
exports.PUBLIC_PATH = PUBLIC_PATH;
|
|
31
|
+
var Targets;
|
|
32
|
+
|
|
33
|
+
(function (Targets) {
|
|
34
|
+
Targets["ssr"] = "ssr";
|
|
35
|
+
Targets["browser"] = "browser";
|
|
36
|
+
})(Targets || (Targets = {}));
|
|
37
|
+
|
|
38
|
+
function calcOutputPath(appName, target) {
|
|
39
|
+
return (0, _path().join)(OUTPUT_FOLDER, appName, target);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function clientConfig() {
|
|
43
|
+
return {
|
|
44
|
+
output: {
|
|
45
|
+
publicPath: PUBLIC_PATH,
|
|
46
|
+
filename: '[name].[chunkhash].js'
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function ssrConfig() {
|
|
52
|
+
return {
|
|
53
|
+
target: 'node',
|
|
54
|
+
devtool: 'eval-cheap-source-map',
|
|
55
|
+
output: {
|
|
56
|
+
libraryTarget: 'commonjs',
|
|
57
|
+
filename: SSR_ENTRY_FILE
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=webpack.app.ssr.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["OUTPUT_FOLDER","SSR_ENTRY_FILE","PUBLIC_PATH","Targets","calcOutputPath","appName","target","join","clientConfig","output","publicPath","filename","ssrConfig","devtool","libraryTarget"],"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"],"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"}
|
|
@@ -13,7 +13,7 @@ import { GeneratorMain } from '@teambit/generator';
|
|
|
13
13
|
import { Workspace } from '@teambit/workspace';
|
|
14
14
|
import { DependencyResolverMain, EnvPolicyConfigObject } from '@teambit/dependency-resolver';
|
|
15
15
|
import { ApplicationMain } from '@teambit/application';
|
|
16
|
-
import { LoggerMain } from '@teambit/logger';
|
|
16
|
+
import { Logger, LoggerMain } from '@teambit/logger';
|
|
17
17
|
import { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';
|
|
18
18
|
import { PrettierMain, PrettierConfigTransformer } from '@teambit/prettier';
|
|
19
19
|
import { ReactEnv } from './react.env';
|
|
@@ -74,11 +74,12 @@ export declare class ReactMain {
|
|
|
74
74
|
private envs;
|
|
75
75
|
private application;
|
|
76
76
|
private reactAppType;
|
|
77
|
+
private logger?;
|
|
77
78
|
constructor(
|
|
78
79
|
/**
|
|
79
80
|
* an instance of the React env.
|
|
80
81
|
*/
|
|
81
|
-
reactEnv: ReactEnv, envs: EnvsMain, application: ApplicationMain, reactAppType: ReactAppType);
|
|
82
|
+
reactEnv: ReactEnv, envs: EnvsMain, application: ApplicationMain, reactAppType: ReactAppType, logger?: Logger | undefined);
|
|
82
83
|
readonly env: ReactEnv;
|
|
83
84
|
getReactAppType(name: string): ReactAppType;
|
|
84
85
|
/**
|
|
@@ -272,16 +272,17 @@ class ReactMain {
|
|
|
272
272
|
/**
|
|
273
273
|
* an instance of the React env.
|
|
274
274
|
*/
|
|
275
|
-
reactEnv, envs, application, reactAppType) {
|
|
275
|
+
reactEnv, envs, application, reactAppType, logger) {
|
|
276
276
|
this.reactEnv = reactEnv;
|
|
277
277
|
this.envs = envs;
|
|
278
278
|
this.application = application;
|
|
279
279
|
this.reactAppType = reactAppType;
|
|
280
|
+
this.logger = logger;
|
|
280
281
|
(0, _defineProperty2().default)(this, "env", this.reactEnv);
|
|
281
282
|
}
|
|
282
283
|
|
|
283
284
|
getReactAppType(name) {
|
|
284
|
-
return new (_web().ReactAppType)(name, this.reactEnv);
|
|
285
|
+
return new (_web().ReactAppType)(name, this.reactEnv, this.logger);
|
|
285
286
|
}
|
|
286
287
|
/**
|
|
287
288
|
* use this to register apps programmatically.
|
|
@@ -588,8 +589,8 @@ class ReactMain {
|
|
|
588
589
|
static async provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, prettier, application, generator, dependencyResolver, loggerMain], config) {
|
|
589
590
|
const logger = loggerMain.createLogger(_react().ReactAspect.id);
|
|
590
591
|
const reactEnv = new (_react2().ReactEnv)(jestAspect, tsAspect, compiler, webpack, workspace, pkg, tester, config, eslint, prettier, dependencyResolver, logger, _compiler().CompilerAspect.id);
|
|
591
|
-
const appType = new (_web().ReactAppType)('react-app', reactEnv);
|
|
592
|
-
const react = new ReactMain(reactEnv, envs, application, appType);
|
|
592
|
+
const appType = new (_web().ReactAppType)('react-app', reactEnv, logger);
|
|
593
|
+
const react = new ReactMain(reactEnv, envs, application, appType, logger);
|
|
593
594
|
graphql.register((0, _react3().reactSchema)(react));
|
|
594
595
|
envs.registerEnv(reactEnv);
|
|
595
596
|
generator.registerComponentTemplate(_react4().componentTemplates);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ReactMain","constructor","reactEnv","envs","application","reactAppType","getReactAppType","name","ReactAppType","registerApp","reactApp","createApp","useTypescript","modifiers","tsModule","ts","overrides","devTransformers","devConfig","getCompiler","buildTransformers","buildConfig","buildPipeModifiers","tsModifier","transformers","module","getBuildPipe","override","overrideTsConfig","tsconfig","compilerOptions","transformer","configMutator","mergeTsConfig","raw","compileJs","compileJsx","types","addTypes","genericCompilerOptions","omit","Object","assign","overrideDocsTemplate","templatePath","getDevEnvId","context","envDefinition","id","getDocsTemplate","overrideBuildTsConfig","useWebpack","devServerTransformers","devServerConfig","getDevServer","previewTransformers","previewConfig","getBundler","useEslint","getLinter","usePrettier","getFormatter","overrideDevServerConfig","config","merge","overridePreviewConfig","overrideMounter","mounterPath","getMounter","compose","targetEnv","overrideJestConfig","jestConfigPath","jestModulePath","getTester","overrideBuildPipe","tasks","overrideCompilerTasks","pipeWithoutCompiler","getBuildPipeWithoutCompiler","overrideDependencies","dependencyPolicy","getDependencies","reactDeps","mergeDeepLeft","overrideCompiler","compiler","overrideEslintConfig","overridePackageJsonProps","props","getPackageJsonProps","getDocs","component","docsArray","state","_consumer","docs","abstract","description","filePath","properties","provider","jestAspect","tsAspect","webpack","workspace","graphql","pkg","tester","eslint","prettier","generator","dependencyResolver","loggerMain","logger","createLogger","ReactAspect","ReactEnv","CompilerAspect","appType","react","register","reactSchema","registerEnv","registerComponentTemplate","componentTemplates","registerWorkspaceTemplate","workspaceTemplates","registerAppType","MainRuntime","EnvsAspect","JestAspect","TypescriptAspect","WebpackAspect","WorkspaceAspect","GraphqlAspect","PkgAspect","TesterAspect","ESLintAspect","PrettierAspect","ApplicationAspect","GeneratorAspect","DependencyResolverAspect","LoggerAspect","addRuntime"],"sources":["react.main.runtime.ts"],"sourcesContent":["import mergeDeepLeft from 'ramda/src/mergeDeepLeft';\nimport { omit } from 'lodash';\nimport { MainRuntime } from '@teambit/cli';\nimport type { CompilerMain } from '@teambit/compiler';\nimport { CompilerAspect, Compiler } from '@teambit/compiler';\nimport { BuildTask } from '@teambit/builder';\nimport { Component } from '@teambit/component';\nimport { EnvsAspect, EnvsMain, EnvTransformer, Environment } from '@teambit/envs';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { JestMain } from '@teambit/jest';\nimport { JestAspect } from '@teambit/jest';\nimport type { PkgMain, PackageJsonProps } from '@teambit/pkg';\nimport { PkgAspect } from '@teambit/pkg';\nimport type { TesterMain } from '@teambit/tester';\nimport { TesterAspect } from '@teambit/tester';\nimport type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransformer } from '@teambit/typescript';\nimport { TypescriptAspect } from '@teambit/typescript';\nimport type { WebpackMain, Configuration, WebpackConfigTransformer } from '@teambit/webpack';\nimport { WebpackAspect } from '@teambit/webpack';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { DevServerContext, BundlerContext } from '@teambit/bundler';\nimport { DependencyResolverAspect, DependencyResolverMain, EnvPolicyConfigObject } from '@teambit/dependency-resolver';\nimport ts from 'typescript';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { FormatterContext } from '@teambit/formatter';\nimport { LinterContext } from '@teambit/linter';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ESLintMain, ESLintAspect, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierMain, PrettierAspect, PrettierConfigTransformer } from '@teambit/prettier';\nimport { ReactAspect } from './react.aspect';\nimport { ReactEnv } from './react.env';\nimport { ReactAppType } from './apps/web';\nimport { reactSchema } from './react.graphql';\nimport { componentTemplates, workspaceTemplates } from './react.templates';\nimport { ReactAppOptions } from './apps/web/react-app-options';\n\ntype ReactDeps = [\n EnvsMain,\n JestMain,\n TypescriptMain,\n CompilerMain,\n WebpackMain,\n Workspace,\n GraphqlMain,\n PkgMain,\n TesterMain,\n ESLintMain,\n PrettierMain,\n ApplicationMain,\n GeneratorMain,\n DependencyResolverMain,\n LoggerMain\n];\n\nexport type ReactMainConfig = {\n /**\n * configure the react env compiler.\n * can be configured to either TypeScript ('ts') or Babel ('babel').\n */\n compiler: 'babel' | 'ts';\n\n /**\n * configure the component tester.\n * can be either Jest ('jest') or Mocha ('mocha')\n */\n tester: 'jest' | 'mocha';\n\n /**\n * version of React to configure.\n */\n reactVersion: string;\n};\n\nexport type UseWebpackModifiers = {\n previewConfig?: WebpackConfigTransformer[];\n devServerConfig?: WebpackConfigTransformer[];\n};\n\nexport type UseTypescriptModifiers = {\n buildConfig?: TsConfigTransformer[];\n devConfig?: TsConfigTransformer[];\n};\n\nexport type UseEslintModifiers = {\n transformers: EslintConfigTransformer[];\n};\nexport type UsePrettierModifiers = {\n transformers: PrettierConfigTransformer[];\n};\n\nexport class ReactMain {\n constructor(\n /**\n * an instance of the React env.\n */\n readonly reactEnv: ReactEnv,\n\n private envs: EnvsMain,\n\n private application: ApplicationMain,\n\n private reactAppType: ReactAppType\n ) {}\n\n readonly env = this.reactEnv;\n\n getReactAppType(name: string) {\n return new ReactAppType(name, this.reactEnv);\n }\n\n /**\n * use this to register apps programmatically.\n */\n async registerApp(reactApp: ReactAppOptions) {\n return this.application.registerApp(this.reactAppType.createApp(reactApp));\n }\n\n /**\n * override the env's typescript config for both dev and build time.\n * Replaces both overrideTsConfig (devConfig) and overrideBuildTsConfig (buildConfig)\n */\n useTypescript(modifiers?: UseTypescriptModifiers, tsModule: any = ts) {\n const overrides: any = {};\n const devTransformers = modifiers?.devConfig;\n if (devTransformers) {\n overrides.getCompiler = () => this.reactEnv.getCompiler(devTransformers, tsModule);\n }\n const buildTransformers = modifiers?.buildConfig;\n if (buildTransformers) {\n const buildPipeModifiers = {\n tsModifier: {\n transformers: buildTransformers,\n module: tsModule,\n },\n };\n overrides.getBuildPipe = () => this.reactEnv.getBuildPipe(buildPipeModifiers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * @deprecated use useTypescript()\n * override the TS config of the React environment.\n * @param tsModule typeof `ts` module instance.\n */\n overrideTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getCompiler: () => this.reactEnv.getCompiler([transformer], tsModule),\n // });\n return this.useTypescript({ devConfig: [transformer] }, tsModule);\n }\n\n /**\n * Override the Bit documentation link. See docs: https://bit.dev/docs/docs/doc-templates\n */\n overrideDocsTemplate(templatePath: string) {\n return this.envs.override({\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n getDocsTemplate: () => templatePath,\n });\n }\n\n /**\n * @deprecated use useTypescript()\n * override the build tsconfig.\n */\n overrideBuildTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getBuildPipe: () => this.reactEnv.getBuildPipe([transformer], tsModule),\n // });\n return this.useTypescript({ buildConfig: [transformer] }, tsModule);\n }\n\n /**\n * override the env's dev server and preview webpack configurations.\n * Replaces both overrideDevServerConfig and overridePreviewConfig\n */\n useWebpack(modifiers?: UseWebpackModifiers): EnvTransformer {\n const overrides: any = {};\n const devServerTransformers = modifiers?.devServerConfig;\n if (devServerTransformers) {\n overrides.getDevServer = (context: DevServerContext) =>\n this.reactEnv.getDevServer(context, devServerTransformers);\n overrides.getDevEnvId = (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id);\n }\n const previewTransformers = modifiers?.previewConfig;\n if (previewTransformers) {\n overrides.getBundler = (context: BundlerContext) => this.reactEnv.getBundler(context, previewTransformers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n useEslint(modifiers?: UseEslintModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getLinter: (context: LinterContext) => this.reactEnv.getLinter(context, transformers),\n });\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n usePrettier(modifiers?: UsePrettierModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getFormatter: (context: FormatterContext) => this.reactEnv.getFormatter(context, transformers),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the dev server webpack config.\n */\n overrideDevServerConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n\n return this.envs.override({\n getDevServer: (context: DevServerContext) => this.reactEnv.getDevServer(context, [transformer]),\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the preview webpack config.\n */\n overridePreviewConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n return this.envs.override({\n getBundler: (context: BundlerContext) => this.reactEnv.getBundler(context, [transformer]),\n });\n }\n\n overrideMounter(mounterPath: string) {\n return this.envs.override({\n getMounter: () => {\n return mounterPath;\n },\n });\n }\n\n /**\n * create a new composition of the react environment.\n */\n compose(transformers: EnvTransformer[], targetEnv: Environment = {}) {\n return this.envs.compose(this.envs.merge(targetEnv, this.reactEnv), transformers);\n }\n\n /**\n * override the jest configuration.\n * @param jestConfigPath {typeof jest} absolute path to jest.config.json.\n * @param jestModulePath absolute path to jest\n */\n overrideJestConfig(jestConfigPath: string, jestModulePath?: string) {\n return this.envs.override({\n getTester: () => this.reactEnv.getTester(jestConfigPath, jestModulePath),\n });\n }\n\n /**\n * override the build pipeline of the component environment.\n */\n overrideBuildPipe(tasks: BuildTask[]) {\n return this.envs.override({\n getBuildPipe: () => tasks,\n });\n }\n\n /**\n * override the compiler tasks inside the build pipeline of the component environment.\n */\n overrideCompilerTasks(tasks: BuildTask[]) {\n const pipeWithoutCompiler = this.reactEnv.getBuildPipeWithoutCompiler();\n\n return this.envs.override({\n getBuildPipe: () => [...tasks, ...pipeWithoutCompiler],\n });\n }\n\n /**\n * override the dependency configuration of the component environment.\n */\n overrideDependencies(dependencyPolicy: EnvPolicyConfigObject) {\n return this.envs.override({\n getDependencies: async () => {\n const reactDeps = await this.reactEnv.getDependencies();\n return mergeDeepLeft(dependencyPolicy, reactDeps);\n },\n });\n }\n\n /**\n * override the workspace compiler.\n */\n overrideCompiler(compiler: Compiler) {\n return this.envs.override({\n getCompiler: () => {\n return compiler;\n },\n });\n }\n\n /**\n * TODO: @gilad we need to implement this.\n */\n overrideEslintConfig() {}\n\n /**\n * override the package json props of the component environment.\n */\n overridePackageJsonProps(props: PackageJsonProps) {\n return this.envs.override({\n getPackageJsonProps: () => {\n return {\n ...this.reactEnv.getPackageJsonProps(),\n ...props,\n };\n },\n });\n }\n\n /**\n * returns doc adjusted specifically for react components.\n */\n getDocs(component: Component) {\n const docsArray = component.state._consumer.docs;\n if (!docsArray || !docsArray[0]) {\n return null;\n }\n\n const docs = docsArray[0];\n\n return {\n abstract: docs.description,\n filePath: docs.filePath,\n properties: docs.properties,\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n EnvsAspect,\n JestAspect,\n TypescriptAspect,\n CompilerAspect,\n WebpackAspect,\n WorkspaceAspect,\n GraphqlAspect,\n PkgAspect,\n TesterAspect,\n ESLintAspect,\n PrettierAspect,\n ApplicationAspect,\n GeneratorAspect,\n DependencyResolverAspect,\n LoggerAspect,\n ];\n\n static async provider(\n [\n envs,\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n graphql,\n pkg,\n tester,\n eslint,\n prettier,\n application,\n generator,\n dependencyResolver,\n loggerMain,\n ]: ReactDeps,\n config: ReactMainConfig\n ) {\n const logger = loggerMain.createLogger(ReactAspect.id);\n const reactEnv = new ReactEnv(\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n pkg,\n tester,\n config,\n eslint,\n prettier,\n dependencyResolver,\n logger,\n CompilerAspect.id\n );\n const appType = new ReactAppType('react-app', reactEnv);\n const react = new ReactMain(reactEnv, envs, application, appType);\n graphql.register(reactSchema(react));\n envs.registerEnv(reactEnv);\n generator.registerComponentTemplate(componentTemplates);\n generator.registerWorkspaceTemplate(workspaceTemplates);\n application.registerAppType(appType);\n\n return react;\n }\n}\n\nReactAspect.addRuntime(ReactMain);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["ReactMain","constructor","reactEnv","envs","application","reactAppType","logger","getReactAppType","name","ReactAppType","registerApp","reactApp","createApp","useTypescript","modifiers","tsModule","ts","overrides","devTransformers","devConfig","getCompiler","buildTransformers","buildConfig","buildPipeModifiers","tsModifier","transformers","module","getBuildPipe","override","overrideTsConfig","tsconfig","compilerOptions","transformer","configMutator","mergeTsConfig","raw","compileJs","compileJsx","types","addTypes","genericCompilerOptions","omit","Object","assign","overrideDocsTemplate","templatePath","getDevEnvId","context","envDefinition","id","getDocsTemplate","overrideBuildTsConfig","useWebpack","devServerTransformers","devServerConfig","getDevServer","previewTransformers","previewConfig","getBundler","useEslint","getLinter","usePrettier","getFormatter","overrideDevServerConfig","config","merge","overridePreviewConfig","overrideMounter","mounterPath","getMounter","compose","targetEnv","overrideJestConfig","jestConfigPath","jestModulePath","getTester","overrideBuildPipe","tasks","overrideCompilerTasks","pipeWithoutCompiler","getBuildPipeWithoutCompiler","overrideDependencies","dependencyPolicy","getDependencies","reactDeps","mergeDeepLeft","overrideCompiler","compiler","overrideEslintConfig","overridePackageJsonProps","props","getPackageJsonProps","getDocs","component","docsArray","state","_consumer","docs","abstract","description","filePath","properties","provider","jestAspect","tsAspect","webpack","workspace","graphql","pkg","tester","eslint","prettier","generator","dependencyResolver","loggerMain","createLogger","ReactAspect","ReactEnv","CompilerAspect","appType","react","register","reactSchema","registerEnv","registerComponentTemplate","componentTemplates","registerWorkspaceTemplate","workspaceTemplates","registerAppType","MainRuntime","EnvsAspect","JestAspect","TypescriptAspect","WebpackAspect","WorkspaceAspect","GraphqlAspect","PkgAspect","TesterAspect","ESLintAspect","PrettierAspect","ApplicationAspect","GeneratorAspect","DependencyResolverAspect","LoggerAspect","addRuntime"],"sources":["react.main.runtime.ts"],"sourcesContent":["import mergeDeepLeft from 'ramda/src/mergeDeepLeft';\nimport { omit } from 'lodash';\nimport { MainRuntime } from '@teambit/cli';\nimport type { CompilerMain } from '@teambit/compiler';\nimport { CompilerAspect, Compiler } from '@teambit/compiler';\nimport { BuildTask } from '@teambit/builder';\nimport { Component } from '@teambit/component';\nimport { EnvsAspect, EnvsMain, EnvTransformer, Environment } from '@teambit/envs';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { JestMain } from '@teambit/jest';\nimport { JestAspect } from '@teambit/jest';\nimport type { PkgMain, PackageJsonProps } from '@teambit/pkg';\nimport { PkgAspect } from '@teambit/pkg';\nimport type { TesterMain } from '@teambit/tester';\nimport { TesterAspect } from '@teambit/tester';\nimport type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransformer } from '@teambit/typescript';\nimport { TypescriptAspect } from '@teambit/typescript';\nimport type { WebpackMain, Configuration, WebpackConfigTransformer } from '@teambit/webpack';\nimport { WebpackAspect } from '@teambit/webpack';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { DevServerContext, BundlerContext } from '@teambit/bundler';\nimport { DependencyResolverAspect, DependencyResolverMain, EnvPolicyConfigObject } from '@teambit/dependency-resolver';\nimport ts from 'typescript';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { FormatterContext } from '@teambit/formatter';\nimport { LinterContext } from '@teambit/linter';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ESLintMain, ESLintAspect, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierMain, PrettierAspect, PrettierConfigTransformer } from '@teambit/prettier';\nimport { ReactAspect } from './react.aspect';\nimport { ReactEnv } from './react.env';\nimport { ReactAppType } from './apps/web';\nimport { reactSchema } from './react.graphql';\nimport { componentTemplates, workspaceTemplates } from './react.templates';\nimport { ReactAppOptions } from './apps/web/react-app-options';\n\ntype ReactDeps = [\n EnvsMain,\n JestMain,\n TypescriptMain,\n CompilerMain,\n WebpackMain,\n Workspace,\n GraphqlMain,\n PkgMain,\n TesterMain,\n ESLintMain,\n PrettierMain,\n ApplicationMain,\n GeneratorMain,\n DependencyResolverMain,\n LoggerMain\n];\n\nexport type ReactMainConfig = {\n /**\n * configure the react env compiler.\n * can be configured to either TypeScript ('ts') or Babel ('babel').\n */\n compiler: 'babel' | 'ts';\n\n /**\n * configure the component tester.\n * can be either Jest ('jest') or Mocha ('mocha')\n */\n tester: 'jest' | 'mocha';\n\n /**\n * version of React to configure.\n */\n reactVersion: string;\n};\n\nexport type UseWebpackModifiers = {\n previewConfig?: WebpackConfigTransformer[];\n devServerConfig?: WebpackConfigTransformer[];\n};\n\nexport type UseTypescriptModifiers = {\n buildConfig?: TsConfigTransformer[];\n devConfig?: TsConfigTransformer[];\n};\n\nexport type UseEslintModifiers = {\n transformers: EslintConfigTransformer[];\n};\nexport type UsePrettierModifiers = {\n transformers: PrettierConfigTransformer[];\n};\n\nexport class ReactMain {\n constructor(\n /**\n * an instance of the React env.\n */\n readonly reactEnv: ReactEnv,\n\n private envs: EnvsMain,\n\n private application: ApplicationMain,\n\n private reactAppType: ReactAppType,\n\n private logger?: Logger,\n ) {}\n\n readonly env = this.reactEnv;\n\n getReactAppType(name: string) {\n return new ReactAppType(name, this.reactEnv, this.logger);\n }\n\n /**\n * use this to register apps programmatically.\n */\n async registerApp(reactApp: ReactAppOptions) {\n return this.application.registerApp(this.reactAppType.createApp(reactApp));\n }\n\n /**\n * override the env's typescript config for both dev and build time.\n * Replaces both overrideTsConfig (devConfig) and overrideBuildTsConfig (buildConfig)\n */\n useTypescript(modifiers?: UseTypescriptModifiers, tsModule: any = ts) {\n const overrides: any = {};\n const devTransformers = modifiers?.devConfig;\n if (devTransformers) {\n overrides.getCompiler = () => this.reactEnv.getCompiler(devTransformers, tsModule);\n }\n const buildTransformers = modifiers?.buildConfig;\n if (buildTransformers) {\n const buildPipeModifiers = {\n tsModifier: {\n transformers: buildTransformers,\n module: tsModule,\n },\n };\n overrides.getBuildPipe = () => this.reactEnv.getBuildPipe(buildPipeModifiers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * @deprecated use useTypescript()\n * override the TS config of the React environment.\n * @param tsModule typeof `ts` module instance.\n */\n overrideTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getCompiler: () => this.reactEnv.getCompiler([transformer], tsModule),\n // });\n return this.useTypescript({ devConfig: [transformer] }, tsModule);\n }\n\n /**\n * Override the Bit documentation link. See docs: https://bit.dev/docs/docs/doc-templates\n */\n overrideDocsTemplate(templatePath: string) {\n return this.envs.override({\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n getDocsTemplate: () => templatePath,\n });\n }\n\n /**\n * @deprecated use useTypescript()\n * override the build tsconfig.\n */\n overrideBuildTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getBuildPipe: () => this.reactEnv.getBuildPipe([transformer], tsModule),\n // });\n return this.useTypescript({ buildConfig: [transformer] }, tsModule);\n }\n\n /**\n * override the env's dev server and preview webpack configurations.\n * Replaces both overrideDevServerConfig and overridePreviewConfig\n */\n useWebpack(modifiers?: UseWebpackModifiers): EnvTransformer {\n const overrides: any = {};\n const devServerTransformers = modifiers?.devServerConfig;\n if (devServerTransformers) {\n overrides.getDevServer = (context: DevServerContext) =>\n this.reactEnv.getDevServer(context, devServerTransformers);\n overrides.getDevEnvId = (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id);\n }\n const previewTransformers = modifiers?.previewConfig;\n if (previewTransformers) {\n overrides.getBundler = (context: BundlerContext) => this.reactEnv.getBundler(context, previewTransformers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n useEslint(modifiers?: UseEslintModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getLinter: (context: LinterContext) => this.reactEnv.getLinter(context, transformers),\n });\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n usePrettier(modifiers?: UsePrettierModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getFormatter: (context: FormatterContext) => this.reactEnv.getFormatter(context, transformers),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the dev server webpack config.\n */\n overrideDevServerConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n\n return this.envs.override({\n getDevServer: (context: DevServerContext) => this.reactEnv.getDevServer(context, [transformer]),\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the preview webpack config.\n */\n overridePreviewConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n return this.envs.override({\n getBundler: (context: BundlerContext) => this.reactEnv.getBundler(context, [transformer]),\n });\n }\n\n overrideMounter(mounterPath: string) {\n return this.envs.override({\n getMounter: () => {\n return mounterPath;\n },\n });\n }\n\n /**\n * create a new composition of the react environment.\n */\n compose(transformers: EnvTransformer[], targetEnv: Environment = {}) {\n return this.envs.compose(this.envs.merge(targetEnv, this.reactEnv), transformers);\n }\n\n /**\n * override the jest configuration.\n * @param jestConfigPath {typeof jest} absolute path to jest.config.json.\n * @param jestModulePath absolute path to jest\n */\n overrideJestConfig(jestConfigPath: string, jestModulePath?: string) {\n return this.envs.override({\n getTester: () => this.reactEnv.getTester(jestConfigPath, jestModulePath),\n });\n }\n\n /**\n * override the build pipeline of the component environment.\n */\n overrideBuildPipe(tasks: BuildTask[]) {\n return this.envs.override({\n getBuildPipe: () => tasks,\n });\n }\n\n /**\n * override the compiler tasks inside the build pipeline of the component environment.\n */\n overrideCompilerTasks(tasks: BuildTask[]) {\n const pipeWithoutCompiler = this.reactEnv.getBuildPipeWithoutCompiler();\n\n return this.envs.override({\n getBuildPipe: () => [...tasks, ...pipeWithoutCompiler],\n });\n }\n\n /**\n * override the dependency configuration of the component environment.\n */\n overrideDependencies(dependencyPolicy: EnvPolicyConfigObject) {\n return this.envs.override({\n getDependencies: async () => {\n const reactDeps = await this.reactEnv.getDependencies();\n return mergeDeepLeft(dependencyPolicy, reactDeps);\n },\n });\n }\n\n /**\n * override the workspace compiler.\n */\n overrideCompiler(compiler: Compiler) {\n return this.envs.override({\n getCompiler: () => {\n return compiler;\n },\n });\n }\n\n /**\n * TODO: @gilad we need to implement this.\n */\n overrideEslintConfig() {}\n\n /**\n * override the package json props of the component environment.\n */\n overridePackageJsonProps(props: PackageJsonProps) {\n return this.envs.override({\n getPackageJsonProps: () => {\n return {\n ...this.reactEnv.getPackageJsonProps(),\n ...props,\n };\n },\n });\n }\n\n /**\n * returns doc adjusted specifically for react components.\n */\n getDocs(component: Component) {\n const docsArray = component.state._consumer.docs;\n if (!docsArray || !docsArray[0]) {\n return null;\n }\n\n const docs = docsArray[0];\n\n return {\n abstract: docs.description,\n filePath: docs.filePath,\n properties: docs.properties,\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n EnvsAspect,\n JestAspect,\n TypescriptAspect,\n CompilerAspect,\n WebpackAspect,\n WorkspaceAspect,\n GraphqlAspect,\n PkgAspect,\n TesterAspect,\n ESLintAspect,\n PrettierAspect,\n ApplicationAspect,\n GeneratorAspect,\n DependencyResolverAspect,\n LoggerAspect,\n ];\n\n static async provider(\n [\n envs,\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n graphql,\n pkg,\n tester,\n eslint,\n prettier,\n application,\n generator,\n dependencyResolver,\n loggerMain,\n ]: ReactDeps,\n config: ReactMainConfig\n ) {\n const logger = loggerMain.createLogger(ReactAspect.id);\n const reactEnv = new ReactEnv(\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n pkg,\n tester,\n config,\n eslint,\n prettier,\n dependencyResolver,\n logger,\n CompilerAspect.id\n );\n const appType = new ReactAppType('react-app', reactEnv, logger);\n const react = new ReactMain(reactEnv, envs, application, appType, logger);\n graphql.register(reactSchema(react));\n envs.registerEnv(reactEnv);\n generator.registerComponentTemplate(componentTemplates);\n generator.registerWorkspaceTemplate(workspaceTemplates);\n application.registerAppType(appType);\n\n return react;\n }\n}\n\nReactAspect.addRuntime(ReactMain);\n"],"mappings":"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"}
|
|
File without changes
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/react",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.805",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/react/react",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.react",
|
|
8
8
|
"name": "react",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.805"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"fs-extra": "10.0.0",
|
|
@@ -39,6 +39,8 @@
|
|
|
39
39
|
"react-error-overlay": "6.0.9",
|
|
40
40
|
"strip-ansi": "6.0.0",
|
|
41
41
|
"prerender-spa-plugin-next": "4.2.0",
|
|
42
|
+
"express": "4.17.1",
|
|
43
|
+
"url-join": "4.0.1",
|
|
42
44
|
"comment-json": "3.0.3",
|
|
43
45
|
"react-refresh": "0.10.0",
|
|
44
46
|
"@babel/runtime": "^7.12.18",
|
|
@@ -57,6 +59,7 @@
|
|
|
57
59
|
"jest-watch-typeahead": "1.0.0",
|
|
58
60
|
"identity-obj-proxy": "3.0.0",
|
|
59
61
|
"jest-environment-jsdom": "27.5.1",
|
|
62
|
+
"jest": "27.5.1",
|
|
60
63
|
"@mdx-js/react": "1.6.22",
|
|
61
64
|
"resolve-url-loader": "3.1.2",
|
|
62
65
|
"react-app-polyfill": "1.0.6",
|
|
@@ -77,47 +80,50 @@
|
|
|
77
80
|
"@teambit/harmony": "0.3.3",
|
|
78
81
|
"@teambit/react.instructions.react.adding-compositions": "0.0.6",
|
|
79
82
|
"@teambit/react.instructions.react.adding-tests": "0.0.6",
|
|
83
|
+
"@teambit/react.rendering.ssr": "0.0.3",
|
|
80
84
|
"@teambit/compositions.ui.hooks.use-composition": "0.0.163",
|
|
81
85
|
"@teambit/design.ui.tooltip": "0.0.352",
|
|
82
|
-
"@teambit/builder": "0.0.
|
|
83
|
-
"@teambit/bundler": "0.0.
|
|
84
|
-
"@teambit/compiler": "0.0.
|
|
86
|
+
"@teambit/builder": "0.0.805",
|
|
87
|
+
"@teambit/bundler": "0.0.805",
|
|
88
|
+
"@teambit/compiler": "0.0.805",
|
|
85
89
|
"@teambit/component.modules.component-url": "0.0.128",
|
|
86
|
-
"@teambit/component": "0.0.
|
|
87
|
-
"@teambit/dependency-resolver": "0.0.
|
|
88
|
-
"@teambit/envs": "0.0.
|
|
89
|
-
"@teambit/eslint": "0.0.
|
|
90
|
-
"@teambit/formatter": "0.0.
|
|
91
|
-
"@teambit/jest": "0.0.
|
|
92
|
-
"@teambit/linter": "0.0.
|
|
93
|
-
"@teambit/logger": "0.0.
|
|
94
|
-
"@teambit/pkg": "0.0.
|
|
95
|
-
"@teambit/prettier": "0.0.
|
|
90
|
+
"@teambit/component": "0.0.805",
|
|
91
|
+
"@teambit/dependency-resolver": "0.0.805",
|
|
92
|
+
"@teambit/envs": "0.0.805",
|
|
93
|
+
"@teambit/eslint": "0.0.805",
|
|
94
|
+
"@teambit/formatter": "0.0.356",
|
|
95
|
+
"@teambit/jest": "0.0.805",
|
|
96
|
+
"@teambit/linter": "0.0.805",
|
|
97
|
+
"@teambit/logger": "0.0.629",
|
|
98
|
+
"@teambit/pkg": "0.0.805",
|
|
99
|
+
"@teambit/prettier": "0.0.356",
|
|
96
100
|
"@teambit/react.ui.compositions-app": "0.0.1",
|
|
97
|
-
"@teambit/react.ui.docs-app": "0.0.
|
|
101
|
+
"@teambit/react.ui.docs-app": "0.0.182",
|
|
98
102
|
"@teambit/react.ui.highlighter.component-metadata.bit-component-meta": "0.0.21",
|
|
99
|
-
"@teambit/schema": "0.0.
|
|
100
|
-
"@teambit/tester": "0.0.
|
|
101
|
-
"@teambit/typescript": "0.0.
|
|
102
|
-
"@teambit/webpack": "0.0.
|
|
103
|
-
"@teambit/workspace": "0.0.
|
|
104
|
-
"@teambit/application": "0.0.
|
|
105
|
-
"@teambit/cli": "0.0.
|
|
106
|
-
"@teambit/generator": "0.0.
|
|
107
|
-
"@teambit/graphql": "0.0.
|
|
108
|
-
"@teambit/preview": "0.0.
|
|
103
|
+
"@teambit/schema": "0.0.805",
|
|
104
|
+
"@teambit/tester": "0.0.805",
|
|
105
|
+
"@teambit/typescript": "0.0.805",
|
|
106
|
+
"@teambit/webpack": "0.0.805",
|
|
107
|
+
"@teambit/workspace": "0.0.805",
|
|
108
|
+
"@teambit/application": "0.0.447",
|
|
109
|
+
"@teambit/cli": "0.0.536",
|
|
110
|
+
"@teambit/generator": "0.0.805",
|
|
111
|
+
"@teambit/graphql": "0.0.805",
|
|
112
|
+
"@teambit/preview": "0.0.805",
|
|
109
113
|
"@teambit/react.ui.highlighter-provider": "0.0.190",
|
|
110
|
-
"@teambit/compositions": "0.0.
|
|
111
|
-
"@teambit/ui": "0.0.
|
|
112
|
-
"@teambit/react.eslint-config-bit-react": "0.0.
|
|
113
|
-
"@teambit/mdx.modules.mdx-loader": "0.0.
|
|
114
|
+
"@teambit/compositions": "0.0.805",
|
|
115
|
+
"@teambit/ui": "0.0.805",
|
|
116
|
+
"@teambit/react.eslint-config-bit-react": "0.0.610",
|
|
117
|
+
"@teambit/mdx.modules.mdx-loader": "0.0.492",
|
|
114
118
|
"@teambit/react.babel.bit-react-transformer": "0.0.504",
|
|
115
119
|
"@teambit/webpack.modules.generate-style-loaders": "0.0.103",
|
|
116
120
|
"@teambit/webpack.modules.style-regexps": "0.0.132",
|
|
117
121
|
"@teambit/component-id": "0.0.405",
|
|
122
|
+
"@teambit/bit-error": "0.0.394",
|
|
118
123
|
"@teambit/toolbox.network.get-port": "0.0.113",
|
|
119
124
|
"@teambit/react.modules.prerenderer-puppeteer": "0.0.2",
|
|
120
|
-
"@teambit/
|
|
125
|
+
"@teambit/ui-foundation.ui.pages.static-error": "0.0.74",
|
|
126
|
+
"@teambit/config": "0.0.549"
|
|
121
127
|
},
|
|
122
128
|
"devDependencies": {
|
|
123
129
|
"@types/react": "^17.0.8",
|
|
@@ -127,6 +133,8 @@
|
|
|
127
133
|
"@types/webpack": "5.28.0",
|
|
128
134
|
"@types/mini-css-extract-plugin": "2.2.0",
|
|
129
135
|
"@types/react-dev-utils": "9.0.10",
|
|
136
|
+
"@types/express": "4.17.13",
|
|
137
|
+
"@types/url-join": "4.0.0",
|
|
130
138
|
"@types/react-dom": "^17.0.5",
|
|
131
139
|
"@types/postcss-normalize": "9.0.1",
|
|
132
140
|
"@types/node": "12.20.4",
|
|
@@ -136,7 +144,7 @@
|
|
|
136
144
|
"@teambit/react.content.react-overview": "1.95.0"
|
|
137
145
|
},
|
|
138
146
|
"peerDependencies": {
|
|
139
|
-
"@teambit/legacy": "1.0.
|
|
147
|
+
"@teambit/legacy": "1.0.319",
|
|
140
148
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
141
149
|
"react": "^16.8.0 || ^17.0.0"
|
|
142
150
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.805/dist/react.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.805/dist/react.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
Binary file
|