@teambit/compiler 1.0.327 → 1.0.329

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.
@@ -11,7 +11,7 @@ import { LoggerMain } from '@teambit/logger';
11
11
  import { GeneratorMain } from '@teambit/generator';
12
12
  import { PubsubMain } from '@teambit/pubsub';
13
13
  import { UiMain } from '@teambit/ui';
14
- import { Workspace } from '@teambit/workspace';
14
+ import { Workspace, WorkspaceComponentLoadOptions } from '@teambit/workspace';
15
15
  import { CompilerService } from './compiler.service';
16
16
  import { CompilerTask } from './compiler.task';
17
17
  import { DistArtifact } from './dist-artifact';
@@ -31,7 +31,7 @@ export declare class CompilerMain {
31
31
  * Run compilation on `bit new` and when new components are imported
32
32
  */
33
33
  compileOnWorkspace(componentsIds?: string[] | ComponentID[] | ComponentID[], // when empty, it compiles all
34
- options?: CompileOptions): Promise<import("./workspace-compiler").BuildResult[]>;
34
+ options?: CompileOptions, noThrow?: boolean, componentLoadOptions?: WorkspaceComponentLoadOptions): Promise<import("./workspace-compiler").BuildResult[]>;
35
35
  /**
36
36
  * API to create a new compiler task, it facilitates the usage of multiple compilers.
37
37
  * with this method you can create any number of compilers and add them to the buildPipeline.
@@ -206,8 +206,8 @@ class CompilerMain {
206
206
  // when empty, it compiles all
207
207
  options = {
208
208
  initiator: _types().CompilationInitiator.ComponentAdded
209
- }) {
210
- return this.workspaceCompiler.compileComponents(componentsIds, options);
209
+ }, noThrow, componentLoadOptions = {}) {
210
+ return this.workspaceCompiler.compileComponents(componentsIds, options, noThrow, componentLoadOptions);
211
211
  }
212
212
  /**
213
213
  * API to create a new compiler task, it facilitates the usage of multiple compilers.
@@ -1 +1 @@
1
- {"version":3,"names":["path","data","_interopRequireWildcard","require","_fsExtra","_interopRequireDefault","_aspectLoader","_builder","_cli","_componentIssues","_issues","_constants","_watcher","_envs","_dependencyResolver","_logger","_generator","_pubsub","_ui","_workspace","_compiler","_compiler2","_compiler3","_compiler4","_distArtifact","_exceptions","_types","_workspaceCompiler","_compiler5","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CompilerMain","constructor","pubsub","workspaceCompiler","envs","builder","workspace","dependencyResolver","compilerService","getCompiler","context","compileOnWorkspace","componentsIds","options","initiator","CompilationInitiator","ComponentAdded","compileComponents","createTask","name","compiler","CompilerTask","CompilerAspect","id","getDistPathBySrcPath","component","srcPath","environment","getEnv","env","compilerInstance","getRelativeDistFolder","getOrCalculateEnv","getDistDir","DEFAULT_DIST_DIRNAME","isDistDirExists","packageDir","getComponentPackagePath","distDir","pathToCheck","join","fs","existsSync","getDistsFiles","artifacts","getArtifactsVinylByAspect","length","DistArtifactNotFound","DistArtifact","addMissingDistsIssue","components","issuesToIgnore","includes","IssuesClasses","MissingDists","Promise","all","map","exist","state","issues","getOrCreate","provider","cli","loggerMain","aspectLoader","ui","generator","watcher","logger","createLogger","CompilerService","WorkspaceCompiler","registerService","compilerMain","register","CompileCmd","registerAddComponentsIssues","bind","registerComponentTemplate","compilerTemplate","exports","MainRuntime","CLIAspect","WorkspaceAspect","EnvsAspect","LoggerAspect","PubsubAspect","AspectLoaderAspect","BuilderAspect","UIAspect","GeneratorAspect","DependencyResolverAspect","WatcherAspect","IssuesAspect","addRuntime","_default"],"sources":["compiler.main.runtime.ts"],"sourcesContent":["import * as path from 'path';\nimport fs from 'fs-extra';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport { Component } from '@teambit/component';\nimport { DEFAULT_DIST_DIRNAME } from '@teambit/legacy/dist/constants';\nimport { WatcherAspect, WatcherMain } from '@teambit/watcher';\nimport { EnvsAspect, EnvsMain, ExecutionContext } from '@teambit/envs';\nimport { ComponentID } from '@teambit/component-id';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { PubsubAspect, PubsubMain } from '@teambit/pubsub';\nimport { UIAspect, UiMain } from '@teambit/ui';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { CompilerAspect } from './compiler.aspect';\nimport { CompileCmd } from './compiler.cmd';\nimport { CompilerService } from './compiler.service';\nimport { CompilerTask } from './compiler.task';\nimport { DistArtifact } from './dist-artifact';\nimport { DistArtifactNotFound } from './exceptions';\nimport { CompilationInitiator, Compiler } from './types';\nimport { CompileOptions, WorkspaceCompiler } from './workspace-compiler';\nimport { compilerTemplate } from './templates/compiler';\n\nexport class CompilerMain {\n constructor(\n private pubsub: PubsubMain,\n private workspaceCompiler: WorkspaceCompiler,\n private envs: EnvsMain,\n private builder: BuilderMain,\n private workspace: Workspace,\n private dependencyResolver: DependencyResolverMain,\n private compilerService: CompilerService\n ) {}\n\n getCompiler(context: ExecutionContext): Compiler {\n return this.compilerService.getCompiler(context);\n }\n\n /**\n * Run compilation on `bit new` and when new components are imported\n */\n compileOnWorkspace(\n componentsIds: string[] | ComponentID[] | ComponentID[] = [], // when empty, it compiles all\n options: CompileOptions = { initiator: CompilationInitiator.ComponentAdded }\n ) {\n return this.workspaceCompiler.compileComponents(componentsIds, options);\n }\n /**\n * API to create a new compiler task, it facilitates the usage of multiple compilers.\n * with this method you can create any number of compilers and add them to the buildPipeline.\n */\n createTask(name: string, compiler: Compiler): CompilerTask {\n return new CompilerTask(CompilerAspect.id, name, compiler, this.dependencyResolver);\n }\n\n /**\n * find the compiler configured on the workspace and ask for the dist path.\n */\n getDistPathBySrcPath(component: Component, srcPath: string): string | null {\n const environment = this.envs.getEnv(component).env;\n const compilerInstance = environment.getCompiler?.();\n if (!compilerInstance) return null;\n return compilerInstance.getDistPathBySrcPath(srcPath);\n }\n\n /**\n * find the compiler configured on the workspace and ask for the dist folder path.\n */\n getRelativeDistFolder(component: Component): string {\n const environment = this.envs.getOrCalculateEnv(component).env;\n const compilerInstance: Compiler | undefined = environment.getCompiler?.();\n if (!compilerInstance || !compilerInstance.getDistDir) return DEFAULT_DIST_DIRNAME;\n return compilerInstance.getDistDir();\n }\n\n /**\n * Check if the dist folder (in the component package under node_modules) exist\n * @param component\n * @returns\n */\n async isDistDirExists(component: Component): Promise<boolean> {\n const packageDir = await this.workspace.getComponentPackagePath(component);\n const distDir = this.getRelativeDistFolder(component);\n const pathToCheck = path.join(packageDir, distDir);\n return fs.existsSync(pathToCheck);\n }\n\n async getDistsFiles(component: Component): Promise<DistArtifact> {\n const artifacts = await this.builder.getArtifactsVinylByAspect(component, CompilerAspect.id);\n if (!artifacts.length) throw new DistArtifactNotFound(component.id);\n\n return new DistArtifact(artifacts);\n }\n\n async addMissingDistsIssue(components: Component[], issuesToIgnore: string[]): Promise<void> {\n if (issuesToIgnore.includes(IssuesClasses.MissingDists.name)) return;\n await Promise.all(\n components.map(async (component) => {\n const exist = await this.isDistDirExists(component);\n if (!exist) {\n component.state.issues.getOrCreate(IssuesClasses.MissingDists).data = true;\n }\n })\n );\n }\n\n static runtime = MainRuntime;\n\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n EnvsAspect,\n LoggerAspect,\n PubsubAspect,\n AspectLoaderAspect,\n BuilderAspect,\n UIAspect,\n GeneratorAspect,\n DependencyResolverAspect,\n WatcherAspect,\n IssuesAspect,\n ];\n\n static async provider([\n cli,\n workspace,\n envs,\n loggerMain,\n pubsub,\n aspectLoader,\n builder,\n ui,\n generator,\n dependencyResolver,\n watcher,\n issues,\n ]: [\n CLIMain,\n Workspace,\n EnvsMain,\n LoggerMain,\n PubsubMain,\n AspectLoaderMain,\n BuilderMain,\n UiMain,\n GeneratorMain,\n DependencyResolverMain,\n WatcherMain,\n IssuesMain\n ]) {\n const logger = loggerMain.createLogger(CompilerAspect.id);\n const compilerService = new CompilerService();\n\n const workspaceCompiler = new WorkspaceCompiler(\n workspace,\n envs,\n pubsub,\n aspectLoader,\n ui,\n logger,\n dependencyResolver,\n watcher\n );\n envs.registerService(compilerService);\n const compilerMain = new CompilerMain(\n pubsub,\n workspaceCompiler,\n envs,\n builder,\n workspace,\n dependencyResolver,\n compilerService\n );\n cli.register(new CompileCmd(workspaceCompiler, logger, pubsub));\n if (issues) {\n issues.registerAddComponentsIssues(compilerMain.addMissingDistsIssue.bind(compilerMain));\n }\n if (generator) generator.registerComponentTemplate([compilerTemplate]);\n\n return compilerMain;\n }\n}\n\nCompilerAspect.addRuntime(CompilerMain);\n\nexport default CompilerMain;\n"],"mappings":";;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,uBAAA,CAAAC,OAAA;EAAAH,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,cAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,aAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,SAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,QAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,KAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,IAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,iBAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,gBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,QAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,OAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAU,WAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,UAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,SAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,QAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,MAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,KAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAa,oBAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,mBAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,QAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,OAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,WAAA;EAAA,MAAAf,IAAA,GAAAE,OAAA;EAAAa,UAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,QAAA;EAAA,MAAAhB,IAAA,GAAAE,OAAA;EAAAc,OAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,IAAA;EAAA,MAAAjB,IAAA,GAAAE,OAAA;EAAAe,GAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,WAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,UAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,UAAA;EAAA,MAAAnB,IAAA,GAAAE,OAAA;EAAAiB,SAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,WAAA;EAAA,MAAApB,IAAA,GAAAE,OAAA;EAAAkB,UAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqB,WAAA;EAAA,MAAArB,IAAA,GAAAE,OAAA;EAAAmB,UAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsB,WAAA;EAAA,MAAAtB,IAAA,GAAAE,OAAA;EAAAoB,UAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,cAAA;EAAA,MAAAvB,IAAA,GAAAE,OAAA;EAAAqB,aAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwB,YAAA;EAAA,MAAAxB,IAAA,GAAAE,OAAA;EAAAsB,WAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,OAAA;EAAA,MAAAzB,IAAA,GAAAE,OAAA;EAAAuB,MAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0B,mBAAA;EAAA,MAAA1B,IAAA,GAAAE,OAAA;EAAAwB,kBAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2B,WAAA;EAAA,MAAA3B,IAAA,GAAAE,OAAA;EAAAyB,UAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAwD,SAAAI,uBAAAwB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAA3B,wBAAA2B,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,gBAAApB,CAAA,EAAAK,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAgB,cAAA,CAAAhB,CAAA,MAAAL,CAAA,GAAAY,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,IAAAiB,KAAA,EAAAhB,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAzB,CAAA,CAAAK,CAAA,IAAAC,CAAA,EAAAN,CAAA;AAAA,SAAAqB,eAAAf,CAAA,QAAAY,CAAA,GAAAQ,YAAA,CAAApB,CAAA,uCAAAY,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAQ,aAAApB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAN,CAAA,GAAAM,CAAA,CAAAqB,MAAA,CAAAC,WAAA,kBAAA5B,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAX,CAAA,EAAAD,CAAA,uCAAAa,CAAA,SAAAA,CAAA,YAAAW,SAAA,yEAAAxB,CAAA,GAAAyB,MAAA,GAAAC,MAAA,EAAAzB,CAAA;AAEjD,MAAM0B,YAAY,CAAC;EACxBC,WAAWA,CACDC,MAAkB,EAClBC,iBAAoC,EACpCC,IAAc,EACdC,OAAoB,EACpBC,SAAoB,EACpBC,kBAA0C,EAC1CC,eAAgC,EACxC;IAAA,KAPQN,MAAkB,GAAlBA,MAAkB;IAAA,KAClBC,iBAAoC,GAApCA,iBAAoC;IAAA,KACpCC,IAAc,GAAdA,IAAc;IAAA,KACdC,OAAoB,GAApBA,OAAoB;IAAA,KACpBC,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,kBAA0C,GAA1CA,kBAA0C;IAAA,KAC1CC,eAAgC,GAAhCA,eAAgC;EACvC;EAEHC,WAAWA,CAACC,OAAyB,EAAY;IAC/C,OAAO,IAAI,CAACF,eAAe,CAACC,WAAW,CAACC,OAAO,CAAC;EAClD;;EAEA;AACF;AACA;EACEC,kBAAkBA,CAChBC,aAAuD,GAAG,EAAE;EAAE;EAC9DC,OAAuB,GAAG;IAAEC,SAAS,EAAEC,6BAAoB,CAACC;EAAe,CAAC,EAC5E;IACA,OAAO,IAAI,CAACb,iBAAiB,CAACc,iBAAiB,CAACL,aAAa,EAAEC,OAAO,CAAC;EACzE;EACA;AACF;AACA;AACA;EACEK,UAAUA,CAACC,IAAY,EAAEC,QAAkB,EAAgB;IACzD,OAAO,KAAIC,yBAAY,EAACC,0BAAc,CAACC,EAAE,EAAEJ,IAAI,EAAEC,QAAQ,EAAE,IAAI,CAACb,kBAAkB,CAAC;EACrF;;EAEA;AACF;AACA;EACEiB,oBAAoBA,CAACC,SAAoB,EAAEC,OAAe,EAAiB;IACzE,MAAMC,WAAW,GAAG,IAAI,CAACvB,IAAI,CAACwB,MAAM,CAACH,SAAS,CAAC,CAACI,GAAG;IACnD,MAAMC,gBAAgB,GAAGH,WAAW,CAAClB,WAAW,GAAG,CAAC;IACpD,IAAI,CAACqB,gBAAgB,EAAE,OAAO,IAAI;IAClC,OAAOA,gBAAgB,CAACN,oBAAoB,CAACE,OAAO,CAAC;EACvD;;EAEA;AACF;AACA;EACEK,qBAAqBA,CAACN,SAAoB,EAAU;IAClD,MAAME,WAAW,GAAG,IAAI,CAACvB,IAAI,CAAC4B,iBAAiB,CAACP,SAAS,CAAC,CAACI,GAAG;IAC9D,MAAMC,gBAAsC,GAAGH,WAAW,CAAClB,WAAW,GAAG,CAAC;IAC1E,IAAI,CAACqB,gBAAgB,IAAI,CAACA,gBAAgB,CAACG,UAAU,EAAE,OAAOC,iCAAoB;IAClF,OAAOJ,gBAAgB,CAACG,UAAU,CAAC,CAAC;EACtC;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAME,eAAeA,CAACV,SAAoB,EAAoB;IAC5D,MAAMW,UAAU,GAAG,MAAM,IAAI,CAAC9B,SAAS,CAAC+B,uBAAuB,CAACZ,SAAS,CAAC;IAC1E,MAAMa,OAAO,GAAG,IAAI,CAACP,qBAAqB,CAACN,SAAS,CAAC;IACrD,MAAMc,WAAW,GAAGpG,IAAI,CAAD,CAAC,CAACqG,IAAI,CAACJ,UAAU,EAAEE,OAAO,CAAC;IAClD,OAAOG,kBAAE,CAACC,UAAU,CAACH,WAAW,CAAC;EACnC;EAEA,MAAMI,aAAaA,CAAClB,SAAoB,EAAyB;IAC/D,MAAMmB,SAAS,GAAG,MAAM,IAAI,CAACvC,OAAO,CAACwC,yBAAyB,CAACpB,SAAS,EAAEH,0BAAc,CAACC,EAAE,CAAC;IAC5F,IAAI,CAACqB,SAAS,CAACE,MAAM,EAAE,MAAM,KAAIC,kCAAoB,EAACtB,SAAS,CAACF,EAAE,CAAC;IAEnE,OAAO,KAAIyB,4BAAY,EAACJ,SAAS,CAAC;EACpC;EAEA,MAAMK,oBAAoBA,CAACC,UAAuB,EAAEC,cAAwB,EAAiB;IAC3F,IAAIA,cAAc,CAACC,QAAQ,CAACC,gCAAa,CAACC,YAAY,CAACnC,IAAI,CAAC,EAAE;IAC9D,MAAMoC,OAAO,CAACC,GAAG,CACfN,UAAU,CAACO,GAAG,CAAC,MAAOhC,SAAS,IAAK;MAClC,MAAMiC,KAAK,GAAG,MAAM,IAAI,CAACvB,eAAe,CAACV,SAAS,CAAC;MACnD,IAAI,CAACiC,KAAK,EAAE;QACVjC,SAAS,CAACkC,KAAK,CAACC,MAAM,CAACC,WAAW,CAACR,gCAAa,CAACC,YAAY,CAAC,CAAClH,IAAI,GAAG,IAAI;MAC5E;IACF,CAAC,CACH,CAAC;EACH;EAmBA,aAAa0H,QAAQA,CAAC,CACpBC,GAAG,EACHzD,SAAS,EACTF,IAAI,EACJ4D,UAAU,EACV9D,MAAM,EACN+D,YAAY,EACZ5D,OAAO,EACP6D,EAAE,EACFC,SAAS,EACT5D,kBAAkB,EAClB6D,OAAO,EACPR,MAAM,CAcP,EAAE;IACD,MAAMS,MAAM,GAAGL,UAAU,CAACM,YAAY,CAAChD,0BAAc,CAACC,EAAE,CAAC;IACzD,MAAMf,eAAe,GAAG,KAAI+D,4BAAe,EAAC,CAAC;IAE7C,MAAMpE,iBAAiB,GAAG,KAAIqE,sCAAiB,EAC7ClE,SAAS,EACTF,IAAI,EACJF,MAAM,EACN+D,YAAY,EACZC,EAAE,EACFG,MAAM,EACN9D,kBAAkB,EAClB6D,OACF,CAAC;IACDhE,IAAI,CAACqE,eAAe,CAACjE,eAAe,CAAC;IACrC,MAAMkE,YAAY,GAAG,IAAI1E,YAAY,CACnCE,MAAM,EACNC,iBAAiB,EACjBC,IAAI,EACJC,OAAO,EACPC,SAAS,EACTC,kBAAkB,EAClBC,eACF,CAAC;IACDuD,GAAG,CAACY,QAAQ,CAAC,KAAIC,uBAAU,EAACzE,iBAAiB,EAAEkE,MAAM,EAAEnE,MAAM,CAAC,CAAC;IAC/D,IAAI0D,MAAM,EAAE;MACVA,MAAM,CAACiB,2BAA2B,CAACH,YAAY,CAACzB,oBAAoB,CAAC6B,IAAI,CAACJ,YAAY,CAAC,CAAC;IAC1F;IACA,IAAIP,SAAS,EAAEA,SAAS,CAACY,yBAAyB,CAAC,CAACC,6BAAgB,CAAC,CAAC;IAEtE,OAAON,YAAY;EACrB;AACF;AAACO,OAAA,CAAAjF,YAAA,GAAAA,YAAA;AAAAZ,eAAA,CA9JYY,YAAY,aAmFNkF,kBAAW;AAAA9F,eAAA,CAnFjBY,YAAY,kBAqFD,CACpBmF,gBAAS,EACTC,4BAAe,EACfC,kBAAU,EACVC,sBAAY,EACZC,sBAAY,EACZC,kCAAkB,EAClBC,wBAAa,EACbC,cAAQ,EACRC,4BAAe,EACfC,8CAAwB,EACxBC,wBAAa,EACbC,sBAAY,CACb;AA8DHxE,0BAAc,CAACyE,UAAU,CAAC/F,YAAY,CAAC;AAAC,IAAAgG,QAAA,GAAAf,OAAA,CAAA/G,OAAA,GAEzB8B,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["path","data","_interopRequireWildcard","require","_fsExtra","_interopRequireDefault","_aspectLoader","_builder","_cli","_componentIssues","_issues","_constants","_watcher","_envs","_dependencyResolver","_logger","_generator","_pubsub","_ui","_workspace","_compiler","_compiler2","_compiler3","_compiler4","_distArtifact","_exceptions","_types","_workspaceCompiler","_compiler5","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CompilerMain","constructor","pubsub","workspaceCompiler","envs","builder","workspace","dependencyResolver","compilerService","getCompiler","context","compileOnWorkspace","componentsIds","options","initiator","CompilationInitiator","ComponentAdded","noThrow","componentLoadOptions","compileComponents","createTask","name","compiler","CompilerTask","CompilerAspect","id","getDistPathBySrcPath","component","srcPath","environment","getEnv","env","compilerInstance","getRelativeDistFolder","getOrCalculateEnv","getDistDir","DEFAULT_DIST_DIRNAME","isDistDirExists","packageDir","getComponentPackagePath","distDir","pathToCheck","join","fs","existsSync","getDistsFiles","artifacts","getArtifactsVinylByAspect","length","DistArtifactNotFound","DistArtifact","addMissingDistsIssue","components","issuesToIgnore","includes","IssuesClasses","MissingDists","Promise","all","map","exist","state","issues","getOrCreate","provider","cli","loggerMain","aspectLoader","ui","generator","watcher","logger","createLogger","CompilerService","WorkspaceCompiler","registerService","compilerMain","register","CompileCmd","registerAddComponentsIssues","bind","registerComponentTemplate","compilerTemplate","exports","MainRuntime","CLIAspect","WorkspaceAspect","EnvsAspect","LoggerAspect","PubsubAspect","AspectLoaderAspect","BuilderAspect","UIAspect","GeneratorAspect","DependencyResolverAspect","WatcherAspect","IssuesAspect","addRuntime","_default"],"sources":["compiler.main.runtime.ts"],"sourcesContent":["import * as path from 'path';\nimport fs from 'fs-extra';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport { Component } from '@teambit/component';\nimport { DEFAULT_DIST_DIRNAME } from '@teambit/legacy/dist/constants';\nimport { WatcherAspect, WatcherMain } from '@teambit/watcher';\nimport { EnvsAspect, EnvsMain, ExecutionContext } from '@teambit/envs';\nimport { ComponentID } from '@teambit/component-id';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { PubsubAspect, PubsubMain } from '@teambit/pubsub';\nimport { UIAspect, UiMain } from '@teambit/ui';\nimport { Workspace, WorkspaceAspect, WorkspaceComponentLoadOptions } from '@teambit/workspace';\nimport { CompilerAspect } from './compiler.aspect';\nimport { CompileCmd } from './compiler.cmd';\nimport { CompilerService } from './compiler.service';\nimport { CompilerTask } from './compiler.task';\nimport { DistArtifact } from './dist-artifact';\nimport { DistArtifactNotFound } from './exceptions';\nimport { CompilationInitiator, Compiler } from './types';\nimport { CompileOptions, WorkspaceCompiler } from './workspace-compiler';\nimport { compilerTemplate } from './templates/compiler';\n\nexport class CompilerMain {\n constructor(\n private pubsub: PubsubMain,\n private workspaceCompiler: WorkspaceCompiler,\n private envs: EnvsMain,\n private builder: BuilderMain,\n private workspace: Workspace,\n private dependencyResolver: DependencyResolverMain,\n private compilerService: CompilerService\n ) {}\n\n getCompiler(context: ExecutionContext): Compiler {\n return this.compilerService.getCompiler(context);\n }\n\n /**\n * Run compilation on `bit new` and when new components are imported\n */\n compileOnWorkspace(\n componentsIds: string[] | ComponentID[] | ComponentID[] = [], // when empty, it compiles all\n options: CompileOptions = { initiator: CompilationInitiator.ComponentAdded },\n noThrow?: boolean,\n componentLoadOptions: WorkspaceComponentLoadOptions = {}\n ) {\n return this.workspaceCompiler.compileComponents(componentsIds, options, noThrow, componentLoadOptions);\n }\n /**\n * API to create a new compiler task, it facilitates the usage of multiple compilers.\n * with this method you can create any number of compilers and add them to the buildPipeline.\n */\n createTask(name: string, compiler: Compiler): CompilerTask {\n return new CompilerTask(CompilerAspect.id, name, compiler, this.dependencyResolver);\n }\n\n /**\n * find the compiler configured on the workspace and ask for the dist path.\n */\n getDistPathBySrcPath(component: Component, srcPath: string): string | null {\n const environment = this.envs.getEnv(component).env;\n const compilerInstance = environment.getCompiler?.();\n if (!compilerInstance) return null;\n return compilerInstance.getDistPathBySrcPath(srcPath);\n }\n\n /**\n * find the compiler configured on the workspace and ask for the dist folder path.\n */\n getRelativeDistFolder(component: Component): string {\n const environment = this.envs.getOrCalculateEnv(component).env;\n const compilerInstance: Compiler | undefined = environment.getCompiler?.();\n if (!compilerInstance || !compilerInstance.getDistDir) return DEFAULT_DIST_DIRNAME;\n return compilerInstance.getDistDir();\n }\n\n /**\n * Check if the dist folder (in the component package under node_modules) exist\n * @param component\n * @returns\n */\n async isDistDirExists(component: Component): Promise<boolean> {\n const packageDir = await this.workspace.getComponentPackagePath(component);\n const distDir = this.getRelativeDistFolder(component);\n const pathToCheck = path.join(packageDir, distDir);\n return fs.existsSync(pathToCheck);\n }\n\n async getDistsFiles(component: Component): Promise<DistArtifact> {\n const artifacts = await this.builder.getArtifactsVinylByAspect(component, CompilerAspect.id);\n if (!artifacts.length) throw new DistArtifactNotFound(component.id);\n\n return new DistArtifact(artifacts);\n }\n\n async addMissingDistsIssue(components: Component[], issuesToIgnore: string[]): Promise<void> {\n if (issuesToIgnore.includes(IssuesClasses.MissingDists.name)) return;\n await Promise.all(\n components.map(async (component) => {\n const exist = await this.isDistDirExists(component);\n if (!exist) {\n component.state.issues.getOrCreate(IssuesClasses.MissingDists).data = true;\n }\n })\n );\n }\n\n static runtime = MainRuntime;\n\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n EnvsAspect,\n LoggerAspect,\n PubsubAspect,\n AspectLoaderAspect,\n BuilderAspect,\n UIAspect,\n GeneratorAspect,\n DependencyResolverAspect,\n WatcherAspect,\n IssuesAspect,\n ];\n\n static async provider([\n cli,\n workspace,\n envs,\n loggerMain,\n pubsub,\n aspectLoader,\n builder,\n ui,\n generator,\n dependencyResolver,\n watcher,\n issues,\n ]: [\n CLIMain,\n Workspace,\n EnvsMain,\n LoggerMain,\n PubsubMain,\n AspectLoaderMain,\n BuilderMain,\n UiMain,\n GeneratorMain,\n DependencyResolverMain,\n WatcherMain,\n IssuesMain\n ]) {\n const logger = loggerMain.createLogger(CompilerAspect.id);\n const compilerService = new CompilerService();\n\n const workspaceCompiler = new WorkspaceCompiler(\n workspace,\n envs,\n pubsub,\n aspectLoader,\n ui,\n logger,\n dependencyResolver,\n watcher\n );\n envs.registerService(compilerService);\n const compilerMain = new CompilerMain(\n pubsub,\n workspaceCompiler,\n envs,\n builder,\n workspace,\n dependencyResolver,\n compilerService\n );\n cli.register(new CompileCmd(workspaceCompiler, logger, pubsub));\n if (issues) {\n issues.registerAddComponentsIssues(compilerMain.addMissingDistsIssue.bind(compilerMain));\n }\n if (generator) generator.registerComponentTemplate([compilerTemplate]);\n\n return compilerMain;\n }\n}\n\nCompilerAspect.addRuntime(CompilerMain);\n\nexport default CompilerMain;\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.compilation_compiler@1.0.327/dist/compiler.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.compilation_compiler@1.0.327/dist/compiler.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.compilation_compiler@1.0.329/dist/compiler.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.compilation_compiler@1.0.329/dist/compiler.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -2,6 +2,7 @@ import { Component } from '@teambit/component';
2
2
  import { EnvsMain } from '@teambit/envs';
3
3
  import type { PubsubMain } from '@teambit/pubsub';
4
4
  import { SerializableResults, Workspace } from '@teambit/workspace';
5
+ import type { WorkspaceComponentLoadOptions } from '@teambit/workspace';
5
6
  import { WatcherMain, WatchOptions } from '@teambit/watcher';
6
7
  import { ComponentID } from '@teambit/component-id';
7
8
  import { Logger } from '@teambit/logger';
@@ -69,7 +70,7 @@ export declare class WorkspaceCompiler {
69
70
  onComponentChange(component: Component, files: string[], removedFiles: string[] | undefined, watchOpts: WatchOptions): Promise<SerializableResults | void>;
70
71
  onPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions): Promise<void>;
71
72
  compileComponents(componentsIds: string[] | ComponentID[] | ComponentID[], // when empty, it compiles new+modified (unless options.all is set),
72
- options: CompileOptions, noThrow?: boolean): Promise<BuildResult[]>;
73
+ options: CompileOptions, noThrow?: boolean, componentLoadOptions?: WorkspaceComponentLoadOptions): Promise<BuildResult[]>;
73
74
  private runCompileComponents;
