@teambit/react 0.0.701 → 0.0.704
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/{323.js → 114.js} +5 -1
- package/artifacts/env-template/public/{569.js → 694.js} +4 -2
- package/artifacts/env-template/public/750.js +2 -2
- package/artifacts/env-template/public/793.js +56 -26
- package/artifacts/env-template/public/assets-manifest.json +11 -11
- package/artifacts/env-template/public/{compositions.24ca15e2d947bef55c60.js → compositions.f2d331a862a1e8029cb5.js} +1 -1
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/{overview.83a0577652e28f11a1a7.js → overview.34791a2a44b79b4bee81.js} +1 -1
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/{preview-root.88805cd3500ab3e39c00.js → preview-root.94e10fd37290be85b239.js} +1 -1
- package/artifacts/env-template/public/service-worker.js +1 -1
- package/artifacts/preview/teambit_react_react-preview.js +2 -2
- package/{compositions-1649129006696.js → compositions-1649388249695.js} +0 -0
- package/dist/eslint/eslintrc.d.ts +1 -0
- package/dist/jest/index.d.ts +3 -0
- package/dist/jest/index.js +41 -0
- package/dist/jest/index.js.map +1 -0
- package/dist/jest/jest.base.config.d.ts +16 -0
- package/dist/jest/jest.base.config.js +36 -0
- package/dist/jest/jest.base.config.js.map +1 -0
- package/dist/jest/jest.cjs.config.d.ts +20 -0
- package/dist/jest/jest.cjs.config.js +33 -0
- package/dist/jest/jest.cjs.config.js.map +1 -0
- package/dist/jest/jest.config.d.ts +2 -0
- package/dist/jest/jest.config.js +5 -32
- package/dist/jest/jest.config.js.map +1 -1
- package/dist/jest/jest.esm.config.d.ts +21 -0
- package/dist/jest/jest.esm.config.js +34 -0
- package/dist/jest/jest.esm.config.js.map +1 -0
- package/dist/jest/setupTests.d.ts +1 -0
- package/dist/jest/transformers/base-transformer-plugins.d.ts +1 -0
- package/dist/jest/transformers/base-transformer-plugins.js +11 -0
- package/dist/jest/transformers/base-transformer-plugins.js.map +1 -0
- package/dist/jest/transformers/base-transformer-presets.d.ts +1 -0
- package/dist/jest/transformers/base-transformer-presets.js +9 -0
- package/dist/jest/transformers/base-transformer-presets.js.map +1 -0
- package/dist/jest/transformers/base-transformer-process.d.ts +1 -0
- package/dist/jest/transformers/base-transformer-process.js +25 -0
- package/dist/jest/transformers/base-transformer-process.js.map +1 -0
- package/dist/jest/transformers/cjs-transformer.d.ts +1 -0
- package/dist/jest/transformers/cjs-transformer.js +32 -0
- package/dist/jest/transformers/cjs-transformer.js.map +1 -0
- package/dist/jest/transformers/css-transform.d.ts +4 -0
- package/dist/jest/{css-transform.js → transformers/css-transform.js} +0 -0
- package/dist/jest/{css-transform.js.map → transformers/css-transform.js.map} +0 -0
- package/dist/jest/transformers/esm-transformer.d.ts +1 -0
- package/dist/jest/transformers/esm-transformer.js +33 -0
- package/dist/jest/transformers/esm-transformer.js.map +1 -0
- package/dist/jest/transformers/file-transform.d.ts +2 -0
- package/dist/jest/{file-transform.js → transformers/file-transform.js} +0 -0
- package/dist/jest/{file-transform.js.map → transformers/file-transform.js.map} +0 -0
- package/dist/prettier/prettier.config.d.ts +3 -0
- package/dist/react.env.d.ts +66 -5
- package/dist/react.env.js +115 -11
- package/dist/react.env.js.map +1 -1
- package/dist/react.main.runtime.js +3 -3
- package/dist/react.main.runtime.js.map +1 -1
- package/dist/templates/react-component/files/index-file.js.map +1 -1
- package/dist/templates/react-context/files/index-file.js.map +1 -1
- package/dist/templates/react-hook/files/index-file.js.map +1 -1
- package/dist/templates/react-workspace/index.js +1 -1
- package/dist/templates/react-workspace/index.js.map +1 -1
- package/dist/templates/react-workspace-app/index.js +1 -1
- package/dist/templates/react-workspace-app/index.js.map +1 -1
- package/dist/templates/react-workspace-deprecated/index.js +1 -1
- package/dist/templates/react-workspace-deprecated/index.js.map +1 -1
- package/dist/templates/react-workspace-lib/index.js +1 -1
- package/dist/templates/react-workspace-lib/index.js.map +1 -1
- package/dist/typescript/tsconfig.build.json +1 -1
- package/dist/typescript/tsconfig.json +1 -1
- package/dist/webpack/overlay/formatWebpackMessages.d.ts +5 -0
- package/dist/webpack/overlay/launchEditorEndpoint.d.ts +2 -0
- package/dist/webpack/overlay/refreshOverlayInterop.d.ts +1 -0
- package/dist/webpack/overlay/webpackHotDevClient.d.ts +1 -0
- package/jest/index.ts +4 -0
- package/jest/jest.base.config.js +31 -0
- package/jest/jest.cjs.config.js +8 -0
- package/jest/jest.config.js +7 -32
- package/jest/jest.esm.config.js +7 -0
- package/jest/transformers/base-transformer-plugins.js +13 -0
- package/jest/transformers/base-transformer-presets.js +7 -0
- package/jest/transformers/base-transformer-process.js +20 -0
- package/jest/transformers/cjs-transformer.js +25 -0
- package/jest/{css-transform.js → transformers/css-transform.js} +0 -0
- package/jest/transformers/esm-transformer.js +27 -0
- package/jest/{file-transform.js → transformers/file-transform.js} +0 -0
- package/{overview-1649129006696.js → overview-1649388249695.js} +0 -0
- package/package-tar/teambit-react-0.0.704.tgz +0 -0
- package/package.json +49 -47
- package/{preview-1649129006696.js → preview-1649388249695.js} +2 -2
- package/templates/react-component/files/index-file.ts +1 -1
- package/templates/react-context/files/index-file.ts +1 -1
- package/templates/react-hook/files/index-file.ts +1 -1
- package/templates/react-workspace/index.ts +1 -1
- package/templates/react-workspace-app/index.ts +1 -1
- package/templates/react-workspace-deprecated/index.ts +1 -1
- package/templates/react-workspace-lib/index.ts +1 -1
- package/tsconfig.json +4 -3
- package/typescript/tsconfig.build.json +1 -1
- package/typescript/tsconfig.json +1 -1
- package/dist/jest/transformer.js +0 -33
- package/dist/jest/transformer.js.map +0 -1
- package/jest/transformer.js +0 -41
- package/package-tar/teambit-react-0.0.701.tgz +0 -0
package/dist/react.env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["react.env.ts"],"names":["ReactEnvType","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","slice","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","createSchemaExtractor","getDevServer","baseConfig","envDevConfig","componentDevConfig","peers","getAllHostDependencies","peerAliasesTransformer","merged","merge","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","Boolean","externalizePeer","componentProdConfig","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","createBundler","envComponentPeers","Object","keys","getDependencies","peerDependencies","additionalHostDeps","getAdditionalHostDependencies","concat","getDocsTemplate","getMounter","getPreviewConfig","strategyName","splitComponentBundle","getPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","dependencies","react","devDependencies","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, CAPSULE_ARTIFACTS_DIR } 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';\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';\nimport { generateAddAliasesFromPeersTransformer } from './webpack/transformers';\n\nexport const ReactEnvType = 'react';\nconst defaultTsConfig = require('./typescript/tsconfig.json');\nconst buildTsConfig = require('./typescript/tsconfig.build.json');\nconst eslintConfig = require('./eslint/eslintrc');\nconst prettierConfig = require('./prettier/prettier.config.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).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): 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 componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id);\n const peers = this.getAllHostDependencies();\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(peers);\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, peerAliasesTransformer, ...transformers]);\n }\n\n async getBundler(context: BundlerContext, transformers: WebpackConfigTransformer[] = []): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n const peers = this.getAllHostDependencies();\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(peers);\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(Boolean(context.externalizePeer), peers, 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, peerAliasesTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n const peers = this.getAllHostDependencies();\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(peers);\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(Boolean(context.externalizePeer), peers, context.development);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, peerAliasesTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers);\n }\n\n /**\n * Get the peers configured by the env on the components + the host deps configured by the env\n */\n getAllHostDependencies() {\n const envComponentPeers = Object.keys(this.getDependencies().peerDependencies || {}) || [];\n const additionalHostDeps = this.getAdditionalHostDependencies() || [];\n const peers = envComponentPeers.concat(additionalHostDeps);\n return peers;\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react'];\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 getPreviewConfig() {\n return {\n strategyName: 'component',\n splitComponentBundle: true,\n };\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 getNpmIgnore() {\n // ignores only .ts files in the root directory, so d.ts files inside dists are unaffected.\n // without this change, the package has \"index.ts\" file in the root, causing typescript to parse it instead of the\n // d.ts files. (changing the \"types\" prop in the package.json file doesn't help).\n return [`${CAPSULE_ARTIFACTS_DIR}/`];\n }\n\n /**\n * adds dependencies to all configured components.\n */\n getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n 'core-js': '^3.0.0',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^17.0.8',\n '@types/react-dom': '^17.0.5',\n '@types/jest': '^26.0.0',\n // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed\n '@babel/runtime': '7.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: ReactEnvType,\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["react.env.ts"],"names":["ReactEnvType","defaultTsConfig","require","buildTsConfig","eslintConfig","prettierConfig","ReactEnv","constructor","jestAspect","tsAspect","compiler","webpack","workspace","pkg","tester","config","eslint","prettier","compilerAspectId","getTsConfig","targetTsConfig","getBuildTsConfig","getCjsJestTester","jestConfigPath","jestModulePath","pathToSource","__dirname","replace","defaultConfig","createTester","resolve","getEsmJestTester","getTester","getTsCompilerOptions","mode","tsconfig","compileJs","compileJsx","types","getTsCjsCompiler","transformers","tsModule","ts","tsCompileOptions","createCjsCompiler","getTsEsmCompiler","createEsmCompiler","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","slice","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","createSchemaExtractor","getDevServer","baseConfig","envDevConfig","componentDevConfig","peers","getAllHostDependencies","peerAliasesTransformer","merged","merge","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","Boolean","externalizePeer","componentProdConfig","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","createBundler","envComponentPeers","Object","keys","getDependencies","peerDependencies","additionalHostDeps","getAdditionalHostDependencies","concat","getDocsTemplate","getMounter","getPreviewConfig","strategyName","splitComponentBundle","getPackageJsonProps","getCjsPackageJsonProps","getEsmPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","dependencies","react","devDependencies","getBuildPipe","modifiers","tsModifier","getCompilerTask","module","task","getBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","aspectId","getEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","__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, CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { merge, cloneDeep } 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 { PackageJsonProps, PkgMain } from '@teambit/pkg';\nimport { Tester, TesterMain } from '@teambit/tester';\nimport { TsConfigTransformer, TypescriptMain } from '@teambit/typescript';\nimport type { TypeScriptCompilerOptions } from '@teambit/typescript';\nimport { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';\nimport { Workspace } from '@teambit/workspace';\nimport { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierConfigTransformer, PrettierMain } from '@teambit/prettier';\nimport { 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';\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';\nimport { generateAddAliasesFromPeersTransformer } from './webpack/transformers';\n\nexport const ReactEnvType = 'react';\nconst defaultTsConfig = require('./typescript/tsconfig.json');\nconst buildTsConfig = require('./typescript/tsconfig.build.json');\nconst eslintConfig = require('./eslint/eslintrc');\nconst prettierConfig = require('./prettier/prettier.config.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 protected tsAspect: TypescriptMain,\n\n /**\n * compiler extension.\n */\n private compiler: CompilerMain,\n\n /**\n * webpack extension.\n */\n private webpack: WebpackMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * pkg extension.\n */\n private pkg: PkgMain,\n\n /**\n * tester extension\n */\n private tester: TesterMain,\n\n private config: ReactMainConfig,\n\n private eslint: ESLintMain,\n\n private prettier: PrettierMain,\n\n private 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 * Get a jest tester instance with react config and cjs configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n getCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.cjs.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * Get a jest tester instance with react config and esm configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n getEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.esm.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * returns a component tester.\n */\n getTester(jestConfigPath: string, jestModulePath?: string): Tester {\n // return this.getEsmJestTester(jestConfigPath, jestModulePath);\n return this.getCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n private getTsCompilerOptions(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 * 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 getTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.getTsCompilerOptions(mode);\n return this.tsAspect.createCjsCompiler(tsCompileOptions, 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 getTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.getTsCompilerOptions(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.getTsCjsCompiler('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).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): 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 componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id);\n const peers = this.getAllHostDependencies();\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(peers);\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, peerAliasesTransformer, ...transformers]);\n }\n\n async getBundler(context: BundlerContext, transformers: WebpackConfigTransformer[] = []): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n const peers = this.getAllHostDependencies();\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(peers);\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(Boolean(context.externalizePeer), peers, 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, peerAliasesTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n const peers = this.getAllHostDependencies();\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(peers);\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(Boolean(context.externalizePeer), peers, context.development);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, peerAliasesTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers);\n }\n\n /**\n * Get the peers configured by the env on the components + the host deps configured by the env\n */\n getAllHostDependencies() {\n const envComponentPeers = Object.keys(this.getDependencies().peerDependencies || {}) || [];\n const additionalHostDeps = this.getAdditionalHostDependencies() || [];\n const peers = envComponentPeers.concat(additionalHostDeps);\n return peers;\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react'];\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 getPreviewConfig() {\n return {\n strategyName: 'component',\n splitComponentBundle: 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 * Get the default package.json props for a cjs component\n * @returns\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for an esm component\n * @returns\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getEsmPackageJsonProps();\n }\n\n getNpmIgnore() {\n // ignores only .ts files in the root directory, so d.ts files inside dists are unaffected.\n // without this change, the package has \"index.ts\" file in the root, causing typescript to parse it instead of the\n // d.ts files. (changing the \"types\" prop in the package.json file doesn't help).\n return [`${CAPSULE_ARTIFACTS_DIR}/`];\n }\n\n /**\n * adds dependencies to all configured components.\n */\n getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n 'core-js': '^3.0.0',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^17.0.8',\n '@types/react-dom': '^17.0.5',\n '@types/jest': '^26.0.0',\n // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed\n '@babel/runtime': '7.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 /**\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 getBuildPipeWithoutCompiler(): BuildTask[] {\n const pipeWithoutCompiler = this.getBuildPipe().filter((task) => task.aspectId !== this.compilerAspectId);\n return pipeWithoutCompiler;\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 getEsmCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompiler = this.getTsEsmCompiler('build', transformers, tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\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 getCjsCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompiler = this.getTsCjsCompiler('build', transformers, tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n private getCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.getCjsCompilerTask(transformers, tsModule);\n }\n\n async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n"]}
|
|
@@ -483,7 +483,7 @@ class ReactMain {
|
|
|
483
483
|
|
|
484
484
|
|
|
485
485
|
overrideCompilerTasks(tasks) {
|
|
486
|
-
const pipeWithoutCompiler = this.reactEnv.
|
|
486
|
+
const pipeWithoutCompiler = this.reactEnv.getBuildPipeWithoutCompiler();
|
|
487
487
|
return this.envs.override({
|
|
488
488
|
getBuildPipe: () => [...tasks, ...pipeWithoutCompiler]
|
|
489
489
|
});
|
|
@@ -527,7 +527,7 @@ class ReactMain {
|
|
|
527
527
|
overridePackageJsonProps(props) {
|
|
528
528
|
return this.envs.override({
|
|
529
529
|
getPackageJsonProps: () => {
|
|
530
|
-
return _objectSpread(_objectSpread({},
|
|
530
|
+
return _objectSpread(_objectSpread({}, this.reactEnv.getPackageJsonProps()), props);
|
|
531
531
|
}
|
|
532
532
|
});
|
|
533
533
|
}
|
|
@@ -552,7 +552,7 @@ class ReactMain {
|
|
|
552
552
|
}
|
|
553
553
|
|
|
554
554
|
static async provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, prettier, application, generator], config) {
|
|
555
|
-
const reactEnv = new (_react2().ReactEnv)(jestAspect, tsAspect, compiler, webpack, workspace, pkg, tester, config, eslint, prettier);
|
|
555
|
+
const reactEnv = new (_react2().ReactEnv)(jestAspect, tsAspect, compiler, webpack, workspace, pkg, tester, config, eslint, prettier, _compiler().CompilerAspect.id);
|
|
556
556
|
const react = new ReactMain(reactEnv, envs, application, workspace);
|
|
557
557
|
graphql.register((0, _react3().reactSchema)(react));
|
|
558
558
|
envs.registerEnv(reactEnv);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["react.main.runtime.ts"],"names":["ReactMain","constructor","reactEnv","envs","application","workspace","useTypescript","modifiers","tsModule","ts","overrides","devTransformers","devConfig","getCompiler","buildTransformers","buildConfig","buildPipeModifiers","tsModifier","transformers","module","getBuildPipe","override","overrideTsConfig","tsconfig","compilerOptions","transformer","configMutator","mergeTsConfig","raw","compileJs","compileJsx","types","addTypes","genericCompilerOptions","Object","assign","overrideDocsTemplate","templatePath","getDocsTemplate","overrideBuildTsConfig","useWebpack","devServerTransformers","devServerConfig","getDevServer","context","getDevEnvId","envDefinition","id","previewTransformers","previewConfig","getBundler","useEslint","getLinter","usePrettier","getFormatter","overrideDevServerConfig","config","merge","overridePreviewConfig","overrideMounter","mounterPath","getMounter","compose","targetEnv","overrideJestConfig","jestConfigPath","jestModulePath","getTester","overrideBuildPipe","tasks","overrideCompilerTasks","pipeWithoutCompiler","filter","task","aspectId","CompilerAspect","overrideDependencies","dependencyPolicy","getDependencies","reactDeps","overrideCompiler","compiler","overrideEslintConfig","overridePackageJsonProps","props","getPackageJsonProps","getDocs","component","docsArray","state","_consumer","docs","abstract","description","filePath","properties","provider","jestAspect","tsAspect","webpack","graphql","pkg","tester","eslint","prettier","generator","ReactEnv","react","register","registerEnv","registerComponentTemplate","componentTemplates","registerWorkspaceTemplate","workspaceTemplates","registerAppType","ReactAppType","MainRuntime","EnvsAspect","JestAspect","TypescriptAspect","WebpackAspect","WorkspaceAspect","GraphqlAspect","PkgAspect","TesterAspect","ESLintAspect","PrettierAspect","ApplicationAspect","GeneratorAspect","ReactAspect","addRuntime"],"mappings":"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","sourcesContent":["import mergeDeepLeft from 'ramda/src/mergeDeepLeft';\nimport { omit } from 'lodash';\nimport { MainRuntime } from '@teambit/cli';\nimport type { CompilerMain } from '@teambit/compiler';\nimport { CompilerAspect, Compiler } from '@teambit/compiler';\nimport { BuildTask } from '@teambit/builder';\nimport { Component } from '@teambit/component';\nimport { EnvsAspect, EnvsMain, EnvTransformer, Environment } from '@teambit/envs';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { JestMain } from '@teambit/jest';\nimport { JestAspect } from '@teambit/jest';\nimport type { PkgMain, PackageJsonProps } from '@teambit/pkg';\nimport { PkgAspect } from '@teambit/pkg';\nimport type { TesterMain } from '@teambit/tester';\nimport { TesterAspect } from '@teambit/tester';\nimport type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransformer } from '@teambit/typescript';\nimport { TypescriptAspect } from '@teambit/typescript';\nimport type { WebpackMain, Configuration, WebpackConfigTransformer } from '@teambit/webpack';\nimport { WebpackAspect } from '@teambit/webpack';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { DevServerContext, BundlerContext } from '@teambit/bundler';\nimport { EnvPolicyConfigObject } from '@teambit/dependency-resolver';\nimport ts from 'typescript';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { FormatterContext } from '@teambit/formatter';\nimport { LinterContext } from '@teambit/linter';\nimport { ESLintMain, ESLintAspect, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierMain, PrettierAspect, PrettierConfigTransformer } from '@teambit/prettier';\nimport { ReactAspect } from './react.aspect';\nimport { ReactEnv } from './react.env';\nimport { ReactAppType } from './apps/web';\nimport { reactSchema } from './react.graphql';\nimport { componentTemplates, workspaceTemplates } from './react.templates';\n\ntype ReactDeps = [\n EnvsMain,\n JestMain,\n TypescriptMain,\n CompilerMain,\n WebpackMain,\n Workspace,\n GraphqlMain,\n PkgMain,\n TesterMain,\n ESLintMain,\n PrettierMain,\n ApplicationMain,\n GeneratorMain\n];\n\nexport type ReactMainConfig = {\n /**\n * configure the react env compiler.\n * can be configured to either TypeScript ('ts') or Babel ('babel').\n */\n compiler: 'babel' | 'ts';\n\n /**\n * configure the component tester.\n * can be either Jest ('jest') or Mocha ('mocha')\n */\n tester: 'jest' | 'mocha';\n\n /**\n * version of React to configure.\n */\n reactVersion: string;\n};\n\nexport type UseWebpackModifiers = {\n previewConfig?: WebpackConfigTransformer[];\n devServerConfig?: WebpackConfigTransformer[];\n};\n\nexport type UseTypescriptModifiers = {\n buildConfig?: TsConfigTransformer[];\n devConfig?: TsConfigTransformer[];\n};\n\nexport type UseEslintModifiers = {\n transformers: EslintConfigTransformer[];\n};\nexport type UsePrettierModifiers = {\n transformers: PrettierConfigTransformer[];\n};\n\nexport class ReactMain {\n constructor(\n /**\n * an instance of the React env.\n */\n readonly reactEnv: ReactEnv,\n\n private envs: EnvsMain,\n\n private application: ApplicationMain,\n\n private workspace: Workspace\n ) {}\n\n readonly env = this.reactEnv;\n\n /**\n * override the env's typescript config for both dev and build time.\n * Replaces both overrideTsConfig (devConfig) and overrideBuildTsConfig (buildConfig)\n */\n useTypescript(modifiers?: UseTypescriptModifiers, tsModule: any = ts) {\n const overrides: any = {};\n const devTransformers = modifiers?.devConfig;\n if (devTransformers) {\n overrides.getCompiler = () => this.reactEnv.getCompiler(devTransformers, tsModule);\n }\n const buildTransformers = modifiers?.buildConfig;\n if (buildTransformers) {\n const buildPipeModifiers = {\n tsModifier: {\n transformers: buildTransformers,\n module: tsModule,\n },\n };\n overrides.getBuildPipe = () => this.reactEnv.getBuildPipe(buildPipeModifiers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * @deprecated use useTypescript()\n * override the TS config of the React environment.\n * @param tsModule typeof `ts` module instance.\n */\n overrideTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getCompiler: () => this.reactEnv.getCompiler([transformer], tsModule),\n // });\n return this.useTypescript({ devConfig: [transformer] }, tsModule);\n }\n\n /**\n * Override the Bit documentation link. See docs: https://bit.dev/docs/docs/doc-templates\n */\n overrideDocsTemplate(templatePath: string) {\n return this.envs.override({\n getDocsTemplate: () => templatePath,\n });\n }\n\n /**\n * @deprecated use useTypescript()\n * override the build tsconfig.\n */\n overrideBuildTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getBuildPipe: () => this.reactEnv.getBuildPipe([transformer], tsModule),\n // });\n return this.useTypescript({ buildConfig: [transformer] }, tsModule);\n }\n\n /**\n * override the env's dev server and preview webpack configurations.\n * Replaces both overrideDevServerConfig and overridePreviewConfig\n */\n useWebpack(modifiers?: UseWebpackModifiers): EnvTransformer {\n const overrides: any = {};\n const devServerTransformers = modifiers?.devServerConfig;\n if (devServerTransformers) {\n overrides.getDevServer = (context: DevServerContext) =>\n this.reactEnv.getDevServer(context, devServerTransformers);\n overrides.getDevEnvId = (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id);\n }\n const previewTransformers = modifiers?.previewConfig;\n if (previewTransformers) {\n overrides.getBundler = (context: BundlerContext) => this.reactEnv.getBundler(context, previewTransformers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n useEslint(modifiers?: UseEslintModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getLinter: (context: LinterContext) => this.reactEnv.getLinter(context, transformers),\n });\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n usePrettier(modifiers?: UsePrettierModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getFormatter: (context: FormatterContext) => this.reactEnv.getFormatter(context, transformers),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the dev server webpack config.\n */\n overrideDevServerConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n\n return this.envs.override({\n getDevServer: (context: DevServerContext) => this.reactEnv.getDevServer(context, [transformer]),\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the preview webpack config.\n */\n overridePreviewConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n return this.envs.override({\n getBundler: (context: BundlerContext) => this.reactEnv.getBundler(context, [transformer]),\n });\n }\n\n overrideMounter(mounterPath: string) {\n return this.envs.override({\n getMounter: () => {\n return mounterPath;\n },\n });\n }\n\n /**\n * create a new composition of the react environment.\n */\n compose(transformers: EnvTransformer[], targetEnv: Environment = {}) {\n return this.envs.compose(this.envs.merge(targetEnv, this.reactEnv), transformers);\n }\n\n /**\n * override the jest configuration.\n * @param jestConfigPath {typeof jest} absolute path to jest.config.json.\n * @param jestModulePath absolute path to jest\n */\n overrideJestConfig(jestConfigPath: string, jestModulePath?: string) {\n return this.envs.override({\n getTester: () => this.reactEnv.getTester(jestConfigPath, jestModulePath),\n });\n }\n\n /**\n * override the build pipeline of the component environment.\n */\n overrideBuildPipe(tasks: BuildTask[]) {\n return this.envs.override({\n getBuildPipe: () => tasks,\n });\n }\n\n /**\n * override the compiler tasks inside the build pipeline of the component environment.\n */\n overrideCompilerTasks(tasks: BuildTask[]) {\n const pipeWithoutCompiler = this.reactEnv.getBuildPipe().filter((task) => task.aspectId !== CompilerAspect.id);\n\n return this.envs.override({\n getBuildPipe: () => [...tasks, ...pipeWithoutCompiler],\n });\n }\n\n /**\n * override the dependency configuration of the component environment.\n */\n overrideDependencies(dependencyPolicy: EnvPolicyConfigObject) {\n return this.envs.override({\n getDependencies: async () => {\n const reactDeps = await this.reactEnv.getDependencies();\n return mergeDeepLeft(dependencyPolicy, reactDeps);\n },\n });\n }\n\n /**\n * override the workspace compiler.\n */\n overrideCompiler(compiler: Compiler) {\n return this.envs.override({\n getCompiler: () => {\n return compiler;\n },\n });\n }\n\n /**\n * TODO: @gilad we need to implement this.\n */\n overrideEslintConfig() {}\n\n /**\n * override the package json props of the component environment.\n */\n overridePackageJsonProps(props: PackageJsonProps) {\n return this.envs.override({\n getPackageJsonProps: () => {\n return {\n ...props,\n ...this.reactEnv.getPackageJsonProps(),\n };\n },\n });\n }\n\n /**\n * returns doc adjusted specifically for react components.\n */\n getDocs(component: Component) {\n const docsArray = component.state._consumer.docs;\n if (!docsArray || !docsArray[0]) {\n return null;\n }\n\n const docs = docsArray[0];\n\n return {\n abstract: docs.description,\n filePath: docs.filePath,\n properties: docs.properties,\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n EnvsAspect,\n JestAspect,\n TypescriptAspect,\n CompilerAspect,\n WebpackAspect,\n WorkspaceAspect,\n GraphqlAspect,\n PkgAspect,\n TesterAspect,\n ESLintAspect,\n PrettierAspect,\n ApplicationAspect,\n GeneratorAspect,\n ];\n\n static async provider(\n [\n envs,\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n graphql,\n pkg,\n tester,\n eslint,\n prettier,\n application,\n generator,\n ]: ReactDeps,\n config: ReactMainConfig\n ) {\n const reactEnv = new ReactEnv(\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n pkg,\n tester,\n config,\n eslint,\n prettier\n );\n const react = new ReactMain(reactEnv, envs, application, workspace);\n graphql.register(reactSchema(react));\n envs.registerEnv(reactEnv);\n generator.registerComponentTemplate(componentTemplates);\n generator.registerWorkspaceTemplate(workspaceTemplates);\n application.registerAppType(new ReactAppType('react-app', reactEnv));\n return react;\n }\n}\n\nReactAspect.addRuntime(ReactMain);\n"]}
|
|
1
|
+
{"version":3,"sources":["react.main.runtime.ts"],"names":["ReactMain","constructor","reactEnv","envs","application","workspace","useTypescript","modifiers","tsModule","ts","overrides","devTransformers","devConfig","getCompiler","buildTransformers","buildConfig","buildPipeModifiers","tsModifier","transformers","module","getBuildPipe","override","overrideTsConfig","tsconfig","compilerOptions","transformer","configMutator","mergeTsConfig","raw","compileJs","compileJsx","types","addTypes","genericCompilerOptions","Object","assign","overrideDocsTemplate","templatePath","getDocsTemplate","overrideBuildTsConfig","useWebpack","devServerTransformers","devServerConfig","getDevServer","context","getDevEnvId","envDefinition","id","previewTransformers","previewConfig","getBundler","useEslint","getLinter","usePrettier","getFormatter","overrideDevServerConfig","config","merge","overridePreviewConfig","overrideMounter","mounterPath","getMounter","compose","targetEnv","overrideJestConfig","jestConfigPath","jestModulePath","getTester","overrideBuildPipe","tasks","overrideCompilerTasks","pipeWithoutCompiler","getBuildPipeWithoutCompiler","overrideDependencies","dependencyPolicy","getDependencies","reactDeps","overrideCompiler","compiler","overrideEslintConfig","overridePackageJsonProps","props","getPackageJsonProps","getDocs","component","docsArray","state","_consumer","docs","abstract","description","filePath","properties","provider","jestAspect","tsAspect","webpack","graphql","pkg","tester","eslint","prettier","generator","ReactEnv","CompilerAspect","react","register","registerEnv","registerComponentTemplate","componentTemplates","registerWorkspaceTemplate","workspaceTemplates","registerAppType","ReactAppType","MainRuntime","EnvsAspect","JestAspect","TypescriptAspect","WebpackAspect","WorkspaceAspect","GraphqlAspect","PkgAspect","TesterAspect","ESLintAspect","PrettierAspect","ApplicationAspect","GeneratorAspect","ReactAspect","addRuntime"],"mappings":"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","sourcesContent":["import mergeDeepLeft from 'ramda/src/mergeDeepLeft';\nimport { omit } from 'lodash';\nimport { MainRuntime } from '@teambit/cli';\nimport type { CompilerMain } from '@teambit/compiler';\nimport { CompilerAspect, Compiler } from '@teambit/compiler';\nimport { BuildTask } from '@teambit/builder';\nimport { Component } from '@teambit/component';\nimport { EnvsAspect, EnvsMain, EnvTransformer, Environment } from '@teambit/envs';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { JestMain } from '@teambit/jest';\nimport { JestAspect } from '@teambit/jest';\nimport type { PkgMain, PackageJsonProps } from '@teambit/pkg';\nimport { PkgAspect } from '@teambit/pkg';\nimport type { TesterMain } from '@teambit/tester';\nimport { TesterAspect } from '@teambit/tester';\nimport type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransformer } from '@teambit/typescript';\nimport { TypescriptAspect } from '@teambit/typescript';\nimport type { WebpackMain, Configuration, WebpackConfigTransformer } from '@teambit/webpack';\nimport { WebpackAspect } from '@teambit/webpack';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { DevServerContext, BundlerContext } from '@teambit/bundler';\nimport { EnvPolicyConfigObject } from '@teambit/dependency-resolver';\nimport ts from 'typescript';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { FormatterContext } from '@teambit/formatter';\nimport { LinterContext } from '@teambit/linter';\nimport { ESLintMain, ESLintAspect, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierMain, PrettierAspect, PrettierConfigTransformer } from '@teambit/prettier';\nimport { ReactAspect } from './react.aspect';\nimport { ReactEnv } from './react.env';\nimport { ReactAppType } from './apps/web';\nimport { reactSchema } from './react.graphql';\nimport { componentTemplates, workspaceTemplates } from './react.templates';\n\ntype ReactDeps = [\n EnvsMain,\n JestMain,\n TypescriptMain,\n CompilerMain,\n WebpackMain,\n Workspace,\n GraphqlMain,\n PkgMain,\n TesterMain,\n ESLintMain,\n PrettierMain,\n ApplicationMain,\n GeneratorMain\n];\n\nexport type ReactMainConfig = {\n /**\n * configure the react env compiler.\n * can be configured to either TypeScript ('ts') or Babel ('babel').\n */\n compiler: 'babel' | 'ts';\n\n /**\n * configure the component tester.\n * can be either Jest ('jest') or Mocha ('mocha')\n */\n tester: 'jest' | 'mocha';\n\n /**\n * version of React to configure.\n */\n reactVersion: string;\n};\n\nexport type UseWebpackModifiers = {\n previewConfig?: WebpackConfigTransformer[];\n devServerConfig?: WebpackConfigTransformer[];\n};\n\nexport type UseTypescriptModifiers = {\n buildConfig?: TsConfigTransformer[];\n devConfig?: TsConfigTransformer[];\n};\n\nexport type UseEslintModifiers = {\n transformers: EslintConfigTransformer[];\n};\nexport type UsePrettierModifiers = {\n transformers: PrettierConfigTransformer[];\n};\n\nexport class ReactMain {\n constructor(\n /**\n * an instance of the React env.\n */\n readonly reactEnv: ReactEnv,\n\n private envs: EnvsMain,\n\n private application: ApplicationMain,\n\n private workspace: Workspace\n ) {}\n\n readonly env = this.reactEnv;\n\n /**\n * override the env's typescript config for both dev and build time.\n * Replaces both overrideTsConfig (devConfig) and overrideBuildTsConfig (buildConfig)\n */\n useTypescript(modifiers?: UseTypescriptModifiers, tsModule: any = ts) {\n const overrides: any = {};\n const devTransformers = modifiers?.devConfig;\n if (devTransformers) {\n overrides.getCompiler = () => this.reactEnv.getCompiler(devTransformers, tsModule);\n }\n const buildTransformers = modifiers?.buildConfig;\n if (buildTransformers) {\n const buildPipeModifiers = {\n tsModifier: {\n transformers: buildTransformers,\n module: tsModule,\n },\n };\n overrides.getBuildPipe = () => this.reactEnv.getBuildPipe(buildPipeModifiers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * @deprecated use useTypescript()\n * override the TS config of the React environment.\n * @param tsModule typeof `ts` module instance.\n */\n overrideTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getCompiler: () => this.reactEnv.getCompiler([transformer], tsModule),\n // });\n return this.useTypescript({ devConfig: [transformer] }, tsModule);\n }\n\n /**\n * Override the Bit documentation link. See docs: https://bit.dev/docs/docs/doc-templates\n */\n overrideDocsTemplate(templatePath: string) {\n return this.envs.override({\n getDocsTemplate: () => templatePath,\n });\n }\n\n /**\n * @deprecated use useTypescript()\n * override the build tsconfig.\n */\n overrideBuildTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getBuildPipe: () => this.reactEnv.getBuildPipe([transformer], tsModule),\n // });\n return this.useTypescript({ buildConfig: [transformer] }, tsModule);\n }\n\n /**\n * override the env's dev server and preview webpack configurations.\n * Replaces both overrideDevServerConfig and overridePreviewConfig\n */\n useWebpack(modifiers?: UseWebpackModifiers): EnvTransformer {\n const overrides: any = {};\n const devServerTransformers = modifiers?.devServerConfig;\n if (devServerTransformers) {\n overrides.getDevServer = (context: DevServerContext) =>\n this.reactEnv.getDevServer(context, devServerTransformers);\n overrides.getDevEnvId = (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id);\n }\n const previewTransformers = modifiers?.previewConfig;\n if (previewTransformers) {\n overrides.getBundler = (context: BundlerContext) => this.reactEnv.getBundler(context, previewTransformers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n useEslint(modifiers?: UseEslintModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getLinter: (context: LinterContext) => this.reactEnv.getLinter(context, transformers),\n });\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n usePrettier(modifiers?: UsePrettierModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getFormatter: (context: FormatterContext) => this.reactEnv.getFormatter(context, transformers),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the dev server webpack config.\n */\n overrideDevServerConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n\n return this.envs.override({\n getDevServer: (context: DevServerContext) => this.reactEnv.getDevServer(context, [transformer]),\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the preview webpack config.\n */\n overridePreviewConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n return this.envs.override({\n getBundler: (context: BundlerContext) => this.reactEnv.getBundler(context, [transformer]),\n });\n }\n\n overrideMounter(mounterPath: string) {\n return this.envs.override({\n getMounter: () => {\n return mounterPath;\n },\n });\n }\n\n /**\n * create a new composition of the react environment.\n */\n compose(transformers: EnvTransformer[], targetEnv: Environment = {}) {\n return this.envs.compose(this.envs.merge(targetEnv, this.reactEnv), transformers);\n }\n\n /**\n * override the jest configuration.\n * @param jestConfigPath {typeof jest} absolute path to jest.config.json.\n * @param jestModulePath absolute path to jest\n */\n overrideJestConfig(jestConfigPath: string, jestModulePath?: string) {\n return this.envs.override({\n getTester: () => this.reactEnv.getTester(jestConfigPath, jestModulePath),\n });\n }\n\n /**\n * override the build pipeline of the component environment.\n */\n overrideBuildPipe(tasks: BuildTask[]) {\n return this.envs.override({\n getBuildPipe: () => tasks,\n });\n }\n\n /**\n * override the compiler tasks inside the build pipeline of the component environment.\n */\n overrideCompilerTasks(tasks: BuildTask[]) {\n const pipeWithoutCompiler = this.reactEnv.getBuildPipeWithoutCompiler();\n\n return this.envs.override({\n getBuildPipe: () => [...tasks, ...pipeWithoutCompiler],\n });\n }\n\n /**\n * override the dependency configuration of the component environment.\n */\n overrideDependencies(dependencyPolicy: EnvPolicyConfigObject) {\n return this.envs.override({\n getDependencies: async () => {\n const reactDeps = await this.reactEnv.getDependencies();\n return mergeDeepLeft(dependencyPolicy, reactDeps);\n },\n });\n }\n\n /**\n * override the workspace compiler.\n */\n overrideCompiler(compiler: Compiler) {\n return this.envs.override({\n getCompiler: () => {\n return compiler;\n },\n });\n }\n\n /**\n * TODO: @gilad we need to implement this.\n */\n overrideEslintConfig() {}\n\n /**\n * override the package json props of the component environment.\n */\n overridePackageJsonProps(props: PackageJsonProps) {\n return this.envs.override({\n getPackageJsonProps: () => {\n return {\n ...this.reactEnv.getPackageJsonProps(),\n ...props,\n };\n },\n });\n }\n\n /**\n * returns doc adjusted specifically for react components.\n */\n getDocs(component: Component) {\n const docsArray = component.state._consumer.docs;\n if (!docsArray || !docsArray[0]) {\n return null;\n }\n\n const docs = docsArray[0];\n\n return {\n abstract: docs.description,\n filePath: docs.filePath,\n properties: docs.properties,\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n EnvsAspect,\n JestAspect,\n TypescriptAspect,\n CompilerAspect,\n WebpackAspect,\n WorkspaceAspect,\n GraphqlAspect,\n PkgAspect,\n TesterAspect,\n ESLintAspect,\n PrettierAspect,\n ApplicationAspect,\n GeneratorAspect,\n ];\n\n static async provider(\n [\n envs,\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n graphql,\n pkg,\n tester,\n eslint,\n prettier,\n application,\n generator,\n ]: ReactDeps,\n config: ReactMainConfig\n ) {\n const reactEnv = new ReactEnv(\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n pkg,\n tester,\n config,\n eslint,\n prettier,\n CompilerAspect.id\n );\n const react = new ReactMain(reactEnv, envs, application, workspace);\n graphql.register(reactSchema(react));\n envs.registerEnv(reactEnv);\n generator.registerComponentTemplate(componentTemplates);\n generator.registerWorkspaceTemplate(workspaceTemplates);\n application.registerAppType(new ReactAppType('react-app', reactEnv));\n return react;\n }\n}\n\nReactAspect.addRuntime(ReactMain);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index-file.ts"],"names":["indexFile","context","name","namePascalCase","Name","relativePath","content"],"mappings":";;;;;;;AAEO,MAAMA,SAAS,GAAIC,OAAD,IAA+B;AACtD,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,cAAc,EAAEC;AAAxB,MAAiCH,OAAvC;AAEA,SAAO;AACLI,IAAAA,YAAY,EAAE,UADT;AAELC,IAAAA,OAAO,EAAG,YAAWF,IAAK,cAAaF,IAAK;AAChD,gBAAgBE,IAAK,mBAAkBF,IAAK;AAC5C;AAJS,GAAP;AAMD,CATM","sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport const indexFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: 'index.ts',\n content: `export { ${Name} } from './${name}';\nexport type { ${Name}Props } from './${name}';\n`,\n };\n}
|
|
1
|
+
{"version":3,"sources":["index-file.ts"],"names":["indexFile","context","name","namePascalCase","Name","relativePath","content"],"mappings":";;;;;;;AAEO,MAAMA,SAAS,GAAIC,OAAD,IAA+B;AACtD,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,cAAc,EAAEC;AAAxB,MAAiCH,OAAvC;AAEA,SAAO;AACLI,IAAAA,YAAY,EAAE,UADT;AAELC,IAAAA,OAAO,EAAG,YAAWF,IAAK,cAAaF,IAAK;AAChD,gBAAgBE,IAAK,mBAAkBF,IAAK;AAC5C;AAJS,GAAP;AAMD,CATM","sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport const indexFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: 'index.ts',\n content: `export { ${Name} } from './${name}';\nexport type { ${Name}Props } from './${name}';\n`,\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index-file.ts"],"names":["indexFile","context","name","namePascalCase","Name","relativePath","content"],"mappings":";;;;;;;AAEO,MAAMA,SAAS,GAAIC,OAAD,IAA+B;AACtD,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,cAAc,EAAEC;AAAxB,MAAiCH,OAAvC;AAEA,SAAO;AACLI,IAAAA,YAAY,EAAE,UADT;AAELC,IAAAA,OAAO,EAAG,YAAWF,IAAK,qBAAoBF,IAAK;AACvD,gBAAgBE,IAAK,yBAAwBF,IAAK;AAClD,WAAWE,IAAK,sBAAqBF,IAAK;AAC1C,gBAAgBE,IAAK,2BAA0BF,IAAK;AACpD;AANS,GAAP;AAQD,CAXM","sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport const indexFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: 'index.ts',\n content: `export { ${Name}Context } from './${name}-context';\nexport type { ${Name}ContextType } from './${name}-context';\nexport { ${Name}Provider } from './${name}-context-provider';\nexport type { ${Name}ProviderProps } from './${name}-context-provider';\n`,\n };\n}
|
|
1
|
+
{"version":3,"sources":["index-file.ts"],"names":["indexFile","context","name","namePascalCase","Name","relativePath","content"],"mappings":";;;;;;;AAEO,MAAMA,SAAS,GAAIC,OAAD,IAA+B;AACtD,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,cAAc,EAAEC;AAAxB,MAAiCH,OAAvC;AAEA,SAAO;AACLI,IAAAA,YAAY,EAAE,UADT;AAELC,IAAAA,OAAO,EAAG,YAAWF,IAAK,qBAAoBF,IAAK;AACvD,gBAAgBE,IAAK,yBAAwBF,IAAK;AAClD,WAAWE,IAAK,sBAAqBF,IAAK;AAC1C,gBAAgBE,IAAK,2BAA0BF,IAAK;AACpD;AANS,GAAP;AAQD,CAXM","sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport const indexFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: 'index.ts',\n content: `export { ${Name}Context } from './${name}-context';\nexport type { ${Name}ContextType } from './${name}-context';\nexport { ${Name}Provider } from './${name}-context-provider';\nexport type { ${Name}ProviderProps } from './${name}-context-provider';\n`,\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index-file.ts"],"names":["indexFile","context","name","namePascalCase","Name","relativePath","content"],"mappings":";;;;;;;AAEO,MAAMA,SAAS,GAAIC,OAAD,IAA+B;AACtD,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,cAAc,EAAEC;AAAxB,MAAiCH,OAAvC;AAEA,SAAO;AACLI,IAAAA,YAAY,EAAE,UADT;AAELC,IAAAA,OAAO,EAAG,YAAWF,IAAK,cAAaF,IAAK;AAChD;AAHS,GAAP;AAKD,CARM","sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport const indexFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: 'index.ts',\n content: `export { ${Name} } from './${name}';\n`,\n };\n}
|
|
1
|
+
{"version":3,"sources":["index-file.ts"],"names":["indexFile","context","name","namePascalCase","Name","relativePath","content"],"mappings":";;;;;;;AAEO,MAAMA,SAAS,GAAIC,OAAD,IAA+B;AACtD,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,cAAc,EAAEC;AAAxB,MAAiCH,OAAvC;AAEA,SAAO;AACLI,IAAAA,YAAY,EAAE,UADT;AAELC,IAAAA,OAAO,EAAG,YAAWF,IAAK,cAAaF,IAAK;AAChD;AAHS,GAAP;AAKD,CARM","sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport const indexFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: 'index.ts',\n content: `export { ${Name} } from './${name}';\n`,\n };\n};\n"]}
|
|
@@ -23,7 +23,7 @@ const reactWorkspaceTemplate = {
|
|
|
23
23
|
generateFiles: async context => {
|
|
24
24
|
return (0, _workspaceCommon().generateFiles)(context);
|
|
25
25
|
},
|
|
26
|
-
|
|
26
|
+
fork: () => {
|
|
27
27
|
return [// {
|
|
28
28
|
// id: 'teambit.react/templates/envs/my-react',
|
|
29
29
|
// targetName: 'envs/my-react',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["reactWorkspaceTemplate","name","description","generateFiles","context","
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["reactWorkspaceTemplate","name","description","generateFiles","context","fork"],"mappings":";;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,sBAAyC,GAAG;AACvDC,EAAAA,IAAI,EAAE,OADiD;AAEvDC,EAAAA,WAAW,EAAE,sCAF0C;AAGvDC,EAAAA,aAAa,EAAE,MAAOC,OAAP,IAAqC;AAClD,WAAO,sCAAoBA,OAApB,CAAP;AACD,GALsD;AAMvDC,EAAAA,IAAI,EAAE,MAAM;AACV,WAAO,CACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbK,KAAP;AAeD;AAtBsD,CAAlD","sourcesContent":["import { WorkspaceContext, WorkspaceTemplate } from '@teambit/generator';\nimport { generateFiles as generateCommonFiles } from '../workspace-common';\n\nexport const reactWorkspaceTemplate: WorkspaceTemplate = {\n name: 'react',\n description: 'React workspace with demo components',\n generateFiles: async (context: WorkspaceContext) => {\n return generateCommonFiles(context);\n },\n fork: () => {\n return [\n // {\n // id: 'teambit.react/templates/envs/my-react',\n // targetName: 'envs/my-react',\n // path: 'demo/envs/my-react',\n // },\n // { id: 'teambit.react/templates/ui/text', targetName: 'ui/text', path: 'demo/ui/text' },\n // { id: 'teambit.react/templates/ui/heading', targetName: 'ui/heading', path: 'demo/ui/heading' },\n // { id: 'teambit.react/templates/ui/card', targetName: 'ui/card', path: 'demo/ui/card' },\n // {\n // id: 'teambit.react/templates/pages/welcome',\n // targetName: 'pages/welcome',\n // path: 'demo/pages/welcome',\n // },\n ];\n },\n};\n"]}
|
|
@@ -24,7 +24,7 @@ const reactWorkspaceAppTemplate = {
|
|
|
24
24
|
generateFiles: async context => {
|
|
25
25
|
return (0, _workspaceCommon().generateFiles)(context);
|
|
26
26
|
},
|
|
27
|
-
|
|
27
|
+
fork: () => {
|
|
28
28
|
return [{
|
|
29
29
|
id: 'teambit.react/templates/apps/my-app',
|
|
30
30
|
path: 'apps/my-app'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["reactWorkspaceAppTemplate","name","description","hidden","generateFiles","context","
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["reactWorkspaceAppTemplate","name","description","hidden","generateFiles","context","fork","id","path"],"mappings":";;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,yBAA4C,GAAG;AAC1DC,EAAAA,IAAI,EAAE,WADoD;AAE1DC,EAAAA,WAAW,EAAE,0CAF6C;AAG1DC,EAAAA,MAAM,EAAE,IAHkD;AAI1DC,EAAAA,aAAa,EAAE,MAAOC,OAAP,IAAqC;AAClD,WAAO,sCAAoBA,OAApB,CAAP;AACD,GANyD;AAO1DC,EAAAA,IAAI,EAAE,MAAM;AACV,WAAO,CACL;AAAEC,MAAAA,EAAE,EAAE,qCAAN;AAA6CC,MAAAA,IAAI,EAAE;AAAnD,KADK,EAEL;AAAED,MAAAA,EAAE,EAAE,uCAAN;AAA+CC,MAAAA,IAAI,EAAE;AAArD,KAFK,EAGL;AAAED,MAAAA,EAAE,EAAE,sCAAN;AAA8CC,MAAAA,IAAI,EAAE;AAApD,KAHK,EAIL;AAAED,MAAAA,EAAE,EAAE,uCAAN;AAA+CC,MAAAA,IAAI,EAAE;AAArD,KAJK,EAKL;AAAED,MAAAA,EAAE,EAAE,oCAAN;AAA4CC,MAAAA,IAAI,EAAE;AAAlD,KALK,CAAP;AAOD;AAfyD,CAArD","sourcesContent":["import { WorkspaceContext, WorkspaceTemplate } from '@teambit/generator';\nimport { generateFiles as generateCommonFiles } from '../workspace-common';\n\nexport const reactWorkspaceAppTemplate: WorkspaceTemplate = {\n name: 'react-app',\n description: 'EXPERIMENTAL. react workspace for an app',\n hidden: true,\n generateFiles: async (context: WorkspaceContext) => {\n return generateCommonFiles(context);\n },\n fork: () => {\n return [\n { id: 'teambit.react/templates/apps/my-app', path: 'apps/my-app' },\n { id: 'teambit.react/templates/envs/my-react', path: 'envs/my-react' },\n { id: 'teambit.react/templates/themes/theme', path: 'themes/theme' },\n { id: 'teambit.react/templates/styles/colors', path: 'styles/colors' },\n { id: 'teambit.react/templates/ui/heading', path: 'ui/heading' },\n ];\n },\n};\n"]}
|
|
@@ -24,7 +24,7 @@ const deprecatedReactWorkspaceTemplate = {
|
|
|
24
24
|
generateFiles: async context => {
|
|
25
25
|
return (0, _workspaceCommon().generateFiles)(context);
|
|
26
26
|
},
|
|
27
|
-
|
|
27
|
+
fork: () => {
|
|
28
28
|
return [{
|
|
29
29
|
id: 'teambit.react/templates/envs/my-react',
|
|
30
30
|
targetName: 'envs/my-react',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["deprecatedReactWorkspaceTemplate","name","description","hidden","generateFiles","context","
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["deprecatedReactWorkspaceTemplate","name","description","hidden","generateFiles","context","fork","id","targetName","path"],"mappings":";;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,gCAAmD,GAAG;AACjEC,EAAAA,IAAI,EAAE,iBAD2D;AAEjEC,EAAAA,WAAW,EAAE,sCAFoD;AAGjEC,EAAAA,MAAM,EAAE,IAHyD;AAIjEC,EAAAA,aAAa,EAAE,MAAOC,OAAP,IAAqC;AAClD,WAAO,sCAAoBA,OAApB,CAAP;AACD,GANgE;AAOjEC,EAAAA,IAAI,EAAE,MAAM;AACV,WAAO,CACL;AACEC,MAAAA,EAAE,EAAE,uCADN;AAEEC,MAAAA,UAAU,EAAE,eAFd;AAGEC,MAAAA,IAAI,EAAE;AAHR,KADK,EAML;AAAEF,MAAAA,EAAE,EAAE,iCAAN;AAAyCC,MAAAA,UAAU,EAAE,SAArD;AAAgEC,MAAAA,IAAI,EAAE;AAAtE,KANK,EAOL;AAAEF,MAAAA,EAAE,EAAE,oCAAN;AAA4CC,MAAAA,UAAU,EAAE,YAAxD;AAAsEC,MAAAA,IAAI,EAAE;AAA5E,KAPK,EAQL;AAAEF,MAAAA,EAAE,EAAE,iCAAN;AAAyCC,MAAAA,UAAU,EAAE,SAArD;AAAgEC,MAAAA,IAAI,EAAE;AAAtE,KARK,EASL;AACEF,MAAAA,EAAE,EAAE,uCADN;AAEEC,MAAAA,UAAU,EAAE,eAFd;AAGEC,MAAAA,IAAI,EAAE;AAHR,KATK,CAAP;AAeD;AAvBgE,CAA5D","sourcesContent":["import { WorkspaceContext, WorkspaceTemplate } from '@teambit/generator';\nimport { generateFiles as generateCommonFiles } from '../workspace-common';\n\nexport const deprecatedReactWorkspaceTemplate: WorkspaceTemplate = {\n name: 'react-workspace',\n description: 'React workspace with demo components',\n hidden: true,\n generateFiles: async (context: WorkspaceContext) => {\n return generateCommonFiles(context);\n },\n fork: () => {\n return [\n {\n id: 'teambit.react/templates/envs/my-react',\n targetName: 'envs/my-react',\n path: 'demo/envs/my-react',\n },\n { id: 'teambit.react/templates/ui/text', targetName: 'ui/text', path: 'demo/ui/text' },\n { id: 'teambit.react/templates/ui/heading', targetName: 'ui/heading', path: 'demo/ui/heading' },\n { id: 'teambit.react/templates/ui/card', targetName: 'ui/card', path: 'demo/ui/card' },\n {\n id: 'teambit.react/templates/pages/welcome',\n targetName: 'pages/welcome',\n path: 'demo/pages/welcome',\n },\n ];\n },\n};\n"]}
|
|
@@ -24,7 +24,7 @@ const reactWorkspaceLibTemplate = {
|
|
|
24
24
|
generateFiles: async context => {
|
|
25
25
|
return (0, _workspaceCommon().generateFiles)(context);
|
|
26
26
|
},
|
|
27
|
-
|
|
27
|
+
fork: () => {
|
|
28
28
|
return [{
|
|
29
29
|
id: 'teambit.react/templates/envs/my-react',
|
|
30
30
|
targetName: 'envs/my-react',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["reactWorkspaceLibTemplate","name","description","hidden","generateFiles","context","
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["reactWorkspaceLibTemplate","name","description","hidden","generateFiles","context","fork","id","targetName","path"],"mappings":";;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,yBAA4C,GAAG;AAC1DC,EAAAA,IAAI,EAAE,WADoD;AAE1DC,EAAAA,WAAW,EAAE,uDAF6C;AAG1DC,EAAAA,MAAM,EAAE,IAHkD;AAI1DC,EAAAA,aAAa,EAAE,MAAOC,OAAP,IAAqC;AAClD,WAAO,sCAAoBA,OAApB,CAAP;AACD,GANyD;AAO1DC,EAAAA,IAAI,EAAE,MAAM;AACV,WAAO,CACL;AAAEC,MAAAA,EAAE,EAAE,uCAAN;AAA+CC,MAAAA,UAAU,EAAE,eAA3D;AAA4EC,MAAAA,IAAI,EAAE;AAAlF,KADK,EAEL;AAAEF,MAAAA,EAAE,EAAE,iCAAN;AAAyCC,MAAAA,UAAU,EAAE,SAArD;AAAgEC,MAAAA,IAAI,EAAE;AAAtE,KAFK,EAGL;AAAEF,MAAAA,EAAE,EAAE,oCAAN;AAA4CC,MAAAA,UAAU,EAAE,YAAxD;AAAsEC,MAAAA,IAAI,EAAE;AAA5E,KAHK,EAIL;AAAEF,MAAAA,EAAE,EAAE,iCAAN;AAAyCC,MAAAA,UAAU,EAAE,SAArD;AAAgEC,MAAAA,IAAI,EAAE;AAAtE,KAJK,EAKL;AAAEF,MAAAA,EAAE,EAAE,uCAAN;AAA+CC,MAAAA,UAAU,EAAE,eAA3D;AAA4EC,MAAAA,IAAI,EAAE;AAAlF,KALK,EAML;AAAEF,MAAAA,EAAE,EAAE,sCAAN;AAA8CC,MAAAA,UAAU,EAAE,cAA1D;AAA0EC,MAAAA,IAAI,EAAE;AAAhF,KANK,CAAP;AAQD;AAhByD,CAArD","sourcesContent":["import { WorkspaceContext, WorkspaceTemplate } from '@teambit/generator';\nimport { generateFiles as generateCommonFiles } from '../workspace-common';\n\nexport const reactWorkspaceLibTemplate: WorkspaceTemplate = {\n name: 'react-lib',\n description: 'EXPERIMENTAL. react workspace for a component library',\n hidden: true,\n generateFiles: async (context: WorkspaceContext) => {\n return generateCommonFiles(context);\n },\n fork: () => {\n return [\n { id: 'teambit.react/templates/envs/my-react', targetName: 'envs/my-react', path: 'demo/envs/my-react' },\n { id: 'teambit.react/templates/ui/text', targetName: 'ui/text', path: 'demo/ui/text' },\n { id: 'teambit.react/templates/ui/heading', targetName: 'ui/heading', path: 'demo/ui/heading' },\n { id: 'teambit.react/templates/ui/card', targetName: 'ui/card', path: 'demo/ui/card' },\n { id: 'teambit.react/templates/styles/colors', targetName: 'styles/colors', path: 'demo/styles/colors' },\n { id: 'teambit.react/templates/themes/theme', targetName: 'themes/theme', path: 'demo/themes/theme' },\n ];\n },\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { dismissRuntimeErrors as clearRuntimeErrors, reportRuntimeError as handleRuntimeError };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/jest/index.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
// "roots": [
|
|
3
|
+
// "<rootDir>/src"
|
|
4
|
+
// ],
|
|
5
|
+
// "collectCoverageFrom": [
|
|
6
|
+
// "src/**/*.{js,jsx,ts,tsx}",
|
|
7
|
+
// "!src/**/*.d.ts"
|
|
8
|
+
// ],
|
|
9
|
+
setupFiles: [require.resolve('react-app-polyfill/jsdom')],
|
|
10
|
+
setupFilesAfterEnv: [require.resolve('./setupTests.js')],
|
|
11
|
+
// "testMatch": [
|
|
12
|
+
// "<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
|
|
13
|
+
// "<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
|
|
14
|
+
// ],
|
|
15
|
+
testEnvironment: require.resolve('jest-environment-jsdom'),
|
|
16
|
+
transform: {
|
|
17
|
+
'^.+\\.css$': require.resolve('./transformers/css-transform.js'),
|
|
18
|
+
'^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': require.resolve('./transformers/file-transform.js'),
|
|
19
|
+
// '^(?!.*\\.(svg|png|jpg|jpeg|gif|webp|woff|ttf|woff2)$)': require.resolve('./file-transform.js'),
|
|
20
|
+
},
|
|
21
|
+
transformIgnorePatterns: ['[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$', '^.+\\.module\\.(css|sass|scss)$'],
|
|
22
|
+
modulePaths: [],
|
|
23
|
+
moduleNameMapper: {
|
|
24
|
+
'\\.(css|less|scss|sass)$': require.resolve('identity-obj-proxy'),
|
|
25
|
+
'^react-native$': require.resolve('react-native-web'),
|
|
26
|
+
'^.+\\.module\\.(css|sass|scss)$': require.resolve('identity-obj-proxy'),
|
|
27
|
+
},
|
|
28
|
+
moduleFileExtensions: ['web.js', 'js', 'web.ts', 'ts', 'web.tsx', 'tsx', 'json', 'web.jsx', 'jsx', 'node'],
|
|
29
|
+
testTimeout: 30000, // @todo remove this once mocha-tester is ready and aspect-api testing are using it.
|
|
30
|
+
// watchPlugins: [require.resolve('jest-watch-typeahead/filename'), require.resolve('jest-watch-typeahead/testname')],
|
|
31
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const baseConfig = require('./jest.base.config');
|
|
2
|
+
|
|
3
|
+
const cjsTransformer = require.resolve('./transformers/cjs-transformer.js');
|
|
4
|
+
|
|
5
|
+
const cjsTransform = { ...baseConfig.transform, '^.+\\.(js|jsx|ts|tsx)$': cjsTransformer };
|
|
6
|
+
const cjsConfig = { ...baseConfig, transform: cjsTransform };
|
|
7
|
+
|
|
8
|
+
module.exports = cjsConfig;
|
package/jest/jest.config.js
CHANGED
|
@@ -1,32 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
// ],
|
|
9
|
-
setupFiles: [require.resolve('react-app-polyfill/jsdom')],
|
|
10
|
-
setupFilesAfterEnv: [require.resolve('./setupTests.js')],
|
|
11
|
-
// "testMatch": [
|
|
12
|
-
// "<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
|
|
13
|
-
// "<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
|
|
14
|
-
// ],
|
|
15
|
-
testEnvironment: require.resolve('jest-environment-jsdom'),
|
|
16
|
-
transform: {
|
|
17
|
-
'^.+\\.(js|jsx|ts|tsx)$': require.resolve('./transformer'),
|
|
18
|
-
'^.+\\.css$': require.resolve('./css-transform.js'),
|
|
19
|
-
'^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': require.resolve('./file-transform.js'),
|
|
20
|
-
// '^(?!.*\\.(svg|png|jpg|jpeg|gif|webp|woff|ttf|woff2)$)': require.resolve('./file-transform.js'),
|
|
21
|
-
},
|
|
22
|
-
transformIgnorePatterns: ['[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$', '^.+\\.module\\.(css|sass|scss)$'],
|
|
23
|
-
modulePaths: [],
|
|
24
|
-
moduleNameMapper: {
|
|
25
|
-
"\\.(css|less|scss|sass)$": require.resolve('identity-obj-proxy'),
|
|
26
|
-
'^react-native$': require.resolve('react-native-web'),
|
|
27
|
-
'^.+\\.module\\.(css|sass|scss)$': require.resolve('identity-obj-proxy'),
|
|
28
|
-
},
|
|
29
|
-
moduleFileExtensions: ['web.js', 'js', 'web.ts', 'ts', 'web.tsx', 'tsx', 'json', 'web.jsx', 'jsx', 'node'],
|
|
30
|
-
testTimeout: 30000, // @todo remove this once mocha-tester is ready and aspect-api testing are using it.
|
|
31
|
-
// watchPlugins: [require.resolve('jest-watch-typeahead/filename'), require.resolve('jest-watch-typeahead/testname')],
|
|
32
|
-
};
|
|
1
|
+
// DEPRECATED
|
|
2
|
+
// This file is here for backward compatibility. not breaking users who used to import this file directly.
|
|
3
|
+
// Please use the specific config file (jest.cjs.config / jest.esm.config) instead
|
|
4
|
+
|
|
5
|
+
const cjsConfig = require('./jest.cjs.config');
|
|
6
|
+
|
|
7
|
+
module.exports = cjsConfig;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const baseConfig = require('./jest.base.config');
|
|
2
|
+
|
|
3
|
+
const esmTransformer = require.resolve('./transformers/esm-transformer.js');
|
|
4
|
+
const esmTransform = { ...baseConfig.transform, '^.+\\.(js|jsx|ts|tsx)$': esmTransformer };
|
|
5
|
+
const esmConfig = { ...baseConfig, extensionsToTreatAsEsm: ['.ts', '.tsx', '.jsx'], transform: esmTransform };
|
|
6
|
+
|
|
7
|
+
module.exports = esmConfig;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* eslint-disable global-require */
|
|
2
|
+
|
|
3
|
+
const basePlugins = [
|
|
4
|
+
[require('babel-plugin-transform-typescript-metadata')],
|
|
5
|
+
[require('@babel/plugin-proposal-decorators'), { legacy: true }],
|
|
6
|
+
[require('@babel/plugin-transform-runtime')],
|
|
7
|
+
[require('@babel/plugin-proposal-object-rest-spread')],
|
|
8
|
+
[require('@babel/plugin-proposal-class-properties')],
|
|
9
|
+
];
|
|
10
|
+
|
|
11
|
+
module.exports = {
|
|
12
|
+
basePlugins,
|
|
13
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const { transform } = require('@babel/core');
|
|
2
|
+
|
|
3
|
+
const generateProcessFunc = (presets, plugins) => {
|
|
4
|
+
return (src, filename) => {
|
|
5
|
+
const result = transform(src, {
|
|
6
|
+
sourceMap: 'inline',
|
|
7
|
+
filename,
|
|
8
|
+
presets,
|
|
9
|
+
plugins,
|
|
10
|
+
babelrc: false,
|
|
11
|
+
configFile: false,
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
return result ? result.code : src;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
module.exports = {
|
|
19
|
+
generateProcessFunc,
|
|
20
|
+
};
|