11import { AngularAppType , NG_APP_NAME } from '@teambit/angular-apps' ;
22import { AngularEnvOptions , BrowserOptions , DevServerOptions } from '@teambit/angular-common' ;
33import { AngularPreview , BundlerProvider , DevServerProvider } from '@teambit/angular-preview' ;
4- import { AngularStarter , DesignSystemStarter , MaterialDesignSystemStarter } from '@teambit/angular-starters' ;
4+ import {
5+ AngularStarter ,
6+ DesignSystemStarter ,
7+ MaterialDesignSystemStarter
8+ } from '@teambit/angular-starters' ;
59import { NgAppTemplate , NgEnvTemplate , NgModuleTemplate } from '@teambit/angular-templates' ;
610import { NgWebpackBundler , NgWebpackDevServer } from '@teambit/angular-webpack' ;
711import { AppTypeList } from '@teambit/application' ;
812import { Pipeline } from '@teambit/builder' ;
913import { Bundler , BundlerContext , DevServer , DevServerContext } from '@teambit/bundler' ;
1014import { Compiler } from '@teambit/compiler' ;
11- import { ESLintLinter , EslintTask } from '@teambit/defender.eslint-linter' ;
15+ import { EslintConfigWriter , ESLintLinter , EslintTask } from '@teambit/defender.eslint-linter' ;
1216import { JestTask , JestTester } from '@teambit/defender.jest-tester' ;
13- import { PrettierFormatter } from '@teambit/defender.prettier-formatter' ;
17+ import { PrettierConfigWriter , PrettierFormatter } from '@teambit/defender.prettier-formatter' ;
1418import { AsyncEnvHandler , EnvHandler } from '@teambit/envs' ;
1519import { Formatter } from '@teambit/formatter' ;
1620import { StarterList , TemplateList } from '@teambit/generator' ;
@@ -21,7 +25,9 @@ import { Preview } from '@teambit/preview';
2125import { SchemaExtractor } from '@teambit/schema' ;
2226import { Tester } from '@teambit/tester' ;
2327import { TypeScriptExtractor } from '@teambit/typescript' ;
28+ import { TypescriptConfigWriter } from '@teambit/typescript.typescript-compiler' ;
2429import { WebpackConfigTransformer , WebpackConfigWithDevServer } from '@teambit/webpack' ;
30+ import { ConfigWriterList } from '@teambit/workspace-config-files' ;
2531import { ESLint as ESLintLib } from 'eslint' ;
2632import { merge } from 'lodash' ;
2733import { Configuration } from 'webpack' ;
@@ -31,7 +37,7 @@ import hostDependencies from './preview/host-dependencies';
3137/**
3238 * a component environment built for [Angular](https://angular.io).
3339 */
34- export abstract class AngularBaseEnv implements AngularEnvInterface {
40+ export abstract class AngularBaseEnv implements AngularEnvInterface {
3541 icon = 'https://static.bit.dev/extensions-icons/angular.svg' ;
3642 private ngMultiCompiler : EnvHandler < NgMultiCompiler > | undefined ;
3743
@@ -222,6 +228,21 @@ import hostDependencies from './preview/host-dependencies';
222228 return Pipeline . from ( [ ] ) ;
223229 }
224230
231+ workspaceConfig ( ) : ConfigWriterList {
232+ return ConfigWriterList . from ( [
233+ TypescriptConfigWriter . from ( {
234+ tsconfig : require . resolve ( './config/tsconfig.json' )
235+ } ) ,
236+ EslintConfigWriter . from ( {
237+ configPath : require . resolve ( './config/eslintrc' ) ,
238+ tsconfig : require . resolve ( './config/tsconfig.json' )
239+ } ) ,
240+ PrettierConfigWriter . from ( {
241+ configPath : require . resolve ( './config/prettier.config' )
242+ } )
243+ ] ) ;
244+ }
245+
225246 getTesterConfig ( ) {
226247 const ngEnvOptions = this . getNgEnvOptions ( ) ;
227248 return {
0 commit comments