@teambit/react 0.0.736 → 0.0.739
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/compute-results.ts +18 -0
- package/apps/web/react.application.ts +14 -4
- package/artifacts/env-template/public/295.js +29 -29
- package/artifacts/env-template/public/{117.js → 786.js} +3 -3
- package/artifacts/env-template/public/assets-manifest.json +10 -10
- package/artifacts/env-template/public/{compositions.71a43bb4dd964fdbe6eb.js → compositions.0d00c6a0c95a1629320f.js} +1 -1
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/{overview.31f8a65a16df86aaec1b.js → overview.dc235d0310255cf655ab.js} +1 -1
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/{preview-root.7a24e602c0fa0ba9f5f1.js → preview-root.4217408043b19c8465c0.js} +1 -1
- package/artifacts/env-template/public/service-worker.js +1 -1
- package/artifacts/env-template/public/static/css/{295.e370e333.css → 295.506aad7a.css} +1 -1
- package/artifacts/preview/teambit_react_react-preview.js +2 -2
- package/{compositions-1652844422371.js → compositions-1653362849981.js} +0 -0
- package/dist/apps/web/compute-results.d.ts +7 -0
- package/dist/apps/web/compute-results.js +21 -0
- package/dist/apps/web/compute-results.js.map +1 -0
- package/dist/apps/web/default-bundler.js.map +1 -1
- package/dist/apps/web/deploy-context.js.map +1 -1
- package/dist/apps/web/index.js.map +1 -1
- package/dist/apps/web/plugins/index.js.map +1 -1
- package/dist/apps/web/plugins/prerender.js.map +1 -1
- package/dist/apps/web/react-app-options.js.map +1 -1
- package/dist/apps/web/react-build-result.js.map +1 -1
- package/dist/apps/web/react.app-type.js.map +1 -1
- package/dist/apps/web/react.application.d.ts +1 -0
- package/dist/apps/web/react.application.js +25 -7
- package/dist/apps/web/react.application.js.map +1 -1
- package/dist/compositions-app.js.map +1 -1
- package/dist/eslint/eslintrc.js.map +1 -1
- package/dist/highlighter-widget.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/jest/index.js.map +1 -1
- package/dist/jest/jest.base.config.js.map +1 -1
- package/dist/jest/jest.cjs.config.js.map +1 -1
- package/dist/jest/jest.config.js.map +1 -1
- 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.map +1 -1
- package/dist/jest/transformers/base-transformer-presets.js.map +1 -1
- package/dist/jest/transformers/base-transformer-process.js.map +1 -1
- package/dist/jest/transformers/cjs-transformer.js.map +1 -1
- package/dist/jest/transformers/css-transform.js.map +1 -1
- package/dist/jest/transformers/esm-transformer.js.map +1 -1
- package/dist/jest/transformers/file-transform.js.map +1 -1
- package/dist/mount.js.map +1 -1
- package/dist/prettier/prettier.config.js.map +1 -1
- package/dist/react.aspect.js.map +1 -1
- package/dist/react.composition.js.map +1 -1
- package/dist/react.env.d.ts +4 -2
- package/dist/react.env.js +10 -29
- package/dist/react.env.js.map +1 -1
- package/dist/react.graphql.js.map +1 -1
- package/dist/react.main.runtime.d.ts +3 -2
- package/dist/react.main.runtime.js +13 -3
- package/dist/react.main.runtime.js.map +1 -1
- package/dist/react.preview.runtime.js.map +1 -1
- package/dist/react.templates.js.map +1 -1
- package/dist/react.ui.runtime.js.map +1 -1
- package/dist/templates/react-app/files/app-plugin.js.map +1 -1
- package/dist/templates/react-app/files/app-root.js.map +1 -1
- package/dist/templates/react-app/files/app.js.map +1 -1
- package/dist/templates/react-app/files/compositions.js.map +1 -1
- package/dist/templates/react-app/files/doc.js.map +1 -1
- package/dist/templates/react-app/files/index.js.map +1 -1
- package/dist/templates/react-app/index.js.map +1 -1
- package/dist/templates/react-component/files/component.js.map +1 -1
- package/dist/templates/react-component/files/composition.js.map +1 -1
- package/dist/templates/react-component/files/docs.js.map +1 -1
- package/dist/templates/react-component/files/index-file.js.map +1 -1
- package/dist/templates/react-component/files/test.js.map +1 -1
- package/dist/templates/react-component/index.js.map +1 -1
- package/dist/templates/react-component-js/files/component.js.map +1 -1
- package/dist/templates/react-component-js/files/composition.js.map +1 -1
- package/dist/templates/react-component-js/files/docs.js.map +1 -1
- package/dist/templates/react-component-js/files/test.js.map +1 -1
- package/dist/templates/react-component-js/index.js.map +1 -1
- package/dist/templates/react-context/files/composition.js.map +1 -1
- package/dist/templates/react-context/files/context-provider.js.map +1 -1
- package/dist/templates/react-context/files/context.js.map +1 -1
- package/dist/templates/react-context/files/docs.js.map +1 -1
- package/dist/templates/react-context/files/index-file.js.map +1 -1
- package/dist/templates/react-context/files/test.js.map +1 -1
- package/dist/templates/react-context/index.js.map +1 -1
- package/dist/templates/react-env/files/aspect.js.map +1 -1
- package/dist/templates/react-env/files/doc.js.map +1 -1
- package/dist/templates/react-env/files/index.js.map +1 -1
- package/dist/templates/react-env/files/jest.config.js.map +1 -1
- package/dist/templates/react-env/files/main.runtime.js.map +1 -1
- package/dist/templates/react-env/files/preview.runtime.js.map +1 -1
- package/dist/templates/react-env/files/typescript/styles.js.map +1 -1
- package/dist/templates/react-env/files/typescript/ts-transformer.js.map +1 -1
- package/dist/templates/react-env/files/typescript/typescript.config.js.map +1 -1
- package/dist/templates/react-env/files/webpack.config.js.map +1 -1
- package/dist/templates/react-env/index.js.map +1 -1
- package/dist/templates/react-hook/files/component.js.map +1 -1
- package/dist/templates/react-hook/files/composition.js.map +1 -1
- package/dist/templates/react-hook/files/docs.js.map +1 -1
- package/dist/templates/react-hook/files/index-file.js.map +1 -1
- package/dist/templates/react-hook/files/test.js.map +1 -1
- package/dist/templates/react-hook/index.js.map +1 -1
- package/dist/templates/react-workspace/index.js.map +1 -1
- package/dist/templates/react-workspace-analytics/index.js.map +1 -1
- package/dist/templates/react-workspace-app/index.js.map +1 -1
- package/dist/templates/react-workspace-data-fetching/index.js.map +1 -1
- package/dist/templates/react-workspace-deprecated/index.js.map +1 -1
- package/dist/templates/react-workspace-design-system/index.js.map +1 -1
- package/dist/templates/react-workspace-lib/index.js.map +1 -1
- package/dist/templates/react-workspace-wiki/index.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.map +1 -1
- 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.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.map +1 -1
- package/dist/templates/workspace-common/generate-files.js.map +1 -1
- package/dist/templates/workspace-common/index.js.map +1 -1
- package/dist/typescript/tsconfig.build.json +1 -0
- package/dist/webpack/html.js.map +1 -1
- package/dist/webpack/index.js.map +1 -1
- package/dist/webpack/overlay/formatWebpackMessages.js.map +1 -1
- package/dist/webpack/overlay/launchEditorEndpoint.js.map +1 -1
- package/dist/webpack/overlay/refreshOverlayInterop.js.map +1 -1
- package/dist/webpack/overlay/webpackHotDevClient.js.map +1 -1
- package/dist/webpack/postcss.config.js.map +1 -1
- package/dist/webpack/webpack.config.base.js.map +1 -1
- package/dist/webpack/webpack.config.base.prod.d.ts +1 -1
- package/dist/webpack/webpack.config.base.prod.js +1 -13
- package/dist/webpack/webpack.config.base.prod.js.map +1 -1
- package/dist/webpack/webpack.config.component.dev.js.map +1 -1
- package/dist/webpack/webpack.config.component.prod.js.map +1 -1
- package/dist/webpack/webpack.config.env.dev.js.map +1 -1
- package/{overview-1652844422371.js → overview-1653362849981.js} +0 -0
- package/package-tar/teambit-react-0.0.739.tgz +0 -0
- package/package.json +26 -33
- package/{preview-1652844422371.js → preview-1653362849981.js} +2 -2
- package/tsconfig.json +1 -1
- package/typescript/tsconfig.build.json +1 -0
- package/webpack/webpack.config.base.prod.ts +1 -5
- package/dist/webpack/get-exposed-rules.d.ts +0 -3
- package/dist/webpack/get-exposed-rules.js +0 -60
- package/dist/webpack/get-exposed-rules.js.map +0 -1
- package/dist/webpack/get-externals.d.ts +0 -1
- package/dist/webpack/get-externals.js +0 -42
- package/dist/webpack/get-externals.js.map +0 -1
- package/dist/webpack/resolve-peer.d.ts +0 -14
- package/dist/webpack/resolve-peer.js +0 -108
- package/dist/webpack/resolve-peer.js.map +0 -1
- package/dist/webpack/transformers.d.ts +0 -10
- package/dist/webpack/transformers.js +0 -66
- package/dist/webpack/transformers.js.map +0 -1
- package/package-tar/teambit-react-0.0.736.tgz +0 -0
- package/webpack/get-exposed-rules.ts +0 -14
- package/webpack/get-externals.ts +0 -8
- package/webpack/resolve-peer.ts +0 -60
- package/webpack/transformers.ts +0 -37
package/dist/react.env.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';
|
|
|
11
11
|
import { Workspace } from '@teambit/workspace';
|
|
12
12
|
import { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';
|
|
13
13
|
import { PrettierConfigTransformer, PrettierMain } from '@teambit/prettier';
|
|
14
|
+
import { DependencyResolverMain } from '@teambit/dependency-resolver';
|
|
14
15
|
import { Linter, LinterContext } from '@teambit/linter';
|
|
15
16
|
import { Formatter, FormatterContext } from '@teambit/formatter';
|
|
16
17
|
import { SchemaExtractor } from '@teambit/schema';
|
|
@@ -56,6 +57,7 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
|
|
|
56
57
|
private config;
|
|
57
58
|
private eslint;
|
|
58
59
|
private prettier;
|
|
60
|
+
private dependencyResolver;
|
|
59
61
|
private logger;
|
|
60
62
|
private compilerAspectId;
|
|
61
63
|
constructor(
|
|
@@ -86,7 +88,7 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
|
|
|
86
88
|
/**
|
|
87
89
|
* tester extension
|
|
88
90
|
*/
|
|
89
|
-
tester: TesterMain, config: ReactMainConfig, eslint: ESLintMain, prettier: PrettierMain, logger: Logger, compilerAspectId: string);
|
|
91
|
+
tester: TesterMain, config: ReactMainConfig, eslint: ESLintMain, prettier: PrettierMain, dependencyResolver: DependencyResolverMain, logger: Logger, compilerAspectId: string);
|
|
90
92
|
getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile;
|
|
91
93
|
getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile;
|
|
92
94
|
/**
|
|
@@ -155,7 +157,7 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
|
|
|
155
157
|
/**
|
|
156
158
|
* Get the peers configured by the env on the components + the host deps configured by the env
|
|
157
159
|
*/
|
|
158
|
-
|
|
160
|
+
getPeerDependenciesList(): Promise<string[]>;
|
|
159
161
|
getAdditionalHostDependencies(): string[];
|
|
160
162
|
/**
|
|
161
163
|
* returns a path to a docs template.
|
package/dist/react.env.js
CHANGED
|
@@ -165,16 +165,6 @@ function _webpackConfigComponent2() {
|
|
|
165
165
|
return data;
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
-
function _transformers() {
|
|
169
|
-
const data = require("./webpack/transformers");
|
|
170
|
-
|
|
171
|
-
_transformers = function () {
|
|
172
|
-
return data;
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
return data;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
168
|
// webpack configs for both components and envs
|
|
179
169
|
// webpack configs for envs only
|
|
180
170
|
// import devPreviewConfigFactory from './webpack/webpack.config.preview.dev';
|
|
@@ -223,7 +213,7 @@ class ReactEnv {
|
|
|
223
213
|
/**
|
|
224
214
|
* tester extension
|
|
225
215
|
*/
|
|
226
|
-
tester, config, eslint, prettier, logger, compilerAspectId) {
|
|
216
|
+
tester, config, eslint, prettier, dependencyResolver, logger, compilerAspectId) {
|
|
227
217
|
this.jestAspect = jestAspect;
|
|
228
218
|
this.tsAspect = tsAspect;
|
|
229
219
|
this.compiler = compiler;
|
|
@@ -234,6 +224,7 @@ class ReactEnv {
|
|
|
234
224
|
this.config = config;
|
|
235
225
|
this.eslint = eslint;
|
|
236
226
|
this.prettier = prettier;
|
|
227
|
+
this.dependencyResolver = dependencyResolver;
|
|
237
228
|
this.logger = logger;
|
|
238
229
|
this.compilerAspectId = compilerAspectId;
|
|
239
230
|
(0, _defineProperty2().default)(this, "icon", 'https://static.bit.dev/extensions-icons/react.svg');
|
|
@@ -402,15 +393,13 @@ class ReactEnv {
|
|
|
402
393
|
const baseConfig = (0, _webpackConfig().default)(false);
|
|
403
394
|
const envDevConfig = (0, _webpackConfigEnv().default)(context.id);
|
|
404
395
|
const componentDevConfig = (0, _webpackConfigComponent2().default)(this.workspace.path, context.id);
|
|
405
|
-
const peers = this.getAllHostDependencies();
|
|
406
|
-
const peerAliasesTransformer = (0, _transformers().generateAddAliasesFromPeersTransformer)(peers, this.logger);
|
|
407
396
|
|
|
408
397
|
const defaultTransformer = configMutator => {
|
|
409
398
|
const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);
|
|
410
399
|
return merged;
|
|
411
400
|
};
|
|
412
401
|
|
|
413
|
-
return this.webpack.createDevServer(context, [defaultTransformer,
|
|
402
|
+
return this.webpack.createDevServer(context, [defaultTransformer, ...transformers]);
|
|
414
403
|
}
|
|
415
404
|
|
|
416
405
|
async getBundler(context, transformers = []) {
|
|
@@ -418,10 +407,8 @@ class ReactEnv {
|
|
|
418
407
|
}
|
|
419
408
|
|
|
420
409
|
async createComponentsWebpackBundler(context, transformers = []) {
|
|
421
|
-
const peers = this.getAllHostDependencies();
|
|
422
|
-
const peerAliasesTransformer = (0, _transformers().generateAddAliasesFromPeersTransformer)(peers, this.logger);
|
|
423
410
|
const baseConfig = (0, _webpackConfig().default)(!context.development);
|
|
424
|
-
const baseProdConfig = (0, _webpackConfigBase().default)(
|
|
411
|
+
const baseProdConfig = (0, _webpackConfigBase().default)(context.development);
|
|
425
412
|
const componentProdConfig = (0, _webpackConfigComponent().default)();
|
|
426
413
|
|
|
427
414
|
const defaultTransformer = configMutator => {
|
|
@@ -429,23 +416,20 @@ class ReactEnv {
|
|
|
429
416
|
return merged;
|
|
430
417
|
};
|
|
431
418
|
|
|
432
|
-
const mergedTransformers = [defaultTransformer,
|
|
419
|
+
const mergedTransformers = [defaultTransformer, ...transformers];
|
|
433
420
|
return this.createWebpackBundler(context, mergedTransformers);
|
|
434
421
|
}
|
|
435
422
|
|
|
436
423
|
async createTemplateWebpackBundler(context, transformers = []) {
|
|
437
|
-
const peers = this.getAllHostDependencies();
|
|
438
|
-
const peerAliasesTransformer = (0, _transformers().generateAddAliasesFromPeersTransformer)(peers, this.logger);
|
|
439
|
-
const exposePeersTransformer = (0, _transformers().generateExposePeersTransformer)(peers, this.logger);
|
|
440
424
|
const baseConfig = (0, _webpackConfig().default)(!context.development);
|
|
441
|
-
const baseProdConfig = (0, _webpackConfigBase().default)(
|
|
425
|
+
const baseProdConfig = (0, _webpackConfigBase().default)(context.development);
|
|
442
426
|
|
|
443
427
|
const defaultTransformer = configMutator => {
|
|
444
428
|
const merged = configMutator.merge([baseConfig, baseProdConfig]);
|
|
445
429
|
return merged;
|
|
446
430
|
};
|
|
447
431
|
|
|
448
|
-
const mergedTransformers = [defaultTransformer,
|
|
432
|
+
const mergedTransformers = [defaultTransformer, ...transformers];
|
|
449
433
|
return this.createWebpackBundler(context, mergedTransformers);
|
|
450
434
|
}
|
|
451
435
|
|
|
@@ -457,15 +441,12 @@ class ReactEnv {
|
|
|
457
441
|
*/
|
|
458
442
|
|
|
459
443
|
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
const additionalHostDeps = this.getAdditionalHostDependencies() || [];
|
|
463
|
-
const peers = envComponentPeers.concat(additionalHostDeps);
|
|
464
|
-
return peers;
|
|
444
|
+
getPeerDependenciesList() {
|
|
445
|
+
return this.dependencyResolver.getPeerDependenciesListFromEnv(this);
|
|
465
446
|
}
|
|
466
447
|
|
|
467
448
|
getAdditionalHostDependencies() {
|
|
468
|
-
return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react'];
|
|
449
|
+
return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react'];
|
|
469
450
|
}
|
|
470
451
|
/**
|
|
471
452
|
* returns a path to a docs template.
|
package/dist/react.env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["react.env.ts"],"names":["ReactEnvType","defaultTsConfig","require","buildTsConfig","eslintConfig","prettierConfig","ReactEnv","constructor","jestAspect","tsAspect","compiler","webpack","workspace","pkg","tester","config","eslint","prettier","logger","compilerAspectId","getTsConfig","targetTsConfig","getBuildTsConfig","getCjsJestTester","jestConfigPath","jestModulePath","pathToSource","__dirname","replace","defaultConfig","createTester","resolve","getEsmJestTester","getTester","getTsCompilerOptions","mode","tsconfig","compileJs","compileJsx","types","getTsCjsCompiler","transformers","tsModule","ts","tsCompileOptions","createCjsCompiler","getTsEsmCompiler","createEsmCompiler","getCompiler","getLinter","context","defaultTransformer","configMutator","addExtensionTypes","allTransformers","createLinter","pluginPath","getFormatter","createFormatter","getFileMap","components","local","reduce","index","component","state","filesystem","files","forEach","file","path","id","toString","homepage","fullName","ComponentUrl","toUrl","writeFileMap","fileMap","Math","random","slice","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","createSchemaExtractor","getDevServer","baseConfig","envDevConfig","componentDevConfig","peers","getAllHostDependencies","peerAliasesTransformer","merged","merge","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","Boolean","externalizePeer","componentProdConfig","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","exposePeersTransformer","createBundler","envComponentPeers","Object","keys","getDependencies","peerDependencies","additionalHostDeps","getAdditionalHostDependencies","concat","getDocsTemplate","getMounter","getPreviewConfig","strategyName","splitComponentBundle","getPackageJsonProps","getCjsPackageJsonProps","getEsmPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","dependencies","react","devDependencies","getBuildPipe","modifiers","tsModifier","getCompilerTask","module","task","getBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","aspectId","getEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","__getDescriptor","type"],"mappings":"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","sourcesContent":["import ts, { TsConfigSourceFile } from 'typescript';\nimport { tmpdir } from 'os';\nimport { Component } from '@teambit/component';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { BuildTask, CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { merge, cloneDeep } from 'lodash';\nimport { Bundler, BundlerContext, DevServer, DevServerContext } from '@teambit/bundler';\nimport { CompilerMain } from '@teambit/compiler';\nimport {\n BuilderEnv,\n CompilerEnv,\n DependenciesEnv,\n DevEnv,\n LinterEnv,\n PackageEnv,\n TesterEnv,\n FormatterEnv,\n PipeServiceModifier,\n PipeServiceModifiersMap,\n} from '@teambit/envs';\nimport { JestMain } from '@teambit/jest';\nimport { PackageJsonProps, PkgMain } from '@teambit/pkg';\nimport { Tester, TesterMain } from '@teambit/tester';\nimport { TsConfigTransformer, TypescriptMain } from '@teambit/typescript';\nimport type { TypeScriptCompilerOptions } from '@teambit/typescript';\nimport { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';\nimport { Workspace } from '@teambit/workspace';\nimport { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierConfigTransformer, PrettierMain } from '@teambit/prettier';\nimport { Linter, LinterContext } from '@teambit/linter';\nimport { Formatter, FormatterContext } from '@teambit/formatter';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport type { ComponentMeta } from '@teambit/react.ui.highlighter.component-metadata.bit-component-meta';\nimport { SchemaExtractor } from '@teambit/schema';\nimport { join, resolve } from 'path';\nimport { outputFileSync } from 'fs-extra';\nimport { Logger } from '@teambit/logger';\n// Makes sure the @teambit/react.ui.docs-app is a dependency\n// TODO: remove this import once we can set policy from component to component with workspace version. Then set it via the component.json\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { ReactMainConfig } from './react.main.runtime';\nimport { ReactAspect } from './react.aspect';\n// webpack configs for both components and envs\nimport basePreviewConfigFactory from './webpack/webpack.config.base';\nimport basePreviewProdConfigFactory from './webpack/webpack.config.base.prod';\n\n// webpack configs for envs only\n// import devPreviewConfigFactory from './webpack/webpack.config.preview.dev';\nimport envPreviewDevConfigFactory from './webpack/webpack.config.env.dev';\n\n// webpack configs for components only\nimport componentPreviewProdConfigFactory from './webpack/webpack.config.component.prod';\nimport componentPreviewDevConfigFactory from './webpack/webpack.config.component.dev';\nimport { generateAddAliasesFromPeersTransformer, generateExposePeersTransformer } from './webpack/transformers';\n\nexport const ReactEnvType = 'react';\nconst defaultTsConfig = require('./typescript/tsconfig.json');\nconst buildTsConfig = require('./typescript/tsconfig.build.json');\nconst eslintConfig = require('./eslint/eslintrc');\nconst prettierConfig = require('./prettier/prettier.config.js');\n\n// TODO: move to be taken from the key mode of compiler context\ntype CompilerMode = 'build' | 'dev';\n\ntype GetBuildPipeModifiers = PipeServiceModifiersMap & {\n tsModifier?: PipeServiceModifier;\n};\n\n/**\n * a component environment built for [React](https://reactjs.org) .\n */\nexport class ReactEnv\n implements TesterEnv, CompilerEnv, LinterEnv, DevEnv, BuilderEnv, DependenciesEnv, PackageEnv, FormatterEnv\n{\n constructor(\n /**\n * jest extension\n */\n private jestAspect: JestMain,\n\n /**\n * typescript extension.\n */\n protected tsAspect: TypescriptMain,\n\n /**\n * compiler extension.\n */\n private compiler: CompilerMain,\n\n /**\n * webpack extension.\n */\n private webpack: WebpackMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * pkg extension.\n */\n private pkg: PkgMain,\n\n /**\n * tester extension\n */\n private tester: TesterMain,\n\n private config: ReactMainConfig,\n\n private eslint: ESLintMain,\n\n private prettier: PrettierMain,\n\n private logger: Logger,\n\n private compilerAspectId: string\n ) {}\n\n getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, defaultTsConfig, targetTsConfig) : defaultTsConfig;\n }\n\n getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, buildTsConfig, targetTsConfig) : buildTsConfig;\n }\n\n /**\n * Get a jest tester instance with react config and cjs configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n getCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.cjs.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * Get a jest tester instance with react config and esm configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n getEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.esm.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * returns a component tester.\n */\n getTester(jestConfigPath: string, jestModulePath?: string): Tester {\n // return this.getEsmJestTester(jestConfigPath, jestModulePath);\n return this.getCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n private getTsCompilerOptions(mode: CompilerMode = 'dev'): TypeScriptCompilerOptions {\n const tsconfig = mode === 'dev' ? cloneDeep(defaultTsConfig) : cloneDeep(buildTsConfig);\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist/', '/src/');\n const compileJs = true;\n const compileJsx = true;\n return {\n tsconfig,\n // TODO: @david please remove this line and refactor to be something that makes sense.\n types: [resolve(pathToSource, './typescript/style.d.ts'), resolve(pathToSource, './typescript/asset.d.ts')],\n compileJs,\n compileJsx,\n };\n }\n\n /**\n * Get a compiler instance with react config and set it to cjs module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n getTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.getTsCompilerOptions(mode);\n return this.tsAspect.createCjsCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to esm module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n getTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.getTsCompilerOptions(mode);\n return this.tsAspect.createEsmCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n getCompiler(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n // return this.getTsEsmCompiler('dev', transformers, tsModule);\n return this.getTsCjsCompiler('dev', transformers, tsModule);\n }\n\n /**\n * returns and configures the component linter.\n */\n getLinter(context: LinterContext, transformers: EslintConfigTransformer[] = []): Linter {\n const defaultTransformer: EslintConfigTransformer = (configMutator) => {\n configMutator.addExtensionTypes(['.md', '.mdx']);\n return configMutator;\n };\n\n const allTransformers = [defaultTransformer, ...transformers];\n\n return this.eslint.createLinter(\n context,\n {\n config: eslintConfig,\n // resolve all plugins from the react environment.\n pluginPath: __dirname,\n },\n allTransformers\n );\n }\n\n /**\n * returns and configures the component formatter.\n */\n getFormatter(context: FormatterContext, transformers: PrettierConfigTransformer[] = []): Formatter {\n return this.prettier.createFormatter(\n context,\n {\n config: prettierConfig,\n },\n transformers\n );\n }\n\n private getFileMap(components: Component[], local = false) {\n return components.reduce<{ [key: string]: ComponentMeta }>((index, component: Component) => {\n component.state.filesystem.files.forEach((file) => {\n index[file.path] = {\n id: component.id.toString(),\n homepage: local ? `/${component.id.fullName}` : ComponentUrl.toUrl(component.id),\n };\n });\n\n return index;\n }, {});\n }\n\n private writeFileMap(components: Component[], local?: boolean) {\n const fileMap = this.getFileMap(components, local);\n const path = join(tmpdir(), `${Math.random().toString(36).slice(2, 11)}.json`);\n outputFileSync(path, JSON.stringify(fileMap));\n return path;\n }\n\n /**\n * required for `bit start`\n */\n getDevEnvId(id?: string) {\n if (typeof id !== 'string') return ReactAspect.id;\n return id || ReactAspect.id;\n }\n\n /**\n * get a schema generator instance configured with the correct tsconfig.\n */\n getSchemaExtractor(tsconfig: TsConfigSourceFile): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig));\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(context: DevServerContext, transformers: WebpackConfigTransformer[] = []): DevServer {\n const baseConfig = basePreviewConfigFactory(false);\n const envDevConfig = envPreviewDevConfigFactory(context.id);\n const componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id);\n const peers = this.getAllHostDependencies();\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(peers, this.logger);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);\n return merged;\n };\n\n return this.webpack.createDevServer(context, [defaultTransformer, peerAliasesTransformer, ...transformers]);\n }\n\n async getBundler(context: BundlerContext, transformers: WebpackConfigTransformer[] = []): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n const peers = this.getAllHostDependencies();\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(peers, this.logger);\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(Boolean(context.externalizePeer), peers, context.development);\n const componentProdConfig = componentPreviewProdConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, componentProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, peerAliasesTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n const peers = this.getAllHostDependencies();\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(peers, this.logger);\n const exposePeersTransformer = generateExposePeersTransformer(peers, this.logger);\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(Boolean(context.externalizePeer), peers, context.development);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, peerAliasesTransformer, exposePeersTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers);\n }\n\n /**\n * Get the peers configured by the env on the components + the host deps configured by the env\n */\n getAllHostDependencies() {\n const envComponentPeers = Object.keys(this.getDependencies().peerDependencies || {}) || [];\n const additionalHostDeps = this.getAdditionalHostDependencies() || [];\n const peers = envComponentPeers.concat(additionalHostDeps);\n return peers;\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react'];\n }\n\n /**\n * returns a path to a docs template.\n */\n getDocsTemplate() {\n return require.resolve('@teambit/react.ui.docs-app');\n }\n\n icon = 'https://static.bit.dev/extensions-icons/react.svg';\n\n /**\n * returns a paths to a function which mounts a given component to DOM\n */\n getMounter() {\n return require.resolve('./mount');\n }\n\n getPreviewConfig() {\n return {\n strategyName: 'component',\n splitComponentBundle: true,\n };\n }\n\n /**\n * define the package json properties to add to each component.\n */\n getPackageJsonProps(): PackageJsonProps {\n // React compile by default to esm, so uses type module\n // return this.getEsmPackageJsonProps();\n return this.getCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for a cjs component\n * @returns\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for an esm component\n * @returns\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getEsmPackageJsonProps();\n }\n\n getNpmIgnore() {\n // ignores only .ts files in the root directory, so d.ts files inside dists are unaffected.\n // without this change, the package has \"index.ts\" file in the root, causing typescript to parse it instead of the\n // d.ts files. (changing the \"types\" prop in the package.json file doesn't help).\n return [`${CAPSULE_ARTIFACTS_DIR}/`];\n }\n\n /**\n * adds dependencies to all configured components.\n */\n getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n 'core-js': '^3.0.0',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^17.0.8',\n '@types/react-dom': '^17.0.5',\n '@types/jest': '^26.0.0',\n // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed\n '@babel/runtime': '7.12.18',\n '@types/testing-library__jest-dom': '5.9.5',\n },\n peerDependencies: {\n react: '^16.8.0 || ^17.0.0',\n 'react-dom': '^16.8.0 || ^17.0.0',\n },\n };\n }\n\n /**\n * returns the component build pipeline.\n */\n getBuildPipe(modifiers: GetBuildPipeModifiers = {}): BuildTask[] {\n const transformers: TsConfigTransformer[] =\n (modifiers?.tsModifier?.transformers as any as TsConfigTransformer[]) || [];\n return [this.getCompilerTask(transformers, modifiers?.tsModifier?.module || ts), this.tester.task];\n }\n\n /**\n * Get the react build pipeline without the compilation task.\n * This help in cases you want to only replace the compilation task with something else\n * @returns\n */\n getBuildPipeWithoutCompiler(): BuildTask[] {\n const pipeWithoutCompiler = this.getBuildPipe().filter((task) => task.aspectId !== this.compilerAspectId);\n return pipeWithoutCompiler;\n }\n\n /**\n * Get a compiler task with react config and set to esm module\n * @param transformers\n * @param tsModule\n * @returns\n */\n getEsmCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompiler = this.getTsEsmCompiler('build', transformers, tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n /**\n * Get a compiler task with react config and set to cjs module\n * @param transformers\n * @param tsModule\n * @returns\n */\n getCjsCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompiler = this.getTsCjsCompiler('build', transformers, tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n private getCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.getCjsCompilerTask(transformers, tsModule);\n }\n\n async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"names":["ReactEnvType","defaultTsConfig","require","buildTsConfig","eslintConfig","prettierConfig","ReactEnv","constructor","jestAspect","tsAspect","compiler","webpack","workspace","pkg","tester","config","eslint","prettier","dependencyResolver","logger","compilerAspectId","getTsConfig","targetTsConfig","merge","getBuildTsConfig","getCjsJestTester","jestConfigPath","jestModulePath","pathToSource","pathNormalizeToLinux","__dirname","replace","defaultConfig","join","createTester","resolve","getEsmJestTester","getTester","getTsCompilerOptions","mode","tsconfig","cloneDeep","compileJs","compileJsx","types","getTsCjsCompiler","transformers","tsModule","ts","tsCompileOptions","createCjsCompiler","getTsEsmCompiler","createEsmCompiler","getCompiler","getLinter","context","defaultTransformer","configMutator","addExtensionTypes","allTransformers","createLinter","pluginPath","getFormatter","createFormatter","getFileMap","components","local","reduce","index","component","state","filesystem","files","forEach","file","path","id","toString","homepage","fullName","ComponentUrl","toUrl","writeFileMap","fileMap","tmpdir","Math","random","slice","outputFileSync","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","createSchemaExtractor","getDevServer","baseConfig","basePreviewConfigFactory","envDevConfig","envPreviewDevConfigFactory","componentDevConfig","componentPreviewDevConfigFactory","merged","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","basePreviewProdConfigFactory","componentProdConfig","componentPreviewProdConfigFactory","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","createBundler","getPeerDependenciesList","getPeerDependenciesListFromEnv","getAdditionalHostDependencies","getDocsTemplate","getMounter","getPreviewConfig","strategyName","splitComponentBundle","getPackageJsonProps","getCjsPackageJsonProps","getEsmPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","getDependencies","dependencies","react","devDependencies","peerDependencies","getBuildPipe","modifiers","tsModifier","getCompilerTask","module","task","getBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","aspectId","getEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","__getDescriptor","type"],"sources":["react.env.ts"],"sourcesContent":["import ts, { TsConfigSourceFile } from 'typescript';\nimport { tmpdir } from 'os';\nimport { Component } from '@teambit/component';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { BuildTask, CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { merge, cloneDeep } from 'lodash';\nimport { Bundler, BundlerContext, DevServer, DevServerContext } from '@teambit/bundler';\nimport { CompilerMain } from '@teambit/compiler';\nimport {\n BuilderEnv,\n CompilerEnv,\n DependenciesEnv,\n DevEnv,\n LinterEnv,\n PackageEnv,\n TesterEnv,\n FormatterEnv,\n PipeServiceModifier,\n PipeServiceModifiersMap,\n} from '@teambit/envs';\nimport { JestMain } from '@teambit/jest';\nimport { PackageJsonProps, PkgMain } from '@teambit/pkg';\nimport { Tester, TesterMain } from '@teambit/tester';\nimport { TsConfigTransformer, TypescriptMain } from '@teambit/typescript';\nimport type { TypeScriptCompilerOptions } from '@teambit/typescript';\nimport { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';\nimport { Workspace } from '@teambit/workspace';\nimport { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierConfigTransformer, PrettierMain } from '@teambit/prettier';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Linter, LinterContext } from '@teambit/linter';\nimport { Formatter, FormatterContext } from '@teambit/formatter';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport type { ComponentMeta } from '@teambit/react.ui.highlighter.component-metadata.bit-component-meta';\nimport { SchemaExtractor } from '@teambit/schema';\nimport { join, resolve } from 'path';\nimport { outputFileSync } from 'fs-extra';\nimport { Logger } from '@teambit/logger';\n// Makes sure the @teambit/react.ui.docs-app is a dependency\n// TODO: remove this import once we can set policy from component to component with workspace version. Then set it via the component.json\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { ReactMainConfig } from './react.main.runtime';\nimport { ReactAspect } from './react.aspect';\n// webpack configs for both components and envs\nimport basePreviewConfigFactory from './webpack/webpack.config.base';\nimport basePreviewProdConfigFactory from './webpack/webpack.config.base.prod';\n\n// webpack configs for envs only\n// import devPreviewConfigFactory from './webpack/webpack.config.preview.dev';\nimport envPreviewDevConfigFactory from './webpack/webpack.config.env.dev';\n\n// webpack configs for components only\nimport componentPreviewProdConfigFactory from './webpack/webpack.config.component.prod';\nimport componentPreviewDevConfigFactory from './webpack/webpack.config.component.dev';\n\nexport const ReactEnvType = 'react';\nconst defaultTsConfig = require('./typescript/tsconfig.json');\nconst buildTsConfig = require('./typescript/tsconfig.build.json');\nconst eslintConfig = require('./eslint/eslintrc');\nconst prettierConfig = require('./prettier/prettier.config.js');\n\n// TODO: move to be taken from the key mode of compiler context\ntype CompilerMode = 'build' | 'dev';\n\ntype GetBuildPipeModifiers = PipeServiceModifiersMap & {\n tsModifier?: PipeServiceModifier;\n};\n\n/**\n * a component environment built for [React](https://reactjs.org) .\n */\nexport class ReactEnv\n implements TesterEnv, CompilerEnv, LinterEnv, DevEnv, BuilderEnv, DependenciesEnv, PackageEnv, FormatterEnv\n{\n constructor(\n /**\n * jest extension\n */\n private jestAspect: JestMain,\n\n /**\n * typescript extension.\n */\n protected tsAspect: TypescriptMain,\n\n /**\n * compiler extension.\n */\n private compiler: CompilerMain,\n\n /**\n * webpack extension.\n */\n private webpack: WebpackMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * pkg extension.\n */\n private pkg: PkgMain,\n\n /**\n * tester extension\n */\n private tester: TesterMain,\n\n private config: ReactMainConfig,\n\n private eslint: ESLintMain,\n\n private prettier: PrettierMain,\n\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger,\n\n private compilerAspectId: string\n ) {}\n\n getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, defaultTsConfig, targetTsConfig) : defaultTsConfig;\n }\n\n getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, buildTsConfig, targetTsConfig) : buildTsConfig;\n }\n\n /**\n * Get a jest tester instance with react config and cjs configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n getCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.cjs.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * Get a jest tester instance with react config and esm configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n getEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.esm.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * returns a component tester.\n */\n getTester(jestConfigPath: string, jestModulePath?: string): Tester {\n // return this.getEsmJestTester(jestConfigPath, jestModulePath);\n return this.getCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n private getTsCompilerOptions(mode: CompilerMode = 'dev'): TypeScriptCompilerOptions {\n const tsconfig = mode === 'dev' ? cloneDeep(defaultTsConfig) : cloneDeep(buildTsConfig);\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist/', '/src/');\n const compileJs = true;\n const compileJsx = true;\n return {\n tsconfig,\n // TODO: @david please remove this line and refactor to be something that makes sense.\n types: [resolve(pathToSource, './typescript/style.d.ts'), resolve(pathToSource, './typescript/asset.d.ts')],\n compileJs,\n compileJsx,\n };\n }\n\n /**\n * Get a compiler instance with react config and set it to cjs module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n getTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.getTsCompilerOptions(mode);\n return this.tsAspect.createCjsCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to esm module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n getTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.getTsCompilerOptions(mode);\n return this.tsAspect.createEsmCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n getCompiler(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n // return this.getTsEsmCompiler('dev', transformers, tsModule);\n return this.getTsCjsCompiler('dev', transformers, tsModule);\n }\n\n /**\n * returns and configures the component linter.\n */\n getLinter(context: LinterContext, transformers: EslintConfigTransformer[] = []): Linter {\n const defaultTransformer: EslintConfigTransformer = (configMutator) => {\n configMutator.addExtensionTypes(['.md', '.mdx']);\n return configMutator;\n };\n\n const allTransformers = [defaultTransformer, ...transformers];\n\n return this.eslint.createLinter(\n context,\n {\n config: eslintConfig,\n // resolve all plugins from the react environment.\n pluginPath: __dirname,\n },\n allTransformers\n );\n }\n\n /**\n * returns and configures the component formatter.\n */\n getFormatter(context: FormatterContext, transformers: PrettierConfigTransformer[] = []): Formatter {\n return this.prettier.createFormatter(\n context,\n {\n config: prettierConfig,\n },\n transformers\n );\n }\n\n private getFileMap(components: Component[], local = false) {\n return components.reduce<{ [key: string]: ComponentMeta }>((index, component: Component) => {\n component.state.filesystem.files.forEach((file) => {\n index[file.path] = {\n id: component.id.toString(),\n homepage: local ? `/${component.id.fullName}` : ComponentUrl.toUrl(component.id),\n };\n });\n\n return index;\n }, {});\n }\n\n private writeFileMap(components: Component[], local?: boolean) {\n const fileMap = this.getFileMap(components, local);\n const path = join(tmpdir(), `${Math.random().toString(36).slice(2, 11)}.json`);\n outputFileSync(path, JSON.stringify(fileMap));\n return path;\n }\n\n /**\n * required for `bit start`\n */\n getDevEnvId(id?: string) {\n if (typeof id !== 'string') return ReactAspect.id;\n return id || ReactAspect.id;\n }\n\n /**\n * get a schema generator instance configured with the correct tsconfig.\n */\n getSchemaExtractor(tsconfig: TsConfigSourceFile): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig));\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(context: DevServerContext, transformers: WebpackConfigTransformer[] = []): DevServer {\n const baseConfig = basePreviewConfigFactory(false);\n const envDevConfig = envPreviewDevConfigFactory(context.id);\n const componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);\n return merged;\n };\n\n return this.webpack.createDevServer(context, [defaultTransformer, ...transformers]);\n }\n\n async getBundler(context: BundlerContext, transformers: WebpackConfigTransformer[] = []): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const componentProdConfig = componentPreviewProdConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, componentProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers);\n }\n\n /**\n * Get the peers configured by the env on the components + the host deps configured by the env\n */\n getPeerDependenciesList() {\n return this.dependencyResolver.getPeerDependenciesListFromEnv(this);\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react'];\n }\n\n /**\n * returns a path to a docs template.\n */\n getDocsTemplate() {\n return require.resolve('@teambit/react.ui.docs-app');\n }\n\n icon = 'https://static.bit.dev/extensions-icons/react.svg';\n\n /**\n * returns a paths to a function which mounts a given component to DOM\n */\n getMounter() {\n return require.resolve('./mount');\n }\n\n getPreviewConfig() {\n return {\n strategyName: 'component',\n splitComponentBundle: true,\n };\n }\n\n /**\n * define the package json properties to add to each component.\n */\n getPackageJsonProps(): PackageJsonProps {\n // React compile by default to esm, so uses type module\n // return this.getEsmPackageJsonProps();\n return this.getCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for a cjs component\n * @returns\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for an esm component\n * @returns\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getEsmPackageJsonProps();\n }\n\n getNpmIgnore() {\n // ignores only .ts files in the root directory, so d.ts files inside dists are unaffected.\n // without this change, the package has \"index.ts\" file in the root, causing typescript to parse it instead of the\n // d.ts files. (changing the \"types\" prop in the package.json file doesn't help).\n return [`${CAPSULE_ARTIFACTS_DIR}/`];\n }\n\n /**\n * adds dependencies to all configured components.\n */\n getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n 'core-js': '^3.0.0',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^17.0.8',\n '@types/react-dom': '^17.0.5',\n '@types/jest': '^26.0.0',\n // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed\n '@babel/runtime': '7.12.18',\n '@types/testing-library__jest-dom': '5.9.5',\n },\n peerDependencies: {\n react: '^16.8.0 || ^17.0.0',\n 'react-dom': '^16.8.0 || ^17.0.0',\n },\n };\n }\n\n /**\n * returns the component build pipeline.\n */\n getBuildPipe(modifiers: GetBuildPipeModifiers = {}): BuildTask[] {\n const transformers: TsConfigTransformer[] =\n (modifiers?.tsModifier?.transformers as any as TsConfigTransformer[]) || [];\n return [this.getCompilerTask(transformers, modifiers?.tsModifier?.module || ts), this.tester.task];\n }\n\n /**\n * Get the react build pipeline without the compilation task.\n * This help in cases you want to only replace the compilation task with something else\n * @returns\n */\n getBuildPipeWithoutCompiler(): BuildTask[] {\n const pipeWithoutCompiler = this.getBuildPipe().filter((task) => task.aspectId !== this.compilerAspectId);\n return pipeWithoutCompiler;\n }\n\n /**\n * Get a compiler task with react config and set to esm module\n * @param transformers\n * @param tsModule\n * @returns\n */\n getEsmCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompiler = this.getTsEsmCompiler('build', transformers, tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n /**\n * Get a compiler task with react config and set to cjs module\n * @param transformers\n * @param tsModule\n * @returns\n */\n getCjsCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompiler = this.getTsCjsCompiler('build', transformers, tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n private getCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.getCjsCompilerTask(transformers, tsModule);\n }\n\n async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["reactSchema","react","typeDefs","gql","resolvers","ComponentHost","getDocs","host","id","componentId","resolveComponentId","component","get","empty","abstract","filePath","properties","docs"],"sources":["react.graphql.ts"],"sourcesContent":["import { ComponentFactory } from '@teambit/component';\nimport gql from 'graphql-tag';\n\nimport { ReactMain } from './react.main.runtime';\n\nexport function reactSchema(react: ReactMain) {\n return {\n typeDefs: gql`\n extend type ComponentHost {\n getDocs(id: String!): ReactDocs\n }\n\n type ReactDocs {\n abstract: String\n filePath: String\n properties: [Property]\n }\n\n type Property {\n name: String\n description: String\n required: Boolean\n type: String\n defaultValue: DefaultValue\n }\n\n type DefaultValue {\n value: String\n computed: Boolean\n }\n `,\n resolvers: {\n ComponentHost: {\n getDocs: async (host: ComponentFactory, { id }: { id: string }) => {\n const componentId = await host.resolveComponentId(id);\n const component = await host.get(componentId);\n const empty = {\n abstract: '',\n filePath: '',\n properties: [],\n };\n\n if (!component) return empty;\n const docs = react.getDocs(component);\n if (!docs) return empty;\n\n return docs;\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAIO,SAASA,WAAT,CAAqBC,KAArB,EAAuC;EAC5C,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAA,CAAI;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAxBS;IAyBLC,SAAS,EAAE;MACTC,aAAa,EAAE;QACbC,OAAO,EAAE,OAAOC,IAAP,EAA+B;UAAEC;QAAF,CAA/B,KAA0D;UACjE,MAAMC,WAAW,GAAG,MAAMF,IAAI,CAACG,kBAAL,CAAwBF,EAAxB,CAA1B;UACA,MAAMG,SAAS,GAAG,MAAMJ,IAAI,CAACK,GAAL,CAASH,WAAT,CAAxB;UACA,MAAMI,KAAK,GAAG;YACZC,QAAQ,EAAE,EADE;YAEZC,QAAQ,EAAE,EAFE;YAGZC,UAAU,EAAE;UAHA,CAAd;UAMA,IAAI,CAACL,SAAL,EAAgB,OAAOE,KAAP;UAChB,MAAMI,IAAI,GAAGhB,KAAK,CAACK,OAAN,CAAcK,SAAd,CAAb;UACA,IAAI,CAACM,IAAL,EAAW,OAAOJ,KAAP;UAEX,OAAOI,IAAP;QACD;MAfY;IADN;EAzBN,CAAP;AA6CD"}
|
|
@@ -11,7 +11,7 @@ import type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransfor
|
|
|
11
11
|
import type { WebpackMain, Configuration, WebpackConfigTransformer } from '@teambit/webpack';
|
|
12
12
|
import { GeneratorMain } from '@teambit/generator';
|
|
13
13
|
import { Workspace } from '@teambit/workspace';
|
|
14
|
-
import { EnvPolicyConfigObject } from '@teambit/dependency-resolver';
|
|
14
|
+
import { DependencyResolverMain, EnvPolicyConfigObject } from '@teambit/dependency-resolver';
|
|
15
15
|
import { ApplicationMain } from '@teambit/application';
|
|
16
16
|
import { LoggerMain } from '@teambit/logger';
|
|
17
17
|
import { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';
|
|
@@ -33,6 +33,7 @@ declare type ReactDeps = [
|
|
|
33
33
|
PrettierMain,
|
|
34
34
|
ApplicationMain,
|
|
35
35
|
GeneratorMain,
|
|
36
|
+
DependencyResolverMain,
|
|
36
37
|
LoggerMain
|
|
37
38
|
];
|
|
38
39
|
export declare type ReactMainConfig = {
|
|
@@ -176,6 +177,6 @@ export declare class ReactMain {
|
|
|
176
177
|
} | null;
|
|
177
178
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
178
179
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
179
|
-
static provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, prettier, application, generator, loggerMain,]: ReactDeps, config: ReactMainConfig): Promise<ReactMain>;
|
|
180
|
+
static provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, prettier, application, generator, dependencyResolver, loggerMain,]: ReactDeps, config: ReactMainConfig): Promise<ReactMain>;
|
|
180
181
|
}
|
|
181
182
|
export {};
|
|
@@ -153,6 +153,16 @@ function _workspace() {
|
|
|
153
153
|
return data;
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
+
function _dependencyResolver() {
|
|
157
|
+
const data = require("@teambit/dependency-resolver");
|
|
158
|
+
|
|
159
|
+
_dependencyResolver = function () {
|
|
160
|
+
return data;
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
return data;
|
|
164
|
+
}
|
|
165
|
+
|
|
156
166
|
function _typescript2() {
|
|
157
167
|
const data = _interopRequireDefault(require("typescript"));
|
|
158
168
|
|
|
@@ -574,9 +584,9 @@ class ReactMain {
|
|
|
574
584
|
};
|
|
575
585
|
}
|
|
576
586
|
|
|
577
|
-
static async provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, prettier, application, generator, loggerMain], config) {
|
|
587
|
+
static async provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, prettier, application, generator, dependencyResolver, loggerMain], config) {
|
|
578
588
|
const logger = loggerMain.createLogger(_react().ReactAspect.id);
|
|
579
|
-
const reactEnv = new (_react2().ReactEnv)(jestAspect, tsAspect, compiler, webpack, workspace, pkg, tester, config, eslint, prettier, logger, _compiler().CompilerAspect.id);
|
|
589
|
+
const reactEnv = new (_react2().ReactEnv)(jestAspect, tsAspect, compiler, webpack, workspace, pkg, tester, config, eslint, prettier, dependencyResolver, logger, _compiler().CompilerAspect.id);
|
|
580
590
|
const appType = new (_web().ReactAppType)('react-app', reactEnv);
|
|
581
591
|
const react = new ReactMain(reactEnv, envs, application, appType);
|
|
582
592
|
graphql.register((0, _react3().reactSchema)(react));
|
|
@@ -591,7 +601,7 @@ class ReactMain {
|
|
|
591
601
|
|
|
592
602
|
exports.ReactMain = ReactMain;
|
|
593
603
|
(0, _defineProperty2().default)(ReactMain, "runtime", _cli().MainRuntime);
|
|
594
|
-
(0, _defineProperty2().default)(ReactMain, "dependencies", [_envs().EnvsAspect, _jest().JestAspect, _typescript().TypescriptAspect, _compiler().CompilerAspect, _webpack().WebpackAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _pkg().PkgAspect, _tester().TesterAspect, _eslint().ESLintAspect, _prettier().PrettierAspect, _application().ApplicationAspect, _generator().GeneratorAspect, _logger().LoggerAspect]);
|
|
604
|
+
(0, _defineProperty2().default)(ReactMain, "dependencies", [_envs().EnvsAspect, _jest().JestAspect, _typescript().TypescriptAspect, _compiler().CompilerAspect, _webpack().WebpackAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _pkg().PkgAspect, _tester().TesterAspect, _eslint().ESLintAspect, _prettier().PrettierAspect, _application().ApplicationAspect, _generator().GeneratorAspect, _dependencyResolver().DependencyResolverAspect, _logger().LoggerAspect]);
|
|
595
605
|
|
|
596
606
|
_react().ReactAspect.addRuntime(ReactMain);
|
|
597
607
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["react.main.runtime.ts"],"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","Object","assign","overrideDocsTemplate","templatePath","getDocsTemplate","overrideBuildTsConfig","useWebpack","devServerTransformers","devServerConfig","getDevServer","context","getDevEnvId","envDefinition","id","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","overrideCompiler","compiler","overrideEslintConfig","overridePackageJsonProps","props","getPackageJsonProps","getDocs","component","docsArray","state","_consumer","docs","abstract","description","filePath","properties","provider","jestAspect","tsAspect","webpack","workspace","graphql","pkg","tester","eslint","prettier","generator","loggerMain","logger","createLogger","ReactAspect","ReactEnv","CompilerAspect","appType","react","register","registerEnv","registerComponentTemplate","componentTemplates","registerWorkspaceTemplate","workspaceTemplates","registerAppType","MainRuntime","EnvsAspect","JestAspect","TypescriptAspect","WebpackAspect","WorkspaceAspect","GraphqlAspect","PkgAspect","TesterAspect","ESLintAspect","PrettierAspect","ApplicationAspect","GeneratorAspect","LoggerAspect","addRuntime"],"mappings":"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","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 { 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 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(await 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 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 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 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 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"]}
|
|
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","getDocsTemplate","overrideBuildTsConfig","useWebpack","devServerTransformers","devServerConfig","getDevServer","context","getDevEnvId","envDefinition","id","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(await 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 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 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["ReactPreview","constructor","preview","providerSlot","aspectsFilter","entries","toArray","allowedAspects","Set","add","ReactAspect","id","filter","aspectId","has","providers","flatten","map","provider","registerProvider","register","config","reactPreview","HighlighterProvider","registerRenderContext","getRenderingContext","PreviewRuntime","Slot","withType","PreviewAspect","addRuntime"],"sources":["react.preview.runtime.ts"],"sourcesContent":["import { ComponentType } from 'react';\nimport flatten from 'lodash.flatten';\nimport { SlotRegistry, Slot } from '@teambit/harmony';\nimport PreviewAspect, { PreviewPreview, PreviewRuntime, RenderingContextProvider } from '@teambit/preview';\nimport { HighlighterProvider } from '@teambit/react.ui.highlighter-provider';\nimport { ReactAspect } from './react.aspect';\n\nexport type Provider = ComponentType<{}>;\nexport type ProviderSlot = SlotRegistry<Provider[]>;\n\nexport class ReactPreview {\n constructor(private preview: PreviewPreview, private providerSlot: ProviderSlot) {}\n\n registerProvider(provider: Provider[]) {\n this.providerSlot.register(provider);\n }\n\n getRenderingContext: RenderingContextProvider = ({ aspectsFilter }) => {\n let entries = this.providerSlot.toArray();\n\n if (aspectsFilter) {\n const allowedAspects = new Set(aspectsFilter);\n allowedAspects.add(ReactAspect.id);\n\n entries = entries.filter(([aspectId]) => allowedAspects.has(aspectId));\n }\n\n const providers = flatten(entries.map(([, provider]) => provider));\n\n return {\n providers,\n };\n };\n\n static runtime = PreviewRuntime;\n\n static slots = [Slot.withType<Provider>()];\n\n static dependencies = [PreviewAspect];\n\n static async provider([preview]: [PreviewPreview], config, [providerSlot]: [ProviderSlot]) {\n const reactPreview = new ReactPreview(preview, providerSlot);\n\n reactPreview.registerProvider([HighlighterProvider]);\n\n preview.registerRenderContext(reactPreview.getRenderingContext);\n\n return reactPreview;\n }\n}\n\nReactAspect.addRuntime(ReactPreview);\n\nexport default ReactPreview;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;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;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;;;;;AAKO,MAAMA,YAAN,CAAmB;EACxBC,WAAW,CAASC,OAAT,EAA0CC,YAA1C,EAAsE;IAAA,KAA7DD,OAA6D,GAA7DA,OAA6D;IAAA,KAA5BC,YAA4B,GAA5BA,YAA4B;IAAA,6DAMjC,CAAC;MAAEC;IAAF,CAAD,KAAuB;MACrE,IAAIC,OAAO,GAAG,KAAKF,YAAL,CAAkBG,OAAlB,EAAd;;MAEA,IAAIF,aAAJ,EAAmB;QACjB,MAAMG,cAAc,GAAG,IAAIC,GAAJ,CAAQJ,aAAR,CAAvB;QACAG,cAAc,CAACE,GAAf,CAAmBC,oBAAA,CAAYC,EAA/B;QAEAN,OAAO,GAAGA,OAAO,CAACO,MAAR,CAAe,CAAC,CAACC,QAAD,CAAD,KAAgBN,cAAc,CAACO,GAAf,CAAmBD,QAAnB,CAA/B,CAAV;MACD;;MAED,MAAME,SAAS,GAAG,IAAAC,iBAAA,EAAQX,OAAO,CAACY,GAAR,CAAY,CAAC,GAAGC,QAAH,CAAD,KAAkBA,QAA9B,CAAR,CAAlB;MAEA,OAAO;QACLH;MADK,CAAP;IAGD,CArBgF;EAAE;;EAEnFI,gBAAgB,CAACD,QAAD,EAAuB;IACrC,KAAKf,YAAL,CAAkBiB,QAAlB,CAA2BF,QAA3B;EACD;;EAyBoB,aAARA,QAAQ,CAAC,CAAChB,OAAD,CAAD,EAA8BmB,MAA9B,EAAsC,CAAClB,YAAD,CAAtC,EAAsE;IACzF,MAAMmB,YAAY,GAAG,IAAItB,YAAJ,CAAiBE,OAAjB,EAA0BC,YAA1B,CAArB;IAEAmB,YAAY,CAACH,gBAAb,CAA8B,CAACI,8BAAD,CAA9B;IAEArB,OAAO,CAACsB,qBAAR,CAA8BF,YAAY,CAACG,mBAA3C;IAEA,OAAOH,YAAP;EACD;;AAtCuB;;;gCAAbtB,Y,aAwBM0B,yB;gCAxBN1B,Y,WA0BI,CAAC2B,eAAA,CAAKC,QAAL,EAAD,C;gCA1BJ5B,Y,kBA4BW,CAAC6B,kBAAD,C;;AAaxBnB,oBAAA,CAAYoB,UAAZ,CAAuB9B,YAAvB;;eAEeA,Y"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["componentTemplates","reactComponent","reactContext","reactHook","reactComponentJS","reactEnvTemplate","reactAppTemplate","deprecatedReactComponent","deprecatedReactComponentJS","workspaceTemplates","reactWorkspaceTemplate","reactWorkspaceAppTemplate","reactWorkspaceLibTemplate","deprecatedReactWorkspaceTemplate","reactWorkspaceDesignSystemTemplate","reactWorkspaceWikiTemplate","reactWorkspaceAnalyticsTemplate","reactWorkspaceDataFetchingTemplate"],"sources":["react.templates.ts"],"sourcesContent":["import { ComponentTemplate, WorkspaceTemplate } from '@teambit/generator';\nimport { reactComponent, deprecatedReactComponent } from './templates/react-component';\nimport { reactComponentJS, deprecatedReactComponentJS } from './templates/react-component-js';\nimport { reactEnvTemplate } from './templates/react-env';\nimport { deprecatedReactWorkspaceTemplate } from './templates/react-workspace-deprecated';\nimport { reactHook } from './templates/react-hook';\nimport { reactContext } from './templates/react-context';\nimport { reactAppTemplate } from './templates/react-app';\nimport { reactWorkspaceTemplate } from './templates/react-workspace';\nimport { reactWorkspaceDesignSystemTemplate } from './templates/react-workspace-design-system';\nimport { reactWorkspaceWikiTemplate } from './templates/react-workspace-wiki';\nimport { reactWorkspaceAnalyticsTemplate } from './templates/react-workspace-analytics';\nimport { reactWorkspaceDataFetchingTemplate } from './templates/react-workspace-data-fetching';\nimport { reactWorkspaceAppTemplate } from './templates/react-workspace-app';\nimport { reactWorkspaceLibTemplate } from './templates/react-workspace-lib';\n\nexport const componentTemplates: ComponentTemplate[] = [\n reactComponent,\n reactContext,\n reactHook,\n reactComponentJS,\n reactEnvTemplate,\n reactAppTemplate,\n deprecatedReactComponent,\n deprecatedReactComponentJS,\n];\n\nexport const workspaceTemplates: WorkspaceTemplate[] = [\n reactWorkspaceTemplate,\n reactWorkspaceAppTemplate,\n reactWorkspaceLibTemplate,\n deprecatedReactWorkspaceTemplate,\n reactWorkspaceDesignSystemTemplate,\n reactWorkspaceWikiTemplate,\n reactWorkspaceAnalyticsTemplate,\n reactWorkspaceDataFetchingTemplate,\n];\n"],"mappings":";;;;;;;AACA;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;;AACA;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;;AACA;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;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,kBAAuC,GAAG,CACrDC,gCADqD,EAErDC,4BAFqD,EAGrDC,sBAHqD,EAIrDC,oCAJqD,EAKrDC,4BALqD,EAMrDC,4BANqD,EAOrDC,0CAPqD,EAQrDC,8CARqD,CAAhD;;AAWA,MAAMC,kBAAuC,GAAG,CACrDC,wCADqD,EAErDC,8CAFqD,EAGrDC,8CAHqD,EAIrDC,4DAJqD,EAKrDC,gEALqD,EAMrDC,gDANqD,EAOrDC,0DAPqD,EAQrDC,gEARqD,CAAhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["ReactUI","provider","compositionsUI","testerUi","reactUI","registerEmptyState","registerMenuWidget","location","content","UIRuntime","CompositionsAspect","TesterAspect","ReactAspect","addRuntime"],"sources":["react.ui.runtime.tsx"],"sourcesContent":["import React from 'react';\nimport { CompositionsAspect, CompositionsUI } from '@teambit/compositions';\nimport { UIRuntime } from '@teambit/ui';\nimport { TesterAspect, TesterUI } from '@teambit/tester';\nimport { AddingTests } from '@teambit/react.instructions.react.adding-tests';\nimport { AddingCompositions } from '@teambit/react.instructions.react.adding-compositions';\nimport { ReactAspect } from './react.aspect';\nimport { HighlighterWidget } from './highlighter-widget';\n\nexport class ReactUI {\n static runtime = UIRuntime;\n static slots = [];\n static dependencies = [CompositionsAspect, TesterAspect];\n\n static async provider([compositionsUI, testerUi]: [CompositionsUI, TesterUI]) {\n const reactUI = new ReactUI();\n testerUi.registerEmptyState(() => {\n return <AddingTests />;\n });\n compositionsUI.registerEmptyState(() => {\n return <AddingCompositions />;\n });\n\n compositionsUI.registerMenuWidget({\n location: 'start',\n content: <HighlighterWidget />,\n });\n\n return reactUI;\n }\n}\n\nReactAspect.addRuntime(ReactUI);\n\nexport default ReactUI;\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;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,OAAN,CAAc;EAKE,aAARC,QAAQ,CAAC,CAACC,cAAD,EAAiBC,QAAjB,CAAD,EAAyD;IAC5E,MAAMC,OAAO,GAAG,IAAIJ,OAAJ,EAAhB;IACAG,QAAQ,CAACE,kBAAT,CAA4B,MAAM;MAChC,oBAAO,+BAAC,qCAAD,OAAP;IACD,CAFD;IAGAH,cAAc,CAACG,kBAAf,CAAkC,MAAM;MACtC,oBAAO,+BAAC,6CAAD,OAAP;IACD,CAFD;IAIAH,cAAc,CAACI,kBAAf,CAAkC;MAChCC,QAAQ,EAAE,OADsB;MAEhCC,OAAO,eAAE,+BAAC,sCAAD;IAFuB,CAAlC;IAKA,OAAOJ,OAAP;EACD;;AApBkB;;;gCAARJ,O,aACMS,e;gCADNT,O,WAEI,E;gCAFJA,O,kBAGW,CAACU,kCAAD,EAAqBC,sBAArB,C;;AAoBxBC,qBAAA,CAAYC,UAAZ,CAAuBb,OAAvB;;eAEeA,O"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["appPlugin","name","namePascalCase","Name"],"sources":["app-plugin.ts"],"sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function appPlugin({ name, namePascalCase: Name }: ComponentContext) {\n return `import { ReactAppOptions } from '@teambit/react';\n\nexport const ${Name}App: ReactAppOptions = {\n name: '${name}',\n entry: [require.resolve('./${name}.app-root')],\n prerender: {\n routes: ['/']\n }\n};\n\nexport default ${Name}App;\n`;\n}\n"],"mappings":";;;;;;;AAEO,SAASA,SAAT,CAAmB;EAAEC,IAAF;EAAQC,cAAc,EAAEC;AAAxB,CAAnB,EAAqE;EAC1E,OAAQ;AACV;AACA,eAAeA,IAAK;AACpB,WAAWF,IAAK;AAChB,+BAA+BA,IAAK;AACpC;AACA;AACA;AACA;AACA;AACA,iBAAiBE,IAAK;AACtB,CAXE;AAYD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["appRootFile","namePascalCase","Name"],"sources":["app-root.ts"],"sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function appRootFile({ namePascalCase: Name }: ComponentContext) {\n return `import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from 'react-router-dom';\nimport { ${Name}App } from './app';\n\nReactDOM.render((\n <BrowserRouter>\n <${Name}App />\n </BrowserRouter>\n), document.getElementById('root'));\n\n`;\n}\n"],"mappings":";;;;;;;AAEO,SAASA,WAAT,CAAqB;EAAEC,cAAc,EAAEC;AAAlB,CAArB,EAAiE;EACtE,OAAQ;AACV;AACA;AACA,WAAWA,IAAK;AAChB;AACA;AACA;AACA,OAAOA,IAAK;AACZ;AACA;AACA;AACA,CAXE;AAYD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["appFile","namePascalCase","Name"],"sources":["app.ts"],"sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function appFile({ namePascalCase: Name }: ComponentContext) {\n return `import React from 'react';\nimport { Routes, Route } from 'react-router-dom';\n\nexport function ${Name}App() {\n return (\n <>\n {/* header component */}\n <Routes>\n <Route path=\"/\" element={<div>Hello World!!</div>}>\n {/* home page component */}\n </Route>\n\n <Route path=\"/about\">\n {/* about page component */}\n </Route>\n\n </Routes>\n {/* footer component */}\n </>\n );\n}\n`;\n}\n"],"mappings":";;;;;;;AAEO,SAASA,OAAT,CAAiB;EAAEC,cAAc,EAAEC;AAAlB,CAAjB,EAA6D;EAClE,OAAQ;AACV;AACA;AACA,kBAAkBA,IAAK;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CArBE;AAsBD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["compositionsFile","namePascalCase","Name"],"sources":["compositions.ts"],"sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function compositionsFile({ namePascalCase: Name }: ComponentContext) {\n return `import React from 'react';\nimport { MemoryRouter } from 'react-router-dom';\nimport { ${Name}App } from './app';\n\nexport const ${Name}Basic = () => {\n return (\n <MemoryRouter>\n <${Name}App />\n </MemoryRouter>\n );\n};\n`;\n}\n"],"mappings":";;;;;;;AAEO,SAASA,gBAAT,CAA0B;EAAEC,cAAc,EAAEC;AAAlB,CAA1B,EAAsE;EAC3E,OAAQ;AACV;AACA,WAAWA,IAAK;AAChB;AACA,eAAeA,IAAK;AACpB;AACA;AACA,SAASA,IAAK;AACd;AACA;AACA;AACA,CAXE;AAYD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["docFile","name","componentId","nameCamelCase","toString"],"sources":["doc.ts"],"sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function docFile({ name, componentId, nameCamelCase }: ComponentContext) {\n return `---\ndescription: ${nameCamelCase} application component.\nlabels: ['${name}', 'app']\n---\n\nConfigure the app plugin on your workspace:\n\n\\`\\`\\`json\n\"${componentId.toString()}\": {},\n\\`\\`\\`\n\n### Run the application\n\nYou can run your application on a separate port to see it outside of the Bit workspace\n\n\\`\\`\\`bash\nbit run ${name}\n\\`\\`\\`\n`;\n}\n"],"mappings":";;;;;;;AAEO,SAASA,OAAT,CAAiB;EAAEC,IAAF;EAAQC,WAAR;EAAqBC;AAArB,CAAjB,EAAyE;EAC9E,OAAQ;AACV,eAAeA,aAAc;AAC7B,YAAYF,IAAK;AACjB;AACA;AACA;AACA;AACA;AACA,GAAGC,WAAW,CAACE,QAAZ,EAAuB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAUH,IAAK;AACf;AACA,CAlBE;AAmBD"}
|