@teambit/react 1.0.336 → 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.
- package/dist/jest/jest.cjs.config.d.ts +11 -12
- package/dist/jest/jest.cjs.config.js +12 -8
- package/dist/jest/jest.cjs.config.js.map +1 -1
- package/dist/jest/jest.esm.config.d.ts +12 -13
- package/dist/jest/jest.esm.config.js +12 -9
- package/dist/jest/jest.esm.config.js.map +1 -1
- package/dist/{preview-1721013596376.js → preview-1721186478884.js} +2 -2
- package/dist/react.env.d.ts +14 -10
- package/dist/react.env.js +48 -11
- package/dist/react.env.js.map +1 -1
- package/dist/react.main.runtime.d.ts +4 -4
- package/dist/react.main.runtime.js +18 -11
- package/dist/react.main.runtime.js.map +1 -1
- package/jest/jest.cjs.config.js +13 -7
- package/jest/jest.esm.config.js +13 -6
- package/package.json +41 -51
- package/react.env.ts +44 -10
- package/react.main.runtime.ts +11 -7
- package/dist/jest/jest.base.config.d.ts +0 -16
- package/dist/jest/jest.base.config.js +0 -35
- package/dist/jest/jest.base.config.js.map +0 -1
- package/dist/jest/jest.config.d.ts +0 -2
- package/dist/jest/jest.config.js +0 -10
- package/dist/jest/jest.config.js.map +0 -1
- package/dist/jest/setupTests.d.ts +0 -1
- package/dist/jest/setupTests.js +0 -11
- package/dist/jest/setupTests.js.map +0 -1
- package/dist/jest/transformers/base-transformer-plugins.d.ts +0 -1
- package/dist/jest/transformers/base-transformer-plugins.js +0 -14
- package/dist/jest/transformers/base-transformer-plugins.js.map +0 -1
- package/dist/jest/transformers/base-transformer-presets.d.ts +0 -1
- package/dist/jest/transformers/base-transformer-presets.js +0 -12
- package/dist/jest/transformers/base-transformer-presets.js.map +0 -1
- package/dist/jest/transformers/base-transformer-process.d.ts +0 -1
- package/dist/jest/transformers/base-transformer-process.js +0 -23
- package/dist/jest/transformers/base-transformer-process.js.map +0 -1
- package/dist/jest/transformers/cjs-transformer.d.ts +0 -1
- package/dist/jest/transformers/cjs-transformer.js +0 -26
- package/dist/jest/transformers/cjs-transformer.js.map +0 -1
- package/dist/jest/transformers/css-transform.d.ts +0 -2
- package/dist/jest/transformers/css-transform.js +0 -16
- package/dist/jest/transformers/css-transform.js.map +0 -1
- package/dist/jest/transformers/esm-transformer.d.ts +0 -1
- package/dist/jest/transformers/esm-transformer.js +0 -28
- package/dist/jest/transformers/esm-transformer.js.map +0 -1
- package/dist/jest/transformers/file-transform.d.ts +0 -1
- package/dist/jest/transformers/file-transform.js +0 -40
- package/dist/jest/transformers/file-transform.js.map +0 -1
- package/jest/jest.base.config.js +0 -31
- package/jest/jest.config.js +0 -7
- package/jest/setupTests.js +0 -7
- package/jest/transformers/base-transformer-plugins.js +0 -13
- package/jest/transformers/base-transformer-presets.js +0 -11
- package/jest/transformers/base-transformer-process.js +0 -20
- package/jest/transformers/cjs-transformer.js +0 -25
- package/jest/transformers/css-transform.js +0 -12
- package/jest/transformers/esm-transformer.js +0 -27
- package/jest/transformers/file-transform.js +0 -38
- /package/{compositions-1721013596376.js → compositions-1721186478884.js} +0 -0
- /package/{overview-1721013596376.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,
|
|
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)(
|
|
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,
|
|
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":"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","ignoreList":[]}
|
package/jest/jest.cjs.config.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
const
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
module.exports = {
|
|
6
|
+
...cjsConfig,
|
|
7
|
+
transformIgnorePatterns: [
|
|
8
|
+
'^.+.module.(css|sass|scss)$',
|
|
9
|
+
generateNodeModulesPattern({
|
|
10
|
+
packages: packagesToExclude,
|
|
11
|
+
excludeComponents: true,
|
|
12
|
+
}),
|
|
13
|
+
],
|
|
14
|
+
};
|
package/jest/jest.esm.config.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
const
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
99
|
-
"@teambit/builder": "1.0.
|
|
100
|
-
"@teambit/bundler": "1.0.
|
|
101
|
-
"@teambit/compiler": "1.0.
|
|
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.
|
|
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.
|
|
107
|
-
"@teambit/
|
|
108
|
-
"@teambit/
|
|
109
|
-
"@teambit/
|
|
110
|
-
"@teambit/linter": "1.0.
|
|
111
|
-
"@teambit/logger": "0.0.
|
|
112
|
-
"@teambit/pkg": "1.0.
|
|
113
|
-
"@teambit/preview": "1.0.
|
|
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.
|
|
118
|
-
"@teambit/tester": "1.0.
|
|
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.
|
|
121
|
-
"@teambit/
|
|
122
|
-
"@teambit/workspace": "1.0.
|
|
123
|
-
"@teambit/
|
|
124
|
-
"@teambit/
|
|
125
|
-
"@teambit/
|
|
126
|
-
"@teambit/
|
|
127
|
-
"@teambit/
|
|
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.
|
|
131
|
-
"@teambit/compositions": "1.0.
|
|
132
|
-
"@teambit/ui": "1.0.
|
|
133
|
-
"@teambit/react.eslint-config-bit-react": "1.0.
|
|
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.
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
/**
|