@teambit/preview 1.0.527 → 1.0.529
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.
- package/dist/{preview-1737947940915.js → preview-1738120666692.js} +2 -2
- package/dist/preview.service.js +3 -0
- package/dist/preview.service.js.map +1 -1
- package/dist/preview.task.js +7 -2
- package/dist/preview.task.js.map +1 -1
- package/dist/strategies/component-strategy.js +2 -2
- package/dist/strategies/component-strategy.js.map +1 -1
- package/dist/strategies/env-strategy.js +2 -2
- package/dist/strategies/env-strategy.js.map +1 -1
- package/package.json +23 -23
- package/preview.service.tsx +4 -0
- package/strategies/component-strategy.ts +2 -2
- package/strategies/env-strategy.ts +2 -2
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.preview_preview@1.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.preview_preview@1.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.preview_preview@1.0.529/dist/preview.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.preview_preview@1.0.529/dist/preview.docs.mdx';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
package/dist/preview.service.js
CHANGED
@@ -70,6 +70,9 @@ class PreviewService {
|
|
70
70
|
return transformMap;
|
71
71
|
}
|
72
72
|
async run(context, options) {
|
73
|
+
if (!context.env.getBundler) {
|
74
|
+
return undefined;
|
75
|
+
}
|
73
76
|
const defs = this.preview.getDefs();
|
74
77
|
const onlyCompositionDef = defs.filter(def => def.prefix === 'compositions');
|
75
78
|
if (!onlyCompositionDef || onlyCompositionDef.length === 0) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_filenamify","data","_interopRequireDefault","require","_bitError","_path","_fsExtra","_htmlTemplate","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","LOCAL_PREVIEW_DIR","PreviewService","constructor","preview","logger","dependencyResolver","scope","transform","env","envContext","undefined","transformMap","getAdditionalHostDependencies","getHostDependencies","bind","getMounter","getDocsTemplate","getPreviewConfig","getTemplateBundler","context","run","options","defs","getDefs","onlyCompositionDef","def","prefix","BitError","components","componentIds","map","c","id","envDirName","getEnvDirName","outputPath","getEnvLocalPreviewDir","name","linkFiles","updateLinkFiles","dirPath","join","tempFolder","addComponentsToLocalMapping","previewRootEntry","generateLocalPreviewRoot","entries","peers","getPreviewHostDependenciesFromEnv","envDefinition","hostRootDir","envRuntime","envAspectDefinition","aspectPath","targets","getTargets","url","htmlConfig","generateHtmlConfig","bundlerContext","assign","compress","html","entry","publicPath","hostDependencies","aliasHostDependencies","rootPath","development","metaData","initiator","envId","bundler","getBundler","res","reduce","acc","fullName","filenamify","replacement","getLocalPreviewDir","legacyScope","tmp","composePath","localPreviewDir","getComponentsPreviewPath","filePath","readComponentsPreview","readJsonSync","envDirPath","compIds","idsString","exists","pathExists","newFile","existingFile","outputFileSync","JSON","stringify","dir","contents","previewRootPath","resolve","config","title","templateContent","minify","filename","externalizeHostDependencies","exports"],"sources":["preview.service.tsx"],"sourcesContent":["import filenamify from 'filenamify';\nimport { EnvService, ExecutionContext, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';\nimport { EnvPreviewConfig, PreviewMain } from './preview.main.runtime';\nimport { BitError } from '@teambit/bit-error';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { Bundler, BundlerContext, BundlerHtmlConfig, Target } from '@teambit/bundler';\nimport { Component, ComponentID } from '@teambit/component';\nimport { join, resolve } from 'path';\nimport { outputFileSync, pathExists, readJsonSync } from 'fs-extra';\nimport { ScopeMain } from '@teambit/scope';\nimport { html } from './bundler/html-template';\n\ntype PreviewTransformationMap = ServiceTransformationMap & {\n /**\n * Returns a paths to a function which mounts a given component to DOM\n * Required for `bit start` & `bit build`\n */\n getMounter?: () => string;\n\n /**\n * Returns a path to a docs template.\n * Required for `bit start` & `bit build`\n */\n getDocsTemplate?: () => string;\n\n /**\n * Returns a list of additional host dependencies\n * this list will be provided as globals on the window after bit preview bundle\n * by default bit will merge this list with the peers from the getDependencies function\n */\n getAdditionalHostDependencies?: () => string[] | Promise<string[]>;\n\n /**\n * Returns preview config like the strategy name to use when bundling the components for the preview\n */\n getPreviewConfig?: () => EnvPreviewConfig;\n};\n\nconst LOCAL_PREVIEW_DIR = 'local-preview';\n\nexport class PreviewService implements EnvService<any> {\n name = 'preview';\n\n constructor(\n private preview: PreviewMain,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n private scope: ScopeMain\n ) {}\n\n transform(env: Env, envContext: EnvContext): PreviewTransformationMap | undefined {\n // Old env\n if (!env?.preview) return undefined;\n const preview = env.preview()(envContext);\n\n const transformMap: PreviewTransformationMap = {\n getAdditionalHostDependencies: preview.getHostDependencies.bind(preview),\n getMounter: preview.getMounter.bind(preview),\n getDocsTemplate: preview.getDocsTemplate.bind(preview),\n getPreviewConfig: preview.getPreviewConfig.bind(preview),\n };\n\n if (preview.getTemplateBundler) {\n transformMap.getTemplateBundler = (context) => preview.getTemplateBundler(context)(envContext);\n }\n\n return transformMap;\n }\n\n async run(context: ExecutionContext, options: { name: string }): Promise<any> {\n const defs = this.preview.getDefs();\n const onlyCompositionDef = defs.filter((def) => def.prefix === 'compositions');\n if (!onlyCompositionDef || onlyCompositionDef.length === 0) {\n throw new BitError('unable to find composition definition');\n }\n const components = context.components;\n const componentIds = components.map((c) => c.id);\n const envDirName = this.getEnvDirName(context.id);\n const outputPath = this.getEnvLocalPreviewDir(options.name, envDirName);\n const linkFiles = await this.preview.updateLinkFiles(onlyCompositionDef, context.components, context);\n const dirPath = join(this.preview.tempFolder, context.id);\n await this.addComponentsToLocalMapping(options.name, envDirName, componentIds);\n const previewRootEntry = this.generateLocalPreviewRoot(dirPath);\n\n const entries = [...linkFiles, previewRootEntry];\n const peers = await this.dependencyResolver.getPreviewHostDependenciesFromEnv(context.envDefinition.env);\n const hostRootDir = context.envRuntime.envAspectDefinition?.aspectPath;\n const targets = this.getTargets({ entries, components, outputPath, peers, hostRootDir });\n const url = `/preview/${context.envRuntime.id}`;\n const htmlConfig = this.generateHtmlConfig();\n // @ts-ignore we don't really need the full bundler type here, we should\n // change the original type to only have the relevant fields\n const bundlerContext: BundlerContext = Object.assign(context, {\n targets,\n compress: false,\n html: [htmlConfig],\n components,\n entry: [],\n publicPath: '/',\n hostRootDir,\n hostDependencies: peers,\n aliasHostDependencies: true,\n rootPath: url,\n development: true,\n metaData: {\n initiator: `Generate local preview`,\n envId: context.id,\n },\n });\n\n const bundler: Bundler = await context.env.getBundler(bundlerContext);\n await bundler.run();\n const res = componentIds.reduce((acc, id) => {\n return { ...acc, [id.fullName]: outputPath };\n }, {});\n return res;\n }\n\n getEnvDirName(envId: string): string {\n return filenamify(envId, { replacement: '_' });\n }\n\n getLocalPreviewDir(name: string) {\n const dirPath = this.scope.legacyScope.tmp.composePath(`${LOCAL_PREVIEW_DIR}/${name}`);\n return dirPath;\n }\n\n getEnvLocalPreviewDir(name: string, envDirName: string) {\n const localPreviewDir = this.getLocalPreviewDir(name);\n return join(localPreviewDir, envDirName);\n }\n\n getComponentsPreviewPath(name: string) {\n const dirPath = this.getLocalPreviewDir(name);\n const filePath = join(dirPath, 'components-preview.json');\n return filePath;\n }\n\n async readComponentsPreview(name: string) {\n const filePath = this.getComponentsPreviewPath(name);\n return readJsonSync(filePath);\n }\n\n async addComponentsToLocalMapping(name: string, envDirPath: string, compIds: ComponentID[]) {\n const filePath = this.getComponentsPreviewPath(name);\n // const idsString = compIds.map((id) => id.toString());\n const idsString = compIds.map((id) => id.fullName);\n const exists = await pathExists(filePath);\n // let newFile = { [envDirPath]: idsString };\n let newFile = idsString.reduce((acc, id) => {\n return { ...acc, [id]: envDirPath };\n }, {});\n if (exists) {\n const existingFile = readJsonSync(filePath);\n newFile = { ...existingFile, ...newFile };\n }\n outputFileSync(filePath, JSON.stringify(newFile, null, 2));\n return newFile;\n }\n\n generateLocalPreviewRoot(dir: string) {\n const contents = `const previewModules = window.__bit_preview_modules;\nconst queryString = window.location.search;\nconst urlParams = new URLSearchParams(queryString);\nconst location = window.location.pathname;\nconst splitLocation = location.split('/').filter((x) => x);\n// Remove message part\nsplitLocation.shift();\n// const comp = urlParams.get('comp');\nconst comp = splitLocation.join('/');\nconst compositions = previewModules.get(\"compositions\");\nconst mounter = compositions.modulesMap.default;\nconst componentMap = compositions.componentMap;\nconst foundComponent = componentMap[comp];\nif (!foundComponent) {\n throw new Error('component not found');\n}\nlet compositionName = urlParams.get('name');\nif (!compositionName) {\n const allCompositions = Object.keys(foundComponent[0]);\n compositionName = allCompositions[0];\n}\nconst composition = foundComponent[0][compositionName];\nif (!composition) {\n throw new Error('composition not found');\n}\nlet func = mounter.default;\nif (typeof func !== 'function') {\n func = func.default;\n}\nfunc(composition);\n `;\n const previewRootPath = resolve(join(dir, `preview.entry.js`));\n\n // if (!existsSync(previewRootPath)) {\n outputFileSync(previewRootPath, contents);\n // }\n return previewRootPath;\n }\n\n generateHtmlConfig() {\n const config: BundlerHtmlConfig = {\n title: 'Preview',\n templateContent: html('Preview'),\n minify: false,\n filename: 'index.html',\n };\n return config;\n }\n\n private getTargets({\n entries,\n components,\n outputPath,\n peers,\n hostRootDir,\n }: {\n entries: string[];\n components: Component[];\n outputPath: string;\n peers?: string[];\n hostRootDir: string;\n }): Target[] {\n return [\n {\n entries,\n components,\n outputPath,\n hostRootDir,\n hostDependencies: peers,\n externalizeHostDependencies: false,\n aliasHostDependencies: true,\n },\n ];\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAI,MAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,KAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,SAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,QAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,cAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,aAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA+C,SAAAC,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,QAAAH,CAAA,EAAAI,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAP,CAAA,OAAAM,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAR,CAAA,GAAAI,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAX,CAAA,EAAAI,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAf,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAG,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAArB,CAAA,EAAAM,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAJ,CAAA;AAAA,SAAAmB,gBAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAJ,CAAA,GAAAM,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAA1B,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAuB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA9B,CAAA,QAAA2B,CAAA,GAAA3B,CAAA,CAAA+B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AA4B/C,MAAM8B,iBAAiB,GAAG,eAAe;AAElC,MAAMC,cAAc,CAA4B;EAGrDC,WAAWA,CACDC,OAAoB,EACpBC,MAAc,EACdC,kBAA0C,EAC1CC,KAAgB,EACxB;IAAA,KAJQH,OAAoB,GAApBA,OAAoB;IAAA,KACpBC,MAAc,GAAdA,MAAc;IAAA,KACdC,kBAA0C,GAA1CA,kBAA0C;IAAA,KAC1CC,KAAgB,GAAhBA,KAAgB;IAAAtB,eAAA,eANnB,SAAS;EAOb;EAEHuB,SAASA,CAACC,GAAQ,EAAEC,UAAsB,EAAwC;IAChF;IACA,IAAI,CAACD,GAAG,EAAEL,OAAO,EAAE,OAAOO,SAAS;IACnC,MAAMP,OAAO,GAAGK,GAAG,CAACL,OAAO,CAAC,CAAC,CAACM,UAAU,CAAC;IAEzC,MAAME,YAAsC,GAAG;MAC7CC,6BAA6B,EAAET,OAAO,CAACU,mBAAmB,CAACC,IAAI,CAACX,OAAO,CAAC;MACxEY,UAAU,EAAEZ,OAAO,CAACY,UAAU,CAACD,IAAI,CAACX,OAAO,CAAC;MAC5Ca,eAAe,EAAEb,OAAO,CAACa,eAAe,CAACF,IAAI,CAACX,OAAO,CAAC;MACtDc,gBAAgB,EAAEd,OAAO,CAACc,gBAAgB,CAACH,IAAI,CAACX,OAAO;IACzD,CAAC;IAED,IAAIA,OAAO,CAACe,kBAAkB,EAAE;MAC9BP,YAAY,CAACO,kBAAkB,GAAIC,OAAO,IAAKhB,OAAO,CAACe,kBAAkB,CAACC,OAAO,CAAC,CAACV,UAAU,CAAC;IAChG;IAEA,OAAOE,YAAY;EACrB;EAEA,MAAMS,GAAGA,CAACD,OAAyB,EAAEE,OAAyB,EAAgB;IAC5E,MAAMC,IAAI,GAAG,IAAI,CAACnB,OAAO,CAACoB,OAAO,CAAC,CAAC;IACnC,MAAMC,kBAAkB,GAAGF,IAAI,CAAC/C,MAAM,CAAEkD,GAAG,IAAKA,GAAG,CAACC,MAAM,KAAK,cAAc,CAAC;IAC9E,IAAI,CAACF,kBAAkB,IAAIA,kBAAkB,CAAC1C,MAAM,KAAK,CAAC,EAAE;MAC1D,MAAM,KAAI6C,oBAAQ,EAAC,uCAAuC,CAAC;IAC7D;IACA,MAAMC,UAAU,GAAGT,OAAO,CAACS,UAAU;IACrC,MAAMC,YAAY,GAAGD,UAAU,CAACE,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,CAAC;IAChD,MAAMC,UAAU,GAAG,IAAI,CAACC,aAAa,CAACf,OAAO,CAACa,EAAE,CAAC;IACjD,MAAMG,UAAU,GAAG,IAAI,CAACC,qBAAqB,CAACf,OAAO,CAACgB,IAAI,EAAEJ,UAAU,CAAC;IACvE,MAAMK,SAAS,GAAG,MAAM,IAAI,CAACnC,OAAO,CAACoC,eAAe,CAACf,kBAAkB,EAAEL,OAAO,CAACS,UAAU,EAAET,OAAO,CAAC;IACrG,MAAMqB,OAAO,GAAG,IAAAC,YAAI,EAAC,IAAI,CAACtC,OAAO,CAACuC,UAAU,EAAEvB,OAAO,CAACa,EAAE,CAAC;IACzD,MAAM,IAAI,CAACW,2BAA2B,CAACtB,OAAO,CAACgB,IAAI,EAAEJ,UAAU,EAAEJ,YAAY,CAAC;IAC9E,MAAMe,gBAAgB,GAAG,IAAI,CAACC,wBAAwB,CAACL,OAAO,CAAC;IAE/D,MAAMM,OAAO,GAAG,CAAC,GAAGR,SAAS,EAAEM,gBAAgB,CAAC;IAChD,MAAMG,KAAK,GAAG,MAAM,IAAI,CAAC1C,kBAAkB,CAAC2C,iCAAiC,CAAC7B,OAAO,CAAC8B,aAAa,CAACzC,GAAG,CAAC;IACxG,MAAM0C,WAAW,GAAG/B,OAAO,CAACgC,UAAU,CAACC,mBAAmB,EAAEC,UAAU;IACtE,MAAMC,OAAO,GAAG,IAAI,CAACC,UAAU,CAAC;MAAET,OAAO;MAAElB,UAAU;MAAEO,UAAU;MAAEY,KAAK;MAAEG;IAAY,CAAC,CAAC;IACxF,MAAMM,GAAG,GAAG,YAAYrC,OAAO,CAACgC,UAAU,CAACnB,EAAE,EAAE;IAC/C,MAAMyB,UAAU,GAAG,IAAI,CAACC,kBAAkB,CAAC,CAAC;IAC5C;IACA;IACA,MAAMC,cAA8B,GAAGxF,MAAM,CAACyF,MAAM,CAACzC,OAAO,EAAE;MAC5DmC,OAAO;MACPO,QAAQ,EAAE,KAAK;MACfC,IAAI,EAAE,CAACL,UAAU,CAAC;MAClB7B,UAAU;MACVmC,KAAK,EAAE,EAAE;MACTC,UAAU,EAAE,GAAG;MACfd,WAAW;MACXe,gBAAgB,EAAElB,KAAK;MACvBmB,qBAAqB,EAAE,IAAI;MAC3BC,QAAQ,EAAEX,GAAG;MACbY,WAAW,EAAE,IAAI;MACjBC,QAAQ,EAAE;QACRC,SAAS,EAAE,wBAAwB;QACnCC,KAAK,EAAEpD,OAAO,CAACa;MACjB;IACF,CAAC,CAAC;IAEF,MAAMwC,OAAgB,GAAG,MAAMrD,OAAO,CAACX,GAAG,CAACiE,UAAU,CAACd,cAAc,CAAC;IACrE,MAAMa,OAAO,CAACpD,GAAG,CAAC,CAAC;IACnB,MAAMsD,GAAG,GAAG7C,YAAY,CAAC8C,MAAM,CAAC,CAACC,GAAG,EAAE5C,EAAE,KAAK;MAC3C,OAAApD,aAAA,CAAAA,aAAA,KAAYgG,GAAG;QAAE,CAAC5C,EAAE,CAAC6C,QAAQ,GAAG1C;MAAU;IAC5C,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,OAAOuC,GAAG;EACZ;EAEAxC,aAAaA,CAACqC,KAAa,EAAU;IACnC,OAAO,IAAAO,qBAAU,EAACP,KAAK,EAAE;MAAEQ,WAAW,EAAE;IAAI,CAAC,CAAC;EAChD;EAEAC,kBAAkBA,CAAC3C,IAAY,EAAE;IAC/B,MAAMG,OAAO,GAAG,IAAI,CAAClC,KAAK,CAAC2E,WAAW,CAACC,GAAG,CAACC,WAAW,CAAC,GAAGnF,iBAAiB,IAAIqC,IAAI,EAAE,CAAC;IACtF,OAAOG,OAAO;EAChB;EAEAJ,qBAAqBA,CAACC,IAAY,EAAEJ,UAAkB,EAAE;IACtD,MAAMmD,eAAe,GAAG,IAAI,CAACJ,kBAAkB,CAAC3C,IAAI,CAAC;IACrD,OAAO,IAAAI,YAAI,EAAC2C,eAAe,EAAEnD,UAAU,CAAC;EAC1C;EAEAoD,wBAAwBA,CAAChD,IAAY,EAAE;IACrC,MAAMG,OAAO,GAAG,IAAI,CAACwC,kBAAkB,CAAC3C,IAAI,CAAC;IAC7C,MAAMiD,QAAQ,GAAG,IAAA7C,YAAI,EAACD,OAAO,EAAE,yBAAyB,CAAC;IACzD,OAAO8C,QAAQ;EACjB;EAEA,MAAMC,qBAAqBA,CAAClD,IAAY,EAAE;IACxC,MAAMiD,QAAQ,GAAG,IAAI,CAACD,wBAAwB,CAAChD,IAAI,CAAC;IACpD,OAAO,IAAAmD,uBAAY,EAACF,QAAQ,CAAC;EAC/B;EAEA,MAAM3C,2BAA2BA,CAACN,IAAY,EAAEoD,UAAkB,EAAEC,OAAsB,EAAE;IAC1F,MAAMJ,QAAQ,GAAG,IAAI,CAACD,wBAAwB,CAAChD,IAAI,CAAC;IACpD;IACA,MAAMsD,SAAS,GAAGD,OAAO,CAAC5D,GAAG,CAAEE,EAAE,IAAKA,EAAE,CAAC6C,QAAQ,CAAC;IAClD,MAAMe,MAAM,GAAG,MAAM,IAAAC,qBAAU,EAACP,QAAQ,CAAC;IACzC;IACA,IAAIQ,OAAO,GAAGH,SAAS,CAAChB,MAAM,CAAC,CAACC,GAAG,EAAE5C,EAAE,KAAK;MAC1C,OAAApD,aAAA,CAAAA,aAAA,KAAYgG,GAAG;QAAE,CAAC5C,EAAE,GAAGyD;MAAU;IACnC,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,IAAIG,MAAM,EAAE;MACV,MAAMG,YAAY,GAAG,IAAAP,uBAAY,EAACF,QAAQ,CAAC;MAC3CQ,OAAO,GAAAlH,aAAA,CAAAA,aAAA,KAAQmH,YAAY,GAAKD,OAAO,CAAE;IAC3C;IACA,IAAAE,yBAAc,EAACV,QAAQ,EAAEW,IAAI,CAACC,SAAS,CAACJ,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAOA,OAAO;EAChB;EAEAjD,wBAAwBA,CAACsD,GAAW,EAAE;IACpC,MAAMC,QAAQ,GAAG;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACD,MAAMC,eAAe,GAAG,IAAAC,eAAO,EAAC,IAAA7D,YAAI,EAAC0D,GAAG,EAAE,kBAAkB,CAAC,CAAC;;IAE9D;IACA,IAAAH,yBAAc,EAACK,eAAe,EAAED,QAAQ,CAAC;IACzC;IACA,OAAOC,eAAe;EACxB;EAEA3C,kBAAkBA,CAAA,EAAG;IACnB,MAAM6C,MAAyB,GAAG;MAChCC,KAAK,EAAE,SAAS;MAChBC,eAAe,EAAE,IAAA3C,oBAAI,EAAC,SAAS,CAAC;MAChC4C,MAAM,EAAE,KAAK;MACbC,QAAQ,EAAE;IACZ,CAAC;IACD,OAAOJ,MAAM;EACf;EAEQhD,UAAUA,CAAC;IACjBT,OAAO;IACPlB,UAAU;IACVO,UAAU;IACVY,KAAK;IACLG;EAOF,CAAC,EAAY;IACX,OAAO,CACL;MACEJ,OAAO;MACPlB,UAAU;MACVO,UAAU;MACVe,WAAW;MACXe,gBAAgB,EAAElB,KAAK;MACvB6D,2BAA2B,EAAE,KAAK;MAClC1C,qBAAqB,EAAE;IACzB,CAAC,CACF;EACH;AACF;AAAC2C,OAAA,CAAA5G,cAAA,GAAAA,cAAA","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_filenamify","data","_interopRequireDefault","require","_bitError","_path","_fsExtra","_htmlTemplate","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","LOCAL_PREVIEW_DIR","PreviewService","constructor","preview","logger","dependencyResolver","scope","transform","env","envContext","undefined","transformMap","getAdditionalHostDependencies","getHostDependencies","bind","getMounter","getDocsTemplate","getPreviewConfig","getTemplateBundler","context","run","options","getBundler","defs","getDefs","onlyCompositionDef","def","prefix","BitError","components","componentIds","map","c","id","envDirName","getEnvDirName","outputPath","getEnvLocalPreviewDir","name","linkFiles","updateLinkFiles","dirPath","join","tempFolder","addComponentsToLocalMapping","previewRootEntry","generateLocalPreviewRoot","entries","peers","getPreviewHostDependenciesFromEnv","envDefinition","hostRootDir","envRuntime","envAspectDefinition","aspectPath","targets","getTargets","url","htmlConfig","generateHtmlConfig","bundlerContext","assign","compress","html","entry","publicPath","hostDependencies","aliasHostDependencies","rootPath","development","metaData","initiator","envId","bundler","res","reduce","acc","fullName","filenamify","replacement","getLocalPreviewDir","legacyScope","tmp","composePath","localPreviewDir","getComponentsPreviewPath","filePath","readComponentsPreview","readJsonSync","envDirPath","compIds","idsString","exists","pathExists","newFile","existingFile","outputFileSync","JSON","stringify","dir","contents","previewRootPath","resolve","config","title","templateContent","minify","filename","externalizeHostDependencies","exports"],"sources":["preview.service.tsx"],"sourcesContent":["import filenamify from 'filenamify';\nimport { EnvService, ExecutionContext, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';\nimport { EnvPreviewConfig, PreviewMain } from './preview.main.runtime';\nimport { BitError } from '@teambit/bit-error';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { Bundler, BundlerContext, BundlerHtmlConfig, Target } from '@teambit/bundler';\nimport { Component, ComponentID } from '@teambit/component';\nimport { join, resolve } from 'path';\nimport { outputFileSync, pathExists, readJsonSync } from 'fs-extra';\nimport { ScopeMain } from '@teambit/scope';\nimport { html } from './bundler/html-template';\n\ntype PreviewTransformationMap = ServiceTransformationMap & {\n /**\n * Returns a paths to a function which mounts a given component to DOM\n * Required for `bit start` & `bit build`\n */\n getMounter?: () => string;\n\n /**\n * Returns a path to a docs template.\n * Required for `bit start` & `bit build`\n */\n getDocsTemplate?: () => string;\n\n /**\n * Returns a list of additional host dependencies\n * this list will be provided as globals on the window after bit preview bundle\n * by default bit will merge this list with the peers from the getDependencies function\n */\n getAdditionalHostDependencies?: () => string[] | Promise<string[]>;\n\n /**\n * Returns preview config like the strategy name to use when bundling the components for the preview\n */\n getPreviewConfig?: () => EnvPreviewConfig;\n};\n\nconst LOCAL_PREVIEW_DIR = 'local-preview';\n\nexport class PreviewService implements EnvService<any> {\n name = 'preview';\n\n constructor(\n private preview: PreviewMain,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n private scope: ScopeMain\n ) {}\n\n transform(env: Env, envContext: EnvContext): PreviewTransformationMap | undefined {\n // Old env\n if (!env?.preview) return undefined;\n const preview = env.preview()(envContext);\n\n const transformMap: PreviewTransformationMap = {\n getAdditionalHostDependencies: preview.getHostDependencies.bind(preview),\n getMounter: preview.getMounter.bind(preview),\n getDocsTemplate: preview.getDocsTemplate.bind(preview),\n getPreviewConfig: preview.getPreviewConfig.bind(preview),\n };\n\n if (preview.getTemplateBundler) {\n transformMap.getTemplateBundler = (context) => preview.getTemplateBundler(context)(envContext);\n }\n\n return transformMap;\n }\n\n async run(context: ExecutionContext, options: { name: string }): Promise<any> {\n if (!context.env.getBundler) {\n return undefined;\n }\n\n const defs = this.preview.getDefs();\n const onlyCompositionDef = defs.filter((def) => def.prefix === 'compositions');\n if (!onlyCompositionDef || onlyCompositionDef.length === 0) {\n throw new BitError('unable to find composition definition');\n }\n const components = context.components;\n const componentIds = components.map((c) => c.id);\n const envDirName = this.getEnvDirName(context.id);\n const outputPath = this.getEnvLocalPreviewDir(options.name, envDirName);\n const linkFiles = await this.preview.updateLinkFiles(onlyCompositionDef, context.components, context);\n const dirPath = join(this.preview.tempFolder, context.id);\n await this.addComponentsToLocalMapping(options.name, envDirName, componentIds);\n const previewRootEntry = this.generateLocalPreviewRoot(dirPath);\n\n const entries = [...linkFiles, previewRootEntry];\n const peers = await this.dependencyResolver.getPreviewHostDependenciesFromEnv(context.envDefinition.env);\n const hostRootDir = context.envRuntime.envAspectDefinition?.aspectPath;\n const targets = this.getTargets({ entries, components, outputPath, peers, hostRootDir });\n const url = `/preview/${context.envRuntime.id}`;\n const htmlConfig = this.generateHtmlConfig();\n // @ts-ignore we don't really need the full bundler type here, we should\n // change the original type to only have the relevant fields\n const bundlerContext: BundlerContext = Object.assign(context, {\n targets,\n compress: false,\n html: [htmlConfig],\n components,\n entry: [],\n publicPath: '/',\n hostRootDir,\n hostDependencies: peers,\n aliasHostDependencies: true,\n rootPath: url,\n development: true,\n metaData: {\n initiator: `Generate local preview`,\n envId: context.id,\n },\n });\n\n const bundler: Bundler = await context.env.getBundler(bundlerContext);\n await bundler.run();\n const res = componentIds.reduce((acc, id) => {\n return { ...acc, [id.fullName]: outputPath };\n }, {});\n return res;\n }\n\n getEnvDirName(envId: string): string {\n return filenamify(envId, { replacement: '_' });\n }\n\n getLocalPreviewDir(name: string) {\n const dirPath = this.scope.legacyScope.tmp.composePath(`${LOCAL_PREVIEW_DIR}/${name}`);\n return dirPath;\n }\n\n getEnvLocalPreviewDir(name: string, envDirName: string) {\n const localPreviewDir = this.getLocalPreviewDir(name);\n return join(localPreviewDir, envDirName);\n }\n\n getComponentsPreviewPath(name: string) {\n const dirPath = this.getLocalPreviewDir(name);\n const filePath = join(dirPath, 'components-preview.json');\n return filePath;\n }\n\n async readComponentsPreview(name: string) {\n const filePath = this.getComponentsPreviewPath(name);\n return readJsonSync(filePath);\n }\n\n async addComponentsToLocalMapping(name: string, envDirPath: string, compIds: ComponentID[]) {\n const filePath = this.getComponentsPreviewPath(name);\n // const idsString = compIds.map((id) => id.toString());\n const idsString = compIds.map((id) => id.fullName);\n const exists = await pathExists(filePath);\n // let newFile = { [envDirPath]: idsString };\n let newFile = idsString.reduce((acc, id) => {\n return { ...acc, [id]: envDirPath };\n }, {});\n if (exists) {\n const existingFile = readJsonSync(filePath);\n newFile = { ...existingFile, ...newFile };\n }\n outputFileSync(filePath, JSON.stringify(newFile, null, 2));\n return newFile;\n }\n\n generateLocalPreviewRoot(dir: string) {\n const contents = `const previewModules = window.__bit_preview_modules;\nconst queryString = window.location.search;\nconst urlParams = new URLSearchParams(queryString);\nconst location = window.location.pathname;\nconst splitLocation = location.split('/').filter((x) => x);\n// Remove message part\nsplitLocation.shift();\n// const comp = urlParams.get('comp');\nconst comp = splitLocation.join('/');\nconst compositions = previewModules.get(\"compositions\");\nconst mounter = compositions.modulesMap.default;\nconst componentMap = compositions.componentMap;\nconst foundComponent = componentMap[comp];\nif (!foundComponent) {\n throw new Error('component not found');\n}\nlet compositionName = urlParams.get('name');\nif (!compositionName) {\n const allCompositions = Object.keys(foundComponent[0]);\n compositionName = allCompositions[0];\n}\nconst composition = foundComponent[0][compositionName];\nif (!composition) {\n throw new Error('composition not found');\n}\nlet func = mounter.default;\nif (typeof func !== 'function') {\n func = func.default;\n}\nfunc(composition);\n `;\n const previewRootPath = resolve(join(dir, `preview.entry.js`));\n\n // if (!existsSync(previewRootPath)) {\n outputFileSync(previewRootPath, contents);\n // }\n return previewRootPath;\n }\n\n generateHtmlConfig() {\n const config: BundlerHtmlConfig = {\n title: 'Preview',\n templateContent: html('Preview'),\n minify: false,\n filename: 'index.html',\n };\n return config;\n }\n\n private getTargets({\n entries,\n components,\n outputPath,\n peers,\n hostRootDir,\n }: {\n entries: string[];\n components: Component[];\n outputPath: string;\n peers?: string[];\n hostRootDir: string;\n }): Target[] {\n return [\n {\n entries,\n components,\n outputPath,\n hostRootDir,\n hostDependencies: peers,\n externalizeHostDependencies: false,\n aliasHostDependencies: true,\n },\n ];\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/preview.task.js
CHANGED
@@ -44,6 +44,11 @@ class PreviewTask {
|
|
44
44
|
// readonly dependencies = [CompilerAspect.id];
|
45
45
|
|
46
46
|
async execute(context) {
|
47
|
+
if (!context.env.getBundler) {
|
48
|
+
return {
|
49
|
+
componentsResults: []
|
50
|
+
};
|
51
|
+
}
|
47
52
|
const defs = this.preview.getDefs();
|
48
53
|
const url = `/preview/${context.envRuntime.id}`;
|
49
54
|
const bundlingStrategy = this.preview.getBundlingStrategy(context.env);
|
@@ -78,9 +83,9 @@ class PreviewTask {
|
|
78
83
|
return outputPath;
|
79
84
|
}
|
80
85
|
getPathsFromMap(capsule, moduleMap, context) {
|
81
|
-
const compiler = context.env.getCompiler(context);
|
86
|
+
const compiler = context.env.getCompiler?.(context);
|
82
87
|
return moduleMap.map(files => {
|
83
|
-
return files.map(file => (0, _path().join)(capsule.path, compiler
|
88
|
+
return files.map(file => (0, _path().join)(capsule.path, compiler?.getDistPathBySrcPath(file.relative) || file.relative));
|
84
89
|
});
|
85
90
|
}
|
86
91
|
}
|
package/dist/preview.task.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_path","data","require","_builder","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","PREVIEW_TASK_NAME","exports","PreviewTask","constructor","bundler","preview","dependencyResolver","logger","execute","context","defs","getDefs","url","envRuntime","id","bundlingStrategy","getBundlingStrategy","
|
1
|
+
{"version":3,"names":["_path","data","require","_builder","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","PREVIEW_TASK_NAME","exports","PreviewTask","constructor","bundler","preview","dependencyResolver","logger","execute","context","env","getBundler","componentsResults","defs","getDefs","url","envRuntime","id","bundlingStrategy","getBundlingStrategy","envPreviewConfig","getEnvPreviewConfig","splitComponentBundle","computeTargetsContext","assign","targets","computeTargets","bundlerContext","compress","name","entry","publicPath","getPreviewDirectory","rootPath","development","dev","metaData","initiator","envId","bundlerResults","run","results","computeResults","getLinkFileDirectory","join","CAPSULE_ARTIFACTS_DIR","outputPath","resolve","getPathsFromMap","capsule","moduleMap","compiler","getCompiler","map","files","file","path","getDistPathBySrcPath","relative"],"sources":["preview.task.ts"],"sourcesContent":["import { resolve, join } from 'path';\nimport { ExecutionContext } from '@teambit/envs';\nimport { BuildContext, BuiltTaskResult, BuildTask, TaskLocation, CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { Bundler, BundlerContext, BundlerMain, Target } from '@teambit/bundler';\nimport { Compiler } from '@teambit/compiler';\nimport { ComponentMap } from '@teambit/component';\nimport { Capsule } from '@teambit/isolator';\nimport { AbstractVinyl } from '@teambit/component.sources';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { PreviewMain } from './preview.main.runtime';\n\nexport const PREVIEW_TASK_NAME = 'GeneratePreview';\nexport class PreviewTask implements BuildTask {\n constructor(\n /**\n * bundler extension.\n */\n private bundler: BundlerMain,\n\n /**\n * preview extension.\n */\n private preview: PreviewMain,\n\n private dependencyResolver: DependencyResolverMain,\n private logger: Logger\n ) {}\n\n aspectId = 'teambit.preview/preview';\n name = PREVIEW_TASK_NAME;\n description = 'Bundling components for preview';\n location: TaskLocation = 'end';\n // readonly dependencies = [CompilerAspect.id];\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n if (!context.env.getBundler) {\n return { componentsResults: [] };\n }\n\n const defs = this.preview.getDefs();\n const url = `/preview/${context.envRuntime.id}`;\n const bundlingStrategy = this.preview.getBundlingStrategy(context.env);\n const envPreviewConfig = this.preview.getEnvPreviewConfig(context.env);\n const splitComponentBundle = envPreviewConfig.splitComponentBundle ?? false;\n const computeTargetsContext = Object.assign(context, { splitComponentBundle });\n\n const targets: Target[] = await bundlingStrategy.computeTargets(computeTargetsContext, defs, this);\n\n const bundlerContext: BundlerContext = Object.assign(context, {\n targets,\n compress: bundlingStrategy.name !== 'env' && splitComponentBundle,\n entry: [],\n publicPath: this.getPreviewDirectory(context),\n rootPath: url,\n development: context.dev,\n metaData: {\n initiator: `${PREVIEW_TASK_NAME} task`,\n envId: context.id,\n },\n });\n\n const bundler: Bundler = await context.env.getBundler(bundlerContext);\n const bundlerResults = await bundler.run();\n\n const results = bundlingStrategy.computeResults(bundlerContext, bundlerResults, this);\n return results;\n }\n\n getLinkFileDirectory() {\n return join(CAPSULE_ARTIFACTS_DIR, 'preview-links');\n }\n\n getPreviewDirectory(context: ExecutionContext) {\n const outputPath = resolve(`${context.id}/public`);\n return outputPath;\n }\n\n getPathsFromMap(\n capsule: Capsule,\n moduleMap: ComponentMap<AbstractVinyl[]>,\n context: BuildContext\n ): ComponentMap<string[]> {\n const compiler: Compiler = context.env.getCompiler?.(context);\n return moduleMap.map((files) => {\n return files.map((file) => join(capsule.path, compiler?.getDistPathBySrcPath(file.relative) || file.relative));\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -336,8 +336,8 @@ class ComponentBundlingStrategy {
|
|
336
336
|
getPaths(context, component, files) {
|
337
337
|
const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);
|
338
338
|
if (!capsule) return [];
|
339
|
-
const compiler = context.env.getCompiler();
|
340
|
-
return files.map(file => (0, _path().join)(capsule.path, compiler
|
339
|
+
const compiler = context.env.getCompiler?.();
|
340
|
+
return files.map(file => (0, _path().join)(capsule.path, compiler?.getDistPathBySrcPath(file.relative) || file.relative));
|
341
341
|
}
|
342
342
|
getComponentOutputPath(capsule, context) {
|
343
343
|
const capsulePath = (0, _path().resolve)(`${capsule.path}`);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_path","data","require","_fsExtra","_lodash","_builder","_bitError","_generateComponentLink","_exceptions","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","dependencyResolver","logger","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","componentDirectoryMap","forEach","entry","assign","push","id","toString","componentDir","hostRootDir","envRuntime","envAspectDefinition","aspectPath","hostDependencies","aliasHostDependencies","externalizeHostDependencies","componentPreviewPath","computePaths","componentPath","getPaths","mainFile","graphCapsules","getCapsule","path","componentPreview","getComponentChunkId","splitComponentBundle","toStringWithoutVersion","undefined","filename","getComponentChunkFileName","fsCompatible","ignoreVersion","import","dependOn","library","name","type","componentId","idstr","suffix","getAssetAbsolutePath","asset","join","getAssetFilename","split","copyAssetsToCapsules","result","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","UNKNOWN","basename","warn","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","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/component.sources';\nimport type { Capsule } from '@teambit/isolator';\nimport { ArtifactDefinition, CAPSULE_ARTIFACTS_DIR, ComponentResult } from '@teambit/builder';\nimport { BitError } from '@teambit/bit-error';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\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 componentDir: string;\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(\n private preview: PreviewMain,\n private dependencyResolver: DependencyResolverMain,\n private logger: Logger\n ) {}\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 const componentDirectoryMap = {};\n currentChunk.forEach((entry) => {\n Object.assign(entries, entry.entries);\n components.push(entry.component);\n componentDirectoryMap[entry.component.id.toString()] = entry.componentDir;\n });\n\n return {\n entries,\n components,\n componentDirectoryMap,\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 = 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 const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n const componentDir = capsule?.path || '';\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, componentDir };\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 const UNKNOWN = 'unknown';\n const name = file.name ? basename(file.name) : UNKNOWN;\n if (name === UNKNOWN) {\n this.logger.warn(`computeComponentMetadata: unable to get the name of the asset ${file}`);\n }\n return {\n 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 const UNKNOWN = 'unknown';\n const name = file.name ? basename(file.name) : UNKNOWN;\n if (name === UNKNOWN) {\n this.logger.warn(`computeComponentMetadata: unable to get the name of the auxiliary asset ${file}`);\n }\n return {\n 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(): ArtifactDefinition[] {\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: [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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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_path","data","require","_fsExtra","_lodash","_builder","_bitError","_generateComponentLink","_exceptions","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","dependencyResolver","logger","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","componentDirectoryMap","forEach","entry","assign","push","id","toString","componentDir","hostRootDir","envRuntime","envAspectDefinition","aspectPath","hostDependencies","aliasHostDependencies","externalizeHostDependencies","componentPreviewPath","computePaths","componentPath","getPaths","mainFile","graphCapsules","getCapsule","path","componentPreview","getComponentChunkId","splitComponentBundle","toStringWithoutVersion","undefined","filename","getComponentChunkFileName","fsCompatible","ignoreVersion","import","dependOn","library","name","type","componentId","idstr","suffix","getAssetAbsolutePath","asset","join","getAssetFilename","split","copyAssetsToCapsules","result","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","UNKNOWN","basename","warn","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","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/component.sources';\nimport type { Capsule } from '@teambit/isolator';\nimport { ArtifactDefinition, CAPSULE_ARTIFACTS_DIR, ComponentResult } from '@teambit/builder';\nimport { BitError } from '@teambit/bit-error';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\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 componentDir: string;\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(\n private preview: PreviewMain,\n private dependencyResolver: DependencyResolverMain,\n private logger: Logger\n ) {}\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 const componentDirectoryMap = {};\n currentChunk.forEach((entry) => {\n Object.assign(entries, entry.entries);\n components.push(entry.component);\n componentDirectoryMap[entry.component.id.toString()] = entry.componentDir;\n });\n\n return {\n entries,\n components,\n componentDirectoryMap,\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 = 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 const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n const componentDir = capsule?.path || '';\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, componentDir };\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 const UNKNOWN = 'unknown';\n const name = file.name ? basename(file.name) : UNKNOWN;\n if (name === UNKNOWN) {\n this.logger.warn(`computeComponentMetadata: unable to get the name of the asset ${file}`);\n }\n return {\n 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 const UNKNOWN = 'unknown';\n const name = file.name ? basename(file.name) : UNKNOWN;\n if (name === UNKNOWN) {\n this.logger.warn(`computeComponentMetadata: unable to get the name of the auxiliary asset ${file}`);\n }\n return {\n 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(): ArtifactDefinition[] {\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: [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) || 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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","ignoreList":[]}
|
@@ -123,8 +123,8 @@ class EnvBundlingStrategy {
|
|
123
123
|
return (0, _path().resolve)(`${context.capsuleNetwork.capsulesRootDir}/${this.getDirName(context)}`);
|
124
124
|
}
|
125
125
|
getPaths(context, files, capsule) {
|
126
|
-
const compiler = context.env.getCompiler();
|
127
|
-
return files.map(file => (0, _path().join)(capsule.path, compiler
|
126
|
+
const compiler = context.env.getCompiler?.();
|
127
|
+
return files.map(file => (0, _path().join)(capsule.path, compiler?.getDistPathBySrcPath(file.relative) || file.relative));
|
128
128
|
}
|
129
129
|
async computePaths(outputPath, defs, context) {
|
130
130
|
const previewMain = await this.preview.writePreviewEntry(context);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_path","data","require","_fsExtra","_lodash","_component","_htmlTemplate","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","componentDirectoryMap","components","forEach","component","capsule","capsuleNetwork","graphCapsules","getCapsule","id","toString","path","entries","computePaths","html","hostDependencies","aliasHostDependencies","options","config","title","templateContent","cache","minify","computeResults","results","result","componentsResults","map","errors","err","message","warning","warnings","startTime","endTime","artifacts","getArtifactDef","rootDir","getDirName","name","globPatterns","envName","replace","resolve","capsulesRootDir","getPaths","files","compiler","getCompiler","file","join","getDistPathBySrcPath","relative","defs","previewMain","writePreviewEntry","moduleMapsPromise","previewDef","moduleMap","getModuleMap","paths","ComponentMap","as","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/component.sources';\nimport { Capsule } from '@teambit/isolator';\nimport { ArtifactDefinition, 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(\n private preview: PreviewMain,\n private pkg: PkgMain,\n private dependencyResolver: DependencyResolverMain\n ) {}\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 const componentDirectoryMap = {};\n context.components.forEach((component) => {\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n if (!capsule) return;\n componentDirectoryMap[component.id.toString()] = capsule.path;\n });\n\n return [\n {\n entries: await this.computePaths(outputPath, previewDefs, context),\n componentDirectoryMap,\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): ArtifactDefinition[] {\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: [`${rootDir}/public`],\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.writePreviewEntry(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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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_path","data","require","_fsExtra","_lodash","_component","_htmlTemplate","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","componentDirectoryMap","components","forEach","component","capsule","capsuleNetwork","graphCapsules","getCapsule","id","toString","path","entries","computePaths","html","hostDependencies","aliasHostDependencies","options","config","title","templateContent","cache","minify","computeResults","results","result","componentsResults","map","errors","err","message","warning","warnings","startTime","endTime","artifacts","getArtifactDef","rootDir","getDirName","name","globPatterns","envName","replace","resolve","capsulesRootDir","getPaths","files","compiler","getCompiler","file","join","getDistPathBySrcPath","relative","defs","previewMain","writePreviewEntry","moduleMapsPromise","previewDef","moduleMap","getModuleMap","paths","ComponentMap","as","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/component.sources';\nimport { Capsule } from '@teambit/isolator';\nimport { ArtifactDefinition, 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(\n private preview: PreviewMain,\n private pkg: PkgMain,\n private dependencyResolver: DependencyResolverMain\n ) {}\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 const componentDirectoryMap = {};\n context.components.forEach((component) => {\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n if (!capsule) return;\n componentDirectoryMap[component.id.toString()] = capsule.path;\n });\n\n return [\n {\n entries: await this.computePaths(outputPath, previewDefs, context),\n componentDirectoryMap,\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): ArtifactDefinition[] {\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: [`${rootDir}/public`],\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) || 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.writePreviewEntry(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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","ignoreList":[]}
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/preview",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.529",
|
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.
|
9
|
+
"version": "1.0.529"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"mime": "2.5.2",
|
@@ -31,36 +31,36 @@
|
|
31
31
|
"@teambit/bit-error": "0.0.404",
|
32
32
|
"@teambit/preview.cli.dev-server-events-listener": "0.0.1",
|
33
33
|
"@teambit/react.webpack.react-webpack": "1.0.42",
|
34
|
-
"@teambit/express": "0.0.
|
35
|
-
"@teambit/logger": "0.0.
|
34
|
+
"@teambit/express": "0.0.1205",
|
35
|
+
"@teambit/logger": "0.0.1199",
|
36
36
|
"@teambit/ui-foundation.ui.pages.static-error": "0.0.106",
|
37
|
-
"@teambit/builder": "1.0.
|
38
|
-
"@teambit/bundler": "1.0.
|
39
|
-
"@teambit/component": "1.0.
|
37
|
+
"@teambit/builder": "1.0.529",
|
38
|
+
"@teambit/bundler": "1.0.529",
|
39
|
+
"@teambit/component": "1.0.529",
|
40
40
|
"@teambit/preview.ui.component-preview": "1.0.20",
|
41
|
-
"@teambit/aspect-loader": "1.0.
|
42
|
-
"@teambit/cli": "0.0.
|
43
|
-
"@teambit/dependency-resolver": "1.0.
|
44
|
-
"@teambit/envs": "1.0.
|
41
|
+
"@teambit/aspect-loader": "1.0.529",
|
42
|
+
"@teambit/cli": "0.0.1106",
|
43
|
+
"@teambit/dependency-resolver": "1.0.529",
|
44
|
+
"@teambit/envs": "1.0.529",
|
45
45
|
"@teambit/toolbox.path.to-windows-compatible-path": "0.0.498",
|
46
46
|
"@teambit/legacy.constants": "0.0.8",
|
47
47
|
"@teambit/toolbox.crypto.sha1": "0.0.5",
|
48
|
-
"@teambit/ui": "1.0.
|
49
|
-
"@teambit/isolator": "1.0.
|
48
|
+
"@teambit/ui": "1.0.529",
|
49
|
+
"@teambit/isolator": "1.0.529",
|
50
50
|
"@teambit/harmony.modules.harmony-root-generator": "0.0.10",
|
51
|
-
"@teambit/component.sources": "0.0.
|
51
|
+
"@teambit/component.sources": "0.0.77",
|
52
52
|
"@teambit/toolbox.path.path": "0.0.6",
|
53
|
-
"@teambit/cache": "0.0.
|
54
|
-
"@teambit/graphql": "1.0.
|
53
|
+
"@teambit/cache": "0.0.1199",
|
54
|
+
"@teambit/graphql": "1.0.529",
|
55
55
|
"@teambit/harmony.modules.feature-toggle": "0.0.16",
|
56
|
-
"@teambit/pkg": "1.0.
|
57
|
-
"@teambit/pubsub": "1.0.
|
58
|
-
"@teambit/scope": "1.0.
|
59
|
-
"@teambit/watcher": "1.0.
|
60
|
-
"@teambit/workspace": "1.0.
|
61
|
-
"@teambit/compiler": "1.0.
|
56
|
+
"@teambit/pkg": "1.0.529",
|
57
|
+
"@teambit/pubsub": "1.0.529",
|
58
|
+
"@teambit/scope": "1.0.529",
|
59
|
+
"@teambit/watcher": "1.0.529",
|
60
|
+
"@teambit/workspace": "1.0.529",
|
61
|
+
"@teambit/compiler": "1.0.529",
|
62
62
|
"@teambit/preview.cli.webpack-events-listener": "0.0.177",
|
63
|
-
"@teambit/webpack": "1.0.
|
63
|
+
"@teambit/webpack": "1.0.529"
|
64
64
|
},
|
65
65
|
"devDependencies": {
|
66
66
|
"@types/mime": "2.0.3",
|
package/preview.service.tsx
CHANGED
@@ -69,6 +69,10 @@ export class PreviewService implements EnvService<any> {
|
|
69
69
|
}
|
70
70
|
|
71
71
|
async run(context: ExecutionContext, options: { name: string }): Promise<any> {
|
72
|
+
if (!context.env.getBundler) {
|
73
|
+
return undefined;
|
74
|
+
}
|
75
|
+
|
72
76
|
const defs = this.preview.getDefs();
|
73
77
|
const onlyCompositionDef = defs.filter((def) => def.prefix === 'compositions');
|
74
78
|
if (!onlyCompositionDef || onlyCompositionDef.length === 0) {
|
@@ -360,8 +360,8 @@ export class ComponentBundlingStrategy implements BundlingStrategy {
|
|
360
360
|
private getPaths(context: ComputeTargetsContext, component: Component, files: AbstractVinyl[]) {
|
361
361
|
const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);
|
362
362
|
if (!capsule) return [];
|
363
|
-
const compiler: Compiler = context.env.getCompiler();
|
364
|
-
return files.map((file) => join(capsule.path, compiler
|
363
|
+
const compiler: Compiler = context.env.getCompiler?.();
|
364
|
+
return files.map((file) => join(capsule.path, compiler?.getDistPathBySrcPath(file.relative) || file.relative));
|
365
365
|
}
|
366
366
|
|
367
367
|
private getComponentOutputPath(capsule: Capsule, context: ComputeTargetsContext) {
|
@@ -110,8 +110,8 @@ export class EnvBundlingStrategy implements BundlingStrategy {
|
|
110
110
|
}
|
111
111
|
|
112
112
|
private getPaths(context: ComputeTargetsContext, files: AbstractVinyl[], capsule: Capsule) {
|
113
|
-
const compiler: Compiler = context.env.getCompiler();
|
114
|
-
return files.map((file) => join(capsule.path, compiler
|
113
|
+
const compiler: Compiler = context.env.getCompiler?.();
|
114
|
+
return files.map((file) => join(capsule.path, compiler?.getDistPathBySrcPath(file.relative) || file.relative));
|
115
115
|
}
|
116
116
|
|
117
117
|
private async computePaths(
|