@teambit/react 0.0.737 → 0.0.740
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/apps/web/compute-results.ts +18 -0
- package/apps/web/react.application.ts +14 -4
- package/artifacts/env-template/public/173.js +34 -0
- package/artifacts/env-template/public/295.js +27 -27
- package/artifacts/env-template/public/assets-manifest.json +8 -8
- package/artifacts/env-template/public/{compositions.c63b532b6adfa78d8ab1.js → compositions.6dc32b8ec6eb8a275774.js} +1 -1
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/{overview.3081780ed07d151b9672.js → overview.9895c218a5e5751260e3.js} +1 -1
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/{preview-root.4cfda169a82ce1e29875.js → preview-root.57b184c01e64e725977f.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-1652930732694.js → compositions-1653449228788.js} +0 -0
- package/dist/apps/web/compute-results.d.ts +7 -0
- package/dist/apps/web/compute-results.js +21 -0
- package/dist/apps/web/compute-results.js.map +1 -0
- package/dist/apps/web/default-bundler.js.map +1 -1
- package/dist/apps/web/deploy-context.js.map +1 -1
- package/dist/apps/web/index.js.map +1 -1
- package/dist/apps/web/plugins/index.js.map +1 -1
- package/dist/apps/web/plugins/prerender.js.map +1 -1
- package/dist/apps/web/react-app-options.js.map +1 -1
- package/dist/apps/web/react-build-result.js.map +1 -1
- package/dist/apps/web/react.app-type.js.map +1 -1
- package/dist/apps/web/react.application.d.ts +1 -0
- package/dist/apps/web/react.application.js +25 -7
- package/dist/apps/web/react.application.js.map +1 -1
- package/dist/compositions-app.js.map +1 -1
- package/dist/eslint/eslintrc.js.map +1 -1
- package/dist/highlighter-widget.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/jest/index.js.map +1 -1
- package/dist/jest/jest.base.config.js.map +1 -1
- package/dist/jest/jest.cjs.config.js.map +1 -1
- package/dist/jest/jest.config.js.map +1 -1
- package/dist/jest/jest.esm.config.js.map +1 -1
- package/dist/jest/setupTests.js.map +1 -1
- package/dist/jest/transformers/base-transformer-plugins.js.map +1 -1
- package/dist/jest/transformers/base-transformer-presets.js.map +1 -1
- package/dist/jest/transformers/base-transformer-process.js.map +1 -1
- package/dist/jest/transformers/cjs-transformer.js.map +1 -1
- package/dist/jest/transformers/css-transform.js.map +1 -1
- package/dist/jest/transformers/esm-transformer.js.map +1 -1
- package/dist/jest/transformers/file-transform.js.map +1 -1
- package/dist/mount.js.map +1 -1
- package/dist/prettier/prettier.config.js.map +1 -1
- package/dist/react.aspect.js.map +1 -1
- package/dist/react.composition.js.map +1 -1
- package/dist/react.env.d.ts +4 -2
- package/dist/react.env.js +10 -29
- package/dist/react.env.js.map +1 -1
- package/dist/react.graphql.js.map +1 -1
- package/dist/react.main.runtime.d.ts +3 -2
- package/dist/react.main.runtime.js +13 -3
- package/dist/react.main.runtime.js.map +1 -1
- package/dist/react.preview.runtime.js.map +1 -1
- package/dist/react.templates.js.map +1 -1
- package/dist/react.ui.runtime.js.map +1 -1
- package/dist/templates/react-app/files/app-plugin.js.map +1 -1
- package/dist/templates/react-app/files/app-root.js.map +1 -1
- package/dist/templates/react-app/files/app.js.map +1 -1
- package/dist/templates/react-app/files/compositions.js.map +1 -1
- package/dist/templates/react-app/files/doc.js.map +1 -1
- package/dist/templates/react-app/files/index.js.map +1 -1
- package/dist/templates/react-app/index.js.map +1 -1
- package/dist/templates/react-component/files/component.js.map +1 -1
- package/dist/templates/react-component/files/composition.js.map +1 -1
- package/dist/templates/react-component/files/docs.js.map +1 -1
- package/dist/templates/react-component/files/index-file.js.map +1 -1
- package/dist/templates/react-component/files/test.js.map +1 -1
- package/dist/templates/react-component/index.js.map +1 -1
- package/dist/templates/react-component-js/files/component.js.map +1 -1
- package/dist/templates/react-component-js/files/composition.js.map +1 -1
- package/dist/templates/react-component-js/files/docs.js.map +1 -1
- package/dist/templates/react-component-js/files/test.js.map +1 -1
- package/dist/templates/react-component-js/index.js.map +1 -1
- package/dist/templates/react-context/files/composition.js.map +1 -1
- package/dist/templates/react-context/files/context-provider.js.map +1 -1
- package/dist/templates/react-context/files/context.js.map +1 -1
- package/dist/templates/react-context/files/docs.js.map +1 -1
- package/dist/templates/react-context/files/index-file.js.map +1 -1
- package/dist/templates/react-context/files/test.js.map +1 -1
- package/dist/templates/react-context/index.js.map +1 -1
- package/dist/templates/react-env/files/aspect.js.map +1 -1
- package/dist/templates/react-env/files/doc.js.map +1 -1
- package/dist/templates/react-env/files/index.js.map +1 -1
- package/dist/templates/react-env/files/jest.config.js.map +1 -1
- package/dist/templates/react-env/files/main.runtime.js.map +1 -1
- package/dist/templates/react-env/files/preview.runtime.js.map +1 -1
- package/dist/templates/react-env/files/typescript/styles.js.map +1 -1
- package/dist/templates/react-env/files/typescript/ts-transformer.js.map +1 -1
- package/dist/templates/react-env/files/typescript/typescript.config.js.map +1 -1
- package/dist/templates/react-env/files/webpack.config.js.map +1 -1
- package/dist/templates/react-env/index.js.map +1 -1
- package/dist/templates/react-hook/files/component.js.map +1 -1
- package/dist/templates/react-hook/files/composition.js.map +1 -1
- package/dist/templates/react-hook/files/docs.js.map +1 -1
- package/dist/templates/react-hook/files/index-file.js.map +1 -1
- package/dist/templates/react-hook/files/test.js.map +1 -1
- package/dist/templates/react-hook/index.js.map +1 -1
- package/dist/templates/react-workspace/index.js.map +1 -1
- package/dist/templates/react-workspace-analytics/index.js.map +1 -1
- package/dist/templates/react-workspace-app/index.js.map +1 -1
- package/dist/templates/react-workspace-data-fetching/index.js.map +1 -1
- package/dist/templates/react-workspace-deprecated/index.js.map +1 -1
- package/dist/templates/react-workspace-design-system/index.js.map +1 -1
- package/dist/templates/react-workspace-lib/index.js.map +1 -1
- package/dist/templates/react-workspace-wiki/index.js.map +1 -1
- package/dist/templates/workspace-common/files/eslint-config.js.map +1 -1
- package/dist/templates/workspace-common/files/git-ignore.js.map +1 -1
- package/dist/templates/workspace-common/files/launch-json.js.map +1 -1
- package/dist/templates/workspace-common/files/prettier-config.js.map +1 -1
- package/dist/templates/workspace-common/files/readme-file.js.map +1 -1
- package/dist/templates/workspace-common/files/ts-config.js.map +1 -1
- package/dist/templates/workspace-common/files/types/asset.js.map +1 -1
- package/dist/templates/workspace-common/files/types/style.js.map +1 -1
- package/dist/templates/workspace-common/files/workspace-config.js.map +1 -1
- package/dist/templates/workspace-common/generate-files.js.map +1 -1
- package/dist/templates/workspace-common/index.js.map +1 -1
- package/dist/webpack/html.js.map +1 -1
- package/dist/webpack/index.js.map +1 -1
- package/dist/webpack/overlay/formatWebpackMessages.js.map +1 -1
- package/dist/webpack/overlay/launchEditorEndpoint.js.map +1 -1
- package/dist/webpack/overlay/refreshOverlayInterop.js.map +1 -1
- package/dist/webpack/overlay/webpackHotDevClient.js.map +1 -1
- package/dist/webpack/postcss.config.js.map +1 -1
- package/dist/webpack/webpack.config.base.js.map +1 -1
- package/dist/webpack/webpack.config.base.prod.d.ts +1 -1
- package/dist/webpack/webpack.config.base.prod.js +1 -13
- package/dist/webpack/webpack.config.base.prod.js.map +1 -1
- package/dist/webpack/webpack.config.component.dev.js.map +1 -1
- package/dist/webpack/webpack.config.component.prod.js.map +1 -1
- package/dist/webpack/webpack.config.env.dev.js.map +1 -1
- package/{overview-1652930732694.js → overview-1653449228788.js} +0 -0
- package/package-tar/teambit-react-0.0.740.tgz +0 -0
- package/package.json +32 -39
- package/{preview-1652930732694.js → preview-1653449228788.js} +2 -2
- package/webpack/webpack.config.base.prod.ts +1 -5
- package/artifacts/env-template/public/65.js +0 -34
- package/dist/webpack/get-exposed-rules.d.ts +0 -3
- package/dist/webpack/get-exposed-rules.js +0 -60
- package/dist/webpack/get-exposed-rules.js.map +0 -1
- package/dist/webpack/get-externals.d.ts +0 -1
- package/dist/webpack/get-externals.js +0 -42
- package/dist/webpack/get-externals.js.map +0 -1
- package/dist/webpack/resolve-peer.d.ts +0 -14
- package/dist/webpack/resolve-peer.js +0 -108
- package/dist/webpack/resolve-peer.js.map +0 -1
- package/dist/webpack/transformers.d.ts +0 -10
- package/dist/webpack/transformers.js +0 -66
- package/dist/webpack/transformers.js.map +0 -1
- package/package-tar/teambit-react-0.0.737.tgz +0 -0
- package/webpack/get-exposed-rules.ts +0 -14
- package/webpack/get-externals.ts +0 -8
- package/webpack/resolve-peer.ts +0 -60
- package/webpack/transformers.ts +0 -37
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["react.application.ts"],"names":["ReactApp","constructor","name","entry","portRange","reactEnv","prerender","bundler","devServer","transformers","deploy","favicon","isPrerendering","TerserPlugin","extractComments","terserOptions","parse","ecma","compress","warnings","comparisons","inline","mangle","safari10","output","comments","ascii_only","minify","esbuildMinify","run","context","from","to","port","Port","getPort","listen","devServerContext","getDevServerContext","getDevServer","configMutator","addTopLevel","historyApiFallback","index","disableDotRule","raw","publicPath","build","htmlConfig","title","templateContent","Object","assign","html","getBundler","publicDir","getPublicDir","dir","getDefaultBundler","capsule","env","outputPath","path","distDir","getCompiler","entries","map","require","resolve","staticDir","bundlerContext","targets","components","component","rootPath","metaData","initiator","envId","id","defaultTransformer","config","addPlugin","optimization","minimizer","push","getESBuildConfig","applicationType"],"mappings":"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","sourcesContent":["import { join, basename } from 'path';\nimport { Application, AppContext, AppBuildContext } from '@teambit/application';\nimport { Bundler, DevServer, BundlerContext, DevServerContext, BundlerHtmlConfig } from '@teambit/bundler';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { remove } from 'lodash';\nimport TerserPlugin from 'terser-webpack-plugin';\nimport { WebpackConfigTransformer } from '@teambit/webpack';\nimport { ReactEnv } from '../../react.env';\nimport { prerenderPlugin } from './plugins';\nimport { ReactAppBuildResult } from './react-build-result';\nimport { ReactAppPrerenderOptions } from './react-app-options';\nimport { html } from '../../webpack';\nimport { ReactDeployContext } from '.';\n\nexport class ReactApp implements Application {\n constructor(\n readonly name: string,\n readonly entry: string[],\n readonly portRange: number[],\n private reactEnv: ReactEnv,\n readonly prerender?: ReactAppPrerenderOptions,\n readonly bundler?: Bundler,\n readonly devServer?: DevServer,\n readonly transformers: WebpackConfigTransformer[] = [],\n readonly deploy?: (context: ReactDeployContext) => Promise<void>,\n readonly favicon?: string\n ) {}\n readonly applicationType = 'react-common-js';\n readonly dir = 'public';\n\n async run(context: AppContext): Promise<number> {\n const [from, to] = this.portRange;\n const port = await Port.getPort(from, to);\n if (this.devServer) {\n await this.devServer.listen(port);\n return port;\n }\n const devServerContext = this.getDevServerContext(context);\n const devServer = this.reactEnv.getDevServer(devServerContext, [\n (configMutator) =>\n configMutator.addTopLevel('devServer', {\n historyApiFallback: {\n index: '/index.html',\n disableDotRule: true,\n },\n }),\n (configMutator) => {\n if (!configMutator.raw.output) configMutator.raw.output = {};\n configMutator.raw.output.publicPath = '/';\n\n return configMutator;\n },\n ...this.transformers,\n ]);\n await devServer.listen(port);\n return port;\n }\n\n async build(context: AppBuildContext): Promise<ReactAppBuildResult> {\n const htmlConfig: BundlerHtmlConfig[] = [\n {\n title: context.name,\n templateContent: html(context.name),\n minify: false,\n favicon: this.favicon,\n // filename: ''.html`,\n },\n ];\n Object.assign(context, {\n html: htmlConfig,\n });\n const bundler = await this.getBundler(context);\n await bundler.run();\n return { publicDir: `${this.getPublicDir()}/${this.dir}` };\n }\n\n private getBundler(context: AppBuildContext) {\n if (this.bundler) return this.bundler;\n return this.getDefaultBundler(context);\n }\n private async getDefaultBundler(context: AppBuildContext) {\n const { capsule } = context;\n const reactEnv: ReactEnv = context.env;\n const publicDir = this.getPublicDir();\n const outputPath = join(capsule.path, publicDir);\n const { distDir } = reactEnv.getCompiler();\n const entries = this.entry.map((entry) => require.resolve(`${capsule.path}/${distDir}/${basename(entry)}`));\n const staticDir = join(outputPath, this.dir);\n\n const bundlerContext: BundlerContext = Object.assign(context, {\n targets: [\n {\n components: [capsule?.component],\n entries,\n outputPath,\n },\n ],\n entry: [],\n rootPath: '/',\n metaData: {\n initiator: `building app: ${context.name}`,\n envId: context.id,\n },\n });\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const config = configMutator.addTopLevel('output', { path: staticDir, publicPath: `/` });\n if (this.prerender) config.addPlugin(prerenderPlugin(this.prerender));\n if (config.raw.optimization?.minimizer) {\n remove(config.raw.optimization?.minimizer, (minimizer) => {\n return minimizer.constructor.name === 'TerserPlugin';\n });\n\n config.raw.optimization?.minimizer.push(this.getESBuildConfig());\n }\n\n return config;\n };\n const transformers = [defaultTransformer, ...this.transformers];\n const bundler: Bundler = await reactEnv.getBundler(bundlerContext, transformers);\n return bundler;\n }\n private getESBuildConfig = (isPrerendering = this.prerender) => {\n // We don't want to use esbuild in case of prerendering since the headless browser puppeteer doesn't support\n // the output of esbuild\n\n if (isPrerendering) {\n return new TerserPlugin({\n extractComments: false,\n terserOptions: {\n parse: {\n // We want terser to parse ecma 8 code. However, we don't want it\n // to apply any minification steps that turns valid ecma 5 code\n // into invalid ecma 5 code. This is why the 'compress' and 'output'\n // sections only apply transformations that are ecma 5 safe\n // https://github.com/facebook/create-react-app/pull/4234\n ecma: 8,\n },\n compress: {\n ecma: 5,\n warnings: false,\n // Disabled because of an issue with Uglify breaking seemingly valid code:\n // https://github.com/facebook/create-react-app/issues/2376\n // Pending further investigation:\n // https://github.com/mishoo/UglifyJS2/issues/2011\n comparisons: false,\n // Disabled because of an issue with Terser breaking valid code:\n // https://github.com/facebook/create-react-app/issues/5250\n // Pending further investigation:\n // https://github.com/terser-js/terser/issues/120\n inline: 2,\n },\n mangle: {\n safari10: true,\n },\n output: {\n ecma: 5,\n comments: false,\n // Turned on because emoji and regex is not minified properly using default\n // https://github.com/facebook/create-react-app/issues/2488\n ascii_only: true,\n },\n },\n });\n }\n return new TerserPlugin({\n minify: TerserPlugin.esbuildMinify,\n // `terserOptions` options will be passed to `esbuild`\n // Link to options - https://esbuild.github.io/api/#minify\n terserOptions: {\n minify: true,\n },\n });\n };\n\n private getPublicDir() {\n return join(this.applicationType, this.name);\n }\n\n private getDevServerContext(context: AppContext): DevServerContext {\n return Object.assign(context, {\n entry: this.entry,\n rootPath: '',\n publicPath: `public/${this.name}`,\n title: this.name,\n favicon: this.favicon,\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"names":["ReactApp","constructor","name","entry","portRange","reactEnv","prerender","bundler","devServer","transformers","deploy","favicon","isPrerendering","TerserPlugin","extractComments","terserOptions","parse","ecma","compress","warnings","comparisons","inline","mangle","safari10","output","comments","ascii_only","minify","esbuildMinify","run","context","from","to","port","Port","getPort","listen","devServerContext","getDevServerContext","getDevServer","configMutator","addTopLevel","historyApiFallback","index","disableDotRule","raw","publicPath","build","htmlConfig","title","templateContent","html","Object","assign","getBundler","bundleResult","computeResults","publicDir","getPublicDir","dir","getDefaultBundler","capsule","env","outputPath","join","path","distDir","getCompiler","entries","map","require","resolve","basename","staticDir","bundlerContext","targets","components","component","hostDependencies","getPeers","aliasHostDependencies","rootPath","metaData","initiator","envId","id","defaultTransformer","config","addPlugin","prerenderPlugin","optimization","minimizer","remove","push","getESBuildConfig","applicationType","getPeerDependenciesList"],"sources":["react.application.ts"],"sourcesContent":["import { join, basename } from 'path';\nimport { Application, AppContext, AppBuildContext } from '@teambit/application';\nimport { Bundler, DevServer, BundlerContext, DevServerContext, BundlerHtmlConfig } from '@teambit/bundler';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { remove } from 'lodash';\nimport TerserPlugin from 'terser-webpack-plugin';\nimport { WebpackConfigTransformer } from '@teambit/webpack';\nimport { ReactEnv } from '../../react.env';\nimport { prerenderPlugin } from './plugins';\nimport { ReactAppBuildResult } from './react-build-result';\nimport { ReactAppPrerenderOptions } from './react-app-options';\nimport { html } from '../../webpack';\nimport { ReactDeployContext } from '.';\nimport { computeResults } from './compute-results';\n\nexport class ReactApp implements Application {\n constructor(\n readonly name: string,\n readonly entry: string[],\n readonly portRange: number[],\n private reactEnv: ReactEnv,\n readonly prerender?: ReactAppPrerenderOptions,\n readonly bundler?: Bundler,\n readonly devServer?: DevServer,\n readonly transformers: WebpackConfigTransformer[] = [],\n readonly deploy?: (context: ReactDeployContext) => Promise<void>,\n readonly favicon?: string\n ) {}\n readonly applicationType = 'react-common-js';\n readonly dir = 'public';\n\n async run(context: AppContext): Promise<number> {\n const [from, to] = this.portRange;\n const port = await Port.getPort(from, to);\n if (this.devServer) {\n await this.devServer.listen(port);\n return port;\n }\n const devServerContext = await this.getDevServerContext(context);\n const devServer = this.reactEnv.getDevServer(devServerContext, [\n (configMutator) =>\n configMutator.addTopLevel('devServer', {\n historyApiFallback: {\n index: '/index.html',\n disableDotRule: true,\n },\n }),\n (configMutator) => {\n if (!configMutator.raw.output) configMutator.raw.output = {};\n configMutator.raw.output.publicPath = '/';\n\n return configMutator;\n },\n ...this.transformers,\n ]);\n await devServer.listen(port);\n return port;\n }\n\n async build(context: AppBuildContext): Promise<ReactAppBuildResult> {\n const htmlConfig: BundlerHtmlConfig[] = [\n {\n title: context.name,\n templateContent: html(context.name),\n minify: false,\n favicon: this.favicon,\n // filename: ''.html`,\n },\n ];\n Object.assign(context, {\n html: htmlConfig,\n });\n const bundler = await this.getBundler(context);\n const bundleResult = await bundler.run();\n\n return computeResults(bundleResult, { publicDir: `${this.getPublicDir()}/${this.dir}` });\n }\n\n private getBundler(context: AppBuildContext) {\n if (this.bundler) return this.bundler;\n return this.getDefaultBundler(context);\n }\n private async getDefaultBundler(context: AppBuildContext) {\n const { capsule } = context;\n const reactEnv: ReactEnv = context.env;\n const publicDir = this.getPublicDir();\n const outputPath = join(capsule.path, publicDir);\n const { distDir } = reactEnv.getCompiler();\n const entries = this.entry.map((entry) => require.resolve(`${capsule.path}/${distDir}/${basename(entry)}`));\n const staticDir = join(outputPath, this.dir);\n\n const bundlerContext: BundlerContext = Object.assign(context, {\n targets: [\n {\n components: [capsule?.component],\n entries,\n outputPath,\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n },\n ],\n entry: [],\n rootPath: '/',\n metaData: {\n initiator: `building app: ${context.name}`,\n envId: context.id,\n },\n });\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const config = configMutator.addTopLevel('output', { path: staticDir, publicPath: `/` });\n if (this.prerender) config.addPlugin(prerenderPlugin(this.prerender));\n if (config.raw.optimization?.minimizer) {\n remove(config.raw.optimization?.minimizer, (minimizer) => {\n return minimizer.constructor.name === 'TerserPlugin';\n });\n\n config.raw.optimization?.minimizer.push(this.getESBuildConfig());\n }\n\n return config;\n };\n const transformers = [defaultTransformer, ...this.transformers];\n const bundler: Bundler = await reactEnv.getBundler(bundlerContext, transformers);\n return bundler;\n }\n private getESBuildConfig = (isPrerendering = this.prerender) => {\n // We don't want to use esbuild in case of prerendering since the headless browser puppeteer doesn't support\n // the output of esbuild\n\n if (isPrerendering) {\n return new TerserPlugin({\n extractComments: false,\n terserOptions: {\n parse: {\n // We want terser to parse ecma 8 code. However, we don't want it\n // to apply any minification steps that turns valid ecma 5 code\n // into invalid ecma 5 code. This is why the 'compress' and 'output'\n // sections only apply transformations that are ecma 5 safe\n // https://github.com/facebook/create-react-app/pull/4234\n ecma: 8,\n },\n compress: {\n ecma: 5,\n warnings: false,\n // Disabled because of an issue with Uglify breaking seemingly valid code:\n // https://github.com/facebook/create-react-app/issues/2376\n // Pending further investigation:\n // https://github.com/mishoo/UglifyJS2/issues/2011\n comparisons: false,\n // Disabled because of an issue with Terser breaking valid code:\n // https://github.com/facebook/create-react-app/issues/5250\n // Pending further investigation:\n // https://github.com/terser-js/terser/issues/120\n inline: 2,\n },\n mangle: {\n safari10: true,\n },\n output: {\n ecma: 5,\n comments: false,\n // Turned on because emoji and regex is not minified properly using default\n // https://github.com/facebook/create-react-app/issues/2488\n ascii_only: true,\n },\n },\n });\n }\n return new TerserPlugin({\n minify: TerserPlugin.esbuildMinify,\n // `terserOptions` options will be passed to `esbuild`\n // Link to options - https://esbuild.github.io/api/#minify\n terserOptions: {\n minify: true,\n },\n });\n };\n\n private getPublicDir() {\n return join(this.applicationType, this.name);\n }\n\n private async getDevServerContext(context: AppContext): Promise<DevServerContext> {\n return Object.assign(context, {\n entry: this.entry,\n rootPath: '',\n publicPath: `public/${this.name}`,\n title: this.name,\n favicon: this.favicon,\n hostDependencies: await this.getPeers(),\n aliasHostDependencies: true,\n });\n }\n\n private getPeers(): Promise<string[]> {\n return this.reactEnv.getPeerDependenciesList();\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["hideScrollbars","CompositionsApp","Composition","previewContext","providers","get","ReactAspect","id","safeComposition","useFallback","ErrorFallback"],"sources":["compositions-app.tsx"],"sourcesContent":["import React, { ComponentType } from 'react';\nimport { Composer } from '@teambit/base-ui.utils.composer';\nimport { StandaloneNotFoundPage } from '@teambit/design.ui.pages.standalone-not-found-page';\nimport { RenderingContext } from '@teambit/preview';\nimport { ErrorFallback } from '@teambit/react.ui.error-fallback';\nimport { useFallback } from '@teambit/react.ui.loader-fallback';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport { ReactAspect } from './react.aspect';\n\n// hide scrollbars so they won't be visible in the preview at the component card (and it's ok not to show them in the compositions page)\nconst hideScrollbars = 'body::-webkit-scrollbar {display: none;}';\n\nexport function CompositionsApp({\n Composition,\n previewContext,\n}: {\n Composition?: ComponentType;\n previewContext: RenderingContext;\n}) {\n const { providers = [] } = previewContext.get(ReactAspect.id) || {};\n\n const safeComposition = useFallback(Composition && <Composition />, <StandaloneNotFoundPage />);\n\n return (\n <ErrorBoundary FallbackComponent={ErrorFallback} resetKeys={[Composition]}>\n <Composer components={providers}>\n <style>{hideScrollbars}</style>\n {safeComposition}\n </Composer>\n </ErrorBoundary>\n );\n}\n"],"mappings":";;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;AACA,MAAMA,cAAc,GAAG,0CAAvB;;AAEO,SAASC,eAAT,CAAyB;EAC9BC,WAD8B;EAE9BC;AAF8B,CAAzB,EAMJ;EACD,MAAM;IAAEC,SAAS,GAAG;EAAd,IAAqBD,cAAc,CAACE,GAAf,CAAmBC,qBAAA,CAAYC,EAA/B,KAAsC,EAAjE;EAEA,MAAMC,eAAe,GAAG,IAAAC,uBAAA,EAAYP,WAAW,iBAAI,+BAAC,WAAD,OAA3B,eAA4C,+BAAC,uCAAD,OAA5C,CAAxB;EAEA,oBACE,+BAAC,mCAAD;IAAe,iBAAiB,EAAEQ,wBAAlC;IAAiD,SAAS,EAAE,CAACR,WAAD;EAA5D,gBACE,+BAAC,uBAAD;IAAU,UAAU,EAAEE;EAAtB,gBACE,8CAAQJ,cAAR,CADF,EAEGQ,eAFH,CADF,CADF;AAQD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["module","exports","extends","require","resolve","parserOptions","project"],"sources":["eslintrc.js"],"sourcesContent":["// Using object\nimport '@teambit/react.eslint-config-bit-react';\n\nmodule.exports = {\n extends: [require.resolve('@teambit/react.eslint-config-bit-react')],\n parserOptions: {\n // parser: require.resolve('@typescript-eslint/parser'),\n // createDefaultProgram: true,\n // resolve the env tsconfig.\n project: require.resolve('../typescript/tsconfig.json'),\n },\n};\n"],"mappings":";;AACA;;AADA;AAGAA,MAAM,CAACC,OAAP,GAAiB;EACfC,OAAO,EAAE,CAACC,OAAO,CAACC,OAAR,CAAgB,wCAAhB,CAAD,CADM;EAEfC,aAAa,EAAE;IACb;IACA;IACA;IACAC,OAAO,EAAEH,OAAO,CAACC,OAAR,CAAgB,6BAAhB;EAJI;AAFA,CAAjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["PARAM_NAME","HighlighterWidget","active","setActive","usePreviewQueryParams"],"sources":["highlighter-widget.tsx"],"sourcesContent":["import React from 'react';\nimport { OptionButton } from '@teambit/design.ui.input.option-button';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport { usePreviewQueryParams } from '@teambit/compositions.ui.hooks.use-composition';\n\nconst PARAM_NAME = 'highlighter';\n\nexport function HighlighterWidget() {\n const [active, setActive] = usePreviewQueryParams(PARAM_NAME);\n\n return (\n <Tooltip content=\"Component Highlighter (beta)\">\n {/* tooltip requires child with ref */}\n <span>\n <OptionButton icon=\"highlighter-toggle\" onClick={() => setActive(!active)} active={active} />\n </span>\n </Tooltip>\n );\n}\n"],"mappings":";;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA,MAAMA,UAAU,GAAG,aAAnB;;AAEO,SAASC,iBAAT,GAA6B;EAClC,MAAM,CAACC,MAAD,EAASC,SAAT,IAAsB,IAAAC,4CAAA,EAAsBJ,UAAtB,CAA5B;EAEA,oBACE,+BAAC,mBAAD;IAAS,OAAO,EAAC;EAAjB,gBAEE,0DACE,+BAAC,6BAAD;IAAc,IAAI,EAAC,oBAAnB;IAAwC,OAAO,EAAE,MAAMG,SAAS,CAAC,CAACD,MAAF,CAAhE;IAA2E,MAAM,EAAEA;EAAnF,EADF,CAFF,CADF;AAQD"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export type { ReactMain, UseWebpackModifiers, UseTypescriptModifiers } from './react.main.runtime';\nexport type { ReactPreview } from './react.preview.runtime';\nexport type { ReactAppType } from './apps/web/react.app-type';\nexport type { ReactEnv } from './react.env';\nexport type { ReactAppOptions, ReactDeployContext } from './apps/web';\n// Re-export it to indicate for people that extends the react env that we are using it\n// Commented - make errors in safari - SyntaxError: Invalid regular expression: invalid group specifier name\n// export * as styleRegexps from '@teambit/modules.style-regexps';\n\nexport { ReactAspect, ReactAspect as default } from './react.aspect';\n"],"mappings":";;;;;;;;;;;;;;;;;;AASA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
|
package/dist/jest/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import cjsConfig from './jest.cjs.config';\nimport esmConfig from './jest.esm.config';\n\nexport { cjsConfig, esmConfig };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["module","exports","setupFiles","require","resolve","setupFilesAfterEnv","testEnvironment","transform","transformIgnorePatterns","modulePaths","moduleNameMapper","moduleFileExtensions","testTimeout"],"sources":["jest.base.config.js"],"sourcesContent":["module.exports = {\n // \"roots\": [\n // \"<rootDir>/src\"\n // ],\n // \"collectCoverageFrom\": [\n // \"src/**/*.{js,jsx,ts,tsx}\",\n // \"!src/**/*.d.ts\"\n // ],\n setupFiles: [require.resolve('react-app-polyfill/jsdom')],\n setupFilesAfterEnv: [require.resolve('./setupTests.js')],\n // \"testMatch\": [\n // \"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}\",\n // \"<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}\"\n // ],\n testEnvironment: require.resolve('jest-environment-jsdom'),\n transform: {\n '^.+\\\\.css$': require.resolve('./transformers/css-transform.js'),\n '^(?!.*\\\\.(js|jsx|ts|tsx|css|json)$)': require.resolve('./transformers/file-transform.js'),\n // '^(?!.*\\\\.(svg|png|jpg|jpeg|gif|webp|woff|ttf|woff2)$)': require.resolve('./file-transform.js'),\n },\n transformIgnorePatterns: ['[/\\\\\\\\]node_modules[/\\\\\\\\].+\\\\.(js|jsx|ts|tsx)$', '^.+\\\\.module\\\\.(css|sass|scss)$'],\n modulePaths: [],\n moduleNameMapper: {\n '\\\\.(css|less|scss|sass)$': require.resolve('identity-obj-proxy'),\n '^react-native$': require.resolve('react-native-web'),\n '^.+\\\\.module\\\\.(css|sass|scss)$': require.resolve('identity-obj-proxy'),\n },\n moduleFileExtensions: ['web.js', 'js', 'web.ts', 'ts', 'web.tsx', 'tsx', 'json', 'web.jsx', 'jsx', 'node'],\n testTimeout: 30000, // @todo remove this once mocha-tester is ready and aspect-api testing are using it.\n // watchPlugins: [require.resolve('jest-watch-typeahead/filename'), require.resolve('jest-watch-typeahead/testname')],\n};\n"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACAC,UAAU,EAAE,CAACC,OAAO,CAACC,OAAR,CAAgB,0BAAhB,CAAD,CARG;EASfC,kBAAkB,EAAE,CAACF,OAAO,CAACC,OAAR,CAAgB,iBAAhB,CAAD,CATL;EAUf;EACA;EACA;EACA;EACAE,eAAe,EAAEH,OAAO,CAACC,OAAR,CAAgB,wBAAhB,CAdF;EAefG,SAAS,EAAE;IACT,cAAcJ,OAAO,CAACC,OAAR,CAAgB,iCAAhB,CADL;IAET,uCAAuCD,OAAO,CAACC,OAAR,CAAgB,kCAAhB,CAF9B,CAGT;;EAHS,CAfI;EAoBfI,uBAAuB,EAAE,CAAC,iDAAD,EAAoD,iCAApD,CApBV;EAqBfC,WAAW,EAAE,EArBE;EAsBfC,gBAAgB,EAAE;IAChB,4BAA4BP,OAAO,CAACC,OAAR,CAAgB,oBAAhB,CADZ;IAEhB,kBAAkBD,OAAO,CAACC,OAAR,CAAgB,kBAAhB,CAFF;IAGhB,mCAAmCD,OAAO,CAACC,OAAR,CAAgB,oBAAhB;EAHnB,CAtBH;EA2BfO,oBAAoB,EAAE,CAAC,QAAD,EAAW,IAAX,EAAiB,QAAjB,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,KAA5C,EAAmD,MAAnD,EAA2D,SAA3D,EAAsE,KAAtE,EAA6E,MAA7E,CA3BP;EA4BfC,WAAW,EAAE,KA5BE,CA4BK;EACpB;;AA7Be,CAAjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["baseConfig","require","cjsTransformer","resolve","cjsTransform","transform","cjsConfig","module","exports"],"sources":["jest.cjs.config.js"],"sourcesContent":["const baseConfig = require('./jest.base.config');\n\nconst cjsTransformer = require.resolve('./transformers/cjs-transformer.js');\n\nconst cjsTransform = { ...baseConfig.transform, '^.+\\\\.(js|jsx|ts|tsx)$': cjsTransformer };\nconst cjsConfig = { ...baseConfig, transform: cjsTransform };\n\nmodule.exports = cjsConfig;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,MAAMA,UAAU,GAAGC,OAAO,CAAC,oBAAD,CAA1B;;AAEA,MAAMC,cAAc,GAAGD,OAAO,CAACE,OAAR,CAAgB,mCAAhB,CAAvB;;AAEA,MAAMC,YAAY,mCAAQJ,UAAU,CAACK,SAAnB;EAA8B,0BAA0BH;AAAxD,EAAlB;;AACA,MAAMI,SAAS,mCAAQN,UAAR;EAAoBK,SAAS,EAAED;AAA/B,EAAf;;AAEAG,MAAM,CAACC,OAAP,GAAiBF,SAAjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["cjsConfig","require","module","exports"],"sources":["jest.config.js"],"sourcesContent":["// DEPRECATED\n// This file is here for backward compatibility. not breaking users who used to import this file directly.\n// Please use the specific config file (jest.cjs.config / jest.esm.config) instead\n\nconst cjsConfig = require('./jest.cjs.config');\n\nmodule.exports = cjsConfig;\n"],"mappings":";;AAAA;AACA;AACA;AAEA,MAAMA,SAAS,GAAGC,OAAO,CAAC,mBAAD,CAAzB;;AAEAC,MAAM,CAACC,OAAP,GAAiBH,SAAjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["baseConfig","require","esmTransformer","resolve","esmTransform","transform","esmConfig","extensionsToTreatAsEsm","module","exports"],"sources":["jest.esm.config.js"],"sourcesContent":["const baseConfig = require('./jest.base.config');\n\nconst esmTransformer = require.resolve('./transformers/esm-transformer.js');\nconst esmTransform = { ...baseConfig.transform, '^.+\\\\.(js|jsx|ts|tsx)$': esmTransformer };\nconst esmConfig = { ...baseConfig, extensionsToTreatAsEsm: ['.ts', '.tsx', '.jsx'], transform: esmTransform };\n\nmodule.exports = esmConfig;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,MAAMA,UAAU,GAAGC,OAAO,CAAC,oBAAD,CAA1B;;AAEA,MAAMC,cAAc,GAAGD,OAAO,CAACE,OAAR,CAAgB,mCAAhB,CAAvB;;AACA,MAAMC,YAAY,mCAAQJ,UAAU,CAACK,SAAnB;EAA8B,0BAA0BH;AAAxD,EAAlB;;AACA,MAAMI,SAAS,mCAAQN,UAAR;EAAoBO,sBAAsB,EAAE,CAAC,KAAD,EAAQ,MAAR,EAAgB,MAAhB,CAA5C;EAAqEF,SAAS,EAAED;AAAhF,EAAf;;AAEAI,MAAM,CAACC,OAAP,GAAiBH,SAAjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["require"],"sources":["setupTests.js"],"sourcesContent":["// add babel-polyfill.\n// require('babel-polyfill');\n// jest-dom adds custom jest matchers for asserting on DOM nodes.\n// allows you to do things like:\n// expect(element).toHaveTextContent(/react/i)\n// learn more: https://github.com/testing-library/jest-dom\nrequire('@testing-library/jest-dom/extend-expect');\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACAA,OAAO,CAAC,yCAAD,CAAP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["basePlugins","require","legacy","module","exports"],"sources":["base-transformer-plugins.js"],"sourcesContent":["/* eslint-disable global-require */\n\nconst basePlugins = [\n [require('babel-plugin-transform-typescript-metadata')],\n [require('@babel/plugin-proposal-decorators'), { legacy: true }],\n [require('@babel/plugin-transform-runtime')],\n [require('@babel/plugin-proposal-object-rest-spread')],\n [require('@babel/plugin-proposal-class-properties')],\n];\n\nmodule.exports = {\n basePlugins,\n};\n"],"mappings":";;AAAA;AAEA,MAAMA,WAAW,GAAG,CAClB,CAACC,OAAO,CAAC,4CAAD,CAAR,CADkB,EAElB,CAACA,OAAO,CAAC,mCAAD,CAAR,EAA+C;EAAEC,MAAM,EAAE;AAAV,CAA/C,CAFkB,EAGlB,CAACD,OAAO,CAAC,iCAAD,CAAR,CAHkB,EAIlB,CAACA,OAAO,CAAC,2CAAD,CAAR,CAJkB,EAKlB,CAACA,OAAO,CAAC,yCAAD,CAAR,CALkB,CAApB;AAQAE,MAAM,CAACC,OAAP,GAAiB;EACfJ;AADe,CAAjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["basePresets","require","module","exports"],"sources":["base-transformer-presets.js"],"sourcesContent":["/* eslint-disable global-require */\n\nconst basePresets = [require('@babel/preset-react'), require('@babel/preset-typescript'), require('babel-preset-jest')];\n\nmodule.exports = {\n basePresets,\n};\n"],"mappings":";;AAAA;AAEA,MAAMA,WAAW,GAAG,CAACC,OAAO,CAAC,qBAAD,CAAR,EAAiCA,OAAO,CAAC,0BAAD,CAAxC,EAAsEA,OAAO,CAAC,mBAAD,CAA7E,CAApB;AAEAC,MAAM,CAACC,OAAP,GAAiB;EACfH;AADe,CAAjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["transform","require","generateProcessFunc","presets","plugins","src","filename","result","sourceMap","babelrc","configFile","code","module","exports"],"sources":["base-transformer-process.js"],"sourcesContent":["const { transform } = require('@babel/core');\n\nconst generateProcessFunc = (presets, plugins) => {\n return (src, filename) => {\n const result = transform(src, {\n sourceMap: 'inline',\n filename,\n presets,\n plugins,\n babelrc: false,\n configFile: false,\n });\n\n return result ? result.code : src;\n };\n};\n\nmodule.exports = {\n generateProcessFunc,\n};\n"],"mappings":";;AAAA,MAAM;EAAEA;AAAF,IAAgBC,OAAO,CAAC,aAAD,CAA7B;;AAEA,MAAMC,mBAAmB,GAAG,CAACC,OAAD,EAAUC,OAAV,KAAsB;EAChD,OAAO,CAACC,GAAD,EAAMC,QAAN,KAAmB;IACxB,MAAMC,MAAM,GAAGP,SAAS,CAACK,GAAD,EAAM;MAC5BG,SAAS,EAAE,QADiB;MAE5BF,QAF4B;MAG5BH,OAH4B;MAI5BC,OAJ4B;MAK5BK,OAAO,EAAE,KALmB;MAM5BC,UAAU,EAAE;IANgB,CAAN,CAAxB;IASA,OAAOH,MAAM,GAAGA,MAAM,CAACI,IAAV,GAAiBN,GAA9B;EACD,CAXD;AAYD,CAbD;;AAeAO,MAAM,CAACC,OAAP,GAAiB;EACfX;AADe,CAAjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["generateProcessFunc","require","basePlugins","basePresets","presets","targets","node","useBuiltIns","corejs","plugins","module","exports","process"],"sources":["cjs-transformer.js"],"sourcesContent":["/* eslint-disable import/order */\n/* eslint-disable global-require */\nconst { generateProcessFunc } = require('./base-transformer-process');\nconst { basePlugins } = require('./base-transformer-plugins');\nconst { basePresets } = require('./base-transformer-presets');\n\nconst presets = [\n ...basePresets,\n [\n require('@babel/preset-env'),\n {\n targets: {\n node: 12,\n },\n useBuiltIns: 'usage',\n corejs: 3,\n },\n ],\n];\n\nconst plugins = [[require('@babel/plugin-transform-modules-commonjs')], ...basePlugins];\n\nmodule.exports = {\n process: generateProcessFunc(presets, plugins),\n};\n"],"mappings":";;;;AAAA;;AACA;AACA,MAAM;EAAEA;AAAF,IAA0BC,OAAO,CAAC,4BAAD,CAAvC;;AACA,MAAM;EAAEC;AAAF,IAAkBD,OAAO,CAAC,4BAAD,CAA/B;;AACA,MAAM;EAAEE;AAAF,IAAkBF,OAAO,CAAC,4BAAD,CAA/B;;AAEA,MAAMG,OAAO,GAAG,CACd,GAAGD,WADW,EAEd,CACEF,OAAO,CAAC,mBAAD,CADT,EAEE;EACEI,OAAO,EAAE;IACPC,IAAI,EAAE;EADC,CADX;EAIEC,WAAW,EAAE,OAJf;EAKEC,MAAM,EAAE;AALV,CAFF,CAFc,CAAhB;AAcA,MAAMC,OAAO,GAAG,CAAC,CAACR,OAAO,CAAC,0CAAD,CAAR,CAAD,EAAwD,GAAGC,WAA3D,CAAhB;AAEAQ,MAAM,CAACC,OAAP,GAAiB;EACfC,OAAO,EAAEZ,mBAAmB,CAACI,OAAD,EAAUK,OAAV;AADb,CAAjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["module","exports","process","getCacheKey"],"sources":["css-transform.js"],"sourcesContent":["// This is a custom Jest transformer turning style imports into empty objects.\n// http://facebook.github.io/jest/docs/en/webpack.html\n\nmodule.exports = {\n process() {\n return 'module.exports = {};';\n },\n getCacheKey() {\n // The output is always the same.\n return 'cssTransform';\n },\n};\n"],"mappings":";;AAAA;AACA;AAEAA,MAAM,CAACC,OAAP,GAAiB;EACfC,OAAO,GAAG;IACR,OAAO,sBAAP;EACD,CAHc;;EAIfC,WAAW,GAAG;IACZ;IACA,OAAO,cAAP;EACD;;AAPc,CAAjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["basePlugins","require","basePresets","generateProcessFunc","presets","modules","targets","node","useBuiltIns","corejs","plugins","module","exports","process"],"sources":["esm-transformer.js"],"sourcesContent":["/* eslint-disable global-require */\n/* eslint-disable import/order */\n\nconst { basePlugins } = require('./base-transformer-plugins');\nconst { basePresets } = require('./base-transformer-presets');\nconst { generateProcessFunc } = require('./base-transformer-process');\n\nconst presets = [\n ...basePresets,\n [\n require('@babel/preset-env'),\n {\n modules: false,\n targets: {\n node: 12,\n },\n useBuiltIns: 'usage',\n corejs: 3,\n },\n ],\n];\n\nconst plugins = basePlugins;\n\nmodule.exports = {\n process: generateProcessFunc(presets, plugins),\n};\n"],"mappings":";;;;AAAA;;AACA;AAEA,MAAM;EAAEA;AAAF,IAAkBC,OAAO,CAAC,4BAAD,CAA/B;;AACA,MAAM;EAAEC;AAAF,IAAkBD,OAAO,CAAC,4BAAD,CAA/B;;AACA,MAAM;EAAEE;AAAF,IAA0BF,OAAO,CAAC,4BAAD,CAAvC;;AAEA,MAAMG,OAAO,GAAG,CACd,GAAGF,WADW,EAEd,CACED,OAAO,CAAC,mBAAD,CADT,EAEE;EACEI,OAAO,EAAE,KADX;EAEEC,OAAO,EAAE;IACPC,IAAI,EAAE;EADC,CAFX;EAKEC,WAAW,EAAE,OALf;EAMEC,MAAM,EAAE;AANV,CAFF,CAFc,CAAhB;AAeA,MAAMC,OAAO,GAAGV,WAAhB;AAEAW,MAAM,CAACC,OAAP,GAAiB;EACfC,OAAO,EAAEV,mBAAmB,CAACC,OAAD,EAAUM,OAAV;AADb,CAAjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["path","require","camelcase","module","exports","process","src","filename","assetFilename","JSON","stringify","basename","match","pascalCaseFilename","parse","name","pascalCase","componentName"],"sources":["file-transform.js"],"sourcesContent":["const path = require('path');\nconst camelcase = require('camelcase');\n\n// This is a custom Jest transformer turning file imports into filenames.\n// http://facebook.github.io/jest/docs/en/webpack.html\n\nmodule.exports = {\n process(src, filename) {\n const assetFilename = JSON.stringify(path.basename(filename));\n\n if (filename.match(/\\.svg$/)) {\n // Based on how SVGR generates a component name:\n // https://github.com/smooth-code/svgr/blob/01b194cf967347d43d4cbe6b434404731b87cf27/packages/core/src/state.js#L6\n const pascalCaseFilename = camelcase(path.parse(filename).name, {\n pascalCase: true,\n });\n const componentName = `Svg${pascalCaseFilename}`;\n return `const React = require('react');\n module.exports = {\n __esModule: true,\n default: ${assetFilename},\n ReactComponent: React.forwardRef(function ${componentName}(props, ref) {\n return {\n $$typeof: Symbol.for('react.element'),\n type: 'svg',\n ref: ref,\n key: null,\n props: Object.assign({}, props, {\n children: ${assetFilename}\n })\n };\n }),\n };`;\n }\n\n return `module.exports = ${assetFilename};`;\n },\n};\n"],"mappings":";;;;AAAA,MAAMA,IAAI,GAAGC,OAAO,CAAC,MAAD,CAApB;;AACA,MAAMC,SAAS,GAAGD,OAAO,CAAC,WAAD,CAAzB,C,CAEA;AACA;;;AAEAE,MAAM,CAACC,OAAP,GAAiB;EACfC,OAAO,CAACC,GAAD,EAAMC,QAAN,EAAgB;IACrB,MAAMC,aAAa,GAAGC,IAAI,CAACC,SAAL,CAAeV,IAAI,CAACW,QAAL,CAAcJ,QAAd,CAAf,CAAtB;;IAEA,IAAIA,QAAQ,CAACK,KAAT,CAAe,QAAf,CAAJ,EAA8B;MAC5B;MACA;MACA,MAAMC,kBAAkB,GAAGX,SAAS,CAACF,IAAI,CAACc,KAAL,CAAWP,QAAX,EAAqBQ,IAAtB,EAA4B;QAC9DC,UAAU,EAAE;MADkD,CAA5B,CAApC;MAGA,MAAMC,aAAa,GAAI,MAAKJ,kBAAmB,EAA/C;MACA,OAAQ;AACd;AACA;AACA,mBAAmBL,aAAc;AACjC,oDAAoDS,aAAc;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0BT,aAAc;AACxC;AACA;AACA;AACA,SAfM;IAgBD;;IAED,OAAQ,oBAAmBA,aAAc,GAAzC;EACD;;AA9Bc,CAAjB"}
|
package/dist/mount.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["Composition","previewContext","ReactDOM","render","document","getElementById"],"sources":["mount.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { RenderingContext } from '@teambit/preview';\n\nimport { CompositionsApp } from './compositions-app';\n\n/**\n * this mounts compositions into the DOM in the component preview.\n * this function can be overridden through ReactAspect.overrideCompositionsMounter() API\n * to apply custom logic for component DOM mounting.\n */\nexport default (Composition: React.ComponentType, previewContext: RenderingContext) => {\n ReactDOM.render(\n <CompositionsApp Composition={Composition} previewContext={previewContext} />,\n document.getElementById('root')\n );\n};\n"],"mappings":";;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;eACe,CAACA,WAAD,EAAmCC,cAAnC,KAAwE;EACrFC,mBAAA,CAASC,MAAT,eACE,+BAAC,kCAAD;IAAiB,WAAW,EAAEH,WAA9B;IAA2C,cAAc,EAAEC;EAA3D,EADF,EAEEG,QAAQ,CAACC,cAAT,CAAwB,MAAxB,CAFF;AAID,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["module","exports","trailingComma","tabWidth","singleQuote"],"sources":["prettier.config.js"],"sourcesContent":["module.exports = {\n trailingComma: 'es5',\n tabWidth: 2,\n singleQuote: true,\n};\n"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB;EACfC,aAAa,EAAE,KADA;EAEfC,QAAQ,EAAE,CAFK;EAGfC,WAAW,EAAE;AAHE,CAAjB"}
|
package/dist/react.aspect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["ReactAspect","Aspect","create","id"],"sources":["react.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const ReactAspect = Aspect.create({\n id: 'teambit.react/react',\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,WAAW,GAAGC,iBAAA,CAAOC,MAAP,CAAc;EACvCC,EAAE,EAAE;AADmC,CAAd,CAApB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["Logo","height","display","justifyContent","width"],"sources":["react.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/react.svg\" />\n </div>\n);\n"],"mappings":";;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,IAAI,GAAG,mBAClB;EAAK,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAV;IAAkBC,OAAO,EAAE,MAA3B;IAAmCC,cAAc,EAAE;EAAnD;AAAZ,gBACE;EAAK,KAAK,EAAE;IAAEC,KAAK,EAAE;EAAT,CAAZ;EAA2B,GAAG,EAAC;AAA/B,EADF,CADK"}
|
package/dist/react.env.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';
|
|
|
11
11
|
import { Workspace } from '@teambit/workspace';
|
|
12
12
|
import { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';
|
|
13
13
|
import { PrettierConfigTransformer, PrettierMain } from '@teambit/prettier';
|
|
14
|
+
import { DependencyResolverMain } from '@teambit/dependency-resolver';
|
|
14
15
|
import { Linter, LinterContext } from '@teambit/linter';
|
|
15
16
|
import { Formatter, FormatterContext } from '@teambit/formatter';
|
|
16
17
|
import { SchemaExtractor } from '@teambit/schema';
|
|
@@ -56,6 +57,7 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
|
|
|
56
57
|
private config;
|
|
57
58
|
private eslint;
|
|
58
59
|
private prettier;
|
|
60
|
+
private dependencyResolver;
|
|
59
61
|
private logger;
|
|
60
62
|
private compilerAspectId;
|
|
61
63
|
constructor(
|
|
@@ -86,7 +88,7 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
|
|
|
86
88
|
/**
|
|
87
89
|
* tester extension
|
|
88
90
|
*/
|
|
89
|
-
tester: TesterMain, config: ReactMainConfig, eslint: ESLintMain, prettier: PrettierMain, logger: Logger, compilerAspectId: string);
|
|
91
|
+
tester: TesterMain, config: ReactMainConfig, eslint: ESLintMain, prettier: PrettierMain, dependencyResolver: DependencyResolverMain, logger: Logger, compilerAspectId: string);
|
|
90
92
|
getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile;
|
|
91
93
|
getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile;
|
|
92
94
|
/**
|
|
@@ -155,7 +157,7 @@ export declare class ReactEnv implements TesterEnv, CompilerEnv, LinterEnv, DevE
|
|
|
155
157
|
/**
|
|
156
158
|
* Get the peers configured by the env on the components + the host deps configured by the env
|
|
157
159
|
*/
|
|
158
|
-
|
|
160
|
+
getPeerDependenciesList(): Promise<string[]>;
|
|
159
161
|
getAdditionalHostDependencies(): string[];
|
|
160
162
|
/**
|
|
161
163
|
* returns a path to a docs template.
|
package/dist/react.env.js
CHANGED
|
@@ -165,16 +165,6 @@ function _webpackConfigComponent2() {
|
|
|
165
165
|
return data;
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
-
function _transformers() {
|
|
169
|
-
const data = require("./webpack/transformers");
|
|
170
|
-
|
|
171
|
-
_transformers = function () {
|
|
172
|
-
return data;
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
return data;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
168
|
// webpack configs for both components and envs
|
|
179
169
|
// webpack configs for envs only
|
|
180
170
|
// import devPreviewConfigFactory from './webpack/webpack.config.preview.dev';
|
|
@@ -223,7 +213,7 @@ class ReactEnv {
|
|
|
223
213
|
/**
|
|
224
214
|
* tester extension
|
|
225
215
|
*/
|
|
226
|
-
tester, config, eslint, prettier, logger, compilerAspectId) {
|
|
216
|
+
tester, config, eslint, prettier, dependencyResolver, logger, compilerAspectId) {
|
|
227
217
|
this.jestAspect = jestAspect;
|
|
228
218
|
this.tsAspect = tsAspect;
|
|
229
219
|
this.compiler = compiler;
|
|
@@ -234,6 +224,7 @@ class ReactEnv {
|
|
|
234
224
|
this.config = config;
|
|
235
225
|
this.eslint = eslint;
|
|
236
226
|
this.prettier = prettier;
|
|
227
|
+
this.dependencyResolver = dependencyResolver;
|
|
237
228
|
this.logger = logger;
|
|
238
229
|
this.compilerAspectId = compilerAspectId;
|
|
239
230
|
(0, _defineProperty2().default)(this, "icon", 'https://static.bit.dev/extensions-icons/react.svg');
|
|
@@ -402,15 +393,13 @@ class ReactEnv {
|
|
|
402
393
|
const baseConfig = (0, _webpackConfig().default)(false);
|
|
403
394
|
const envDevConfig = (0, _webpackConfigEnv().default)(context.id);
|
|
404
395
|
const componentDevConfig = (0, _webpackConfigComponent2().default)(this.workspace.path, context.id);
|
|
405
|
-
const peers = this.getAllHostDependencies();
|
|
406
|
-
const peerAliasesTransformer = (0, _transformers().generateAddAliasesFromPeersTransformer)(peers, this.logger);
|
|
407
396
|
|
|
408
397
|
const defaultTransformer = configMutator => {
|
|
409
398
|
const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);
|
|
410
399
|
return merged;
|
|
411
400
|
};
|
|
412
401
|
|
|
413
|
-
return this.webpack.createDevServer(context, [defaultTransformer,
|
|
402
|
+
return this.webpack.createDevServer(context, [defaultTransformer, ...transformers]);
|
|
414
403
|
}
|
|
415
404
|
|
|
416
405
|
async getBundler(context, transformers = []) {
|
|
@@ -418,10 +407,8 @@ class ReactEnv {
|
|
|
418
407
|
}
|
|
419
408
|
|
|
420
409
|
async createComponentsWebpackBundler(context, transformers = []) {
|
|
421
|
-
const peers = this.getAllHostDependencies();
|
|
422
|
-
const peerAliasesTransformer = (0, _transformers().generateAddAliasesFromPeersTransformer)(peers, this.logger);
|
|
423
410
|
const baseConfig = (0, _webpackConfig().default)(!context.development);
|
|
424
|
-
const baseProdConfig = (0, _webpackConfigBase().default)(
|
|
411
|
+
const baseProdConfig = (0, _webpackConfigBase().default)(context.development);
|
|
425
412
|
const componentProdConfig = (0, _webpackConfigComponent().default)();
|
|
426
413
|
|
|
427
414
|
const defaultTransformer = configMutator => {
|
|
@@ -429,23 +416,20 @@ class ReactEnv {
|
|
|
429
416
|
return merged;
|
|
430
417
|
};
|
|
431
418
|
|
|
432
|
-
const mergedTransformers = [defaultTransformer,
|
|
419
|
+
const mergedTransformers = [defaultTransformer, ...transformers];
|
|
433
420
|
return this.createWebpackBundler(context, mergedTransformers);
|
|
434
421
|
}
|
|
435
422
|
|
|
436
423
|
async createTemplateWebpackBundler(context, transformers = []) {
|
|
437
|
-
const peers = this.getAllHostDependencies();
|
|
438
|
-
const peerAliasesTransformer = (0, _transformers().generateAddAliasesFromPeersTransformer)(peers, this.logger);
|
|
439
|
-
const exposePeersTransformer = (0, _transformers().generateExposePeersTransformer)(peers, this.logger);
|
|
440
424
|
const baseConfig = (0, _webpackConfig().default)(!context.development);
|
|
441
|
-
const baseProdConfig = (0, _webpackConfigBase().default)(
|
|
425
|
+
const baseProdConfig = (0, _webpackConfigBase().default)(context.development);
|
|
442
426
|
|
|
443
427
|
const defaultTransformer = configMutator => {
|
|
444
428
|
const merged = configMutator.merge([baseConfig, baseProdConfig]);
|
|
445
429
|
return merged;
|
|
446
430
|
};
|
|
447
431
|
|
|
448
|
-
const mergedTransformers = [defaultTransformer,
|
|
432
|
+
const mergedTransformers = [defaultTransformer, ...transformers];
|
|
449
433
|
return this.createWebpackBundler(context, mergedTransformers);
|
|
450
434
|
}
|
|
451
435
|
|
|
@@ -457,15 +441,12 @@ class ReactEnv {
|
|
|
457
441
|
*/
|
|
458
442
|
|
|
459
443
|
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
const additionalHostDeps = this.getAdditionalHostDependencies() || [];
|
|
463
|
-
const peers = envComponentPeers.concat(additionalHostDeps);
|
|
464
|
-
return peers;
|
|
444
|
+
getPeerDependenciesList() {
|
|
445
|
+
return this.dependencyResolver.getPeerDependenciesListFromEnv(this);
|
|
465
446
|
}
|
|
466
447
|
|
|
467
448
|
getAdditionalHostDependencies() {
|
|
468
|
-
return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react'];
|
|
449
|
+
return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react'];
|
|
469
450
|
}
|
|
470
451
|
/**
|
|
471
452
|
* returns a path to a docs template.
|
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","logger","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","exposePeersTransformer","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';\nimport { Logger } from '@teambit/logger';\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// 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, generateExposePeersTransformer } 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 logger: Logger,\n\n private compilerAspectId: string\n ) {}\n\n getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, defaultTsConfig, targetTsConfig) : defaultTsConfig;\n }\n\n getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, buildTsConfig, targetTsConfig) : buildTsConfig;\n }\n\n /**\n * 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, this.logger);\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, this.logger);\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, this.logger);\n const exposePeersTransformer = generateExposePeersTransformer(peers, this.logger);\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, exposePeersTransformer, ...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"]}
|
|
1
|
+
{"version":3,"names":["ReactEnvType","defaultTsConfig","require","buildTsConfig","eslintConfig","prettierConfig","ReactEnv","constructor","jestAspect","tsAspect","compiler","webpack","workspace","pkg","tester","config","eslint","prettier","dependencyResolver","logger","compilerAspectId","getTsConfig","targetTsConfig","merge","getBuildTsConfig","getCjsJestTester","jestConfigPath","jestModulePath","pathToSource","pathNormalizeToLinux","__dirname","replace","defaultConfig","join","createTester","resolve","getEsmJestTester","getTester","getTsCompilerOptions","mode","tsconfig","cloneDeep","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","tmpdir","Math","random","slice","outputFileSync","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","createSchemaExtractor","getDevServer","baseConfig","basePreviewConfigFactory","envDevConfig","envPreviewDevConfigFactory","componentDevConfig","componentPreviewDevConfigFactory","merged","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","basePreviewProdConfigFactory","componentProdConfig","componentPreviewProdConfigFactory","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","createBundler","getPeerDependenciesList","getPeerDependenciesListFromEnv","getAdditionalHostDependencies","getDocsTemplate","getMounter","getPreviewConfig","strategyName","splitComponentBundle","getPackageJsonProps","getCjsPackageJsonProps","getEsmPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","getDependencies","dependencies","react","devDependencies","peerDependencies","getBuildPipe","modifiers","tsModifier","getCompilerTask","module","task","getBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","aspectId","getEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","__getDescriptor","type"],"sources":["react.env.ts"],"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 { DependencyResolverMain } from '@teambit/dependency-resolver';\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 { Logger } from '@teambit/logger';\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// 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 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 dependencyResolver: DependencyResolverMain,\n\n private logger: Logger,\n\n private compilerAspectId: string\n ) {}\n\n getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, defaultTsConfig, targetTsConfig) : defaultTsConfig;\n }\n\n getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, buildTsConfig, targetTsConfig) : buildTsConfig;\n }\n\n /**\n * 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\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 return this.createComponentsWebpackBundler(context, transformers);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const componentProdConfig = componentPreviewProdConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, componentProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = []\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...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 getPeerDependenciesList() {\n return this.dependencyResolver.getPeerDependenciesListFromEnv(this);\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', '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"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["reactSchema","react","typeDefs","gql","resolvers","ComponentHost","getDocs","host","id","componentId","resolveComponentId","component","get","empty","abstract","filePath","properties","docs"],"sources":["react.graphql.ts"],"sourcesContent":["import { ComponentFactory } from '@teambit/component';\nimport gql from 'graphql-tag';\n\nimport { ReactMain } from './react.main.runtime';\n\nexport function reactSchema(react: ReactMain) {\n return {\n typeDefs: gql`\n extend type ComponentHost {\n getDocs(id: String!): ReactDocs\n }\n\n type ReactDocs {\n abstract: String\n filePath: String\n properties: [Property]\n }\n\n type Property {\n name: String\n description: String\n required: Boolean\n type: String\n defaultValue: DefaultValue\n }\n\n type DefaultValue {\n value: String\n computed: Boolean\n }\n `,\n resolvers: {\n ComponentHost: {\n getDocs: async (host: ComponentFactory, { id }: { id: string }) => {\n const componentId = await host.resolveComponentId(id);\n const component = await host.get(componentId);\n const empty = {\n abstract: '',\n filePath: '',\n properties: [],\n };\n\n if (!component) return empty;\n const docs = react.getDocs(component);\n if (!docs) return empty;\n\n return docs;\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAIO,SAASA,WAAT,CAAqBC,KAArB,EAAuC;EAC5C,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAA,CAAI;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAxBS;IAyBLC,SAAS,EAAE;MACTC,aAAa,EAAE;QACbC,OAAO,EAAE,OAAOC,IAAP,EAA+B;UAAEC;QAAF,CAA/B,KAA0D;UACjE,MAAMC,WAAW,GAAG,MAAMF,IAAI,CAACG,kBAAL,CAAwBF,EAAxB,CAA1B;UACA,MAAMG,SAAS,GAAG,MAAMJ,IAAI,CAACK,GAAL,CAASH,WAAT,CAAxB;UACA,MAAMI,KAAK,GAAG;YACZC,QAAQ,EAAE,EADE;YAEZC,QAAQ,EAAE,EAFE;YAGZC,UAAU,EAAE;UAHA,CAAd;UAMA,IAAI,CAACL,SAAL,EAAgB,OAAOE,KAAP;UAChB,MAAMI,IAAI,GAAGhB,KAAK,CAACK,OAAN,CAAcK,SAAd,CAAb;UACA,IAAI,CAACM,IAAL,EAAW,OAAOJ,KAAP;UAEX,OAAOI,IAAP;QACD;MAfY;IADN;EAzBN,CAAP;AA6CD"}
|