@teambit/react 0.0.627 → 0.0.629

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.
Files changed (90) hide show
  1. package/__compositions-1642994756471.js +7 -0
  2. package/__overview-1642994756471.js +7 -0
  3. package/__preview-1642994756471.js +2 -0
  4. package/apps/web/deploy-context.ts +4 -0
  5. package/apps/web/index.ts +3 -0
  6. package/apps/web/react-app-options.ts +3 -3
  7. package/apps/web/react-build-result.ts +9 -0
  8. package/apps/web/react.application.ts +32 -34
  9. package/artifacts/env-template/public/141.js +1 -0
  10. package/artifacts/env-template/public/181.js +1 -0
  11. package/artifacts/env-template/public/283.js +1 -0
  12. package/artifacts/env-template/public/664.js +128 -0
  13. package/artifacts/env-template/public/743.js +1 -0
  14. package/artifacts/env-template/public/848.js +1 -0
  15. package/artifacts/env-template/public/assets-manifest.json +74 -0
  16. package/artifacts/env-template/public/compositions.68fc39172cbc486d5064.js +1 -0
  17. package/artifacts/env-template/public/compositions.html +2 -0
  18. package/artifacts/env-template/public/overview.8ab165bb03610b2e8c5b.js +1 -0
  19. package/artifacts/env-template/public/overview.html +2 -0
  20. package/artifacts/env-template/public/peers.23d97726152f744ec115.js +1 -0
  21. package/artifacts/env-template/public/preview-root.b33a2fef3cb8fc3d6479.js +1 -0
  22. package/artifacts/env-template/public/runtime.js +1 -0
  23. package/artifacts/env-template/public/service-worker.js +1 -0
  24. package/artifacts/env-template/public/static/css/664.50460623.css +1 -0
  25. package/artifacts/env-template/public/static/css/compositions.cd8be53f.css +1 -0
  26. package/artifacts/env-template/public/static/css/overview.71e25e30.css +1 -0
  27. package/artifacts/env-template/public/static/css/previewRoot.5ad41161.css +1 -0
  28. package/artifacts/env-template/public/workbox-ca45de73.js +1 -0
  29. package/artifacts/preview/teambit_react_react-preview.js +1 -0
  30. package/dist/apps/web/deploy-context.d.ts +3 -0
  31. package/dist/apps/web/deploy-context.js +3 -0
  32. package/dist/apps/web/deploy-context.js.map +1 -0
  33. package/dist/apps/web/index.d.ts +3 -0
  34. package/dist/apps/web/index.js +23 -0
  35. package/dist/apps/web/index.js.map +1 -0
  36. package/dist/apps/web/react-app-options.d.ts +2 -3
  37. package/dist/apps/web/react-app-options.js +0 -10
  38. package/dist/apps/web/react-app-options.js.map +1 -1
  39. package/dist/apps/web/react-build-result.d.ts +8 -0
  40. package/dist/apps/web/react-build-result.js +3 -0
  41. package/dist/apps/web/react-build-result.js.map +1 -0
  42. package/dist/apps/web/react.application.d.ts +7 -7
  43. package/dist/apps/web/react.application.js +41 -29
  44. package/dist/apps/web/react.application.js.map +1 -1
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/react.env.d.ts +10 -1
  48. package/dist/react.env.js +60 -8
  49. package/dist/react.env.js.map +1 -1
  50. package/dist/react.main.runtime.js +11 -11
  51. package/dist/react.main.runtime.js.map +1 -1
  52. package/dist/templates/react-app/files/app-root.js +7 -1
  53. package/dist/templates/react-app/files/app-root.js.map +1 -1
  54. package/dist/templates/react-app/files/compositions.js +1 -1
  55. package/dist/templates/react-app/files/compositions.js.map +1 -1
  56. package/dist/templates/workspace-common/files/workspace-config.js +1 -1
  57. package/dist/templates/workspace-common/files/workspace-config.js.map +1 -1
  58. package/dist/webpack/get-exposed-rules.d.ts +2 -0
  59. package/dist/webpack/get-exposed-rules.js +50 -0
  60. package/dist/webpack/get-exposed-rules.js.map +1 -0
  61. package/dist/webpack/get-externals.d.ts +1 -0
  62. package/dist/webpack/get-externals.js +42 -0
  63. package/dist/webpack/get-externals.js.map +1 -0
  64. package/dist/webpack/html.d.ts +2 -0
  65. package/dist/webpack/html.js +31 -0
  66. package/dist/webpack/html.js.map +1 -0
  67. package/dist/webpack/index.d.ts +1 -0
  68. package/dist/webpack/index.js +23 -0
  69. package/dist/webpack/index.js.map +1 -0
  70. package/dist/webpack/transformers.d.ts +2 -0
  71. package/dist/webpack/transformers.js +19 -0
  72. package/dist/webpack/transformers.js.map +1 -0
  73. package/dist/webpack/webpack.config.base.js +3 -5
  74. package/dist/webpack/webpack.config.base.js.map +1 -1
  75. package/dist/webpack/webpack.config.base.prod.d.ts +1 -1
  76. package/dist/webpack/webpack.config.base.prod.js +101 -80
  77. package/dist/webpack/webpack.config.base.prod.js.map +1 -1
  78. package/package-tar/teambit-react-0.0.629.tgz +0 -0
  79. package/package.json +38 -36
  80. package/templates/react-app/files/app-root.ts +7 -1
  81. package/templates/react-app/files/compositions.ts +1 -1
  82. package/templates/workspace-common/files/workspace-config.ts +1 -1
  83. package/webpack/get-exposed-rules.ts +12 -0
  84. package/webpack/get-externals.ts +8 -0
  85. package/webpack/html.ts +22 -0
  86. package/webpack/index.ts +1 -0
  87. package/webpack/transformers.ts +12 -0
  88. package/webpack/webpack.config.base.prod.ts +99 -81
  89. package/webpack/webpack.config.base.ts +3 -5
  90. package/package-tar/teambit-react-0.0.627.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["react.main.runtime.ts"],"names":["ReactMain","constructor","reactEnv","envs","application","workspace","useTypescript","modifiers","tsModule","ts","overrides","devTransformers","devConfig","getCompiler","buildTransformers","buildConfig","buildPipeModifiers","tsModifier","transformers","module","getBuildPipe","override","overrideTsConfig","tsconfig","compilerOptions","transformer","configMutator","mergeTsConfig","raw","compileJs","compileJsx","types","addTypes","genericCompilerOptions","Object","assign","overrideDocsTemplate","templatePath","getDocsTemplate","overrideBuildTsConfig","useWebpack","devServerTransformers","devServerConfig","getDevServer","context","getDevEnvId","envDefinition","id","previewTransformers","previewConfig","getBundler","useEslint","getLinter","usePrettier","getFormatter","overrideDevServerConfig","config","merge","overridePreviewConfig","overrideMounter","mounterPath","getMounter","compose","targetEnv","overrideJestConfig","jestConfigPath","jestModulePath","getTester","overrideBuildPipe","tasks","overrideCompilerTasks","pipeWithoutCompiler","filter","task","aspectId","CompilerAspect","overrideDependencies","dependencyPolicy","getDependencies","reactDeps","overrideCompiler","compiler","overrideEslintConfig","overridePackageJsonProps","props","getPackageJsonProps","getDocs","component","docsArray","state","_consumer","docs","abstract","description","filePath","properties","provider","jestAspect","tsAspect","webpack","graphql","pkg","tester","eslint","prettier","generator","ReactEnv","react","register","registerEnv","registerComponentTemplate","componentTemplates","registerWorkspaceTemplate","workspaceTemplates","registerAppType","ReactAppType","MainRuntime","EnvsAspect","JestAspect","TypescriptAspect","WebpackAspect","WorkspaceAspect","GraphqlAspect","PkgAspect","TesterAspect","ESLintAspect","PrettierAspect","ApplicationAspect","GeneratorAspect","ReactAspect","addRuntime"],"mappings":"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","sourcesContent":["import mergeDeepLeft from 'ramda/src/mergeDeepLeft';\nimport { omit } from 'lodash';\nimport { MainRuntime } from '@teambit/cli';\nimport type { CompilerMain } from '@teambit/compiler';\nimport { CompilerAspect, Compiler } from '@teambit/compiler';\nimport { BuildTask } from '@teambit/builder';\nimport { Component } from '@teambit/component';\nimport { EnvsAspect, EnvsMain, EnvTransformer, Environment } from '@teambit/envs';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { JestMain } from '@teambit/jest';\nimport { JestAspect } from '@teambit/jest';\nimport type { PkgMain, PackageJsonProps } from '@teambit/pkg';\nimport { PkgAspect } from '@teambit/pkg';\nimport type { TesterMain } from '@teambit/tester';\nimport { TesterAspect } from '@teambit/tester';\nimport type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransformer } from '@teambit/typescript';\nimport { TypescriptAspect } from '@teambit/typescript';\nimport type { WebpackMain, Configuration, WebpackConfigTransformer } from '@teambit/webpack';\nimport { WebpackAspect } from '@teambit/webpack';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { DevServerContext, BundlerContext } from '@teambit/bundler';\nimport { VariantPolicyConfigObject } from '@teambit/dependency-resolver';\nimport ts from 'typescript';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { FormatterContext } from '@teambit/formatter';\nimport { LinterContext } from '@teambit/linter';\nimport { ESLintMain, ESLintAspect, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierMain, PrettierAspect, PrettierConfigTransformer } from '@teambit/prettier';\nimport { ReactAspect } from './react.aspect';\nimport { ReactEnv } from './react.env';\nimport { ReactAppType } from './apps/web/react.app-type';\nimport { reactSchema } from './react.graphql';\nimport { componentTemplates, workspaceTemplates } from './react.templates';\n\ntype ReactDeps = [\n EnvsMain,\n JestMain,\n TypescriptMain,\n CompilerMain,\n WebpackMain,\n Workspace,\n GraphqlMain,\n PkgMain,\n TesterMain,\n ESLintMain,\n PrettierMain,\n ApplicationMain,\n GeneratorMain\n];\n\nexport type ReactMainConfig = {\n /**\n * configure the react env compiler.\n * can be configured to either TypeScript ('ts') or Babel ('babel').\n */\n compiler: 'babel' | 'ts';\n\n /**\n * configure the component tester.\n * can be either Jest ('jest') or Mocha ('mocha')\n */\n tester: 'jest' | 'mocha';\n\n /**\n * version of React to configure.\n */\n reactVersion: string;\n};\n\nexport type UseWebpackModifiers = {\n previewConfig?: WebpackConfigTransformer[];\n devServerConfig?: WebpackConfigTransformer[];\n};\n\nexport type UseTypescriptModifiers = {\n buildConfig?: TsConfigTransformer[];\n devConfig?: TsConfigTransformer[];\n};\n\nexport type UseEslintModifiers = {\n transformers: EslintConfigTransformer[];\n};\nexport type UsePrettierModifiers = {\n transformers: PrettierConfigTransformer[];\n};\n\nexport class ReactMain {\n constructor(\n /**\n * an instance of the React env.\n */\n readonly reactEnv: ReactEnv,\n\n private envs: EnvsMain,\n\n private application: ApplicationMain,\n\n private workspace: Workspace\n ) {}\n\n readonly env = this.reactEnv;\n\n /**\n * override the env's typescript config for both dev and build time.\n * Replaces both overrideTsConfig (devConfig) and overrideBuildTsConfig (buildConfig)\n */\n useTypescript(modifiers?: UseTypescriptModifiers, tsModule: any = ts) {\n const overrides: any = {};\n const devTransformers = modifiers?.devConfig;\n if (devTransformers) {\n overrides.getCompiler = () => this.reactEnv.getCompiler(devTransformers, tsModule);\n }\n const buildTransformers = modifiers?.buildConfig;\n if (buildTransformers) {\n const buildPipeModifiers = {\n tsModifier: {\n transformers: buildTransformers,\n module: tsModule,\n },\n };\n overrides.getBuildPipe = () => this.reactEnv.getBuildPipe(buildPipeModifiers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * @deprecated use useTypescript()\n * override the TS config of the React environment.\n * @param tsModule typeof `ts` module instance.\n */\n overrideTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getCompiler: () => this.reactEnv.getCompiler([transformer], tsModule),\n // });\n return this.useTypescript({ devConfig: [transformer] }, tsModule);\n }\n\n /**\n * Override the Bit documentation link. See docs: https://bit.dev/docs/docs/doc-templates\n */\n overrideDocsTemplate(templatePath: string) {\n return this.envs.override({\n getDocsTemplate: () => templatePath,\n });\n }\n\n /**\n * @deprecated use useTypescript()\n * override the build tsconfig.\n */\n overrideBuildTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getBuildPipe: () => this.reactEnv.getBuildPipe([transformer], tsModule),\n // });\n return this.useTypescript({ buildConfig: [transformer] }, tsModule);\n }\n\n /**\n * override the env's dev server and preview webpack configurations.\n * Replaces both overrideDevServerConfig and overridePreviewConfig\n */\n useWebpack(modifiers?: UseWebpackModifiers): EnvTransformer {\n const overrides: any = {};\n const devServerTransformers = modifiers?.devServerConfig;\n if (devServerTransformers) {\n overrides.getDevServer = (context: DevServerContext) =>\n this.reactEnv.getDevServer(context, devServerTransformers);\n overrides.getDevEnvId = (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id);\n }\n const previewTransformers = modifiers?.previewConfig;\n if (previewTransformers) {\n overrides.getBundler = (context: BundlerContext) => this.reactEnv.getBundler(context, previewTransformers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n useEslint(modifiers?: UseEslintModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getLinter: (context: LinterContext) => this.reactEnv.getLinter(context, transformers),\n });\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n usePrettier(modifiers?: UsePrettierModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getFormatter: (context: FormatterContext) => this.reactEnv.getFormatter(context, transformers),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the dev server webpack config.\n */\n overrideDevServerConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n\n return this.envs.override({\n getDevServer: (context: DevServerContext) => this.reactEnv.getDevServer(context, [transformer]),\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the preview webpack config.\n */\n overridePreviewConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n return this.envs.override({\n getBundler: (context: BundlerContext) => this.reactEnv.getBundler(context, [transformer]),\n });\n }\n\n overrideMounter(mounterPath: string) {\n return this.envs.override({\n getMounter: () => {\n return mounterPath;\n },\n });\n }\n\n /**\n * create a new composition of the react environment.\n */\n compose(transformers: EnvTransformer[], targetEnv: Environment = {}) {\n return this.envs.compose(this.envs.merge(targetEnv, this.reactEnv), transformers);\n }\n\n /**\n * override the jest configuration.\n * @param jestConfigPath {typeof jest} absolute path to jest.config.json.\n * @param jestModulePath absolute path to jest\n */\n overrideJestConfig(jestConfigPath: string, jestModulePath?: string) {\n return this.envs.override({\n getTester: () => this.reactEnv.getTester(jestConfigPath, jestModulePath),\n });\n }\n\n /**\n * override the build pipeline of the component environment.\n */\n overrideBuildPipe(tasks: BuildTask[]) {\n return this.envs.override({\n getBuildPipe: () => tasks,\n });\n }\n\n /**\n * override the compiler tasks inside the build pipeline of the component environment.\n */\n overrideCompilerTasks(tasks: BuildTask[]) {\n const pipeWithoutCompiler = this.reactEnv.getBuildPipe().filter((task) => task.aspectId !== CompilerAspect.id);\n\n return this.envs.override({\n getBuildPipe: () => [...tasks, ...pipeWithoutCompiler],\n });\n }\n\n /**\n * override the dependency configuration of the component environment.\n */\n overrideDependencies(dependencyPolicy: VariantPolicyConfigObject) {\n return this.envs.override({\n getDependencies: async () => {\n const reactDeps = await this.reactEnv.getDependencies();\n return mergeDeepLeft(dependencyPolicy, reactDeps);\n },\n });\n }\n\n /**\n * override the workspace compiler.\n */\n overrideCompiler(compiler: Compiler) {\n return this.envs.override({\n getCompiler: () => {\n return compiler;\n },\n });\n }\n\n /**\n * TODO: @gilad we need to implement this.\n */\n overrideEslintConfig() {}\n\n /**\n * override the package json props of the component environment.\n */\n overridePackageJsonProps(props: PackageJsonProps) {\n return this.envs.override({\n getPackageJsonProps: () => {\n return {\n ...props,\n ...this.reactEnv.getPackageJsonProps(),\n };\n },\n });\n }\n\n /**\n * returns doc adjusted specifically for react components.\n */\n getDocs(component: Component) {\n const docsArray = component.state._consumer.docs;\n if (!docsArray || !docsArray[0]) {\n return null;\n }\n\n const docs = docsArray[0];\n\n return {\n abstract: docs.description,\n filePath: docs.filePath,\n properties: docs.properties,\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n EnvsAspect,\n JestAspect,\n TypescriptAspect,\n CompilerAspect,\n WebpackAspect,\n WorkspaceAspect,\n GraphqlAspect,\n PkgAspect,\n TesterAspect,\n ESLintAspect,\n PrettierAspect,\n ApplicationAspect,\n GeneratorAspect,\n ];\n\n static async provider(\n [\n envs,\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n graphql,\n pkg,\n tester,\n eslint,\n prettier,\n application,\n generator,\n ]: ReactDeps,\n config: ReactMainConfig\n ) {\n const reactEnv = new ReactEnv(\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n pkg,\n tester,\n config,\n eslint,\n prettier\n );\n const react = new ReactMain(reactEnv, envs, application, workspace);\n graphql.register(reactSchema(react));\n envs.registerEnv(reactEnv);\n generator.registerComponentTemplate(componentTemplates);\n generator.registerWorkspaceTemplate(workspaceTemplates);\n application.registerAppType(new ReactAppType('react-app', reactEnv));\n return react;\n }\n}\n\nReactAspect.addRuntime(ReactMain);\n"]}
