@teambit/preview 1.0.107 → 1.0.109

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/artifacts/__bit_junit.xml +6 -0
  2. package/artifacts/preview/teambit_preview_preview-preview.js +1 -0
  3. package/dist/artifact-file-middleware.d.ts +2 -2
  4. package/dist/artifact-file-middleware.js +2 -2
  5. package/dist/artifact-file-middleware.js.map +1 -1
  6. package/dist/bundler/chunks.d.ts +1 -1
  7. package/dist/bundler/html-plugin.js +1 -1
  8. package/dist/bundler/html-plugin.js.map +1 -1
  9. package/dist/bundling-strategy.d.ts +2 -2
  10. package/dist/env-preview-template.task.d.ts +1 -1
  11. package/dist/env-preview-template.task.js +1 -1
  12. package/dist/env-preview-template.task.js.map +1 -1
  13. package/dist/env-template.route.d.ts +1 -1
  14. package/dist/execution-ref.d.ts +1 -1
  15. package/dist/generate-link.d.ts +1 -1
  16. package/dist/gql/fetch-component-aspects.d.ts +1 -1
  17. package/dist/{preview-1703590665075.js → preview-1703698405864.js} +2 -2
  18. package/dist/preview-artifact.d.ts +2 -2
  19. package/dist/preview-env.d.ts +1 -1
  20. package/dist/preview-modules.d.ts +1 -1
  21. package/dist/preview.composition.d.ts +2 -2
  22. package/dist/preview.main.runtime.d.ts +14 -14
  23. package/dist/preview.main.runtime.js +17 -24
  24. package/dist/preview.main.runtime.js.map +1 -1
  25. package/dist/preview.preview.runtime.d.ts +5 -5
  26. package/dist/preview.preview.runtime.js +5 -8
  27. package/dist/preview.preview.runtime.js.map +1 -1
  28. package/dist/preview.service.d.ts +1 -1
  29. package/dist/preview.service.js +1 -1
  30. package/dist/preview.service.js.map +1 -1
  31. package/dist/preview.start-plugin.d.ts +2 -2
  32. package/dist/rendering-context.d.ts +3 -3
  33. package/dist/rendering-context.js +1 -1
  34. package/dist/rendering-context.js.map +1 -1
  35. package/dist/size-event.d.ts +1 -1
  36. package/dist/strategies/component-strategy.d.ts +1 -1
  37. package/dist/strategies/component-strategy.js +12 -15
  38. package/dist/strategies/component-strategy.js.map +1 -1
  39. package/dist/strategies/env-strategy.js +1 -1
  40. package/dist/strategies/env-strategy.js.map +1 -1
  41. package/dist/strategies/generate-component-link.d.ts +1 -1
  42. package/dist/types/preview-module.d.ts +3 -3
  43. package/package.json +31 -38
  44. package/tsconfig.json +16 -21
  45. package/types/asset.d.ts +15 -3
@@ -1,8 +1,8 @@
1
1
  import { RenderingContextSlot } from './preview.preview.runtime';
