@teambit/react 1.0.337 → 1.0.338

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.
Files changed (60) hide show
  1. package/dist/jest/jest.cjs.config.d.ts +11 -12
  2. package/dist/jest/jest.cjs.config.js +12 -8
  3. package/dist/jest/jest.cjs.config.js.map +1 -1
  4. package/dist/jest/jest.esm.config.d.ts +12 -13
  5. package/dist/jest/jest.esm.config.js +12 -9
  6. package/dist/jest/jest.esm.config.js.map +1 -1
  7. package/dist/{preview-1721099996991.js → preview-1721186478884.js} +2 -2
  8. package/dist/react.env.d.ts +14 -10
  9. package/dist/react.env.js +48 -11
  10. package/dist/react.env.js.map +1 -1
  11. package/dist/react.main.runtime.d.ts +4 -4
  12. package/dist/react.main.runtime.js +18 -11
  13. package/dist/react.main.runtime.js.map +1 -1
  14. package/jest/jest.cjs.config.js +13 -7
  15. package/jest/jest.esm.config.js +13 -6
  16. package/package.json +41 -51
  17. package/react.env.ts +44 -10
  18. package/react.main.runtime.ts +11 -7
  19. package/dist/jest/jest.base.config.d.ts +0 -16
  20. package/dist/jest/jest.base.config.js +0 -35
  21. package/dist/jest/jest.base.config.js.map +0 -1
  22. package/dist/jest/jest.config.d.ts +0 -2
  23. package/dist/jest/jest.config.js +0 -10
  24. package/dist/jest/jest.config.js.map +0 -1
  25. package/dist/jest/setupTests.d.ts +0 -1
  26. package/dist/jest/setupTests.js +0 -11
  27. package/dist/jest/setupTests.js.map +0 -1
  28. package/dist/jest/transformers/base-transformer-plugins.d.ts +0 -1
  29. package/dist/jest/transformers/base-transformer-plugins.js +0 -14
  30. package/dist/jest/transformers/base-transformer-plugins.js.map +0 -1
  31. package/dist/jest/transformers/base-transformer-presets.d.ts +0 -1
  32. package/dist/jest/transformers/base-transformer-presets.js +0 -12
  33. package/dist/jest/transformers/base-transformer-presets.js.map +0 -1
  34. package/dist/jest/transformers/base-transformer-process.d.ts +0 -1
  35. package/dist/jest/transformers/base-transformer-process.js +0 -23
  36. package/dist/jest/transformers/base-transformer-process.js.map +0 -1
  37. package/dist/jest/transformers/cjs-transformer.d.ts +0 -1
  38. package/dist/jest/transformers/cjs-transformer.js +0 -26
  39. package/dist/jest/transformers/cjs-transformer.js.map +0 -1
  40. package/dist/jest/transformers/css-transform.d.ts +0 -2
  41. package/dist/jest/transformers/css-transform.js +0 -16
  42. package/dist/jest/transformers/css-transform.js.map +0 -1
  43. package/dist/jest/transformers/esm-transformer.d.ts +0 -1
  44. package/dist/jest/transformers/esm-transformer.js +0 -28
  45. package/dist/jest/transformers/esm-transformer.js.map +0 -1
  46. package/dist/jest/transformers/file-transform.d.ts +0 -1
  47. package/dist/jest/transformers/file-transform.js +0 -40
  48. package/dist/jest/transformers/file-transform.js.map +0 -1
  49. package/jest/jest.base.config.js +0 -31
  50. package/jest/jest.config.js +0 -7
  51. package/jest/setupTests.js +0 -7
  52. package/jest/transformers/base-transformer-plugins.js +0 -13
  53. package/jest/transformers/base-transformer-presets.js +0 -11
  54. package/jest/transformers/base-transformer-process.js +0 -20
  55. package/jest/transformers/cjs-transformer.js +0 -25
  56. package/jest/transformers/css-transform.js +0 -12
  57. package/jest/transformers/esm-transformer.js +0 -27
  58. package/jest/transformers/file-transform.js +0 -38
  59. /package/{compositions-1721099996991.js → compositions-1721186478884.js} +0 -0
  60. /package/{overview-1721099996991.js → overview-1721186478884.js} +0 -0