1
+ {"version":3,"sources":["react.main.runtime.ts"],"names":["ReactMain","constructor","reactEnv","envs","application","workspace","useTypescript","modifiers","tsModule","ts","overrides","devTransformers","devConfig","getCompiler","buildTransformers","buildConfig","buildPipeModifiers","tsModifier","transformers","module","getBuildPipe","override","overrideTsConfig","tsconfig","compilerOptions","transformer","configMutator","mergeTsConfig","raw","compileJs","compileJsx","types","addTypes","genericCompilerOptions","Object","assign","overrideDocsTemplate","templatePath","getDocsTemplate","overrideBuildTsConfig","useWebpack","devServerTransformers","devServerConfig","getDevServer","context","getDevEnvId","envDefinition","id","previewTransformers","previewConfig","getBundler","useEslint","getLinter","usePrettier","getFormatter","overrideDevServerConfig","config","merge","overridePreviewConfig","overrideMounter","mounterPath","getMounter","compose","targetEnv","overrideJestConfig","jestConfigPath","jestModulePath","getTester","overrideBuildPipe","tasks","overrideCompilerTasks","pipeWithoutCompiler","filter","task","aspectId","CompilerAspect","overrideDependencies","dependencyPolicy","getDependencies","reactDeps","overrideCompiler","compiler","overrideEslintConfig","overridePackageJsonProps","props","getPackageJsonProps","getDocs","component","docsArray","state","_consumer","docs","abstract","description","filePath","properties","provider","jestAspect","tsAspect","webpack","graphql","pkg","tester","eslint","prettier","generator","ReactEnv","react","register","registerEnv","registerComponentTemplate","componentTemplates","registerWorkspaceTemplate","workspaceTemplates","registerAppType","ReactAppType","MainRuntime","EnvsAspect","JestAspect","TypescriptAspect","WebpackAspect","WorkspaceAspect","GraphqlAspect","PkgAspect","TesterAspect","ESLintAspect","PrettierAspect","ApplicationAspect","GeneratorAspect","ReactAspect","addRuntime"],"mappings":"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","sourcesContent":["import mergeDeepLeft from 'ramda/src/mergeDeepLeft';\nimport { omit } from 'lodash';\nimport { MainRuntime } from '@teambit/cli';\nimport type { CompilerMain } from '@teambit/compiler';\nimport { CompilerAspect, Compiler } from '@teambit/compiler';\nimport { BuildTask } from '@teambit/builder';\nimport { Component } from '@teambit/component';\nimport { EnvsAspect, EnvsMain, EnvTransformer, Environment } from '@teambit/envs';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { JestMain } from '@teambit/jest';\nimport { JestAspect } from '@teambit/jest';\nimport type { PkgMain, PackageJsonProps } from '@teambit/pkg';\nimport { PkgAspect } from '@teambit/pkg';\nimport type { TesterMain } from '@teambit/tester';\nimport { TesterAspect } from '@teambit/tester';\nimport type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransformer } from '@teambit/typescript';\nimport { TypescriptAspect } from '@teambit/typescript';\nimport type { WebpackMain, Configuration, WebpackConfigTransformer } from '@teambit/webpack';\nimport { WebpackAspect } from '@teambit/webpack';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { DevServerContext, BundlerContext } from '@teambit/bundler';\nimport { VariantPolicyConfigObject } from '@teambit/dependency-resolver';\nimport ts from 'typescript';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { FormatterContext } from '@teambit/formatter';\nimport { LinterContext } from '@teambit/linter';\nimport { ESLintMain, ESLintAspect, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierMain, PrettierAspect, PrettierConfigTransformer } from '@teambit/prettier';\nimport { ReactAspect } from './react.aspect';\nimport { ReactEnv } from './react.env';\nimport { ReactAppType } from './apps/web';\nimport { reactSchema } from './react.graphql';\nimport { componentTemplates, workspaceTemplates } from './react.templates';\n\ntype ReactDeps = [\n EnvsMain,\n JestMain,\n TypescriptMain,\n CompilerMain,\n WebpackMain,\n Workspace,\n GraphqlMain,\n PkgMain,\n TesterMain,\n ESLintMain,\n PrettierMain,\n ApplicationMain,\n GeneratorMain\n];\n\nexport type ReactMainConfig = {\n /**\n * configure the react env compiler.\n * can be configured to either TypeScript ('ts') or Babel ('babel').\n */\n compiler: 'babel' | 'ts';\n\n /**\n * configure the component tester.\n * can be either Jest ('jest') or Mocha ('mocha')\n */\n tester: 'jest' | 'mocha';\n\n /**\n * version of React to configure.\n */\n reactVersion: string;\n};\n\nexport type UseWebpackModifiers = {\n previewConfig?: WebpackConfigTransformer[];\n devServerConfig?: WebpackConfigTransformer[];\n};\n\nexport type UseTypescriptModifiers = {\n buildConfig?: TsConfigTransformer[];\n devConfig?: TsConfigTransformer[];\n};\n\nexport type UseEslintModifiers = {\n transformers: EslintConfigTransformer[];\n};\nexport type UsePrettierModifiers = {\n transformers: PrettierConfigTransformer[];\n};\n\nexport class ReactMain {\n constructor(\n /**\n * an instance of the React env.\n */\n readonly reactEnv: ReactEnv,\n\n private envs: EnvsMain,\n\n private application: ApplicationMain,\n\n private workspace: Workspace\n ) {}\n\n readonly env = this.reactEnv;\n\n /**\n * override the env's typescript config for both dev and build time.\n * Replaces both overrideTsConfig (devConfig) and overrideBuildTsConfig (buildConfig)\n */\n useTypescript(modifiers?: UseTypescriptModifiers, tsModule: any = ts) {\n const overrides: any = {};\n const devTransformers = modifiers?.devConfig;\n if (devTransformers) {\n overrides.getCompiler = () => this.reactEnv.getCompiler(devTransformers, tsModule);\n }\n const buildTransformers = modifiers?.buildConfig;\n if (buildTransformers) {\n const buildPipeModifiers = {\n tsModifier: {\n transformers: buildTransformers,\n module: tsModule,\n },\n };\n overrides.getBuildPipe = () => this.reactEnv.getBuildPipe(buildPipeModifiers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * @deprecated use useTypescript()\n * override the TS config of the React environment.\n * @param tsModule typeof `ts` module instance.\n */\n overrideTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getCompiler: () => this.reactEnv.getCompiler([transformer], tsModule),\n // });\n return this.useTypescript({ devConfig: [transformer] }, tsModule);\n }\n\n /**\n * Override the Bit documentation link. See docs: https://bit.dev/docs/docs/doc-templates\n */\n overrideDocsTemplate(templatePath: string) {\n return this.envs.override({\n getDocsTemplate: () => templatePath,\n });\n }\n\n /**\n * @deprecated use useTypescript()\n * override the build tsconfig.\n */\n overrideBuildTsConfig(\n tsconfig: Record<string, any> = {},\n compilerOptions: Partial<TsCompilerOptionsWithoutTsConfig> = {},\n tsModule: any = ts\n ) {\n const transformer: TsConfigTransformer = (configMutator) => {\n configMutator.mergeTsConfig(tsconfig);\n configMutator.raw.compileJs = compilerOptions.compileJs ?? configMutator.raw.compileJs;\n configMutator.raw.compileJsx = compilerOptions.compileJsx ?? configMutator.raw.compileJsx;\n if (compilerOptions.types) {\n configMutator.addTypes(compilerOptions.types);\n }\n const genericCompilerOptions = omit(compilerOptions, ['types', 'compileJs', 'compileJsx']);\n configMutator.raw = Object.assign(configMutator.raw, genericCompilerOptions);\n return configMutator;\n };\n // return this.envs.override({\n // getBuildPipe: () => this.reactEnv.getBuildPipe([transformer], tsModule),\n // });\n return this.useTypescript({ buildConfig: [transformer] }, tsModule);\n }\n\n /**\n * override the env's dev server and preview webpack configurations.\n * Replaces both overrideDevServerConfig and overridePreviewConfig\n */\n useWebpack(modifiers?: UseWebpackModifiers): EnvTransformer {\n const overrides: any = {};\n const devServerTransformers = modifiers?.devServerConfig;\n if (devServerTransformers) {\n overrides.getDevServer = (context: DevServerContext) =>\n this.reactEnv.getDevServer(context, devServerTransformers);\n overrides.getDevEnvId = (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id);\n }\n const previewTransformers = modifiers?.previewConfig;\n if (previewTransformers) {\n overrides.getBundler = (context: BundlerContext) => this.reactEnv.getBundler(context, previewTransformers);\n }\n return this.envs.override(overrides);\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n useEslint(modifiers?: UseEslintModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getLinter: (context: LinterContext) => this.reactEnv.getLinter(context, transformers),\n });\n }\n\n /**\n * An API to mutate the prettier config\n * @param modifiers\n * @returns\n */\n usePrettier(modifiers?: UsePrettierModifiers): EnvTransformer {\n const transformers = modifiers?.transformers || [];\n return this.envs.override({\n getFormatter: (context: FormatterContext) => this.reactEnv.getFormatter(context, transformers),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the dev server webpack config.\n */\n overrideDevServerConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n\n return this.envs.override({\n getDevServer: (context: DevServerContext) => this.reactEnv.getDevServer(context, [transformer]),\n getDevEnvId: (context: DevServerContext) => this.reactEnv.getDevEnvId(context.envDefinition.id),\n });\n }\n\n /**\n * @deprecated use useWebpack()\n * override the preview webpack config.\n */\n overridePreviewConfig(config: Configuration) {\n const transformer: WebpackConfigTransformer = (configMutator) => {\n return configMutator.merge([config]);\n };\n return this.envs.override({\n getBundler: (context: BundlerContext) => this.reactEnv.getBundler(context, [transformer]),\n });\n }\n\n overrideMounter(mounterPath: string) {\n return this.envs.override({\n getMounter: () => {\n return mounterPath;\n },\n });\n }\n\n /**\n * create a new composition of the react environment.\n */\n compose(transformers: EnvTransformer[], targetEnv: Environment = {}) {\n return this.envs.compose(this.envs.merge(targetEnv, this.reactEnv), transformers);\n }\n\n /**\n * override the jest configuration.\n * @param jestConfigPath {typeof jest} absolute path to jest.config.json.\n * @param jestModulePath absolute path to jest\n */\n overrideJestConfig(jestConfigPath: string, jestModulePath?: string) {\n return this.envs.override({\n getTester: () => this.reactEnv.getTester(jestConfigPath, jestModulePath),\n });\n }\n\n /**\n * override the build pipeline of the component environment.\n */\n overrideBuildPipe(tasks: BuildTask[]) {\n return this.envs.override({\n getBuildPipe: () => tasks,\n });\n }\n\n /**\n * override the compiler tasks inside the build pipeline of the component environment.\n */\n overrideCompilerTasks(tasks: BuildTask[]) {\n const pipeWithoutCompiler = this.reactEnv.getBuildPipe().filter((task) => task.aspectId !== CompilerAspect.id);\n\n return this.envs.override({\n getBuildPipe: () => [...tasks, ...pipeWithoutCompiler],\n });\n }\n\n /**\n * override the dependency configuration of the component environment.\n */\n overrideDependencies(dependencyPolicy: VariantPolicyConfigObject) {\n return this.envs.override({\n getDependencies: async () => {\n const reactDeps = await this.reactEnv.getDependencies();\n return mergeDeepLeft(dependencyPolicy, reactDeps);\n },\n });\n }\n\n /**\n * override the workspace compiler.\n */\n overrideCompiler(compiler: Compiler) {\n return this.envs.override({\n getCompiler: () => {\n return compiler;\n },\n });\n }\n\n /**\n * TODO: @gilad we need to implement this.\n */\n overrideEslintConfig() {}\n\n /**\n * override the package json props of the component environment.\n */\n overridePackageJsonProps(props: PackageJsonProps) {\n return this.envs.override({\n getPackageJsonProps: () => {\n return {\n ...props,\n ...this.reactEnv.getPackageJsonProps(),\n };\n },\n });\n }\n\n /**\n * returns doc adjusted specifically for react components.\n */\n getDocs(component: Component) {\n const docsArray = component.state._consumer.docs;\n if (!docsArray || !docsArray[0]) {\n return null;\n }\n\n const docs = docsArray[0];\n\n return {\n abstract: docs.description,\n filePath: docs.filePath,\n properties: docs.properties,\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n EnvsAspect,\n JestAspect,\n TypescriptAspect,\n CompilerAspect,\n WebpackAspect,\n WorkspaceAspect,\n GraphqlAspect,\n PkgAspect,\n TesterAspect,\n ESLintAspect,\n PrettierAspect,\n ApplicationAspect,\n GeneratorAspect,\n ];\n\n static async provider(\n [\n envs,\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n graphql,\n pkg,\n tester,\n eslint,\n prettier,\n application,\n generator,\n ]: ReactDeps,\n config: ReactMainConfig\n ) {\n const reactEnv = new ReactEnv(\n jestAspect,\n tsAspect,\n compiler,\n webpack,\n workspace,\n pkg,\n tester,\n config,\n eslint,\n prettier\n );\n const react = new ReactMain(reactEnv, envs, application, workspace);\n graphql.register(reactSchema(react));\n envs.registerEnv(reactEnv);\n generator.registerComponentTemplate(componentTemplates);\n generator.registerWorkspaceTemplate(workspaceTemplates);\n application.registerAppType(new ReactAppType('react-app', reactEnv));\n return react;\n }\n}\n\nReactAspect.addRuntime(ReactMain);\n"]}
@@ -10,9 +10,15 @@ function appRootFile({
10
10
  }) {
11
11
  return `import React from 'react';
12
12
  import ReactDOM from 'react-dom';
13
+ import { BrowserRouter } from 'react-router-dom';
13
14
  import { ${Name}App } from './app';
14
15
 
15
- ReactDOM.render(<${Name}App />, document.getElementById('root'));
16
+ ReactDOM.render((
17
+ <BrowserRouter>
18
+ <${Name}App />
19
+ </BrowserRouter>
20
+ ), document.getElementById('root'));
21
+
16
22
  `;
17
23
  }
