@teambit/react 1.0.208 → 1.0.209
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/env-template/public/{591.a3ef9607a88fec118483.js → 170.e2586eafaae3c27235b8.js} +2 -2
- package/artifacts/env-template/public/{310.7c1aaa5c035e35be07d9.js → 310.26b43bf6f6658e87fc58.js} +9 -9
- package/artifacts/env-template/public/assets-manifest.json +14 -14
- package/artifacts/env-template/public/compositions.c159a50783fdd7a5364c.js +17 -0
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/{overview.185934e578fa002affa1.js → overview.0a439188218467983fe4.js} +1 -1
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/{peers.02e5acf66cbef4afe3e4.js → peers.bd740711c2b40be46996.js} +1 -1
- package/artifacts/env-template/public/{preview-root.a9e916648b04a21e4d4a.js → preview-root.1a09ddf180be0092f126.js} +1 -1
- package/artifacts/env-template/public/static/css/{310.6f58a5d6.css → 310.cdd78dee.css} +1 -1
- package/dist/{preview-1711458141302.js → preview-1711509617758.js} +2 -2
- package/dist/react.env.d.ts +3 -3
- package/dist/react.env.js +25 -6
- package/dist/react.env.js.map +1 -1
- package/dist/react.main.runtime.d.ts +2 -3
- package/dist/react.main.runtime.js +3 -10
- package/dist/react.main.runtime.js.map +1 -1
- package/package.json +37 -37
- package/artifacts/env-template/public/compositions.2f04d91fde20cc645381.js +0 -17
- /package/{compositions-1711458141302.js → compositions-1711509617758.js} +0 -0
- /package/{overview-1711458141302.js → overview-1711509617758.js} +0 -0
package/dist/react.env.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import ts, { TsConfigSourceFile } from 'typescript';
|
|
|
2
2
|
import { BuildTask } from '@teambit/builder';
|
|
3
3
|
import { Bundler, BundlerContext, DevServer, DevServerContext } from '@teambit/bundler';
|
|
4
4
|
import { PreviewStrategyName } from '@teambit/preview';
|
|
5
|
+
import { PrettierConfigTransformer } from '@teambit/defender.prettier.config-mutator';
|
|
5
6
|
import { CompilerMain } from '@teambit/compiler';
|
|
6
7
|
import { BuilderEnv, CompilerEnv, DependenciesEnv, DevEnv, LinterEnv, PackageEnv, TesterEnv, FormatterEnv, PipeServiceModifier, PipeServiceModifiersMap } from '@teambit/envs';
|
|
7
8
|
import { JestMain } from '@teambit/jest';
|
|
@@ -11,7 +12,6 @@ import { TsConfigTransformer, TypescriptMain } from '@teambit/typescript';
|
|
|
11
12
|
import { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';
|
|
12
13
|
import { Workspace } from '@teambit/workspace';
|
|
13
14
|
import { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';
|
|
14
|
-
import { PrettierConfigTransformer, PrettierMain } from '@teambit/prettier';
|
|
15
15
|
import { DependencyResolverMain } from '@teambit/dependency-resolver';
|
|
16
16
|
import { Linter, LinterContext } from '@teambit/linter';
|
|
17
17
|
import { Formatter, FormatterContext } from '@teambit/formatter';
|
|
@@ -58,7 +58,6 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
|
|
|
58
58
|
private tester;
|
|
59
59
|
private config;
|
|
60
60
|
private eslint;
|
|
61
|
-
private prettier;
|
|
62
61
|
private dependencyResolver;
|
|
63
62
|
private logger;
|
|
64
63
|
private compilerAspectId;
|
|
@@ -90,7 +89,7 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
|
|
|
90
89
|
/**
|
|
91
90
|
* tester extension
|
|
92
91
|
*/
|
|
93
|
-
tester: TesterMain, config: ReactMainConfig, eslint: ESLintMain,
|
|
92
|
+
tester: TesterMain, config: ReactMainConfig, eslint: ESLintMain, dependencyResolver: DependencyResolverMain, logger: Logger, compilerAspectId: string);
|
|
94
93
|
getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile;
|
|
95
94
|
getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile;
|
|
96
95
|
/**
|
|
@@ -276,4 +275,5 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
|
|
|
276
275
|
type: string;
|
|
277
276
|
}>;
|
|
278
277
|
}
|
|
278
|
+
export declare function runTransformersWithContext<P, T extends Function, C>(config: P, transformers: T[] | undefined, context: C): P;
|
|
279
279
|
export {};
|
package/dist/react.env.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ReactEnvType = exports.ReactEnv = void 0;
|
|
7
|
+
exports.runTransformersWithContext = runTransformersWithContext;
|
|
7
8
|
function _typescript() {
|
|
8
9
|
const data = _interopRequireDefault(require("typescript"));
|
|
9
10
|
_typescript = function () {
|
|
@@ -53,6 +54,13 @@ function _defender() {
|
|
|
53
54
|
};
|
|
54
55
|
return data;
|
|
55
56
|
}
|
|
57
|
+
function _defenderPrettier() {
|
|
58
|
+
const data = require("@teambit/defender.prettier.config-mutator");
|
|
59
|
+
_defenderPrettier = function () {
|
|
60
|
+
return data;
|
|
61
|
+
};
|
|
62
|
+
return data;
|
|
63
|
+
}
|
|
56
64
|
function _typescript2() {
|
|
57
65
|
const data = require("@teambit/typescript.typescript-compiler");
|
|
58
66
|
_typescript2 = function () {
|
|
@@ -188,7 +196,7 @@ class ReactEnv {
|
|
|
188
196
|
/**
|
|
189
197
|
* tester extension
|
|
190
198
|
*/
|
|
191
|
-
tester, config, eslint,
|
|
199
|
+
tester, config, eslint, dependencyResolver, logger, compilerAspectId) {
|
|
192
200
|
this.jestAspect = jestAspect;
|
|
193
201
|
this.tsAspect = tsAspect;
|
|
194
202
|
this.compiler = compiler;
|
|
@@ -198,7 +206,6 @@ class ReactEnv {
|
|
|
198
206
|
this.tester = tester;
|
|
199
207
|
this.config = config;
|
|
200
208
|
this.eslint = eslint;
|
|
201
|
-
this.prettier = prettier;
|
|
202
209
|
this.dependencyResolver = dependencyResolver;
|
|
203
210
|
this.logger = logger;
|
|
204
211
|
this.compilerAspectId = compilerAspectId;
|
|
@@ -336,11 +343,16 @@ class ReactEnv {
|
|
|
336
343
|
* returns and configures the component formatter.
|
|
337
344
|
*/
|
|
338
345
|
getFormatter(context, transformers = []) {
|
|
339
|
-
|
|
340
|
-
|
|
346
|
+
const configMutator = new (_defenderPrettier().PrettierConfigMutator)(prettierConfig);
|
|
347
|
+
const transformerContext = {
|
|
348
|
+
check: !!(context !== null && context !== void 0 && context.check)
|
|
349
|
+
};
|
|
350
|
+
const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);
|
|
351
|
+
return _defender().PrettierFormatter.create({
|
|
352
|
+
config: afterMutation.raw
|
|
341
353
|
}, {
|
|
342
|
-
|
|
343
|
-
}
|
|
354
|
+
logger: this.logger
|
|
355
|
+
});
|
|
344
356
|
}
|
|
345
357
|
getFileMap(components, local = false) {
|
|
346
358
|
return components.reduce((index, component) => {
|
|
@@ -595,5 +607,12 @@ class ReactEnv {
|
|
|
595
607
|
}
|
|
596
608
|
}
|
|
597
609
|
exports.ReactEnv = ReactEnv;
|
|
610
|
+
function runTransformersWithContext(config, transformers = [], context) {
|
|
611
|
+
if (!Array.isArray(transformers)) return config;
|
|
612
|
+
const newConfig = transformers.reduce((acc, transformer) => {
|
|
613
|
+
return transformer(acc, context);
|
|
614
|
+
}, config);
|
|
615
|
+
return newConfig;
|
|
616
|
+
}
|
|
598
617
|
|
|
599
618
|
//# sourceMappingURL=react.env.js.map
|
package/dist/react.env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_os","_componentModules","_builder","_lodash","_preview","_defender","_typescript2","_defender2","_utils","_path","_fsExtra","_react","_webpackConfig","_webpackConfigBase","_webpackConfigEnv","_webpackConfigEnv2","_webpackConfigComponent","_webpackConfigComponent2","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ReactEnvType","exports","defaultTsConfig","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","createCjsJestTester","pathToSource","pathNormalizeToLinux","__dirname","replace","defaultConfig","join","createTester","resolve","getEsmJestTester","createEsmJestTester","getTester","createTsCompilerOptions","mode","tsconfig","cloneDeep","compileJs","compileJsx","types","getTsCjsCompiler","transformers","tsModule","ts","createTsCjsCompiler","tsCompileOptions","createCjsCompiler","getTsEsmCompiler","createTsEsmCompiler","createEsmCompiler","getCompiler","getLinter","context","tsConfig","defaultTransformer","configMutator","addExtensionTypes","setTsConfig","allTransformers","createLinter","pluginPath","getFormatter","createFormatter","check","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","tsserverPath","contextPath","createSchemaExtractor","getDevServer","webpackModulePath","webpackDevServerModulePath","baseConfig","basePreviewConfigFactory","envDevConfig","envPreviewDevConfigFactory","componentDevConfig","componentPreviewDevConfigFactory","merged","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","basePreviewProdConfigFactory","componentProdConfig","componentPreviewProdConfigFactory","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","templateConfig","templateWebpackConfigFactory","createBundler","undefined","getAdditionalHostDependencies","getDocsTemplate","getMounter","getPreviewConfig","strategyName","COMPONENT_PREVIEW_STRATEGY_NAME","splitComponentBundle","isScaling","getPackageJsonProps","getCjsPackageJsonProps","createCjsPackageJsonProps","getEsmPackageJsonProps","createEsmPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","getDependencies","dependencies","react","devDependencies","peerDependencies","getBuildPipe","modifiers","_modifiers$tsModifier","_modifiers$tsModifier2","tsModifier","createCjsCompilerTask","module","task","getBuildPipeWithoutCompiler","createBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","aspectId","getEsmCompilerTask","createEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","workspaceConfig","TypescriptConfigWriter","create","EslintConfigWriter","configPath","PrettierConfigWriter","__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 { COMPONENT_PREVIEW_STRATEGY_NAME, PreviewStrategyName } from '@teambit/preview';\nimport { PrettierConfigWriter } from '@teambit/defender.prettier-formatter';\nimport { TypescriptConfigWriter } from '@teambit/typescript.typescript-compiler';\nimport { EslintConfigWriter } from '@teambit/defender.eslint-linter';\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';\nimport { ConfigWriterEntry } from '@teambit/workspace-config-files';\n\n// ensure reactEnv depends on compositions-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { CompositionsApp } from '@teambit/react.ui.compositions-app';\n// ensure reactEnv depends on docs-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport DocsApps from '@teambit/react.ui.docs-app';\nimport type { 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';\nimport { templateWebpackConfigFactory } from './webpack/webpack.config.env.template';\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');\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 * @deprecated use createCjsJestTester()\n */\n getCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\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 createCjsJestTester(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 * @deprecated use createEsmJestTester()\n */\n getEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createEsmJestTester(jestConfigPath, jestModulePath);\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 createEsmJestTester(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.createEsmJestTester(jestConfigPath, jestModulePath);\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n private createTsCompilerOptions(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 * @deprecated use createTsCjsCompiler()\n */\n getTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createTsCjsCompiler(mode, transformers, tsModule);\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 createTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createCjsCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n /**\n * @deprecated use createTsEsmCompiler()\n */\n getTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n this.createTsEsmCompiler(mode, 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 createTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(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.createTsCjsCompiler('dev', transformers, tsModule);\n }\n\n /**\n * returns and configures the component linter.\n */\n getLinter(context: LinterContext, transformers: EslintConfigTransformer[] = []): Linter {\n const tsConfig = this.createTsCompilerOptions('dev').tsconfig;\n\n const defaultTransformer: EslintConfigTransformer = (configMutator) => {\n configMutator.addExtensionTypes(['.md', '.mdx']);\n configMutator.setTsConfig(tsConfig);\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 { check: context?.check },\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, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig), tsserverPath, contextPath);\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(\n context: DevServerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string,\n webpackDevServerModulePath?: string\n ): 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(\n context,\n [defaultTransformer, ...transformers],\n webpackModulePath,\n webpackDevServerModulePath\n );\n }\n\n async getBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers, webpackModulePath);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\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, webpackModulePath);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const templateConfig = templateWebpackConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, templateConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers, undefined, webpackModulePath);\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react', 'react-dom'];\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 the path to the compositions template\n */\n getMounter() {\n return require.resolve('@teambit/react.ui.compositions-app');\n }\n\n getPreviewConfig() {\n return {\n strategyName: COMPONENT_PREVIEW_STRATEGY_NAME as PreviewStrategyName,\n splitComponentBundle: true,\n isScaling: 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 * @deprecated use createCjsPackageJsonProps()\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return this.createCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for a cjs component\n * @returns\n */\n createCjsPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createEsmPackageJsonProps()\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return this.createEsmPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for an esm component\n * @returns\n */\n createEsmPackageJsonProps(): 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.20.0',\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: Function[] = modifiers?.tsModifier?.transformers || [];\n return [this.createCjsCompilerTask(transformers, modifiers?.tsModifier?.module || ts), this.tester.task];\n }\n\n /**\n * @deprecated use createBuildPipeWithoutCompiler()\n */\n getBuildPipeWithoutCompiler(): BuildTask[] {\n return this.createBuildPipeWithoutCompiler();\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 createBuildPipeWithoutCompiler(): BuildTask[] {\n const pipeWithoutCompiler = this.getBuildPipe().filter((task) => task.aspectId !== this.compilerAspectId);\n return pipeWithoutCompiler;\n }\n\n /**\n * @deprecated use createEsmCompilerTask()\n */\n getEsmCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createEsmCompilerTask(transformers as Function[], tsModule);\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 createEsmCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsEsmCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n /**\n * @deprecated use createCjsCompilerTask()\n * */\n getCjsCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCjsCompilerTask(transformers as Function[], tsModule);\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 createCjsCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsCjsCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n workspaceConfig(): ConfigWriterEntry[] {\n return [\n TypescriptConfigWriter.create(\n {\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n // types: resolveTypes(__dirname, [\"./types\"]),\n },\n this.logger\n ),\n EslintConfigWriter.create(\n {\n configPath: require.resolve('./eslint/eslintrc.js'),\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n },\n this.logger\n ),\n PrettierConfigWriter.create(\n {\n configPath: require.resolve('./prettier/prettier.config.js'),\n },\n this.logger\n ),\n ];\n }\n\n async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,IAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,GAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,kBAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,iBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,SAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,QAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,UAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,SAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,aAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,YAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,WAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,UAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AA0BA,SAAAW,OAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,MAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAY,MAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,KAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,SAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,QAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAWA,SAAAc,OAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,MAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAe,eAAA;EAAA,MAAAf,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAa,cAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,mBAAA;EAAA,MAAAhB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAc,kBAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAiB,kBAAA;EAAA,MAAAjB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAe,iBAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,mBAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,kBAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAmB,wBAAA;EAAA,MAAAnB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAiB,uBAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,yBAAA;EAAA,MAAApB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAkB,wBAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsF,SAAAC,uBAAAoB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA,KAnBtF;AACA;AAEA;AACA;AAIA;AAIA;AACA;AAIA;AAIO,MAAMW,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,OAAO;AACnC,MAAME,eAAe,GAAG5C,OAAO,CAAC,4BAA4B,CAAC;AAC7D,MAAM6C,aAAa,GAAG7C,OAAO,CAAC,kCAAkC,CAAC;AACjE,MAAM8C,YAAY,GAAG9C,OAAO,CAAC,mBAAmB,CAAC;AACjD,MAAM+C,cAAc,GAAG/C,OAAO,CAAC,4BAA4B,CAAC;;AAE5D;;AAOA;AACA;AACA;AACO,MAAMgD,QAAQ,CAErB;EACEC,WAAWA;EACT;AACJ;AACA;EACYC,UAAoB;EAE5B;AACJ;AACA;EACcC,QAAwB;EAElC;AACJ;AACA;EACYC,QAAsB;EAE9B;AACJ;AACA;EACYC,OAAoB;EAE5B;AACJ;AACA;EACYC,SAAoB;EAE5B;AACJ;AACA;EACYC,GAAY;EAEpB;AACJ;AACA;EACYC,MAAkB,EAElBC,MAAuB,EAEvBC,MAAkB,EAElBC,QAAsB,EAEtBC,kBAA0C,EAE1CC,MAAc,EAEdC,gBAAwB,EAChC;IAAA,KA3CQZ,UAAoB,GAApBA,UAAoB;IAAA,KAKlBC,QAAwB,GAAxBA,QAAwB;IAAA,KAK1BC,QAAsB,GAAtBA,QAAsB;IAAA,KAKtBC,OAAoB,GAApBA,OAAoB;IAAA,KAKpBC,SAAoB,GAApBA,SAAoB;IAAA,KAKpBC,GAAY,GAAZA,GAAY;IAAA,KAKZC,MAAkB,GAAlBA,MAAkB;IAAA,KAElBC,MAAuB,GAAvBA,MAAuB;IAAA,KAEvBC,MAAkB,GAAlBA,MAAkB;IAAA,KAElBC,QAAsB,GAAtBA,QAAsB;IAAA,KAEtBC,kBAA0C,GAA1CA,kBAA0C;IAAA,KAE1CC,MAAc,GAAdA,MAAc;IAAA,KAEdC,gBAAwB,GAAxBA,gBAAwB;IAAAxC,eAAA,eAqR3B,mDAAmD;EApRvD;EAEHyC,WAAWA,CAACC,cAAmC,EAAsB;IACnE,OAAOA,cAAc,GAAG,IAAAC,eAAK,EAAC,CAAC,CAAC,EAAErB,eAAe,EAAEoB,cAAc,CAAC,GAAGpB,eAAe;EACtF;EAEAsB,gBAAgBA,CAACF,cAAmC,EAAsB;IACxE,OAAOA,cAAc,GAAG,IAAAC,eAAK,EAAC,CAAC,CAAC,EAAEpB,aAAa,EAAEmB,cAAc,CAAC,GAAGnB,aAAa;EAClF;;EAEA;AACF;AACA;EACEsB,gBAAgBA,CAACC,cAAuB,EAAEC,cAAuB,EAAU;IACzE,OAAO,IAAI,CAACC,mBAAmB,CAACF,cAAc,EAAEC,cAAc,CAAC;EACjE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEC,mBAAmBA,CAACF,cAAuB,EAAEC,cAAuB,EAAU;IAC5E,MAAME,YAAY,GAAG,IAAAC,6BAAoB,EAACC,SAAS,CAAC,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IACzE,MAAMC,aAAa,GAAG,IAAAC,YAAI,EAACL,YAAY,EAAE,2BAA2B,CAAC;IACrE,MAAMd,MAAM,GAAGW,cAAc,IAAIO,aAAa;IAC9C,OAAO,IAAI,CAACzB,UAAU,CAAC2B,YAAY,CAACpB,MAAM,EAAEY,cAAc,IAAIrE,OAAO,CAAC8E,OAAO,CAAC,MAAM,CAAC,CAAC;EACxF;;EAEA;AACF;AACA;EACEC,gBAAgBA,CAACX,cAAuB,EAAEC,cAAuB,EAAU;IACzE,OAAO,IAAI,CAACW,mBAAmB,CAACZ,cAAc,EAAEC,cAAc,CAAC;EACjE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEW,mBAAmBA,CAACZ,cAAuB,EAAEC,cAAuB,EAAU;IAC5E,MAAME,YAAY,GAAG,IAAAC,6BAAoB,EAACC,SAAS,CAAC,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IACzE,MAAMC,aAAa,GAAG,IAAAC,YAAI,EAACL,YAAY,EAAE,2BAA2B,CAAC;IACrE,MAAMd,MAAM,GAAGW,cAAc,IAAIO,aAAa;IAC9C,OAAO,IAAI,CAACzB,UAAU,CAAC2B,YAAY,CAACpB,MAAM,EAAEY,cAAc,IAAIrE,OAAO,CAAC8E,OAAO,CAAC,MAAM,CAAC,CAAC;EACxF;;EAEA;AACF;AACA;EACEG,SAASA,CAACb,cAAsB,EAAEC,cAAuB,EAAU;IACjE;IACA,OAAO,IAAI,CAACC,mBAAmB,CAACF,cAAc,EAAEC,cAAc,CAAC;EACjE;EAEQa,uBAAuBA,CAACC,IAAkB,GAAG,KAAK,EAA6B;IACrF,MAAMC,QAAQ,GAAGD,IAAI,KAAK,KAAK,GAAG,IAAAE,mBAAS,EAACzC,eAAe,CAAC,GAAG,IAAAyC,mBAAS,EAACxC,aAAa,CAAC;IACvF,MAAM0B,YAAY,GAAG,IAAAC,6BAAoB,EAACC,SAAS,CAAC,CAACC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC/E,MAAMY,SAAS,GAAG,IAAI;IACtB,MAAMC,UAAU,GAAG,IAAI;IACvB,OAAO;MACLH,QAAQ;MACR;MACAI,KAAK,EAAE,CAAC,IAAAV,eAAO,EAACP,YAAY,EAAE,yBAAyB,CAAC,EAAE,IAAAO,eAAO,EAACP,YAAY,EAAE,yBAAyB,CAAC,CAAC;MAC3Ge,SAAS;MACTC;IACF,CAAC;EACH;;EAEA;AACF;AACA;EACEE,gBAAgBA,CAACN,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACpG,OAAO,IAAI,CAACC,mBAAmB,CAACV,IAAI,EAAEO,YAAY,EAAEC,QAAQ,CAAC;EAC/D;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEE,mBAAmBA,CAACV,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACvG,MAAME,gBAAgB,GAAG,IAAI,CAACZ,uBAAuB,CAACC,IAAI,CAAC;IAC3D,OAAO,IAAI,CAAChC,QAAQ,CAAC4C,iBAAiB,CAACD,gBAAgB,EAAEJ,YAAY,EAAEC,QAAQ,CAAC;EAClF;;EAEA;AACF;AACA;EACEK,gBAAgBA,CAACb,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACpG,IAAI,CAACK,mBAAmB,CAACd,IAAI,EAAEO,YAAY,EAAEC,QAAQ,CAAC;EACxD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEM,mBAAmBA,CAACd,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACvG,MAAME,gBAAgB,GAAG,IAAI,CAACZ,uBAAuB,CAACC,IAAI,CAAC;IAC3D,OAAO,IAAI,CAAChC,QAAQ,CAAC+C,iBAAiB,CAACJ,gBAAgB,EAAEJ,YAAY,EAAEC,QAAQ,CAAC;EAClF;EAEAQ,WAAWA,CAACT,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACnE;IACA,OAAO,IAAI,CAACC,mBAAmB,CAAC,KAAK,EAAEH,YAAY,EAAEC,QAAQ,CAAC;EAChE;;EAEA;AACF;AACA;EACES,SAASA,CAACC,OAAsB,EAAEX,YAAuC,GAAG,EAAE,EAAU;IACtF,MAAMY,QAAQ,GAAG,IAAI,CAACpB,uBAAuB,CAAC,KAAK,CAAC,CAACE,QAAQ;IAE7D,MAAMmB,kBAA2C,GAAIC,aAAa,IAAK;MACrEA,aAAa,CAACC,iBAAiB,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;MAChDD,aAAa,CAACE,WAAW,CAACJ,QAAQ,CAAC;MACnC,OAAOE,aAAa;IACtB,CAAC;IAED,MAAMG,eAAe,GAAG,CAACJ,kBAAkB,EAAE,GAAGb,YAAY,CAAC;IAE7D,OAAO,IAAI,CAAChC,MAAM,CAACkD,YAAY,CAC7BP,OAAO,EACP;MACE5C,MAAM,EAAEX,YAAY;MACpB;MACA+D,UAAU,EAAEpC;IACd,CAAC,EACDkC,eACF,CAAC;EACH;;EAEA;AACF;AACA;EACEG,YAAYA,CAACT,OAAyB,EAAEX,YAAyC,GAAG,EAAE,EAAa;IACjG,OAAO,IAAI,CAAC/B,QAAQ,CAACoD,eAAe,CAClC;MAAEC,KAAK,EAAEX,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEW;IAAM,CAAC,EACzB;MACEvD,MAAM,EAAEV;IACV,CAAC,EACD2C,YACF,CAAC;EACH;EAEQuB,UAAUA,CAACC,UAAuB,EAAEC,KAAK,GAAG,KAAK,EAAE;IACzD,OAAOD,UAAU,CAACE,MAAM,CAAmC,CAACC,KAAK,EAAEC,SAAoB,KAAK;MAC1FA,SAAS,CAACC,KAAK,CAACC,UAAU,CAACC,KAAK,CAACC,OAAO,CAAEC,IAAI,IAAK;QACjDN,KAAK,CAACM,IAAI,CAACC,IAAI,CAAC,GAAG;UACjBC,EAAE,EAAEP,SAAS,CAACO,EAAE,CAACC,QAAQ,CAAC,CAAC;UAC3BC,QAAQ,EAAEZ,KAAK,GAAI,IAAGG,SAAS,CAACO,EAAE,CAACG,QAAS,EAAC,GAAGC,gCAAY,CAACC,KAAK,CAACZ,SAAS,CAACO,EAAE;QACjF,CAAC;MACH,CAAC,CAAC;MAEF,OAAOR,KAAK;IACd,CAAC,EAAE,CAAC,CAAC,CAAC;EACR;EAEQc,YAAYA,CAACjB,UAAuB,EAAEC,KAAe,EAAE;IAC7D,MAAMiB,OAAO,GAAG,IAAI,CAACnB,UAAU,CAACC,UAAU,EAAEC,KAAK,CAAC;IAClD,MAAMS,IAAI,GAAG,IAAAhD,YAAI,EAAC,IAAAyD,YAAM,EAAC,CAAC,EAAG,GAAEC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACT,QAAQ,CAAC,EAAE,CAAC,CAACU,KAAK,CAAC,CAAC,EAAE,EAAE,CAAE,OAAM,CAAC;IAC9E,IAAAC,yBAAc,EAACb,IAAI,EAAEc,IAAI,CAACC,SAAS,CAACP,OAAO,CAAC,CAAC;IAC7C,OAAOR,IAAI;EACb;;EAEA;AACF;AACA;EACEgB,WAAWA,CAACf,EAAW,EAAE;IACvB,IAAI,OAAOA,EAAE,KAAK,QAAQ,EAAE,OAAOgB,oBAAW,CAAChB,EAAE;IACjD,OAAOA,EAAE,IAAIgB,oBAAW,CAAChB,EAAE;EAC7B;;EAEA;AACF;AACA;EACEiB,kBAAkBA,CAAC1D,QAA4B,EAAE2D,YAAqB,EAAEC,WAAoB,EAAmB;IAC7G,OAAO,IAAI,CAAC7F,QAAQ,CAAC8F,qBAAqB,CAAC,IAAI,CAAClF,WAAW,CAACqB,QAAQ,CAAC,EAAE2D,YAAY,EAAEC,WAAW,CAAC;EACnG;;EAEA;AACF;AACA;AACA;EACEE,YAAYA,CACV7C,OAAyB,EACzBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EAC1BC,0BAAmC,EACxB;IACX,MAAMC,UAAU,GAAG,IAAAC,wBAAwB,EAAC,KAAK,CAAC;IAClD,MAAMC,YAAY,GAAG,IAAAC,2BAA0B,EAACnD,OAAO,CAACwB,EAAE,CAAC;IAC3D,MAAM4B,kBAAkB,GAAG,IAAAC,kCAAgC,EAAC,IAAI,CAACpG,SAAS,CAACsE,IAAI,EAAEvB,OAAO,CAACwB,EAAE,CAAC;IAE5F,MAAMtB,kBAA4C,GAAIC,aAAa,IAAK;MACtE,MAAMmD,MAAM,GAAGnD,aAAa,CAACvC,KAAK,CAAC,CAACoF,UAAU,EAAEE,YAAY,EAAEE,kBAAkB,CAAC,CAAC;MAClF,OAAOE,MAAM;IACf,CAAC;IAED,OAAO,IAAI,CAACtG,OAAO,CAACuG,eAAe,CACjCvD,OAAO,EACP,CAACE,kBAAkB,EAAE,GAAGb,YAAY,CAAC,EACrCyD,iBAAiB,EACjBC,0BACF,CAAC;EACH;EAEA,MAAMS,UAAUA,CACdxD,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,OAAO,IAAI,CAACW,8BAA8B,CAACzD,OAAO,EAAEX,YAAY,EAAEyD,iBAAiB,CAAC;EACtF;EAEA,MAAMW,8BAA8BA,CAClCzD,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,MAAME,UAAU,GAAG,IAAAC,wBAAwB,EAAC,CAACjD,OAAO,CAAC0D,WAAW,CAAC;IACjE,MAAMC,cAAc,GAAG,IAAAC,4BAA4B,EAAC5D,OAAO,CAAC0D,WAAW,CAAC;IACxE,MAAMG,mBAAmB,GAAG,IAAAC,iCAAiC,EAAC,CAAC;IAE/D,MAAM5D,kBAA4C,GAAIC,aAAa,IAAK;MACtE,MAAMmD,MAAM,GAAGnD,aAAa,CAACvC,KAAK,CAAC,CAACoF,UAAU,EAAEW,cAAc,EAAEE,mBAAmB,CAAC,CAAC;MACrF,OAAOP,MAAM;IACf,CAAC;IACD,MAAMS,kBAAkB,GAAG,CAAC7D,kBAAkB,EAAE,GAAGb,YAAY,CAAC;IAChE,OAAO,IAAI,CAAC2E,oBAAoB,CAAChE,OAAO,EAAE+D,kBAAkB,EAAEjB,iBAAiB,CAAC;EAClF;EAEA,MAAMmB,4BAA4BA,CAChCjE,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,MAAME,UAAU,GAAG,IAAAC,wBAAwB,EAAC,CAACjD,OAAO,CAAC0D,WAAW,CAAC;IACjE,MAAMC,cAAc,GAAG,IAAAC,4BAA4B,EAAC5D,OAAO,CAAC0D,WAAW,CAAC;IACxE,MAAMQ,cAAc,GAAG,IAAAC,iDAA4B,EAAC,CAAC;IAErD,MAAMjE,kBAA4C,GAAIC,aAAa,IAAK;MACtE,MAAMmD,MAAM,GAAGnD,aAAa,CAACvC,KAAK,CAAC,CAACoF,UAAU,EAAEW,cAAc,EAAEO,cAAc,CAAC,CAAC;MAChF,OAAOZ,MAAM;IACf,CAAC;IACD,MAAMS,kBAAkB,GAAG,CAAC7D,kBAAkB,EAAE,GAAGb,YAAY,CAAC;IAChE,OAAO,IAAI,CAAC2E,oBAAoB,CAAChE,OAAO,EAAE+D,kBAAkB,EAAEjB,iBAAiB,CAAC;EAClF;EAEA,MAAckB,oBAAoBA,CAChChE,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,OAAO,IAAI,CAAC9F,OAAO,CAACoH,aAAa,CAACpE,OAAO,EAAEX,YAAY,EAAEgF,SAAS,EAAEvB,iBAAiB,CAAC;EACxF;EAEAwB,6BAA6BA,CAAA,EAAa;IACxC,OAAO,CAAC,mCAAmC,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,CAAC;EACrF;;EAEA;AACF;AACA;EACEC,eAAeA,CAAA,EAAG;IAChB,OAAO5K,OAAO,CAAC8E,OAAO,CAAC,4BAA4B,CAAC;EACtD;EAIA;AACF;AACA;EACE+F,UAAUA,CAAA,EAAG;IACX,OAAO7K,OAAO,CAAC8E,OAAO,CAAC,oCAAoC,CAAC;EAC9D;EAEAgG,gBAAgBA,CAAA,EAAG;IACjB,OAAO;MACLC,YAAY,EAAEC,0CAAsD;MACpEC,oBAAoB,EAAE,IAAI;MAC1BC,SAAS,EAAE;IACb,CAAC;EACH;;EAEA;AACF;AACA;EACEC,mBAAmBA,CAAA,EAAqB;IACtC;IACA;IACA,OAAO,IAAI,CAACC,sBAAsB,CAAC,CAAC;EACtC;;EAEA;AACF;AACA;EACEA,sBAAsBA,CAAA,EAAqB;IACzC,OAAO,IAAI,CAACC,yBAAyB,CAAC,CAAC;EACzC;;EAEA;AACF;AACA;AACA;EACEA,yBAAyBA,CAAA,EAAqB;IAC5C,OAAO,IAAI,CAAClI,QAAQ,CAACiI,sBAAsB,CAAC,CAAC;EAC/C;;EAEA;AACF;AACA;EACEE,sBAAsBA,CAAA,EAAqB;IACzC,OAAO,IAAI,CAACC,yBAAyB,CAAC,CAAC;EACzC;;EAEA;AACF;AACA;AACA;EACEA,yBAAyBA,CAAA,EAAqB;IAC5C,OAAO,IAAI,CAACpI,QAAQ,CAACmI,sBAAsB,CAAC,CAAC;EAC/C;EAEAE,YAAYA,CAAA,EAAG;IACb;IACA;IACA;IACA,OAAO,CAAE,GAAEC,gCAAsB,GAAE,CAAC;EACtC;;EAEA;AACF;AACA;EACEC,eAAeA,CAAA,EAAG;IAChB,OAAO;MACLC,YAAY,EAAE;QACZC,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE;MACb,CAAC;MACD;MACAC,eAAe,EAAE;QACfD,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,GAAG;QAChB,cAAc,EAAE,GAAG;QACnB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,SAAS;QACzB,kBAAkB,EAAE,SAAS;QAC7B,aAAa,EAAE,SAAS;QACxB;QACA,gBAAgB,EAAE,QAAQ;QAC1B,kCAAkC,EAAE;MACtC,CAAC;MACDE,gBAAgB,EAAE;QAChBF,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE;MACf;IACF,CAAC;EACH;;EAEA;AACF;AACA;EACEG,YAAYA,CAACC,SAAgC,GAAG,CAAC,CAAC,EAAe;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAC/D,MAAMxG,YAAwB,GAAG,CAAAsG,SAAS,aAATA,SAAS,gBAAAC,qBAAA,GAATD,SAAS,CAAEG,UAAU,cAAAF,qBAAA,uBAArBA,qBAAA,CAAuBvG,YAAY,KAAI,EAAE;IAC1E,OAAO,CAAC,IAAI,CAAC0G,qBAAqB,CAAC1G,YAAY,EAAE,CAAAsG,SAAS,aAATA,SAAS,gBAAAE,sBAAA,GAATF,SAAS,CAAEG,UAAU,cAAAD,sBAAA,uBAArBA,sBAAA,CAAuBG,MAAM,KAAIzG,qBAAE,CAAC,EAAE,IAAI,CAACpC,MAAM,CAAC8I,IAAI,CAAC;EAC1G;;EAEA;AACF;AACA;EACEC,2BAA2BA,CAAA,EAAgB;IACzC,OAAO,IAAI,CAACC,8BAA8B,CAAC,CAAC;EAC9C;;EAEA;AACF;AACA;AACA;AACA;EACEA,8BAA8BA,CAAA,EAAgB;IAC5C,MAAMC,mBAAmB,GAAG,IAAI,CAACV,YAAY,CAAC,CAAC,CAACW,MAAM,CAAEJ,IAAI,IAAKA,IAAI,CAACK,QAAQ,KAAK,IAAI,CAAC7I,gBAAgB,CAAC;IACzG,OAAO2I,mBAAmB;EAC5B;;EAEA;AACF;AACA;EACEG,kBAAkBA,CAAClH,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAC1E,OAAO,IAAI,CAACiH,qBAAqB,CAACnH,YAAY,EAAgBC,QAAQ,CAAC;EACzE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEkH,qBAAqBA,CAACnH,YAAwB,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAClE,MAAMkH,UAAU,GAAG,IAAI,CAAC7G,mBAAmB,CAAC,OAAO,EAAEP,YAAY,EAA2BC,QAAQ,CAAC;IACrG,OAAO,IAAI,CAACvC,QAAQ,CAAC2J,UAAU,CAAC,YAAY,EAAED,UAAU,CAAC;EAC3D;;EAEA;AACF;AACA;EACEE,kBAAkBA,CAACtH,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAC1E,OAAO,IAAI,CAACwG,qBAAqB,CAAC1G,YAAY,EAAgBC,QAAQ,CAAC;EACzE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEyG,qBAAqBA,CAAC1G,YAAwB,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAClE,MAAMkH,UAAU,GAAG,IAAI,CAACjH,mBAAmB,CAAC,OAAO,EAAEH,YAAY,EAA2BC,QAAQ,CAAC;IACrG,OAAO,IAAI,CAACvC,QAAQ,CAAC2J,UAAU,CAAC,YAAY,EAAED,UAAU,CAAC;EAC3D;EAEAG,eAAeA,CAAA,EAAwB;IACrC,OAAO,CACLC,qCAAsB,CAACC,MAAM,CAC3B;MACE/H,QAAQ,EAAEpF,OAAO,CAAC8E,OAAO,CAAC,gCAAgC;MAC1D;IACF,CAAC,EACD,IAAI,CAACjB,MACP,CAAC,EACDuJ,+BAAkB,CAACD,MAAM,CACvB;MACEE,UAAU,EAAErN,OAAO,CAAC8E,OAAO,CAAC,sBAAsB,CAAC;MACnDM,QAAQ,EAAEpF,OAAO,CAAC8E,OAAO,CAAC,gCAAgC;IAC5D,CAAC,EACD,IAAI,CAACjB,MACP,CAAC,EACDyJ,gCAAoB,CAACH,MAAM,CACzB;MACEE,UAAU,EAAErN,OAAO,CAAC8E,OAAO,CAAC,+BAA+B;IAC7D,CAAC,EACD,IAAI,CAACjB,MACP,CAAC,CACF;EACH;EAEA,MAAM0J,eAAeA,CAAA,EAAG;IACtB,OAAO;MACLC,IAAI,EAAE9K;IACR,CAAC;EACH;AACF;AAACC,OAAA,CAAAK,QAAA,GAAAA,QAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_os","_componentModules","_builder","_lodash","_preview","_defender","_defenderPrettier","_typescript2","_defender2","_utils","_path","_fsExtra","_react","_webpackConfig","_webpackConfigBase","_webpackConfigEnv","_webpackConfigEnv2","_webpackConfigComponent","_webpackConfigComponent2","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ReactEnvType","exports","defaultTsConfig","buildTsConfig","eslintConfig","prettierConfig","ReactEnv","constructor","jestAspect","tsAspect","compiler","webpack","workspace","pkg","tester","config","eslint","dependencyResolver","logger","compilerAspectId","getTsConfig","targetTsConfig","merge","getBuildTsConfig","getCjsJestTester","jestConfigPath","jestModulePath","createCjsJestTester","pathToSource","pathNormalizeToLinux","__dirname","replace","defaultConfig","join","createTester","resolve","getEsmJestTester","createEsmJestTester","getTester","createTsCompilerOptions","mode","tsconfig","cloneDeep","compileJs","compileJsx","types","getTsCjsCompiler","transformers","tsModule","ts","createTsCjsCompiler","tsCompileOptions","createCjsCompiler","getTsEsmCompiler","createTsEsmCompiler","createEsmCompiler","getCompiler","getLinter","context","tsConfig","defaultTransformer","configMutator","addExtensionTypes","setTsConfig","allTransformers","createLinter","pluginPath","getFormatter","PrettierConfigMutator","transformerContext","check","afterMutation","runTransformersWithContext","clone","PrettierFormatter","create","raw","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","tsserverPath","contextPath","createSchemaExtractor","getDevServer","webpackModulePath","webpackDevServerModulePath","baseConfig","basePreviewConfigFactory","envDevConfig","envPreviewDevConfigFactory","componentDevConfig","componentPreviewDevConfigFactory","merged","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","basePreviewProdConfigFactory","componentProdConfig","componentPreviewProdConfigFactory","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","templateConfig","templateWebpackConfigFactory","createBundler","undefined","getAdditionalHostDependencies","getDocsTemplate","getMounter","getPreviewConfig","strategyName","COMPONENT_PREVIEW_STRATEGY_NAME","splitComponentBundle","isScaling","getPackageJsonProps","getCjsPackageJsonProps","createCjsPackageJsonProps","getEsmPackageJsonProps","createEsmPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","getDependencies","dependencies","react","devDependencies","peerDependencies","getBuildPipe","modifiers","_modifiers$tsModifier","_modifiers$tsModifier2","tsModifier","createCjsCompilerTask","module","task","getBuildPipeWithoutCompiler","createBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","aspectId","getEsmCompilerTask","createEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","workspaceConfig","TypescriptConfigWriter","EslintConfigWriter","configPath","PrettierConfigWriter","__getDescriptor","type","Array","isArray","newConfig","acc","transformer"],"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 { COMPONENT_PREVIEW_STRATEGY_NAME, PreviewStrategyName } from '@teambit/preview';\nimport { PrettierConfigWriter, PrettierFormatter } from '@teambit/defender.prettier-formatter';\nimport {\n PrettierConfigMutator,\n PrettierConfigTransformContext,\n PrettierConfigTransformer,\n} from '@teambit/defender.prettier.config-mutator';\nimport { TypescriptConfigWriter } from '@teambit/typescript.typescript-compiler';\nimport { EslintConfigWriter } from '@teambit/defender.eslint-linter';\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 { 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';\nimport { ConfigWriterEntry } from '@teambit/workspace-config-files';\n\n// ensure reactEnv depends on compositions-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { CompositionsApp } from '@teambit/react.ui.compositions-app';\n// ensure reactEnv depends on docs-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport DocsApps from '@teambit/react.ui.docs-app';\nimport type { 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';\nimport { templateWebpackConfigFactory } from './webpack/webpack.config.env.template';\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');\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 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 * @deprecated use createCjsJestTester()\n */\n getCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\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 createCjsJestTester(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 * @deprecated use createEsmJestTester()\n */\n getEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createEsmJestTester(jestConfigPath, jestModulePath);\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 createEsmJestTester(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.createEsmJestTester(jestConfigPath, jestModulePath);\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n private createTsCompilerOptions(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 * @deprecated use createTsCjsCompiler()\n */\n getTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createTsCjsCompiler(mode, transformers, tsModule);\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 createTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createCjsCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n /**\n * @deprecated use createTsEsmCompiler()\n */\n getTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n this.createTsEsmCompiler(mode, 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 createTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(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.createTsCjsCompiler('dev', transformers, tsModule);\n }\n\n /**\n * returns and configures the component linter.\n */\n getLinter(context: LinterContext, transformers: EslintConfigTransformer[] = []): Linter {\n const tsConfig = this.createTsCompilerOptions('dev').tsconfig;\n\n const defaultTransformer: EslintConfigTransformer = (configMutator) => {\n configMutator.addExtensionTypes(['.md', '.mdx']);\n configMutator.setTsConfig(tsConfig);\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 const configMutator = new PrettierConfigMutator(prettierConfig);\n const transformerContext: PrettierConfigTransformContext = { check: !!context?.check };\n const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);\n return PrettierFormatter.create({ config: afterMutation.raw }, { logger: this.logger });\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, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig), tsserverPath, contextPath);\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(\n context: DevServerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string,\n webpackDevServerModulePath?: string\n ): 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(\n context,\n [defaultTransformer, ...transformers],\n webpackModulePath,\n webpackDevServerModulePath\n );\n }\n\n async getBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers, webpackModulePath);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\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, webpackModulePath);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const templateConfig = templateWebpackConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, templateConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers, undefined, webpackModulePath);\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react', 'react-dom'];\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 the path to the compositions template\n */\n getMounter() {\n return require.resolve('@teambit/react.ui.compositions-app');\n }\n\n getPreviewConfig() {\n return {\n strategyName: COMPONENT_PREVIEW_STRATEGY_NAME as PreviewStrategyName,\n splitComponentBundle: true,\n isScaling: 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 * @deprecated use createCjsPackageJsonProps()\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return this.createCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for a cjs component\n * @returns\n */\n createCjsPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createEsmPackageJsonProps()\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return this.createEsmPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for an esm component\n * @returns\n */\n createEsmPackageJsonProps(): 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.20.0',\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: Function[] = modifiers?.tsModifier?.transformers || [];\n return [this.createCjsCompilerTask(transformers, modifiers?.tsModifier?.module || ts), this.tester.task];\n }\n\n /**\n * @deprecated use createBuildPipeWithoutCompiler()\n */\n getBuildPipeWithoutCompiler(): BuildTask[] {\n return this.createBuildPipeWithoutCompiler();\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 createBuildPipeWithoutCompiler(): BuildTask[] {\n const pipeWithoutCompiler = this.getBuildPipe().filter((task) => task.aspectId !== this.compilerAspectId);\n return pipeWithoutCompiler;\n }\n\n /**\n * @deprecated use createEsmCompilerTask()\n */\n getEsmCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createEsmCompilerTask(transformers as Function[], tsModule);\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 createEsmCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsEsmCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n /**\n * @deprecated use createCjsCompilerTask()\n * */\n getCjsCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCjsCompilerTask(transformers as Function[], tsModule);\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 createCjsCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsCjsCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n workspaceConfig(): ConfigWriterEntry[] {\n return [\n TypescriptConfigWriter.create(\n {\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n // types: resolveTypes(__dirname, [\"./types\"]),\n },\n this.logger\n ),\n EslintConfigWriter.create(\n {\n configPath: require.resolve('./eslint/eslintrc.js'),\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n },\n this.logger\n ),\n PrettierConfigWriter.create(\n {\n configPath: require.resolve('./prettier/prettier.config.js'),\n },\n this.logger\n ),\n ];\n }\n\n async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n\nexport function runTransformersWithContext<P, T extends Function, C>(config: P, transformers: T[] = [], context: C): P {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n"],"mappings":"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"}
|
|
@@ -17,11 +17,11 @@ import { DependencyResolverMain, EnvPolicyConfigObject } from '@teambit/dependen
|
|
|
17
17
|
import { ApplicationMain } from '@teambit/application';
|
|
18
18
|
import { Logger, LoggerMain } from '@teambit/logger';
|
|
19
19
|
import { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';
|
|
20
|
-
import { PrettierMain, PrettierConfigTransformer } from '@teambit/prettier';
|
|
21
20
|
import { WorkerMain } from '@teambit/worker';
|
|
22
21
|
import { ReactEnv } from './react.env';
|
|
23
22
|
import { ReactAppType } from './apps/web';
|
|
24
23
|
import { ReactAppOptions } from './apps/web/react-app-options';
|
|
24
|
+
import { PrettierConfigTransformer } from '@teambit/defender.prettier.config-mutator';
|
|
25
25
|
type ReactDeps = [
|
|
26
26
|
EnvsMain,
|
|
27
27
|
JestMain,
|
|
@@ -33,7 +33,6 @@ type ReactDeps = [
|
|
|
33
33
|
PkgMain,
|
|
34
34
|
TesterMain,
|
|
35
35
|
ESLintMain,
|
|
36
|
-
PrettierMain,
|
|
37
36
|
ApplicationMain,
|
|
38
37
|
GeneratorMain,
|
|
39
38
|
DependencyResolverMain,
|
|
@@ -186,6 +185,6 @@ export declare class ReactMain {
|
|
|
186
185
|
} | null;
|
|
187
186
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
188
187
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
189
|
-
static provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint,
|
|
188
|
+
static provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, application, generator, dependencyResolver, loggerMain, schemaMain, workerMain,]: ReactDeps, config: ReactMainConfig, slots: any, harmony: Harmony): Promise<ReactMain>;
|
|
190
189
|
}
|
|
191
190
|
export {};
|
|
@@ -137,13 +137,6 @@ function _eslint() {
|
|
|
137
137
|
};
|
|
138
138
|
return data;
|
|
139
139
|
}
|
|
140
|
-
function _prettier() {
|
|
141
|
-
const data = require("@teambit/prettier");
|
|
142
|
-
_prettier = function () {
|
|
143
|
-
return data;
|
|
144
|
-
};
|
|
145
|
-
return data;
|
|
146
|
-
}
|
|
147
140
|
function _worker() {
|
|
148
141
|
const data = require("@teambit/worker");
|
|
149
142
|
_worker = function () {
|
|
@@ -480,9 +473,9 @@ class ReactMain {
|
|
|
480
473
|
properties: docs.properties
|
|
481
474
|
};
|
|
482
475
|
}
|
|
483
|
-
static async provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint,
|
|
476
|
+
static async provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, application, generator, dependencyResolver, loggerMain, schemaMain, workerMain], config, slots, harmony) {
|
|
484
477
|
const logger = loggerMain.createLogger(_react().ReactAspect.id);
|
|
485
|
-
const reactEnv = new (_react2().ReactEnv)(jestAspect, tsAspect, compiler, webpack, workspace, pkg, tester, config, eslint,
|
|
478
|
+
const reactEnv = new (_react2().ReactEnv)(jestAspect, tsAspect, compiler, webpack, workspace, pkg, tester, config, eslint, dependencyResolver, logger, _compiler().CompilerAspect.id);
|
|
486
479
|
const appType = new (_web().ReactAppType)('react-app', reactEnv, logger, dependencyResolver);
|
|
487
480
|
const react = new ReactMain(reactEnv, envs, application, appType, dependencyResolver, logger);
|
|
488
481
|
graphql.register((0, _react3().reactSchema)(react));
|
|
@@ -499,7 +492,7 @@ class ReactMain {
|
|
|
499
492
|
}
|
|
500
493
|
exports.ReactMain = ReactMain;
|
|
501
494
|
_defineProperty(ReactMain, "runtime", _cli().MainRuntime);
|
|
502
|
-
_defineProperty(ReactMain, "dependencies", [_envs().EnvsAspect, _jest().JestAspect, _typescript().TypescriptAspect, _compiler().CompilerAspect, _webpack().WebpackAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _pkg().PkgAspect, _tester().TesterAspect, _eslint().ESLintAspect,
|
|
495
|
+
_defineProperty(ReactMain, "dependencies", [_envs().EnvsAspect, _jest().JestAspect, _typescript().TypescriptAspect, _compiler().CompilerAspect, _webpack().WebpackAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _pkg().PkgAspect, _tester().TesterAspect, _eslint().ESLintAspect, _application().ApplicationAspect, _generator().GeneratorAspect, _dependencyResolver().DependencyResolverAspect, _logger().LoggerAspect, _schema().SchemaAspect, _worker().WorkerAspect]);
|
|
503
496
|
_react().ReactAspect.addRuntime(ReactMain);
|
|
504
497
|
|
|
505
498
|
//# sourceMappingURL=react.main.runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_cli","_compiler","_component","_envs","_graphql","_jest","_schema","_pkg","_tester","_typescript","_webpack","_generator","_workspace","_dependencyResolver","_typescript2","_interopRequireDefault","_application","_logger","_eslint","_prettier","_worker","_react","_react2","_web","_react3","_react4","_react5","_reactApi","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","ReactMain","constructor","reactEnv","envs","application","reactAppType","dependencyResolver","logger","getReactAppType","name","ReactAppType","registerApp","reactApp","createApp","useTypescript","modifiers","tsModule","ts","overrides","devTransformers","devConfig","getCompiler","buildTransformers","buildConfig","buildPipeModifiers","tsModifier","transformers","module","getBuildPipe","override","overrideTsConfig","tsconfig","compilerOptions","transformer","configMutator","mergeTsConfig","raw","compileJs","compileJsx","types","addTypes","genericCompilerOptions","omit","assign","overrideDocsTemplate","templatePath","getDevEnvId","context","envDefinition","id","getDocsTemplate","overrideBuildTsConfig","useWebpack","devServerTransformers","devServerConfig","webpackModulePath","webpackDevServerModulePath","getDevServer","previewTransformers","previewConfig","getBundler","useEslint","getLinter","usePrettier","getFormatter","overrideDevServerConfig","config","merge","overridePreviewConfig","overrideMounter","mounterPath","getMounter","compose","targetEnv","overrideJestConfig","jestConfigPath","jestModulePath","getTester","overrideBuildPipe","tasks","overrideCompilerTasks","pipeWithoutCompiler","getBuildPipeWithoutCompiler","overrideDependencies","dependencyPolicy","getDependencies","reactDeps","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","schemaMain","workerMain","slots","harmony","createLogger","ReactAspect","ReactEnv","CompilerAspect","appType","react","register","reactSchema","registerEnv","envContext","EnvContext","ComponentID","fromString","registerComponentTemplate","getTemplates","registerAppType","registerSchemaClass","ReactSchema","registerApiTransformer","ReactAPITransformer","exports","MainRuntime","EnvsAspect","JestAspect","TypescriptAspect","WebpackAspect","WorkspaceAspect","GraphqlAspect","PkgAspect","TesterAspect","ESLintAspect","PrettierAspect","ApplicationAspect","GeneratorAspect","DependencyResolverAspect","LoggerAspect","SchemaAspect","WorkerAspect","addRuntime"],"sources":["react.main.runtime.ts"],"sourcesContent":["import { Harmony } from '@teambit/harmony';\nimport { merge, 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, ComponentID } from '@teambit/component';\nimport { EnvsAspect, EnvsMain, EnvTransformer, Environment, EnvContext } 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 { SchemaMain, SchemaAspect } from '@teambit/schema';\nimport { PkgAspect } from '@teambit/pkg';\nimport type { TesterMain } from '@teambit/tester';\nimport { TesterAspect } from '@teambit/tester';\nimport type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransformer } from '@teambit/typescript';\nimport { TypescriptAspect } from '@teambit/typescript';\nimport type { WebpackMain, Configuration, WebpackConfigTransformer } from '@teambit/webpack';\nimport { WebpackAspect } from '@teambit/webpack';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { DevServerContext, BundlerContext } from '@teambit/bundler';\nimport { DependencyResolverAspect, DependencyResolverMain, EnvPolicyConfigObject } from '@teambit/dependency-resolver';\nimport ts from 'typescript';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { FormatterContext } from '@teambit/formatter';\nimport { LinterContext } from '@teambit/linter';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ESLintMain, ESLintAspect, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierMain, PrettierAspect, PrettierConfigTransformer } from '@teambit/prettier';\nimport { WorkerAspect, WorkerMain } from '@teambit/worker';\n\nimport { ReactAspect } from './react.aspect';\nimport { ReactEnv } from './react.env';\nimport { ReactAppType } from './apps/web';\nimport { reactSchema } from './react.graphql';\nimport { getTemplates } from './react.templates';\nimport { ReactAppOptions } from './apps/web/react-app-options';\nimport { ReactSchema } from './react.schema';\nimport { ReactAPITransformer } from './react.api.transformer';\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 SchemaMain,\n WorkerMain\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 webpackModulePath?: string;\n webpackDevServerModulePath?: string;\n};\n\nexport type UseTypescriptModifiers = {\n buildConfig?: TsConfigTransformer[];\n devConfig?: TsConfigTransformer[];\n};\n\nexport type UseEslintModifiers = {\n transformers: EslintConfigTransformer[];\n};\nexport type UsePrettierModifiers = {\n transformers: PrettierConfigTransformer[];\n};\n\nexport class ReactMain {\n constructor(\n /**\n * an instance of the React env.\n */\n readonly reactEnv: ReactEnv,\n\n private envs: EnvsMain,\n\n private application: ApplicationMain,\n\n private reactAppType: ReactAppType,\n\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger\n ) {}\n\n readonly env = this.reactEnv;\n\n getReactAppType(name: string) {\n return new ReactAppType(name, this.reactEnv, this.logger, this.dependencyResolver);\n }\n\n /**\n * use this to register apps programmatically.\n */\n async registerApp(reactApp: ReactAppOptions) {\n return this.application.registerApp(this.reactAppType.createApp(reactApp));\n }\n\n /**\n * override the env's typescript config for both dev and build time.\n * Replaces both overrideTsConfig (devConfig) and overrideBuildTsConfig (buildConfig)\n */\n useTypescript(modifiers?: UseTypescriptModifiers, tsModule: any = ts) {\n const overrides: any = {};\n const devTransformers = modifiers?.devConfig;\n if (devTransformers) {\n overrides.getCompiler = () => this.reactEnv.getCompiler(devTransformers, tsModule);\n }\n const buildTransformers = modifiers?.buildConfig;\n if (buildTransformers) {\n const buildPipeModifiers = {\n tsModifier: {\n transformers: buildTransformers,\n module: tsModule,\n },\n };\n overrides.getBuildPipe = () => this.reactEnv.getBuildPipe(buildPipeModifiers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * @deprecated use useTypescript()\n * override the TS config of the React environment.\n * @param tsModule typeof `ts` module instance.\n */\n overrideTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getCompiler: () => this.reactEnv.getCompiler([transformer], tsModule),\n // });\n return this.useTypescript({ devConfig: [transformer] }, tsModule);\n }\n\n /**\n * Override the Bit documentation link. See docs: https://bit.dev/refrence/docs/doc-templates\n */\n overrideDocsTemplate(templatePath: string) {\n return this.envs.override({\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n getDocsTemplate: () => templatePath,\n });\n }\n\n /**\n * @deprecated use useTypescript()\n * override the build tsconfig.\n */\n overrideBuildTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getBuildPipe: () => this.reactEnv.getBuildPipe([transformer], tsModule),\n // });\n return this.useTypescript({ buildConfig: [transformer] }, tsModule);\n }\n\n /**\n * override the env's dev server and preview webpack configurations.\n * Replaces both overrideDevServerConfig and overridePreviewConfig\n */\n useWebpack(modifiers?: UseWebpackModifiers): EnvTransformer {\n const overrides: any = {};\n const devServerTransformers = modifiers?.devServerConfig;\n if (devServerTransformers || modifiers?.webpackModulePath || modifiers?.webpackDevServerModulePath) {\n overrides.getDevServer = (context: DevServerContext) =>\n this.reactEnv.getDevServer(\n context,\n devServerTransformers,\n modifiers?.webpackModulePath,\n modifiers?.webpackDevServerModulePath\n );\n overrides.getDevEnvId = (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id);\n }\n const previewTransformers = modifiers?.previewConfig;\n if (previewTransformers || modifiers?.webpackModulePath) {\n overrides.getBundler = (context: BundlerContext) =>\n this.reactEnv.getBundler(context, previewTransformers, modifiers?.webpackModulePath);\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 merge(reactDeps, dependencyPolicy);\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 SchemaAspect,\n WorkerAspect,\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 schemaMain,\n workerMain,\n ]: ReactDeps,\n config: ReactMainConfig,\n slots,\n harmony: Harmony\n ) {\n const logger = loggerMain.createLogger(ReactAspect.id);\n const reactEnv = new ReactEnv(\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n pkg,\n tester,\n config,\n eslint,\n prettier,\n dependencyResolver,\n logger,\n CompilerAspect.id\n );\n const appType = new ReactAppType('react-app', reactEnv, logger, dependencyResolver);\n const react = new ReactMain(reactEnv, envs, application, appType, dependencyResolver, logger);\n graphql.register(reactSchema(react));\n envs.registerEnv(reactEnv);\n if (generator) {\n const envContext = new EnvContext(ComponentID.fromString(ReactAspect.id), loggerMain, workerMain, harmony);\n generator.registerComponentTemplate(getTemplates(envContext));\n }\n\n if (application) application.registerAppType(appType);\n if (schemaMain) schemaMain.registerSchemaClass(ReactSchema);\n if (tsAspect) tsAspect.registerApiTransformer([new ReactAPITransformer()]);\n\n return react;\n }\n}\n\nReactAspect.addRuntime(ReactMain);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","_cli","_compiler","_component","_envs","_graphql","_jest","_schema","_pkg","_tester","_typescript","_webpack","_generator","_workspace","_dependencyResolver","_typescript2","_interopRequireDefault","_application","_logger","_eslint","_worker","_react","_react2","_web","_react3","_react4","_react5","_reactApi","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","ReactMain","constructor","reactEnv","envs","application","reactAppType","dependencyResolver","logger","getReactAppType","name","ReactAppType","registerApp","reactApp","createApp","useTypescript","modifiers","tsModule","ts","overrides","devTransformers","devConfig","getCompiler","buildTransformers","buildConfig","buildPipeModifiers","tsModifier","transformers","module","getBuildPipe","override","overrideTsConfig","tsconfig","compilerOptions","transformer","configMutator","mergeTsConfig","raw","compileJs","compileJsx","types","addTypes","genericCompilerOptions","omit","assign","overrideDocsTemplate","templatePath","getDevEnvId","context","envDefinition","id","getDocsTemplate","overrideBuildTsConfig","useWebpack","devServerTransformers","devServerConfig","webpackModulePath","webpackDevServerModulePath","getDevServer","previewTransformers","previewConfig","getBundler","useEslint","getLinter","usePrettier","getFormatter","overrideDevServerConfig","config","merge","overridePreviewConfig","overrideMounter","mounterPath","getMounter","compose","targetEnv","overrideJestConfig","jestConfigPath","jestModulePath","getTester","overrideBuildPipe","tasks","overrideCompilerTasks","pipeWithoutCompiler","getBuildPipeWithoutCompiler","overrideDependencies","dependencyPolicy","getDependencies","reactDeps","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","generator","loggerMain","schemaMain","workerMain","slots","harmony","createLogger","ReactAspect","ReactEnv","CompilerAspect","appType","react","register","reactSchema","registerEnv","envContext","EnvContext","ComponentID","fromString","registerComponentTemplate","getTemplates","registerAppType","registerSchemaClass","ReactSchema","registerApiTransformer","ReactAPITransformer","exports","MainRuntime","EnvsAspect","JestAspect","TypescriptAspect","WebpackAspect","WorkspaceAspect","GraphqlAspect","PkgAspect","TesterAspect","ESLintAspect","ApplicationAspect","GeneratorAspect","DependencyResolverAspect","LoggerAspect","SchemaAspect","WorkerAspect","addRuntime"],"sources":["react.main.runtime.ts"],"sourcesContent":["import { Harmony } from '@teambit/harmony';\nimport { merge, 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, ComponentID } from '@teambit/component';\nimport { EnvsAspect, EnvsMain, EnvTransformer, Environment, EnvContext } 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 { SchemaMain, SchemaAspect } from '@teambit/schema';\nimport { PkgAspect } from '@teambit/pkg';\nimport type { TesterMain } from '@teambit/tester';\nimport { TesterAspect } from '@teambit/tester';\nimport type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransformer } from '@teambit/typescript';\nimport { TypescriptAspect } from '@teambit/typescript';\nimport type { WebpackMain, Configuration, WebpackConfigTransformer } from '@teambit/webpack';\nimport { WebpackAspect } from '@teambit/webpack';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { DevServerContext, BundlerContext } from '@teambit/bundler';\nimport { DependencyResolverAspect, DependencyResolverMain, EnvPolicyConfigObject } from '@teambit/dependency-resolver';\nimport ts from 'typescript';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { FormatterContext } from '@teambit/formatter';\nimport { LinterContext } from '@teambit/linter';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ESLintMain, ESLintAspect, EslintConfigTransformer } from '@teambit/eslint';\nimport { WorkerAspect, WorkerMain } from '@teambit/worker';\n\nimport { ReactAspect } from './react.aspect';\nimport { ReactEnv } from './react.env';\nimport { ReactAppType } from './apps/web';\nimport { reactSchema } from './react.graphql';\nimport { getTemplates } from './react.templates';\nimport { ReactAppOptions } from './apps/web/react-app-options';\nimport { ReactSchema } from './react.schema';\nimport { ReactAPITransformer } from './react.api.transformer';\nimport { PrettierConfigTransformer } from '@teambit/defender.prettier.config-mutator';\n\ntype ReactDeps = [\n EnvsMain,\n JestMain,\n TypescriptMain,\n CompilerMain,\n WebpackMain,\n Workspace,\n GraphqlMain,\n PkgMain,\n TesterMain,\n ESLintMain,\n ApplicationMain,\n GeneratorMain,\n DependencyResolverMain,\n LoggerMain,\n SchemaMain,\n WorkerMain\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 webpackModulePath?: string;\n webpackDevServerModulePath?: string;\n};\n\nexport type UseTypescriptModifiers = {\n buildConfig?: TsConfigTransformer[];\n devConfig?: TsConfigTransformer[];\n};\n\nexport type UseEslintModifiers = {\n transformers: EslintConfigTransformer[];\n};\nexport type UsePrettierModifiers = {\n transformers: PrettierConfigTransformer[];\n};\n\nexport class ReactMain {\n constructor(\n /**\n * an instance of the React env.\n */\n readonly reactEnv: ReactEnv,\n\n private envs: EnvsMain,\n\n private application: ApplicationMain,\n\n private reactAppType: ReactAppType,\n\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger\n ) {}\n\n readonly env = this.reactEnv;\n\n getReactAppType(name: string) {\n return new ReactAppType(name, this.reactEnv, this.logger, this.dependencyResolver);\n }\n\n /**\n * use this to register apps programmatically.\n */\n async registerApp(reactApp: ReactAppOptions) {\n return this.application.registerApp(this.reactAppType.createApp(reactApp));\n }\n\n /**\n * override the env's typescript config for both dev and build time.\n * Replaces both overrideTsConfig (devConfig) and overrideBuildTsConfig (buildConfig)\n */\n useTypescript(modifiers?: UseTypescriptModifiers, tsModule: any = ts) {\n const overrides: any = {};\n const devTransformers = modifiers?.devConfig;\n if (devTransformers) {\n overrides.getCompiler = () => this.reactEnv.getCompiler(devTransformers, tsModule);\n }\n const buildTransformers = modifiers?.buildConfig;\n if (buildTransformers) {\n const buildPipeModifiers = {\n tsModifier: {\n transformers: buildTransformers,\n module: tsModule,\n },\n };\n overrides.getBuildPipe = () => this.reactEnv.getBuildPipe(buildPipeModifiers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * @deprecated use useTypescript()\n * override the TS config of the React environment.\n * @param tsModule typeof `ts` module instance.\n */\n overrideTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getCompiler: () => this.reactEnv.getCompiler([transformer], tsModule),\n // });\n return this.useTypescript({ devConfig: [transformer] }, tsModule);\n }\n\n /**\n * Override the Bit documentation link. See docs: https://bit.dev/refrence/docs/doc-templates\n */\n overrideDocsTemplate(templatePath: string) {\n return this.envs.override({\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n getDocsTemplate: () => templatePath,\n });\n }\n\n /**\n * @deprecated use useTypescript()\n * override the build tsconfig.\n */\n overrideBuildTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getBuildPipe: () => this.reactEnv.getBuildPipe([transformer], tsModule),\n // });\n return this.useTypescript({ buildConfig: [transformer] }, tsModule);\n }\n\n /**\n * override the env's dev server and preview webpack configurations.\n * Replaces both overrideDevServerConfig and overridePreviewConfig\n */\n useWebpack(modifiers?: UseWebpackModifiers): EnvTransformer {\n const overrides: any = {};\n const devServerTransformers = modifiers?.devServerConfig;\n if (devServerTransformers || modifiers?.webpackModulePath || modifiers?.webpackDevServerModulePath) {\n overrides.getDevServer = (context: DevServerContext) =>\n this.reactEnv.getDevServer(\n context,\n devServerTransformers,\n modifiers?.webpackModulePath,\n modifiers?.webpackDevServerModulePath\n );\n overrides.getDevEnvId = (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id);\n }\n const previewTransformers = modifiers?.previewConfig;\n if (previewTransformers || modifiers?.webpackModulePath) {\n overrides.getBundler = (context: BundlerContext) =>\n this.reactEnv.getBundler(context, previewTransformers, modifiers?.webpackModulePath);\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 merge(reactDeps, dependencyPolicy);\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 ApplicationAspect,\n GeneratorAspect,\n DependencyResolverAspect,\n LoggerAspect,\n SchemaAspect,\n WorkerAspect,\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 application,\n generator,\n dependencyResolver,\n loggerMain,\n schemaMain,\n workerMain,\n ]: ReactDeps,\n config: ReactMainConfig,\n slots,\n harmony: Harmony\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 dependencyResolver,\n logger,\n CompilerAspect.id\n );\n const appType = new ReactAppType('react-app', reactEnv, logger, dependencyResolver);\n const react = new ReactMain(reactEnv, envs, application, appType, dependencyResolver, logger);\n graphql.register(reactSchema(react));\n envs.registerEnv(reactEnv);\n if (generator) {\n const envContext = new EnvContext(ComponentID.fromString(ReactAspect.id), loggerMain, workerMain, harmony);\n generator.registerComponentTemplate(getTemplates(envContext));\n }\n\n if (application) application.registerAppType(appType);\n if (schemaMain) schemaMain.registerSchemaClass(ReactSchema);\n if (tsAspect) tsAspect.registerApiTransformer([new ReactAPITransformer()]);\n\n return react;\n }\n}\n\nReactAspect.addRuntime(ReactMain);\n"],"mappings":"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"}
|