2
- export declare type RenderingContextOptions = {
2
+ export type RenderingContextOptions = {
3
3
  aspectsFilter?: string[];
4
4
  };
5
- export declare type RenderingContextProvider = (options: RenderingContextOptions) => {
5
+ export type RenderingContextProvider = (options: RenderingContextOptions) => {
6
6
  [key: string]: any;
7
7
  };
8
8
  export declare class RenderingContext {
@@ -14,5 +14,5 @@ export declare class RenderingContext {
14
14
  */
15
15
  get(aspectId: string): {
16
16
  [key: string]: any;
17
- } | undefined;
17
+ };
18
18
  }
@@ -15,7 +15,7 @@ class RenderingContext {
15
15
  */
16
16
  get(aspectId) {
17
17
  const contextFactory = this.contexts.get(aspectId);
18
- return contextFactory === null || contextFactory === void 0 ? void 0 : contextFactory(this.options);
18
+ return contextFactory?.(this.options);
19
19
  }
20
20
  }
21
21
  exports.RenderingContext = RenderingContext;
@@ -1 +1 @@
1
- {"version":3,"names":["RenderingContext","constructor","contexts","options","get","aspectId","contextFactory","exports"],"sources":["rendering-context.ts"],"sourcesContent":["import { RenderingContextSlot } from './preview.preview.runtime';\n\nexport type RenderingContextOptions = { aspectsFilter?: string[] };\nexport type RenderingContextProvider = (options: RenderingContextOptions) => { [key: string]: any };\n\nexport class RenderingContext {\n constructor(private contexts: RenderingContextSlot, private options: RenderingContextOptions = {}) {}\n\n /**\n * obtain rendering context of a specific aspect.\n */\n get(aspectId: string) {\n const contextFactory = this.contexts.get(aspectId);\n return contextFactory?.(this.options);\n }\n}\n"],"mappings":";;;;;;AAKO,MAAMA,gBAAgB,CAAC;EAC5BC,WAAWA,CAASC,QAA8B,EAAUC,OAAgC,GAAG,CAAC,CAAC,EAAE;IAAA,KAA/ED,QAA8B,GAA9BA,QAA8B;IAAA,KAAUC,OAAgC,GAAhCA,OAAgC;EAAQ;;EAEpG;AACF;AACA;EACEC,GAAGA,CAACC,QAAgB,EAAE;IACpB,MAAMC,cAAc,GAAG,IAAI,CAACJ,QAAQ,CAACE,GAAG,CAACC,QAAQ,CAAC;IAClD,OAAOC,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAG,IAAI,CAACH,OAAO,CAAC;EACvC;AACF;AAACI,OAAA,CAAAP,gBAAA,GAAAA,gBAAA"}
1
+ {"version":3,"names":["RenderingContext","constructor","contexts","options","get","aspectId","contextFactory","exports"],"sources":["rendering-context.ts"],"sourcesContent":["import { RenderingContextSlot } from './preview.preview.runtime';\n\nexport type RenderingContextOptions = { aspectsFilter?: string[] };\nexport type RenderingContextProvider = (options: RenderingContextOptions) => { [key: string]: any };\n\nexport class RenderingContext {\n constructor(private contexts: RenderingContextSlot, private options: RenderingContextOptions = {}) {}\n\n /**\n * obtain rendering context of a specific aspect.\n */\n get(aspectId: string) {\n const contextFactory = this.contexts.get(aspectId);\n return contextFactory?.(this.options);\n }\n}\n"],"mappings":";;;;;;AAKO,MAAMA,gBAAgB,CAAC;EAC5BC,WAAWA,CAASC,QAA8B,EAAUC,OAAgC,GAAG,CAAC,CAAC,EAAE;IAAA,KAA/ED,QAA8B,GAA9BA,QAA8B;IAAA,KAAUC,OAAgC,GAAhCA,OAAgC;EAAQ;;EAEpG;AACF;AACA;EACEC,GAAGA,CAACC,QAAgB,EAAE;IACpB,MAAMC,cAAc,GAAG,IAAI,CAACJ,QAAQ,CAACE,GAAG,CAACC,QAAQ,CAAC;IAClD,OAAOC,cAAc,GAAG,IAAI,CAACH,OAAO,CAAC;EACvC;AACF;AAACI,OAAA,CAAAP,gBAAA,GAAAA,gBAAA"}
@@ -1,5 +1,5 @@
1
1
  import { BitBaseEvent } from '@teambit/pubsub';
2
- export declare type SizeEventType = {
2
+ export type SizeEventType = {
3
3
  height: number;
4
4
  width: number;
5
5
  };
@@ -12,7 +12,7 @@ export declare const PREVIEW_CHUNK_FILENAME_SUFFIX: string;
12
12
  export declare const COMPONENT_CHUNK_FILENAME_SUFFIX: string;
13
13
  export declare const COMPONENT_STRATEGY_SIZE_KEY_NAME = "size";
14
14
  export declare const COMPONENT_STRATEGY_ARTIFACT_NAME = "preview-component";
15
- declare type ComponentEntry = {
15
+ type ComponentEntry = {
16
16
  component: Component;
17
17
  entries: Object;
18
18
  };
@@ -221,14 +221,13 @@ class ComponentBundlingStrategy {
221
221
  // }
222
222
 
223
223
  findAssetsForComponent(component, assets, entriesAssetsMap) {
224
- var _entriesAssetsMap$com, _entriesAssetsMap$com2, _entriesAssetsMap$com3, _entriesAssetsMap$com4;
225
224
  if (!assets) return undefined;
226
225
  const componentEntryId = component.id.toStringWithoutVersion();
227
226
  const componentPreviewEntryId = this.getComponentChunkId(component.id, 'preview');
228
- const componentFiles = ((_entriesAssetsMap$com = entriesAssetsMap[componentEntryId]) === null || _entriesAssetsMap$com === void 0 ? void 0 : _entriesAssetsMap$com.assets) || [];
229
- const componentAuxiliaryFiles = ((_entriesAssetsMap$com2 = entriesAssetsMap[componentEntryId]) === null || _entriesAssetsMap$com2 === void 0 ? void 0 : _entriesAssetsMap$com2.auxiliaryAssets) || [];
230
- const componentPreviewFiles = ((_entriesAssetsMap$com3 = entriesAssetsMap[componentPreviewEntryId]) === null || _entriesAssetsMap$com3 === void 0 ? void 0 : _entriesAssetsMap$com3.assets) || [];
231
- const componentPreviewAuxiliaryFiles = ((_entriesAssetsMap$com4 = entriesAssetsMap[componentPreviewEntryId]) === null || _entriesAssetsMap$com4 === void 0 ? void 0 : _entriesAssetsMap$com4.auxiliaryAssets) || [];
227
+ const componentFiles = entriesAssetsMap[componentEntryId]?.assets || [];
228
+ const componentAuxiliaryFiles = entriesAssetsMap[componentEntryId]?.auxiliaryAssets || [];
229
+ const componentPreviewFiles = entriesAssetsMap[componentPreviewEntryId]?.assets || [];
230
+ const componentPreviewAuxiliaryFiles = entriesAssetsMap[componentPreviewEntryId]?.auxiliaryAssets || [];
232
231
  const files = componentFiles.concat(componentAuxiliaryFiles).concat(componentPreviewFiles).concat(componentPreviewAuxiliaryFiles);
233
232
  return files;
234
233
  }
@@ -236,29 +235,28 @@ class ComponentBundlingStrategy {
236
235
  return (0, _path().join)(_builder().CAPSULE_ARTIFACTS_DIR, 'preview');
237
236
  }
238
237
  computeComponentMetadata(context, result, component) {
239
- var _result$entriesAssets, _result$entriesAssets2, _result$entriesAssets3, _result$entriesAssets4, _result$entriesAssets5, _result$entriesAssets6;
240
238
  const componentEntryId = component.id.toStringWithoutVersion();
241
- if (!(result !== null && result !== void 0 && result.entriesAssetsMap) || !(result !== null && result !== void 0 && result.entriesAssetsMap[componentEntryId])) {
239
+ if (!result?.entriesAssetsMap || !result?.entriesAssetsMap[componentEntryId]) {
242
240
  return {};
243
241
  }
244
- const files = (((_result$entriesAssets = result.entriesAssetsMap[componentEntryId]) === null || _result$entriesAssets === void 0 ? void 0 : _result$entriesAssets.assets) || []).map(file => {
242
+ const files = (result.entriesAssetsMap[componentEntryId]?.assets || []).map(file => {
245
243
  return {
246
244
  name: (0, _path().basename)(file.name),
247
245
  size: file.size,
248
246
  compressedSize: file.compressedSize
249
247
  };
250
248
  });
251
- const filesTotalSize = ((_result$entriesAssets2 = result.entriesAssetsMap[componentEntryId]) === null || _result$entriesAssets2 === void 0 ? void 0 : _result$entriesAssets2.assetsSize) || 0;
252
- const compressedTotalFiles = ((_result$entriesAssets3 = result.entriesAssetsMap[componentEntryId]) === null || _result$entriesAssets3 === void 0 ? void 0 : _result$entriesAssets3.compressedAssetsSize) || 0;
253
- const assets = (((_result$entriesAssets4 = result.entriesAssetsMap[componentEntryId]) === null || _result$entriesAssets4 === void 0 ? void 0 : _result$entriesAssets4.auxiliaryAssets) || []).map(file => {
249
+ const filesTotalSize = result.entriesAssetsMap[componentEntryId]?.assetsSize || 0;
250
+ const compressedTotalFiles = result.entriesAssetsMap[componentEntryId]?.compressedAssetsSize || 0;
251
+ const assets = (result.entriesAssetsMap[componentEntryId]?.auxiliaryAssets || []).map(file => {
254
252
  return {
255
253
  name: (0, _path().basename)(file.name),
256
254
  size: file.size,
257
255
  compressedSize: file.compressedSize
258
256
  };
259
257
  });
260
- const assetsTotalSize = ((_result$entriesAssets5 = result.entriesAssetsMap[componentEntryId]) === null || _result$entriesAssets5 === void 0 ? void 0 : _result$entriesAssets5.auxiliaryAssetsSize) || 0;
261
- const compressedTotalAssets = ((_result$entriesAssets6 = result.entriesAssetsMap[componentEntryId]) === null || _result$entriesAssets6 === void 0 ? void 0 : _result$entriesAssets6.compressedAuxiliaryAssetsSize) || 0;
258
+ const assetsTotalSize = result.entriesAssetsMap[componentEntryId]?.auxiliaryAssetsSize || 0;
259
+ const compressedTotalAssets = result.entriesAssetsMap[componentEntryId]?.compressedAuxiliaryAssetsSize || 0;
262
260
  const totalSize = filesTotalSize + assetsTotalSize;
263
261
  const compressedTotal = compressedTotalFiles + compressedTotalAssets;
264
262
  const metadata = {
@@ -327,10 +325,9 @@ class ComponentBundlingStrategy {
327
325
  return files.map(file => (0, _path().join)(capsule.path, compiler.getDistPathBySrcPath(file.relative)));
328
326
  }
329
327
  getComponentOutputPath(capsule, context) {
330
- var _compiler$getDistDir;
331
328
  const capsulePath = (0, _path().resolve)(`${capsule.path}`);
332
329
  const compiler = context.env.getCompiler();
333
- const distDir = ((_compiler$getDistDir = compiler.getDistDir) === null || _compiler$getDistDir === void 0 ? void 0 : _compiler$getDistDir.call(compiler)) || 'dist';
330
+ const distDir = compiler.getDistDir?.() || 'dist';
334
331
  return (0, _path().join)(capsulePath, distDir);
335
332
  }
336
333
  async computePaths(defs, context, component) {
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","require","_fsExtra","_lodash","_builder","_bitError","_generateComponentLink","_exceptions","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","PREVIEW_CHUNK_SUFFIX","exports","COMPONENT_CHUNK_SUFFIX","PREVIEW_CHUNK_FILENAME_SUFFIX","COMPONENT_CHUNK_FILENAME_SUFFIX","COMPONENT_STRATEGY_SIZE_KEY_NAME","COMPONENT_STRATEGY_ARTIFACT_NAME","ComponentBundlingStrategy","constructor","preview","pkg","dependencyResolver","computeTargets","context","previewDefs","outputPath","getOutputPath","existsSync","mkdirpSync","origComponents","capsuleNetwork","originalSeedersCapsules","map","capsule","component","entriesArr","Promise","all","computeComponentEntry","chunkSize","config","maxChunkSize","chunks","chunk","peers","getPreviewHostDependenciesFromEnv","envDefinition","env","targets","currentChunk","entries","components","forEach","entry","assign","push","hostRootDir","envRuntime","envAspectDefinition","aspectPath","hostDependencies","aliasHostDependencies","externalizeHostDependencies","componentPreviewPath","computePaths","componentPath","getPaths","mainFile","componentPreview","getComponentChunkId","id","splitComponentBundle","toStringWithoutVersion","undefined","filename","getComponentChunkFileName","toString","fsCompatible","ignoreVersion","import","dependOn","library","name","type","componentId","idstr","suffix","getAssetAbsolutePath","asset","path","join","getAssetFilename","split","copyAssetsToCapsules","result","graphCapsules","getCapsule","files","findAssetsForComponent","assets","entriesAssetsMap","artifactDirFullPath","getArtifactDirectory","filePath","PreviewOutputFileNotFound","destFilePath","dirname","fs","copyFileSync","_entriesAssetsMap$com","_entriesAssetsMap$com2","_entriesAssetsMap$com3","_entriesAssetsMap$com4","componentEntryId","componentPreviewEntryId","componentFiles","componentAuxiliaryFiles","auxiliaryAssets","componentPreviewFiles","componentPreviewAuxiliaryFiles","concat","CAPSULE_ARTIFACTS_DIR","computeComponentMetadata","_result$entriesAssets","_result$entriesAssets2","_result$entriesAssets3","_result$entriesAssets4","_result$entriesAssets5","_result$entriesAssets6","file","basename","size","compressedSize","filesTotalSize","assetsSize","compressedTotalFiles","compressedAssetsSize","assetsTotalSize","auxiliaryAssetsSize","compressedTotalAssets","compressedAuxiliaryAssetsSize","totalSize","compressedTotal","metadata","totalFiles","totalAssets","total","computeResults","results","componentsResults","flatten","computeTargetResult","artifacts","getArtifactDef","isEmpty","errors","err","message","warning","warnings","startTime","endTime","globPatterns","rootDir","getDirName","envName","replace","resolve","capsulesRootDir","compiler","getCompiler","getDistPathBySrcPath","relative","getComponentOutputPath","_compiler$getDistDir","capsulePath","distDir","getDistDir","defs","BitError","moduleMapsPromise","previewDef","moduleMap","getModuleMap","getMetadata","maybeFiles","get","prefix","paths","compiledPaths","moduleMaps","contents","generateComponentLink","targetDir","writeLinkContents"],"sources":["component-strategy.ts"],"sourcesContent":["import { join, resolve, basename, dirname } from 'path';\nimport { existsSync, mkdirpSync } from 'fs-extra';\nimport { Component } from '@teambit/component';\nimport { ComponentID } from '@teambit/component-id';\nimport { flatten, isEmpty, chunk } from 'lodash';\nimport { Compiler } from '@teambit/compiler';\nimport type { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport type { Capsule } from '@teambit/isolator';\nimport { CAPSULE_ARTIFACTS_DIR, ComponentResult } from '@teambit/builder';\nimport type { PkgMain } from '@teambit/pkg';\nimport { BitError } from '@teambit/bit-error';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport type { BundlerResult, BundlerContext, Asset, BundlerEntryMap, EntriesAssetsMap, Target } from '@teambit/bundler';\nimport { BundlingStrategy, ComputeTargetsContext } from '../bundling-strategy';\nimport type { PreviewDefinition } from '../preview-definition';\nimport type { ComponentPreviewMetaData, PreviewMain } from '../preview.main.runtime';\nimport { generateComponentLink } from './generate-component-link';\nimport { PreviewOutputFileNotFound } from '../exceptions';\n\nexport const PREVIEW_CHUNK_SUFFIX = 'preview';\nexport const COMPONENT_CHUNK_SUFFIX = 'component';\nexport const PREVIEW_CHUNK_FILENAME_SUFFIX = `${PREVIEW_CHUNK_SUFFIX}.js`;\nexport const COMPONENT_CHUNK_FILENAME_SUFFIX = `${COMPONENT_CHUNK_SUFFIX}.js`;\n\nexport const COMPONENT_STRATEGY_SIZE_KEY_NAME = 'size';\nexport const COMPONENT_STRATEGY_ARTIFACT_NAME = 'preview-component';\n\ntype ComponentEntry = {\n component: Component;\n entries: Object;\n};\n/**\n * bundles all components in a given env into the same bundle.\n */\nexport class ComponentBundlingStrategy implements BundlingStrategy {\n name = 'component';\n\n constructor(private preview: PreviewMain, private pkg: PkgMain, private dependencyResolver: DependencyResolverMain) {}\n\n async computeTargets(context: ComputeTargetsContext, previewDefs: PreviewDefinition[]): Promise<Target[]> {\n const outputPath = this.getOutputPath(context);\n if (!existsSync(outputPath)) mkdirpSync(outputPath);\n\n // const entriesArr = flatten(\n // await Promise.all(\n // context.capsuleNetwork.seedersCapsules.map((capsule) => {\n // return this.computeComponentEntry(previewDefs, capsule.component, context);\n // }, {})\n // )\n // );\n\n const origComponents = context.capsuleNetwork.originalSeedersCapsules.map((capsule) => capsule.component);\n\n const entriesArr = await Promise.all(\n origComponents.map((component) => {\n return this.computeComponentEntry(previewDefs, component, context);\n }, {})\n );\n\n const chunkSize = this.preview.config.maxChunkSize;\n\n const chunks = chunkSize ? chunk(entriesArr, chunkSize) : [entriesArr];\n\n const peers = await this.dependencyResolver.getPreviewHostDependenciesFromEnv(context.envDefinition.env);\n\n const targets = chunks.map((currentChunk) => {\n const entries: BundlerEntryMap = {};\n const components: Component[] = [];\n currentChunk.forEach((entry) => {\n Object.assign(entries, entry.entries);\n components.push(entry.component);\n });\n\n return {\n entries,\n components,\n outputPath,\n hostRootDir: context.envRuntime.envAspectDefinition.aspectPath,\n hostDependencies: peers,\n aliasHostDependencies: true,\n externalizeHostDependencies: true,\n };\n });\n\n return targets;\n // const entries = entriesArr.reduce((entriesMap, entry) => {\n // entriesMap[entry.library.name] = entry;\n // return entriesMap;\n // }, {});\n\n // const modules = await Promise.all(entriesArr.map(async (entry) => {\n // const dependencies = await this.dependencyResolver.getDependencies(entry.component);\n // const manifest = dependencies.toDependenciesManifest();\n // const peer = Object.entries(manifest.peerDependencies || {}).reduce((acc, [packageName, version]) => {\n // acc[packageName] = {\n // singleton: true,\n // requiredVersion: version\n // };\n\n // return acc;\n // }, {});\n // // console.log(entry);\n // return {\n // name: entry.library.name,\n // exposes: {\n // '.': entry.import || ''\n // },\n // shared: {\n // ...manifest.dependencies,\n // ...peer\n // },\n // };\n // }));\n }\n\n async computeComponentEntry(\n previewDefs: PreviewDefinition[],\n component: Component,\n context: ComputeTargetsContext\n ): Promise<ComponentEntry> {\n const componentPreviewPath = await this.computePaths(previewDefs, context, component);\n const [componentPath] = this.getPaths(context, component, [component.mainFile]);\n\n const chunks = {\n componentPreview: this.getComponentChunkId(component.id, 'preview'),\n component: context.splitComponentBundle ? component.id.toStringWithoutVersion() : undefined,\n };\n\n const entries = {\n [chunks.componentPreview]: {\n filename: this.getComponentChunkFileName(\n component.id.toString({\n fsCompatible: true,\n ignoreVersion: true,\n }),\n 'preview'\n ),\n import: componentPreviewPath,\n dependOn: chunks.component,\n library: { name: chunks.componentPreview, type: 'umd' },\n },\n };\n\n if (chunks.component) {\n entries[chunks.component] = {\n filename: this.getComponentChunkFileName(\n component.id.toString({\n fsCompatible: true,\n ignoreVersion: true,\n }),\n 'component'\n ),\n dependOn: undefined,\n import: componentPath,\n library: { name: chunks.component, type: 'umd' },\n };\n }\n\n return { component, entries };\n }\n\n private getComponentChunkId(componentId: ComponentID, type: 'component' | 'preview') {\n const id =\n type === 'component'\n ? componentId.toStringWithoutVersion()\n : `${componentId.toStringWithoutVersion()}-${PREVIEW_CHUNK_SUFFIX}`;\n return id;\n }\n\n private getComponentChunkFileName(idstr: string, type: 'component' | 'preview') {\n const suffix = type === 'component' ? COMPONENT_CHUNK_FILENAME_SUFFIX : PREVIEW_CHUNK_FILENAME_SUFFIX;\n return `${idstr}-${suffix}`;\n }\n\n private getAssetAbsolutePath(context: BundlerContext, asset: Asset): string {\n const path = this.getOutputPath(context);\n return join(path, 'public', this.getAssetFilename(asset));\n }\n\n private getAssetFilename(asset: Asset): string {\n // handle cases where the asset name is something like my-image.svg?hash (while the filename in the fs is just my-image.svg)\n const [name] = asset.name.split('?');\n return name;\n }\n\n copyAssetsToCapsules(context: BundlerContext, result: BundlerResult) {\n context.components.forEach((component) => {\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n if (!capsule) return;\n const files = this.findAssetsForComponent(component, result.assets, result.entriesAssetsMap || {});\n if (!files) return;\n const artifactDirFullPath = join(capsule.path, this.getArtifactDirectory());\n // We don't use the mkdirSync as it uses the capsule fs which uses memfs, which doesn't know to handle nested none existing folders\n mkdirpSync(artifactDirFullPath);\n\n files.forEach((asset) => {\n const filePath = this.getAssetAbsolutePath(context, asset);\n if (!existsSync(filePath)) {\n throw new PreviewOutputFileNotFound(component.id, filePath);\n }\n const destFilePath = join(artifactDirFullPath, this.getAssetFilename(asset));\n mkdirpSync(dirname(destFilePath));\n capsule.fs.copyFileSync(filePath, destFilePath);\n });\n });\n }\n\n // private getCssFileName(componentId: ComponentID): string {\n // return `${componentId.toString({ ignoreVersion: true, fsCompatible: true })}.css`;\n // }\n\n private findAssetsForComponent(\n component: Component,\n assets: Asset[],\n entriesAssetsMap: EntriesAssetsMap\n ): Asset[] | undefined {\n if (!assets) return undefined;\n\n const componentEntryId = component.id.toStringWithoutVersion();\n const componentPreviewEntryId = this.getComponentChunkId(component.id, 'preview');\n const componentFiles = entriesAssetsMap[componentEntryId]?.assets || [];\n const componentAuxiliaryFiles = entriesAssetsMap[componentEntryId]?.auxiliaryAssets || [];\n const componentPreviewFiles = entriesAssetsMap[componentPreviewEntryId]?.assets || [];\n const componentPreviewAuxiliaryFiles = entriesAssetsMap[componentPreviewEntryId]?.auxiliaryAssets || [];\n\n const files = componentFiles\n .concat(componentAuxiliaryFiles)\n .concat(componentPreviewFiles)\n .concat(componentPreviewAuxiliaryFiles);\n return files;\n }\n\n private getArtifactDirectory() {\n return join(CAPSULE_ARTIFACTS_DIR, 'preview');\n }\n\n private computeComponentMetadata(\n context: BundlerContext,\n result: BundlerResult,\n component: Component\n ): ComponentPreviewMetaData {\n const componentEntryId = component.id.toStringWithoutVersion();\n if (!result?.entriesAssetsMap || !result?.entriesAssetsMap[componentEntryId]) {\n return {};\n }\n const files = (result.entriesAssetsMap[componentEntryId]?.assets || []).map((file) => {\n return {\n name: basename(file.name),\n size: file.size,\n compressedSize: file.compressedSize,\n };\n });\n const filesTotalSize = result.entriesAssetsMap[componentEntryId]?.assetsSize || 0;\n const compressedTotalFiles = result.entriesAssetsMap[componentEntryId]?.compressedAssetsSize || 0;\n const assets = (result.entriesAssetsMap[componentEntryId]?.auxiliaryAssets || []).map((file) => {\n return {\n name: basename(file.name),\n size: file.size,\n compressedSize: file.compressedSize,\n };\n });\n const assetsTotalSize = result.entriesAssetsMap[componentEntryId]?.auxiliaryAssetsSize || 0;\n const compressedTotalAssets = result.entriesAssetsMap[componentEntryId]?.compressedAuxiliaryAssetsSize || 0;\n const totalSize = filesTotalSize + assetsTotalSize;\n const compressedTotal = compressedTotalFiles + compressedTotalAssets;\n\n const metadata = {\n [COMPONENT_STRATEGY_SIZE_KEY_NAME]: {\n files,\n assets,\n totalFiles: filesTotalSize,\n totalAssets: assetsTotalSize,\n total: totalSize,\n compressedTotalFiles,\n compressedTotalAssets,\n compressedTotal,\n },\n };\n\n return metadata;\n }\n\n async computeResults(context: BundlerContext, results: BundlerResult[]) {\n const componentsResults = flatten(\n await Promise.all(results.map((result) => this.computeTargetResult(context, result)))\n );\n\n const artifacts = this.getArtifactDef();\n\n return {\n componentsResults,\n artifacts,\n };\n }\n\n async computeTargetResult(context: BundlerContext, result: BundlerResult) {\n if (isEmpty(result.errors)) {\n // In case there are errors files will not be emitted so trying to copy them will fail anyway\n this.copyAssetsToCapsules(context, result);\n }\n\n const componentsResults: ComponentResult[] = result.components.map((component) => {\n const metadata = this.computeComponentMetadata(context, result, component);\n return {\n component,\n metadata,\n errors: result.errors.map((err) => (typeof err === 'string' ? err : err.message)),\n warning: result.warnings,\n startTime: result.startTime,\n endTime: result.endTime,\n };\n });\n\n return componentsResults;\n }\n\n private getArtifactDef() {\n // eslint-disable-next-line @typescript-eslint/prefer-as-const\n // const env: 'env' = 'env';\n // const rootDir = this.getDirName(context);\n\n return [\n {\n name: COMPONENT_STRATEGY_ARTIFACT_NAME,\n globPatterns: ['**'],\n rootDir: this.getArtifactDirectory(),\n // context: env,\n },\n ];\n }\n\n getDirName(context: ComputeTargetsContext) {\n const envName = context.id.replace('/', '__');\n return `${envName}-preview`;\n }\n\n private getOutputPath(context: ComputeTargetsContext) {\n return resolve(`${context.capsuleNetwork.capsulesRootDir}/${this.getDirName(context)}`);\n }\n\n private getPaths(context: ComputeTargetsContext, component: Component, files: AbstractVinyl[]) {\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n if (!capsule) return [];\n const compiler: Compiler = context.env.getCompiler();\n return files.map((file) => join(capsule.path, compiler.getDistPathBySrcPath(file.relative)));\n }\n\n private getComponentOutputPath(capsule: Capsule, context: ComputeTargetsContext) {\n const capsulePath = resolve(`${capsule.path}`);\n const compiler: Compiler = context.env.getCompiler();\n const distDir = compiler.getDistDir?.() || 'dist';\n return join(capsulePath, distDir);\n }\n\n private async computePaths(\n defs: PreviewDefinition[],\n context: ComputeTargetsContext,\n component: Component\n ): Promise<string> {\n // const previewMain = await this.preview.writePreviewRuntime(context);\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n // if (!capsule) return undefined;\n if (!capsule)\n throw new BitError(\n `could not find capsule for component ${component.id.toString()} during compute paths to bundle`\n );\n const moduleMapsPromise = defs.map(async (previewDef) => {\n const moduleMap = await previewDef.getModuleMap([component]);\n const metadata = previewDef.getMetadata ? await previewDef.getMetadata(component) : undefined;\n const maybeFiles = moduleMap.get(component);\n if (!maybeFiles || !capsule) return { prefix: previewDef.prefix, paths: [] };\n\n const [, files] = maybeFiles;\n const compiledPaths = this.getPaths(context, component, files);\n\n return {\n prefix: previewDef.prefix,\n paths: compiledPaths,\n metadata,\n };\n });\n\n const moduleMaps = await Promise.all(moduleMapsPromise);\n\n const contents = generateComponentLink(moduleMaps);\n const targetDir = this.getComponentOutputPath(capsule, context);\n\n return this.preview.writeLinkContents(contents, targetDir, 'preview');\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_path","data","require","_fsExtra","_lodash","_builder","_bitError","_generateComponentLink","_exceptions","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","PREVIEW_CHUNK_SUFFIX","exports","COMPONENT_CHUNK_SUFFIX","PREVIEW_CHUNK_FILENAME_SUFFIX","COMPONENT_CHUNK_FILENAME_SUFFIX","COMPONENT_STRATEGY_SIZE_KEY_NAME","COMPONENT_STRATEGY_ARTIFACT_NAME","ComponentBundlingStrategy","constructor","preview","pkg","dependencyResolver","computeTargets","context","previewDefs","outputPath","getOutputPath","existsSync","mkdirpSync","origComponents","capsuleNetwork","originalSeedersCapsules","map","capsule","component","entriesArr","Promise","all","computeComponentEntry","chunkSize","config","maxChunkSize","chunks","chunk","peers","getPreviewHostDependenciesFromEnv","envDefinition","env","targets","currentChunk","entries","components","forEach","entry","assign","push","hostRootDir","envRuntime","envAspectDefinition","aspectPath","hostDependencies","aliasHostDependencies","externalizeHostDependencies","componentPreviewPath","computePaths","componentPath","getPaths","mainFile","componentPreview","getComponentChunkId","id","splitComponentBundle","toStringWithoutVersion","undefined","filename","getComponentChunkFileName","toString","fsCompatible","ignoreVersion","import","dependOn","library","name","type","componentId","idstr","suffix","getAssetAbsolutePath","asset","path","join","getAssetFilename","split","copyAssetsToCapsules","result","graphCapsules","getCapsule","files","findAssetsForComponent","assets","entriesAssetsMap","artifactDirFullPath","getArtifactDirectory","filePath","PreviewOutputFileNotFound","destFilePath","dirname","fs","copyFileSync","componentEntryId","componentPreviewEntryId","componentFiles","componentAuxiliaryFiles","auxiliaryAssets","componentPreviewFiles","componentPreviewAuxiliaryFiles","concat","CAPSULE_ARTIFACTS_DIR","computeComponentMetadata","file","basename","size","compressedSize","filesTotalSize","assetsSize","compressedTotalFiles","compressedAssetsSize","assetsTotalSize","auxiliaryAssetsSize","compressedTotalAssets","compressedAuxiliaryAssetsSize","totalSize","compressedTotal","metadata","totalFiles","totalAssets","total","computeResults","results","componentsResults","flatten","computeTargetResult","artifacts","getArtifactDef","isEmpty","errors","err","message","warning","warnings","startTime","endTime","globPatterns","rootDir","getDirName","envName","replace","resolve","capsulesRootDir","compiler","getCompiler","getDistPathBySrcPath","relative","getComponentOutputPath","capsulePath","distDir","getDistDir","defs","BitError","moduleMapsPromise","previewDef","moduleMap","getModuleMap","getMetadata","maybeFiles","get","prefix","paths","compiledPaths","moduleMaps","contents","generateComponentLink","targetDir","writeLinkContents"],"sources":["component-strategy.ts"],"sourcesContent":["import { join, resolve, basename, dirname } from 'path';\nimport { existsSync, mkdirpSync } from 'fs-extra';\nimport { Component } from '@teambit/component';\nimport { ComponentID } from '@teambit/component-id';\nimport { flatten, isEmpty, chunk } from 'lodash';\nimport { Compiler } from '@teambit/compiler';\nimport type { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport type { Capsule } from '@teambit/isolator';\nimport { CAPSULE_ARTIFACTS_DIR, ComponentResult } from '@teambit/builder';\nimport type { PkgMain } from '@teambit/pkg';\nimport { BitError } from '@teambit/bit-error';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport type { BundlerResult, BundlerContext, Asset, BundlerEntryMap, EntriesAssetsMap, Target } from '@teambit/bundler';\nimport { BundlingStrategy, ComputeTargetsContext } from '../bundling-strategy';\nimport type { PreviewDefinition } from '../preview-definition';\nimport type { ComponentPreviewMetaData, PreviewMain } from '../preview.main.runtime';\nimport { generateComponentLink } from './generate-component-link';\nimport { PreviewOutputFileNotFound } from '../exceptions';\n\nexport const PREVIEW_CHUNK_SUFFIX = 'preview';\nexport const COMPONENT_CHUNK_SUFFIX = 'component';\nexport const PREVIEW_CHUNK_FILENAME_SUFFIX = `${PREVIEW_CHUNK_SUFFIX}.js`;\nexport const COMPONENT_CHUNK_FILENAME_SUFFIX = `${COMPONENT_CHUNK_SUFFIX}.js`;\n\nexport const COMPONENT_STRATEGY_SIZE_KEY_NAME = 'size';\nexport const COMPONENT_STRATEGY_ARTIFACT_NAME = 'preview-component';\n\ntype ComponentEntry = {\n component: Component;\n entries: Object;\n};\n/**\n * bundles all components in a given env into the same bundle.\n */\nexport class ComponentBundlingStrategy implements BundlingStrategy {\n name = 'component';\n\n constructor(private preview: PreviewMain, private pkg: PkgMain, private dependencyResolver: DependencyResolverMain) {}\n\n async computeTargets(context: ComputeTargetsContext, previewDefs: PreviewDefinition[]): Promise<Target[]> {\n const outputPath = this.getOutputPath(context);\n if (!existsSync(outputPath)) mkdirpSync(outputPath);\n\n // const entriesArr = flatten(\n // await Promise.all(\n // context.capsuleNetwork.seedersCapsules.map((capsule) => {\n // return this.computeComponentEntry(previewDefs, capsule.component, context);\n // }, {})\n // )\n // );\n\n const origComponents = context.capsuleNetwork.originalSeedersCapsules.map((capsule) => capsule.component);\n\n const entriesArr = await Promise.all(\n origComponents.map((component) => {\n return this.computeComponentEntry(previewDefs, component, context);\n }, {})\n );\n\n const chunkSize = this.preview.config.maxChunkSize;\n\n const chunks = chunkSize ? chunk(entriesArr, chunkSize) : [entriesArr];\n\n const peers = await this.dependencyResolver.getPreviewHostDependenciesFromEnv(context.envDefinition.env);\n\n const targets = chunks.map((currentChunk) => {\n const entries: BundlerEntryMap = {};\n const components: Component[] = [];\n currentChunk.forEach((entry) => {\n Object.assign(entries, entry.entries);\n components.push(entry.component);\n });\n\n return {\n entries,\n components,\n outputPath,\n hostRootDir: context.envRuntime.envAspectDefinition.aspectPath,\n hostDependencies: peers,\n aliasHostDependencies: true,\n externalizeHostDependencies: true,\n };\n });\n\n return targets;\n // const entries = entriesArr.reduce((entriesMap, entry) => {\n // entriesMap[entry.library.name] = entry;\n // return entriesMap;\n // }, {});\n\n // const modules = await Promise.all(entriesArr.map(async (entry) => {\n // const dependencies = await this.dependencyResolver.getDependencies(entry.component);\n // const manifest = dependencies.toDependenciesManifest();\n // const peer = Object.entries(manifest.peerDependencies || {}).reduce((acc, [packageName, version]) => {\n // acc[packageName] = {\n // singleton: true,\n // requiredVersion: version\n // };\n\n // return acc;\n // }, {});\n // // console.log(entry);\n // return {\n // name: entry.library.name,\n // exposes: {\n // '.': entry.import || ''\n // },\n // shared: {\n // ...manifest.dependencies,\n // ...peer\n // },\n // };\n // }));\n }\n\n async computeComponentEntry(\n previewDefs: PreviewDefinition[],\n component: Component,\n context: ComputeTargetsContext\n ): Promise<ComponentEntry> {\n const componentPreviewPath = await this.computePaths(previewDefs, context, component);\n const [componentPath] = this.getPaths(context, component, [component.mainFile]);\n\n const chunks = {\n componentPreview: this.getComponentChunkId(component.id, 'preview'),\n component: context.splitComponentBundle ? component.id.toStringWithoutVersion() : undefined,\n };\n\n const entries = {\n [chunks.componentPreview]: {\n filename: this.getComponentChunkFileName(\n component.id.toString({\n fsCompatible: true,\n ignoreVersion: true,\n }),\n 'preview'\n ),\n import: componentPreviewPath,\n dependOn: chunks.component,\n library: { name: chunks.componentPreview, type: 'umd' },\n },\n };\n\n if (chunks.component) {\n entries[chunks.component] = {\n filename: this.getComponentChunkFileName(\n component.id.toString({\n fsCompatible: true,\n ignoreVersion: true,\n }),\n 'component'\n ),\n dependOn: undefined,\n import: componentPath,\n library: { name: chunks.component, type: 'umd' },\n };\n }\n\n return { component, entries };\n }\n\n private getComponentChunkId(componentId: ComponentID, type: 'component' | 'preview') {\n const id =\n type === 'component'\n ? componentId.toStringWithoutVersion()\n : `${componentId.toStringWithoutVersion()}-${PREVIEW_CHUNK_SUFFIX}`;\n return id;\n }\n\n private getComponentChunkFileName(idstr: string, type: 'component' | 'preview') {\n const suffix = type === 'component' ? COMPONENT_CHUNK_FILENAME_SUFFIX : PREVIEW_CHUNK_FILENAME_SUFFIX;\n return `${idstr}-${suffix}`;\n }\n\n private getAssetAbsolutePath(context: BundlerContext, asset: Asset): string {\n const path = this.getOutputPath(context);\n return join(path, 'public', this.getAssetFilename(asset));\n }\n\n private getAssetFilename(asset: Asset): string {\n // handle cases where the asset name is something like my-image.svg?hash (while the filename in the fs is just my-image.svg)\n const [name] = asset.name.split('?');\n return name;\n }\n\n copyAssetsToCapsules(context: BundlerContext, result: BundlerResult) {\n context.components.forEach((component) => {\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n if (!capsule) return;\n const files = this.findAssetsForComponent(component, result.assets, result.entriesAssetsMap || {});\n if (!files) return;\n const artifactDirFullPath = join(capsule.path, this.getArtifactDirectory());\n // We don't use the mkdirSync as it uses the capsule fs which uses memfs, which doesn't know to handle nested none existing folders\n mkdirpSync(artifactDirFullPath);\n\n files.forEach((asset) => {\n const filePath = this.getAssetAbsolutePath(context, asset);\n if (!existsSync(filePath)) {\n throw new PreviewOutputFileNotFound(component.id, filePath);\n }\n const destFilePath = join(artifactDirFullPath, this.getAssetFilename(asset));\n mkdirpSync(dirname(destFilePath));\n capsule.fs.copyFileSync(filePath, destFilePath);\n });\n });\n }\n\n // private getCssFileName(componentId: ComponentID): string {\n // return `${componentId.toString({ ignoreVersion: true, fsCompatible: true })}.css`;\n // }\n\n private findAssetsForComponent(\n component: Component,\n assets: Asset[],\n entriesAssetsMap: EntriesAssetsMap\n ): Asset[] | undefined {\n if (!assets) return undefined;\n\n const componentEntryId = component.id.toStringWithoutVersion();\n const componentPreviewEntryId = this.getComponentChunkId(component.id, 'preview');\n const componentFiles = entriesAssetsMap[componentEntryId]?.assets || [];\n const componentAuxiliaryFiles = entriesAssetsMap[componentEntryId]?.auxiliaryAssets || [];\n const componentPreviewFiles = entriesAssetsMap[componentPreviewEntryId]?.assets || [];\n const componentPreviewAuxiliaryFiles = entriesAssetsMap[componentPreviewEntryId]?.auxiliaryAssets || [];\n\n const files = componentFiles\n .concat(componentAuxiliaryFiles)\n .concat(componentPreviewFiles)\n .concat(componentPreviewAuxiliaryFiles);\n return files;\n }\n\n private getArtifactDirectory() {\n return join(CAPSULE_ARTIFACTS_DIR, 'preview');\n }\n\n private computeComponentMetadata(\n context: BundlerContext,\n result: BundlerResult,\n component: Component\n ): ComponentPreviewMetaData {\n const componentEntryId = component.id.toStringWithoutVersion();\n if (!result?.entriesAssetsMap || !result?.entriesAssetsMap[componentEntryId]) {\n return {};\n }\n const files = (result.entriesAssetsMap[componentEntryId]?.assets || []).map((file) => {\n return {\n name: basename(file.name),\n size: file.size,\n compressedSize: file.compressedSize,\n };\n });\n const filesTotalSize = result.entriesAssetsMap[componentEntryId]?.assetsSize || 0;\n const compressedTotalFiles = result.entriesAssetsMap[componentEntryId]?.compressedAssetsSize || 0;\n const assets = (result.entriesAssetsMap[componentEntryId]?.auxiliaryAssets || []).map((file) => {\n return {\n name: basename(file.name),\n size: file.size,\n compressedSize: file.compressedSize,\n };\n });\n const assetsTotalSize = result.entriesAssetsMap[componentEntryId]?.auxiliaryAssetsSize || 0;\n const compressedTotalAssets = result.entriesAssetsMap[componentEntryId]?.compressedAuxiliaryAssetsSize || 0;\n const totalSize = filesTotalSize + assetsTotalSize;\n const compressedTotal = compressedTotalFiles + compressedTotalAssets;\n\n const metadata = {\n [COMPONENT_STRATEGY_SIZE_KEY_NAME]: {\n files,\n assets,\n totalFiles: filesTotalSize,\n totalAssets: assetsTotalSize,\n total: totalSize,\n compressedTotalFiles,\n compressedTotalAssets,\n compressedTotal,\n },\n };\n\n return metadata;\n }\n\n async computeResults(context: BundlerContext, results: BundlerResult[]) {\n const componentsResults = flatten(\n await Promise.all(results.map((result) => this.computeTargetResult(context, result)))\n );\n\n const artifacts = this.getArtifactDef();\n\n return {\n componentsResults,\n artifacts,\n };\n }\n\n async computeTargetResult(context: BundlerContext, result: BundlerResult) {\n if (isEmpty(result.errors)) {\n // In case there are errors files will not be emitted so trying to copy them will fail anyway\n this.copyAssetsToCapsules(context, result);\n }\n\n const componentsResults: ComponentResult[] = result.components.map((component) => {\n const metadata = this.computeComponentMetadata(context, result, component);\n return {\n component,\n metadata,\n errors: result.errors.map((err) => (typeof err === 'string' ? err : err.message)),\n warning: result.warnings,\n startTime: result.startTime,\n endTime: result.endTime,\n };\n });\n\n return componentsResults;\n }\n\n private getArtifactDef() {\n // eslint-disable-next-line @typescript-eslint/prefer-as-const\n // const env: 'env' = 'env';\n // const rootDir = this.getDirName(context);\n\n return [\n {\n name: COMPONENT_STRATEGY_ARTIFACT_NAME,\n globPatterns: ['**'],\n rootDir: this.getArtifactDirectory(),\n // context: env,\n },\n ];\n }\n\n getDirName(context: ComputeTargetsContext) {\n const envName = context.id.replace('/', '__');\n return `${envName}-preview`;\n }\n\n private getOutputPath(context: ComputeTargetsContext) {\n return resolve(`${context.capsuleNetwork.capsulesRootDir}/${this.getDirName(context)}`);\n }\n\n private getPaths(context: ComputeTargetsContext, component: Component, files: AbstractVinyl[]) {\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n if (!capsule) return [];\n const compiler: Compiler = context.env.getCompiler();\n return files.map((file) => join(capsule.path, compiler.getDistPathBySrcPath(file.relative)));\n }\n\n private getComponentOutputPath(capsule: Capsule, context: ComputeTargetsContext) {\n const capsulePath = resolve(`${capsule.path}`);\n const compiler: Compiler = context.env.getCompiler();\n const distDir = compiler.getDistDir?.() || 'dist';\n return join(capsulePath, distDir);\n }\n\n private async computePaths(\n defs: PreviewDefinition[],\n context: ComputeTargetsContext,\n component: Component\n ): Promise<string> {\n // const previewMain = await this.preview.writePreviewRuntime(context);\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n // if (!capsule) return undefined;\n if (!capsule)\n throw new BitError(\n `could not find capsule for component ${component.id.toString()} during compute paths to bundle`\n );\n const moduleMapsPromise = defs.map(async (previewDef) => {\n const moduleMap = await previewDef.getModuleMap([component]);\n const metadata = previewDef.getMetadata ? await previewDef.getMetadata(component) : undefined;\n const maybeFiles = moduleMap.get(component);\n if (!maybeFiles || !capsule) return { prefix: previewDef.prefix, paths: [] };\n\n const [, files] = maybeFiles;\n const compiledPaths = this.getPaths(context, component, files);\n\n return {\n prefix: previewDef.prefix,\n paths: compiledPaths,\n metadata,\n };\n });\n\n const moduleMaps = await Promise.all(moduleMapsPromise);\n\n const contents = generateComponentLink(moduleMaps);\n const targetDir = this.getComponentOutputPath(capsule, context);\n\n return this.preview.writeLinkContents(contents, targetDir, 'preview');\n }\n}\n"],"mappings":"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"}
@@ -77,7 +77,7 @@ class EnvBundlingStrategy {
77
77
  title: 'Preview',
78
78
  templateContent: (0, _htmlTemplate().html)('Preview'),
79
79
  cache: false,
80
- minify: (options === null || options === void 0 ? void 0 : options.dev) ?? true
80
+ minify: options?.dev ?? true
81
81
  };
82
82
  return config;
83
83
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","require","_fsExtra","_lodash","_component","_htmlTemplate","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ENV_STRATEGY_ARTIFACT_NAME","exports","EnvBundlingStrategy","constructor","preview","pkg","dependencyResolver","computeTargets","context","previewDefs","outputPath","getOutputPath","existsSync","mkdirpSync","htmlConfig","generateHtmlConfig","dev","peers","getPreviewHostDependenciesFromEnv","envDefinition","env","entries","computePaths","html","components","hostDependencies","aliasHostDependencies","options","config","title","templateContent","cache","minify","computeResults","results","result","componentsResults","map","component","errors","err","message","warning","warnings","startTime","endTime","artifacts","getArtifactDef","rootDir","getDirName","name","globPatterns","envName","id","replace","resolve","capsuleNetwork","capsulesRootDir","getPaths","files","capsule","compiler","getCompiler","file","join","path","getDistPathBySrcPath","relative","defs","previewMain","writePreviewRuntime","moduleMapsPromise","previewDef","moduleMap","getModuleMap","paths","ComponentMap","as","graphCapsules","getCapsule","maybeFiles","get","compiledPaths","template","renderTemplatePath","link","writeLink","prefix","default","flatten","toArray","concat","moduleMaps","Promise","all"],"sources":["env-strategy.ts"],"sourcesContent":["import { join, resolve } from 'path';\nimport { existsSync, mkdirpSync } from 'fs-extra';\nimport { flatten } from 'lodash';\nimport { ComponentMap } from '@teambit/component';\nimport { Compiler } from '@teambit/compiler';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { Capsule } from '@teambit/isolator';\nimport { ComponentResult } from '@teambit/builder';\nimport { BundlerContext, BundlerHtmlConfig, BundlerResult } from '@teambit/bundler';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { PkgMain } from '@teambit/pkg';\nimport type { BundlingStrategy, ComputeTargetsContext } from '../bundling-strategy';\nimport { PreviewDefinition } from '../preview-definition';\nimport { PreviewMain } from '../preview.main.runtime';\nimport { html } from '../bundler/html-template';\n\nexport const ENV_STRATEGY_ARTIFACT_NAME = 'preview';\n\n/**\n * bundles all components in a given env into the same bundle.\n */\nexport class EnvBundlingStrategy implements BundlingStrategy {\n name = 'env';\n\n constructor(private preview: PreviewMain, private pkg: PkgMain, private dependencyResolver: DependencyResolverMain) {}\n\n async computeTargets(context: ComputeTargetsContext, previewDefs: PreviewDefinition[]) {\n const outputPath = this.getOutputPath(context);\n if (!existsSync(outputPath)) mkdirpSync(outputPath);\n const htmlConfig = this.generateHtmlConfig({ dev: context.dev });\n const peers = await this.dependencyResolver.getPreviewHostDependenciesFromEnv(context.envDefinition.env);\n\n return [\n {\n entries: await this.computePaths(outputPath, previewDefs, context),\n html: [htmlConfig],\n components: context.components,\n outputPath,\n /* It's a path to the root of the host component. */\n // hostRootDir, handle this\n hostDependencies: peers,\n aliasHostDependencies: true,\n },\n ];\n }\n\n private generateHtmlConfig(options: { dev?: boolean }): BundlerHtmlConfig {\n const config = {\n title: 'Preview',\n templateContent: html('Preview'),\n cache: false,\n minify: options?.dev ?? true,\n };\n return config;\n }\n\n async computeResults(context: BundlerContext, results: BundlerResult[]) {\n const result = results[0];\n\n const componentsResults: ComponentResult[] = result.components.map((component) => {\n return {\n component,\n errors: result.errors.map((err) => (typeof err === 'string' ? err : err.message)),\n warning: result.warnings,\n startTime: result.startTime,\n endTime: result.endTime,\n };\n });\n\n const artifacts = this.getArtifactDef(context);\n\n return {\n componentsResults,\n artifacts,\n };\n }\n\n private getArtifactDef(context: ComputeTargetsContext) {\n // eslint-disable-next-line @typescript-eslint/prefer-as-const\n const env: 'env' = 'env';\n const rootDir = this.getDirName(context);\n\n return [\n {\n name: ENV_STRATEGY_ARTIFACT_NAME,\n globPatterns: ['public/**'],\n rootDir,\n context: env,\n },\n ];\n }\n\n getDirName(context: ComputeTargetsContext) {\n const envName = context.id.replace('/', '__');\n return `${envName}-preview`;\n }\n\n private getOutputPath(context: ComputeTargetsContext) {\n return resolve(`${context.capsuleNetwork.capsulesRootDir}/${this.getDirName(context)}`);\n }\n\n private getPaths(context: ComputeTargetsContext, files: AbstractVinyl[], capsule: Capsule) {\n const compiler: Compiler = context.env.getCompiler();\n return files.map((file) => join(capsule.path, compiler.getDistPathBySrcPath(file.relative)));\n }\n\n private async computePaths(\n outputPath: string,\n defs: PreviewDefinition[],\n context: ComputeTargetsContext\n ): Promise<string[]> {\n const previewMain = await this.preview.writePreviewRuntime(context);\n const moduleMapsPromise = defs.map(async (previewDef) => {\n const moduleMap = await previewDef.getModuleMap(context.components);\n\n const paths = ComponentMap.as(context.components, (component) => {\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n const maybeFiles = moduleMap.get(component);\n if (!maybeFiles || !capsule) return [];\n const [, files] = maybeFiles;\n const compiledPaths = this.getPaths(context, files, capsule);\n return compiledPaths;\n });\n\n const template = previewDef.renderTemplatePath ? await previewDef.renderTemplatePath(context) : 'undefined';\n\n const link = this.preview.writeLink(\n previewDef.prefix,\n paths,\n { default: template || 'undefined' },\n outputPath,\n false\n );\n\n const files = flatten(paths.toArray().map(([, file]) => file)).concat([link]);\n\n if (template) return files.concat([template]);\n return files;\n });\n\n const moduleMaps = await Promise.all(moduleMapsPromise);\n\n return flatten(moduleMaps.concat([previewMain]));\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_path","data","require","_fsExtra","_lodash","_component","_htmlTemplate","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ENV_STRATEGY_ARTIFACT_NAME","exports","EnvBundlingStrategy","constructor","preview","pkg","dependencyResolver","computeTargets","context","previewDefs","outputPath","getOutputPath","existsSync","mkdirpSync","htmlConfig","generateHtmlConfig","dev","peers","getPreviewHostDependenciesFromEnv","envDefinition","env","entries","computePaths","html","components","hostDependencies","aliasHostDependencies","options","config","title","templateContent","cache","minify","computeResults","results","result","componentsResults","map","component","errors","err","message","warning","warnings","startTime","endTime","artifacts","getArtifactDef","rootDir","getDirName","name","globPatterns","envName","id","replace","resolve","capsuleNetwork","capsulesRootDir","getPaths","files","capsule","compiler","getCompiler","file","join","path","getDistPathBySrcPath","relative","defs","previewMain","writePreviewRuntime","moduleMapsPromise","previewDef","moduleMap","getModuleMap","paths","ComponentMap","as","graphCapsules","getCapsule","maybeFiles","get","compiledPaths","template","renderTemplatePath","link","writeLink","prefix","default","flatten","toArray","concat","moduleMaps","Promise","all"],"sources":["env-strategy.ts"],"sourcesContent":["import { join, resolve } from 'path';\nimport { existsSync, mkdirpSync } from 'fs-extra';\nimport { flatten } from 'lodash';\nimport { ComponentMap } from '@teambit/component';\nimport { Compiler } from '@teambit/compiler';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { Capsule } from '@teambit/isolator';\nimport { ComponentResult } from '@teambit/builder';\nimport { BundlerContext, BundlerHtmlConfig, BundlerResult } from '@teambit/bundler';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { PkgMain } from '@teambit/pkg';\nimport type { BundlingStrategy, ComputeTargetsContext } from '../bundling-strategy';\nimport { PreviewDefinition } from '../preview-definition';\nimport { PreviewMain } from '../preview.main.runtime';\nimport { html } from '../bundler/html-template';\n\nexport const ENV_STRATEGY_ARTIFACT_NAME = 'preview';\n\n/**\n * bundles all components in a given env into the same bundle.\n */\nexport class EnvBundlingStrategy implements BundlingStrategy {\n name = 'env';\n\n constructor(private preview: PreviewMain, private pkg: PkgMain, private dependencyResolver: DependencyResolverMain) {}\n\n async computeTargets(context: ComputeTargetsContext, previewDefs: PreviewDefinition[]) {\n const outputPath = this.getOutputPath(context);\n if (!existsSync(outputPath)) mkdirpSync(outputPath);\n const htmlConfig = this.generateHtmlConfig({ dev: context.dev });\n const peers = await this.dependencyResolver.getPreviewHostDependenciesFromEnv(context.envDefinition.env);\n\n return [\n {\n entries: await this.computePaths(outputPath, previewDefs, context),\n html: [htmlConfig],\n components: context.components,\n outputPath,\n /* It's a path to the root of the host component. */\n // hostRootDir, handle this\n hostDependencies: peers,\n aliasHostDependencies: true,\n },\n ];\n }\n\n private generateHtmlConfig(options: { dev?: boolean }): BundlerHtmlConfig {\n const config = {\n title: 'Preview',\n templateContent: html('Preview'),\n cache: false,\n minify: options?.dev ?? true,\n };\n return config;\n }\n\n async computeResults(context: BundlerContext, results: BundlerResult[]) {\n const result = results[0];\n\n const componentsResults: ComponentResult[] = result.components.map((component) => {\n return {\n component,\n errors: result.errors.map((err) => (typeof err === 'string' ? err : err.message)),\n warning: result.warnings,\n startTime: result.startTime,\n endTime: result.endTime,\n };\n });\n\n const artifacts = this.getArtifactDef(context);\n\n return {\n componentsResults,\n artifacts,\n };\n }\n\n private getArtifactDef(context: ComputeTargetsContext) {\n // eslint-disable-next-line @typescript-eslint/prefer-as-const\n const env: 'env' = 'env';\n const rootDir = this.getDirName(context);\n\n return [\n {\n name: ENV_STRATEGY_ARTIFACT_NAME,\n globPatterns: ['public/**'],\n rootDir,\n context: env,\n },\n ];\n }\n\n getDirName(context: ComputeTargetsContext) {\n const envName = context.id.replace('/', '__');\n return `${envName}-preview`;\n }\n\n private getOutputPath(context: ComputeTargetsContext) {\n return resolve(`${context.capsuleNetwork.capsulesRootDir}/${this.getDirName(context)}`);\n }\n\n private getPaths(context: ComputeTargetsContext, files: AbstractVinyl[], capsule: Capsule) {\n const compiler: Compiler = context.env.getCompiler();\n return files.map((file) => join(capsule.path, compiler.getDistPathBySrcPath(file.relative)));\n }\n\n private async computePaths(\n outputPath: string,\n defs: PreviewDefinition[],\n context: ComputeTargetsContext\n ): Promise<string[]> {\n const previewMain = await this.preview.writePreviewRuntime(context);\n const moduleMapsPromise = defs.map(async (previewDef) => {\n const moduleMap = await previewDef.getModuleMap(context.components);\n\n const paths = ComponentMap.as(context.components, (component) => {\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n const maybeFiles = moduleMap.get(component);\n if (!maybeFiles || !capsule) return [];\n const [, files] = maybeFiles;\n const compiledPaths = this.getPaths(context, files, capsule);\n return compiledPaths;\n });\n\n const template = previewDef.renderTemplatePath ? await previewDef.renderTemplatePath(context) : 'undefined';\n\n const link = this.preview.writeLink(\n previewDef.prefix,\n paths,\n { default: template || 'undefined' },\n outputPath,\n false\n );\n\n const files = flatten(paths.toArray().map(([, file]) => file)).concat([link]);\n\n if (template) return files.concat([template]);\n return files;\n });\n\n const moduleMaps = await Promise.all(moduleMapsPromise);\n\n return flatten(moduleMaps.concat([previewMain]));\n }\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare type ModuleVar = {
1
+ export type ModuleVar = {
2
2
  prefix: string;
3
3
  paths: string[];
4
4
  metadata?: unknown;
@@ -1,11 +1,11 @@
1
- declare type MainModuleExports = {
1
+ type MainModuleExports = {
2
2
  (...args: any[]): void;
3
3
  apiObject?: boolean;
4
4
  };
5
5
  /**
6
6
  * A full index of the preview data
7
7
  */
8
- export declare type PreviewModule<T = any> = {
8
+ export type PreviewModule<T = any> = {
9
9
  /** Dictionary mapping components to their module files. */
10
10
  componentMap: Record<string, ModuleFile<T>[]>;
11
11
  /**
@@ -24,5 +24,5 @@ export declare type PreviewModule<T = any> = {
24
24
  isSplitComponentBundle?: boolean;
25
25
  };
26
26
  /** single preview module, e.g. compositions file */
27
- export declare type ModuleFile<T = any> = Record<string, T>;
27
+ export type ModuleFile<T = any> = Record<string, T>;
28
28
  export {};
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/preview",
3
- "version": "1.0.107",
3
+ "version": "1.0.109",
4
4
  "homepage": "https://bit.cloud/teambit/preview/preview",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.preview",
8
8
  "name": "preview",
9
- "version": "1.0.107"
9
+ "version": "1.0.109"
10
10
  },
11
11
  "dependencies": {
12
12
  "mime": "2.5.2",
@@ -16,58 +16,54 @@
16
16
  "camelcase": "6.2.0",
17
17
  "graphql-tag": "2.12.1",
18
18
  "object-hash": "2.1.1",
19
- "cross-fetch": "3.1.5",
20
- "memoizee": "0.4.15",
21
19
  "lodash.compact": "3.0.1",
22
20
  "graphql-request": "6.1.0",
23
- "core-js": "^3.0.0",
24
- "@babel/runtime": "7.20.0",
25
21
  "@teambit/ui-foundation.ui.pages.static-error": "0.0.92",
26
22
  "@teambit/component-id": "1.2.0",
27
23
  "@teambit/harmony": "0.4.6",
28
24
  "@teambit/bit-error": "0.0.404",
29
- "@teambit/express": "0.0.938",
30
- "@teambit/logger": "0.0.932",
31
- "@teambit/builder": "1.0.107",
32
- "@teambit/bundler": "1.0.107",
33
- "@teambit/component": "1.0.107",
25
+ "@teambit/express": "0.0.940",
26
+ "@teambit/logger": "0.0.934",
27
+ "@teambit/builder": "1.0.109",
28
+ "@teambit/bundler": "1.0.109",
29
+ "@teambit/component": "1.0.109",
34
30
  "@teambit/preview.ui.component-preview": "1.0.3",
35
- "@teambit/aspect-loader": "1.0.107",
36
- "@teambit/cli": "0.0.839",
37
- "@teambit/dependency-resolver": "1.0.107",
38
- "@teambit/envs": "1.0.107",
31
+ "@teambit/aspect-loader": "1.0.109",
32
+ "@teambit/cli": "0.0.841",
33
+ "@teambit/dependency-resolver": "1.0.109",
34
+ "@teambit/envs": "1.0.109",
39
35
  "@teambit/toolbox.path.to-windows-compatible-path": "0.0.494",
40
- "@teambit/graphql": "1.0.107",
41
- "@teambit/pkg": "1.0.107",
42
- "@teambit/pubsub": "1.0.107",
43
- "@teambit/scope": "1.0.107",
44
- "@teambit/ui": "1.0.107",
45
- "@teambit/watcher": "1.0.107",
46
- "@teambit/workspace": "1.0.107",
47
- "@teambit/compiler": "1.0.107",
36
+ "@teambit/graphql": "1.0.109",
37
+ "@teambit/pkg": "1.0.109",
38
+ "@teambit/pubsub": "1.0.109",
39
+ "@teambit/scope": "1.0.109",
40
+ "@teambit/ui": "1.0.109",
41
+ "@teambit/watcher": "1.0.109",
42
+ "@teambit/workspace": "1.0.109",
43
+ "@teambit/compiler": "1.0.109",
48
44
  "@teambit/preview.cli.preview-server-status": "0.0.504",
49
45
  "@teambit/preview.cli.webpack-events-listener": "0.0.172",
50
- "@teambit/isolator": "1.0.107"
46
+ "@teambit/isolator": "1.0.109"
51
47
  },
52
48
  "devDependencies": {
53
49
  "@types/mime": "2.0.3",
54
50
  "@types/fs-extra": "9.0.7",
55
51
  "@types/lodash": "4.14.165",
56
- "@types/react": "^17.0.8",
57
52
  "@types/object-hash": "1.3.4",
58
53
  "@types/memoizee": "0.4.5",
54
+ "cross-fetch": "3.1.5",
55
+ "memoizee": "0.4.15",
59
56
  "@types/lodash.compact": "3.0.6",
60
57
  "@types/mocha": "9.1.0",
61
- "@types/node": "12.20.4",
62
- "@types/react-dom": "^17.0.5",
63
- "@types/jest": "^26.0.0",
64
- "@types/testing-library__jest-dom": "5.9.5",
58
+ "@types/jest": "^29.2.2",
59
+ "@types/testing-library__jest-dom": "^5.9.5",
60
+ "@teambit/harmony.envs.core-aspect-env": "0.0.14",
65
61
  "@teambit/preview.aspect-docs.preview": "0.0.165"
66
62
  },
67
63
  "peerDependencies": {
68
- "@teambit/legacy": "1.0.624",
69
- "react": "^16.8.0 || ^17.0.0",
70
- "react-dom": "^16.8.0 || ^17.0.0"
64
+ "react": "^17.0.0 || ^18.0.0",
65
+ "@types/react": "^18.2.12",
66
+ "@teambit/legacy": "1.0.624"
71
67
  },
72
68
  "license": "Apache-2.0",
73
69
  "optionalDependencies": {},
@@ -81,7 +77,7 @@
81
77
  },
82
78
  "private": false,
83
79
  "engines": {
84
- "node": ">=12.22.0"
80
+ "node": ">=16.0.0"
85
81
  },
86
82
  "repository": {
87
83
  "type": "git",
@@ -90,12 +86,9 @@
90
86
  "keywords": [
91
87
  "bit",
92
88
  "bit-aspect",
89
+ "bit-core-aspect",
93
90
  "components",
94
91
  "collaboration",
95
- "web",
96
- "react",
97
- "react-components",
98
- "angular",
99
- "angular-components"
92
+ "web"
100
93
  ]
101
94
  }
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
+ }