18
24
 
@@ -1 +1 @@
1
- {"version":3,"sources":["app-root.ts"],"names":["appRootFile","namePascalCase","Name"],"mappings":";;;;;;;AAEO,SAASA,WAAT,CAAqB;AAAEC,EAAAA,cAAc,EAAEC;AAAlB,CAArB,EAAiE;AACtE,SAAQ;AACV;AACA,WAAWA,IAAK;AAChB;AACA,mBAAmBA,IAAK;AACxB,CALE;AAMD","sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function appRootFile({ namePascalCase: Name }: ComponentContext) {\n return `import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ${Name}App } from './app';\n\nReactDOM.render(<${Name}App />, document.getElementById('root'));\n`;\n}\n"]}
1
+ {"version":3,"sources":["app-root.ts"],"names":["appRootFile","namePascalCase","Name"],"mappings":";;;;;;;AAEO,SAASA,WAAT,CAAqB;AAAEC,EAAAA,cAAc,EAAEC;AAAlB,CAArB,EAAiE;AACtE,SAAQ;AACV;AACA;AACA,WAAWA,IAAK;AAChB;AACA;AACA;AACA,OAAOA,IAAK;AACZ;AACA;AACA;AACA,CAXE;AAYD","sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function appRootFile({ namePascalCase: Name }: ComponentContext) {\n return `import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from 'react-router-dom';\nimport { ${Name}App } from './app';\n\nReactDOM.render((\n <BrowserRouter>\n <${Name}App />\n </BrowserRouter>\n), document.getElementById('root'));\n\n`;\n}\n"]}
@@ -12,7 +12,7 @@ function compositionsFile({
12
12
  import { ${Name}App } from './app';
13
13
 
14
14
  export const ${Name}Basic = () => {
15
- return <${Name}App></${Name}App>;
15
+ return <${Name}App />;
16
16
  };
17
17
  `;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["compositions.ts"],"names":["compositionsFile","namePascalCase","Name"],"mappings":";;;;;;;AAEO,SAASA,gBAAT,CAA0B;AAAEC,EAAAA,cAAc,EAAEC;AAAlB,CAA1B,EAAsE;AAC3E,SAAQ;AACV,WAAWA,IAAK;AAChB;AACA,eAAeA,IAAK;AACpB,YAAYA,IAAK,SAAQA,IAAK;AAC9B;AACA,CANE;AAOD","sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function compositionsFile({ namePascalCase: Name }: ComponentContext) {\n return `import React from 'react';\nimport { ${Name}App } from './app';\n\nexport const ${Name}Basic = () => {\n return <${Name}App></${Name}App>;\n};\n`;\n}\n"]}
1
+ {"version":3,"sources":["compositions.ts"],"names":["compositionsFile","namePascalCase","Name"],"mappings":";;;;;;;AAEO,SAASA,gBAAT,CAA0B;AAAEC,EAAAA,cAAc,EAAEC;AAAlB,CAA1B,EAAsE;AAC3E,SAAQ;AACV,WAAWA,IAAK;AAChB;AACA,eAAeA,IAAK;AACpB,YAAYA,IAAK;AACjB;AACA,CANE;AAOD","sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function compositionsFile({ namePascalCase: Name }: ComponentContext) {\n return `import React from 'react';\nimport { ${Name}App } from './app';\n\nexport const ${Name}Basic = () => {\n return <${Name}App />;\n};\n`;\n}\n"]}
@@ -81,7 +81,7 @@ async function workspaceConfig({
81
81
  /**
82
82
  * configures components with namespaces 'envs' and 'aspects' to use the default Aspect development environment.
83
83
  */
84
- "{envs/**}, {aspects/**}": {
84
+ "{envs/**}, {aspects/**}, {apps/**}": {
85
85
  "teambit.harmony/aspect": {}
86
86
  }
87
87
  }`)
@@ -1 +1 @@
1
- {"version":3,"sources":["workspace-config.ts"],"names":["workspaceConfig","name","defaultScope","scope","configParsed","packageManager","policy","dependencies","peerDependencies","react","variants","configMerged"],"mappings":";;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,eAAeA,eAAf,CAA+B;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,CAA/B,EAAyE;AAC9E,QAAMC,KAAK,GAAGD,YAAY,IAAI,eAA9B;AACA,QAAME,YAAY,GAAG,MAAM,iDAA3B;AACAA,EAAAA,YAAY,CAAC,6BAAD,CAAZ,CAA4CH,IAA5C,GAAmDA,IAAnD;AACAG,EAAAA,YAAY,CAAC,6BAAD,CAAZ,CAA4CF,YAA5C,GAA2DC,KAA3D;AACAC,EAAAA,YAAY,CAAC,0CAAD,CAAZ,CAAyDC,cAAzD,GAA0E,2BAA1E;AACAD,EAAAA,YAAY,CAAC,0CAAD,CAAZ,CAAyDE,MAAzD,GAAkE;AAChEC,IAAAA,YAAY,EAAE;AACZ,0CAAoC,UADxB;AAEZ,0CAAoC,QAFxB;AAGZ,qCAA+B,OAHnB;AAIZ,8BAAwB,QAJZ;AAKZ,4BAAsB,QALV;AAMZ,gCAA0B,OANd;AAOZ,2BAAqB,QAPT;AAQZ,6BAAuB;AARX,KADkD;AAWhEC,IAAAA,gBAAgB,EAAE;AAChB,gCAA0B,QADV;AAEhBC,MAAAA,KAAK,EAAE,QAFS;AAGhB,mBAAa;AAHG;AAX8C,GAAlE;AAkBA,QAAMC,QAAQ,GAAG;AACf,kCAA8B,0BAAO;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MA9BkC;AADf,GAAjB;AAkCA,QAAMC,YAAY,GAAG,2BAAOP,YAAP,EAAqBM,QAArB,CAArB;AAEA,SAAO,wCAAyBC,YAAzB,CAAP;AACD","sourcesContent":["import { WorkspaceContext } from '@teambit/generator';\nimport { getWorkspaceConfigTemplateParsed, stringifyWorkspaceConfig } from '@teambit/config';\nimport { parse, assign } from 'comment-json';\n\nexport async function workspaceConfig({ name, defaultScope }: WorkspaceContext) {\n const scope = defaultScope || 'company.scope';\n const configParsed = await getWorkspaceConfigTemplateParsed();\n configParsed['teambit.workspace/workspace'].name = name;\n configParsed['teambit.workspace/workspace'].defaultScope = scope;\n configParsed['teambit.dependencies/dependency-resolver'].packageManager = 'teambit.dependencies/pnpm';\n configParsed['teambit.dependencies/dependency-resolver'].policy = {\n dependencies: {\n '@teambit/eslint-config-bit-react': '~0.0.367',\n '@typescript-eslint/eslint-plugin': '4.29.3',\n 'eslint-import-resolver-node': '0.3.6',\n 'eslint-plugin-import': '2.22.1',\n 'eslint-plugin-jest': '24.4.0',\n 'eslint-plugin-jsx-a11y': '6.4.1',\n 'eslint-plugin-mdx': '1.15.0',\n 'eslint-plugin-react': '7.25.1',\n },\n peerDependencies: {\n '@testing-library/react': '12.0.0',\n react: '17.0.2',\n 'react-dom': '17.0.2',\n },\n };\n\n const variants = {\n 'teambit.workspace/variants': parse(`{\n /**\n * configures all components with namespaces 'ui', 'blocks', 'pages' and 'themes'\n * to use the default React development environment.\n *\n */\n \"{ui/**}, {blocks/**}, {pages/**}, {themes/**}\": {\n \"teambit.react/react\": {}\n },\n \n /**\n * configures components with namespaces 'entities', 'modules' and 'functions' to use the \n * default NodeJS dev environment.\n */\n \"{entities/**}, {modules/**}, {functions/**}\": {\n \"teambit.harmony/node\": {}\n },\n /**\n * configures components with namespace 'content' to use the MDX dev environment.\n */\n \"{content/**}\": {\n \"teambit.mdx/mdx\": {}\n },\n \n /**\n * configures components with namespaces 'envs' and 'aspects' to use the default Aspect development environment.\n */\n \"{envs/**}, {aspects/**}\": {\n \"teambit.harmony/aspect\": {}\n }\n }`),\n };\n\n const configMerged = assign(configParsed, variants);\n\n return stringifyWorkspaceConfig(configMerged);\n}\n"]}
1
+ {"version":3,"sources":["workspace-config.ts"],"names":["workspaceConfig","name","defaultScope","scope","configParsed","packageManager","policy","dependencies","peerDependencies","react","variants","configMerged"],"mappings":";;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,eAAeA,eAAf,CAA+B;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,CAA/B,EAAyE;AAC9E,QAAMC,KAAK,GAAGD,YAAY,IAAI,eAA9B;AACA,QAAME,YAAY,GAAG,MAAM,iDAA3B;AACAA,EAAAA,YAAY,CAAC,6BAAD,CAAZ,CAA4CH,IAA5C,GAAmDA,IAAnD;AACAG,EAAAA,YAAY,CAAC,6BAAD,CAAZ,CAA4CF,YAA5C,GAA2DC,KAA3D;AACAC,EAAAA,YAAY,CAAC,0CAAD,CAAZ,CAAyDC,cAAzD,GAA0E,2BAA1E;AACAD,EAAAA,YAAY,CAAC,0CAAD,CAAZ,CAAyDE,MAAzD,GAAkE;AAChEC,IAAAA,YAAY,EAAE;AACZ,0CAAoC,UADxB;AAEZ,0CAAoC,QAFxB;AAGZ,qCAA+B,OAHnB;AAIZ,8BAAwB,QAJZ;AAKZ,4BAAsB,QALV;AAMZ,gCAA0B,OANd;AAOZ,2BAAqB,QAPT;AAQZ,6BAAuB;AARX,KADkD;AAWhEC,IAAAA,gBAAgB,EAAE;AAChB,gCAA0B,QADV;AAEhBC,MAAAA,KAAK,EAAE,QAFS;AAGhB,mBAAa;AAHG;AAX8C,GAAlE;AAkBA,QAAMC,QAAQ,GAAG;AACf,kCAA8B,0BAAO;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MA9BkC;AADf,GAAjB;AAkCA,QAAMC,YAAY,GAAG,2BAAOP,YAAP,EAAqBM,QAArB,CAArB;AAEA,SAAO,wCAAyBC,YAAzB,CAAP;AACD","sourcesContent":["import { WorkspaceContext } from '@teambit/generator';\nimport { getWorkspaceConfigTemplateParsed, stringifyWorkspaceConfig } from '@teambit/config';\nimport { parse, assign } from 'comment-json';\n\nexport async function workspaceConfig({ name, defaultScope }: WorkspaceContext) {\n const scope = defaultScope || 'company.scope';\n const configParsed = await getWorkspaceConfigTemplateParsed();\n configParsed['teambit.workspace/workspace'].name = name;\n configParsed['teambit.workspace/workspace'].defaultScope = scope;\n configParsed['teambit.dependencies/dependency-resolver'].packageManager = 'teambit.dependencies/pnpm';\n configParsed['teambit.dependencies/dependency-resolver'].policy = {\n dependencies: {\n '@teambit/eslint-config-bit-react': '~0.0.367',\n '@typescript-eslint/eslint-plugin': '4.29.3',\n 'eslint-import-resolver-node': '0.3.6',\n 'eslint-plugin-import': '2.22.1',\n 'eslint-plugin-jest': '24.4.0',\n 'eslint-plugin-jsx-a11y': '6.4.1',\n 'eslint-plugin-mdx': '1.15.0',\n 'eslint-plugin-react': '7.25.1',\n },\n peerDependencies: {\n '@testing-library/react': '12.0.0',\n react: '17.0.2',\n 'react-dom': '17.0.2',\n },\n };\n\n const variants = {\n 'teambit.workspace/variants': parse(`{\n /**\n * configures all components with namespaces 'ui', 'blocks', 'pages' and 'themes'\n * to use the default React development environment.\n *\n */\n \"{ui/**}, {blocks/**}, {pages/**}, {themes/**}\": {\n \"teambit.react/react\": {}\n },\n \n /**\n * configures components with namespaces 'entities', 'modules' and 'functions' to use the \n * default NodeJS dev environment.\n */\n \"{entities/**}, {modules/**}, {functions/**}\": {\n \"teambit.harmony/node\": {}\n },\n /**\n * configures components with namespace 'content' to use the MDX dev environment.\n */\n \"{content/**}\": {\n \"teambit.mdx/mdx\": {}\n },\n \n /**\n * configures components with namespaces 'envs' and 'aspects' to use the default Aspect development environment.\n */\n \"{envs/**}, {aspects/**}, {apps/**}\": {\n \"teambit.harmony/aspect\": {}\n }\n }`),\n };\n\n const configMerged = assign(configParsed, variants);\n\n return stringifyWorkspaceConfig(configMerged);\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import 'expose-loader';
2
+ export declare function getExposedRules(peers: string[]): Object[];
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ require("core-js/modules/es.regexp.exec.js");
6
+
7
+ require("core-js/modules/es.string.replace.js");
8
+
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: true
11
+ });
12
+ exports.getExposedRules = getExposedRules;
13
+
14
+ function _camelcase() {
15
+ const data = _interopRequireDefault(require("camelcase"));
16
+
17
+ _camelcase = function () {
18
+ return data;
19
+ };
20
+
21
+ return data;
22
+ }
23
+
24
+ require("expose-loader");
25
+
26
+ function _webpackModules() {
27
+ const data = require("@teambit/webpack.modules.generate-expose-loaders");
28
+
29
+ _webpackModules = function () {
30
+ return data;
31
+ };
32
+
33
+ return data;
34
+ }
35
+
36
+ function getExposedRules(peers) {
37
+ const loaderPath = require.resolve('expose-loader');
38
+
39
+ const depsEntries = peers.map(peer => ({
40
+ path: require.resolve(peer),
41
+ globalName: (0, _camelcase().default)(peer.replace('@', '').replace('/', '-'), {
42
+ pascalCase: true
43
+ })
44
+ }));
45
+ return (0, _webpackModules().generateExposeLoaders)(depsEntries, {
46
+ loaderPath
47
+ });
48
+ }
49
+
50
+ //# sourceMappingURL=get-exposed-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["get-exposed-rules.ts"],"names":["getExposedRules","peers","loaderPath","require","resolve","depsEntries","map","peer","path","globalName","replace","pascalCase"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,SAASA,eAAT,CAAyBC,KAAzB,EAA0C;AAC/C,QAAMC,UAAU,GAAGC,OAAO,CAACC,OAAR,CAAgB,eAAhB,CAAnB;;AACA,QAAMC,WAAW,GAAGJ,KAAK,CAACK,GAAN,CAAWC,IAAD,KAAW;AACvCC,IAAAA,IAAI,EAAEL,OAAO,CAACC,OAAR,CAAgBG,IAAhB,CADiC;AAEvCE,IAAAA,UAAU,EAAE,0BAAUF,IAAI,CAACG,OAAL,CAAa,GAAb,EAAkB,EAAlB,EAAsBA,OAAtB,CAA8B,GAA9B,EAAmC,GAAnC,CAAV,EAAmD;AAAEC,MAAAA,UAAU,EAAE;AAAd,KAAnD;AAF2B,GAAX,CAAV,CAApB;AAIA,SAAO,6CAAsBN,WAAtB,EAAmC;AAAEH,IAAAA;AAAF,GAAnC,CAAP;AACD","sourcesContent":["import camelcase from 'camelcase';\nimport 'expose-loader';\nimport { generateExposeLoaders } from '@teambit/webpack.modules.generate-expose-loaders';\n\nexport function getExposedRules(peers: string[]) {\n const loaderPath = require.resolve('expose-loader');\n const depsEntries = peers.map((peer) => ({\n path: require.resolve(peer),\n globalName: camelcase(peer.replace('@', '').replace('/', '-'), { pascalCase: true }),\n }));\n return generateExposeLoaders(depsEntries, { loaderPath });\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function getExternals(deps: string[]): Object;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ require("core-js/modules/es.regexp.exec.js");
6
+
7
+ require("core-js/modules/es.string.replace.js");
8
+
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: true
11
+ });
12
+ exports.getExternals = getExternals;
13
+
14
+ function _camelcase() {
15
+ const data = _interopRequireDefault(require("camelcase"));
16
+
17
+ _camelcase = function () {
18
+ return data;
19
+ };
20
+
21
+ return data;
22
+ }
23
+
24
+ function _webpackModules() {
25
+ const data = require("@teambit/webpack.modules.generate-externals");
26
+
27
+ _webpackModules = function () {
28
+ return data;
29
+ };
30
+
31
+ return data;
32
+ }
33
+
34
+ function getExternals(deps) {
35
+ return (0, _webpackModules().generateExternals)(deps, {
36
+ transformName: depName => (0, _camelcase().default)(depName.replace('@', '').replace('/', '-'), {
37
+ pascalCase: true
38
+ })
39
+ });
40
+ }
41
+
42
+ //# sourceMappingURL=get-externals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["get-externals.ts"],"names":["getExternals","deps","transformName","depName","replace","pascalCase"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,SAASA,YAAT,CAAsBC,IAAtB,EAAsC;AAC3C,SAAO,yCAAkBA,IAAlB,EAAwB;AAC7BC,IAAAA,aAAa,EAAGC,OAAD,IAAa,0BAAUA,OAAO,CAACC,OAAR,CAAgB,GAAhB,EAAqB,EAArB,EAAyBA,OAAzB,CAAiC,GAAjC,EAAsC,GAAtC,CAAV,EAAsD;AAAEC,MAAAA,UAAU,EAAE;AAAd,KAAtD;AADC,GAAxB,CAAP;AAGD","sourcesContent":["import camelcase from 'camelcase';\nimport { generateExternals } from '@teambit/webpack.modules.generate-externals';\n\nexport function getExternals(deps: string[]) {\n return generateExternals(deps, {\n transformName: (depName) => camelcase(depName.replace('@', '').replace('/', '-'), { pascalCase: true }),\n });\n}\n"]}
@@ -0,0 +1,2 @@
1
+ /** html template for Previews (docs, compositions, etc) */
2
+ export declare function html(title: string): string;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.html = html;
7
+
8
+ /** html template for Previews (docs, compositions, etc) */
9
+ function html(title) {
10
+ return `
11
+ <!DOCTYPE html>
12
+ <html lang="en">
13
+ <head>
14
+ <meta charset="utf-8">
15
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
16
+ <title>${title}</title>
17
+ <script>
18
+ // Allow to use react dev-tools inside the examples
19
+ try { window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.parent.__REACT_DEVTOOLS_GLOBAL_HOOK__; } catch {}
20
+ </script>
21
+ <!-- minimal css resets -->
22
+ <style> html { height: 100%; } body { margin: 0; height: 100%; } #root { height: 100%; } </style>
23
+ </head>
24
+ <body>
25
+ <div id="root"></div>
26
+ </body>
27
+ </html>
28
+ `;
29
+ }
30
+
31
+ //# sourceMappingURL=html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["html.ts"],"names":["html","title"],"mappings":";;;;;;;AAAA;AACO,SAASA,IAAT,CAAcC,KAAd,EAA6B;AAClC,SAAQ;AACV;AACA;AACA;AACA;AACA;AACA,eAAeA,KAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAlBE;AAmBD","sourcesContent":["/** html template for Previews (docs, compositions, etc) */\nexport function html(title: string) {\n return `\n <!DOCTYPE html>\n <html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>${title}</title>\n <script>\n // Allow to use react dev-tools inside the examples\n try { window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.parent.__REACT_DEVTOOLS_GLOBAL_HOOK__; } catch {}\n </script>\n <!-- minimal css resets -->\n <style> html { height: 100%; } body { margin: 0; height: 100%; } #root { height: 100%; } </style>\n </head>\n <body>\n <div id=\"root\"></div>\n </body>\n </html>\n `;\n}\n"]}
@@ -0,0 +1 @@
1
+ export { html } from './html';
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "html", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _html().html;
10
+ }
11
+ });
12
+
13
+ function _html() {
14
+ const data = require("./html");
15
+
16
+ _html = function () {
17
+ return data;
18
+ };
19
+
20
+ return data;
21
+ }
22
+
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA","sourcesContent":["export { html } from './html';\n"]}
@@ -0,0 +1,2 @@
1
+ import { WebpackConfigMutator } from '@teambit/webpack.modules.config-mutator';
2
+ export declare function generateAddAliasesFromPeersTransformer(peers: string[]): (config: WebpackConfigMutator) => WebpackConfigMutator;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generateAddAliasesFromPeersTransformer = generateAddAliasesFromPeersTransformer;
7
+
8
+ function generateAddAliasesFromPeersTransformer(peers) {
9
+ const peerAliases = peers.reduce((acc, peerName) => {
10
+ acc[peerName] = require.resolve(peerName);
11
+ return acc;
12
+ }, {});
13
+ return config => {
14
+ config.addAliases(peerAliases);
15
+ return config;
16
+ };
17
+ }
18
+
19
+ //# sourceMappingURL=transformers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["transformers.ts"],"names":["generateAddAliasesFromPeersTransformer","peers","peerAliases","reduce","acc","peerName","require","resolve","config","addAliases"],"mappings":";;;;;;;AAEO,SAASA,sCAAT,CAAgDC,KAAhD,EAAiE;AACtE,QAAMC,WAAW,GAAGD,KAAK,CAACE,MAAN,CAAa,CAACC,GAAD,EAAMC,QAAN,KAAmB;AAClDD,IAAAA,GAAG,CAACC,QAAD,CAAH,GAAgBC,OAAO,CAACC,OAAR,CAAgBF,QAAhB,CAAhB;AACA,WAAOD,GAAP;AACD,GAHmB,EAGjB,EAHiB,CAApB;AAIA,SAAQI,MAAD,IAAwD;AAC7DA,IAAAA,MAAM,CAACC,UAAP,CAAkBP,WAAlB;AACA,WAAOM,MAAP;AACD,GAHD;AAID","sourcesContent":["import { WebpackConfigMutator } from '@teambit/webpack.modules.config-mutator';\n\nexport function generateAddAliasesFromPeersTransformer(peers: string[]) {\n const peerAliases = peers.reduce((acc, peerName) => {\n acc[peerName] = require.resolve(peerName);\n return acc;\n }, {});\n return (config: WebpackConfigMutator): WebpackConfigMutator => {\n config.addAliases(peerAliases);\n return config;\n };\n}\n"]}
@@ -126,6 +126,8 @@ function _default(isEnvProduction = false) {
126
126
  // const env = getClientEnvironment(publicUrlOrPath.slice(0, -1));
127
127
 
128
128
  return {
129
+ // TODO: make the dev tool according to shouldUseSourceMap and isEnvProduction
130
+ // devtool: 'inline-source-map',
129
131
  resolve: {
130
132
  // These are the reasonable defaults supported by the Node ecosystem.
131
133
  // We also include JSX as a common component filename extension to support
@@ -140,11 +142,7 @@ function _default(isEnvProduction = false) {
140
142
  // Support React Native Web
141
143
  // https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/
142
144
  // TODO: @uri please remember to remove after publishing evangelist and base-ui
143
- react: require.resolve('react'),
144
- '@teambit/mdx.ui.mdx-scope-context': require.resolve('@teambit/mdx.ui.mdx-scope-context'),
145
- 'react-dom/server': require.resolve('react-dom/server'),
146
- 'react-dom': require.resolve('react-dom'),
147
- '@mdx-js/react': require.resolve('@mdx-js/react')
145
+ 'react-dom/server': require.resolve('react-dom/server')
148
146
  }, isEnvProductionProfile && {
149
147
  'react-dom$': 'react-dom/profiling',
150
148
  'scheduler/tracing': 'scheduler/tracing-profiling'
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack.config.base.ts"],"names":["styleLoaderPath","require","resolve","moduleFileExtensions","shouldUseSourceMap","process","env","GENERATE_SOURCEMAP","imageInlineSizeLimit","parseInt","IMAGE_INLINE_SIZE_LIMIT","isEnvProduction","isEnvProductionProfile","argv","includes","baseStyleLoadersOptions","injectingLoader","MiniCssExtractPlugin","loader","cssLoaderPath","postCssLoaderPath","postCssConfig","extensions","map","ext","alias","react","module","strictExportPresence","rules","test","fullySpecified","oneOf","stylesRegexps","cssNoModulesRegex","use","cssLoaderOpts","importLoaders","sourceMap","sideEffects","exclude","options","babelrc","configFile","customize","presets","cacheDirectory","cacheCompression","compact","cssModuleRegex","modules","getLocalIdent","getCSSModuleLocalIdent","sassNoModuleRegex","preProcessOptions","resolveUrlLoaderPath","preProcessorPath","sassModuleRegex","lessNoModuleRegex","lessModuleRegex","type","parser","dataUrlCondition","maxSize","dependency","not","titleProp","ref","plugins","filename","chunkFilename","IgnorePlugin","resourceRegExp","contextRegExp","filter","Boolean","performance"],"mappings":"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","sourcesContent":["import { merge } from 'lodash';\nimport 'style-loader';\nimport MiniCssExtractPlugin from 'mini-css-extract-plugin';\nimport getCSSModuleLocalIdent from 'react-dev-utils/getCSSModuleLocalIdent';\nimport { Configuration, IgnorePlugin } from 'webpack';\nimport * as stylesRegexps from '@teambit/webpack.modules.style-regexps';\nimport { generateStyleLoaders } from '@teambit/webpack.modules.generate-style-loaders';\nimport { postCssConfig } from './postcss.config';\n// Make sure the bit-react-transformer is a dependency\n// TODO: remove it once we can set policy from component to component then set it via the component.json\nimport '@teambit/react.babel.bit-react-transformer';\n// Make sure the mdx-loader is a dependency\nimport '@teambit/mdx.modules.mdx-loader';\n\nconst styleLoaderPath = require.resolve('style-loader');\n\nconst moduleFileExtensions = [\n 'web.mjs',\n 'mjs',\n 'web.js',\n 'js',\n 'web.ts',\n 'ts',\n 'web.tsx',\n 'tsx',\n 'json',\n 'web.jsx',\n 'jsx',\n 'mdx',\n 'md',\n];\n\n// Source maps are resource heavy and can cause out of memory issue for large source files.\nconst shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false';\n\nconst imageInlineSizeLimit = parseInt(process.env.IMAGE_INLINE_SIZE_LIMIT || '10000');\n\n// This is the production and development configuration.\n// It is focused on developer experience, fast rebuilds, and a minimal bundle.\n// eslint-disable-next-line complexity\nexport default function (isEnvProduction = false): Configuration {\n // Variable used for enabling profiling in Production\n // passed into alias object. Uses a flag if passed into the build command\n const isEnvProductionProfile = process.argv.includes('--profile');\n\n const baseStyleLoadersOptions = {\n injectingLoader: isEnvProduction ? MiniCssExtractPlugin.loader : styleLoaderPath,\n cssLoaderPath: require.resolve('css-loader'),\n postCssLoaderPath: require.resolve('postcss-loader'),\n postCssConfig,\n };\n\n // We will provide `paths.publicUrlOrPath` to our app\n // as %PUBLIC_URL% in `index.html` and `process.env.PUBLIC_URL` in JavaScript.\n // Omit trailing slash as %PUBLIC_URL%/xyz looks better than %PUBLIC_URL%xyz.\n // Get environment variables to inject into our app.\n // const env = getClientEnvironment(publicUrlOrPath.slice(0, -1));\n\n return {\n resolve: {\n // These are the reasonable defaults supported by the Node ecosystem.\n // We also include JSX as a common component filename extension to support\n // some tools, although we do not recommend using it, see:\n // https://github.com/facebook/create-react-app/issues/290\n // `web` extension prefixes have been added for better support\n // for React Native Web.\n extensions: moduleFileExtensions.map((ext) => `.${ext}`),\n\n alias: {\n 'react/jsx-dev-runtime': require.resolve('react/jsx-dev-runtime.js'),\n 'react/jsx-runtime': require.resolve('react/jsx-runtime.js'),\n // Support React Native Web\n // https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/\n // TODO: @uri please remember to remove after publishing evangelist and base-ui\n react: require.resolve('react'),\n '@teambit/mdx.ui.mdx-scope-context': require.resolve('@teambit/mdx.ui.mdx-scope-context'),\n 'react-dom/server': require.resolve('react-dom/server'),\n 'react-dom': require.resolve('react-dom'),\n '@mdx-js/react': require.resolve('@mdx-js/react'),\n\n // Allows for better profiling with ReactDevTools\n ...(isEnvProductionProfile && {\n 'react-dom$': 'react-dom/profiling',\n 'scheduler/tracing': 'scheduler/tracing-profiling',\n }),\n },\n },\n module: {\n strictExportPresence: true,\n rules: [\n {\n test: /\\.m?js/,\n resolve: {\n fullySpecified: false,\n },\n },\n {\n // \"oneOf\" will traverse all following loaders until one will\n // match the requirements. When no loader matches it will fall\n // back to the \"file\" loader at the end of the loader list.\n oneOf: [\n // \"postcss\" loader applies autoprefixer to our CSS.\n // \"css\" loader resolves paths in CSS and adds assets as dependencies.\n // \"style\" loader turns CSS into JS modules that inject <style> tags.\n // In production, we use MiniCSSExtractPlugin to extract that CSS\n // to a file, but in development \"style\" loader enables hot editing\n // of CSS.\n // By default we support CSS Modules with the extension .module.css\n {\n test: stylesRegexps.cssNoModulesRegex,\n use: generateStyleLoaders(\n merge({}, baseStyleLoadersOptions, {\n cssLoaderOpts: {\n importLoaders: 1,\n sourceMap: isEnvProduction || shouldUseSourceMap,\n },\n })\n ),\n // Don't consider CSS imports dead code even if the\n // containing package claims to have no side effects.\n // Remove this when webpack adds a warning or an error for this.\n // See https://github.com/webpack/webpack/issues/6571\n sideEffects: true,\n },\n\n // Process application JS with Babel.\n // The preset includes JSX, Flow, TypeScript, and some ESnext features.\n {\n test: /\\.(js|mjs|jsx|ts|tsx)$/,\n exclude: [/node_modules/, /\\/dist\\//],\n // consider: limit loader to files only in a capsule that has bitid in package.json\n // descriptionData: { componentId: ComponentID.isValidObject },\n // // or\n // include: capsulePaths\n loader: require.resolve('babel-loader'),\n options: {\n babelrc: false,\n configFile: false,\n customize: require.resolve('babel-preset-react-app/webpack-overrides'),\n presets: [require.resolve('@babel/preset-react')],\n // This is a feature of `babel-loader` for webpack (not Babel itself).\n // It enables caching results in ./node_modules/.cache/babel-loader/\n // directory for faster rebuilds.\n cacheDirectory: true,\n // See #6846 for context on why cacheCompression is disabled\n cacheCompression: false,\n compact: isEnvProduction,\n },\n },\n // Process any JS outside of the app with Babel.\n // Unlike the application JS, we only compile the standard ES features.\n // Probably not needed in our use case\n // {\n // test: /\\.(js|mjs)$/,\n // exclude: /@babel(?:\\/|\\\\{1,2})runtime/,\n // loader: require.resolve('babel-loader'),\n // options: {\n // babelrc: false,\n // configFile: false,\n // compact: false,\n // presets: [[require.resolve('babel-preset-react-app/dependencies'), { helpers: true }]],\n // cacheDirectory: true,\n // // See #6846 for context on why cacheCompression is disabled\n // cacheCompression: false,\n\n // // Babel sourcemaps are needed for debugging into node_modules\n // // code. Without the options below, debuggers like VSCode\n // // show incorrect code and set breakpoints on the wrong lines.\n // sourceMaps: shouldUseSourceMap,\n // inputSourceMap: shouldUseSourceMap,\n // },\n // },\n // MDX support (move to the mdx aspect and extend from there)\n {\n test: /\\.mdx?$/,\n exclude: [/node_modules/],\n use: [\n {\n loader: require.resolve('babel-loader'),\n options: {\n babelrc: false,\n configFile: false,\n presets: [require.resolve('@babel/preset-react'), require.resolve('@babel/preset-env')],\n },\n },\n {\n loader: require.resolve('@teambit/mdx.modules.mdx-loader'),\n },\n ],\n },\n // Adds support for CSS Modules (https://github.com/css-modules/css-modules)\n // using the extension .module.css\n {\n test: stylesRegexps.cssModuleRegex,\n use: generateStyleLoaders(\n merge({}, baseStyleLoadersOptions, {\n cssLoaderOpts: {\n importLoaders: 1,\n sourceMap: isEnvProduction || shouldUseSourceMap,\n modules: {\n getLocalIdent: getCSSModuleLocalIdent,\n },\n },\n shouldUseSourceMap: isEnvProduction || shouldUseSourceMap,\n })\n ),\n },\n // Opt-in support for SASS (using .scss or .sass extensions).\n // By default we support SASS Modules with the\n // extensions .module.scss or .module.sass\n {\n test: stylesRegexps.sassNoModuleRegex,\n use: generateStyleLoaders(\n merge({}, baseStyleLoadersOptions, {\n cssLoaderOpts: {\n importLoaders: 3,\n sourceMap: isEnvProduction || shouldUseSourceMap,\n },\n shouldUseSourceMap: isEnvProduction || shouldUseSourceMap,\n preProcessOptions: {\n resolveUrlLoaderPath: require.resolve('resolve-url-loader'),\n preProcessorPath: require.resolve('sass-loader'),\n },\n })\n ),\n // Don't consider CSS imports dead code even if the\n // containing package claims to have no side effects.\n // Remove this when webpack adds a warning or an error for this.\n // See https://github.com/webpack/webpack/issues/6571\n sideEffects: true,\n },\n // Adds support for CSS Modules, but using SASS\n // using the extension .module.scss or .module.sass\n {\n test: stylesRegexps.sassModuleRegex,\n use: generateStyleLoaders(\n merge({}, baseStyleLoadersOptions, {\n cssLoaderOpts: {\n importLoaders: 3,\n sourceMap: isEnvProduction || shouldUseSourceMap,\n modules: {\n getLocalIdent: getCSSModuleLocalIdent,\n },\n },\n shouldUseSourceMap: isEnvProduction || shouldUseSourceMap,\n preProcessOptions: {\n resolveUrlLoaderPath: require.resolve('resolve-url-loader'),\n preProcessorPath: require.resolve('sass-loader'),\n },\n })\n ),\n },\n {\n test: stylesRegexps.lessNoModuleRegex,\n use: generateStyleLoaders(\n merge({}, baseStyleLoadersOptions, {\n cssLoaderOpts: {\n importLoaders: 1,\n sourceMap: isEnvProduction || shouldUseSourceMap,\n },\n shouldUseSourceMap: isEnvProduction || shouldUseSourceMap,\n preProcessOptions: {\n resolveUrlLoaderPath: require.resolve('resolve-url-loader'),\n preProcessorPath: require.resolve('less-loader'),\n },\n })\n ),\n // Don't consider CSS imports dead code even if the\n // containing package claims to have no side effects.\n // Remove this when webpack adds a warning or an error for this.\n // See https://github.com/webpack/webpack/issues/6571\n sideEffects: true,\n },\n {\n test: stylesRegexps.lessModuleRegex,\n use: generateStyleLoaders(\n merge({}, baseStyleLoadersOptions, {\n cssLoaderOpts: {\n importLoaders: 1,\n sourceMap: isEnvProduction || shouldUseSourceMap,\n modules: {\n getLocalIdent: getCSSModuleLocalIdent,\n },\n },\n shouldUseSourceMap: isEnvProduction || shouldUseSourceMap,\n preProcessOptions: {\n resolveUrlLoaderPath: require.resolve('resolve-url-loader'),\n preProcessorPath: require.resolve('less-loader'),\n },\n })\n ),\n },\n {\n test: [/\\.bmp$/, /\\.gif$/, /\\.jpe?g$/, /\\.png$/],\n type: 'asset',\n parser: {\n dataUrlCondition: {\n maxSize: imageInlineSizeLimit,\n },\n },\n },\n {\n // loads svg as both inlineUrl and react component, like:\n // import starUrl, { ReactComponent as StarIcon } from './star.svg';\n // (remove when there is native support for both opitons from webpack5 / svgr)\n test: /\\.svg$/,\n oneOf: [\n {\n dependency: { not: ['url'] }, // exclude new URL calls\n use: [\n {\n loader: require.resolve('@svgr/webpack'),\n options: { titleProp: true, ref: true },\n },\n require.resolve('new-url-loader'),\n ],\n },\n {\n type: 'asset', // export a data URI or emit a separate file\n },\n ],\n },\n // \"file\" loader makes sure those assets get served by WebpackDevServer.\n // When you `import` an asset, you get its (virtual) filename.\n // In production, they would get copied to the `build` folder.\n // This loader doesn't use a \"test\" so it will catch all modules\n // that fall through the other loaders.\n {\n // Exclude `js` files to keep \"css\" loader working as it injects\n // its runtime that would otherwise be processed through \"file\" loader.\n // Also exclude `html` and `json` extensions so they get processed\n // by webpacks internal loaders.\n exclude: [/\\.(js|mjs|jsx|ts|tsx)$/, /\\.html$/, /\\.mdx?/, /\\.json$/, /\\.css$/],\n type: 'asset',\n },\n // ** STOP ** Are you adding a new loader?\n // Make sure to add the new loader(s) before the \"type:asset\" loader.\n ],\n },\n ],\n },\n // @ts-ignore\n plugins: [\n isEnvProduction &&\n new MiniCssExtractPlugin({\n // Options similar to the same options in webpackOptions.output\n // both options are optional\n filename: 'static/css/[name].[contenthash:8].css',\n chunkFilename: 'static/css/[name].[contenthash:8].chunk.css',\n }),\n // Moment.js is an extremely popular library that bundles large locale files\n // by default due to how webpack interprets its code. This is a practical\n // solution that requires the user to opt into importing specific locales.\n // https://github.com/jmblog/how-to-optimize-momentjs-with-webpack\n // You can remove this if you don't use Moment.js:\n new IgnorePlugin({\n resourceRegExp: /^\\.\\/locale$/,\n contextRegExp: /moment$/,\n }),\n ].filter(Boolean),\n // Turn off performance processing because we utilize\n // our own hints via the FileSizeReporter\n performance: false,\n };\n}\n"]}
1
+ {"version":3,"sources":["webpack.config.base.ts"],"names":["styleLoaderPath","require","resolve","moduleFileExtensions","shouldUseSourceMap","process","env","GENERATE_SOURCEMAP","imageInlineSizeLimit","parseInt","IMAGE_INLINE_SIZE_LIMIT","isEnvProduction","isEnvProductionProfile","argv","includes","baseStyleLoadersOptions","injectingLoader","MiniCssExtractPlugin","loader","cssLoaderPath","postCssLoaderPath","postCssConfig","extensions","map","ext","alias","module","strictExportPresence","rules","test","fullySpecified","oneOf","stylesRegexps","cssNoModulesRegex","use","cssLoaderOpts","importLoaders","sourceMap","sideEffects","exclude","options","babelrc","configFile","customize","presets","cacheDirectory","cacheCompression","compact","cssModuleRegex","modules","getLocalIdent","getCSSModuleLocalIdent","sassNoModuleRegex","preProcessOptions","resolveUrlLoaderPath","preProcessorPath","sassModuleRegex","lessNoModuleRegex","lessModuleRegex","type","parser","dataUrlCondition","maxSize","dependency","not","titleProp","ref","plugins","filename","chunkFilename","IgnorePlugin","resourceRegExp","contextRegExp","filter","Boolean","performance"],"mappings":"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","sourcesContent":["import { merge } from 'lodash';\nimport 'style-loader';\nimport MiniCssExtractPlugin from 'mini-css-extract-plugin';\nimport getCSSModuleLocalIdent from 'react-dev-utils/getCSSModuleLocalIdent';\nimport { Configuration, IgnorePlugin } from 'webpack';\nimport * as stylesRegexps from '@teambit/webpack.modules.style-regexps';\nimport { generateStyleLoaders } from '@teambit/webpack.modules.generate-style-loaders';\nimport { postCssConfig } from './postcss.config';\n// Make sure the bit-react-transformer is a dependency\n// TODO: remove it once we can set policy from component to component then set it via the component.json\nimport '@teambit/react.babel.bit-react-transformer';\n// Make sure the mdx-loader is a dependency\nimport '@teambit/mdx.modules.mdx-loader';\n\nconst styleLoaderPath = require.resolve('style-loader');\n\nconst moduleFileExtensions = [\n 'web.mjs',\n 'mjs',\n 'web.js',\n 'js',\n 'web.ts',\n 'ts',\n 'web.tsx',\n 'tsx',\n 'json',\n 'web.jsx',\n 'jsx',\n 'mdx',\n 'md',\n];\n\n// Source maps are resource heavy and can cause out of memory issue for large source files.\nconst shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false';\n\nconst imageInlineSizeLimit = parseInt(process.env.IMAGE_INLINE_SIZE_LIMIT || '10000');\n\n// This is the production and development configuration.\n// It is focused on developer experience, fast rebuilds, and a minimal bundle.\n// eslint-disable-next-line complexity\nexport default function (isEnvProduction = false): Configuration {\n // Variable used for enabling profiling in Production\n // passed into alias object. Uses a flag if passed into the build command\n const isEnvProductionProfile = process.argv.includes('--profile');\n\n const baseStyleLoadersOptions = {\n injectingLoader: isEnvProduction ? MiniCssExtractPlugin.loader : styleLoaderPath,\n cssLoaderPath: require.resolve('css-loader'),\n postCssLoaderPath: require.resolve('postcss-loader'),\n postCssConfig,\n };\n\n // We will provide `paths.publicUrlOrPath` to our app\n // as %PUBLIC_URL% in `index.html` and `process.env.PUBLIC_URL` in JavaScript.\n // Omit trailing slash as %PUBLIC_URL%/xyz looks better than %PUBLIC_URL%xyz.\n // Get environment variables to inject into our app.\n // const env = getClientEnvironment(publicUrlOrPath.slice(0, -1));\n\n return {\n // TODO: make the dev tool according to shouldUseSourceMap and isEnvProduction\n // devtool: 'inline-source-map',\n resolve: {\n // These are the reasonable defaults supported by the Node ecosystem.\n // We also include JSX as a common component filename extension to support\n // some tools, although we do not recommend using it, see:\n // https://github.com/facebook/create-react-app/issues/290\n // `web` extension prefixes have been added for better support\n // for React Native Web.\n extensions: moduleFileExtensions.map((ext) => `.${ext}`),\n\n alias: {\n 'react/jsx-dev-runtime': require.resolve('react/jsx-dev-runtime.js'),\n 'react/jsx-runtime': require.resolve('react/jsx-runtime.js'),\n // Support React Native Web\n // https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/\n // TODO: @uri please remember to remove after publishing evangelist and base-ui\n\n 'react-dom/server': require.resolve('react-dom/server'),\n // Allows for better profiling with ReactDevTools\n ...(isEnvProductionProfile && {\n 'react-dom$': 'react-dom/profiling',\n 'scheduler/tracing': 'scheduler/tracing-profiling',\n }),\n },\n },\n module: {\n strictExportPresence: true,\n rules: [\n {\n test: /\\.m?js/,\n resolve: {\n fullySpecified: false,\n },\n },\n {\n // \"oneOf\" will traverse all following loaders until one will\n // match the requirements. When no loader matches it will fall\n // back to the \"file\" loader at the end of the loader list.\n oneOf: [\n // \"postcss\" loader applies autoprefixer to our CSS.\n // \"css\" loader resolves paths in CSS and adds assets as dependencies.\n // \"style\" loader turns CSS into JS modules that inject <style> tags.\n // In production, we use MiniCSSExtractPlugin to extract that CSS\n // to a file, but in development \"style\" loader enables hot editing\n // of CSS.\n // By default we support CSS Modules with the extension .module.css\n {\n test: stylesRegexps.cssNoModulesRegex,\n use: generateStyleLoaders(\n merge({}, baseStyleLoadersOptions, {\n cssLoaderOpts: {\n importLoaders: 1,\n sourceMap: isEnvProduction || shouldUseSourceMap,\n },\n })\n ),\n // Don't consider CSS imports dead code even if the\n // containing package claims to have no side effects.\n // Remove this when webpack adds a warning or an error for this.\n // See https://github.com/webpack/webpack/issues/6571\n sideEffects: true,\n },\n\n // Process application JS with Babel.\n // The preset includes JSX, Flow, TypeScript, and some ESnext features.\n {\n test: /\\.(js|mjs|jsx|ts|tsx)$/,\n exclude: [/node_modules/, /\\/dist\\//],\n // consider: limit loader to files only in a capsule that has bitid in package.json\n // descriptionData: { componentId: ComponentID.isValidObject },\n // // or\n // include: capsulePaths\n loader: require.resolve('babel-loader'),\n options: {\n babelrc: false,\n configFile: false,\n customize: require.resolve('babel-preset-react-app/webpack-overrides'),\n presets: [require.resolve('@babel/preset-react')],\n // This is a feature of `babel-loader` for webpack (not Babel itself).\n // It enables caching results in ./node_modules/.cache/babel-loader/\n // directory for faster rebuilds.\n cacheDirectory: true,\n // See #6846 for context on why cacheCompression is disabled\n cacheCompression: false,\n compact: isEnvProduction,\n },\n },\n // Process any JS outside of the app with Babel.\n // Unlike the application JS, we only compile the standard ES features.\n // Probably not needed in our use case\n // {\n // test: /\\.(js|mjs)$/,\n // exclude: /@babel(?:\\/|\\\\{1,2})runtime/,\n // loader: require.resolve('babel-loader'),\n // options: {\n // babelrc: false,\n // configFile: false,\n // compact: false,\n // presets: [[require.resolve('babel-preset-react-app/dependencies'), { helpers: true }]],\n // cacheDirectory: true,\n // // See #6846 for context on why cacheCompression is disabled\n // cacheCompression: false,\n\n // // Babel sourcemaps are needed for debugging into node_modules\n // // code. Without the options below, debuggers like VSCode\n // // show incorrect code and set breakpoints on the wrong lines.\n // sourceMaps: shouldUseSourceMap,\n // inputSourceMap: shouldUseSourceMap,\n // },\n // },\n // MDX support (move to the mdx aspect and extend from there)\n {\n test: /\\.mdx?$/,\n exclude: [/node_modules/],\n use: [\n {\n loader: require.resolve('babel-loader'),\n options: {\n babelrc: false,\n configFile: false,\n presets: [require.resolve('@babel/preset-react'), require.resolve('@babel/preset-env')],\n },\n },\n {\n loader: require.resolve('@teambit/mdx.modules.mdx-loader'),\n },\n ],\n },\n // Adds support for CSS Modules (https://github.com/css-modules/css-modules)\n // using the extension .module.css\n {\n test: stylesRegexps.cssModuleRegex,\n use: generateStyleLoaders(\n merge({}, baseStyleLoadersOptions, {\n cssLoaderOpts: {\n importLoaders: 1,\n sourceMap: isEnvProduction || shouldUseSourceMap,\n modules: {\n getLocalIdent: getCSSModuleLocalIdent,\n },\n },\n shouldUseSourceMap: isEnvProduction || shouldUseSourceMap,\n })\n ),\n },\n // Opt-in support for SASS (using .scss or .sass extensions).\n // By default we support SASS Modules with the\n // extensions .module.scss or .module.sass\n {\n test: stylesRegexps.sassNoModuleRegex,\n use: generateStyleLoaders(\n merge({}, baseStyleLoadersOptions, {\n cssLoaderOpts: {\n importLoaders: 3,\n sourceMap: isEnvProduction || shouldUseSourceMap,\n },\n shouldUseSourceMap: isEnvProduction || shouldUseSourceMap,\n preProcessOptions: {\n resolveUrlLoaderPath: require.resolve('resolve-url-loader'),\n preProcessorPath: require.resolve('sass-loader'),\n },\n })\n ),\n // Don't consider CSS imports dead code even if the\n // containing package claims to have no side effects.\n // Remove this when webpack adds a warning or an error for this.\n // See https://github.com/webpack/webpack/issues/6571\n sideEffects: true,\n },\n // Adds support for CSS Modules, but using SASS\n // using the extension .module.scss or .module.sass\n {\n test: stylesRegexps.sassModuleRegex,\n use: generateStyleLoaders(\n merge({}, baseStyleLoadersOptions, {\n cssLoaderOpts: {\n importLoaders: 3,\n sourceMap: isEnvProduction || shouldUseSourceMap,\n modules: {\n getLocalIdent: getCSSModuleLocalIdent,\n },\n },\n shouldUseSourceMap: isEnvProduction || shouldUseSourceMap,\n preProcessOptions: {\n resolveUrlLoaderPath: require.resolve('resolve-url-loader'),\n preProcessorPath: require.resolve('sass-loader'),\n },\n })\n ),\n },\n {\n test: stylesRegexps.lessNoModuleRegex,\n use: generateStyleLoaders(\n merge({}, baseStyleLoadersOptions, {\n cssLoaderOpts: {\n importLoaders: 1,\n sourceMap: isEnvProduction || shouldUseSourceMap,\n },\n shouldUseSourceMap: isEnvProduction || shouldUseSourceMap,\n preProcessOptions: {\n resolveUrlLoaderPath: require.resolve('resolve-url-loader'),\n preProcessorPath: require.resolve('less-loader'),\n },\n })\n ),\n // Don't consider CSS imports dead code even if the\n // containing package claims to have no side effects.\n // Remove this when webpack adds a warning or an error for this.\n // See https://github.com/webpack/webpack/issues/6571\n sideEffects: true,\n },\n {\n test: stylesRegexps.lessModuleRegex,\n use: generateStyleLoaders(\n merge({}, baseStyleLoadersOptions, {\n cssLoaderOpts: {\n importLoaders: 1,\n sourceMap: isEnvProduction || shouldUseSourceMap,\n modules: {\n getLocalIdent: getCSSModuleLocalIdent,\n },\n },\n shouldUseSourceMap: isEnvProduction || shouldUseSourceMap,\n preProcessOptions: {\n resolveUrlLoaderPath: require.resolve('resolve-url-loader'),\n preProcessorPath: require.resolve('less-loader'),\n },\n })\n ),\n },\n {\n test: [/\\.bmp$/, /\\.gif$/, /\\.jpe?g$/, /\\.png$/],\n type: 'asset',\n parser: {\n dataUrlCondition: {\n maxSize: imageInlineSizeLimit,\n },\n },\n },\n {\n // loads svg as both inlineUrl and react component, like:\n // import starUrl, { ReactComponent as StarIcon } from './star.svg';\n // (remove when there is native support for both opitons from webpack5 / svgr)\n test: /\\.svg$/,\n oneOf: [\n {\n dependency: { not: ['url'] }, // exclude new URL calls\n use: [\n {\n loader: require.resolve('@svgr/webpack'),\n options: { titleProp: true, ref: true },\n },\n require.resolve('new-url-loader'),\n ],\n },\n {\n type: 'asset', // export a data URI or emit a separate file\n },\n ],\n },\n // \"file\" loader makes sure those assets get served by WebpackDevServer.\n // When you `import` an asset, you get its (virtual) filename.\n // In production, they would get copied to the `build` folder.\n // This loader doesn't use a \"test\" so it will catch all modules\n // that fall through the other loaders.\n {\n // Exclude `js` files to keep \"css\" loader working as it injects\n // its runtime that would otherwise be processed through \"file\" loader.\n // Also exclude `html` and `json` extensions so they get processed\n // by webpacks internal loaders.\n exclude: [/\\.(js|mjs|jsx|ts|tsx)$/, /\\.html$/, /\\.mdx?/, /\\.json$/, /\\.css$/],\n type: 'asset',\n },\n // ** STOP ** Are you adding a new loader?\n // Make sure to add the new loader(s) before the \"type:asset\" loader.\n ],\n },\n ],\n },\n // @ts-ignore\n plugins: [\n isEnvProduction &&\n new MiniCssExtractPlugin({\n // Options similar to the same options in webpackOptions.output\n // both options are optional\n filename: 'static/css/[name].[contenthash:8].css',\n chunkFilename: 'static/css/[name].[contenthash:8].chunk.css',\n }),\n // Moment.js is an extremely popular library that bundles large locale files\n // by default due to how webpack interprets its code. This is a practical\n // solution that requires the user to opt into importing specific locales.\n // https://github.com/jmblog/how-to-optimize-momentjs-with-webpack\n // You can remove this if you don't use Moment.js:\n new IgnorePlugin({\n resourceRegExp: /^\\.\\/locale$/,\n contextRegExp: /moment$/,\n }),\n ].filter(Boolean),\n // Turn off performance processing because we utilize\n // our own hints via the FileSizeReporter\n performance: false,\n };\n}\n"]}
@@ -1,2 +1,2 @@
1
1
  import { Configuration } from 'webpack';
2
- export default function (): Configuration;
2
+ export default function (externalizePeer: boolean, peers: string[], dev?: boolean): Configuration;