@teambit/compiler 1.0.106 → 1.0.108

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.
@@ -3,7 +3,7 @@ import { Capsule } from '@teambit/isolator';
3
3
  import { EnvContext, EnvHandler } from '@teambit/envs';
4
4
  import { DependencyResolverMain } from '@teambit/dependency-resolver';
5
5
  import { Compiler } from './types';
6
- export declare type CompilerTaskOptions = {
6
+ export type CompilerTaskOptions = {
7
7
  /**
8
8
  * instance of compiler to use.
9
9
  */
@@ -2,5 +2,5 @@ import { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';
2
2
  export declare class DistArtifact {
3
3
  private artifacts;
4
4
  constructor(artifacts: AbstractVinyl[]);
5
- getFile(path: string): AbstractVinyl | undefined;
5
+ getFile(path: string): AbstractVinyl;
6
6
  }
@@ -20,9 +20,8 @@ const formatCompileResults = (compileResults, verbose) => compileResults.map(com
20
20
  })).reduce((outputString, result) => {
21
21
  outputString += `${result.icon} ${result.status}\t${result.componentId}`;
22
22
  if (verbose) {
23
- var _result$files;
24
23
  outputString += ':';
25
- outputString += result === null || result === void 0 || (_result$files = result.files) === null || _result$files === void 0 ? void 0 : _result$files.reduce((fileList, file) => `${fileList}\t\t - ${file}\n`, '\n');
24
+ outputString += result?.files?.reduce((fileList, file) => `${fileList}\t\t - ${file}\n`, '\n');
26
25
  }
27
26
  outputString += '\n';
28
27
  return outputString;
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","obj","__esModule","default","formatCompileResults","compileResults","verbose","map","componentResult","componentId","component","id","fullName","files","buildResults","status","errors","length","icon","chalk","red","green","reduce","outputString","result","_result$files","fileList","file","exports"],"sources":["output-formatter.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { ComponentsStatus } from './compiler.cmd';\n\nexport const formatCompileResults = (compileResults: ComponentsStatus[], verbose: boolean) =>\n compileResults\n .map((componentResult: ComponentsStatus) => ({\n componentId: componentResult.component.id.fullName,\n files: componentResult.buildResults,\n status: componentResult.errors.length ? 'FAILURE' : 'SUCCESS',\n icon: componentResult.errors.length ? chalk.red('✗') : chalk.green('✔'),\n }))\n .reduce((outputString, result) => {\n outputString += `${result.icon} ${result.status}\\t${result.componentId}`;\n if (verbose) {\n outputString += ':';\n outputString += result?.files?.reduce((fileList, file) => `${fileList}\\t\\t - ${file}\\n`, '\\n');\n }\n outputString += '\\n';\n return outputString;\n }, '');\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAGnB,MAAMG,oBAAoB,GAAGA,CAACC,cAAkC,EAAEC,OAAgB,KACvFD,cAAc,CACXE,GAAG,CAAEC,eAAiC,KAAM;EAC3CC,WAAW,EAAED,eAAe,CAACE,SAAS,CAACC,EAAE,CAACC,QAAQ;EAClDC,KAAK,EAAEL,eAAe,CAACM,YAAY;EACnCC,MAAM,EAAEP,eAAe,CAACQ,MAAM,CAACC,MAAM,GAAG,SAAS,GAAG,SAAS;EAC7DC,IAAI,EAAEV,eAAe,CAACQ,MAAM,CAACC,MAAM,GAAGE,gBAAK,CAACC,GAAG,CAAC,GAAG,CAAC,GAAGD,gBAAK,CAACE,KAAK,CAAC,GAAG;AACxE,CAAC,CAAC,CAAC,CACFC,MAAM,CAAC,CAACC,YAAY,EAAEC,MAAM,KAAK;EAChCD,YAAY,IAAK,GAAEC,MAAM,CAACN,IAAK,IAAGM,MAAM,CAACT,MAAO,KAAIS,MAAM,CAACf,WAAY,EAAC;EACxE,IAAIH,OAAO,EAAE;IAAA,IAAAmB,aAAA;IACXF,YAAY,IAAI,GAAG;IACnBA,YAAY,IAAIC,MAAM,aAANA,MAAM,gBAAAC,aAAA,GAAND,MAAM,CAAEX,KAAK,cAAAY,aAAA,uBAAbA,aAAA,CAAeH,MAAM,CAAC,CAACI,QAAQ,EAAEC,IAAI,KAAM,GAAED,QAAS,UAASC,IAAK,IAAG,EAAE,IAAI,CAAC;EAChG;EACAJ,YAAY,IAAI,IAAI;EACpB,OAAOA,YAAY;AACrB,CAAC,EAAE,EAAE,CAAC;AAACK,OAAA,CAAAxB,oBAAA,GAAAA,oBAAA"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","obj","__esModule","default","formatCompileResults","compileResults","verbose","map","componentResult","componentId","component","id","fullName","files","buildResults","status","errors","length","icon","chalk","red","green","reduce","outputString","result","fileList","file","exports"],"sources":["output-formatter.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { ComponentsStatus } from './compiler.cmd';\n\nexport const formatCompileResults = (compileResults: ComponentsStatus[], verbose: boolean) =>\n compileResults\n .map((componentResult: ComponentsStatus) => ({\n componentId: componentResult.component.id.fullName,\n files: componentResult.buildResults,\n status: componentResult.errors.length ? 'FAILURE' : 'SUCCESS',\n icon: componentResult.errors.length ? chalk.red('✗') : chalk.green('✔'),\n }))\n .reduce((outputString, result) => {\n outputString += `${result.icon} ${result.status}\\t${result.componentId}`;\n if (verbose) {\n outputString += ':';\n outputString += result?.files?.reduce((fileList, file) => `${fileList}\\t\\t - ${file}\\n`, '\\n');\n }\n outputString += '\\n';\n return outputString;\n }, '');\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAGnB,MAAMG,oBAAoB,GAAGA,CAACC,cAAkC,EAAEC,OAAgB,KACvFD,cAAc,CACXE,GAAG,CAAEC,eAAiC,KAAM;EAC3CC,WAAW,EAAED,eAAe,CAACE,SAAS,CAACC,EAAE,CAACC,QAAQ;EAClDC,KAAK,EAAEL,eAAe,CAACM,YAAY;EACnCC,MAAM,EAAEP,eAAe,CAACQ,MAAM,CAACC,MAAM,GAAG,SAAS,GAAG,SAAS;EAC7DC,IAAI,EAAEV,eAAe,CAACQ,MAAM,CAACC,MAAM,GAAGE,gBAAK,CAACC,GAAG,CAAC,GAAG,CAAC,GAAGD,gBAAK,CAACE,KAAK,CAAC,GAAG;AACxE,CAAC,CAAC,CAAC,CACFC,MAAM,CAAC,CAACC,YAAY,EAAEC,MAAM,KAAK;EAChCD,YAAY,IAAK,GAAEC,MAAM,CAACN,IAAK,IAAGM,MAAM,CAACT,MAAO,KAAIS,MAAM,CAACf,WAAY,EAAC;EACxE,IAAIH,OAAO,EAAE;IACXiB,YAAY,IAAI,GAAG;IACnBA,YAAY,IAAIC,MAAM,EAAEX,KAAK,EAAES,MAAM,CAAC,CAACG,QAAQ,EAAEC,IAAI,KAAM,GAAED,QAAS,UAASC,IAAK,IAAG,EAAE,IAAI,CAAC;EAChG;EACAH,YAAY,IAAI,IAAI;EACpB,OAAOA,YAAY;AACrB,CAAC,EAAE,EAAE,CAAC;AAACI,OAAA,CAAAvB,oBAAA,GAAAA,oBAAA"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.compilation_compiler@1.0.106/dist/compiler.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.compilation_compiler@1.0.106/dist/compiler.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.compilation_compiler@1.0.108/dist/compiler.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.compilation_compiler@1.0.108/dist/compiler.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { BuildContext, BuildTask, BuiltTaskResult, TaskResultsList } from '@teambit/builder';
2
2
  import type { Component } from '@teambit/component';
3
3
  import { ServiceHandler } from '@teambit/envs';
4
- export declare type TranspileFileParams = {
4
+ export type TranspileFileParams = {
5
5
  componentDir: string;
6
6
  filePath: string;
7
7
  };
@@ -16,17 +16,17 @@ export declare enum CompilationInitiator {
16
16
  ComponentAdded = 7,
17
17
  Install = 8
18
18
  }
19
- export declare type TranspileComponentParams = {
19
+ export type TranspileComponentParams = {
20
20
  component: Component;
21
21
  componentDir: string;
22
22
  outputDir: string;
23
23
  initiator: CompilationInitiator;
24
24
  };
25
- export declare type TranspileFileOutputOneFile = {
25
+ export type TranspileFileOutputOneFile = {
26
26
  outputText: string;
27
27
  outputPath: string;
28
28
  };
29
- export declare type TranspileFileOutput = TranspileFileOutputOneFile[] | null;
29
+ export type TranspileFileOutput = TranspileFileOutputOneFile[] | null;
30
30
  export interface CompilerOptions {
31
31
  /**
32
32
  * name of the compiler.
@@ -11,11 +11,11 @@ import { DependencyResolverMain } from '@teambit/dependency-resolver';
11
11
  import { UiMain } from '@teambit/ui';
12
12
  import type { PreStartOpts } from '@teambit/ui';
13
13
  import { Compiler, CompilationInitiator } from './types';
14
- export declare type BuildResult = {
14
+ export type BuildResult = {
15
15
  component: string;
16
16
  buildResults: string[] | null | undefined;
17
17
  };
18
- export declare type CompileOptions = {
18
+ export type CompileOptions = {
19
19
  changed?: boolean;
20
20
  verbose?: boolean;
21
21
  /**
@@ -27,7 +27,7 @@ export declare type CompileOptions = {
27
27
  initiator: CompilationInitiator;
28
28
  linkComponents?: boolean;
29
29
  };
30
- export declare type CompileError = {
30
+ export type CompileError = {
31
31
  path: string;
32
32
  error: Error;
33
33
  };
@@ -42,7 +42,7 @@ export declare class ComponentCompiler {
42
42
  private dists;
43
43
  private compileErrors;
44
44
  constructor(pubsub: PubsubMain, workspace: Workspace, component: Component, compilerInstance: Compiler, compilerId: string, logger: Logger, dependencyResolver: DependencyResolverMain, dists?: Dist[], compileErrors?: CompileError[]);
45
- compile(noThrow: boolean | undefined, options: CompileOptions): Promise<BuildResult>;
45
+ compile(noThrow: boolean, options: CompileOptions): Promise<BuildResult>;
46
46
  private throwOnCompileErrors;
47
47
  private distDirs;
48
48
  private getInjectedDirs;
@@ -65,7 +65,7 @@ export declare class WorkspaceCompiler {
65
65
  code?: string;
66
66
  }, id: ComponentID): Promise<boolean>;
67
67
  onComponentAdd(component: Component, files: string[], watchOpts: WatchOptions): Promise<void | SerializableResults>;
68
- onComponentChange(component: Component, files: string[], removedFiles: string[] | undefined, watchOpts: WatchOptions): Promise<SerializableResults | void>;
68
+ onComponentChange(component: Component, files: string[], removedFiles: string[], watchOpts: WatchOptions): Promise<SerializableResults | void>;
69
69
  onPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions): Promise<void>;
70
70
  compileComponents(componentsIds: string[] | ComponentID[] | ComponentID[], // when empty, it compiles new+modified (unless options.all is set),
71
71
  options: CompileOptions, noThrow?: boolean): Promise<BuildResult[]>;
@@ -184,10 +184,9 @@ ${this.compileErrors.map(formatError).join('\n')}`);
184
184
  }
185
185
  }
186
186
  async distDirs() {
187
- var _this$compilerInstanc, _this$compilerInstanc2;
188
187
  const packageName = (0, _componentIdToPackageName().default)(this.component.state._consumer);
189
188
  const packageDir = _path().default.join('node_modules', packageName);
190
- const distDirName = ((_this$compilerInstanc = (_this$compilerInstanc2 = this.compilerInstance).getDistDir) === null || _this$compilerInstanc === void 0 ? void 0 : _this$compilerInstanc.call(_this$compilerInstanc2)) || _constants().DEFAULT_DIST_DIRNAME;
189
+ const distDirName = this.compilerInstance.getDistDir?.() || _constants().DEFAULT_DIST_DIRNAME;
191
190
  const injectedDirs = await this.getInjectedDirs(packageName);
192
191
  return [packageDir, ...injectedDirs].map(dist => _path().default.join(dist, distDirName));
193
192
  }
@@ -210,8 +209,7 @@ ${this.compileErrors.map(formatError).join('\n')}`);
210
209
  let compileResults;
211
210
  if (isFileSupported) {
212
211
  try {
213
- var _this$compilerInstanc3, _this$compilerInstanc4;
214
- compileResults = await ((_this$compilerInstanc3 = (_this$compilerInstanc4 = this.compilerInstance).transpileFile) === null || _this$compilerInstanc3 === void 0 ? void 0 : _this$compilerInstanc3.call(_this$compilerInstanc4, file.contents.toString(), options));
212
+ compileResults = await this.compilerInstance.transpileFile?.(file.contents.toString(), options);
215
213
  } catch (error) {
216
214
  this.compileErrors.push({
217
215
  path: file.path,
@@ -256,13 +254,12 @@ ${this.compileErrors.map(formatError).join('\n')}`);
256
254
  }
257
255
  if (filesToCompile.length) {
258
256
  try {
259
- var _this$compilerInstanc5, _this$compilerInstanc6;
260
- await ((_this$compilerInstanc5 = (_this$compilerInstanc6 = this.compilerInstance).transpileComponent) === null || _this$compilerInstanc5 === void 0 ? void 0 : _this$compilerInstanc5.call(_this$compilerInstanc6, {
257
+ await this.compilerInstance.transpileComponent?.({
261
258
  component,
262
259
  componentDir: this.componentDir,
263
260
  outputDir: await this.workspace.getComponentPackagePath(component),
264
261
  initiator
265
- }));
262
+ });
266
263
  } catch (error) {
267
264
  this.compileErrors.push({
268
265
  path: this.componentDir,
@@ -324,8 +321,8 @@ class WorkspaceCompiler {
324
321
  if (!watchOpts.compile) return undefined;
325
322
  // when files are removed, we need to remove the dist directories and the old symlinks, otherwise, it has
326
323
  // symlinks to non-exist files and the dist has stale files
327
- const deleteDistDir = Boolean(removedFiles === null || removedFiles === void 0 ? void 0 : removedFiles.length);
328
- if (removedFiles !== null && removedFiles !== void 0 && removedFiles.length) {
324
+ const deleteDistDir = Boolean(removedFiles?.length);
325
+ if (removedFiles?.length) {
329
326
  await (0, _workspaceModules().removeLinksFromNodeModules)(component, this.workspace, removedFiles);
330
327
  }
331
328
  const buildResults = await this.compileComponents([component.id.toString()], {
@@ -336,8 +333,7 @@ class WorkspaceCompiler {
336
333
  return {
337
334
  results: buildResults,
338
335
  toString() {
339
- var _buildResults$;
340
- return `${(_buildResults$ = buildResults[0]) === null || _buildResults$ === void 0 || (_buildResults$ = _buildResults$.buildResults) === null || _buildResults$ === void 0 ? void 0 : _buildResults$.join('\n\t')}`;
336
+ return `${buildResults[0]?.buildResults?.join('\n\t')}`;
341
337
  }
342
338
  };
343
339
  }
@@ -370,9 +366,8 @@ class WorkspaceCompiler {
370
366
  async runCompileComponents(components, options, noThrow) {
371
367
  const componentsCompilers = [];
372
368
  components.forEach(c => {
373
- var _environment$getCompi;
374
369
  const environment = this.envs.getEnv(c).env;
375
- const compilerInstance = (_environment$getCompi = environment.getCompiler) === null || _environment$getCompi === void 0 ? void 0 : _environment$getCompi.call(environment);
370
+ const compilerInstance = environment.getCompiler?.();
376
371
  if (compilerInstance) {
377
372
  const compilerName = compilerInstance.constructor.name || 'compiler';
378
373
  componentsCompilers.push(new ComponentCompiler(this.pubsub, this.workspace, c, compilerInstance, compilerName, this.logger, this.dependencyResolver));
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_workspace","_path","_loader","_constants","_sources","_dataToPersist","_workspaceModules","_componentIdToPackageName","_removePath","_bitRoots","_lodash","_compiler","_events","_types","obj","__esModule","default","ComponentCompiler","constructor","pubsub","workspace","component","compilerInstance","compilerId","logger","dependencyResolver","dists","compileErrors","compile","noThrow","options","dataToPersist","deleteDistDir","DataToPersist","distDir","distDirs","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","linkComponents","linkToNodeModulesByComponents","buildResults","distFile","state","_consumer","compiler","loader","succeed","pub","CompilerAspect","id","ComponentCompilationOnDoneEvent","length","forEach","errorItem","error","formatError","err","join","CompilerErrorEvent","console","message","_this$compilerInstanc","_this$compilerInstanc2","packageName","componentIdToPackageName","packageDir","distDirName","getDistDir","call","DEFAULT_DIST_DIRNAME","injectedDirs","getInjectedDirs","dist","rootDirs","readBitRootsDir","rootDir","relative","componentDir","filePath","isFileSupported","compileResults","_this$compilerInstanc3","_this$compilerInstanc4","contents","push","base","result","Dist","outputPath","Buffer","from","outputText","shouldCopyNonSupportedFiles","filesToCompile","_this$compilerInstanc5","_this$compilerInstanc6","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","_buildResults$","componentIds","preCompile","start","Date","now","PreWatch","end","consoleSuccess","componentsIds","OutsideWorkspaceError","getIdsToCompile","getManyOpts","loadSeedersAsAspects","components","getMany","grouped","groupByIsEnv","envsResults","runCompileComponents","otherResults","other","componentsCompilers","_environment$getCompi","environment","getEnv","env","getCompiler","compilerName","name","warn","resultOnWorkspace","mapSeries","componentCompiler","envsIds","uniq","getEnvId","filter","envId","isCoreEnv","groupBy","includes","resolveMultipleComponentIds","filterIds","getNewAndModifiedIds","listIds"],"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 { 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, ComponentCompilationOnDoneEvent } from './events';\nimport { Compiler, CompilationInitiator } from './types';\n\nexport type BuildResult = { component: string; buildResults: string[] | null | undefined };\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 // 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 await this.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) => this.compileOneFile(file, options.initiator))\n );\n }\n\n if (canTranspileComponent) {\n await this.compileAllFiles(this.component, options.initiator);\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 linkComponents = options.linkComponents ?? true;\n if (linkComponents) {\n await linkToNodeModulesByComponents([this.component], this.workspace);\n }\n const buildResults = this.dists.map((distFile) => distFile.path);\n if (this.component.state._consumer.compiler) loader.succeed();\n this.pubsub.pub(\n CompilerAspect.id,\n new ComponentCompilationOnDoneEvent(this.compileErrors, this.component, buildResults)\n );\n return { component: this.component.id.toString(), buildResults };\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(file: AbstractVinyl, initiator: CompilationInitiator): 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 await this.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(component: Component, initiator: CompilationInitiator): Promise<void> {\n const filesToCompile: AbstractVinyl[] = [];\n for (const base of await this.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 // await linkToNodeModulesByComponents([component], this.workspace);\n return {\n results: buildResults,\n toString() {\n return `${buildResults[0]?.buildResults?.join('\\n\\t')}`;\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\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 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(\n componentsIds: Array<string | ComponentID | ComponentID>,\n changed = false\n ): 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"],"mappings":"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"}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_workspace","_path","_loader","_constants","_sources","_dataToPersist","_workspaceModules","_componentIdToPackageName","_removePath","_bitRoots","_lodash","_compiler","_events","_types","obj","__esModule","default","ComponentCompiler","constructor","pubsub","workspace","component","compilerInstance","compilerId","logger","dependencyResolver","dists","compileErrors","compile","noThrow","options","dataToPersist","deleteDistDir","DataToPersist","distDir","distDirs","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","linkComponents","linkToNodeModulesByComponents","buildResults","distFile","state","_consumer","compiler","loader","succeed","pub","CompilerAspect","id","ComponentCompilationOnDoneEvent","length","forEach","errorItem","error","formatError","err","join","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","componentIds","preCompile","start","Date","now","PreWatch","end","consoleSuccess","componentsIds","OutsideWorkspaceError","getIdsToCompile","getManyOpts","loadSeedersAsAspects","components","getMany","grouped","groupByIsEnv","envsResults","runCompileComponents","otherResults","other","componentsCompilers","environment","getEnv","env","getCompiler","compilerName","name","warn","resultOnWorkspace","mapSeries","componentCompiler","envsIds","uniq","getEnvId","filter","envId","isCoreEnv","groupBy","includes","resolveMultipleComponentIds","filterIds","getNewAndModifiedIds","listIds"],"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 { 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, ComponentCompilationOnDoneEvent } from './events';\nimport { Compiler, CompilationInitiator } from './types';\n\nexport type BuildResult = { component: string; buildResults: string[] | null | undefined };\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 // 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 await this.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) => this.compileOneFile(file, options.initiator))\n );\n }\n\n if (canTranspileComponent) {\n await this.compileAllFiles(this.component, options.initiator);\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 linkComponents = options.linkComponents ?? true;\n if (linkComponents) {\n await linkToNodeModulesByComponents([this.component], this.workspace);\n }\n const buildResults = this.dists.map((distFile) => distFile.path);\n if (this.component.state._consumer.compiler) loader.succeed();\n this.pubsub.pub(\n CompilerAspect.id,\n new ComponentCompilationOnDoneEvent(this.compileErrors, this.component, buildResults)\n );\n return { component: this.component.id.toString(), buildResults };\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(file: AbstractVinyl, initiator: CompilationInitiator): 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 await this.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(component: Component, initiator: CompilationInitiator): Promise<void> {\n const filesToCompile: AbstractVinyl[] = [];\n for (const base of await this.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 // await linkToNodeModulesByComponents([component], this.workspace);\n return {\n results: buildResults,\n toString() {\n return `${buildResults[0]?.buildResults?.join('\\n\\t')}`;\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\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 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(\n componentsIds: Array<string | ComponentID | ComponentID>,\n changed = false\n ): 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"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';
2
+ import { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';
3
+
4
+ export class DistArtifact {
5
+ constructor(private artifacts: AbstractVinyl[]) {}
6
+
7
+ getFile(path: string) {
8
+ return this.artifacts.find((file) => {
9
+ return pathNormalizeToLinux(file.relative) === path;
10
+ });
11
+ }
12
+ }
package/index.ts ADDED
@@ -0,0 +1,15 @@
1
+ export type { CompilerMain } from './compiler.main.runtime';
2
+ export type { CompilerTaskOptions } from './compiler.task';
3
+ export { CompilerTask } from './compiler.task';
4
+ export type { CompilerEnv } from './compiler-env-type';
5
+ export { CompilerAspect } from './compiler.aspect';
6
+ export { CompilationInitiator } from './types';
7
+ export type {
8
+ Compiler,
9
+ CompilerOptions,
10
+ TranspileFileOutput,
11
+ TranspileFileParams,
12
+ TranspileComponentParams,
13
+ TranspileFileOutputOneFile,
14
+ } from './types';
15
+ export * from './events';
@@ -0,0 +1,20 @@
1
+ import chalk from 'chalk';
2
+ import { ComponentsStatus } from './compiler.cmd';
3
+
4
+ export const formatCompileResults = (compileResults: ComponentsStatus[], verbose: boolean) =>
5
+ compileResults
6
+ .map((componentResult: ComponentsStatus) => ({
7
+ componentId: componentResult.component.id.fullName,
8
+ files: componentResult.buildResults,
9
+ status: componentResult.errors.length ? 'FAILURE' : 'SUCCESS',
10
+ icon: componentResult.errors.length ? chalk.red('✗') : chalk.green('✔'),
11
+ }))
12
+ .reduce((outputString, result) => {
13
+ outputString += `${result.icon} ${result.status}\t${result.componentId}`;
14
+ if (verbose) {
15
+ outputString += ':';
16
+ outputString += result?.files?.reduce((fileList, file) => `${fileList}\t\t - ${file}\n`, '\n');
17
+ }
18
+ outputString += '\n';
19
+ return outputString;
20
+ }, '');
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/compiler",
3
- "version": "1.0.106",
3
+ "version": "1.0.108",
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.106"
9
+ "version": "1.0.108"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -16,46 +16,42 @@
16
16
  "ink": "3.2.0",
17
17
  "lodash": "4.17.21",
18
18
  "p-map-series": "2.1.0",
19
- "core-js": "^3.0.0",
20
- "@babel/runtime": "7.20.0",
21
19
  "@teambit/harmony": "0.4.6",
22
20
  "@teambit/component-id": "1.2.0",
23
21
  "@teambit/bit-roots": "0.0.133",
24
22
  "@teambit/bit-error": "0.0.404",
25
- "@teambit/envs": "1.0.106",
26
- "@teambit/cli": "0.0.839",
27
- "@teambit/component": "1.0.106",
28
- "@teambit/logger": "0.0.932",
29
- "@teambit/pubsub": "1.0.106",
30
- "@teambit/aspect-loader": "1.0.106",
31
- "@teambit/builder": "1.0.106",
32
- "@teambit/component-issues": "0.0.137",
33
- "@teambit/dependency-resolver": "1.0.106",
34
- "@teambit/generator": "1.0.107",
35
- "@teambit/issues": "1.0.106",
36
- "@teambit/ui": "1.0.106",
37
- "@teambit/watcher": "1.0.106",
38
- "@teambit/workspace": "1.0.106",
39
- "@teambit/isolator": "1.0.106",
23
+ "@teambit/envs": "1.0.108",
24
+ "@teambit/cli": "0.0.840",
25
+ "@teambit/component": "1.0.108",
26
+ "@teambit/logger": "0.0.933",
27
+ "@teambit/pubsub": "1.0.108",
28
+ "@teambit/aspect-loader": "1.0.108",
29
+ "@teambit/builder": "1.0.108",
30
+ "@teambit/component-issues": "0.0.138",
31
+ "@teambit/dependency-resolver": "1.0.108",
32
+ "@teambit/generator": "1.0.109",
33
+ "@teambit/issues": "1.0.108",
34
+ "@teambit/ui": "1.0.108",
35
+ "@teambit/watcher": "1.0.108",
36
+ "@teambit/workspace": "1.0.108",
37
+ "@teambit/isolator": "1.0.108",
40
38
  "@teambit/toolbox.fs.hard-link-directory": "0.0.19",
41
- "@teambit/multi-compiler": "1.0.106",
42
- "@teambit/workspace.modules.node-modules-linker": "0.0.157"
39
+ "@teambit/multi-compiler": "1.0.108",
40
+ "@teambit/workspace.modules.node-modules-linker": "0.0.158"
43
41
  },
44
42
  "devDependencies": {
45
- "@types/react": "^17.0.8",
46
43
  "@types/fs-extra": "9.0.7",
47
44
  "@types/lodash": "4.14.165",
48
45
  "@types/mocha": "9.1.0",
49
- "@types/node": "12.20.4",
50
- "@types/react-dom": "^17.0.5",
51
- "@types/jest": "^26.0.0",
52
- "@types/testing-library__jest-dom": "5.9.5",
53
- "@teambit/compilation.content.compiler-overview": "1.95.0"
46
+ "@types/jest": "^29.2.2",
47
+ "@types/testing-library__jest-dom": "^5.9.5",
48
+ "@teambit/compilation.content.compiler-overview": "1.95.0",
49
+ "@teambit/harmony.envs.core-aspect-env": "0.0.13"
54
50
  },
55
51
  "peerDependencies": {
56
- "@teambit/legacy": "1.0.624",
57
- "react": "^16.8.0 || ^17.0.0",
58
- "react-dom": "^16.8.0 || ^17.0.0"
52
+ "react": "^17.0.0 || ^18.0.0",
53
+ "@types/react": "^18.2.12",
54
+ "@teambit/legacy": "1.0.624"
59
55
  },
60
56
  "license": "Apache-2.0",
61
57
  "optionalDependencies": {},
@@ -69,7 +65,7 @@
69
65
  },
70
66
  "private": false,
71
67
  "engines": {
72
- "node": ">=12.22.0"
68
+ "node": ">=16.0.0"
73
69
  },
74
70
  "repository": {
75
71
  "type": "git",
@@ -78,12 +74,9 @@
78
74
  "keywords": [
79
75
  "bit",
80
76
  "bit-aspect",
77
+ "bit-core-aspect",
81
78
  "components",
82
79
  "collaboration",
83
- "web",
84
- "react",
85
- "react-components",
86
- "angular",
87
- "angular-components"
80
+ "web"
88
81
  ]
89
82
  }
package/tsconfig.json CHANGED
@@ -1,38 +1,33 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "lib": [
4
- "es2019",
5
- "DOM",
6
- "ES6",
7
- "DOM.Iterable",
8
- "ScriptHost"
4
+ "esnext",
5
+ "dom",
6
+ "dom.Iterable"
9
7
  ],
10
- "target": "es2015",
11
- "module": "CommonJS",
12
- "jsx": "react",
13
- "allowJs": true,
14
- "composite": true,
8
+ "target": "es2020",
9
+ "module": "es2020",
10
+ "jsx": "react-jsx",
15
11
  "declaration": true,
16
12
  "sourceMap": true,
17
- "skipLibCheck": true,
18
13
  "experimentalDecorators": true,
19
- "outDir": "dist",
14
+ "skipLibCheck": true,
20
15
  "moduleResolution": "node",
21
16
  "esModuleInterop": true,
22
- "rootDir": ".",
23
17
  "resolveJsonModule": true,
24
- "emitDeclarationOnly": true,
25
- "emitDecoratorMetadata": true,
26
- "allowSyntheticDefaultImports": true,
27
- "strictPropertyInitialization": false,
28
- "strict": true,
29
- "noImplicitAny": false,
30
- "preserveConstEnums": true
18
+ "allowJs": true,
19
+ "outDir": "dist",
20
+ "emitDeclarationOnly": true
31
21
  },
32
22
  "exclude": [
23
+ "artifacts",
24
+ "public",
33
25
  "dist",
26
+ "node_modules",
27
+ "package.json",
34
28
  "esm.mjs",
35
- "package.json"
29
+ "**/*.cjs",
30
+ "./dist"
36
31
  ],
37
32
  "include": [
38
33
  "**/*",
package/types/asset.d.ts CHANGED
@@ -5,12 +5,12 @@ declare module '*.png' {
5
5
  declare module '*.svg' {
6
6
  import type { FunctionComponent, SVGProps } from 'react';
7
7
 
8
- export const ReactComponent: FunctionComponent<SVGProps<SVGSVGElement> & { title?: string }>;
8
+ export const ReactComponent: FunctionComponent<
9
+ SVGProps<SVGSVGElement> & { title?: string }
10
+ >;
9
11
  const src: string;
10
12
  export default src;
11
13
  }
12
-
13
- // @TODO Gilad
14
14
  declare module '*.jpg' {
15
15
  const value: any;
16
16
  export = value;
@@ -27,3 +27,15 @@ declare module '*.bmp' {
27
27
  const value: any;
28
28
  export = value;
29
29
  }
30
+ declare module '*.otf' {
31
+ const value: any;
32
+ export = value;
33
+ }
34
+ declare module '*.woff' {
35
+ const value: any;
36
+ export = value;
37
+ }
38
+ declare module '*.woff2' {
39
+ const value: any;
40
+ export = value;
41
+ }