74
75
  /**
75
76
  * This function get's a list of aspect ids and return them grouped by whether any of them is the env of other from the list
@@ -360,14 +360,14 @@ class WorkspaceCompiler {
360
360
  }
361
361
  async compileComponents(componentsIds,
362
362
  // when empty, it compiles new+modified (unless options.all is set),
363
- options, noThrow) {
363
+ options, noThrow, componentLoadOptions = {}) {
364
364
  if (!this.workspace) throw new (_workspace().OutsideWorkspaceError)();
365
365
  const componentIds = await this.getIdsToCompile(componentsIds, options.changed);
366
366
  // In case the aspect failed to load, we want to compile it without try to re-load it again
367
- const getManyOpts = options.initiator === _types().CompilationInitiator.AspectLoadFail ? {
368
- loadSeedersAsAspects: false
369
- } : undefined;
370
- const components = await this.workspace.getMany(componentIds, getManyOpts);
367
+ if (options.initiator === _types().CompilationInitiator.AspectLoadFail) {
368
+ componentLoadOptions.loadSeedersAsAspects = false;
369
+ }
370
+ const components = await this.workspace.getMany(componentIds, componentLoadOptions);
371
371
  const grouped = this.groupByIsEnv(components);
372
372
  const envsResults = grouped.envs ? await this.runCompileComponents(grouped.envs, options, noThrow) : [];
373
373
  const otherResults = grouped.other ? await this.runCompileComponents(grouped.other, options, noThrow) : [];
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_workspace","_path","_chalk","_logger","_loader","_constants","_sources","_dataToPersist","_workspaceModules","_componentIdToPackageName","_removePath","_bitRoots","_lodash","_compiler","_events","_types","e","__esModule","default","ComponentCompiler","constructor","pubsub","workspace","component","compilerInstance","compilerId","logger","dependencyResolver","dists","compileErrors","compile","noThrow","options","dataToPersist","deleteDistDir","distDirs","DataToPersist","distDir","removePath","RemovePath","addBasePath","path","persistAllToFS","compilers","canTranspileFile","find","c","transpileFile","canTranspileComponent","transpileComponent","Promise","all","filesystem","files","map","file","compileOneFile","initiator","compileAllFiles","Error","toString","throwOnCompileErrors","addManyFiles","buildResults","distFile","state","_consumer","compiler","loader","succeed","id","errors","length","forEach","errorItem","error","formatError","err","join","pub","CompilerAspect","CompilerErrorEvent","console","message","packageName","componentIdToPackageName","packageDir","distDirName","getDistDir","DEFAULT_DIST_DIRNAME","injectedDirs","getInjectedDirs","dist","rootDirs","readBitRootsDir","rootDir","relative","componentDir","filePath","isFileSupported","compileResults","contents","push","base","result","Dist","outputPath","Buffer","from","outputText","shouldCopyNonSupportedFiles","filesToCompile","outputDir","getComponentPackagePath","exports","WorkspaceCompiler","envs","aspectLoader","ui","watcher","registerOnComponentChange","onComponentChange","bind","registerOnComponentAdd","onComponentAdd","registerOnPreWatch","onPreWatch","registerPreStart","onPreStart","registerOnAspectLoadErrorSlot","onAspectLoadFail","preStartOpts","skipCompilation","compileComponents","changed","verbose","CompilationInitiator","PreStart","watchScopeInternalFiles","code","AspectLoadFail","watchOpts","undefined","removedFiles","Boolean","removeLinksFromNodeModules","ComponentChanged","results","formatCompileResults","componentIds","preCompile","start","Date","now","PreWatch","end","consoleSuccess","componentsIds","OutsideWorkspaceError","getIdsToCompile","getManyOpts","loadSeedersAsAspects","components","getMany","grouped","groupByIsEnv","envsResults","runCompileComponents","otherResults","other","linkComponents","linkToNodeModulesByComponents","componentsCompilers","environment","getEnv","env","getCompiler","compilerName","name","warn","resultOnWorkspace","mapSeries","componentCompiler","envsIds","uniq","getEnvId","filter","envId","isCoreEnv","groupBy","includes","resolveMultipleComponentIds","filterIds","getNewAndModifiedIds","listIds","buildResult","title","chalk","underline","verboseComponentFilesArrayToString","Logger","successSymbol"],"sources":["workspace-compiler.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport mapSeries from 'p-map-series';\nimport { Component } from '@teambit/component';\nimport { EnvsMain } from '@teambit/envs';\nimport type { PubsubMain } from '@teambit/pubsub';\nimport { SerializableResults, Workspace, OutsideWorkspaceError } from '@teambit/workspace';\nimport { WatcherMain, WatchOptions } from '@teambit/watcher';\nimport path from 'path';\nimport chalk from 'chalk';\nimport { ComponentID } from '@teambit/component-id';\nimport { Logger } from '@teambit/logger';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { DEFAULT_DIST_DIRNAME } from '@teambit/legacy/dist/constants';\nimport { AbstractVinyl, Dist } from '@teambit/legacy/dist/consumer/component/sources';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport {\n linkToNodeModulesByComponents,\n removeLinksFromNodeModules,\n} from '@teambit/workspace.modules.node-modules-linker';\nimport { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport RemovePath from '@teambit/legacy/dist/consumer/component/sources/remove-path';\nimport { UiMain } from '@teambit/ui';\nimport { readBitRootsDir } from '@teambit/bit-roots';\nimport { groupBy, uniq } from 'lodash';\nimport type { PreStartOpts } from '@teambit/ui';\nimport { PathOsBasedAbsolute, PathOsBasedRelative } from '@teambit/legacy/dist/utils/path';\nimport { MultiCompiler } from '@teambit/multi-compiler';\nimport { CompilerAspect } from './compiler.aspect';\nimport { CompilerErrorEvent } from './events';\nimport { Compiler, CompilationInitiator } from './types';\n\nexport type BuildResult = {\n component: string;\n buildResults: string[];\n errors: CompileError[];\n};\n\nexport type CompileOptions = {\n changed?: boolean; // compile only new and modified components\n verbose?: boolean; // show more data, such as, dist paths\n /**\n * whether the dist root dir should be deleted before writing new dists.\n * defaults to true for `bit compile` and false everywhere else, such as `bit watch` and `bit\n * start` to avoid webpack \"EINTR\" error.\n */\n deleteDistDir?: boolean;\n initiator: CompilationInitiator; // describes where the compilation is coming from\n // should we create links in node_modules for the compiled components (default = true)\n // this will link the source files, and create the package.json\n linkComponents?: boolean;\n};\n\nexport type CompileError = { path: string; error: Error };\n\nexport class ComponentCompiler {\n constructor(\n private pubsub: PubsubMain,\n private workspace: Workspace,\n private component: Component,\n private compilerInstance: Compiler,\n private compilerId: string,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n private dists: Dist[] = [],\n private compileErrors: CompileError[] = []\n ) {}\n\n async compile(noThrow = true, options: CompileOptions): Promise<BuildResult> {\n let dataToPersist;\n const deleteDistDir = options.deleteDistDir ?? this.compilerInstance.deleteDistDir;\n const distDirs = await this.distDirs();\n // delete dist folder before transpilation (because some compilers (like ngPackagr) can generate files there during the compilation process)\n if (deleteDistDir) {\n dataToPersist = new DataToPersist();\n for (const distDir of distDirs) {\n dataToPersist.removePath(new RemovePath(distDir));\n }\n dataToPersist.addBasePath(this.workspace.path);\n await dataToPersist.persistAllToFS();\n }\n\n const compilers: Compiler[] = (this.compilerInstance as MultiCompiler).compilers\n ? (this.compilerInstance as MultiCompiler).compilers\n : [this.compilerInstance];\n const canTranspileFile = compilers.find((c) => c.transpileFile);\n const canTranspileComponent = compilers.find((c) => c.transpileComponent);\n\n if (canTranspileFile) {\n await Promise.all(\n this.component.filesystem.files.map((file: AbstractVinyl) =>\n this.compileOneFile(file, options.initiator, distDirs)\n )\n );\n }\n\n if (canTranspileComponent) {\n await this.compileAllFiles(this.component, options.initiator, distDirs);\n }\n\n if (!canTranspileFile && !canTranspileComponent) {\n throw new Error(\n `compiler ${this.compilerId.toString()} doesn't implement either \"transpileFile\" or \"transpileComponent\" methods`\n );\n }\n this.throwOnCompileErrors(noThrow);\n\n // writing the dists with `component.setDists(dists); component.dists.writeDists` is tricky\n // as it uses other base-paths and doesn't respect the new node-modules base path.\n dataToPersist = new DataToPersist();\n dataToPersist.addManyFiles(this.dists);\n dataToPersist.addBasePath(this.workspace.path);\n await dataToPersist.persistAllToFS();\n const buildResults = this.dists.map((distFile) => distFile.path);\n if (this.component.state._consumer.compiler) loader.succeed();\n\n return { component: this.component.id.toString(), buildResults, errors: this.compileErrors };\n }\n\n private throwOnCompileErrors(noThrow = true) {\n if (this.compileErrors.length) {\n this.compileErrors.forEach((errorItem) => {\n this.logger.error(`compilation error at ${errorItem.path}`, errorItem.error);\n });\n const formatError = (errorItem) => `${errorItem.path}\\n${errorItem.error}`;\n const err = new Error(`compilation failed. see the following errors from the compiler\n${this.compileErrors.map(formatError).join('\\n')}`);\n\n this.pubsub.pub(CompilerAspect.id, new CompilerErrorEvent(err));\n\n if (!noThrow) {\n throw err;\n }\n\n this.logger.console(err.message);\n }\n }\n\n private async distDirs(): Promise<PathOsBasedRelative[]> {\n const packageName = componentIdToPackageName(this.component.state._consumer);\n const packageDir = path.join('node_modules', packageName);\n const distDirName = this.compilerInstance.getDistDir?.() || DEFAULT_DIST_DIRNAME;\n const injectedDirs = await this.getInjectedDirs(packageName);\n return [packageDir, ...injectedDirs].map((dist) => path.join(dist, distDirName));\n }\n\n private async getInjectedDirs(packageName: string): Promise<string[]> {\n const injectedDirs = await this.workspace.getInjectedDirs(this.component);\n if (injectedDirs.length > 0) return injectedDirs;\n\n const rootDirs = await readBitRootsDir(this.workspace.path);\n return rootDirs.map((rootDir) => path.relative(this.workspace.path, path.join(rootDir, packageName)));\n }\n\n private get componentDir(): PathOsBasedAbsolute {\n return this.workspace.componentDir(this.component.id);\n }\n\n private async compileOneFile(\n file: AbstractVinyl,\n initiator: CompilationInitiator,\n distDirs: PathOsBasedRelative[]\n ): Promise<void> {\n const options = { componentDir: this.componentDir, filePath: file.relative, initiator };\n const isFileSupported = this.compilerInstance.isFileSupported(file.path);\n let compileResults;\n if (isFileSupported) {\n try {\n compileResults = await this.compilerInstance.transpileFile?.(file.contents.toString(), options);\n } catch (error: any) {\n this.compileErrors.push({ path: file.path, error });\n return;\n }\n }\n for (const base of distDirs) {\n if (isFileSupported && compileResults) {\n this.dists.push(\n ...compileResults.map(\n (result) =>\n new Dist({\n base,\n path: path.join(base, result.outputPath),\n contents: Buffer.from(result.outputText),\n })\n )\n );\n } else if (this.compilerInstance.shouldCopyNonSupportedFiles) {\n // compiler doesn't support this file type. copy the file as is to the dist dir.\n this.dists.push(new Dist({ base, path: path.join(base, file.relative), contents: file.contents }));\n }\n }\n }\n\n private async compileAllFiles(\n component: Component,\n initiator: CompilationInitiator,\n distDirs: PathOsBasedRelative[]\n ): Promise<void> {\n const filesToCompile: AbstractVinyl[] = [];\n for (const base of distDirs) {\n component.filesystem.files.forEach((file: AbstractVinyl) => {\n const isFileSupported = this.compilerInstance.isFileSupported(file.path);\n if (isFileSupported) {\n filesToCompile.push(file);\n } else if (this.compilerInstance.shouldCopyNonSupportedFiles) {\n // compiler doesn't support this file type. copy the file as is to the dist dir.\n this.dists.push(\n new Dist({\n base,\n path: path.join(base, file.relative),\n contents: file.contents,\n })\n );\n }\n });\n }\n\n if (filesToCompile.length) {\n try {\n await this.compilerInstance.transpileComponent?.({\n component,\n componentDir: this.componentDir,\n outputDir: await this.workspace.getComponentPackagePath(component),\n initiator,\n });\n } catch (error: any) {\n this.compileErrors.push({ path: this.componentDir, error });\n }\n }\n }\n}\n\nexport class WorkspaceCompiler {\n constructor(\n private workspace: Workspace,\n private envs: EnvsMain,\n private pubsub: PubsubMain,\n private aspectLoader: AspectLoaderMain,\n private ui: UiMain,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n private watcher: WatcherMain\n ) {\n if (this.workspace) {\n this.workspace.registerOnComponentChange(this.onComponentChange.bind(this));\n this.workspace.registerOnComponentAdd(this.onComponentAdd.bind(this));\n this.watcher.registerOnPreWatch(this.onPreWatch.bind(this));\n }\n this.ui.registerPreStart(this.onPreStart.bind(this));\n if (this.aspectLoader) {\n this.aspectLoader.registerOnAspectLoadErrorSlot(this.onAspectLoadFail.bind(this));\n }\n }\n\n async onPreStart(preStartOpts: PreStartOpts): Promise<void> {\n if (this.workspace) {\n if (preStartOpts.skipCompilation) {\n return;\n }\n await this.compileComponents([], {\n changed: true,\n verbose: false,\n deleteDistDir: false,\n initiator: CompilationInitiator.PreStart,\n });\n } else {\n await this.watcher.watchScopeInternalFiles();\n }\n }\n\n async onAspectLoadFail(err: Error & { code?: string }, id: ComponentID): Promise<boolean> {\n if (err.code && err.code === 'MODULE_NOT_FOUND' && this.workspace) {\n await this.compileComponents([id.toString()], { initiator: CompilationInitiator.AspectLoadFail }, true);\n return true;\n }\n return false;\n }\n\n async onComponentAdd(component: Component, files: string[], watchOpts: WatchOptions) {\n return this.onComponentChange(component, files, undefined, watchOpts);\n }\n\n async onComponentChange(\n component: Component,\n files: string[],\n removedFiles: string[] = [],\n watchOpts: WatchOptions\n ): Promise<SerializableResults | void> {\n if (!watchOpts.compile) return undefined;\n // when files are removed, we need to remove the dist directories and the old symlinks, otherwise, it has\n // symlinks to non-exist files and the dist has stale files\n const deleteDistDir = Boolean(removedFiles?.length);\n if (removedFiles?.length) {\n await removeLinksFromNodeModules(component, this.workspace, removedFiles);\n }\n const buildResults = await this.compileComponents(\n [component.id.toString()],\n { initiator: watchOpts.initiator || CompilationInitiator.ComponentChanged, deleteDistDir },\n true\n );\n return {\n results: buildResults,\n toString() {\n return formatCompileResults(buildResults, watchOpts.verbose);\n },\n };\n }\n\n async onPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions) {\n if (watchOpts.preCompile) {\n const start = Date.now();\n this.logger.console(`compiling ${componentIds.length} components`);\n await this.compileComponents(\n componentIds.map((id) => id),\n { initiator: CompilationInitiator.PreWatch }\n );\n const end = Date.now() - start;\n this.logger.consoleSuccess(`compiled ${componentIds.length} components successfully (${end / 1000} sec)`);\n }\n }\n\n async compileComponents(\n componentsIds: string[] | ComponentID[] | ComponentID[], // when empty, it compiles new+modified (unless options.all is set),\n options: CompileOptions,\n noThrow?: boolean\n ): Promise<BuildResult[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const componentIds = await this.getIdsToCompile(componentsIds, options.changed);\n // In case the aspect failed to load, we want to compile it without try to re-load it again\n const getManyOpts =\n options.initiator === CompilationInitiator.AspectLoadFail ? { loadSeedersAsAspects: false } : undefined;\n const components = await this.workspace.getMany(componentIds, getManyOpts);\n const grouped = this.groupByIsEnv(components);\n const envsResults = grouped.envs ? await this.runCompileComponents(grouped.envs, options, noThrow) : [];\n const otherResults = grouped.other ? await this.runCompileComponents(grouped.other, options, noThrow) : [];\n const linkComponents = options.linkComponents ?? true;\n if (linkComponents) {\n await linkToNodeModulesByComponents(components, this.workspace);\n }\n return [...envsResults, ...otherResults];\n }\n\n private async runCompileComponents(\n components: Component[],\n options: CompileOptions,\n noThrow?: boolean\n ): Promise<BuildResult[]> {\n const componentsCompilers: ComponentCompiler[] = [];\n\n components.forEach((c) => {\n const environment = this.envs.getEnv(c).env;\n const compilerInstance = environment.getCompiler?.();\n\n if (compilerInstance) {\n const compilerName = compilerInstance.constructor.name || 'compiler';\n componentsCompilers.push(\n new ComponentCompiler(\n this.pubsub,\n this.workspace,\n c,\n compilerInstance,\n compilerName,\n this.logger,\n this.dependencyResolver\n )\n );\n } else {\n this.logger.warn(`unable to find a compiler instance for ${c.id.toString()}`);\n }\n });\n const resultOnWorkspace = await mapSeries(componentsCompilers, (componentCompiler) =>\n componentCompiler.compile(noThrow, options)\n );\n\n return resultOnWorkspace;\n }\n\n /**\n * This function get's a list of aspect ids and return them grouped by whether any of them is the env of other from the list\n * @param ids\n */\n groupByIsEnv(components: Component[]): { envs?: Component[]; other?: Component[] } {\n const envsIds = uniq(\n components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId))\n );\n const grouped = groupBy(components, (component) => {\n if (envsIds.includes(component.id.toString())) return 'envs';\n return 'other';\n });\n return grouped as { envs: Component[]; other: Component[] };\n }\n\n private async getIdsToCompile(componentsIds: Array<string | ComponentID>, changed = false): Promise<ComponentID[]> {\n if (componentsIds.length) {\n const componentIds = await this.workspace.resolveMultipleComponentIds(componentsIds);\n return this.workspace.filterIds(componentIds);\n }\n if (changed) {\n return this.workspace.getNewAndModifiedIds();\n }\n return this.workspace.listIds();\n }\n}\n\nfunction formatCompileResults(buildResults: BuildResult[], verbose?: boolean) {\n if (!buildResults.length) return '';\n // this gets called when a file is changed, so the buildResults array always has only one item\n const buildResult = buildResults[0];\n const title = ` ${chalk.underline('STATUS\\tCOMPONENT ID')}`;\n const verboseComponentFilesArrayToString = () => {\n return buildResult.buildResults.map((filePath) => ` \\t - ${filePath}`).join('\\n');\n };\n\n return `${title}\n ${Logger.successSymbol()}SUCCESS\\t${buildResult.component}\\n\n ${verbose ? `${verboseComponentFilesArrayToString()}\\n` : ''}`;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_workspace","_path","_chalk","_logger","_loader","_constants","_sources","_dataToPersist","_workspaceModules","_componentIdToPackageName","_removePath","_bitRoots","_lodash","_compiler","_events","_types","e","__esModule","default","ComponentCompiler","constructor","pubsub","workspace","component","compilerInstance","compilerId","logger","dependencyResolver","dists","compileErrors","compile","noThrow","options","dataToPersist","deleteDistDir","distDirs","DataToPersist","distDir","removePath","RemovePath","addBasePath","path","persistAllToFS","compilers","canTranspileFile","find","c","transpileFile","canTranspileComponent","transpileComponent","Promise","all","filesystem","files","map","file","compileOneFile","initiator","compileAllFiles","Error","toString","throwOnCompileErrors","addManyFiles","buildResults","distFile","state","_consumer","compiler","loader","succeed","id","errors","length","forEach","errorItem","error","formatError","err","join","pub","CompilerAspect","CompilerErrorEvent","console","message","packageName","componentIdToPackageName","packageDir","distDirName","getDistDir","DEFAULT_DIST_DIRNAME","injectedDirs","getInjectedDirs","dist","rootDirs","readBitRootsDir","rootDir","relative","componentDir","filePath","isFileSupported","compileResults","contents","push","base","result","Dist","outputPath","Buffer","from","outputText","shouldCopyNonSupportedFiles","filesToCompile","outputDir","getComponentPackagePath","exports","WorkspaceCompiler","envs","aspectLoader","ui","watcher","registerOnComponentChange","onComponentChange","bind","registerOnComponentAdd","onComponentAdd","registerOnPreWatch","onPreWatch","registerPreStart","onPreStart","registerOnAspectLoadErrorSlot","onAspectLoadFail","preStartOpts","skipCompilation","compileComponents","changed","verbose","CompilationInitiator","PreStart","watchScopeInternalFiles","code","AspectLoadFail","watchOpts","undefined","removedFiles","Boolean","removeLinksFromNodeModules","ComponentChanged","results","formatCompileResults","componentIds","preCompile","start","Date","now","PreWatch","end","consoleSuccess","componentsIds","componentLoadOptions","OutsideWorkspaceError","getIdsToCompile","loadSeedersAsAspects","components","getMany","grouped","groupByIsEnv","envsResults","runCompileComponents","otherResults","other","linkComponents","linkToNodeModulesByComponents","componentsCompilers","environment","getEnv","env","getCompiler","compilerName","name","warn","resultOnWorkspace","mapSeries","componentCompiler","envsIds","uniq","getEnvId","filter","envId","isCoreEnv","groupBy","includes","resolveMultipleComponentIds","filterIds","getNewAndModifiedIds","listIds","buildResult","title","chalk","underline","verboseComponentFilesArrayToString","Logger","successSymbol"],"sources":["workspace-compiler.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport mapSeries from 'p-map-series';\nimport { Component } from '@teambit/component';\nimport { EnvsMain } from '@teambit/envs';\nimport type { PubsubMain } from '@teambit/pubsub';\nimport { SerializableResults, Workspace, OutsideWorkspaceError } from '@teambit/workspace';\nimport type { WorkspaceComponentLoadOptions } from '@teambit/workspace';\nimport { WatcherMain, WatchOptions } from '@teambit/watcher';\nimport path from 'path';\nimport chalk from 'chalk';\nimport { ComponentID } from '@teambit/component-id';\nimport { Logger } from '@teambit/logger';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { DEFAULT_DIST_DIRNAME } from '@teambit/legacy/dist/constants';\nimport { AbstractVinyl, Dist } from '@teambit/legacy/dist/consumer/component/sources';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport {\n linkToNodeModulesByComponents,\n removeLinksFromNodeModules,\n} from '@teambit/workspace.modules.node-modules-linker';\nimport { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport RemovePath from '@teambit/legacy/dist/consumer/component/sources/remove-path';\nimport { UiMain } from '@teambit/ui';\nimport { readBitRootsDir } from '@teambit/bit-roots';\nimport { groupBy, uniq } from 'lodash';\nimport type { PreStartOpts } from '@teambit/ui';\nimport { PathOsBasedAbsolute, PathOsBasedRelative } from '@teambit/legacy/dist/utils/path';\nimport { MultiCompiler } from '@teambit/multi-compiler';\nimport { CompilerAspect } from './compiler.aspect';\nimport { CompilerErrorEvent } from './events';\nimport { Compiler, CompilationInitiator } from './types';\n\nexport type BuildResult = {\n component: string;\n buildResults: string[];\n errors: CompileError[];\n};\n\nexport type CompileOptions = {\n changed?: boolean; // compile only new and modified components\n verbose?: boolean; // show more data, such as, dist paths\n /**\n * whether the dist root dir should be deleted before writing new dists.\n * defaults to true for `bit compile` and false everywhere else, such as `bit watch` and `bit\n * start` to avoid webpack \"EINTR\" error.\n */\n deleteDistDir?: boolean;\n initiator: CompilationInitiator; // describes where the compilation is coming from\n // should we create links in node_modules for the compiled components (default = true)\n // this will link the source files, and create the package.json\n linkComponents?: boolean;\n};\n\nexport type CompileError = { path: string; error: Error };\n\nexport class ComponentCompiler {\n constructor(\n private pubsub: PubsubMain,\n private workspace: Workspace,\n private component: Component,\n private compilerInstance: Compiler,\n private compilerId: string,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n private dists: Dist[] = [],\n private compileErrors: CompileError[] = []\n ) {}\n\n async compile(noThrow = true, options: CompileOptions): Promise<BuildResult> {\n let dataToPersist;\n const deleteDistDir = options.deleteDistDir ?? this.compilerInstance.deleteDistDir;\n const distDirs = await this.distDirs();\n // delete dist folder before transpilation (because some compilers (like ngPackagr) can generate files there during the compilation process)\n if (deleteDistDir) {\n dataToPersist = new DataToPersist();\n for (const distDir of distDirs) {\n dataToPersist.removePath(new RemovePath(distDir));\n }\n dataToPersist.addBasePath(this.workspace.path);\n await dataToPersist.persistAllToFS();\n }\n\n const compilers: Compiler[] = (this.compilerInstance as MultiCompiler).compilers\n ? (this.compilerInstance as MultiCompiler).compilers\n : [this.compilerInstance];\n const canTranspileFile = compilers.find((c) => c.transpileFile);\n const canTranspileComponent = compilers.find((c) => c.transpileComponent);\n\n if (canTranspileFile) {\n await Promise.all(\n this.component.filesystem.files.map((file: AbstractVinyl) =>\n this.compileOneFile(file, options.initiator, distDirs)\n )\n );\n }\n\n if (canTranspileComponent) {\n await this.compileAllFiles(this.component, options.initiator, distDirs);\n }\n\n if (!canTranspileFile && !canTranspileComponent) {\n throw new Error(\n `compiler ${this.compilerId.toString()} doesn't implement either \"transpileFile\" or \"transpileComponent\" methods`\n );\n }\n this.throwOnCompileErrors(noThrow);\n\n // writing the dists with `component.setDists(dists); component.dists.writeDists` is tricky\n // as it uses other base-paths and doesn't respect the new node-modules base path.\n dataToPersist = new DataToPersist();\n dataToPersist.addManyFiles(this.dists);\n dataToPersist.addBasePath(this.workspace.path);\n await dataToPersist.persistAllToFS();\n const buildResults = this.dists.map((distFile) => distFile.path);\n if (this.component.state._consumer.compiler) loader.succeed();\n\n return { component: this.component.id.toString(), buildResults, errors: this.compileErrors };\n }\n\n private throwOnCompileErrors(noThrow = true) {\n if (this.compileErrors.length) {\n this.compileErrors.forEach((errorItem) => {\n this.logger.error(`compilation error at ${errorItem.path}`, errorItem.error);\n });\n const formatError = (errorItem) => `${errorItem.path}\\n${errorItem.error}`;\n const err = new Error(`compilation failed. see the following errors from the compiler\n${this.compileErrors.map(formatError).join('\\n')}`);\n\n this.pubsub.pub(CompilerAspect.id, new CompilerErrorEvent(err));\n\n if (!noThrow) {\n throw err;\n }\n\n this.logger.console(err.message);\n }\n }\n\n private async distDirs(): Promise<PathOsBasedRelative[]> {\n const packageName = componentIdToPackageName(this.component.state._consumer);\n const packageDir = path.join('node_modules', packageName);\n const distDirName = this.compilerInstance.getDistDir?.() || DEFAULT_DIST_DIRNAME;\n const injectedDirs = await this.getInjectedDirs(packageName);\n return [packageDir, ...injectedDirs].map((dist) => path.join(dist, distDirName));\n }\n\n private async getInjectedDirs(packageName: string): Promise<string[]> {\n const injectedDirs = await this.workspace.getInjectedDirs(this.component);\n if (injectedDirs.length > 0) return injectedDirs;\n\n const rootDirs = await readBitRootsDir(this.workspace.path);\n return rootDirs.map((rootDir) => path.relative(this.workspace.path, path.join(rootDir, packageName)));\n }\n\n private get componentDir(): PathOsBasedAbsolute {\n return this.workspace.componentDir(this.component.id);\n }\n\n private async compileOneFile(\n file: AbstractVinyl,\n initiator: CompilationInitiator,\n distDirs: PathOsBasedRelative[]\n ): Promise<void> {\n const options = { componentDir: this.componentDir, filePath: file.relative, initiator };\n const isFileSupported = this.compilerInstance.isFileSupported(file.path);\n let compileResults;\n if (isFileSupported) {\n try {\n compileResults = await this.compilerInstance.transpileFile?.(file.contents.toString(), options);\n } catch (error: any) {\n this.compileErrors.push({ path: file.path, error });\n return;\n }\n }\n for (const base of distDirs) {\n if (isFileSupported && compileResults) {\n this.dists.push(\n ...compileResults.map(\n (result) =>\n new Dist({\n base,\n path: path.join(base, result.outputPath),\n contents: Buffer.from(result.outputText),\n })\n )\n );\n } else if (this.compilerInstance.shouldCopyNonSupportedFiles) {\n // compiler doesn't support this file type. copy the file as is to the dist dir.\n this.dists.push(new Dist({ base, path: path.join(base, file.relative), contents: file.contents }));\n }\n }\n }\n\n private async compileAllFiles(\n component: Component,\n initiator: CompilationInitiator,\n distDirs: PathOsBasedRelative[]\n ): Promise<void> {\n const filesToCompile: AbstractVinyl[] = [];\n for (const base of distDirs) {\n component.filesystem.files.forEach((file: AbstractVinyl) => {\n const isFileSupported = this.compilerInstance.isFileSupported(file.path);\n if (isFileSupported) {\n filesToCompile.push(file);\n } else if (this.compilerInstance.shouldCopyNonSupportedFiles) {\n // compiler doesn't support this file type. copy the file as is to the dist dir.\n this.dists.push(\n new Dist({\n base,\n path: path.join(base, file.relative),\n contents: file.contents,\n })\n );\n }\n });\n }\n\n if (filesToCompile.length) {\n try {\n await this.compilerInstance.transpileComponent?.({\n component,\n componentDir: this.componentDir,\n outputDir: await this.workspace.getComponentPackagePath(component),\n initiator,\n });\n } catch (error: any) {\n this.compileErrors.push({ path: this.componentDir, error });\n }\n }\n }\n}\n\nexport class WorkspaceCompiler {\n constructor(\n private workspace: Workspace,\n private envs: EnvsMain,\n private pubsub: PubsubMain,\n private aspectLoader: AspectLoaderMain,\n private ui: UiMain,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n private watcher: WatcherMain\n ) {\n if (this.workspace) {\n this.workspace.registerOnComponentChange(this.onComponentChange.bind(this));\n this.workspace.registerOnComponentAdd(this.onComponentAdd.bind(this));\n this.watcher.registerOnPreWatch(this.onPreWatch.bind(this));\n }\n this.ui.registerPreStart(this.onPreStart.bind(this));\n if (this.aspectLoader) {\n this.aspectLoader.registerOnAspectLoadErrorSlot(this.onAspectLoadFail.bind(this));\n }\n }\n\n async onPreStart(preStartOpts: PreStartOpts): Promise<void> {\n if (this.workspace) {\n if (preStartOpts.skipCompilation) {\n return;\n }\n await this.compileComponents([], {\n changed: true,\n verbose: false,\n deleteDistDir: false,\n initiator: CompilationInitiator.PreStart,\n });\n } else {\n await this.watcher.watchScopeInternalFiles();\n }\n }\n\n async onAspectLoadFail(err: Error & { code?: string }, id: ComponentID): Promise<boolean> {\n if (err.code && err.code === 'MODULE_NOT_FOUND' && this.workspace) {\n await this.compileComponents([id.toString()], { initiator: CompilationInitiator.AspectLoadFail }, true);\n return true;\n }\n return false;\n }\n\n async onComponentAdd(component: Component, files: string[], watchOpts: WatchOptions) {\n return this.onComponentChange(component, files, undefined, watchOpts);\n }\n\n async onComponentChange(\n component: Component,\n files: string[],\n removedFiles: string[] = [],\n watchOpts: WatchOptions\n ): Promise<SerializableResults | void> {\n if (!watchOpts.compile) return undefined;\n // when files are removed, we need to remove the dist directories and the old symlinks, otherwise, it has\n // symlinks to non-exist files and the dist has stale files\n const deleteDistDir = Boolean(removedFiles?.length);\n if (removedFiles?.length) {\n await removeLinksFromNodeModules(component, this.workspace, removedFiles);\n }\n const buildResults = await this.compileComponents(\n [component.id.toString()],\n { initiator: watchOpts.initiator || CompilationInitiator.ComponentChanged, deleteDistDir },\n true\n );\n return {\n results: buildResults,\n toString() {\n return formatCompileResults(buildResults, watchOpts.verbose);\n },\n };\n }\n\n async onPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions) {\n if (watchOpts.preCompile) {\n const start = Date.now();\n this.logger.console(`compiling ${componentIds.length} components`);\n await this.compileComponents(\n componentIds.map((id) => id),\n { initiator: CompilationInitiator.PreWatch }\n );\n const end = Date.now() - start;\n this.logger.consoleSuccess(`compiled ${componentIds.length} components successfully (${end / 1000} sec)`);\n }\n }\n\n async compileComponents(\n componentsIds: string[] | ComponentID[] | ComponentID[], // when empty, it compiles new+modified (unless options.all is set),\n options: CompileOptions,\n noThrow?: boolean,\n componentLoadOptions: WorkspaceComponentLoadOptions = {}\n ): Promise<BuildResult[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const componentIds = await this.getIdsToCompile(componentsIds, options.changed);\n // In case the aspect failed to load, we want to compile it without try to re-load it again\n if (options.initiator === CompilationInitiator.AspectLoadFail) {\n componentLoadOptions.loadSeedersAsAspects = false;\n }\n const components = await this.workspace.getMany(componentIds, componentLoadOptions);\n const grouped = this.groupByIsEnv(components);\n const envsResults = grouped.envs ? await this.runCompileComponents(grouped.envs, options, noThrow) : [];\n const otherResults = grouped.other ? await this.runCompileComponents(grouped.other, options, noThrow) : [];\n const linkComponents = options.linkComponents ?? true;\n if (linkComponents) {\n await linkToNodeModulesByComponents(components, this.workspace);\n }\n return [...envsResults, ...otherResults];\n }\n\n private async runCompileComponents(\n components: Component[],\n options: CompileOptions,\n noThrow?: boolean\n ): Promise<BuildResult[]> {\n const componentsCompilers: ComponentCompiler[] = [];\n\n components.forEach((c) => {\n const environment = this.envs.getEnv(c).env;\n const compilerInstance = environment.getCompiler?.();\n\n if (compilerInstance) {\n const compilerName = compilerInstance.constructor.name || 'compiler';\n componentsCompilers.push(\n new ComponentCompiler(\n this.pubsub,\n this.workspace,\n c,\n compilerInstance,\n compilerName,\n this.logger,\n this.dependencyResolver\n )\n );\n } else {\n this.logger.warn(`unable to find a compiler instance for ${c.id.toString()}`);\n }\n });\n const resultOnWorkspace = await mapSeries(componentsCompilers, (componentCompiler) =>\n componentCompiler.compile(noThrow, options)\n );\n\n return resultOnWorkspace;\n }\n\n /**\n * This function get's a list of aspect ids and return them grouped by whether any of them is the env of other from the list\n * @param ids\n */\n groupByIsEnv(components: Component[]): { envs?: Component[]; other?: Component[] } {\n const envsIds = uniq(\n components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId))\n );\n const grouped = groupBy(components, (component) => {\n if (envsIds.includes(component.id.toString())) return 'envs';\n return 'other';\n });\n return grouped as { envs: Component[]; other: Component[] };\n }\n\n private async getIdsToCompile(componentsIds: Array<string | ComponentID>, changed = false): Promise<ComponentID[]> {\n if (componentsIds.length) {\n const componentIds = await this.workspace.resolveMultipleComponentIds(componentsIds);\n return this.workspace.filterIds(componentIds);\n }\n if (changed) {\n return this.workspace.getNewAndModifiedIds();\n }\n return this.workspace.listIds();\n }\n}\n\nfunction formatCompileResults(buildResults: BuildResult[], verbose?: boolean) {\n if (!buildResults.length) return '';\n // this gets called when a file is changed, so the buildResults array always has only one item\n const buildResult = buildResults[0];\n const title = ` ${chalk.underline('STATUS\\tCOMPONENT ID')}`;\n const verboseComponentFilesArrayToString = () => {\n return buildResult.buildResults.map((filePath) => ` \\t - ${filePath}`).join('\\n');\n };\n\n return `${title}\n ${Logger.successSymbol()}SUCCESS\\t${buildResult.component}\\n\n ${verbose ? `${verboseComponentFilesArrayToString()}\\n` : ''}`;\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/compiler",
3
- "version": "1.0.327",
3
+ "version": "1.0.329",
4
4
  "homepage": "https://bit.cloud/teambit/compilation/compiler",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.compilation",
