@teambit/react 1.0.1099 → 1.0.1102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/env-template/public/{478.fd14cea6ebcb4e8e0e83.js → 598.81114f26d48bd3ddd836.js} +1 -1
- package/artifacts/env-template/public/{762.46bf42895d7d1f402f2a.js → 66.53672cbe4f8af13f93c9.js} +1 -1
- package/artifacts/env-template/public/assets-manifest.json +12 -12
- package/artifacts/env-template/public/compositions.f45d3d2c9bd427b15557.js +2 -0
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/{overview.cc8c22cdabdba0323132.js → overview.12206a333cc932354155.js} +2 -2
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/{preview-root.ea18781df6d02699177c.js → preview-root.77f8aa97e0e92c9c1083.js} +1 -1
- package/{compositions-1786400681343.js → compositions-1786718956243.js} +1 -1
- package/dist/{preview-1786400681343.js → preview-1786718956243.js} +2 -2
- package/dist/react.env.d.ts +6 -5
- package/dist/react.env.js +113 -5
- package/dist/react.env.js.map +1 -1
- package/dist/react.main.runtime.d.ts +4 -3
- package/dist/react.main.runtime.js +6 -6
- package/dist/react.main.runtime.js.map +1 -1
- package/{overview-1786400681343.js → overview-1786718956243.js} +1 -1
- package/package.json +33 -28
- package/artifacts/env-template/public/compositions.a6e652a4774e35e215b3.js +0 -2
- /package/artifacts/env-template/public/{peers.c853c2ee6e316f1e5f27.js → peers.12803d1af7222069e2ae.js} +0 -0
package/dist/react.env.js
CHANGED
|
@@ -82,6 +82,34 @@ function _defender3() {
|
|
|
82
82
|
};
|
|
83
83
|
return data;
|
|
84
84
|
}
|
|
85
|
+
function _webpack() {
|
|
86
|
+
const data = require("@teambit/webpack.webpack-bundler");
|
|
87
|
+
_webpack = function () {
|
|
88
|
+
return data;
|
|
89
|
+
};
|
|
90
|
+
return data;
|
|
91
|
+
}
|
|
92
|
+
function _webpack2() {
|
|
93
|
+
const data = require("@teambit/webpack.webpack-dev-server");
|
|
94
|
+
_webpack2 = function () {
|
|
95
|
+
return data;
|
|
96
|
+
};
|
|
97
|
+
return data;
|
|
98
|
+
}
|
|
99
|
+
function _htmlWebpackPlugin() {
|
|
100
|
+
const data = _interopRequireDefault(require("html-webpack-plugin"));
|
|
101
|
+
_htmlWebpackPlugin = function () {
|
|
102
|
+
return data;
|
|
103
|
+
};
|
|
104
|
+
return data;
|
|
105
|
+
}
|
|
106
|
+
function _webpackAssetsManifest() {
|
|
107
|
+
const data = _interopRequireDefault(require("webpack-assets-manifest"));
|
|
108
|
+
_webpackAssetsManifest = function () {
|
|
109
|
+
return data;
|
|
110
|
+
};
|
|
111
|
+
return data;
|
|
112
|
+
}
|
|
85
113
|
function _defenderEslint() {
|
|
86
114
|
const data = require("@teambit/defender.eslint.config-mutator");
|
|
87
115
|
_defenderEslint = function () {
|
|
@@ -160,6 +188,8 @@ function _webpackConfigComponent2() {
|
|
|
160
188
|
return data;
|
|
161
189
|
}
|
|
162
190
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
191
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
192
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
163
193
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
164
194
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
165
195
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // ensure reactEnv depends on compositions-app
|
|
@@ -177,6 +207,68 @@ const prettierConfig = require('./prettier/prettier.config');
|
|
|
177
207
|
|
|
178
208
|
// TODO: move to be taken from the key mode of compiler context
|
|
179
209
|
|
|
210
|
+
/**
|
|
211
|
+
* @teambit/webpack.webpack-bundler builds its base config without the asset-manifest plugin that
|
|
212
|
+
* teambit.webpack/webpack's own bundler factory adds (used by SSR/consumers reading asset-manifest.json).
|
|
213
|
+
*/
|
|
214
|
+
const addAssetsManifestPlugin = configMutator => {
|
|
215
|
+
// inserted right after ProvidePlugin (index 0, always first in the base config) to match the
|
|
216
|
+
// plugin order teambit.webpack/webpack's own bundler factory produces - appending would land
|
|
217
|
+
// after plugins the base config conditionally adds later (e.g. CompressionPlugin).
|
|
218
|
+
configMutator.raw.plugins = configMutator.raw.plugins || [];
|
|
219
|
+
configMutator.raw.plugins.splice(1, 0, new (_webpackAssetsManifest().default)({
|
|
220
|
+
entrypoints: true
|
|
221
|
+
}));
|
|
222
|
+
return configMutator;
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* @teambit/webpack.webpack-dev-server's base config factory has drifted from the tuning
|
|
227
|
+
* teambit.webpack/webpack's own dev-server factory applies (see PR description for the full list).
|
|
228
|
+
* This keeps the emitted config identical to what `WebpackMain.createDevServer` used to produce.
|
|
229
|
+
*/
|
|
230
|
+
function alignDevServerWithWorkspaceDefaults(workspace) {
|
|
231
|
+
return (configMutator, context) => {
|
|
232
|
+
const devServerContext = context;
|
|
233
|
+
const raw = configMutator.raw;
|
|
234
|
+
// the package's base config sets `output.pathinfo` explicitly; the workspace's own factory
|
|
235
|
+
// leaves it unset and relies on webpack's per-mode default instead.
|
|
236
|
+
if (raw.output) delete raw.output.pathinfo;
|
|
237
|
+
raw.stats = _objectSpread(_objectSpread({}, raw.stats), {}, {
|
|
238
|
+
logging: 'error'
|
|
239
|
+
});
|
|
240
|
+
const componentPathsRegExps = workspace.getComponentPathsRegExps();
|
|
241
|
+
raw.snapshot = componentPathsRegExps.length ? {
|
|
242
|
+
managedPaths: componentPathsRegExps
|
|
243
|
+
} : {};
|
|
244
|
+
if (raw.devServer) {
|
|
245
|
+
if (Array.isArray(raw.devServer.static)) {
|
|
246
|
+
raw.devServer.static.forEach(entry => {
|
|
247
|
+
if (entry && typeof entry === 'object') entry.watch = false;
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
raw.devServer.historyApiFallback = _objectSpread(_objectSpread({}, raw.devServer.historyApiFallback), {}, {
|
|
251
|
+
index: (0, _path().resolve)(workspace.path, `${devServerContext.rootPath}/${devServerContext.publicPath}`)
|
|
252
|
+
});
|
|
253
|
+
raw.devServer.client = _objectSpread(_objectSpread({}, raw.devServer.client), {}, {
|
|
254
|
+
logging: 'error'
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
if (Array.isArray(raw.plugins)) {
|
|
258
|
+
// html-webpack-plugin resolves its `.options` inside the constructor itself, so mutating
|
|
259
|
+
// an existing instance's `userOptions` afterward has no effect - it has to be reconstructed.
|
|
260
|
+
// matched by constructor name rather than `instanceof`: the package resolves its own copy
|
|
261
|
+
// of html-webpack-plugin, so the class reference here would never match theirs.
|
|
262
|
+
raw.plugins = raw.plugins.map(plugin => plugin?.constructor?.name === 'HtmlWebpackPlugin' ? new (_htmlWebpackPlugin().default)({
|
|
263
|
+
templateContent: (0, _webpack().html)(devServerContext.title || 'Component preview'),
|
|
264
|
+
filename: 'index.html',
|
|
265
|
+
favicon: plugin.userOptions?.favicon
|
|
266
|
+
}) : plugin);
|
|
267
|
+
}
|
|
268
|
+
return configMutator;
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
|
|
180
272
|
/**
|
|
181
273
|
* a component environment built for [React](https://reactjs.org) .
|
|
182
274
|
*/
|
|
@@ -191,9 +283,9 @@ class ReactEnv {
|
|
|
191
283
|
*/
|
|
192
284
|
compiler,
|
|
193
285
|
/**
|
|
194
|
-
*
|
|
286
|
+
* pubsub extension.
|
|
195
287
|
*/
|
|
196
|
-
|
|
288
|
+
pubsub,
|
|
197
289
|
/**
|
|
198
290
|
* workspace extension.
|
|
199
291
|
*/
|
|
@@ -212,7 +304,7 @@ class ReactEnv {
|
|
|
212
304
|
tester, config, dependencyResolver, devFiles, logger, compilerAspectId) {
|
|
213
305
|
this.tsAspect = tsAspect;
|
|
214
306
|
this.compiler = compiler;
|
|
215
|
-
this.
|
|
307
|
+
this.pubsub = pubsub;
|
|
216
308
|
this.workspace = workspace;
|
|
217
309
|
this.worker = worker;
|
|
218
310
|
this.pkg = pkg;
|
|
@@ -451,7 +543,16 @@ class ReactEnv {
|
|
|
451
543
|
const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);
|
|
452
544
|
return merged;
|
|
453
545
|
};
|
|
454
|
-
return
|
|
546
|
+
return _webpack2().WebpackDevServer.create({
|
|
547
|
+
devServerContext: context,
|
|
548
|
+
transformers: [defaultTransformer, alignDevServerWithWorkspaceDefaults(this.workspace), ...transformers],
|
|
549
|
+
webpackModulePath,
|
|
550
|
+
webpackDevServerModulePath
|
|
551
|
+
}, {
|
|
552
|
+
logger: this.logger,
|
|
553
|
+
workspacePath: this.workspace.path,
|
|
554
|
+
pubsub: this.pubsub
|
|
555
|
+
});
|
|
455
556
|
}
|
|
456
557
|
async getBundler(context, transformers = [], webpackModulePath) {
|
|
457
558
|
return this.createComponentsWebpackBundler(context, transformers, webpackModulePath);
|
|
@@ -479,7 +580,14 @@ class ReactEnv {
|
|
|
479
580
|
return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);
|
|
480
581
|
}
|
|
481
582
|
async createWebpackBundler(context, transformers = [], webpackModulePath) {
|
|
482
|
-
return
|
|
583
|
+
return _webpack().WebpackBundler.create({
|
|
584
|
+
targets: context.targets,
|
|
585
|
+
transformers: [addAssetsManifestPlugin, ...transformers],
|
|
586
|
+
bundlerContext: context,
|
|
587
|
+
webpackModulePath
|
|
588
|
+
}, {
|
|
589
|
+
logger: this.logger
|
|
590
|
+
});
|
|
483
591
|
}
|
|
484
592
|
getAdditionalHostDependencies() {
|
|
485
593
|
return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react', 'react-dom'];
|
package/dist/react.env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_os","_componentModules","_builder","_lodash","_preview","_defender","_defenderPrettier","_typescript2","_defender2","_defender3","_defenderEslint","_toolboxPath","_path","_fsExtra","_react","_webpackConfig","_webpackConfigBase","_webpackConfigEnv","_webpackConfigEnv2","_webpackConfigComponent","_webpackConfigComponent2","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ReactEnvType","exports","defaultTsConfig","buildTsConfig","prettierConfig","ReactEnv","constructor","tsAspect","compiler","webpack","workspace","worker","pkg","tester","config","dependencyResolver","devFiles","logger","compilerAspectId","getTsConfig","targetTsConfig","merge","getBuildTsConfig","getCjsJestTester","jestConfigPath","jestModulePath","createCjsJestTester","pathToSource","pathNormalizeToLinux","__dirname","replace","defaultConfig","join","getJestWorker","JestTester","create","jest","resolve","declareWorker","jestWorkerPath","getEsmJestTester","createEsmJestTester","getTester","createTsCompilerOptions","mode","tsconfig","cloneDeep","compileJs","compileJsx","types","getTsCjsCompiler","transformers","tsModule","ts","createTsCjsCompiler","tsCompileOptions","createCjsCompiler","getTsEsmCompiler","createTsEsmCompiler","createEsmCompiler","getCompiler","getEslintOptions","options","pluginPath","context","mergedConfig","overrideConfig","extensions","extensionFormats","useEslintrc","cwd","fix","fixTypes","assign","getLinter","tsconfigPath","eslintConfig","mergedOptions","configMutator","EslintConfigMutator","transformerContext","addExtensionTypes","setTsConfig","afterMutation","runTransformersWithContext","clone","ESLintLinter","raw","getFormatter","PrettierConfigMutator","check","PrettierFormatter","getFileMap","components","local","reduce","index","component","state","filesystem","files","forEach","file","path","id","toString","homepage","fullName","ComponentUrl","toUrl","writeFileMap","fileMap","tmpdir","Math","random","slice","outputFileSync","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","tsserverPath","contextPath","createSchemaExtractor","getDevServer","webpackModulePath","webpackDevServerModulePath","baseConfig","basePreviewConfigFactory","envDevConfig","envPreviewDevConfigFactory","componentDevConfig","componentPreviewDevConfigFactory","defaultTransformer","merged","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","basePreviewProdConfigFactory","componentProdConfig","componentPreviewProdConfigFactory","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","templateConfig","templateWebpackConfigFactory","createBundler","undefined","getAdditionalHostDependencies","getDocsTemplate","getMounter","getPreviewConfig","strategyName","COMPONENT_PREVIEW_STRATEGY_NAME","splitComponentBundle","isScaling","supportsUseSource","getPackageJsonProps","getCjsPackageJsonProps","createCjsPackageJsonProps","getEsmPackageJsonProps","createEsmPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","getDependencies","dependencies","react","devDependencies","peerDependencies","getBuildPipe","modifiers","tsModifier","jestModifier","jestPath","module","testerTask","JestTask","createCjsCompilerTask","getBuildPipeWithoutCompiler","createBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","task","aspectId","getEsmCompilerTask","createEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","workspaceConfig","TypescriptConfigWriter","EslintConfigWriter","configPath","PrettierConfigWriter","__getDescriptor","type","Array","isArray","newConfig","acc","transformer"],"sources":["react.env.ts"],"sourcesContent":["import type { TsConfigSourceFile } from 'typescript';\nimport ts from 'typescript';\nimport { tmpdir } from 'os';\nimport type { Component } from '@teambit/component';\nimport type { ESLint as ESLintLib } from 'eslint';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport type { BuildTask } from '@teambit/builder';\nimport { CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { merge, cloneDeep } from 'lodash';\nimport type { Bundler, BundlerContext, DevServer, DevServerContext } from '@teambit/bundler';\nimport type { PreviewStrategyName } from '@teambit/preview';\nimport { COMPONENT_PREVIEW_STRATEGY_NAME } from '@teambit/preview';\nimport { PrettierConfigWriter, PrettierFormatter } from '@teambit/defender.prettier-formatter';\nimport type {\n PrettierConfigTransformContext,\n PrettierConfigTransformer,\n} from '@teambit/defender.prettier.config-mutator';\nimport { PrettierConfigMutator } from '@teambit/defender.prettier.config-mutator';\nimport { TypescriptConfigWriter } from '@teambit/typescript.typescript-compiler';\nimport { EslintConfigWriter, ESLintLinter } from '@teambit/defender.eslint-linter';\nimport type { ESLintOptions } from '@teambit/defender.eslint-linter';\nimport type { CompilerMain } from '@teambit/compiler';\nimport type {\n BuilderEnv,\n CompilerEnv,\n DependenciesEnv,\n DevEnv,\n LinterEnv,\n PackageEnv,\n TesterEnv,\n FormatterEnv,\n PipeServiceModifier,\n PipeServiceModifiersMap,\n} from '@teambit/envs';\nimport { JestTask, JestTester, jestWorkerPath } from '@teambit/defender.jest-tester';\nimport type { JestWorker } from '@teambit/defender.jest-tester';\nimport type { PackageJsonProps, PkgMain } from '@teambit/pkg';\nimport type { Tester, TesterMain } from '@teambit/tester';\nimport type { TsConfigTransformer, TypescriptMain, TypeScriptCompilerOptions } from '@teambit/typescript';\nimport type { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';\nimport type { Workspace } from '@teambit/workspace';\nimport type { EslintConfigTransformContext, EslintConfigTransformer } from '@teambit/defender.eslint.config-mutator';\nimport { EslintConfigMutator } from '@teambit/defender.eslint.config-mutator';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport type { Linter, LinterContext } from '@teambit/linter';\nimport type { Formatter, FormatterContext } from '@teambit/formatter';\nimport { pathNormalizeToLinux } from '@teambit/toolbox.path.path';\nimport type { ComponentMeta } from '@teambit/react.ui.highlighter.component-metadata.bit-component-meta';\nimport type { SchemaExtractor } from '@teambit/schema';\nimport { join, resolve } from 'path';\nimport { outputFileSync } from 'fs-extra';\nimport type { Logger } from '@teambit/logger';\nimport type { ConfigWriterEntry } from '@teambit/workspace-config-files';\n\n// ensure reactEnv depends on compositions-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { CompositionsApp } from '@teambit/react.ui.compositions-app';\n// ensure reactEnv depends on docs-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport DocsApps from '@teambit/react.ui.docs-app';\nimport type { ReactMainConfig } from './react.main.runtime';\nimport { ReactAspect } from './react.aspect';\n// webpack configs for both components and envs\nimport basePreviewConfigFactory from './webpack/webpack.config.base';\nimport basePreviewProdConfigFactory from './webpack/webpack.config.base.prod';\n\n// webpack configs for envs only\n// import devPreviewConfigFactory from './webpack/webpack.config.preview.dev';\nimport envPreviewDevConfigFactory from './webpack/webpack.config.env.dev';\nimport { templateWebpackConfigFactory } from './webpack/webpack.config.env.template';\n\n// webpack configs for components only\nimport componentPreviewProdConfigFactory from './webpack/webpack.config.component.prod';\nimport componentPreviewDevConfigFactory from './webpack/webpack.config.component.dev';\nimport type { WorkerMain } from '@teambit/worker';\nimport type { DevFilesMain } from '@teambit/dev-files';\n\nexport const ReactEnvType = 'react';\nconst defaultTsConfig = require('./typescript/tsconfig.json');\nconst buildTsConfig = require('./typescript/tsconfig.build.json');\nconst prettierConfig = require('./prettier/prettier.config');\n\n// TODO: move to be taken from the key mode of compiler context\ntype CompilerMode = 'build' | 'dev';\n\ntype GetBuildPipeModifiers = PipeServiceModifiersMap & {\n tsModifier?: PipeServiceModifier;\n jestModifier?: PipeServiceModifier;\n};\n\n/**\n * a component environment built for [React](https://reactjs.org) .\n */\nexport class ReactEnv\n implements TesterEnv, CompilerEnv, LinterEnv, DevEnv, BuilderEnv, DependenciesEnv, PackageEnv, FormatterEnv\n{\n constructor(\n /**\n * typescript extension.\n */\n protected tsAspect: TypescriptMain,\n\n /**\n * compiler extension.\n */\n private compiler: CompilerMain,\n\n /**\n * webpack extension.\n */\n private webpack: WebpackMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * worker extension.\n */\n private worker: WorkerMain,\n\n /**\n * pkg extension.\n */\n private pkg: PkgMain,\n\n /**\n * tester extension\n */\n private tester: TesterMain,\n\n private config: ReactMainConfig,\n\n private dependencyResolver: DependencyResolverMain,\n\n private devFiles: DevFilesMain,\n\n private logger: Logger,\n\n private compilerAspectId: string\n ) {}\n\n getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, defaultTsConfig, targetTsConfig) : defaultTsConfig;\n }\n\n getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, buildTsConfig, targetTsConfig) : buildTsConfig;\n }\n\n /**\n * @deprecated use createCjsJestTester()\n */\n getCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n /**\n * Get a jest tester instance with react config and cjs configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n createCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.cjs.config.js');\n const config = jestConfigPath || defaultConfig;\n const worker = this.getJestWorker();\n const tester = JestTester.create(\n {\n jest: jestModulePath || require.resolve('jest'),\n config,\n },\n { logger: this.logger, worker, devFiles: this.devFiles }\n );\n\n return tester;\n }\n\n private getJestWorker() {\n return this.worker.declareWorker<JestWorker>('jest', jestWorkerPath);\n }\n\n /**\n * @deprecated use createEsmJestTester()\n */\n getEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createEsmJestTester(jestConfigPath, jestModulePath);\n }\n\n /**\n * Get a jest tester instance with react config and esm configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n createEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.esm.config.js');\n const config = jestConfigPath || defaultConfig;\n const worker = this.getJestWorker();\n return JestTester.create(\n {\n jest: jestModulePath || require.resolve('jest'),\n config,\n },\n { logger: this.logger, worker, devFiles: this.devFiles }\n );\n }\n\n /**\n * returns a component tester.\n */\n getTester(jestConfigPath: string, jestModulePath?: string): Tester {\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n private createTsCompilerOptions(mode: CompilerMode = 'dev'): TypeScriptCompilerOptions {\n const tsconfig = mode === 'dev' ? cloneDeep(defaultTsConfig) : cloneDeep(buildTsConfig);\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist/', '/src/');\n const compileJs = true;\n const compileJsx = true;\n return {\n tsconfig,\n // TODO: @david please remove this line and refactor to be something that makes sense.\n types: [resolve(pathToSource, './typescript/style.d.ts'), resolve(pathToSource, './typescript/asset.d.ts')],\n compileJs,\n compileJsx,\n };\n }\n\n /**\n * @deprecated use createTsCjsCompiler()\n */\n getTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createTsCjsCompiler(mode, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to cjs module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n createTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createCjsCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n /**\n * @deprecated use createTsEsmCompiler()\n */\n getTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n this.createTsEsmCompiler(mode, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to esm module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n createTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createEsmCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n getCompiler(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n // return this.getTsEsmCompiler('dev', transformers, tsModule);\n return this.createTsCjsCompiler('dev', transformers, tsModule);\n }\n\n private getEslintOptions(options: ESLintLib.Options, pluginPath: string, context: LinterContext): ESLintOptions {\n const mergedConfig: ESLintLib.Options = {\n // @ts-ignore - this is a bug in the @types/eslint types\n overrideConfig: options,\n extensions: context.extensionFormats,\n useEslintrc: false,\n // TODO: this should be probably be replaced with resolve-plugins-relative-to\n // https://eslint.org/docs/latest/use/command-line-interface#--resolve-plugins-relative-to\n cwd: pluginPath,\n fix: !!context.fix,\n fixTypes: context.fixTypes as ESLintLib.Options['fixTypes'],\n };\n return Object.assign({}, options, { config: mergedConfig, extensions: context.extensionFormats });\n }\n\n /**\n * returns and configures the component linter.\n */\n getLinter(context: LinterContext, transformers: EslintConfigTransformer[] = []): Linter {\n const tsconfigPath = require.resolve('./typescript/tsconfig.json');\n\n // resolve all plugins from the react environment.\n const eslintConfig = require('./eslint/eslintrc');\n const mergedOptions = this.getEslintOptions(eslintConfig, __dirname, context);\n const configMutator = new EslintConfigMutator(mergedOptions);\n const transformerContext: EslintConfigTransformContext = { fix: !!context.fix };\n configMutator.addExtensionTypes(['.md', '.mdx']);\n configMutator.setTsConfig(tsconfigPath);\n const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);\n return ESLintLinter.create(afterMutation.raw, { logger: this.logger });\n }\n\n /**\n * returns and configures the component formatter.\n */\n getFormatter(context: FormatterContext, transformers: PrettierConfigTransformer[] = []): Formatter {\n const configMutator = new PrettierConfigMutator(prettierConfig);\n const transformerContext: PrettierConfigTransformContext = { check: !!context?.check };\n const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);\n return PrettierFormatter.create({ config: afterMutation.raw }, { logger: this.logger });\n }\n\n private getFileMap(components: Component[], local = false) {\n return components.reduce<{ [key: string]: ComponentMeta }>((index, component: Component) => {\n component.state.filesystem.files.forEach((file) => {\n index[file.path] = {\n id: component.id.toString(),\n homepage: local ? `/${component.id.fullName}` : ComponentUrl.toUrl(component.id),\n };\n });\n\n return index;\n }, {});\n }\n\n private writeFileMap(components: Component[], local?: boolean) {\n const fileMap = this.getFileMap(components, local);\n const path = join(tmpdir(), `${Math.random().toString(36).slice(2, 11)}.json`);\n outputFileSync(path, JSON.stringify(fileMap));\n return path;\n }\n\n /**\n * required for `bit start`\n */\n getDevEnvId(id?: string) {\n if (typeof id !== 'string') return ReactAspect.id;\n return id || ReactAspect.id;\n }\n\n /**\n * get a schema generator instance configured with the correct tsconfig.\n */\n getSchemaExtractor(tsconfig: TsConfigSourceFile, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig), tsserverPath, contextPath);\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(\n context: DevServerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string,\n webpackDevServerModulePath?: string\n ): DevServer {\n const baseConfig = basePreviewConfigFactory(false);\n const envDevConfig = envPreviewDevConfigFactory(context.id);\n const componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);\n return merged;\n };\n\n return this.webpack.createDevServer(\n context,\n [defaultTransformer, ...transformers],\n webpackModulePath,\n webpackDevServerModulePath\n );\n }\n\n async getBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers, webpackModulePath);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const componentProdConfig = componentPreviewProdConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, componentProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const templateConfig = templateWebpackConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, templateConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers, undefined, webpackModulePath);\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react', 'react-dom'];\n }\n\n /**\n * returns a path to a docs template.\n */\n getDocsTemplate() {\n return require.resolve('@teambit/react.ui.docs-app');\n }\n\n icon = 'https://static.bit.dev/extensions-icons/react.svg';\n\n /**\n * returns the path to the compositions template\n */\n getMounter() {\n return require.resolve('@teambit/react.ui.compositions-app');\n }\n\n getPreviewConfig() {\n return {\n strategyName: COMPONENT_PREVIEW_STRATEGY_NAME as PreviewStrategyName,\n splitComponentBundle: true,\n isScaling: true,\n supportsUseSource: true,\n };\n }\n\n /**\n * define the package json properties to add to each component.\n */\n getPackageJsonProps(): PackageJsonProps {\n // React compile by default to esm, so uses type module\n // return this.getEsmPackageJsonProps();\n return this.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createCjsPackageJsonProps()\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return this.createCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for a cjs component\n * @returns\n */\n createCjsPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createEsmPackageJsonProps()\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return this.createEsmPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for an esm component\n * @returns\n */\n createEsmPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getEsmPackageJsonProps();\n }\n\n getNpmIgnore() {\n return [`${CAPSULE_ARTIFACTS_DIR}/*`];\n }\n\n /**\n * adds dependencies to all configured components.\n */\n getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n 'core-js': '^3.0.0',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^19.0.0',\n '@types/react-dom': '^19.0.0',\n '@types/jest': '^26.0.0',\n // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed\n '@babel/runtime': '7.20.0',\n '@types/testing-library__jest-dom': '5.9.5',\n },\n peerDependencies: {\n react: '^17.0.0 || ^18.0.0 || ^19.0.0',\n 'react-dom': '^17.0.0 || ^18.0.0 || ^19.0.0',\n },\n };\n }\n\n /**\n * returns the component build pipeline.\n */\n getBuildPipe(modifiers: GetBuildPipeModifiers = {}): BuildTask[] {\n const transformers: Function[] = modifiers?.tsModifier?.transformers || [];\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const jestConfigPath =\n modifiers?.jestModifier?.transformers?.[0]() || join(pathToSource, './jest/jest.cjs.config.js');\n const jestPath = modifiers?.jestModifier?.module || require.resolve('jest');\n const worker = this.getJestWorker();\n const testerTask = JestTask.create(\n { config: jestConfigPath, jest: jestPath },\n { logger: this.logger, worker, devFiles: this.devFiles }\n );\n return [this.createCjsCompilerTask(transformers, modifiers?.tsModifier?.module || ts), testerTask];\n }\n\n /**\n * @deprecated use createBuildPipeWithoutCompiler()\n */\n getBuildPipeWithoutCompiler(): BuildTask[] {\n return this.createBuildPipeWithoutCompiler();\n }\n\n /**\n * Get the react build pipeline without the compilation task.\n * This help in cases you want to only replace the compilation task with something else\n * @returns\n */\n createBuildPipeWithoutCompiler(): BuildTask[] {\n const pipeWithoutCompiler = this.getBuildPipe().filter((task) => task.aspectId !== this.compilerAspectId);\n return pipeWithoutCompiler;\n }\n\n /**\n * @deprecated use createEsmCompilerTask()\n */\n getEsmCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createEsmCompilerTask(transformers as Function[], tsModule);\n }\n\n /**\n * Get a compiler task with react config and set to esm module\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsEsmCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n /**\n * @deprecated use createCjsCompilerTask()\n * */\n getCjsCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCjsCompilerTask(transformers as Function[], tsModule);\n }\n\n /**\n * Get a compiler task with react config and set to cjs module\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsCjsCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n workspaceConfig(): ConfigWriterEntry[] {\n return [\n TypescriptConfigWriter.create(\n {\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n // types: resolveTypes(__dirname, [\"./types\"]),\n },\n this.logger\n ),\n EslintConfigWriter.create(\n {\n configPath: require.resolve('./eslint/eslintrc.js'),\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n },\n this.logger\n ),\n PrettierConfigWriter.create(\n {\n configPath: require.resolve('./prettier/prettier.config.js'),\n },\n this.logger\n ),\n ];\n }\n\n async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n\nexport function runTransformersWithContext<P, T extends Function, C>(config: P, transformers: T[] = [], context: C): P {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_os","_componentModules","_builder","_lodash","_preview","_defender","_defenderPrettier","_typescript2","_defender2","_defender3","_webpack","_webpack2","_htmlWebpackPlugin","_webpackAssetsManifest","_defenderEslint","_toolboxPath","_path","_fsExtra","_react","_webpackConfig","_webpackConfigBase","_webpackConfigEnv","_webpackConfigEnv2","_webpackConfigComponent","_webpackConfigComponent2","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","ReactEnvType","exports","defaultTsConfig","buildTsConfig","prettierConfig","addAssetsManifestPlugin","configMutator","raw","plugins","splice","WebpackAssetsManifest","entrypoints","alignDevServerWithWorkspaceDefaults","workspace","context","devServerContext","output","pathinfo","stats","logging","componentPathsRegExps","getComponentPathsRegExps","snapshot","managedPaths","devServer","Array","isArray","static","entry","watch","historyApiFallback","index","resolve","path","rootPath","publicPath","client","map","plugin","constructor","name","HtmlWebpackPlugin","templateContent","webpackHtmlTemplate","title","filename","favicon","userOptions","ReactEnv","tsAspect","compiler","pubsub","worker","pkg","tester","config","dependencyResolver","devFiles","logger","compilerAspectId","getTsConfig","targetTsConfig","merge","getBuildTsConfig","getCjsJestTester","jestConfigPath","jestModulePath","createCjsJestTester","pathToSource","pathNormalizeToLinux","__dirname","replace","defaultConfig","join","getJestWorker","JestTester","create","jest","declareWorker","jestWorkerPath","getEsmJestTester","createEsmJestTester","getTester","createTsCompilerOptions","mode","tsconfig","cloneDeep","compileJs","compileJsx","types","getTsCjsCompiler","transformers","tsModule","ts","createTsCjsCompiler","tsCompileOptions","createCjsCompiler","getTsEsmCompiler","createTsEsmCompiler","createEsmCompiler","getCompiler","getEslintOptions","options","pluginPath","mergedConfig","overrideConfig","extensions","extensionFormats","useEslintrc","cwd","fix","fixTypes","assign","getLinter","tsconfigPath","eslintConfig","mergedOptions","EslintConfigMutator","transformerContext","addExtensionTypes","setTsConfig","afterMutation","runTransformersWithContext","clone","ESLintLinter","getFormatter","PrettierConfigMutator","check","PrettierFormatter","getFileMap","components","local","reduce","component","state","filesystem","files","file","id","toString","homepage","fullName","ComponentUrl","toUrl","writeFileMap","fileMap","tmpdir","Math","random","slice","outputFileSync","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","tsserverPath","contextPath","createSchemaExtractor","getDevServer","webpackModulePath","webpackDevServerModulePath","baseConfig","basePreviewConfigFactory","envDevConfig","envPreviewDevConfigFactory","componentDevConfig","componentPreviewDevConfigFactory","defaultTransformer","merged","WebpackDevServer","workspacePath","getBundler","createComponentsWebpackBundler","development","baseProdConfig","basePreviewProdConfigFactory","componentProdConfig","componentPreviewProdConfigFactory","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","templateConfig","templateWebpackConfigFactory","WebpackBundler","targets","bundlerContext","getAdditionalHostDependencies","getDocsTemplate","getMounter","getPreviewConfig","strategyName","COMPONENT_PREVIEW_STRATEGY_NAME","splitComponentBundle","isScaling","supportsUseSource","getPackageJsonProps","getCjsPackageJsonProps","createCjsPackageJsonProps","getEsmPackageJsonProps","createEsmPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","getDependencies","dependencies","react","devDependencies","peerDependencies","getBuildPipe","modifiers","tsModifier","jestModifier","jestPath","module","testerTask","JestTask","createCjsCompilerTask","getBuildPipeWithoutCompiler","createBuildPipeWithoutCompiler","pipeWithoutCompiler","task","aspectId","getEsmCompilerTask","createEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","workspaceConfig","TypescriptConfigWriter","EslintConfigWriter","configPath","PrettierConfigWriter","__getDescriptor","type","newConfig","acc","transformer"],"sources":["react.env.ts"],"sourcesContent":["import type { TsConfigSourceFile } from 'typescript';\nimport ts from 'typescript';\nimport { tmpdir } from 'os';\nimport type { Component } from '@teambit/component';\nimport type { ESLint as ESLintLib } from 'eslint';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport type { BuildTask } from '@teambit/builder';\nimport { CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { merge, cloneDeep } from 'lodash';\nimport type { Bundler, BundlerContext, DevServer, DevServerContext } from '@teambit/bundler';\nimport type { PreviewStrategyName } from '@teambit/preview';\nimport { COMPONENT_PREVIEW_STRATEGY_NAME } from '@teambit/preview';\nimport { PrettierConfigWriter, PrettierFormatter } from '@teambit/defender.prettier-formatter';\nimport type {\n PrettierConfigTransformContext,\n PrettierConfigTransformer,\n} from '@teambit/defender.prettier.config-mutator';\nimport { PrettierConfigMutator } from '@teambit/defender.prettier.config-mutator';\nimport { TypescriptConfigWriter } from '@teambit/typescript.typescript-compiler';\nimport { EslintConfigWriter, ESLintLinter } from '@teambit/defender.eslint-linter';\nimport type { ESLintOptions } from '@teambit/defender.eslint-linter';\nimport type { CompilerMain } from '@teambit/compiler';\nimport type {\n BuilderEnv,\n CompilerEnv,\n DependenciesEnv,\n DevEnv,\n LinterEnv,\n PackageEnv,\n TesterEnv,\n FormatterEnv,\n PipeServiceModifier,\n PipeServiceModifiersMap,\n} from '@teambit/envs';\nimport { JestTask, JestTester, jestWorkerPath } from '@teambit/defender.jest-tester';\nimport type { JestWorker } from '@teambit/defender.jest-tester';\nimport type { PackageJsonProps, PkgMain } from '@teambit/pkg';\nimport type { Tester, TesterMain } from '@teambit/tester';\nimport type { TsConfigTransformer, TypescriptMain, TypeScriptCompilerOptions } from '@teambit/typescript';\nimport type { WebpackConfigDevServerTransformContext, WebpackConfigTransformer } from '@teambit/webpack';\nimport { WebpackBundler, html as webpackHtmlTemplate } from '@teambit/webpack.webpack-bundler';\nimport { WebpackDevServer } from '@teambit/webpack.webpack-dev-server';\nimport type { PubsubMain } from '@teambit/pubsub';\nimport HtmlWebpackPlugin from 'html-webpack-plugin';\nimport WebpackAssetsManifest from 'webpack-assets-manifest';\nimport type { Workspace } from '@teambit/workspace';\nimport type { EslintConfigTransformContext, EslintConfigTransformer } from '@teambit/defender.eslint.config-mutator';\nimport { EslintConfigMutator } from '@teambit/defender.eslint.config-mutator';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport type { Linter, LinterContext } from '@teambit/linter';\nimport type { Formatter, FormatterContext } from '@teambit/formatter';\nimport { pathNormalizeToLinux } from '@teambit/toolbox.path.path';\nimport type { ComponentMeta } from '@teambit/react.ui.highlighter.component-metadata.bit-component-meta';\nimport type { SchemaExtractor } from '@teambit/schema';\nimport { join, resolve } from 'path';\nimport { outputFileSync } from 'fs-extra';\nimport type { Logger } from '@teambit/logger';\nimport type { ConfigWriterEntry } from '@teambit/workspace-config-files';\n\n// ensure reactEnv depends on compositions-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { CompositionsApp } from '@teambit/react.ui.compositions-app';\n// ensure reactEnv depends on docs-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport DocsApps from '@teambit/react.ui.docs-app';\nimport type { ReactMainConfig } from './react.main.runtime';\nimport { ReactAspect } from './react.aspect';\n// webpack configs for both components and envs\nimport basePreviewConfigFactory from './webpack/webpack.config.base';\nimport basePreviewProdConfigFactory from './webpack/webpack.config.base.prod';\n\n// webpack configs for envs only\n// import devPreviewConfigFactory from './webpack/webpack.config.preview.dev';\nimport envPreviewDevConfigFactory from './webpack/webpack.config.env.dev';\nimport { templateWebpackConfigFactory } from './webpack/webpack.config.env.template';\n\n// webpack configs for components only\nimport componentPreviewProdConfigFactory from './webpack/webpack.config.component.prod';\nimport componentPreviewDevConfigFactory from './webpack/webpack.config.component.dev';\nimport type { WorkerMain } from '@teambit/worker';\nimport type { DevFilesMain } from '@teambit/dev-files';\n\nexport const ReactEnvType = 'react';\nconst defaultTsConfig = require('./typescript/tsconfig.json');\nconst buildTsConfig = require('./typescript/tsconfig.build.json');\nconst prettierConfig = require('./prettier/prettier.config');\n\n// TODO: move to be taken from the key mode of compiler context\ntype CompilerMode = 'build' | 'dev';\n\ntype GetBuildPipeModifiers = PipeServiceModifiersMap & {\n tsModifier?: PipeServiceModifier;\n jestModifier?: PipeServiceModifier;\n};\n\n/**\n * @teambit/webpack.webpack-bundler builds its base config without the asset-manifest plugin that\n * teambit.webpack/webpack's own bundler factory adds (used by SSR/consumers reading asset-manifest.json).\n */\nconst addAssetsManifestPlugin: WebpackConfigTransformer = (configMutator) => {\n // inserted right after ProvidePlugin (index 0, always first in the base config) to match the\n // plugin order teambit.webpack/webpack's own bundler factory produces - appending would land\n // after plugins the base config conditionally adds later (e.g. CompressionPlugin).\n configMutator.raw.plugins = configMutator.raw.plugins || [];\n configMutator.raw.plugins.splice(1, 0, new WebpackAssetsManifest({ entrypoints: true }));\n return configMutator;\n};\n\n/**\n * @teambit/webpack.webpack-dev-server's base config factory has drifted from the tuning\n * teambit.webpack/webpack's own dev-server factory applies (see PR description for the full list).\n * This keeps the emitted config identical to what `WebpackMain.createDevServer` used to produce.\n */\nfunction alignDevServerWithWorkspaceDefaults(workspace: Workspace): WebpackConfigTransformer {\n return (configMutator, context) => {\n const devServerContext = context as unknown as WebpackConfigDevServerTransformContext;\n const raw = configMutator.raw;\n // the package's base config sets `output.pathinfo` explicitly; the workspace's own factory\n // leaves it unset and relies on webpack's per-mode default instead.\n if (raw.output) delete raw.output.pathinfo;\n raw.stats = { ...raw.stats, logging: 'error' };\n const componentPathsRegExps = workspace.getComponentPathsRegExps();\n raw.snapshot = componentPathsRegExps.length ? { managedPaths: componentPathsRegExps } : {};\n if (raw.devServer) {\n if (Array.isArray(raw.devServer.static)) {\n raw.devServer.static.forEach((entry: any) => {\n if (entry && typeof entry === 'object') entry.watch = false;\n });\n }\n raw.devServer.historyApiFallback = {\n ...raw.devServer.historyApiFallback,\n index: resolve(workspace.path, `${devServerContext.rootPath}/${devServerContext.publicPath}`),\n };\n raw.devServer.client = { ...raw.devServer.client, logging: 'error' };\n }\n if (Array.isArray(raw.plugins)) {\n // html-webpack-plugin resolves its `.options` inside the constructor itself, so mutating\n // an existing instance's `userOptions` afterward has no effect - it has to be reconstructed.\n // matched by constructor name rather than `instanceof`: the package resolves its own copy\n // of html-webpack-plugin, so the class reference here would never match theirs.\n raw.plugins = raw.plugins.map((plugin: any) =>\n plugin?.constructor?.name === 'HtmlWebpackPlugin'\n ? new HtmlWebpackPlugin({\n templateContent: webpackHtmlTemplate(devServerContext.title || 'Component preview'),\n filename: 'index.html',\n favicon: plugin.userOptions?.favicon,\n })\n : plugin\n );\n }\n return configMutator;\n };\n}\n\n/**\n * a component environment built for [React](https://reactjs.org) .\n */\nexport class ReactEnv\n implements TesterEnv, CompilerEnv, LinterEnv, DevEnv, BuilderEnv, DependenciesEnv, PackageEnv, FormatterEnv\n{\n constructor(\n /**\n * typescript extension.\n */\n protected tsAspect: TypescriptMain,\n\n /**\n * compiler extension.\n */\n private compiler: CompilerMain,\n\n /**\n * pubsub extension.\n */\n private pubsub: PubsubMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * worker extension.\n */\n private worker: WorkerMain,\n\n /**\n * pkg extension.\n */\n private pkg: PkgMain,\n\n /**\n * tester extension\n */\n private tester: TesterMain,\n\n private config: ReactMainConfig,\n\n private dependencyResolver: DependencyResolverMain,\n\n private devFiles: DevFilesMain,\n\n private logger: Logger,\n\n private compilerAspectId: string\n ) {}\n\n getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, defaultTsConfig, targetTsConfig) : defaultTsConfig;\n }\n\n getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, buildTsConfig, targetTsConfig) : buildTsConfig;\n }\n\n /**\n * @deprecated use createCjsJestTester()\n */\n getCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n /**\n * Get a jest tester instance with react config and cjs configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n createCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.cjs.config.js');\n const config = jestConfigPath || defaultConfig;\n const worker = this.getJestWorker();\n const tester = JestTester.create(\n {\n jest: jestModulePath || require.resolve('jest'),\n config,\n },\n { logger: this.logger, worker, devFiles: this.devFiles }\n );\n\n return tester;\n }\n\n private getJestWorker() {\n return this.worker.declareWorker<JestWorker>('jest', jestWorkerPath);\n }\n\n /**\n * @deprecated use createEsmJestTester()\n */\n getEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createEsmJestTester(jestConfigPath, jestModulePath);\n }\n\n /**\n * Get a jest tester instance with react config and esm configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n createEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.esm.config.js');\n const config = jestConfigPath || defaultConfig;\n const worker = this.getJestWorker();\n return JestTester.create(\n {\n jest: jestModulePath || require.resolve('jest'),\n config,\n },\n { logger: this.logger, worker, devFiles: this.devFiles }\n );\n }\n\n /**\n * returns a component tester.\n */\n getTester(jestConfigPath: string, jestModulePath?: string): Tester {\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n private createTsCompilerOptions(mode: CompilerMode = 'dev'): TypeScriptCompilerOptions {\n const tsconfig = mode === 'dev' ? cloneDeep(defaultTsConfig) : cloneDeep(buildTsConfig);\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist/', '/src/');\n const compileJs = true;\n const compileJsx = true;\n return {\n tsconfig,\n // TODO: @david please remove this line and refactor to be something that makes sense.\n types: [resolve(pathToSource, './typescript/style.d.ts'), resolve(pathToSource, './typescript/asset.d.ts')],\n compileJs,\n compileJsx,\n };\n }\n\n /**\n * @deprecated use createTsCjsCompiler()\n */\n getTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createTsCjsCompiler(mode, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to cjs module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n createTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createCjsCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n /**\n * @deprecated use createTsEsmCompiler()\n */\n getTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n this.createTsEsmCompiler(mode, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to esm module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n createTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createEsmCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n getCompiler(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n // return this.getTsEsmCompiler('dev', transformers, tsModule);\n return this.createTsCjsCompiler('dev', transformers, tsModule);\n }\n\n private getEslintOptions(options: ESLintLib.Options, pluginPath: string, context: LinterContext): ESLintOptions {\n const mergedConfig: ESLintLib.Options = {\n // @ts-ignore - this is a bug in the @types/eslint types\n overrideConfig: options,\n extensions: context.extensionFormats,\n useEslintrc: false,\n // TODO: this should be probably be replaced with resolve-plugins-relative-to\n // https://eslint.org/docs/latest/use/command-line-interface#--resolve-plugins-relative-to\n cwd: pluginPath,\n fix: !!context.fix,\n fixTypes: context.fixTypes as ESLintLib.Options['fixTypes'],\n };\n return Object.assign({}, options, { config: mergedConfig, extensions: context.extensionFormats });\n }\n\n /**\n * returns and configures the component linter.\n */\n getLinter(context: LinterContext, transformers: EslintConfigTransformer[] = []): Linter {\n const tsconfigPath = require.resolve('./typescript/tsconfig.json');\n\n // resolve all plugins from the react environment.\n const eslintConfig = require('./eslint/eslintrc');\n const mergedOptions = this.getEslintOptions(eslintConfig, __dirname, context);\n const configMutator = new EslintConfigMutator(mergedOptions);\n const transformerContext: EslintConfigTransformContext = { fix: !!context.fix };\n configMutator.addExtensionTypes(['.md', '.mdx']);\n configMutator.setTsConfig(tsconfigPath);\n const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);\n return ESLintLinter.create(afterMutation.raw, { logger: this.logger });\n }\n\n /**\n * returns and configures the component formatter.\n */\n getFormatter(context: FormatterContext, transformers: PrettierConfigTransformer[] = []): Formatter {\n const configMutator = new PrettierConfigMutator(prettierConfig);\n const transformerContext: PrettierConfigTransformContext = { check: !!context?.check };\n const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);\n return PrettierFormatter.create({ config: afterMutation.raw }, { logger: this.logger });\n }\n\n private getFileMap(components: Component[], local = false) {\n return components.reduce<{ [key: string]: ComponentMeta }>((index, component: Component) => {\n component.state.filesystem.files.forEach((file) => {\n index[file.path] = {\n id: component.id.toString(),\n homepage: local ? `/${component.id.fullName}` : ComponentUrl.toUrl(component.id),\n };\n });\n\n return index;\n }, {});\n }\n\n private writeFileMap(components: Component[], local?: boolean) {\n const fileMap = this.getFileMap(components, local);\n const path = join(tmpdir(), `${Math.random().toString(36).slice(2, 11)}.json`);\n outputFileSync(path, JSON.stringify(fileMap));\n return path;\n }\n\n /**\n * required for `bit start`\n */\n getDevEnvId(id?: string) {\n if (typeof id !== 'string') return ReactAspect.id;\n return id || ReactAspect.id;\n }\n\n /**\n * get a schema generator instance configured with the correct tsconfig.\n */\n getSchemaExtractor(tsconfig: TsConfigSourceFile, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig), tsserverPath, contextPath);\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(\n context: DevServerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string,\n webpackDevServerModulePath?: string\n ): DevServer {\n const baseConfig = basePreviewConfigFactory(false);\n const envDevConfig = envPreviewDevConfigFactory(context.id);\n const componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);\n return merged;\n };\n\n return WebpackDevServer.create(\n {\n devServerContext: context,\n transformers: [defaultTransformer, alignDevServerWithWorkspaceDefaults(this.workspace), ...transformers],\n webpackModulePath,\n webpackDevServerModulePath,\n },\n {\n logger: this.logger,\n workspacePath: this.workspace.path,\n pubsub: this.pubsub,\n }\n );\n }\n\n async getBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers, webpackModulePath);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const componentProdConfig = componentPreviewProdConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, componentProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const templateConfig = templateWebpackConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, templateConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return WebpackBundler.create(\n {\n targets: context.targets,\n transformers: [addAssetsManifestPlugin, ...transformers],\n bundlerContext: context,\n webpackModulePath,\n },\n { logger: this.logger }\n );\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react', 'react-dom'];\n }\n\n /**\n * returns a path to a docs template.\n */\n getDocsTemplate() {\n return require.resolve('@teambit/react.ui.docs-app');\n }\n\n icon = 'https://static.bit.dev/extensions-icons/react.svg';\n\n /**\n * returns the path to the compositions template\n */\n getMounter() {\n return require.resolve('@teambit/react.ui.compositions-app');\n }\n\n getPreviewConfig() {\n return {\n strategyName: COMPONENT_PREVIEW_STRATEGY_NAME as PreviewStrategyName,\n splitComponentBundle: true,\n isScaling: true,\n supportsUseSource: true,\n };\n }\n\n /**\n * define the package json properties to add to each component.\n */\n getPackageJsonProps(): PackageJsonProps {\n // React compile by default to esm, so uses type module\n // return this.getEsmPackageJsonProps();\n return this.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createCjsPackageJsonProps()\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return this.createCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for a cjs component\n * @returns\n */\n createCjsPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createEsmPackageJsonProps()\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return this.createEsmPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for an esm component\n * @returns\n */\n createEsmPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getEsmPackageJsonProps();\n }\n\n getNpmIgnore() {\n return [`${CAPSULE_ARTIFACTS_DIR}/*`];\n }\n\n /**\n * adds dependencies to all configured components.\n */\n getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n 'core-js': '^3.0.0',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^19.0.0',\n '@types/react-dom': '^19.0.0',\n '@types/jest': '^26.0.0',\n // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed\n '@babel/runtime': '7.20.0',\n '@types/testing-library__jest-dom': '5.9.5',\n },\n peerDependencies: {\n react: '^17.0.0 || ^18.0.0 || ^19.0.0',\n 'react-dom': '^17.0.0 || ^18.0.0 || ^19.0.0',\n },\n };\n }\n\n /**\n * returns the component build pipeline.\n */\n getBuildPipe(modifiers: GetBuildPipeModifiers = {}): BuildTask[] {\n const transformers: Function[] = modifiers?.tsModifier?.transformers || [];\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const jestConfigPath =\n modifiers?.jestModifier?.transformers?.[0]() || join(pathToSource, './jest/jest.cjs.config.js');\n const jestPath = modifiers?.jestModifier?.module || require.resolve('jest');\n const worker = this.getJestWorker();\n const testerTask = JestTask.create(\n { config: jestConfigPath, jest: jestPath },\n { logger: this.logger, worker, devFiles: this.devFiles }\n );\n return [this.createCjsCompilerTask(transformers, modifiers?.tsModifier?.module || ts), testerTask];\n }\n\n /**\n * @deprecated use createBuildPipeWithoutCompiler()\n */\n getBuildPipeWithoutCompiler(): BuildTask[] {\n return this.createBuildPipeWithoutCompiler();\n }\n\n /**\n * Get the react build pipeline without the compilation task.\n * This help in cases you want to only replace the compilation task with something else\n * @returns\n */\n createBuildPipeWithoutCompiler(): BuildTask[] {\n const pipeWithoutCompiler = this.getBuildPipe().filter((task) => task.aspectId !== this.compilerAspectId);\n return pipeWithoutCompiler;\n }\n\n /**\n * @deprecated use createEsmCompilerTask()\n */\n getEsmCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createEsmCompilerTask(transformers as Function[], tsModule);\n }\n\n /**\n * Get a compiler task with react config and set to esm module\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsEsmCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n /**\n * @deprecated use createCjsCompilerTask()\n * */\n getCjsCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCjsCompilerTask(transformers as Function[], tsModule);\n }\n\n /**\n * Get a compiler task with react config and set to cjs module\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsCjsCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n workspaceConfig(): ConfigWriterEntry[] {\n return [\n TypescriptConfigWriter.create(\n {\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n // types: resolveTypes(__dirname, [\"./types\"]),\n },\n this.logger\n ),\n EslintConfigWriter.create(\n {\n configPath: require.resolve('./eslint/eslintrc.js'),\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n },\n this.logger\n ),\n PrettierConfigWriter.create(\n {\n configPath: require.resolve('./prettier/prettier.config.js'),\n },\n this.logger\n ),\n ];\n }\n\n async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n\nexport function runTransformersWithContext<P, T extends Function, C>(config: P, transformers: T[] = [], context: C): P {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,7 +9,8 @@ import type { PkgMain, PackageJsonProps } from '@teambit/pkg';
|
|
|
9
9
|
import type { SchemaMain } from '@teambit/schema';
|
|
10
10
|
import type { TesterMain } from '@teambit/tester';
|
|
11
11
|
import type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransformer } from '@teambit/typescript';
|
|
12
|
-
import type {
|
|
12
|
+
import type { Configuration, WebpackConfigTransformer } from '@teambit/webpack';
|
|
13
|
+
import type { PubsubMain } from '@teambit/pubsub';
|
|
13
14
|
import type { GeneratorMain } from '@teambit/generator';
|
|
14
15
|
import type { Workspace } from '@teambit/workspace';
|
|
15
16
|
import type { DependencyResolverMain, EnvPolicyConfigObject } from '@teambit/dependency-resolver';
|
|
@@ -25,7 +26,7 @@ type ReactDeps = [
|
|
|
25
26
|
EnvsMain,
|
|
26
27
|
TypescriptMain,
|
|
27
28
|
CompilerMain,
|
|
28
|
-
|
|
29
|
+
PubsubMain,
|
|
29
30
|
Workspace,
|
|
30
31
|
GraphqlMain,
|
|
31
32
|
PkgMain,
|
|
@@ -183,6 +184,6 @@ export declare class ReactMain {
|
|
|
183
184
|
} | null;
|
|
184
185
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
185
186
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
186
|
-
static provider([envs, tsAspect, compiler,
|
|
187
|
+
static provider([envs, tsAspect, compiler, pubsub, workspace, graphql, pkg, tester, application, generator, dependencyResolver, loggerMain, schemaMain, workerMain, devFilesMain,]: ReactDeps, config: ReactMainConfig, slots: any, harmony: Harmony): Promise<ReactMain>;
|
|
187
188
|
}
|
|
188
189
|
export {};
|
|
@@ -81,9 +81,9 @@ function _typescript() {
|
|
|
81
81
|
};
|
|
82
82
|
return data;
|
|
83
83
|
}
|
|
84
|
-
function
|
|
85
|
-
const data = require("@teambit/
|
|
86
|
-
|
|
84
|
+
function _pubsub() {
|
|
85
|
+
const data = require("@teambit/pubsub");
|
|
86
|
+
_pubsub = function () {
|
|
87
87
|
return data;
|
|
88
88
|
};
|
|
89
89
|
return data;
|
|
@@ -480,9 +480,9 @@ class ReactMain {
|
|
|
480
480
|
properties: docs.properties
|
|
481
481
|
};
|
|
482
482
|
}
|
|
483
|
-
static async provider([envs, tsAspect, compiler,
|
|
483
|
+
static async provider([envs, tsAspect, compiler, pubsub, workspace, graphql, pkg, tester, application, generator, dependencyResolver, loggerMain, schemaMain, workerMain, devFilesMain], config, slots, harmony) {
|
|
484
484
|
const logger = loggerMain.createLogger(_react().ReactAspect.id);
|
|
485
|
-
const reactEnv = new (_react2().ReactEnv)(tsAspect, compiler,
|
|
485
|
+
const reactEnv = new (_react2().ReactEnv)(tsAspect, compiler, pubsub, workspace, workerMain, pkg, tester, config, dependencyResolver, devFilesMain, logger, _compiler().CompilerAspect.id);
|
|
486
486
|
const appType = new (_web().ReactAppType)('react-app', reactEnv, logger, dependencyResolver);
|
|
487
487
|
const react = new ReactMain(reactEnv, envs, application, appType, dependencyResolver, logger);
|
|
488
488
|
graphql.register(() => (0, _react3().reactSchema)(react));
|
|
@@ -500,7 +500,7 @@ class ReactMain {
|
|
|
500
500
|
}
|
|
501
501
|
exports.ReactMain = ReactMain;
|
|
502
502
|
_defineProperty(ReactMain, "runtime", _cli().MainRuntime);
|
|
503
|
-
_defineProperty(ReactMain, "dependencies", [_envs().EnvsAspect, _typescript().TypescriptAspect, _compiler().CompilerAspect,
|
|
503
|
+
_defineProperty(ReactMain, "dependencies", [_envs().EnvsAspect, _typescript().TypescriptAspect, _compiler().CompilerAspect, _pubsub().PubsubAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _pkg().PkgAspect, _tester().TesterAspect, _application().ApplicationAspect, _generator().GeneratorAspect, _dependencyResolver().DependencyResolverAspect, _logger().LoggerAspect, _schema().SchemaAspect, _worker().WorkerAspect, _devFiles().DevFilesAspect]);
|
|
504
504
|
_react().ReactAspect.addRuntime(ReactMain);
|
|
505
505
|
|
|
506
506
|
//# sourceMappingURL=react.main.runtime.js.map
|