@@ -4,6 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ReactMain = void 0;
7
+ function _devFiles() {
8
+ const data = require("@teambit/dev-files");
9
+ _devFiles = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
7
14
  function _lodash() {
8
15
  const data = require("lodash");
9
16
  _lodash = function () {
@@ -46,13 +53,6 @@ function _graphql() {
46
53
  };
47
54
  return data;
48
55
  }
49
- function _jest() {
50
- const data = require("@teambit/jest");
51
- _jest = function () {
52
- return data;
53
- };
54
- return data;
55
- }
56
56
  function _schema() {
57
57
  const data = require("@teambit/schema");
58
58
  _schema = function () {
@@ -388,8 +388,15 @@ class ReactMain {
388
388
  * @param jestModulePath absolute path to jest
389
389
  */
390
390
  overrideJestConfig(jestConfigPath, jestModulePath) {
391
+ const buildTransformers = [() => jestConfigPath];
391
392
  return this.envs.override({
392
- getTester: () => this.reactEnv.getTester(jestConfigPath, jestModulePath)
393
+ getTester: () => this.reactEnv.getTester(jestConfigPath, jestModulePath),
394
+ getBuildPipe: () => this.reactEnv.getBuildPipe({
395
+ jestModifier: {
396
+ transformers: buildTransformers,
397
+ module: jestModulePath
398
+ }
399
+ })
393
400
  });
394
401
  }
395
402
 
@@ -466,9 +473,9 @@ class ReactMain {
466
473
  properties: docs.properties
467
474
  };
468
475
  }
469
- static async provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, application, generator, dependencyResolver, loggerMain, schemaMain, workerMain], config, slots, harmony) {
476
+ static async provider([envs, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, application, generator, dependencyResolver, loggerMain, schemaMain, workerMain, devFilesMain], config, slots, harmony) {
470
477
  const logger = loggerMain.createLogger(_react().ReactAspect.id);
471
- const reactEnv = new (_react2().ReactEnv)(jestAspect, tsAspect, compiler, webpack, workspace, pkg, tester, config, dependencyResolver, logger, _compiler().CompilerAspect.id);
478
+ const reactEnv = new (_react2().ReactEnv)(tsAspect, compiler, webpack, workspace, workerMain, pkg, tester, config, dependencyResolver, devFilesMain, logger, _compiler().CompilerAspect.id);
472
479
  const appType = new (_web().ReactAppType)('react-app', reactEnv, logger, dependencyResolver);
473
480
  const react = new ReactMain(reactEnv, envs, application, appType, dependencyResolver, logger);
474
481
  graphql.register((0, _react3().reactSchema)(react));
@@ -485,7 +492,7 @@ class ReactMain {
485
492
  }
486
493
  exports.ReactMain = ReactMain;
487
494
  _defineProperty(ReactMain, "runtime", _cli().MainRuntime);
488
- _defineProperty(ReactMain, "dependencies", [_envs().EnvsAspect, _jest().JestAspect, _typescript().TypescriptAspect, _compiler().CompilerAspect, _webpack().WebpackAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _pkg().PkgAspect, _tester().TesterAspect, _application().ApplicationAspect, _generator().GeneratorAspect, _dependencyResolver().DependencyResolverAspect, _logger().LoggerAspect, _schema().SchemaAspect, _worker().WorkerAspect]);
495
+ _defineProperty(ReactMain, "dependencies", [_envs().EnvsAspect, _typescript().TypescriptAspect, _compiler().CompilerAspect, _webpack().WebpackAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _pkg().PkgAspect, _tester().TesterAspect, _application().ApplicationAspect, _generator().GeneratorAspect, _dependencyResolver().DependencyResolverAspect, _logger().LoggerAspect, _schema().SchemaAspect, _worker().WorkerAspect, _devFiles().DevFilesAspect]);
489
496
  _react().ReactAspect.addRuntime(ReactMain);
490
497
 
491
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","_worker","_react","_react2","_web","_react3","_react4","_react5","_reactApi","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","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","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 { EslintConfigTransformer } from '@teambit/defender.eslint.config-mutator';\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 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 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 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 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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","ignoreList":[]}
1
+ {"version":3,"names":["_devFiles","data","require","_lodash","_cli","_compiler","_component","_envs","_graphql","_schema","_pkg","_tester","_typescript","_webpack","_generator","_workspace","_dependencyResolver","_typescript2","_interopRequireDefault","_application","_logger","_worker","_react","_react2","_web","_react3","_react4","_react5","_reactApi","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","jestModifier","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","tsAspect","webpack","workspace","graphql","pkg","tester","generator","loggerMain","schemaMain","workerMain","devFilesMain","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","TypescriptAspect","WebpackAspect","WorkspaceAspect","GraphqlAspect","PkgAspect","TesterAspect","ApplicationAspect","GeneratorAspect","DependencyResolverAspect","LoggerAspect","SchemaAspect","WorkerAspect","DevFilesAspect","addRuntime"],"sources":["react.main.runtime.ts"],"sourcesContent":["import type { DevFilesMain } from '@teambit/dev-files';\nimport { DevFilesAspect } from '@teambit/dev-files';\nimport { 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 { 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 { EslintConfigTransformer } from '@teambit/defender.eslint.config-mutator';\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 TypescriptMain,\n CompilerMain,\n WebpackMain,\n Workspace,\n GraphqlMain,\n PkgMain,\n TesterMain,\n ApplicationMain,\n GeneratorMain,\n DependencyResolverMain,\n LoggerMain,\n SchemaMain,\n WorkerMain,\n DevFilesMain\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 const buildTransformers = [() => jestConfigPath];\n return this.envs.override({\n getTester: () => this.reactEnv.getTester(jestConfigPath, jestModulePath),\n getBuildPipe: () =>\n this.reactEnv.getBuildPipe({ jestModifier: { transformers: buildTransformers, module: 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 TypescriptAspect,\n CompilerAspect,\n WebpackAspect,\n WorkspaceAspect,\n GraphqlAspect,\n PkgAspect,\n TesterAspect,\n ApplicationAspect,\n GeneratorAspect,\n DependencyResolverAspect,\n LoggerAspect,\n SchemaAspect,\n WorkerAspect,\n DevFilesAspect,\n ];\n\n static async provider(\n [\n envs,\n tsAspect,\n compiler,\n webpack,\n workspace,\n graphql,\n pkg,\n tester,\n application,\n generator,\n dependencyResolver,\n loggerMain,\n schemaMain,\n workerMain,\n devFilesMain,\n ]: ReactDeps,\n config: ReactMainConfig,\n slots,\n harmony: Harmony\n ) {\n const logger = loggerMain.createLogger(ReactAspect.id);\n const reactEnv = new ReactEnv(\n tsAspect,\n compiler,\n webpack,\n workspace,\n workerMain,\n pkg,\n tester,\n config,\n dependencyResolver,\n devFilesMain,\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":";;;;;;AACA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,KAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,IAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,UAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,SAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,MAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,KAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAQ,QAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,OAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,KAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,IAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAU,QAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,OAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAW,YAAA;EAAA,MAAAX,IAAA,GAAAC,OAAA;EAAAU,WAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAY,SAAA;EAAA,MAAAZ,IAAA,GAAAC,OAAA;EAAAW,QAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,WAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,UAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,WAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,UAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAe,oBAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,mBAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,aAAA;EAAA,MAAAhB,IAAA,GAAAiB,sBAAA,CAAAhB,OAAA;EAAAe,YAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,aAAA;EAAA,MAAAlB,IAAA,GAAAC,OAAA;EAAAiB,YAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAmB,QAAA;EAAA,MAAAnB,IAAA,GAAAC,OAAA;EAAAkB,OAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAoB,QAAA;EAAA,MAAApB,IAAA,GAAAC,OAAA;EAAAmB,OAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAqB,OAAA;EAAA,MAAArB,IAAA,GAAAC,OAAA;EAAAoB,MAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsB,QAAA;EAAA,MAAAtB,IAAA,GAAAC,OAAA;EAAAqB,OAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,KAAA;EAAA,MAAAvB,IAAA,GAAAC,OAAA;EAAAsB,IAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwB,QAAA;EAAA,MAAAxB,IAAA,GAAAC,OAAA;EAAAuB,OAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,QAAA;EAAA,MAAAzB,IAAA,GAAAC,OAAA;EAAAwB,OAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAA0B,QAAA;EAAA,MAAA1B,IAAA,GAAAC,OAAA;EAAAyB,OAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2B,UAAA;EAAA,MAAA3B,IAAA,GAAAC,OAAA;EAAA0B,SAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8D,SAAAiB,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,QAAAH,CAAA,EAAAI,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAP,CAAA,OAAAM,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAR,CAAA,GAAAI,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAX,CAAA,EAAAI,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAf,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAG,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAArB,CAAA,EAAAM,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAJ,CAAA;AAAA,SAAAmB,gBAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAJ,CAAA,GAAAM,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAA1B,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAuB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA9B,CAAA,QAAA2B,CAAA,GAAA3B,CAAA,CAAA+B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AA2DvD,MAAM8B,SAAS,CAAC;EACrBC,WAAWA;EACT;AACJ;AACA;EACaC,QAAkB,EAEnBC,IAAc,EAEdC,WAA4B,EAE5BC,YAA0B,EAE1BC,kBAA0C,EAE1CC,MAAc,EACtB;IAAA,KAXSL,QAAkB,GAAlBA,QAAkB;IAAA,KAEnBC,IAAc,GAAdA,IAAc;IAAA,KAEdC,WAA4B,GAA5BA,WAA4B;IAAA,KAE5BC,YAA0B,GAA1BA,YAA0B;IAAA,KAE1BC,kBAA0C,GAA1CA,kBAA0C;IAAA,KAE1CC,MAAc,GAAdA,MAAc;IAAAvB,eAAA,cAGT,IAAI,CAACkB,QAAQ;EAFzB;EAIHM,eAAeA,CAACC,IAAY,EAAE;IAC5B,OAAO,KAAIC,mBAAY,EAACD,IAAI,EAAE,IAAI,CAACP,QAAQ,EAAE,IAAI,CAACK,MAAM,EAAE,IAAI,CAACD,kBAAkB,CAAC;EACpF;;EAEA;AACF;AACA;EACE,MAAMK,WAAWA,CAACC,QAAyB,EAAE;IAC3C,OAAO,IAAI,CAACR,WAAW,CAACO,WAAW,CAAC,IAAI,CAACN,YAAY,CAACQ,SAAS,CAACD,QAAQ,CAAC,CAAC;EAC5E;;EAEA;AACF;AACA;AACA;EACEE,aAAaA,CAACC,SAAkC,EAAEC,QAAa,GAAGC,sBAAE,EAAE;IACpE,MAAMC,SAAc,GAAG,CAAC,CAAC;IACzB,MAAMC,eAAe,GAAGJ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEK,SAAS;IAC5C,IAAID,eAAe,EAAE;MACnBD,SAAS,CAACG,WAAW,GAAG,MAAM,IAAI,CAACnB,QAAQ,CAACmB,WAAW,CAACF,eAAe,EAAEH,QAAQ,CAAC;IACpF;IACA,MAAMM,iBAAiB,GAAGP,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEQ,WAAW;IAChD,IAAID,iBAAiB,EAAE;MACrB,MAAME,kBAAkB,GAAG;QACzBC,UAAU,EAAE;UACVC,YAAY,EAAEJ,iBAAiB;UAC/BK,MAAM,EAAEX;QACV;MACF,CAAC;MACDE,SAAS,CAACU,YAAY,GAAG,MAAM,IAAI,CAAC1B,QAAQ,CAAC0B,YAAY,CAACJ,kBAAkB,CAAC;IAC/E;IACA,OAAO,IAAI,CAACrB,IAAI,CAAC0B,QAAQ,CAACX,SAAS,CAAC;EACtC;;EAEA;AACF;AACA;AACA;AACA;EACEY,gBAAgBA,CACdC,QAA6B,GAAG,CAAC,CAAC,EAClCC,eAA0D,GAAG,CAAC,CAAC,EAC/DhB,QAAa,GAAGC,sBAAE,EAClB;IACA,MAAMgB,WAAgC,GAAIC,aAAa,IAAK;MAC1DA,aAAa,CAACC,aAAa,CAACJ,QAAQ,CAAC;MACrCG,aAAa,CAACE,GAAG,CAACC,SAAS,GAAGL,eAAe,CAACK,SAAS,IAAIH,aAAa,CAACE,GAAG,CAACC,SAAS;MACtFH,aAAa,CAACE,GAAG,CAACE,UAAU,GAAGN,eAAe,CAACM,UAAU,IAAIJ,aAAa,CAACE,GAAG,CAACE,UAAU;MACzF,IAAIN,eAAe,CAACO,KAAK,EAAE;QACzBL,aAAa,CAACM,QAAQ,CAACR,eAAe,CAACO,KAAK,CAAC;MAC/C;MACA,MAAME,sBAAsB,GAAG,IAAAC,cAAI,EAACV,eAAe,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;MAC1FE,aAAa,CAACE,GAAG,GAAGjE,MAAM,CAACwE,MAAM,CAACT,aAAa,CAACE,GAAG,EAAEK,sBAAsB,CAAC;MAC5E,OAAOP,aAAa;IACtB,CAAC;IACD;IACA;IACA;IACA,OAAO,IAAI,CAACpB,aAAa,CAAC;MAAEM,SAAS,EAAE,CAACa,WAAW;IAAE,CAAC,EAAEjB,QAAQ,CAAC;EACnE;;EAEA;AACF;AACA;EACE4B,oBAAoBA,CAACC,YAAoB,EAAE;IACzC,OAAO,IAAI,CAAC1C,IAAI,CAAC0B,QAAQ,CAAC;MACxBiB,WAAW,EAAGC,OAAyB,IAAK,IAAI,CAAC7C,QAAQ,CAAC4C,WAAW,CAACC,OAAO,CAACC,aAAa,CAACC,EAAE,CAAC;MAC/FC,eAAe,EAAEA,CAAA,KAAML;IACzB,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;EACEM,qBAAqBA,CACnBpB,QAA6B,GAAG,CAAC,CAAC,EAClCC,eAA0D,GAAG,CAAC,CAAC,EAC/DhB,QAAa,GAAGC,sBAAE,EAClB;IACA,MAAMgB,WAAgC,GAAIC,aAAa,IAAK;MAC1DA,aAAa,CAACC,aAAa,CAACJ,QAAQ,CAAC;MACrCG,aAAa,CAACE,GAAG,CAACC,SAAS,GAAGL,eAAe,CAACK,SAAS,IAAIH,aAAa,CAACE,GAAG,CAACC,SAAS;MACtFH,aAAa,CAACE,GAAG,CAACE,UAAU,GAAGN,eAAe,CAACM,UAAU,IAAIJ,aAAa,CAACE,GAAG,CAACE,UAAU;MACzF,IAAIN,eAAe,CAACO,KAAK,EAAE;QACzBL,aAAa,CAACM,QAAQ,CAACR,eAAe,CAACO,KAAK,CAAC;MAC/C;MACA,MAAME,sBAAsB,GAAG,IAAAC,cAAI,EAACV,eAAe,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;MAC1FE,aAAa,CAACE,GAAG,GAAGjE,MAAM,CAACwE,MAAM,CAACT,aAAa,CAACE,GAAG,EAAEK,sBAAsB,CAAC;MAC5E,OAAOP,aAAa;IACtB,CAAC;IACD;IACA;IACA;IACA,OAAO,IAAI,CAACpB,aAAa,CAAC;MAAES,WAAW,EAAE,CAACU,WAAW;IAAE,CAAC,EAAEjB,QAAQ,CAAC;EACrE;;EAEA;AACF;AACA;AACA;EACEoC,UAAUA,CAACrC,SAA+B,EAAkB;IAC1D,MAAMG,SAAc,GAAG,CAAC,CAAC;IACzB,MAAMmC,qBAAqB,GAAGtC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuC,eAAe;IACxD,IAAID,qBAAqB,IAAItC,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEwC,iBAAiB,IAAIxC,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEyC,0BAA0B,EAAE;MAClGtC,SAAS,CAACuC,YAAY,GAAIV,OAAyB,IACjD,IAAI,CAAC7C,QAAQ,CAACuD,YAAY,CACxBV,OAAO,EACPM,qBAAqB,EACrBtC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEwC,iBAAiB,EAC5BxC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEyC,0BACb,CAAC;MACHtC,SAAS,CAAC4B,WAAW,GAAIC,OAAyB,IAAK,IAAI,CAAC7C,QAAQ,CAAC4C,WAAW,CAACC,OAAO,CAACC,aAAa,CAACC,EAAE,CAAC;IAC5G;IACA,MAAMS,mBAAmB,GAAG3C,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE4C,aAAa;IACpD,IAAID,mBAAmB,IAAI3C,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEwC,iBAAiB,EAAE;MACvDrC,SAAS,CAAC0C,UAAU,GAAIb,OAAuB,IAC7C,IAAI,CAAC7C,QAAQ,CAAC0D,UAAU,CAACb,OAAO,EAAEW,mBAAmB,EAAE3C,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEwC,iBAAiB,CAAC;IACxF;IACA,OAAO,IAAI,CAACpD,IAAI,CAAC0B,QAAQ,CAACX,SAAS,CAAC;EACtC;;EAEA;AACF;AACA;AACA;AACA;EACE2C,SAASA,CAAC9C,SAA8B,EAAkB;IACxD,MAAMW,YAAY,GAAG,CAAAX,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEW,YAAY,KAAI,EAAE;IAClD,OAAO,IAAI,CAACvB,IAAI,CAAC0B,QAAQ,CAAC;MACxBiC,SAAS,EAAGf,OAAsB,IAAK,IAAI,CAAC7C,QAAQ,CAAC4D,SAAS,CAACf,OAAO,EAAErB,YAAY;IACtF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;EACEqC,WAAWA,CAAChD,SAAgC,EAAkB;IAC5D,MAAMW,YAAY,GAAG,CAAAX,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEW,YAAY,KAAI,EAAE;IAClD,OAAO,IAAI,CAACvB,IAAI,CAAC0B,QAAQ,CAAC;MACxBmC,YAAY,EAAGjB,OAAyB,IAAK,IAAI,CAAC7C,QAAQ,CAAC8D,YAAY,CAACjB,OAAO,EAAErB,YAAY;IAC/F,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;EACEuC,uBAAuBA,CAACC,MAAqB,EAAE;IAC7C,MAAMjC,WAAqC,GAAIC,aAAa,IAAK;MAC/D,OAAOA,aAAa,CAACiC,KAAK,CAAC,CAACD,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC/D,IAAI,CAAC0B,QAAQ,CAAC;MACxB4B,YAAY,EAAGV,OAAyB,IAAK,IAAI,CAAC7C,QAAQ,CAACuD,YAAY,CAACV,OAAO,EAAE,CAACd,WAAW,CAAC,CAAC;MAC/Fa,WAAW,EAAGC,OAAyB,IAAK,IAAI,CAAC7C,QAAQ,CAAC4C,WAAW,CAACC,OAAO,CAACC,aAAa,CAACC,EAAE;IAChG,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;EACEmB,qBAAqBA,CAACF,MAAqB,EAAE;IAC3C,MAAMjC,WAAqC,GAAIC,aAAa,IAAK;MAC/D,OAAOA,aAAa,CAACiC,KAAK,CAAC,CAACD,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC/D,IAAI,CAAC0B,QAAQ,CAAC;MACxB+B,UAAU,EAAGb,OAAuB,IAAK,IAAI,CAAC7C,QAAQ,CAAC0D,UAAU,CAACb,OAAO,EAAE,CAACd,WAAW,CAAC;IAC1F,CAAC,CAAC;EACJ;EAEAoC,eAAeA,CAACC,WAAmB,EAAE;IACnC,OAAO,IAAI,CAACnE,IAAI,CAAC0B,QAAQ,CAAC;MACxB0C,UAAU,EAAEA,CAAA,KAAM;QAChB,OAAOD,WAAW;MACpB;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEE,OAAOA,CAAC9C,YAA8B,EAAE+C,SAAsB,GAAG,CAAC,CAAC,EAAE;IACnE,OAAO,IAAI,CAACtE,IAAI,CAACqE,OAAO,CAAC,IAAI,CAACrE,IAAI,CAACgE,KAAK,CAACM,SAAS,EAAE,IAAI,CAACvE,QAAQ,CAAC,EAAEwB,YAAY,CAAC;EACnF;;EAEA;AACF;AACA;AACA;AACA;EACEgD,kBAAkBA,CAACC,cAAsB,EAAEC,cAAuB,EAAE;IAClE,MAAMtD,iBAAiB,GAAG,CAAC,MAAMqD,cAAc,CAAC;IAChD,OAAO,IAAI,CAACxE,IAAI,CAAC0B,QAAQ,CAAC;MACxBgD,SAAS,EAAEA,CAAA,KAAM,IAAI,CAAC3E,QAAQ,CAAC2E,SAAS,CAACF,cAAc,EAAEC,cAAc,CAAC;MACxEhD,YAAY,EAAEA,CAAA,KACZ,IAAI,CAAC1B,QAAQ,CAAC0B,YAAY,CAAC;QAAEkD,YAAY,EAAE;UAAEpD,YAAY,EAAEJ,iBAAiB;UAAEK,MAAM,EAAEiD;QAAe;MAAE,CAAC;IAC5G,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEG,iBAAiBA,CAACC,KAAkB,EAAE;IACpC,OAAO,IAAI,CAAC7E,IAAI,CAAC0B,QAAQ,CAAC;MACxBD,YAAY,EAAEA,CAAA,KAAMoD;IACtB,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEC,qBAAqBA,CAACD,KAAkB,EAAE;IACxC,MAAME,mBAAmB,GAAG,IAAI,CAAChF,QAAQ,CAACiF,2BAA2B,CAAC,CAAC;IAEvE,OAAO,IAAI,CAAChF,IAAI,CAAC0B,QAAQ,CAAC;MACxBD,YAAY,EAAEA,CAAA,KAAM,CAAC,GAAGoD,KAAK,EAAE,GAAGE,mBAAmB;IACvD,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEE,oBAAoBA,CAACC,gBAAuC,EAAE;IAC5D,OAAO,IAAI,CAAClF,IAAI,CAAC0B,QAAQ,CAAC;MACxByD,eAAe,EAAE,MAAAA,CAAA,KAAY;QAC3B,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACrF,QAAQ,CAACoF,eAAe,CAAC,CAAC;QACvD,OAAO,IAAAnB,eAAK,EAACoB,SAAS,EAAEF,gBAAgB,CAAC;MAC3C;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEG,gBAAgBA,CAACC,QAAkB,EAAE;IACnC,OAAO,IAAI,CAACtF,IAAI,CAAC0B,QAAQ,CAAC;MACxBR,WAAW,EAAEA,CAAA,KAAM;QACjB,OAAOoE,QAAQ;MACjB;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEC,oBAAoBA,CAAA,EAAG,CAAC;;EAExB;AACF;AACA;EACEC,wBAAwBA,CAACC,KAAuB,EAAE;IAChD,OAAO,IAAI,CAACzF,IAAI,CAAC0B,QAAQ,CAAC;MACxBgE,mBAAmB,EAAEA,CAAA,KAAM;QACzB,OAAAjH,aAAA,CAAAA,aAAA,KACK,IAAI,CAACsB,QAAQ,CAAC2F,mBAAmB,CAAC,CAAC,GACnCD,KAAK;MAEZ;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEE,OAAOA,CAACC,SAAoB,EAAE;IAC5B,MAAMC,SAAS,GAAGD,SAAS,CAACE,KAAK,CAACC,SAAS,CAACC,IAAI;IAChD,IAAI,CAACH,SAAS,IAAI,CAACA,SAAS,CAAC,CAAC,CAAC,EAAE;MAC/B,OAAO,IAAI;IACb;IAEA,MAAMG,IAAI,GAAGH,SAAS,CAAC,CAAC,CAAC;IAEzB,OAAO;MACLI,QAAQ,EAAED,IAAI,CAACE,WAAW;MAC1BC,QAAQ,EAAEH,IAAI,CAACG,QAAQ;MACvBC,UAAU,EAAEJ,IAAI,CAACI;IACnB,CAAC;EACH;EAqBA,aAAaC,QAAQA,CACnB,CACErG,IAAI,EACJsG,QAAQ,EACRhB,QAAQ,EACRiB,OAAO,EACPC,SAAS,EACTC,OAAO,EACPC,GAAG,EACHC,MAAM,EACN1G,WAAW,EACX2G,SAAS,EACTzG,kBAAkB,EAClB0G,UAAU,EACVC,UAAU,EACVC,UAAU,EACVC,YAAY,CACF,EACZjD,MAAuB,EACvBkD,KAAK,EACLC,OAAgB,EAChB;IACA,MAAM9G,MAAM,GAAGyG,UAAU,CAACM,YAAY,CAACC,oBAAW,CAACtE,EAAE,CAAC;IACtD,MAAM/C,QAAQ,GAAG,KAAIsH,kBAAQ,EAC3Bf,QAAQ,EACRhB,QAAQ,EACRiB,OAAO,EACPC,SAAS,EACTO,UAAU,EACVL,GAAG,EACHC,MAAM,EACN5C,MAAM,EACN5D,kBAAkB,EAClB6G,YAAY,EACZ5G,MAAM,EACNkH,0BAAc,CAACxE,EACjB,CAAC;IACD,MAAMyE,OAAO,GAAG,KAAIhH,mBAAY,EAAC,WAAW,EAAER,QAAQ,EAAEK,MAAM,EAAED,kBAAkB,CAAC;IACnF,MAAMqH,KAAK,GAAG,IAAI3H,SAAS,CAACE,QAAQ,EAAEC,IAAI,EAAEC,WAAW,EAAEsH,OAAO,EAAEpH,kBAAkB,EAAEC,MAAM,CAAC;IAC7FqG,OAAO,CAACgB,QAAQ,CAAC,IAAAC,qBAAW,EAACF,KAAK,CAAC,CAAC;IACpCxH,IAAI,CAAC2H,WAAW,CAAC5H,QAAQ,CAAC;IAC1B,IAAI6G,SAAS,EAAE;MACb,MAAMgB,UAAU,GAAG,KAAIC,kBAAU,EAACC,wBAAW,CAACC,UAAU,CAACX,oBAAW,CAACtE,EAAE,CAAC,EAAE+D,UAAU,EAAEE,UAAU,EAAEG,OAAO,CAAC;MAC1GN,SAAS,CAACoB,yBAAyB,CAAC,IAAAC,sBAAY,EAACL,UAAU,CAAC,CAAC;IAC/D;IAEA,IAAI3H,WAAW,EAAEA,WAAW,CAACiI,eAAe,CAACX,OAAO,CAAC;IACrD,IAAIT,UAAU,EAAEA,UAAU,CAACqB,mBAAmB,CAACC,qBAAW,CAAC;IAC3D,IAAI9B,QAAQ,EAAEA,QAAQ,CAAC+B,sBAAsB,CAAC,CAAC,KAAIC,+BAAmB,EAAC,CAAC,CAAC,CAAC;IAE1E,OAAOd,KAAK;EACd;AACF;AAACe,OAAA,CAAA1I,SAAA,GAAAA,SAAA;AAAAhB,eAAA,CAtXYgB,SAAS,aA+SH2I,kBAAW;AAAA3J,eAAA,CA/SjBgB,SAAS,kBAgTE,CACpB4I,kBAAU,EACVC,8BAAgB,EAChBpB,0BAAc,EACdqB,wBAAa,EACbC,4BAAe,EACfC,wBAAa,EACbC,gBAAS,EACTC,sBAAY,EACZC,gCAAiB,EACjBC,4BAAe,EACfC,8CAAwB,EACxBC,sBAAY,EACZC,sBAAY,EACZC,sBAAY,EACZC,0BAAc,CACf;AAwDHlC,oBAAW,CAACmC,UAAU,CAAC1J,SAAS,CAAC","ignoreList":[]}
@@ -1,8 +1,14 @@
1
- const baseConfig = require('./jest.base.config');
1
+ const { cjsConfig } = require('@teambit/react.jest.react-jest');
2
+ const { generateNodeModulesPattern } = require('@teambit/dependencies.modules.packages-excluder');
3
+ const packagesToExclude = ['@teambit'];
2
4
 
3
- const cjsTransformer = require.resolve('./transformers/cjs-transformer.js');
4
-
5
- const cjsTransform = { ...baseConfig.transform, '^.+\\.(js|jsx|ts|tsx|cjs)$': cjsTransformer };
6
- const cjsConfig = { ...baseConfig, transform: cjsTransform };
7
-
8
- module.exports = cjsConfig;
5
+ module.exports = {
6
+ ...cjsConfig,
7
+ transformIgnorePatterns: [
8
+ '^.+.module.(css|sass|scss)$',
9
+ generateNodeModulesPattern({
10
+ packages: packagesToExclude,
11
+ excludeComponents: true,
12
+ }),
13
+ ],
14
+ };
@@ -1,7 +1,14 @@
1
- const baseConfig = require('./jest.base.config');
1
+ const { esmConfig } = require('@teambit/react.jest.react-jest');
2
+ const { generateNodeModulesPattern } = require('@teambit/dependencies.modules.packages-excluder');
3
+ const packagesToExclude = ['@teambit'];
2
4
 
3
- const esmTransformer = require.resolve('./transformers/esm-transformer.js');
4
- const esmTransform = { ...baseConfig.transform, '^.+\\.(js|jsx|ts|tsx)$': esmTransformer };
5
- const esmConfig = { ...baseConfig, extensionsToTreatAsEsm: ['.ts', '.tsx', '.jsx'], transform: esmTransform };
6
-
7
- module.exports = esmConfig;
5
+ module.exports = {
6
+ ...esmConfig,
7
+ transformIgnorePatterns: [
8
+ '^.+.module.(css|sass|scss)$',
9
+ generateNodeModulesPattern({
10
+ packages: packagesToExclude,
11
+ excludeComponents: true,
12
+ }),
13
+ ],
14
+ };
package/package.json CHANGED
@@ -1,37 +1,29 @@
1
1
  {
2
2
  "name": "@teambit/react",
3
- "version": "1.0.337",
3
+ "version": "1.0.338",
4
4
  "homepage": "https://bit.cloud/teambit/react/react",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.react",
8
8
  "name": "react",
9
- "version": "1.0.337"
9
+ "version": "1.0.338"
10
10
  },
11
11
  "dependencies": {
12
12
  "eslint": "8.56.0",
13
13
  "fs-extra": "10.0.0",
14
- "jest": "27.5.1",
15
14
  "lodash": "4.17.21",
16
15
  "typescript": "5.3.3",
16
+ "jest": "29.3.1",
17
17
  "graphql-tag": "2.12.1",
18
18
  "lodash.flatten": "4.4.0",
19
19
  "chalk": "2.4.2",
20
- "identity-obj-proxy": "3.0.0",
21
- "jest-environment-jsdom": "27.5.1",
22
- "react-app-polyfill": "1.0.6",
23
- "react-native-web": "0.16.5",
24
- "@testing-library/jest-dom": "5.16.2",
25
20
  "postcss-flexbugs-fixes": "5.0.2",
26
21
  "postcss-normalize": "10.0.0",
27
22
  "postcss-preset-env": "7.8.2",
28
23
  "css-minimizer-webpack-plugin": "^6.0.0",
29
24
  "terser-webpack-plugin": "5.2.0",
30
25
  "webpack": "5.84.1",
31
- "@babel/preset-env": "7.23.2",
32
- "@babel/preset-react": "7.22.15",
33
26
  "@svgr/webpack": "5.5.0",
34
- "babel-loader": "9.1.2",
35
27
  "css-loader": "6.2.0",
36
28
  "less-loader": "10.0.0",
37
29
  "mini-css-extract-plugin": "2.2.2",
@@ -40,20 +32,14 @@
40
32
  "resolve-url-loader": "5.0.0",
41
33
  "sass-loader": "13.3.2",
42
34
  "style-loader": "^2.0.0",
35
+ "@babel/preset-env": "7.23.2",
36
+ "@babel/preset-react": "7.22.15",
37
+ "babel-loader": "9.1.2",
43
38
  "postcss-loader": "7.0.1",
44
39
  "@pmmmwh/react-refresh-webpack-plugin": "0.5.4",
45
40
  "react-refresh": "0.10.0",
46
41
  "source-map-loader": "3.0.0",
47
42
  "lodash.compact": "3.0.1",
48
- "@babel/plugin-proposal-decorators": "7.23.2",
49
- "@babel/plugin-transform-class-properties": "7.22.5",
50
- "@babel/plugin-transform-object-rest-spread": "7.22.15",
51
- "babel-plugin-transform-typescript-metadata": "0.3.1",
52
- "@babel/preset-typescript": "7.22.15",
53
- "babel-preset-jest": "27.5.1",
54
- "@babel/core": "7.19.6",
55
- "@babel/plugin-transform-modules-commonjs": "7.23.0",
56
- "camelcase": "6.2.0",
57
43
  "react-error-overlay": "6.0.9",
58
44
  "strip-ansi": "6.0.0",
59
45
  "@prerenderer/prerenderer": "^1.2.0",
@@ -65,6 +51,7 @@
65
51
  "less": "^4.1.1",
66
52
  "sass": "1.63.6",
67
53
  "sanitize.css": "12.0.1",
54
+ "jest-environment-jsdom": "27.5.1",
68
55
  "@mdx-js/react": "1.6.22",
69
56
  "eslint-mdx": "1.17.1",
70
57
  "eslint-plugin-mdx": "1.17.1",
@@ -78,59 +65,60 @@
78
65
  "@typescript-eslint/parser": "7.1.0",
79
66
  "@babel/helper-plugin-test-runner": "7.16.7",
80
67
  "core-js": "^3.0.0",
81
- "react": "^16.8.0 || ^17.0.0",
82
- "react-dom": "^16.8.0 || ^17.0.0",
83
68
  "@teambit/compositions.ui.hooks.use-composition": "0.0.177",
84
69
  "@teambit/design.ui.input.option-button": "1.0.0",
85
70
  "@teambit/harmony": "0.4.6",
86
71
  "@teambit/defender.eslint-linter": "1.0.36",
87
72
  "@teambit/defender.prettier-formatter": "1.0.12",
88
73
  "@teambit/typescript.typescript-compiler": "2.0.42",
74
+ "@teambit/defender.jest-tester": "2.0.8",
89
75
  "@bitdev/react.generators.react-templates": "2.0.5",
90
76
  "@teambit/react.instructions.react.adding-compositions": "0.0.6",
91
77
  "@teambit/react.instructions.react.adding-tests": "0.0.6",
78
+ "@teambit/dependencies.modules.packages-excluder": "1.0.8",
79
+ "@teambit/react.jest.react-jest": "1.0.26",
92
80
  "@teambit/mdx.modules.mdx-loader": "1.0.14",
93
81
  "@teambit/component-id": "1.2.0",
94
82
  "@teambit/bit-error": "0.0.404",
95
83
  "@teambit/react.rendering.ssr": "0.0.3",
96
84
  "@teambit/design.ui.tooltip": "0.0.369",
97
85
  "@teambit/semantics.entities.semantic-schema": "0.0.70",
98
- "@teambit/typescript": "1.0.337",
99
- "@teambit/builder": "1.0.337",
100
- "@teambit/bundler": "1.0.337",
101
- "@teambit/compiler": "1.0.337",
86
+ "@teambit/typescript": "1.0.338",
87
+ "@teambit/builder": "1.0.338",
88
+ "@teambit/bundler": "1.0.338",
89
+ "@teambit/compiler": "1.0.338",
102
90
  "@teambit/component.modules.component-url": "0.0.167",
103
- "@teambit/component": "1.0.337",
91
+ "@teambit/component": "1.0.338",
104
92
  "@teambit/defender.eslint.config-mutator": "0.0.102",
105
93
  "@teambit/defender.prettier.config-mutator": "0.0.100",
106
- "@teambit/dependency-resolver": "1.0.337",
107
- "@teambit/envs": "1.0.337",
108
- "@teambit/formatter": "1.0.337",
109
- "@teambit/jest": "1.0.337",
110
- "@teambit/linter": "1.0.337",
111
- "@teambit/logger": "0.0.1007",
112
- "@teambit/pkg": "1.0.337",
113
- "@teambit/preview": "1.0.337",
94
+ "@teambit/dependency-resolver": "1.0.338",
95
+ "@teambit/dev-files": "1.0.338",
96
+ "@teambit/envs": "1.0.338",
97
+ "@teambit/formatter": "1.0.338",
98
+ "@teambit/linter": "1.0.338",
99
+ "@teambit/logger": "0.0.1008",
100
+ "@teambit/pkg": "1.0.338",
101
+ "@teambit/preview": "1.0.338",
114
102
  "@teambit/react.ui.compositions-app": "0.0.22",
115
103
  "@teambit/react.ui.docs-app": "1.0.21",
116
104
  "@teambit/react.ui.highlighter.component-metadata.bit-component-meta": "0.0.41",
117
- "@teambit/schema": "1.0.337",
118
- "@teambit/tester": "1.0.337",
105
+ "@teambit/schema": "1.0.338",
106
+ "@teambit/tester": "1.0.338",
119
107
  "@teambit/toolbox.path.path": "0.0.2",
120
- "@teambit/webpack": "1.0.337",
121
- "@teambit/workspace-config-files": "1.0.337",
122
- "@teambit/workspace": "1.0.337",
123
- "@teambit/application": "1.0.337",
124
- "@teambit/cli": "0.0.914",
125
- "@teambit/generator": "1.0.338",
126
- "@teambit/graphql": "1.0.337",
127
- "@teambit/worker": "0.0.1218",
108
+ "@teambit/webpack": "1.0.338",
109
+ "@teambit/worker": "0.0.1219",
110
+ "@teambit/workspace-config-files": "1.0.338",
111
+ "@teambit/workspace": "1.0.338",
112
+ "@teambit/application": "1.0.338",
113
+ "@teambit/cli": "0.0.915",
114
+ "@teambit/generator": "1.0.339",
115
+ "@teambit/graphql": "1.0.338",
128
116
  "@teambit/react.ui.highlighter-provider": "0.0.213",
129
117
  "@teambit/api-reference.renderers.react": "0.0.29",
130
- "@teambit/api-reference": "1.0.337",
131
- "@teambit/compositions": "1.0.337",
132
- "@teambit/ui": "1.0.337",
133
- "@teambit/react.eslint-config-bit-react": "1.0.194",
118
+ "@teambit/api-reference": "1.0.338",
119
+ "@teambit/compositions": "1.0.338",
120
+ "@teambit/ui": "1.0.338",
121
+ "@teambit/react.eslint-config-bit-react": "1.0.195",
134
122
  "@teambit/react.babel.bit-react-transformer": "1.0.23",
135
123
  "@teambit/webpack.modules.generate-style-loaders": "1.0.11",
136
124
  "@teambit/webpack.modules.style-regexps": "1.0.6",
@@ -141,8 +129,8 @@
141
129
  "@types/react": "^17.0.8",
142
130
  "@types/eslint": "8.56.6",
143
131
  "@types/fs-extra": "9.0.7",
144
- "@types/jest": "^26.0.0",
145
132
  "@types/lodash": "4.14.165",
133
+ "@types/jest": "^26.0.0",
146
134
  "@types/lodash.flatten": "4.4.6",
147
135
  "@types/postcss-normalize": "9.0.1",
148
136
  "@types/webpack": "5.28.1",
@@ -158,7 +146,9 @@
158
146
  "@teambit/react.content.react-overview": "1.95.0"
159
147
  },
160
148
  "peerDependencies": {
161
- "@teambit/legacy": "1.0.724"
149
+ "@teambit/legacy": "1.0.725",
150
+ "react-dom": "^16.8.0 || ^17.0.0",
151
+ "react": "^16.8.0 || ^17.0.0"
162
152
  },
163
153
  "license": "SEE LICENSE IN UNLICENSED",
164
154
  "optionalDependencies": {},
package/react.env.ts CHANGED
@@ -29,7 +29,8 @@ import {
29
29
  PipeServiceModifier,
30
30
  PipeServiceModifiersMap,
31
31
  } from '@teambit/envs';
32
- import { JestMain } from '@teambit/jest';
32
+ import { JestTask, JestTester, jestWorkerPath } from '@teambit/defender.jest-tester';
33
+ import type { JestWorker } from '@teambit/defender.jest-tester';
33
34
  import { PackageJsonProps, PkgMain } from '@teambit/pkg';
34
35
  import { Tester, TesterMain } from '@teambit/tester';
35
36
  import { TsConfigTransformer, TypescriptMain } from '@teambit/typescript';
@@ -72,6 +73,8 @@ import { templateWebpackConfigFactory } from './webpack/webpack.config.env.templ
72
73
  // webpack configs for components only
73
74
  import componentPreviewProdConfigFactory from './webpack/webpack.config.component.prod';
74
75
  import componentPreviewDevConfigFactory from './webpack/webpack.config.component.dev';
76
+ import type { WorkerMain } from '@teambit/worker';
77
+ import type { DevFilesMain } from '@teambit/dev-files';
75
78
 
76
79
  export const ReactEnvType = 'react';
77
80
  const defaultTsConfig = require('./typescript/tsconfig.json');
@@ -84,6 +87,7 @@ type CompilerMode = 'build' | 'dev';
84
87
 
85
88
  type GetBuildPipeModifiers = PipeServiceModifiersMap & {
86
89
  tsModifier?: PipeServiceModifier;
90
+ jestModifier?: PipeServiceModifier;
87
91
  };
88
92
 
89
93
  /**
@@ -93,11 +97,6 @@ export class ReactEnv
93
97
  implements TesterEnv, CompilerEnv, LinterEnv, DevEnv, BuilderEnv, DependenciesEnv, PackageEnv, FormatterEnv
94
98
  {
95
99
  constructor(
96
- /**
97
- * jest extension
98
- */
99
- private jestAspect: JestMain,
100
-
101
100
  /**
102
101
  * typescript extension.
103
102
  */
@@ -118,6 +117,11 @@ export class ReactEnv
118
117
  */
119
118
  private workspace: Workspace,
120
119
 
120
+ /**
121
+ * worker extension.
122
+ */
123
+ private worker: WorkerMain,
124
+
121
125
  /**
122
126
  * pkg extension.
123
127
  */
@@ -132,6 +136,8 @@ export class ReactEnv
132
136
 
133
137
  private dependencyResolver: DependencyResolverMain,
134
138
 
139
+ private devFiles: DevFilesMain,
140
+
135
141
  private logger: Logger,
136
142
 
137
143
  private compilerAspectId: string
@@ -162,7 +168,20 @@ export class ReactEnv
162
168
  const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');
163
169
  const defaultConfig = join(pathToSource, './jest/jest.cjs.config.js');
164
170
  const config = jestConfigPath || defaultConfig;
165
- return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));
171
+ const worker = this.getJestWorker();
172
+ const tester = JestTester.create(
173
+ {
174
+ jest: jestModulePath || require.resolve('jest'),
175
+ config,
176
+ },
177
+ { logger: this.logger, worker }
178
+ );
179
+
180
+ return tester;
181
+ }
182
+
183
+ private getJestWorker() {
184
+ return this.worker.declareWorker<JestWorker>('jest', jestWorkerPath);
166
185
  }
167
186
 
168
187
  /**
@@ -182,14 +201,20 @@ export class ReactEnv
182
201
  const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');
183
202
  const defaultConfig = join(pathToSource, './jest/jest.esm.config.js');
184
203
  const config = jestConfigPath || defaultConfig;
185
- return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));
204
+ const worker = this.getJestWorker();
205
+ return JestTester.create(
206
+ {
207
+ jest: jestModulePath || require.resolve('jest'),
208
+ config,
209
+ },
210
+ { logger: this.logger, worker }
211
+ );
186
212
  }
187
213
 
188
214
  /**
189
215
  * returns a component tester.
190
216
  */
191
217
  getTester(jestConfigPath: string, jestModulePath?: string): Tester {
192
- // return this.createEsmJestTester(jestConfigPath, jestModulePath);
193
218
  return this.createCjsJestTester(jestConfigPath, jestModulePath);
194
219
  }
195
220
 
@@ -509,7 +534,16 @@ export class ReactEnv
509
534
  */
510
535
  getBuildPipe(modifiers: GetBuildPipeModifiers = {}): BuildTask[] {
511
536
  const transformers: Function[] = modifiers?.tsModifier?.transformers || [];
512
- return [this.createCjsCompilerTask(transformers, modifiers?.tsModifier?.module || ts), this.tester.task];
537
+ const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');
538
+ const jestConfigPath =
539
+ modifiers?.jestModifier?.transformers?.[0]() || join(pathToSource, './jest/jest.cjs.config.js');
540
+ const jestPath = modifiers?.jestModifier?.module || require.resolve('jest');
541
+ const worker = this.getJestWorker();
542
+ const testerTask = JestTask.create(
543
+ { config: jestConfigPath, jest: jestPath },
544
+ { logger: this.logger, worker, devFiles: this.devFiles }
545
+ );
546
+ return [this.createCjsCompilerTask(transformers, modifiers?.tsModifier?.module || ts), testerTask];
513
547
  }
514
548
 
515
549
  /**