@teambit/react 0.0.560 → 0.0.564
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/react.env.js.map +1 -1
- package/package.json +65 -44
package/dist/react.env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["react.env.ts"],"names":["AspectEnvType","defaultTsConfig","require","buildTsConfig","eslintConfig","prettierConfig","ReactEnv","constructor","jestAspect","tsAspect","compiler","webpack","workspace","pkg","tester","config","eslint","prettier","getTsConfig","targetTsConfig","getBuildTsConfig","getTester","jestConfigPath","jestModulePath","resolve","createTester","getTsCompilerOptions","mode","tsconfig","pathToSource","__dirname","replace","compileJs","compileJsx","types","getTsCompiler","transformers","tsModule","ts","tsCompileOptions","createCompiler","getCompiler","getLinter","context","defaultTransformer","configMutator","addExtensionTypes","allTransformers","createLinter","pluginPath","getFormatter","createFormatter","getFileMap","components","local","reduce","index","component","state","filesystem","files","forEach","file","path","id","toString","homepage","fullName","ComponentUrl","toUrl","writeFileMap","fileMap","Math","random","substr","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","createSchemaExtractor","getDevServer","baseConfig","envDevConfig","componentsDirs","getComponentsModulesDirectories","componentDevConfig","merged","merge","createDevServer","getBundler","baseProdConfig","componentProdConfig","createPreviewBundler","dirs","map","getModulePath","absPath","getEntriesFromWebpackConfig","entry","Array","isArray","entries","acc","push","getDocsTemplate","getMounter","getPackageJsonProps","getDependencies","dependencies","react","devDependencies","peerDependencies","getBuildPipe","modifiers","tsModifier","getCompilerTask","module","task","tsCompiler","createTask","__getDescriptor","type"],"mappings":"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","sourcesContent":["import ts, { TsConfigSourceFile } from 'typescript';\nimport { tmpdir } from 'os';\nimport { Component } from '@teambit/component';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { BuildTask } from '@teambit/builder';\nimport { merge } from 'lodash';\nimport { Bundler, BundlerContext, DevServer, DevServerContext } from '@teambit/bundler';\nimport { CompilerMain } from '@teambit/compiler';\nimport {\n BuilderEnv,\n CompilerEnv,\n DependenciesEnv,\n DevEnv,\n LinterEnv,\n PackageEnv,\n TesterEnv,\n FormatterEnv,\n PipeServiceModifier,\n PipeServiceModifiersMap,\n} from '@teambit/envs';\nimport { JestMain } from '@teambit/jest';\nimport { PkgMain } from '@teambit/pkg';\nimport { Tester, TesterMain } from '@teambit/tester';\nimport { TsConfigTransformer, TypescriptMain } from '@teambit/typescript';\nimport type { TypeScriptCompilerOptions } from '@teambit/typescript';\nimport { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';\nimport { Workspace } from '@teambit/workspace';\nimport { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierConfigTransformer, PrettierMain } from '@teambit/prettier';\nimport { Linter, LinterContext } from '@teambit/linter';\nimport { Formatter, FormatterContext } from '@teambit/formatter';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport type { ComponentMeta } from '@teambit/react.babel.bit-react-transformer';\nimport { SchemaExtractor } from '@teambit/schema';\nimport { join, resolve } from 'path';\nimport { outputFileSync } from 'fs-extra';\nimport { Configuration } from 'webpack';\n// Makes sure the @teambit/react.ui.docs-app is a dependency\n// TODO: remove this import once we can set policy from component to component with workspace version. Then set it via the component.json\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { ReactMainConfig } from './react.main.runtime';\nimport { ReactAspect } from './react.aspect';\n\n// webpack configs for both components and envs\nimport basePreviewConfigFactory from './webpack/webpack.config.base';\nimport basePreviewProdConfigFactory from './webpack/webpack.config.base.prod';\n\n// webpack configs for envs only\n// import devPreviewConfigFactory from './webpack/webpack.config.preview.dev';\nimport envPreviewDevConfigFactory from './webpack/webpack.config.env.dev';\n\n// webpack configs for components only\nimport componentPreviewProdConfigFactory from './webpack/webpack.config.component.prod';\nimport componentPreviewDevConfigFactory from './webpack/webpack.config.component.dev';\n\nexport const AspectEnvType = 'react';\nconst defaultTsConfig = require('./typescript/tsconfig.json');\nconst buildTsConfig = require('./typescript/tsconfig.build.json');\nconst eslintConfig = require('./eslint/eslintrc');\nconst prettierConfig = require('./prettier/prettier.config.js');\n\n// TODO: move to be taken from the key mode of compiler context\ntype CompilerMode = 'build' | 'dev';\n\ntype GetBuildPipeModifiers = PipeServiceModifiersMap & {\n tsModifier?: PipeServiceModifier;\n};\n\n/**\n * a component environment built for [React](https://reactjs.org) .\n */\nexport class ReactEnv\n implements TesterEnv, CompilerEnv, LinterEnv, DevEnv, BuilderEnv, DependenciesEnv, PackageEnv, FormatterEnv\n{\n constructor(\n /**\n * jest extension\n */\n private jestAspect: JestMain,\n\n /**\n * typescript extension.\n */\n private tsAspect: TypescriptMain,\n\n /**\n * compiler extension.\n */\n private compiler: CompilerMain,\n\n /**\n * webpack extension.\n */\n private webpack: WebpackMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * pkg extension.\n */\n private pkg: PkgMain,\n\n /**\n * tester extension\n */\n private tester: TesterMain,\n\n private config: ReactMainConfig,\n\n private eslint: ESLintMain,\n\n private prettier: PrettierMain\n ) {}\n\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 * returns a component tester.\n */\n getTester(jestConfigPath: string, jestModulePath?: string): Tester {\n const config = jestConfigPath || require.resolve('./jest/jest.config');\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n private getTsCompilerOptions(mode: CompilerMode = 'dev'): TypeScriptCompilerOptions {\n const tsconfig = mode === 'dev' ? defaultTsConfig : 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 private getTsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.getTsCompilerOptions(mode);\n return this.tsAspect.createCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n getCompiler(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.getTsCompiler('dev', transformers, tsModule);\n }\n\n /**\n * returns and configures the component linter.\n */\n getLinter(context: LinterContext, transformers: EslintConfigTransformer[] = []): Linter {\n const defaultTransformer: EslintConfigTransformer = (configMutator) => {\n configMutator.addExtensionTypes(['.md', '.mdx']);\n return configMutator;\n };\n\n const allTransformers = [defaultTransformer, ...transformers];\n\n return this.eslint.createLinter(\n context,\n {\n config: eslintConfig,\n // resolve all plugins from the react environment.\n pluginPath: __dirname,\n },\n allTransformers\n );\n }\n\n /**\n * returns and configures the component formatter.\n */\n getFormatter(context: FormatterContext, transformers: PrettierConfigTransformer[] = []): Formatter {\n return this.prettier.createFormatter(\n context,\n {\n config: prettierConfig,\n },\n transformers\n );\n }\n\n private getFileMap(components: Component[], local = false) {\n return components.reduce<{ [key: string]: ComponentMeta }>((index, component: Component) => {\n component.state.filesystem.files.forEach((file) => {\n index[file.path] = {\n id: component.id.toString(),\n homepage: local ? `/${component.id.fullName}` : ComponentUrl.toUrl(component.id),\n };\n });\n\n return index;\n }, {});\n }\n\n private writeFileMap(components: Component[], local?: boolean) {\n const fileMap = this.getFileMap(components, local);\n const path = join(tmpdir(), `${Math.random().toString(36).substr(2, 9)}.json`);\n outputFileSync(path, JSON.stringify(fileMap));\n return path;\n }\n\n /**\n * required for `bit start`\n */\n getDevEnvId(id?: string) {\n if (typeof id !== 'string') return ReactAspect.id;\n return id || ReactAspect.id;\n }\n\n /**\n * get a schema generator instance configured with the correct tsconfig.\n */\n getSchemaExtractor(tsconfig: TsConfigSourceFile): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig));\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(context: DevServerContext, transformers: WebpackConfigTransformer[] = []): DevServer {\n const baseConfig = basePreviewConfigFactory(false);\n const envDevConfig = envPreviewDevConfigFactory(context.id);\n const componentsDirs = this.getComponentsModulesDirectories(context.components);\n // const fileMapPath = this.writeFileMap(context.components, true);\n // const componentDevConfig = componentPreviewDevConfigFactory(fileMapPath, this.workspace.path);\n // const componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id);\n const componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id, componentsDirs);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);\n return merged;\n };\n\n return this.webpack.createDevServer(context, [defaultTransformer, ...transformers]);\n }\n\n async getBundler(context: BundlerContext, transformers: WebpackConfigTransformer[] = []): Promise<Bundler> {\n // const fileMapPath = this.writeFileMap(context.components);\n const baseConfig = basePreviewConfigFactory(true);\n const baseProdConfig = basePreviewProdConfigFactory();\n // const componentProdConfig = componentPreviewProdConfigFactory(fileMapPath);\n const componentProdConfig = componentPreviewProdConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, componentProdConfig]);\n return merged;\n };\n\n return this.webpack.createPreviewBundler(context, [defaultTransformer, ...transformers]);\n }\n\n private getComponentsModulesDirectories(components: Component[]): string[] {\n const dirs = components.map((component) => {\n return this.pkg.getModulePath(component, { absPath: true });\n });\n return dirs;\n }\n\n private getEntriesFromWebpackConfig(config?: Configuration): string[] {\n if (!config || !config.entry) {\n return [];\n }\n if (typeof config.entry === 'string') {\n return [config.entry];\n }\n if (Array.isArray(config.entry)) {\n let entries: string[] = [];\n entries = config.entry.reduce((acc, entry) => {\n if (typeof entry === 'string') {\n acc.push(entry);\n }\n return acc;\n }, entries);\n return entries;\n }\n return [];\n }\n\n /**\n * returns a path to a docs template.\n */\n getDocsTemplate() {\n return require.resolve('@teambit/react.ui.docs-app');\n }\n\n icon = 'https://static.bit.dev/extensions-icons/react.svg';\n\n /**\n * returns a paths to a function which mounts a given component to DOM\n */\n getMounter() {\n return require.resolve('./mount');\n }\n\n /**\n * define the package json properties to add to each component.\n */\n getPackageJsonProps() {\n return this.tsAspect.getPackageJsonProps();\n }\n\n /**\n * adds dependencies to all configured components.\n */\n getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n 'core-js': '^3.0.0',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^17.0.8',\n '@types/react-dom': '^17.0.5',\n '@types/jest': '^26.0.0',\n // '@types/react-router-dom': '^5.0.0', // TODO - should not be here (!)\n // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed\n '@babel/runtime': '7.12.18',\n '@types/testing-library__jest-dom': '5.9.5',\n },\n peerDependencies: {\n react: '^16.8.0 || ^17.0.0',\n 'react-dom': '^16.8.0 || ^17.0.0',\n },\n };\n }\n\n /**\n * returns the component build pipeline.\n */\n getBuildPipe(modifiers: GetBuildPipeModifiers = {}): BuildTask[] {\n const transformers: TsConfigTransformer[] =\n (modifiers?.tsModifier?.transformers as any as TsConfigTransformer[]) || [];\n return [this.getCompilerTask(transformers, modifiers?.tsModifier?.module || ts), this.tester.task];\n }\n\n private getCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompiler = this.getTsCompiler('build', transformers, tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n async __getDescriptor() {\n return {\n type: AspectEnvType,\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["react.env.ts"],"names":["AspectEnvType","defaultTsConfig","require","buildTsConfig","eslintConfig","prettierConfig","ReactEnv","constructor","jestAspect","tsAspect","compiler","webpack","workspace","pkg","tester","config","eslint","prettier","getTsConfig","targetTsConfig","getBuildTsConfig","getTester","jestConfigPath","jestModulePath","resolve","createTester","getTsCompilerOptions","mode","tsconfig","pathToSource","__dirname","replace","compileJs","compileJsx","types","getTsCompiler","transformers","tsModule","ts","tsCompileOptions","createCompiler","getCompiler","getLinter","context","defaultTransformer","configMutator","addExtensionTypes","allTransformers","createLinter","pluginPath","getFormatter","createFormatter","getFileMap","components","local","reduce","index","component","state","filesystem","files","forEach","file","path","id","toString","homepage","fullName","ComponentUrl","toUrl","writeFileMap","fileMap","Math","random","substr","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","createSchemaExtractor","getDevServer","baseConfig","envDevConfig","componentsDirs","getComponentsModulesDirectories","componentDevConfig","merged","merge","createDevServer","getBundler","baseProdConfig","componentProdConfig","createPreviewBundler","dirs","map","getModulePath","absPath","getEntriesFromWebpackConfig","entry","Array","isArray","entries","acc","push","getDocsTemplate","getMounter","getPackageJsonProps","getDependencies","dependencies","react","devDependencies","peerDependencies","getBuildPipe","modifiers","tsModifier","getCompilerTask","module","task","tsCompiler","createTask","__getDescriptor","type"],"mappings":"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","sourcesContent":["import ts, { TsConfigSourceFile } from 'typescript';\nimport { tmpdir } from 'os';\nimport { Component } from '@teambit/component';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { BuildTask } from '@teambit/builder';\nimport { merge } from 'lodash';\nimport { Bundler, BundlerContext, DevServer, DevServerContext } from '@teambit/bundler';\nimport { CompilerMain } from '@teambit/compiler';\nimport {\n BuilderEnv,\n CompilerEnv,\n DependenciesEnv,\n DevEnv,\n LinterEnv,\n PackageEnv,\n TesterEnv,\n FormatterEnv,\n PipeServiceModifier,\n PipeServiceModifiersMap,\n} from '@teambit/envs';\nimport { JestMain } from '@teambit/jest';\nimport { PkgMain } from '@teambit/pkg';\nimport { Tester, TesterMain } from '@teambit/tester';\nimport { TsConfigTransformer, TypescriptMain } from '@teambit/typescript';\nimport type { TypeScriptCompilerOptions } from '@teambit/typescript';\nimport { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';\nimport { Workspace } from '@teambit/workspace';\nimport { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierConfigTransformer, PrettierMain } from '@teambit/prettier';\nimport { Linter, LinterContext } from '@teambit/linter';\nimport { Formatter, FormatterContext } from '@teambit/formatter';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport type { ComponentMeta } from '@teambit/react.ui.highlighter.component-metadata.bit-component-meta';\nimport { SchemaExtractor } from '@teambit/schema';\nimport { join, resolve } from 'path';\nimport { outputFileSync } from 'fs-extra';\nimport { Configuration } from 'webpack';\n// Makes sure the @teambit/react.ui.docs-app is a dependency\n// TODO: remove this import once we can set policy from component to component with workspace version. Then set it via the component.json\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { ReactMainConfig } from './react.main.runtime';\nimport { ReactAspect } from './react.aspect';\n\n// webpack configs for both components and envs\nimport basePreviewConfigFactory from './webpack/webpack.config.base';\nimport basePreviewProdConfigFactory from './webpack/webpack.config.base.prod';\n\n// webpack configs for envs only\n// import devPreviewConfigFactory from './webpack/webpack.config.preview.dev';\nimport envPreviewDevConfigFactory from './webpack/webpack.config.env.dev';\n\n// webpack configs for components only\nimport componentPreviewProdConfigFactory from './webpack/webpack.config.component.prod';\nimport componentPreviewDevConfigFactory from './webpack/webpack.config.component.dev';\n\nexport const AspectEnvType = 'react';\nconst defaultTsConfig = require('./typescript/tsconfig.json');\nconst buildTsConfig = require('./typescript/tsconfig.build.json');\nconst eslintConfig = require('./eslint/eslintrc');\nconst prettierConfig = require('./prettier/prettier.config.js');\n\n// TODO: move to be taken from the key mode of compiler context\ntype CompilerMode = 'build' | 'dev';\n\ntype GetBuildPipeModifiers = PipeServiceModifiersMap & {\n tsModifier?: PipeServiceModifier;\n};\n\n/**\n * a component environment built for [React](https://reactjs.org) .\n */\nexport class ReactEnv\n implements TesterEnv, CompilerEnv, LinterEnv, DevEnv, BuilderEnv, DependenciesEnv, PackageEnv, FormatterEnv\n{\n constructor(\n /**\n * jest extension\n */\n private jestAspect: JestMain,\n\n /**\n * typescript extension.\n */\n private tsAspect: TypescriptMain,\n\n /**\n * compiler extension.\n */\n private compiler: CompilerMain,\n\n /**\n * webpack extension.\n */\n private webpack: WebpackMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * pkg extension.\n */\n private pkg: PkgMain,\n\n /**\n * tester extension\n */\n private tester: TesterMain,\n\n private config: ReactMainConfig,\n\n private eslint: ESLintMain,\n\n private prettier: PrettierMain\n ) {}\n\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 * returns a component tester.\n */\n getTester(jestConfigPath: string, jestModulePath?: string): Tester {\n const config = jestConfigPath || require.resolve('./jest/jest.config');\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n private getTsCompilerOptions(mode: CompilerMode = 'dev'): TypeScriptCompilerOptions {\n const tsconfig = mode === 'dev' ? defaultTsConfig : 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 private getTsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.getTsCompilerOptions(mode);\n return this.tsAspect.createCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n getCompiler(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.getTsCompiler('dev', transformers, tsModule);\n }\n\n /**\n * returns and configures the component linter.\n */\n getLinter(context: LinterContext, transformers: EslintConfigTransformer[] = []): Linter {\n const defaultTransformer: EslintConfigTransformer = (configMutator) => {\n configMutator.addExtensionTypes(['.md', '.mdx']);\n return configMutator;\n };\n\n const allTransformers = [defaultTransformer, ...transformers];\n\n return this.eslint.createLinter(\n context,\n {\n config: eslintConfig,\n // resolve all plugins from the react environment.\n pluginPath: __dirname,\n },\n allTransformers\n );\n }\n\n /**\n * returns and configures the component formatter.\n */\n getFormatter(context: FormatterContext, transformers: PrettierConfigTransformer[] = []): Formatter {\n return this.prettier.createFormatter(\n context,\n {\n config: prettierConfig,\n },\n transformers\n );\n }\n\n private getFileMap(components: Component[], local = false) {\n return components.reduce<{ [key: string]: ComponentMeta }>((index, component: Component) => {\n component.state.filesystem.files.forEach((file) => {\n index[file.path] = {\n id: component.id.toString(),\n homepage: local ? `/${component.id.fullName}` : ComponentUrl.toUrl(component.id),\n };\n });\n\n return index;\n }, {});\n }\n\n private writeFileMap(components: Component[], local?: boolean) {\n const fileMap = this.getFileMap(components, local);\n const path = join(tmpdir(), `${Math.random().toString(36).substr(2, 9)}.json`);\n outputFileSync(path, JSON.stringify(fileMap));\n return path;\n }\n\n /**\n * required for `bit start`\n */\n getDevEnvId(id?: string) {\n if (typeof id !== 'string') return ReactAspect.id;\n return id || ReactAspect.id;\n }\n\n /**\n * get a schema generator instance configured with the correct tsconfig.\n */\n getSchemaExtractor(tsconfig: TsConfigSourceFile): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig));\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(context: DevServerContext, transformers: WebpackConfigTransformer[] = []): DevServer {\n const baseConfig = basePreviewConfigFactory(false);\n const envDevConfig = envPreviewDevConfigFactory(context.id);\n const componentsDirs = this.getComponentsModulesDirectories(context.components);\n // const fileMapPath = this.writeFileMap(context.components, true);\n // const componentDevConfig = componentPreviewDevConfigFactory(fileMapPath, this.workspace.path);\n // const componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id);\n const componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id, componentsDirs);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);\n return merged;\n };\n\n return this.webpack.createDevServer(context, [defaultTransformer, ...transformers]);\n }\n\n async getBundler(context: BundlerContext, transformers: WebpackConfigTransformer[] = []): Promise<Bundler> {\n // const fileMapPath = this.writeFileMap(context.components);\n const baseConfig = basePreviewConfigFactory(true);\n const baseProdConfig = basePreviewProdConfigFactory();\n // const componentProdConfig = componentPreviewProdConfigFactory(fileMapPath);\n const componentProdConfig = componentPreviewProdConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, componentProdConfig]);\n return merged;\n };\n\n return this.webpack.createPreviewBundler(context, [defaultTransformer, ...transformers]);\n }\n\n private getComponentsModulesDirectories(components: Component[]): string[] {\n const dirs = components.map((component) => {\n return this.pkg.getModulePath(component, { absPath: true });\n });\n return dirs;\n }\n\n private getEntriesFromWebpackConfig(config?: Configuration): string[] {\n if (!config || !config.entry) {\n return [];\n }\n if (typeof config.entry === 'string') {\n return [config.entry];\n }\n if (Array.isArray(config.entry)) {\n let entries: string[] = [];\n entries = config.entry.reduce((acc, entry) => {\n if (typeof entry === 'string') {\n acc.push(entry);\n }\n return acc;\n }, entries);\n return entries;\n }\n return [];\n }\n\n /**\n * returns a path to a docs template.\n */\n getDocsTemplate() {\n return require.resolve('@teambit/react.ui.docs-app');\n }\n\n icon = 'https://static.bit.dev/extensions-icons/react.svg';\n\n /**\n * returns a paths to a function which mounts a given component to DOM\n */\n getMounter() {\n return require.resolve('./mount');\n }\n\n /**\n * define the package json properties to add to each component.\n */\n getPackageJsonProps() {\n return this.tsAspect.getPackageJsonProps();\n }\n\n /**\n * adds dependencies to all configured components.\n */\n getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n 'core-js': '^3.0.0',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^17.0.8',\n '@types/react-dom': '^17.0.5',\n '@types/jest': '^26.0.0',\n // '@types/react-router-dom': '^5.0.0', // TODO - should not be here (!)\n // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed\n '@babel/runtime': '7.12.18',\n '@types/testing-library__jest-dom': '5.9.5',\n },\n peerDependencies: {\n react: '^16.8.0 || ^17.0.0',\n 'react-dom': '^16.8.0 || ^17.0.0',\n },\n };\n }\n\n /**\n * returns the component build pipeline.\n */\n getBuildPipe(modifiers: GetBuildPipeModifiers = {}): BuildTask[] {\n const transformers: TsConfigTransformer[] =\n (modifiers?.tsModifier?.transformers as any as TsConfigTransformer[]) || [];\n return [this.getCompilerTask(transformers, modifiers?.tsModifier?.module || ts), this.tester.task];\n }\n\n private getCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompiler = this.getTsCompiler('build', transformers, tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n async __getDescriptor() {\n return {\n type: AspectEnvType,\n };\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/react",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.564",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/react/react",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.react",
|
|
8
8
|
"name": "react",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.564"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"react-error-boundary": "^3.0.0",
|
|
@@ -79,46 +79,47 @@
|
|
|
79
79
|
"@teambit/react.instructions.react.adding-compositions": "0.0.6",
|
|
80
80
|
"@teambit/react.instructions.react.adding-tests": "0.0.6",
|
|
81
81
|
"@teambit/design.ui.pages.standalone-not-found-page": "0.0.354",
|
|
82
|
-
"@teambit/preview": "0.0.
|
|
83
|
-
"@teambit/react.ui.error-fallback": "0.0.
|
|
84
|
-
"@teambit/react.ui.loader-fallback": "0.0.
|
|
85
|
-
"@teambit/compositions.ui.hooks.use-composition": "0.0.
|
|
82
|
+
"@teambit/preview": "0.0.564",
|
|
83
|
+
"@teambit/react.ui.error-fallback": "0.0.93",
|
|
84
|
+
"@teambit/react.ui.loader-fallback": "0.0.71",
|
|
85
|
+
"@teambit/compositions.ui.hooks.use-composition": "0.0.146",
|
|
86
86
|
"@teambit/design.ui.input.option-button": "0.0.26",
|
|
87
87
|
"@teambit/design.ui.tooltip": "0.0.352",
|
|
88
|
-
"@teambit/application": "0.0.
|
|
89
|
-
"@teambit/bundler": "0.0.
|
|
90
|
-
"@teambit/builder": "0.0.
|
|
91
|
-
"@teambit/isolator": "0.0.
|
|
92
|
-
"@teambit/toolbox.network.get-port": "0.0.
|
|
93
|
-
"@teambit/compiler": "0.0.
|
|
94
|
-
"@teambit/component.modules.component-url": "0.0.
|
|
95
|
-
"@teambit/component": "0.0.
|
|
96
|
-
"@teambit/envs": "0.0.
|
|
97
|
-
"@teambit/eslint": "0.0.
|
|
98
|
-
"@teambit/formatter": "0.0.
|
|
99
|
-
"@teambit/jest": "0.0.
|
|
100
|
-
"@teambit/linter": "0.0.
|
|
101
|
-
"@teambit/pkg": "0.0.
|
|
102
|
-
"@teambit/prettier": "0.0.
|
|
103
|
-
"@teambit/react.
|
|
104
|
-
"@teambit/schema": "0.0.
|
|
105
|
-
"@teambit/tester": "0.0.
|
|
106
|
-
"@teambit/typescript": "0.0.
|
|
107
|
-
"@teambit/webpack": "0.0.
|
|
108
|
-
"@teambit/workspace": "0.0.
|
|
109
|
-
"@teambit/cli": "0.0.
|
|
110
|
-
"@teambit/dependency-resolver": "0.0.
|
|
111
|
-
"@teambit/generator": "0.0.
|
|
112
|
-
"@teambit/graphql": "0.0.
|
|
113
|
-
"@teambit/react.ui.highlighter-provider": "0.0.
|
|
114
|
-
"@teambit/compositions": "0.0.
|
|
115
|
-
"@teambit/ui": "0.0.
|
|
116
|
-
"@teambit/react.eslint-config-bit-react": "0.0.
|
|
117
|
-
"@teambit/mdx.modules.mdx-loader": "0.0.
|
|
118
|
-
"@teambit/
|
|
119
|
-
"@teambit/webpack.modules.style-
|
|
120
|
-
"@teambit/
|
|
121
|
-
"@teambit/
|
|
88
|
+
"@teambit/application": "0.0.206",
|
|
89
|
+
"@teambit/bundler": "0.0.564",
|
|
90
|
+
"@teambit/builder": "0.0.564",
|
|
91
|
+
"@teambit/isolator": "0.0.564",
|
|
92
|
+
"@teambit/toolbox.network.get-port": "0.0.96",
|
|
93
|
+
"@teambit/compiler": "0.0.564",
|
|
94
|
+
"@teambit/component.modules.component-url": "0.0.103",
|
|
95
|
+
"@teambit/component": "0.0.564",
|
|
96
|
+
"@teambit/envs": "0.0.564",
|
|
97
|
+
"@teambit/eslint": "0.0.564",
|
|
98
|
+
"@teambit/formatter": "0.0.115",
|
|
99
|
+
"@teambit/jest": "0.0.564",
|
|
100
|
+
"@teambit/linter": "0.0.564",
|
|
101
|
+
"@teambit/pkg": "0.0.564",
|
|
102
|
+
"@teambit/prettier": "0.0.115",
|
|
103
|
+
"@teambit/react.ui.highlighter.component-metadata.bit-component-meta": "0.0.3",
|
|
104
|
+
"@teambit/schema": "0.0.564",
|
|
105
|
+
"@teambit/tester": "0.0.564",
|
|
106
|
+
"@teambit/typescript": "0.0.564",
|
|
107
|
+
"@teambit/webpack": "0.0.564",
|
|
108
|
+
"@teambit/workspace": "0.0.564",
|
|
109
|
+
"@teambit/cli": "0.0.392",
|
|
110
|
+
"@teambit/dependency-resolver": "0.0.564",
|
|
111
|
+
"@teambit/generator": "0.0.564",
|
|
112
|
+
"@teambit/graphql": "0.0.564",
|
|
113
|
+
"@teambit/react.ui.highlighter-provider": "0.0.157",
|
|
114
|
+
"@teambit/compositions": "0.0.564",
|
|
115
|
+
"@teambit/ui": "0.0.564",
|
|
116
|
+
"@teambit/react.eslint-config-bit-react": "0.0.470",
|
|
117
|
+
"@teambit/mdx.modules.mdx-loader": "0.0.470",
|
|
118
|
+
"@teambit/react.babel.bit-react-transformer": "0.0.477",
|
|
119
|
+
"@teambit/webpack.modules.generate-style-loaders": "0.0.86",
|
|
120
|
+
"@teambit/webpack.modules.style-regexps": "0.0.115",
|
|
121
|
+
"@teambit/component-id": "0.0.382",
|
|
122
|
+
"@teambit/config": "0.0.404"
|
|
122
123
|
},
|
|
123
124
|
"devDependencies": {
|
|
124
125
|
"@types/react": "^17.0.8",
|
|
@@ -133,10 +134,10 @@
|
|
|
133
134
|
"@types/mocha": "5.2.7",
|
|
134
135
|
"@types/testing-library__jest-dom": "5.9.5",
|
|
135
136
|
"@types/jest": "^26.0.0",
|
|
136
|
-
"@teambit/react.aspect-docs.react": "0.0.
|
|
137
|
+
"@teambit/react.aspect-docs.react": "0.0.111"
|
|
137
138
|
},
|
|
138
139
|
"peerDependencies": {
|
|
139
|
-
"@teambit/legacy": "1.0.
|
|
140
|
+
"@teambit/legacy": "1.0.178",
|
|
140
141
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
141
142
|
"react": "^16.8.0 || ^17.0.0"
|
|
142
143
|
},
|
|
@@ -198,7 +199,7 @@
|
|
|
198
199
|
"@types/jest": "^26.0.0"
|
|
199
200
|
},
|
|
200
201
|
"peerDependencies": {
|
|
201
|
-
"@teambit/legacy": "1.0.
|
|
202
|
+
"@teambit/legacy": "1.0.178",
|
|
202
203
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
203
204
|
"react": "^16.8.0 || ^17.0.0"
|
|
204
205
|
}
|
|
@@ -219,5 +220,25 @@
|
|
|
219
220
|
"**/*.jpeg",
|
|
220
221
|
"**/*.gif"
|
|
221
222
|
],
|
|
222
|
-
"private": false
|
|
223
|
+
"private": false,
|
|
224
|
+
"engines": {
|
|
225
|
+
"node": ">=12.22.0"
|
|
226
|
+
},
|
|
227
|
+
"repository": {
|
|
228
|
+
"type": "git",
|
|
229
|
+
"url": "https://github.com/teambit/bit"
|
|
230
|
+
},
|
|
231
|
+
"keywords": [
|
|
232
|
+
"bit",
|
|
233
|
+
"bit-aspect",
|
|
234
|
+
"components",
|
|
235
|
+
"collaboration",
|
|
236
|
+
"web",
|
|
237
|
+
"react",
|
|
238
|
+
"react-components",
|
|
239
|
+
"angular",
|
|
240
|
+
"angular-components",
|
|
241
|
+
"vue",
|
|
242
|
+
"vue-components"
|
|
243
|
+
]
|
|
223
244
|
}
|