@teambit/preview 0.0.639 → 0.0.640

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.
@@ -1 +1 @@
1
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.preview_preview@0.0.639/dist/preview.docs.mdx')]
1
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.preview_preview@0.0.640/dist/preview.docs.mdx')]
@@ -61,6 +61,7 @@ class ComponentPreviewRoute {
61
61
  isLegacyPath = true;
62
62
  artifact = await this.preview.getPreview(component);
63
63
  } catch (e) {
64
+ this.logger.error(`preview.getPreview has failed`, e);
64
65
  return res.status(404).send((0, _uiFoundationUiPages().noPreview)());
65
66
  } // @ts-ignore
66
67
 
@@ -1 +1 @@
1
- {"version":3,"sources":["component-preview.route.ts"],"names":["ComponentPreviewRoute","constructor","preview","logger","req","res","next","isLegacyPath","component","status","send","artifact","getPreview","e","error"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAMA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,qBAAN,CAA6C;AAClDC,EAAAA,WAAW;AACT;AACJ;AACA;AACYC,EAAAA,OAJC,EAKDC,MALC,EAMT;AAAA,SAFQD,OAER,GAFQA,OAER;AAAA,SADQC,MACR,GADQA,MACR;AAAA,mDAEO,iCAFP;AAAA,oDAGO,KAHP;AAAA,yDAKY,CACZ,OAAOC,GAAP,EAAuCC,GAAvC,EAAsDC,IAAtD,KAA6E;AAC3E,UAAI;AACF,YAAIC,YAAY,GAAG,KAAnB,CADE,CAEF;;AACA,cAAMC,SAAS,GAAGJ,GAAG,CAACI,SAAtB;AACA,YAAI,CAACA,SAAL,EAAgB,OAAOH,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,uCAArB,CAAP;AAEhB,YAAIC,QAAJ,CANE,CAOF;;AACA,YAAI;AACFJ,UAAAA,YAAY,GAAG,IAAf;AACAI,UAAAA,QAAQ,GAAG,MAAM,KAAKT,OAAL,CAAaU,UAAb,CAAwBJ,SAAxB,CAAjB;AACD,SAHD,CAGE,OAAOK,CAAP,EAAe;AACf,iBAAOR,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,uCAArB,CAAP;AACD,SAbC,CAcF;;;AACAN,QAAAA,GAAG,CAACO,QAAJ,GAAeA,QAAf,CAfE,CAgBF;;AACAP,QAAAA,GAAG,CAACG,YAAJ,GAAmBA,YAAnB;AACA,eAAOD,IAAI,EAAX;AACD,OAnBD,CAmBE,OAAOO,CAAP,EAAe;AACf,aAAKV,MAAL,CAAYW,KAAZ,CAAkB,wBAAlB,EAA4CD,CAA5C;AACA,eAAOR,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,yCAArB,CAAP;AACD;AACF,KAzBW,EA0BZ,yDAA0B,KAAKP,MAA/B,CA1BY,CALZ;AAAE;;AAP8C","sourcesContent":["import type { NextFunction, Request, Response, Route } from '@teambit/express';\nimport type { Component } from '@teambit/component';\nimport { noPreview, serverError } from '@teambit/ui-foundation.ui.pages.static-error';\nimport type { Logger } from '@teambit/logger';\n\nimport { PreviewMain } from './preview.main.runtime';\nimport type { PreviewArtifact } from './preview-artifact';\nimport type { PreviewUrlParams } from './artifact-file-middleware';\nimport { getArtifactFileMiddleware } from './artifact-file-middleware';\n\nexport class ComponentPreviewRoute implements Route {\n constructor(\n /**\n * preview extension.\n */\n private preview: PreviewMain,\n private logger: Logger\n ) {}\n\n route = `/component-preview/:filePath(*)`;\n method = 'get';\n\n middlewares = [\n async (req: Request<PreviewUrlParams>, res: Response, next: NextFunction) => {\n try {\n let isLegacyPath = false;\n // @ts-ignore TODO: @guy please fix.\n const component = req.component as Component | undefined;\n if (!component) return res.status(404).send(noPreview());\n\n let artifact: PreviewArtifact | undefined;\n // TODO - prevent error `getVinylsAndImportIfMissing is not a function` #4680\n try {\n isLegacyPath = true;\n artifact = await this.preview.getPreview(component);\n } catch (e: any) {\n return res.status(404).send(noPreview());\n }\n // @ts-ignore\n req.artifact = artifact;\n // @ts-ignore\n req.isLegacyPath = isLegacyPath;\n return next();\n } catch (e: any) {\n this.logger.error('failed getting preview', e);\n return res.status(500).send(serverError());\n }\n },\n getArtifactFileMiddleware(this.logger),\n ];\n}\n"]}
1
+ {"version":3,"sources":["component-preview.route.ts"],"names":["ComponentPreviewRoute","constructor","preview","logger","req","res","next","isLegacyPath","component","status","send","artifact","getPreview","e","error"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAMA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,qBAAN,CAA6C;AAClDC,EAAAA,WAAW;AACT;AACJ;AACA;AACYC,EAAAA,OAJC,EAKDC,MALC,EAMT;AAAA,SAFQD,OAER,GAFQA,OAER;AAAA,SADQC,MACR,GADQA,MACR;AAAA,mDAEO,iCAFP;AAAA,oDAGO,KAHP;AAAA,yDAKY,CACZ,OAAOC,GAAP,EAAuCC,GAAvC,EAAsDC,IAAtD,KAA6E;AAC3E,UAAI;AACF,YAAIC,YAAY,GAAG,KAAnB,CADE,CAEF;;AACA,cAAMC,SAAS,GAAGJ,GAAG,CAACI,SAAtB;AACA,YAAI,CAACA,SAAL,EAAgB,OAAOH,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,uCAArB,CAAP;AAEhB,YAAIC,QAAJ,CANE,CAOF;;AACA,YAAI;AACFJ,UAAAA,YAAY,GAAG,IAAf;AACAI,UAAAA,QAAQ,GAAG,MAAM,KAAKT,OAAL,CAAaU,UAAb,CAAwBJ,SAAxB,CAAjB;AACD,SAHD,CAGE,OAAOK,CAAP,EAAe;AACf,eAAKV,MAAL,CAAYW,KAAZ,CAAmB,+BAAnB,EAAmDD,CAAnD;AACA,iBAAOR,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,uCAArB,CAAP;AACD,SAdC,CAeF;;;AACAN,QAAAA,GAAG,CAACO,QAAJ,GAAeA,QAAf,CAhBE,CAiBF;;AACAP,QAAAA,GAAG,CAACG,YAAJ,GAAmBA,YAAnB;AACA,eAAOD,IAAI,EAAX;AACD,OApBD,CAoBE,OAAOO,CAAP,EAAe;AACf,aAAKV,MAAL,CAAYW,KAAZ,CAAkB,wBAAlB,EAA4CD,CAA5C;AACA,eAAOR,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,yCAArB,CAAP;AACD;AACF,KA1BW,EA2BZ,yDAA0B,KAAKP,MAA/B,CA3BY,CALZ;AAAE;;AAP8C","sourcesContent":["import type { NextFunction, Request, Response, Route } from '@teambit/express';\nimport type { Component } from '@teambit/component';\nimport { noPreview, serverError } from '@teambit/ui-foundation.ui.pages.static-error';\nimport type { Logger } from '@teambit/logger';\n\nimport { PreviewMain } from './preview.main.runtime';\nimport type { PreviewArtifact } from './preview-artifact';\nimport type { PreviewUrlParams } from './artifact-file-middleware';\nimport { getArtifactFileMiddleware } from './artifact-file-middleware';\n\nexport class ComponentPreviewRoute implements Route {\n constructor(\n /**\n * preview extension.\n */\n private preview: PreviewMain,\n private logger: Logger\n ) {}\n\n route = `/component-preview/:filePath(*)`;\n method = 'get';\n\n middlewares = [\n async (req: Request<PreviewUrlParams>, res: Response, next: NextFunction) => {\n try {\n let isLegacyPath = false;\n // @ts-ignore TODO: @guy please fix.\n const component = req.component as Component | undefined;\n if (!component) return res.status(404).send(noPreview());\n\n let artifact: PreviewArtifact | undefined;\n // TODO - prevent error `getVinylsAndImportIfMissing is not a function` #4680\n try {\n isLegacyPath = true;\n artifact = await this.preview.getPreview(component);\n } catch (e: any) {\n this.logger.error(`preview.getPreview has failed`, e);\n return res.status(404).send(noPreview());\n }\n // @ts-ignore\n req.artifact = artifact;\n // @ts-ignore\n req.isLegacyPath = isLegacyPath;\n return next();\n } catch (e: any) {\n this.logger.error('failed getting preview', e);\n return res.status(500).send(serverError());\n }\n },\n getArtifactFileMiddleware(this.logger),\n ];\n}\n"]}
@@ -161,7 +161,7 @@ class EnvPreviewTemplateTask {
161
161
  if (!targets.length) return {
162
162
  componentsResults: []
163
163
  };
164
- const bundlerContext = Object.assign({}, context, {
164
+ const bundlerContext = Object.assign((0, _lodash().cloneDeep)(context), {
165
165
  targets,
166
166
  entry: [],
167
167
  externalizePeer: false,
@@ -1 +1 @@
1
- {"version":3,"sources":["env-preview-template.task.ts"],"names":["GENERATE_ENV_TEMPLATE_TASK_NAME","PREVIEW_ROOT_CHUNK_NAME","PEERS_CHUNK_NAME","EnvPreviewTemplateTask","constructor","preview","envs","execute","context","previewDefs","getDefs","htmlConfig","generateHtmlConfig","dev","targets","Promise","all","components","map","component","envDef","getEnvFromComponent","undefined","env","bundlingStrategy","getBundlingStrategy","name","envComponent","envPreviewConfig","getEnvPreviewConfig","isSplitComponentBundle","splitComponentBundle","envGetDeps","getDependencies","envComponentPeers","Object","keys","peerDependencies","envHostDeps","getHostDependencies","peers","concat","capsule","capsuleNetwork","graphCapsules","getCapsule","id","Error","previewRoot","writePreviewRuntime","toString","previewModules","getPreviewModules","outputPath","computeOutputPath","entries","getEntries","runtimeChunkName","html","chunking","splitChunks","length","componentsResults","bundlerContext","assign","entry","externalizePeer","development","bundler","getBundler","bundlerResults","run","results","computeResults","previewRootChunkName","peersChunkName","options","htmlConfigs","previewModule","generateHtmlConfigForPreviewDef","previewDef","previewDeps","include","chunks","prefix","includePeers","unshift","config","title","templateContent","minify","filename","previewRootEntry","import","peersRootEntry","reduce","acc","module","linkFile","writeLink","ComponentMap","create","path","dependOn","result","errors","err","message","warning","warnings","startTime","endTime","artifacts","getArtifactDef","getEnv","modules","def","renderTemplatePathByEnv","getArtifactDirectory","CAPSULE_ARTIFACTS_DIR","globPatterns","rootDir"],"mappings":"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","sourcesContent":["import {\n BuildContext,\n BuiltTaskResult,\n BuildTask,\n TaskLocation,\n ComponentResult,\n CAPSULE_ARTIFACTS_DIR,\n} from '@teambit/builder';\nimport { Component, ComponentMap } from '@teambit/component';\nimport { Capsule } from '@teambit/isolator';\nimport { Bundler, BundlerContext, BundlerEntryMap, BundlerHtmlConfig, BundlerResult, Target } from '@teambit/bundler';\nimport type { EnvsMain } from '@teambit/envs';\nimport { join } from 'path';\nimport { compact } from 'lodash';\nimport { existsSync, mkdirpSync } from 'fs-extra';\nimport type { PreviewMain } from './preview.main.runtime';\nimport { PreviewDefinition } from '.';\nimport { html } from './webpack';\n\nexport type ModuleExpose = {\n name: string;\n path: string;\n include?: string[];\n};\n\nexport const GENERATE_ENV_TEMPLATE_TASK_NAME = 'GenerateEnvTemplate';\nexport const PREVIEW_ROOT_CHUNK_NAME = 'previewRoot';\nexport const PEERS_CHUNK_NAME = 'peers';\n\nexport class EnvPreviewTemplateTask implements BuildTask {\n aspectId = 'teambit.preview/preview';\n name = GENERATE_ENV_TEMPLATE_TASK_NAME;\n location: TaskLocation = 'end';\n // readonly dependencies = [CompilerAspect.id];\n\n constructor(private preview: PreviewMain, private envs: EnvsMain) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const previewDefs = this.preview.getDefs();\n const htmlConfig = this.generateHtmlConfig(previewDefs, PREVIEW_ROOT_CHUNK_NAME, PEERS_CHUNK_NAME, {\n dev: context.dev,\n });\n const targets: Target[] = compact(\n await Promise.all(\n context.components.map(async (component) => {\n const envDef = this.envs.getEnvFromComponent(component);\n if (!envDef) return undefined;\n const env = envDef.env;\n const bundlingStrategy = this.preview.getBundlingStrategy(envDef.env);\n if (bundlingStrategy.name === 'env') {\n return undefined;\n }\n const envComponent = component;\n const envPreviewConfig = this.preview.getEnvPreviewConfig(envDef.env);\n const isSplitComponentBundle = envPreviewConfig.splitComponentBundle ?? false;\n const envGetDeps = (await env.getDependencies()) || {};\n const envComponentPeers = Object.keys(envGetDeps.peerDependencies || {}) || [];\n const envHostDeps = env.getHostDependencies() || [];\n const peers = envComponentPeers.concat(envHostDeps);\n\n // const module = await this.getPreviewModule(envComponent);\n // const entries = Object.keys(module).map((key) => module.exposes[key]);\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(envComponent.id);\n if (!capsule) throw new Error('no capsule found');\n // Passing here the env itself to make sure it's preview runtime will be part of the preview root file\n // that's needed to make sure the providers register there are running correctly\n const previewRoot = await this.preview.writePreviewRuntime(context, [envComponent.id.toString()]);\n const previewModules = await this.getPreviewModules(envComponent);\n // const templatesFile = previewModules.map((template) => {\n // return this.preview.writeLink(template.name, ComponentMap.create([]), template.path, capsule.path);\n // });\n const outputPath = this.computeOutputPath(context, envComponent);\n if (!existsSync(outputPath)) mkdirpSync(outputPath);\n const entries = this.getEntries(previewModules, capsule, previewRoot, isSplitComponentBundle, peers);\n\n // const entries = this.getEntries(\n // previewModules.concat({\n // name: 'main',\n // path: previewRoot,\n // })\n // );\n\n return {\n // entries: templatesFile.concat(previewRoot),\n peers,\n runtimeChunkName: 'runtime',\n html: htmlConfig,\n entries,\n chunking: {\n splitChunks: true,\n },\n components: [envComponent],\n outputPath,\n // modules: [module],\n };\n })\n )\n );\n\n if (!targets.length) return { componentsResults: [] };\n const bundlerContext: BundlerContext = Object.assign({}, context, {\n targets,\n entry: [],\n externalizePeer: false,\n development: context.dev,\n });\n\n const bundler: Bundler = await context.env.getBundler(bundlerContext);\n const bundlerResults = await bundler.run();\n const results = await this.computeResults(bundlerContext, bundlerResults);\n return results;\n }\n\n private generateHtmlConfig(\n previewDefs: PreviewDefinition[],\n previewRootChunkName: string,\n peersChunkName: string,\n options: { dev?: boolean }\n ): BundlerHtmlConfig[] {\n const htmlConfigs = previewDefs.map((previewModule) =>\n this.generateHtmlConfigForPreviewDef(previewModule, previewRootChunkName, peersChunkName, options)\n );\n return htmlConfigs;\n }\n\n private generateHtmlConfigForPreviewDef(\n previewDef: PreviewDefinition,\n previewRootChunkName: string,\n peersChunkName: string,\n options: { dev?: boolean }\n ): BundlerHtmlConfig {\n const previewDeps = previewDef.include || [];\n const chunks = [...previewDeps, previewDef.prefix, previewRootChunkName];\n if (previewDef.includePeers) {\n chunks.unshift(peersChunkName);\n }\n\n const config = {\n title: 'Preview',\n templateContent: html('Preview'),\n minify: options?.dev ?? true,\n chunks,\n filename: `${previewDef.prefix}.html`,\n };\n return config;\n }\n\n getEntries(\n previewModules: ModuleExpose[],\n capsule: Capsule,\n previewRoot: string,\n isSplitComponentBundle = false,\n peers: string[] = []\n ): BundlerEntryMap {\n const previewRootEntry = {\n filename: 'preview-root.[chunkhash].js',\n import: previewRoot,\n };\n\n const peersRootEntry = {\n filename: 'peers.[chunkhash].js',\n import: peers,\n };\n\n const entries = previewModules.reduce(\n (acc, module) => {\n const linkFile = this.preview.writeLink(\n module.name,\n ComponentMap.create([]),\n module.path,\n capsule.path,\n isSplitComponentBundle\n );\n acc[module.name] = {\n // filename: `${module.name}.[contenthash].js`,\n filename: `${module.name}.[chunkhash].js`,\n // filename: `${module.name}.js`,\n import: linkFile,\n // library: {\n // name: module.name,\n // type: 'umd',\n // },\n };\n if (module.include) {\n acc[module.name].dependOn = module.include;\n }\n return acc;\n },\n { [PREVIEW_ROOT_CHUNK_NAME]: previewRootEntry, [PEERS_CHUNK_NAME]: peersRootEntry }\n );\n\n return entries;\n\n // const mergedEntries = return entriesArr.reduce((entriesMap, entry) => {\n // entriesMap[entry.library.name] = entry;\n // return entriesMap;\n // }, {previewRoot: previewRootEntry});\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 = getArtifactDef();\n\n return {\n componentsResults,\n artifacts,\n };\n }\n\n async getPreviewModules(envComponent: Component): Promise<ModuleExpose[]> {\n const env = this.envs.getEnv(envComponent);\n const previewDefs = this.preview.getDefs();\n const modules = compact(\n await Promise.all(\n previewDefs.map(async (def) => {\n if (!def.renderTemplatePathByEnv) return undefined;\n return {\n name: def.prefix,\n path: await def.renderTemplatePathByEnv(env.env),\n include: def.include,\n };\n })\n )\n );\n\n return modules;\n }\n\n private computeOutputPath(context: BuildContext, component: Component) {\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n if (!capsule) throw new Error('no capsule found');\n return join(capsule.path, getArtifactDirectory());\n }\n\n // private async getPreviewModule(envComponent: Component): Promise<ModuleTarget> {\n // const env = this.envs.getEnv(envComponent);\n // const previewDefs = this.preview.getDefs();\n // const modules = compact(await Promise.all(previewDefs.map(async (def) => {\n // if (!def.renderTemplatePathByEnv) return undefined;\n // return [def.prefix, await def.renderTemplatePathByEnv(env.env)];\n // })));\n\n // const exposes = modules.reduce((exposesAcc, [prefix, path]) => {\n // const internalPath = `./${prefix}`;\n // exposesAcc[internalPath] = path;\n // return exposesAcc;\n // }, {});\n\n // return {\n // component: envComponent,\n // exposes\n // };\n // }\n}\n\nexport function getArtifactDirectory() {\n return join(CAPSULE_ARTIFACTS_DIR, 'env-template');\n}\n\nexport function getArtifactDef() {\n return [\n {\n name: 'env-template',\n // globPatterns: [`${getArtifactDirectory()}/**`],\n globPatterns: ['**'],\n rootDir: getArtifactDirectory(),\n // context: env,\n },\n ];\n}\n"]}
1
+ {"version":3,"sources":["env-preview-template.task.ts"],"names":["GENERATE_ENV_TEMPLATE_TASK_NAME","PREVIEW_ROOT_CHUNK_NAME","PEERS_CHUNK_NAME","EnvPreviewTemplateTask","constructor","preview","envs","execute","context","previewDefs","getDefs","htmlConfig","generateHtmlConfig","dev","targets","Promise","all","components","map","component","envDef","getEnvFromComponent","undefined","env","bundlingStrategy","getBundlingStrategy","name","envComponent","envPreviewConfig","getEnvPreviewConfig","isSplitComponentBundle","splitComponentBundle","envGetDeps","getDependencies","envComponentPeers","Object","keys","peerDependencies","envHostDeps","getHostDependencies","peers","concat","capsule","capsuleNetwork","graphCapsules","getCapsule","id","Error","previewRoot","writePreviewRuntime","toString","previewModules","getPreviewModules","outputPath","computeOutputPath","entries","getEntries","runtimeChunkName","html","chunking","splitChunks","length","componentsResults","bundlerContext","assign","entry","externalizePeer","development","bundler","getBundler","bundlerResults","run","results","computeResults","previewRootChunkName","peersChunkName","options","htmlConfigs","previewModule","generateHtmlConfigForPreviewDef","previewDef","previewDeps","include","chunks","prefix","includePeers","unshift","config","title","templateContent","minify","filename","previewRootEntry","import","peersRootEntry","reduce","acc","module","linkFile","writeLink","ComponentMap","create","path","dependOn","result","errors","err","message","warning","warnings","startTime","endTime","artifacts","getArtifactDef","getEnv","modules","def","renderTemplatePathByEnv","getArtifactDirectory","CAPSULE_ARTIFACTS_DIR","globPatterns","rootDir"],"mappings":"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","sourcesContent":["import {\n BuildContext,\n BuiltTaskResult,\n BuildTask,\n TaskLocation,\n ComponentResult,\n CAPSULE_ARTIFACTS_DIR,\n} from '@teambit/builder';\nimport { Component, ComponentMap } from '@teambit/component';\nimport { Capsule } from '@teambit/isolator';\nimport { Bundler, BundlerContext, BundlerEntryMap, BundlerHtmlConfig, BundlerResult, Target } from '@teambit/bundler';\nimport type { EnvsMain } from '@teambit/envs';\nimport { join } from 'path';\nimport { cloneDeep, compact } from 'lodash';\nimport { existsSync, mkdirpSync } from 'fs-extra';\nimport type { PreviewMain } from './preview.main.runtime';\nimport { PreviewDefinition } from '.';\nimport { html } from './webpack';\n\nexport type ModuleExpose = {\n name: string;\n path: string;\n include?: string[];\n};\n\nexport const GENERATE_ENV_TEMPLATE_TASK_NAME = 'GenerateEnvTemplate';\nexport const PREVIEW_ROOT_CHUNK_NAME = 'previewRoot';\nexport const PEERS_CHUNK_NAME = 'peers';\n\nexport class EnvPreviewTemplateTask implements BuildTask {\n aspectId = 'teambit.preview/preview';\n name = GENERATE_ENV_TEMPLATE_TASK_NAME;\n location: TaskLocation = 'end';\n // readonly dependencies = [CompilerAspect.id];\n\n constructor(private preview: PreviewMain, private envs: EnvsMain) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const previewDefs = this.preview.getDefs();\n const htmlConfig = this.generateHtmlConfig(previewDefs, PREVIEW_ROOT_CHUNK_NAME, PEERS_CHUNK_NAME, {\n dev: context.dev,\n });\n const targets: Target[] = compact(\n await Promise.all(\n context.components.map(async (component) => {\n const envDef = this.envs.getEnvFromComponent(component);\n if (!envDef) return undefined;\n const env = envDef.env;\n const bundlingStrategy = this.preview.getBundlingStrategy(envDef.env);\n if (bundlingStrategy.name === 'env') {\n return undefined;\n }\n const envComponent = component;\n const envPreviewConfig = this.preview.getEnvPreviewConfig(envDef.env);\n const isSplitComponentBundle = envPreviewConfig.splitComponentBundle ?? false;\n const envGetDeps = (await env.getDependencies()) || {};\n const envComponentPeers = Object.keys(envGetDeps.peerDependencies || {}) || [];\n const envHostDeps = env.getHostDependencies() || [];\n const peers = envComponentPeers.concat(envHostDeps);\n\n // const module = await this.getPreviewModule(envComponent);\n // const entries = Object.keys(module).map((key) => module.exposes[key]);\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(envComponent.id);\n if (!capsule) throw new Error('no capsule found');\n // Passing here the env itself to make sure it's preview runtime will be part of the preview root file\n // that's needed to make sure the providers register there are running correctly\n const previewRoot = await this.preview.writePreviewRuntime(context, [envComponent.id.toString()]);\n const previewModules = await this.getPreviewModules(envComponent);\n // const templatesFile = previewModules.map((template) => {\n // return this.preview.writeLink(template.name, ComponentMap.create([]), template.path, capsule.path);\n // });\n const outputPath = this.computeOutputPath(context, envComponent);\n if (!existsSync(outputPath)) mkdirpSync(outputPath);\n const entries = this.getEntries(previewModules, capsule, previewRoot, isSplitComponentBundle, peers);\n\n // const entries = this.getEntries(\n // previewModules.concat({\n // name: 'main',\n // path: previewRoot,\n // })\n // );\n\n return {\n // entries: templatesFile.concat(previewRoot),\n peers,\n runtimeChunkName: 'runtime',\n html: htmlConfig,\n entries,\n chunking: {\n splitChunks: true,\n },\n components: [envComponent],\n outputPath,\n // modules: [module],\n };\n })\n )\n );\n\n if (!targets.length) return { componentsResults: [] };\n const bundlerContext: BundlerContext = Object.assign(cloneDeep(context), {\n targets,\n entry: [],\n externalizePeer: false,\n development: context.dev,\n });\n\n const bundler: Bundler = await context.env.getBundler(bundlerContext);\n const bundlerResults = await bundler.run();\n const results = await this.computeResults(bundlerContext, bundlerResults);\n return results;\n }\n\n private generateHtmlConfig(\n previewDefs: PreviewDefinition[],\n previewRootChunkName: string,\n peersChunkName: string,\n options: { dev?: boolean }\n ): BundlerHtmlConfig[] {\n const htmlConfigs = previewDefs.map((previewModule) =>\n this.generateHtmlConfigForPreviewDef(previewModule, previewRootChunkName, peersChunkName, options)\n );\n return htmlConfigs;\n }\n\n private generateHtmlConfigForPreviewDef(\n previewDef: PreviewDefinition,\n previewRootChunkName: string,\n peersChunkName: string,\n options: { dev?: boolean }\n ): BundlerHtmlConfig {\n const previewDeps = previewDef.include || [];\n const chunks = [...previewDeps, previewDef.prefix, previewRootChunkName];\n if (previewDef.includePeers) {\n chunks.unshift(peersChunkName);\n }\n\n const config = {\n title: 'Preview',\n templateContent: html('Preview'),\n minify: options?.dev ?? true,\n chunks,\n filename: `${previewDef.prefix}.html`,\n };\n return config;\n }\n\n getEntries(\n previewModules: ModuleExpose[],\n capsule: Capsule,\n previewRoot: string,\n isSplitComponentBundle = false,\n peers: string[] = []\n ): BundlerEntryMap {\n const previewRootEntry = {\n filename: 'preview-root.[chunkhash].js',\n import: previewRoot,\n };\n\n const peersRootEntry = {\n filename: 'peers.[chunkhash].js',\n import: peers,\n };\n\n const entries = previewModules.reduce(\n (acc, module) => {\n const linkFile = this.preview.writeLink(\n module.name,\n ComponentMap.create([]),\n module.path,\n capsule.path,\n isSplitComponentBundle\n );\n acc[module.name] = {\n // filename: `${module.name}.[contenthash].js`,\n filename: `${module.name}.[chunkhash].js`,\n // filename: `${module.name}.js`,\n import: linkFile,\n // library: {\n // name: module.name,\n // type: 'umd',\n // },\n };\n if (module.include) {\n acc[module.name].dependOn = module.include;\n }\n return acc;\n },\n { [PREVIEW_ROOT_CHUNK_NAME]: previewRootEntry, [PEERS_CHUNK_NAME]: peersRootEntry }\n );\n\n return entries;\n\n // const mergedEntries = return entriesArr.reduce((entriesMap, entry) => {\n // entriesMap[entry.library.name] = entry;\n // return entriesMap;\n // }, {previewRoot: previewRootEntry});\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 = getArtifactDef();\n\n return {\n componentsResults,\n artifacts,\n };\n }\n\n async getPreviewModules(envComponent: Component): Promise<ModuleExpose[]> {\n const env = this.envs.getEnv(envComponent);\n const previewDefs = this.preview.getDefs();\n const modules = compact(\n await Promise.all(\n previewDefs.map(async (def) => {\n if (!def.renderTemplatePathByEnv) return undefined;\n return {\n name: def.prefix,\n path: await def.renderTemplatePathByEnv(env.env),\n include: def.include,\n };\n })\n )\n );\n\n return modules;\n }\n\n private computeOutputPath(context: BuildContext, component: Component) {\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n if (!capsule) throw new Error('no capsule found');\n return join(capsule.path, getArtifactDirectory());\n }\n\n // private async getPreviewModule(envComponent: Component): Promise<ModuleTarget> {\n // const env = this.envs.getEnv(envComponent);\n // const previewDefs = this.preview.getDefs();\n // const modules = compact(await Promise.all(previewDefs.map(async (def) => {\n // if (!def.renderTemplatePathByEnv) return undefined;\n // return [def.prefix, await def.renderTemplatePathByEnv(env.env)];\n // })));\n\n // const exposes = modules.reduce((exposesAcc, [prefix, path]) => {\n // const internalPath = `./${prefix}`;\n // exposesAcc[internalPath] = path;\n // return exposesAcc;\n // }, {});\n\n // return {\n // component: envComponent,\n // exposes\n // };\n // }\n}\n\nexport function getArtifactDirectory() {\n return join(CAPSULE_ARTIFACTS_DIR, 'env-template');\n}\n\nexport function getArtifactDef() {\n return [\n {\n name: 'env-template',\n // globPatterns: [`${getArtifactDirectory()}/**`],\n globPatterns: ['**'],\n rootDir: getArtifactDirectory(),\n // context: env,\n },\n ];\n}\n"]}
@@ -66,6 +66,7 @@ class EnvTemplateRoute {
66
66
  } = req.params;
67
67
  artifact = await this.preview.getEnvTemplateByEnvId(envId);
68
68
  } catch (e) {
69
+ this.logger.error(`getEnvTemplateByEnvId has failed`, e);
69
70
  return res.status(404).send((0, _uiFoundationUiPages().noPreview)());
70
71
  } // @ts-ignore
71
72
 
@@ -1 +1 @@
1
- {"version":3,"sources":["env-template.route.ts"],"names":["CACHE_MAX_AGE","EnvTemplateRoute","constructor","preview","logger","req","res","next","artifact","componentId","envId","params","getEnvTemplateByEnvId","e","status","send","isLegacyPath","set","error"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAMA;AACA,MAAMA,aAAa,GAAG,KAAK,EAAL,GAAU,EAAV,GAAe,CAArC;;AAEO,MAAMC,gBAAN,CAA2D;AAChEC,EAAAA,WAAW;AACT;AACJ;AACA;AACYC,EAAAA,OAJC,EAKDC,MALC,EAMT;AAAA,SAFQD,OAER,GAFQA,OAER;AAAA,SADQC,MACR,GADQA,MACR;AAAA,mDAEO,yCAFP;AAAA,oDAGO,KAHP;AAAA,8DAOiB,KAPjB;AAAA,yDAUY,CACZ,OAAOC,GAAP,EAAgCC,GAAhC,EAA+CC,IAA/C,KAAsE;AACpE,UAAI;AACF;AACA;AACA;AAEA,YAAIC,QAAJ,CALE,CAMF;;AACA,YAAI;AACF,gBAAM;AAAEC,YAAAA,WAAW,EAAEC;AAAf,cAAyBL,GAAG,CAACM,MAAnC;AACAH,UAAAA,QAAQ,GAAG,MAAM,KAAKL,OAAL,CAAaS,qBAAb,CAAmCF,KAAnC,CAAjB;AACD,SAHD,CAGE,OAAOG,CAAP,EAAe;AACf,iBAAOP,GAAG,CAACQ,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,uCAArB,CAAP;AACD,SAZC,CAcF;;;AACAV,QAAAA,GAAG,CAACG,QAAJ,GAAeA,QAAf,CAfE,CAgBF;;AACAH,QAAAA,GAAG,CAACW,YAAJ,GAAmB,KAAnB;AAEAV,QAAAA,GAAG,CAACW,GAAJ,CAAQ,eAAR,EAA0B,oBAAmBjB,aAAc,EAA3D;AAEA,eAAOO,IAAI,EAAX;AACD,OAtBD,CAsBE,OAAOM,CAAP,EAAe;AACf,aAAKT,MAAL,CAAYc,KAAZ,CAAkB,wBAAlB,EAA4CL,CAA5C;AACA,eAAOP,GAAG,CAACQ,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,yCAArB,CAAP;AACD;AACF,KA5BW,EA6BZ,yDAA0B,KAAKX,MAA/B,CA7BY,CAVZ;AAAE;;AAP4D","sourcesContent":["import type { NextFunction, Request, Response } from '@teambit/express';\nimport type { ComponentUrlParams, RegisteredComponentRoute } from '@teambit/component';\nimport { noPreview, serverError } from '@teambit/ui-foundation.ui.pages.static-error';\nimport type { Logger } from '@teambit/logger';\n\nimport type { PreviewMain } from './preview.main.runtime';\nimport type { PreviewArtifact } from './preview-artifact';\nimport { getArtifactFileMiddleware } from './artifact-file-middleware';\n\ntype UrlParams = ComponentUrlParams & {\n filePath?: string;\n};\n\n// Week for now\nconst CACHE_MAX_AGE = 60 * 60 * 24 * 7;\n\nexport class EnvTemplateRoute implements RegisteredComponentRoute {\n constructor(\n /**\n * preview extension.\n */\n private preview: PreviewMain,\n private logger: Logger\n ) {}\n\n route = `/env-template/:previewName/:filePath(*)`;\n method = 'get';\n\n // Since we might give it a core env id\n // Then in the component route when we do host.get(id) it will fail, as we don't have the core envs in the scope/workspace\n resolveComponent = false;\n\n // @ts-ignore\n middlewares = [\n async (req: Request<UrlParams>, res: Response, next: NextFunction) => {\n try {\n // @ts-ignore TODO: @guy please fix.\n // const component = req.component as Component | undefined;\n // if (!component) return res.status(404).send(noPreview());\n\n let artifact: PreviewArtifact | undefined;\n // TODO - prevent error `getVinylsAndImportIfMissing is not a function` #4680\n try {\n const { componentId: envId } = req.params;\n artifact = await this.preview.getEnvTemplateByEnvId(envId);\n } catch (e: any) {\n return res.status(404).send(noPreview());\n }\n\n // @ts-ignore\n req.artifact = artifact;\n // @ts-ignore\n req.isLegacyPath = false;\n\n res.set('Cache-control', `private, max-age=${CACHE_MAX_AGE}`);\n\n return next();\n } catch (e: any) {\n this.logger.error('failed getting preview', e);\n return res.status(500).send(serverError());\n }\n },\n getArtifactFileMiddleware(this.logger),\n ];\n}\n"]}
1
+ {"version":3,"sources":["env-template.route.ts"],"names":["CACHE_MAX_AGE","EnvTemplateRoute","constructor","preview","logger","req","res","next","artifact","componentId","envId","params","getEnvTemplateByEnvId","e","error","status","send","isLegacyPath","set"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAMA;AACA,MAAMA,aAAa,GAAG,KAAK,EAAL,GAAU,EAAV,GAAe,CAArC;;AAEO,MAAMC,gBAAN,CAA2D;AAChEC,EAAAA,WAAW;AACT;AACJ;AACA;AACYC,EAAAA,OAJC,EAKDC,MALC,EAMT;AAAA,SAFQD,OAER,GAFQA,OAER;AAAA,SADQC,MACR,GADQA,MACR;AAAA,mDAEO,yCAFP;AAAA,oDAGO,KAHP;AAAA,8DAOiB,KAPjB;AAAA,yDAUY,CACZ,OAAOC,GAAP,EAAgCC,GAAhC,EAA+CC,IAA/C,KAAsE;AACpE,UAAI;AACF;AACA;AACA;AAEA,YAAIC,QAAJ,CALE,CAMF;;AACA,YAAI;AACF,gBAAM;AAAEC,YAAAA,WAAW,EAAEC;AAAf,cAAyBL,GAAG,CAACM,MAAnC;AACAH,UAAAA,QAAQ,GAAG,MAAM,KAAKL,OAAL,CAAaS,qBAAb,CAAmCF,KAAnC,CAAjB;AACD,SAHD,CAGE,OAAOG,CAAP,EAAe;AACf,eAAKT,MAAL,CAAYU,KAAZ,CAAmB,kCAAnB,EAAsDD,CAAtD;AACA,iBAAOP,GAAG,CAACS,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,uCAArB,CAAP;AACD,SAbC,CAeF;;;AACAX,QAAAA,GAAG,CAACG,QAAJ,GAAeA,QAAf,CAhBE,CAiBF;;AACAH,QAAAA,GAAG,CAACY,YAAJ,GAAmB,KAAnB;AAEAX,QAAAA,GAAG,CAACY,GAAJ,CAAQ,eAAR,EAA0B,oBAAmBlB,aAAc,EAA3D;AAEA,eAAOO,IAAI,EAAX;AACD,OAvBD,CAuBE,OAAOM,CAAP,EAAe;AACf,aAAKT,MAAL,CAAYU,KAAZ,CAAkB,wBAAlB,EAA4CD,CAA5C;AACA,eAAOP,GAAG,CAACS,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,yCAArB,CAAP;AACD;AACF,KA7BW,EA8BZ,yDAA0B,KAAKZ,MAA/B,CA9BY,CAVZ;AAAE;;AAP4D","sourcesContent":["import type { NextFunction, Request, Response } from '@teambit/express';\nimport type { ComponentUrlParams, RegisteredComponentRoute } from '@teambit/component';\nimport { noPreview, serverError } from '@teambit/ui-foundation.ui.pages.static-error';\nimport type { Logger } from '@teambit/logger';\n\nimport type { PreviewMain } from './preview.main.runtime';\nimport type { PreviewArtifact } from './preview-artifact';\nimport { getArtifactFileMiddleware } from './artifact-file-middleware';\n\ntype UrlParams = ComponentUrlParams & {\n filePath?: string;\n};\n\n// Week for now\nconst CACHE_MAX_AGE = 60 * 60 * 24 * 7;\n\nexport class EnvTemplateRoute implements RegisteredComponentRoute {\n constructor(\n /**\n * preview extension.\n */\n private preview: PreviewMain,\n private logger: Logger\n ) {}\n\n route = `/env-template/:previewName/:filePath(*)`;\n method = 'get';\n\n // Since we might give it a core env id\n // Then in the component route when we do host.get(id) it will fail, as we don't have the core envs in the scope/workspace\n resolveComponent = false;\n\n // @ts-ignore\n middlewares = [\n async (req: Request<UrlParams>, res: Response, next: NextFunction) => {\n try {\n // @ts-ignore TODO: @guy please fix.\n // const component = req.component as Component | undefined;\n // if (!component) return res.status(404).send(noPreview());\n\n let artifact: PreviewArtifact | undefined;\n // TODO - prevent error `getVinylsAndImportIfMissing is not a function` #4680\n try {\n const { componentId: envId } = req.params;\n artifact = await this.preview.getEnvTemplateByEnvId(envId);\n } catch (e: any) {\n this.logger.error(`getEnvTemplateByEnvId has failed`, e);\n return res.status(404).send(noPreview());\n }\n\n // @ts-ignore\n req.artifact = artifact;\n // @ts-ignore\n req.isLegacyPath = false;\n\n res.set('Cache-control', `private, max-age=${CACHE_MAX_AGE}`);\n\n return next();\n } catch (e: any) {\n this.logger.error('failed getting preview', e);\n return res.status(500).send(serverError());\n }\n },\n getArtifactFileMiddleware(this.logger),\n ];\n}\n"]}
@@ -67,6 +67,7 @@ class PreviewRoute {
67
67
  artifact = await this.preview.getPreview(component);
68
68
  }
69
69
  } catch (e) {
70
+ this.logger.error(`getEnvTemplateFromComponentEnv or getPreview has failed`, e);
70
71
  return res.status(404).send((0, _uiFoundationUiPages().noPreview)());
71
72
  } // @ts-ignore
72
73
 
@@ -1 +1 @@
1
- {"version":3,"sources":["preview.route.ts"],"names":["PreviewRoute","constructor","preview","logger","req","res","next","component","status","send","isLegacyPath","isBundledWithEnv","artifact","getEnvTemplateFromComponentEnv","getPreview","e","error"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,YAAN,CAAoC;AACzCC,EAAAA,WAAW;AACT;AACJ;AACA;AACYC,EAAAA,OAJC,EAKDC,MALC,EAMT;AAAA,SAFQD,OAER,GAFQA,OAER;AAAA,SADQC,MACR,GADQA,MACR;AAAA,mDAEO,qCAFP;AAAA,oDAGO,KAHP;AAAA,yDAKY,CACZ,OAAOC,GAAP,EAAuCC,GAAvC,EAAsDC,IAAtD,KAA6E;AAC3E,UAAI;AACF;AACA,cAAMC,SAAS,GAAGH,GAAG,CAACG,SAAtB;AACA,YAAI,CAACA,SAAL,EAAgB,OAAOF,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,uCAArB,CAAP;AAChB,cAAMC,YAAY,GAAG,MAAM,KAAKR,OAAL,CAAaS,gBAAb,CAA8BJ,SAA9B,CAA3B;AAEA,YAAIK,QAAJ,CANE,CAOF;;AACA,YAAI;AACF;AACA;AACA,cAAI,CAACF,YAAL,EAAmB;AACjBE,YAAAA,QAAQ,GAAG,MAAM,KAAKV,OAAL,CAAaW,8BAAb,CAA4CN,SAA5C,CAAjB;AACD,WAFD,MAEO;AACL;AACAK,YAAAA,QAAQ,GAAG,MAAM,KAAKV,OAAL,CAAaY,UAAb,CAAwBP,SAAxB,CAAjB;AACD;AACF,SATD,CASE,OAAOQ,CAAP,EAAe;AACf,iBAAOV,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,uCAArB,CAAP;AACD,SAnBC,CAoBF;;;AACAL,QAAAA,GAAG,CAACQ,QAAJ,GAAeA,QAAf,CArBE,CAsBF;;AACAR,QAAAA,GAAG,CAACM,YAAJ,GAAmBA,YAAnB;AACA,eAAOJ,IAAI,EAAX;AACD,OAzBD,CAyBE,OAAOS,CAAP,EAAe;AACf,aAAKZ,MAAL,CAAYa,KAAZ,CAAkB,wBAAlB,EAA4CD,CAA5C;AACA,eAAOV,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,yCAArB,CAAP;AACD;AACF,KA/BW,EAgCZ,yDAA0B,KAAKN,MAA/B,CAhCY,CALZ;AAAE;;AAPqC","sourcesContent":["import type { NextFunction, Request, Response, Route } from '@teambit/express';\nimport type { Component } from '@teambit/component';\nimport { noPreview, serverError } from '@teambit/ui-foundation.ui.pages.static-error';\nimport type { Logger } from '@teambit/logger';\n\nimport { PreviewMain } from './preview.main.runtime';\nimport { PreviewArtifact } from './preview-artifact';\nimport { getArtifactFileMiddleware } from './artifact-file-middleware';\nimport type { PreviewUrlParams } from './artifact-file-middleware';\n\nexport class PreviewRoute implements Route {\n constructor(\n /**\n * preview extension.\n */\n private preview: PreviewMain,\n private logger: Logger\n ) {}\n\n route = `/preview/:previewName?/:filePath(*)`;\n method = 'get';\n\n middlewares = [\n async (req: Request<PreviewUrlParams>, res: Response, next: NextFunction) => {\n try {\n // @ts-ignore TODO: @guy please fix.\n const component = req.component as Component | undefined;\n if (!component) return res.status(404).send(noPreview());\n const isLegacyPath = await this.preview.isBundledWithEnv(component);\n\n let artifact: PreviewArtifact | undefined;\n // TODO - prevent error `getVinylsAndImportIfMissing is not a function` #4680\n try {\n // Taking the env template (in this case we will take the component only bundle throw component-preview route)\n // We use this route for the env template for backward compatibility - new scopes which contain components tagged with old versions of bit\n if (!isLegacyPath) {\n artifact = await this.preview.getEnvTemplateFromComponentEnv(component);\n } else {\n // If it's legacy (bundled together with the env template) take the preview bundle from the component directly\n artifact = await this.preview.getPreview(component);\n }\n } catch (e: any) {\n return res.status(404).send(noPreview());\n }\n // @ts-ignore\n req.artifact = artifact;\n // @ts-ignore\n req.isLegacyPath = isLegacyPath;\n return next();\n } catch (e: any) {\n this.logger.error('failed getting preview', e);\n return res.status(500).send(serverError());\n }\n },\n getArtifactFileMiddleware(this.logger),\n ];\n}\n"]}
1
+ {"version":3,"sources":["preview.route.ts"],"names":["PreviewRoute","constructor","preview","logger","req","res","next","component","status","send","isLegacyPath","isBundledWithEnv","artifact","getEnvTemplateFromComponentEnv","getPreview","e","error"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,YAAN,CAAoC;AACzCC,EAAAA,WAAW;AACT;AACJ;AACA;AACYC,EAAAA,OAJC,EAKDC,MALC,EAMT;AAAA,SAFQD,OAER,GAFQA,OAER;AAAA,SADQC,MACR,GADQA,MACR;AAAA,mDAEO,qCAFP;AAAA,oDAGO,KAHP;AAAA,yDAKY,CACZ,OAAOC,GAAP,EAAuCC,GAAvC,EAAsDC,IAAtD,KAA6E;AAC3E,UAAI;AACF;AACA,cAAMC,SAAS,GAAGH,GAAG,CAACG,SAAtB;AACA,YAAI,CAACA,SAAL,EAAgB,OAAOF,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,uCAArB,CAAP;AAChB,cAAMC,YAAY,GAAG,MAAM,KAAKR,OAAL,CAAaS,gBAAb,CAA8BJ,SAA9B,CAA3B;AAEA,YAAIK,QAAJ,CANE,CAOF;;AACA,YAAI;AACF;AACA;AACA,cAAI,CAACF,YAAL,EAAmB;AACjBE,YAAAA,QAAQ,GAAG,MAAM,KAAKV,OAAL,CAAaW,8BAAb,CAA4CN,SAA5C,CAAjB;AACD,WAFD,MAEO;AACL;AACAK,YAAAA,QAAQ,GAAG,MAAM,KAAKV,OAAL,CAAaY,UAAb,CAAwBP,SAAxB,CAAjB;AACD;AACF,SATD,CASE,OAAOQ,CAAP,EAAe;AACf,eAAKZ,MAAL,CAAYa,KAAZ,CAAmB,yDAAnB,EAA6ED,CAA7E;AACA,iBAAOV,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,uCAArB,CAAP;AACD,SApBC,CAqBF;;;AACAL,QAAAA,GAAG,CAACQ,QAAJ,GAAeA,QAAf,CAtBE,CAuBF;;AACAR,QAAAA,GAAG,CAACM,YAAJ,GAAmBA,YAAnB;AACA,eAAOJ,IAAI,EAAX;AACD,OA1BD,CA0BE,OAAOS,CAAP,EAAe;AACf,aAAKZ,MAAL,CAAYa,KAAZ,CAAkB,wBAAlB,EAA4CD,CAA5C;AACA,eAAOV,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,yCAArB,CAAP;AACD;AACF,KAhCW,EAiCZ,yDAA0B,KAAKN,MAA/B,CAjCY,CALZ;AAAE;;AAPqC","sourcesContent":["import type { NextFunction, Request, Response, Route } from '@teambit/express';\nimport type { Component } from '@teambit/component';\nimport { noPreview, serverError } from '@teambit/ui-foundation.ui.pages.static-error';\nimport type { Logger } from '@teambit/logger';\n\nimport { PreviewMain } from './preview.main.runtime';\nimport { PreviewArtifact } from './preview-artifact';\nimport { getArtifactFileMiddleware } from './artifact-file-middleware';\nimport type { PreviewUrlParams } from './artifact-file-middleware';\n\nexport class PreviewRoute implements Route {\n constructor(\n /**\n * preview extension.\n */\n private preview: PreviewMain,\n private logger: Logger\n ) {}\n\n route = `/preview/:previewName?/:filePath(*)`;\n method = 'get';\n\n middlewares = [\n async (req: Request<PreviewUrlParams>, res: Response, next: NextFunction) => {\n try {\n // @ts-ignore TODO: @guy please fix.\n const component = req.component as Component | undefined;\n if (!component) return res.status(404).send(noPreview());\n const isLegacyPath = await this.preview.isBundledWithEnv(component);\n\n let artifact: PreviewArtifact | undefined;\n // TODO - prevent error `getVinylsAndImportIfMissing is not a function` #4680\n try {\n // Taking the env template (in this case we will take the component only bundle throw component-preview route)\n // We use this route for the env template for backward compatibility - new scopes which contain components tagged with old versions of bit\n if (!isLegacyPath) {\n artifact = await this.preview.getEnvTemplateFromComponentEnv(component);\n } else {\n // If it's legacy (bundled together with the env template) take the preview bundle from the component directly\n artifact = await this.preview.getPreview(component);\n }\n } catch (e: any) {\n this.logger.error(`getEnvTemplateFromComponentEnv or getPreview has failed`, e);\n return res.status(404).send(noPreview());\n }\n // @ts-ignore\n req.artifact = artifact;\n // @ts-ignore\n req.isLegacyPath = isLegacyPath;\n return next();\n } catch (e: any) {\n this.logger.error('failed getting preview', e);\n return res.status(500).send(serverError());\n }\n },\n getArtifactFileMiddleware(this.logger),\n ];\n}\n"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/preview",
3
- "version": "0.0.639",
3
+ "version": "0.0.640",
4
4
  "homepage": "https://bit.dev/teambit/preview/preview",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.preview",
8
8
  "name": "preview",
9
- "version": "0.0.639"
9
+ "version": "0.0.640"
10
10
  },
11
11
  "dependencies": {
12
12
  "mime": "2.5.2",
@@ -18,26 +18,26 @@
18
18
  "cross-fetch": "3.0.6",
19
19
  "@babel/runtime": "7.12.18",
20
20
  "core-js": "^3.0.0",
21
- "@teambit/express": "0.0.530",
22
- "@teambit/logger": "0.0.526",
21
+ "@teambit/express": "0.0.531",
22
+ "@teambit/logger": "0.0.527",
23
23
  "@teambit/ui-foundation.ui.pages.static-error": "0.0.70",
24
- "@teambit/builder": "0.0.639",
25
- "@teambit/bundler": "0.0.639",
26
- "@teambit/component": "0.0.639",
27
- "@teambit/envs": "0.0.639",
28
- "@teambit/isolator": "0.0.639",
24
+ "@teambit/builder": "0.0.640",
25
+ "@teambit/bundler": "0.0.640",
26
+ "@teambit/component": "0.0.640",
27
+ "@teambit/envs": "0.0.640",
28
+ "@teambit/isolator": "0.0.640",
29
29
  "@teambit/toolbox.path.to-windows-compatible-path": "0.0.482",
30
- "@teambit/aspect-loader": "0.0.639",
30
+ "@teambit/aspect-loader": "0.0.640",
31
31
  "@teambit/bit-error": "0.0.394",
32
- "@teambit/cli": "0.0.436",
33
- "@teambit/dependency-resolver": "0.0.639",
34
- "@teambit/graphql": "0.0.639",
35
- "@teambit/pkg": "0.0.639",
36
- "@teambit/pubsub": "0.0.639",
37
- "@teambit/ui": "0.0.639",
38
- "@teambit/workspace": "0.0.639",
32
+ "@teambit/cli": "0.0.437",
33
+ "@teambit/dependency-resolver": "0.0.640",
34
+ "@teambit/graphql": "0.0.640",
35
+ "@teambit/pkg": "0.0.640",
36
+ "@teambit/pubsub": "0.0.640",
37
+ "@teambit/ui": "0.0.640",
38
+ "@teambit/workspace": "0.0.640",
39
39
  "@teambit/component-id": "0.0.400",
40
- "@teambit/compiler": "0.0.639",
40
+ "@teambit/compiler": "0.0.640",
41
41
  "@teambit/preview.cli.preview-server-status": "0.0.490",
42
42
  "@teambit/preview.cli.webpack-events-listener": "0.0.160"
43
43
  },
@@ -55,7 +55,7 @@
55
55
  "@teambit/preview.aspect-docs.preview": "0.0.131"
56
56
  },
57
57
  "peerDependencies": {
58
- "@teambit/legacy": "1.0.212",
58
+ "@teambit/legacy": "1.0.213",
59
59
  "react-dom": "^16.8.0 || ^17.0.0",
60
60
  "react": "^16.8.0 || ^17.0.0"
61
61
  },
@@ -83,7 +83,7 @@
83
83
  "react": "-"
84
84
  },
85
85
  "peerDependencies": {
86
- "@teambit/legacy": "1.0.212",
86
+ "@teambit/legacy": "1.0.213",
87
87
  "react-dom": "^16.8.0 || ^17.0.0",
88
88
  "react": "^16.8.0 || ^17.0.0"
89
89
  }