8
8
  "name": "compiler",
9
- "version": "1.0.327"
9
+ "version": "1.0.329"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -19,23 +19,23 @@
19
19
  "@teambit/component-id": "1.2.0",
20
20
  "@teambit/bit-roots": "0.0.133",
21
21
  "@teambit/bit-error": "0.0.404",
22
- "@teambit/envs": "1.0.327",
23
- "@teambit/cli": "0.0.904",
24
- "@teambit/logger": "0.0.997",
25
- "@teambit/pubsub": "1.0.327",
26
- "@teambit/aspect-loader": "1.0.327",
27
- "@teambit/builder": "1.0.327",
22
+ "@teambit/envs": "1.0.329",
23
+ "@teambit/cli": "0.0.906",
24
+ "@teambit/logger": "0.0.999",
25
+ "@teambit/pubsub": "1.0.329",
26
+ "@teambit/aspect-loader": "1.0.329",
27
+ "@teambit/builder": "1.0.329",
28
28
  "@teambit/component-issues": "0.0.149",
29
- "@teambit/component": "1.0.327",
30
- "@teambit/dependency-resolver": "1.0.327",
31
- "@teambit/generator": "1.0.328",
32
- "@teambit/issues": "1.0.327",
33
- "@teambit/ui": "1.0.327",
34
- "@teambit/watcher": "1.0.327",
35
- "@teambit/workspace": "1.0.327",
36
- "@teambit/isolator": "1.0.327",
29
+ "@teambit/component": "1.0.329",
30
+ "@teambit/dependency-resolver": "1.0.329",
31
+ "@teambit/generator": "1.0.330",
32
+ "@teambit/issues": "1.0.329",
33
+ "@teambit/ui": "1.0.329",
34
+ "@teambit/watcher": "1.0.329",
35
+ "@teambit/workspace": "1.0.329",
36
+ "@teambit/isolator": "1.0.329",
37
37
  "@teambit/toolbox.fs.hard-link-directory": "0.0.21",
38
- "@teambit/multi-compiler": "1.0.327",
38
+ "@teambit/multi-compiler": "1.0.329",
39
39
  "@teambit/workspace.modules.node-modules-linker": "0.0.174"
40
40
  },
41
41
  "devDependencies": {