@teambit/docs 0.0.959 → 0.0.961
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/docs.main.runtime.d.ts +1 -1
- package/dist/docs.main.runtime.js +11 -1
- package/dist/docs.main.runtime.js.map +1 -1
- package/dist/docs.preview-definition.d.ts +2 -2
- package/dist/docs.preview-definition.js.map +1 -1
- package/dist/docs.preview.runtime.d.ts +1 -1
- package/dist/docs.preview.runtime.js +6 -4
- package/dist/docs.preview.runtime.js.map +1 -1
- package/dist/{preview-1673666932263.js → preview-1674012591081.js} +2 -2
- package/docs.preview.runtime.tsx +12 -4
- package/package-tar/teambit-docs-0.0.961.tgz +0 -0
- package/package.json +20 -20
- package/package-tar/teambit-docs-0.0.959.tgz +0 -0
|
@@ -56,7 +56,7 @@ export declare class DocsMain {
|
|
|
56
56
|
* compute the description of the component from its source code and docs file.
|
|
57
57
|
*/
|
|
58
58
|
getDescription(component: Component): Promise<string>;
|
|
59
|
-
getTemplate(env: Environment): Promise<
|
|
59
|
+
getTemplate(env: Environment): Promise<string | undefined>;
|
|
60
60
|
getDocReader(extension: string): DocReader | undefined;
|
|
61
61
|
/**
|
|
62
62
|
* compute a doc for a component.
|
|
@@ -92,6 +92,13 @@ function _docsEntities() {
|
|
|
92
92
|
};
|
|
93
93
|
return data;
|
|
94
94
|
}
|
|
95
|
+
function _lodash() {
|
|
96
|
+
const data = require("lodash");
|
|
97
|
+
_lodash = function () {
|
|
98
|
+
return data;
|
|
99
|
+
};
|
|
100
|
+
return data;
|
|
101
|
+
}
|
|
95
102
|
function _envs() {
|
|
96
103
|
const data = require("@teambit/envs");
|
|
97
104
|
_envs = function () {
|
|
@@ -182,7 +189,10 @@ class DocsMain {
|
|
|
182
189
|
return (fromJsDocs === null || fromJsDocs === void 0 ? void 0 : fromJsDocs.description) || '';
|
|
183
190
|
}
|
|
184
191
|
async getTemplate(env) {
|
|
185
|
-
|
|
192
|
+
if (env.getDocsTemplate && (0, _lodash().isFunction)(env.getDocsTemplate)) {
|
|
193
|
+
return env.getDocsTemplate();
|
|
194
|
+
}
|
|
195
|
+
return undefined;
|
|
186
196
|
}
|
|
187
197
|
getDocReader(extension) {
|
|
188
198
|
return this.docReaderSlot.values().find(docReader => docReader.isFormatSupported(extension));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DocsMain","constructor","patterns","preview","pkg","compiler","workspace","logger","devFiles","envs","docPropSlot","docReaderSlot","getDocsMap","components","ComponentMap","as","component","getDocsFiles","getDevFiles","docFiles","get","DocsAspect","id","state","filesystem","files","filter","file","includes","relative","getDescription","componentDoc","getDoc","desc","description","consumerComponent","_consumer","fromJsDocs","docs","find","doc","getTemplate","env","getDocsTemplate","getDocReader","extension","values","docReader","isFormatSupported","computeDoc","length","docFile","extname","FileExtensionNotSupported","read","contents","err","debug","message","docData","data","Doc","filePath","DocPropList","props","getPatterns","getComponentDevPatterns","calculateEnv","componentEnvDocsDevPatterns","getDocsDevPatterns","componentPatterns","concat","name","pattern","getDevPatternToRegister","bind","registerDocReader","register","provider","graphql","loggerAspect","config","createLogger","DefaultDocReader","registerDevPattern","onComponentLoad","opts","loadDocs","undefined","toObject","docsSchema","registerDefinition","DocsPreviewDefinition","Slot","withType","MainRuntime","PreviewAspect","GraphqlAspect","WorkspaceAspect","PkgAspect","CompilerAspect","LoggerAspect","DevFilesAspect","EnvsAspect","addRuntime"],"sources":["docs.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport { MainRuntime } from '@teambit/cli';\nimport { LoggerAspect, LoggerMain, Logger } from '@teambit/logger';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { Component, ComponentMap, IComponent } from '@teambit/component';\nimport { PkgAspect, PkgMain } from '@teambit/pkg';\nimport type { Environment } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { PreviewAspect, PreviewMain } from '@teambit/preview';\nimport DevFilesAspect, { DevFilesMain } from '@teambit/dev-files';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { Doc, DocPropList } from '@teambit/docs.entities.doc';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { DocsAspect } from './docs.aspect';\nimport { DocsPreviewDefinition } from './docs.preview-definition';\nimport { docsSchema } from './docs.graphql';\nimport { DocReader } from './doc-reader';\nimport { DefaultDocReader } from './default-doc-reader';\nimport { FileExtensionNotSupported } from './exceptions';\n\nexport type ComponentDocs = {\n files: string[];\n component: Component;\n};\n\nexport type DocProp = {};\n\nexport type DocPropSlot = SlotRegistry<DocProp>;\n\nexport type DocReaderSlot = SlotRegistry<DocReader>;\n\nexport type DocsConfig = {\n /**\n * glob patterns to identify doc files.\n */\n patterns: string[];\n};\n\n/**\n * the component documentation extension.\n */\nexport class DocsMain {\n constructor(\n private patterns: string[],\n /**\n * envs extension.\n */\n private preview: PreviewMain,\n\n private pkg: PkgMain,\n\n private compiler: CompilerMain,\n\n private workspace: Workspace,\n\n private logger: Logger,\n\n private devFiles: DevFilesMain,\n\n private envs: EnvsMain,\n\n private docPropSlot: DocPropSlot,\n\n private docReaderSlot: DocReaderSlot\n ) {}\n\n /**\n * returns an array of doc file paths for a set of components.\n */\n getDocsMap(components: Component[]): ComponentMap<AbstractVinyl[]> {\n return ComponentMap.as<AbstractVinyl[]>(components, (component) => {\n return this.getDocsFiles(component);\n });\n }\n\n getDocsFiles(component: Component): AbstractVinyl[] {\n const devFiles = this.devFiles.getDevFiles(component);\n const docFiles = devFiles.get(DocsAspect.id);\n return component.state.filesystem.files.filter((file) => docFiles.includes(file.relative));\n }\n\n /**\n * compute the description of the component from its source code and docs file.\n */\n async getDescription(component: Component): Promise<string> {\n const componentDoc = this.getDoc(component);\n const desc = componentDoc?.description;\n if (desc) return desc;\n const consumerComponent: ConsumerComponent = component.state._consumer;\n const fromJsDocs = consumerComponent.docs?.find((doc) => doc.description);\n\n return fromJsDocs?.description || '';\n }\n\n async getTemplate(env: Environment) {\n return env.getDocsTemplate();\n }\n\n getDocReader(extension: string) {\n return this.docReaderSlot.values().find((docReader) => docReader.isFormatSupported(extension));\n }\n\n /**\n * compute a doc for a component.\n */\n async computeDoc(component: Component) {\n const docFiles = this.getDocsFiles(component);\n if (docFiles.length) {\n // currently taking the the first docs file found with an abstract. (we support only one)\n const docFile = docFiles[0];\n\n try {\n const docReader = this.getDocReader(docFile.extname);\n if (!docReader) throw new FileExtensionNotSupported(docFile.relative, docFile.extname);\n const doc = await docReader.read(docFile.relative, docFile.contents, component);\n return doc;\n } catch (err: any) {\n // it's ok to fail here.\n this.logger.debug(`docs.main.runtime.computeDoc caught an error: ${err.message}`);\n return null;\n }\n }\n\n return null;\n }\n\n getDoc(component: IComponent) {\n const docData = component.get(DocsAspect.id)?.data?.doc;\n if (!docData) return null;\n return new Doc(docData.filePath, new DocPropList(docData.props));\n }\n\n getPatterns() {\n return this.patterns;\n }\n\n getComponentDevPatterns(component: Component) {\n const env = this.envs.calculateEnv(component).env;\n const componentEnvDocsDevPatterns: string[] = env.getDocsDevPatterns ? env.getDocsDevPatterns(component) : [];\n const componentPatterns = componentEnvDocsDevPatterns.concat(this.getPatterns());\n return {name: 'docs', pattern: componentPatterns};\n }\n\n getDevPatternToRegister() {\n return this.getComponentDevPatterns.bind(this);\n }\n /**\n * register a new doc reader. this allows to support further\n * documentation file formats.\n */\n registerDocReader(docReader: DocReader) {\n this.docReaderSlot.register(docReader);\n return this;\n }\n\n static slots = [Slot.withType<DocProp>(), Slot.withType<DocReader>()];\n\n static runtime = MainRuntime;\n static dependencies = [\n PreviewAspect,\n GraphqlAspect,\n WorkspaceAspect,\n PkgAspect,\n CompilerAspect,\n LoggerAspect,\n DevFilesAspect,\n EnvsAspect,\n ];\n\n static defaultConfig = {\n patterns: ['**/*.docs.*'],\n };\n\n static async provider(\n [preview, graphql, workspace, pkg, compiler, loggerAspect, devFiles, envs]: [\n PreviewMain,\n GraphqlMain,\n Workspace,\n PkgMain,\n CompilerMain,\n LoggerMain,\n DevFilesMain,\n EnvsMain\n ],\n config: DocsConfig,\n [docPropSlot, docReaderSlot]: [DocPropSlot, DocReaderSlot]\n ) {\n const logger = loggerAspect.createLogger(DocsAspect.id);\n const docs = new DocsMain(\n config.patterns,\n\n preview,\n\n pkg,\n\n compiler,\n\n workspace,\n\n logger,\n\n devFiles,\n\n envs,\n\n docPropSlot,\n\n docReaderSlot\n );\n docs.registerDocReader(new DefaultDocReader(pkg, compiler, workspace));\n devFiles.registerDevPattern(docs.getDevPatternToRegister());\n\n if (workspace) {\n workspace.onComponentLoad(async (component, opts) => {\n if (opts?.loadDocs === false) return undefined;\n // const docFiles = await docs.computeDocs(component);\n const doc = await docs.computeDoc(component);\n\n return {\n doc: doc?.toObject(),\n // docFiles\n };\n });\n }\n\n graphql.register(docsSchema(docs));\n\n preview.registerDefinition(new DocsPreviewDefinition(docs));\n return docs;\n }\n}\n\nDocsAspect.addRuntime(DocsMain);\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAoBA;AACA;AACA;AACO,MAAMA,QAAQ,CAAC;EACpBC,WAAW,CACDC,QAAkB;EAC1B;AACJ;AACA;EACYC,OAAoB,EAEpBC,GAAY,EAEZC,QAAsB,EAEtBC,SAAoB,EAEpBC,MAAc,EAEdC,QAAsB,EAEtBC,IAAc,EAEdC,WAAwB,EAExBC,aAA4B,EACpC;IAAA,KArBQT,QAAkB,GAAlBA,QAAkB;IAAA,KAIlBC,OAAoB,GAApBA,OAAoB;IAAA,KAEpBC,GAAY,GAAZA,GAAY;IAAA,KAEZC,QAAsB,GAAtBA,QAAsB;IAAA,KAEtBC,SAAoB,GAApBA,SAAoB;IAAA,KAEpBC,MAAc,GAAdA,MAAc;IAAA,KAEdC,QAAsB,GAAtBA,QAAsB;IAAA,KAEtBC,IAAc,GAAdA,IAAc;IAAA,KAEdC,WAAwB,GAAxBA,WAAwB;IAAA,KAExBC,aAA4B,GAA5BA,aAA4B;EACnC;;EAEH;AACF;AACA;EACEC,UAAU,CAACC,UAAuB,EAAiC;IACjE,OAAOC,yBAAY,CAACC,EAAE,CAAkBF,UAAU,EAAGG,SAAS,IAAK;MACjE,OAAO,IAAI,CAACC,YAAY,CAACD,SAAS,CAAC;IACrC,CAAC,CAAC;EACJ;EAEAC,YAAY,CAACD,SAAoB,EAAmB;IAClD,MAAMR,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACU,WAAW,CAACF,SAAS,CAAC;IACrD,MAAMG,QAAQ,GAAGX,QAAQ,CAACY,GAAG,CAACC,kBAAU,CAACC,EAAE,CAAC;IAC5C,OAAON,SAAS,CAACO,KAAK,CAACC,UAAU,CAACC,KAAK,CAACC,MAAM,CAAEC,IAAI,IAAKR,QAAQ,CAACS,QAAQ,CAACD,IAAI,CAACE,QAAQ,CAAC,CAAC;EAC5F;;EAEA;AACF;AACA;EACE,MAAMC,cAAc,CAACd,SAAoB,EAAmB;IAAA;IAC1D,MAAMe,YAAY,GAAG,IAAI,CAACC,MAAM,CAAChB,SAAS,CAAC;IAC3C,MAAMiB,IAAI,GAAGF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEG,WAAW;IACtC,IAAID,IAAI,EAAE,OAAOA,IAAI;IACrB,MAAME,iBAAoC,GAAGnB,SAAS,CAACO,KAAK,CAACa,SAAS;IACtE,MAAMC,UAAU,4BAAGF,iBAAiB,CAACG,IAAI,0DAAtB,sBAAwBC,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACN,WAAW,CAAC;IAEzE,OAAO,CAAAG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEH,WAAW,KAAI,EAAE;EACtC;EAEA,MAAMO,WAAW,CAACC,GAAgB,EAAE;IAClC,OAAOA,GAAG,CAACC,eAAe,EAAE;EAC9B;EAEAC,YAAY,CAACC,SAAiB,EAAE;IAC9B,OAAO,IAAI,CAAClC,aAAa,CAACmC,MAAM,EAAE,CAACP,IAAI,CAAEQ,SAAS,IAAKA,SAAS,CAACC,iBAAiB,CAACH,SAAS,CAAC,CAAC;EAChG;;EAEA;AACF;AACA;EACE,MAAMI,UAAU,CAACjC,SAAoB,EAAE;IACrC,MAAMG,QAAQ,GAAG,IAAI,CAACF,YAAY,CAACD,SAAS,CAAC;IAC7C,IAAIG,QAAQ,CAAC+B,MAAM,EAAE;MACnB;MACA,MAAMC,OAAO,GAAGhC,QAAQ,CAAC,CAAC,CAAC;MAE3B,IAAI;QACF,MAAM4B,SAAS,GAAG,IAAI,CAACH,YAAY,CAACO,OAAO,CAACC,OAAO,CAAC;QACpD,IAAI,CAACL,SAAS,EAAE,MAAM,KAAIM,uCAAyB,EAACF,OAAO,CAACtB,QAAQ,EAAEsB,OAAO,CAACC,OAAO,CAAC;QACtF,MAAMZ,GAAG,GAAG,MAAMO,SAAS,CAACO,IAAI,CAACH,OAAO,CAACtB,QAAQ,EAAEsB,OAAO,CAACI,QAAQ,EAAEvC,SAAS,CAAC;QAC/E,OAAOwB,GAAG;MACZ,CAAC,CAAC,OAAOgB,GAAQ,EAAE;QACjB;QACA,IAAI,CAACjD,MAAM,CAACkD,KAAK,CAAE,iDAAgDD,GAAG,CAACE,OAAQ,EAAC,CAAC;QACjF,OAAO,IAAI;MACb;IACF;IAEA,OAAO,IAAI;EACb;EAEA1B,MAAM,CAAChB,SAAqB,EAAE;IAAA;IAC5B,MAAM2C,OAAO,qBAAG3C,SAAS,CAACI,GAAG,CAACC,kBAAU,CAACC,EAAE,CAAC,0EAA5B,eAA8BsC,IAAI,wDAAlC,oBAAoCpB,GAAG;IACvD,IAAI,CAACmB,OAAO,EAAE,OAAO,IAAI;IACzB,OAAO,KAAIE,mBAAG,EAACF,OAAO,CAACG,QAAQ,EAAE,KAAIC,2BAAW,EAACJ,OAAO,CAACK,KAAK,CAAC,CAAC;EAClE;EAEAC,WAAW,GAAG;IACZ,OAAO,IAAI,CAAC/D,QAAQ;EACtB;EAEAgE,uBAAuB,CAAClD,SAAoB,EAAE;IAC5C,MAAM0B,GAAG,GAAG,IAAI,CAACjC,IAAI,CAAC0D,YAAY,CAACnD,SAAS,CAAC,CAAC0B,GAAG;IACjD,MAAM0B,2BAAqC,GAAG1B,GAAG,CAAC2B,kBAAkB,GAAG3B,GAAG,CAAC2B,kBAAkB,CAACrD,SAAS,CAAC,GAAG,EAAE;IAC7G,MAAMsD,iBAAiB,GAAGF,2BAA2B,CAACG,MAAM,CAAC,IAAI,CAACN,WAAW,EAAE,CAAC;IAChF,OAAO;MAACO,IAAI,EAAE,MAAM;MAAEC,OAAO,EAAEH;IAAiB,CAAC;EACnD;EAEAI,uBAAuB,GAAG;IACxB,OAAO,IAAI,CAACR,uBAAuB,CAACS,IAAI,CAAC,IAAI,CAAC;EAChD;EACA;AACF;AACA;AACA;EACEC,iBAAiB,CAAC7B,SAAoB,EAAE;IACtC,IAAI,CAACpC,aAAa,CAACkE,QAAQ,CAAC9B,SAAS,CAAC;IACtC,OAAO,IAAI;EACb;EAoBA,aAAa+B,QAAQ,CACnB,CAAC3E,OAAO,EAAE4E,OAAO,EAAEzE,SAAS,EAAEF,GAAG,EAAEC,QAAQ,EAAE2E,YAAY,EAAExE,QAAQ,EAAEC,IAAI,CASxE,EACDwE,MAAkB,EAClB,CAACvE,WAAW,EAAEC,aAAa,CAA+B,EAC1D;IACA,MAAMJ,MAAM,GAAGyE,YAAY,CAACE,YAAY,CAAC7D,kBAAU,CAACC,EAAE,CAAC;IACvD,MAAMgB,IAAI,GAAG,IAAItC,QAAQ,CACvBiF,MAAM,CAAC/E,QAAQ,EAEfC,OAAO,EAEPC,GAAG,EAEHC,QAAQ,EAERC,SAAS,EAETC,MAAM,EAENC,QAAQ,EAERC,IAAI,EAEJC,WAAW,EAEXC,aAAa,CACd;IACD2B,IAAI,CAACsC,iBAAiB,CAAC,KAAIO,oCAAgB,EAAC/E,GAAG,EAAEC,QAAQ,EAAEC,SAAS,CAAC,CAAC;IACtEE,QAAQ,CAAC4E,kBAAkB,CAAC9C,IAAI,CAACoC,uBAAuB,EAAE,CAAC;IAE3D,IAAIpE,SAAS,EAAE;MACbA,SAAS,CAAC+E,eAAe,CAAC,OAAOrE,SAAS,EAAEsE,IAAI,KAAK;QACnD,IAAI,CAAAA,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEC,QAAQ,MAAK,KAAK,EAAE,OAAOC,SAAS;QAC9C;QACA,MAAMhD,GAAG,GAAG,MAAMF,IAAI,CAACW,UAAU,CAACjC,SAAS,CAAC;QAE5C,OAAO;UACLwB,GAAG,EAAEA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEiD,QAAQ;UAClB;QACF,CAAC;MACH,CAAC,CAAC;IACJ;;IAEAV,OAAO,CAACF,QAAQ,CAAC,IAAAa,mBAAU,EAACpD,IAAI,CAAC,CAAC;IAElCnC,OAAO,CAACwF,kBAAkB,CAAC,KAAIC,8BAAqB,EAACtD,IAAI,CAAC,CAAC;IAC3D,OAAOA,IAAI;EACb;AACF;AAAC;AAAA,gCA7LYtC,QAAQ,WAkHJ,CAAC6F,eAAI,CAACC,QAAQ,EAAW,EAAED,eAAI,CAACC,QAAQ,EAAa,CAAC;AAAA,gCAlH1D9F,QAAQ,aAoHF+F,kBAAW;AAAA,gCApHjB/F,QAAQ,kBAqHG,CACpBgG,wBAAa,EACbC,wBAAa,EACbC,4BAAe,EACfC,gBAAS,EACTC,0BAAc,EACdC,sBAAY,EACZC,mBAAc,EACdC,kBAAU,CACX;AAAA,gCA9HUvG,QAAQ,mBAgII;EACrBE,QAAQ,EAAE,CAAC,aAAa;AAC1B,CAAC;AA6DHmB,kBAAU,CAACmF,UAAU,CAACxG,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"names":["DocsMain","constructor","patterns","preview","pkg","compiler","workspace","logger","devFiles","envs","docPropSlot","docReaderSlot","getDocsMap","components","ComponentMap","as","component","getDocsFiles","getDevFiles","docFiles","get","DocsAspect","id","state","filesystem","files","filter","file","includes","relative","getDescription","componentDoc","getDoc","desc","description","consumerComponent","_consumer","fromJsDocs","docs","find","doc","getTemplate","env","getDocsTemplate","isFunction","undefined","getDocReader","extension","values","docReader","isFormatSupported","computeDoc","length","docFile","extname","FileExtensionNotSupported","read","contents","err","debug","message","docData","data","Doc","filePath","DocPropList","props","getPatterns","getComponentDevPatterns","calculateEnv","componentEnvDocsDevPatterns","getDocsDevPatterns","componentPatterns","concat","name","pattern","getDevPatternToRegister","bind","registerDocReader","register","provider","graphql","loggerAspect","config","createLogger","DefaultDocReader","registerDevPattern","onComponentLoad","opts","loadDocs","toObject","docsSchema","registerDefinition","DocsPreviewDefinition","Slot","withType","MainRuntime","PreviewAspect","GraphqlAspect","WorkspaceAspect","PkgAspect","CompilerAspect","LoggerAspect","DevFilesAspect","EnvsAspect","addRuntime"],"sources":["docs.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport { MainRuntime } from '@teambit/cli';\nimport { LoggerAspect, LoggerMain, Logger } from '@teambit/logger';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { Component, ComponentMap, IComponent } from '@teambit/component';\nimport { PkgAspect, PkgMain } from '@teambit/pkg';\nimport type { Environment } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { PreviewAspect, PreviewMain } from '@teambit/preview';\nimport DevFilesAspect, { DevFilesMain } from '@teambit/dev-files';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { Doc, DocPropList } from '@teambit/docs.entities.doc';\nimport { isFunction } from 'lodash';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { DocsAspect } from './docs.aspect';\nimport { DocsPreviewDefinition } from './docs.preview-definition';\nimport { docsSchema } from './docs.graphql';\nimport { DocReader } from './doc-reader';\nimport { DefaultDocReader } from './default-doc-reader';\nimport { FileExtensionNotSupported } from './exceptions';\n\nexport type ComponentDocs = {\n files: string[];\n component: Component;\n};\n\nexport type DocProp = {};\n\nexport type DocPropSlot = SlotRegistry<DocProp>;\n\nexport type DocReaderSlot = SlotRegistry<DocReader>;\n\nexport type DocsConfig = {\n /**\n * glob patterns to identify doc files.\n */\n patterns: string[];\n};\n\n/**\n * the component documentation extension.\n */\nexport class DocsMain {\n constructor(\n private patterns: string[],\n /**\n * envs extension.\n */\n private preview: PreviewMain,\n\n private pkg: PkgMain,\n\n private compiler: CompilerMain,\n\n private workspace: Workspace,\n\n private logger: Logger,\n\n private devFiles: DevFilesMain,\n\n private envs: EnvsMain,\n\n private docPropSlot: DocPropSlot,\n\n private docReaderSlot: DocReaderSlot\n ) {}\n\n /**\n * returns an array of doc file paths for a set of components.\n */\n getDocsMap(components: Component[]): ComponentMap<AbstractVinyl[]> {\n return ComponentMap.as<AbstractVinyl[]>(components, (component) => {\n return this.getDocsFiles(component);\n });\n }\n\n getDocsFiles(component: Component): AbstractVinyl[] {\n const devFiles = this.devFiles.getDevFiles(component);\n const docFiles = devFiles.get(DocsAspect.id);\n return component.state.filesystem.files.filter((file) => docFiles.includes(file.relative));\n }\n\n /**\n * compute the description of the component from its source code and docs file.\n */\n async getDescription(component: Component): Promise<string> {\n const componentDoc = this.getDoc(component);\n const desc = componentDoc?.description;\n if (desc) return desc;\n const consumerComponent: ConsumerComponent = component.state._consumer;\n const fromJsDocs = consumerComponent.docs?.find((doc) => doc.description);\n\n return fromJsDocs?.description || '';\n }\n\n async getTemplate(env: Environment): Promise<string | undefined> {\n if (env.getDocsTemplate && isFunction(env.getDocsTemplate)){\n return env.getDocsTemplate();\n }\n return undefined;\n }\n\n getDocReader(extension: string) {\n return this.docReaderSlot.values().find((docReader) => docReader.isFormatSupported(extension));\n }\n\n /**\n * compute a doc for a component.\n */\n async computeDoc(component: Component) {\n const docFiles = this.getDocsFiles(component);\n if (docFiles.length) {\n // currently taking the the first docs file found with an abstract. (we support only one)\n const docFile = docFiles[0];\n\n try {\n const docReader = this.getDocReader(docFile.extname);\n if (!docReader) throw new FileExtensionNotSupported(docFile.relative, docFile.extname);\n const doc = await docReader.read(docFile.relative, docFile.contents, component);\n return doc;\n } catch (err: any) {\n // it's ok to fail here.\n this.logger.debug(`docs.main.runtime.computeDoc caught an error: ${err.message}`);\n return null;\n }\n }\n\n return null;\n }\n\n getDoc(component: IComponent) {\n const docData = component.get(DocsAspect.id)?.data?.doc;\n if (!docData) return null;\n return new Doc(docData.filePath, new DocPropList(docData.props));\n }\n\n getPatterns() {\n return this.patterns;\n }\n\n getComponentDevPatterns(component: Component) {\n const env = this.envs.calculateEnv(component).env;\n const componentEnvDocsDevPatterns: string[] = env.getDocsDevPatterns ? env.getDocsDevPatterns(component) : [];\n const componentPatterns = componentEnvDocsDevPatterns.concat(this.getPatterns());\n return {name: 'docs', pattern: componentPatterns};\n }\n\n getDevPatternToRegister() {\n return this.getComponentDevPatterns.bind(this);\n }\n /**\n * register a new doc reader. this allows to support further\n * documentation file formats.\n */\n registerDocReader(docReader: DocReader) {\n this.docReaderSlot.register(docReader);\n return this;\n }\n\n static slots = [Slot.withType<DocProp>(), Slot.withType<DocReader>()];\n\n static runtime = MainRuntime;\n static dependencies = [\n PreviewAspect,\n GraphqlAspect,\n WorkspaceAspect,\n PkgAspect,\n CompilerAspect,\n LoggerAspect,\n DevFilesAspect,\n EnvsAspect,\n ];\n\n static defaultConfig = {\n patterns: ['**/*.docs.*'],\n };\n\n static async provider(\n [preview, graphql, workspace, pkg, compiler, loggerAspect, devFiles, envs]: [\n PreviewMain,\n GraphqlMain,\n Workspace,\n PkgMain,\n CompilerMain,\n LoggerMain,\n DevFilesMain,\n EnvsMain\n ],\n config: DocsConfig,\n [docPropSlot, docReaderSlot]: [DocPropSlot, DocReaderSlot]\n ) {\n const logger = loggerAspect.createLogger(DocsAspect.id);\n const docs = new DocsMain(\n config.patterns,\n\n preview,\n\n pkg,\n\n compiler,\n\n workspace,\n\n logger,\n\n devFiles,\n\n envs,\n\n docPropSlot,\n\n docReaderSlot\n );\n docs.registerDocReader(new DefaultDocReader(pkg, compiler, workspace));\n devFiles.registerDevPattern(docs.getDevPatternToRegister());\n\n if (workspace) {\n workspace.onComponentLoad(async (component, opts) => {\n if (opts?.loadDocs === false) return undefined;\n // const docFiles = await docs.computeDocs(component);\n const doc = await docs.computeDoc(component);\n\n return {\n doc: doc?.toObject(),\n // docFiles\n };\n });\n }\n\n graphql.register(docsSchema(docs));\n\n preview.registerDefinition(new DocsPreviewDefinition(docs));\n return docs;\n }\n}\n\nDocsAspect.addRuntime(DocsMain);\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAoBA;AACA;AACA;AACO,MAAMA,QAAQ,CAAC;EACpBC,WAAW,CACDC,QAAkB;EAC1B;AACJ;AACA;EACYC,OAAoB,EAEpBC,GAAY,EAEZC,QAAsB,EAEtBC,SAAoB,EAEpBC,MAAc,EAEdC,QAAsB,EAEtBC,IAAc,EAEdC,WAAwB,EAExBC,aAA4B,EACpC;IAAA,KArBQT,QAAkB,GAAlBA,QAAkB;IAAA,KAIlBC,OAAoB,GAApBA,OAAoB;IAAA,KAEpBC,GAAY,GAAZA,GAAY;IAAA,KAEZC,QAAsB,GAAtBA,QAAsB;IAAA,KAEtBC,SAAoB,GAApBA,SAAoB;IAAA,KAEpBC,MAAc,GAAdA,MAAc;IAAA,KAEdC,QAAsB,GAAtBA,QAAsB;IAAA,KAEtBC,IAAc,GAAdA,IAAc;IAAA,KAEdC,WAAwB,GAAxBA,WAAwB;IAAA,KAExBC,aAA4B,GAA5BA,aAA4B;EACnC;;EAEH;AACF;AACA;EACEC,UAAU,CAACC,UAAuB,EAAiC;IACjE,OAAOC,yBAAY,CAACC,EAAE,CAAkBF,UAAU,EAAGG,SAAS,IAAK;MACjE,OAAO,IAAI,CAACC,YAAY,CAACD,SAAS,CAAC;IACrC,CAAC,CAAC;EACJ;EAEAC,YAAY,CAACD,SAAoB,EAAmB;IAClD,MAAMR,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACU,WAAW,CAACF,SAAS,CAAC;IACrD,MAAMG,QAAQ,GAAGX,QAAQ,CAACY,GAAG,CAACC,kBAAU,CAACC,EAAE,CAAC;IAC5C,OAAON,SAAS,CAACO,KAAK,CAACC,UAAU,CAACC,KAAK,CAACC,MAAM,CAAEC,IAAI,IAAKR,QAAQ,CAACS,QAAQ,CAACD,IAAI,CAACE,QAAQ,CAAC,CAAC;EAC5F;;EAEA;AACF;AACA;EACE,MAAMC,cAAc,CAACd,SAAoB,EAAmB;IAAA;IAC1D,MAAMe,YAAY,GAAG,IAAI,CAACC,MAAM,CAAChB,SAAS,CAAC;IAC3C,MAAMiB,IAAI,GAAGF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEG,WAAW;IACtC,IAAID,IAAI,EAAE,OAAOA,IAAI;IACrB,MAAME,iBAAoC,GAAGnB,SAAS,CAACO,KAAK,CAACa,SAAS;IACtE,MAAMC,UAAU,4BAAGF,iBAAiB,CAACG,IAAI,0DAAtB,sBAAwBC,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACN,WAAW,CAAC;IAEzE,OAAO,CAAAG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEH,WAAW,KAAI,EAAE;EACtC;EAEA,MAAMO,WAAW,CAACC,GAAgB,EAA+B;IAC/D,IAAIA,GAAG,CAACC,eAAe,IAAI,IAAAC,oBAAU,EAACF,GAAG,CAACC,eAAe,CAAC,EAAC;MACzD,OAAOD,GAAG,CAACC,eAAe,EAAE;IAC9B;IACA,OAAOE,SAAS;EAClB;EAEAC,YAAY,CAACC,SAAiB,EAAE;IAC9B,OAAO,IAAI,CAACpC,aAAa,CAACqC,MAAM,EAAE,CAACT,IAAI,CAAEU,SAAS,IAAKA,SAAS,CAACC,iBAAiB,CAACH,SAAS,CAAC,CAAC;EAChG;;EAEA;AACF;AACA;EACE,MAAMI,UAAU,CAACnC,SAAoB,EAAE;IACrC,MAAMG,QAAQ,GAAG,IAAI,CAACF,YAAY,CAACD,SAAS,CAAC;IAC7C,IAAIG,QAAQ,CAACiC,MAAM,EAAE;MACnB;MACA,MAAMC,OAAO,GAAGlC,QAAQ,CAAC,CAAC,CAAC;MAE3B,IAAI;QACF,MAAM8B,SAAS,GAAG,IAAI,CAACH,YAAY,CAACO,OAAO,CAACC,OAAO,CAAC;QACpD,IAAI,CAACL,SAAS,EAAE,MAAM,KAAIM,uCAAyB,EAACF,OAAO,CAACxB,QAAQ,EAAEwB,OAAO,CAACC,OAAO,CAAC;QACtF,MAAMd,GAAG,GAAG,MAAMS,SAAS,CAACO,IAAI,CAACH,OAAO,CAACxB,QAAQ,EAAEwB,OAAO,CAACI,QAAQ,EAAEzC,SAAS,CAAC;QAC/E,OAAOwB,GAAG;MACZ,CAAC,CAAC,OAAOkB,GAAQ,EAAE;QACjB;QACA,IAAI,CAACnD,MAAM,CAACoD,KAAK,CAAE,iDAAgDD,GAAG,CAACE,OAAQ,EAAC,CAAC;QACjF,OAAO,IAAI;MACb;IACF;IAEA,OAAO,IAAI;EACb;EAEA5B,MAAM,CAAChB,SAAqB,EAAE;IAAA;IAC5B,MAAM6C,OAAO,qBAAG7C,SAAS,CAACI,GAAG,CAACC,kBAAU,CAACC,EAAE,CAAC,0EAA5B,eAA8BwC,IAAI,wDAAlC,oBAAoCtB,GAAG;IACvD,IAAI,CAACqB,OAAO,EAAE,OAAO,IAAI;IACzB,OAAO,KAAIE,mBAAG,EAACF,OAAO,CAACG,QAAQ,EAAE,KAAIC,2BAAW,EAACJ,OAAO,CAACK,KAAK,CAAC,CAAC;EAClE;EAEAC,WAAW,GAAG;IACZ,OAAO,IAAI,CAACjE,QAAQ;EACtB;EAEAkE,uBAAuB,CAACpD,SAAoB,EAAE;IAC5C,MAAM0B,GAAG,GAAG,IAAI,CAACjC,IAAI,CAAC4D,YAAY,CAACrD,SAAS,CAAC,CAAC0B,GAAG;IACjD,MAAM4B,2BAAqC,GAAG5B,GAAG,CAAC6B,kBAAkB,GAAG7B,GAAG,CAAC6B,kBAAkB,CAACvD,SAAS,CAAC,GAAG,EAAE;IAC7G,MAAMwD,iBAAiB,GAAGF,2BAA2B,CAACG,MAAM,CAAC,IAAI,CAACN,WAAW,EAAE,CAAC;IAChF,OAAO;MAACO,IAAI,EAAE,MAAM;MAAEC,OAAO,EAAEH;IAAiB,CAAC;EACnD;EAEAI,uBAAuB,GAAG;IACxB,OAAO,IAAI,CAACR,uBAAuB,CAACS,IAAI,CAAC,IAAI,CAAC;EAChD;EACA;AACF;AACA;AACA;EACEC,iBAAiB,CAAC7B,SAAoB,EAAE;IACtC,IAAI,CAACtC,aAAa,CAACoE,QAAQ,CAAC9B,SAAS,CAAC;IACtC,OAAO,IAAI;EACb;EAoBA,aAAa+B,QAAQ,CACnB,CAAC7E,OAAO,EAAE8E,OAAO,EAAE3E,SAAS,EAAEF,GAAG,EAAEC,QAAQ,EAAE6E,YAAY,EAAE1E,QAAQ,EAAEC,IAAI,CASxE,EACD0E,MAAkB,EAClB,CAACzE,WAAW,EAAEC,aAAa,CAA+B,EAC1D;IACA,MAAMJ,MAAM,GAAG2E,YAAY,CAACE,YAAY,CAAC/D,kBAAU,CAACC,EAAE,CAAC;IACvD,MAAMgB,IAAI,GAAG,IAAItC,QAAQ,CACvBmF,MAAM,CAACjF,QAAQ,EAEfC,OAAO,EAEPC,GAAG,EAEHC,QAAQ,EAERC,SAAS,EAETC,MAAM,EAENC,QAAQ,EAERC,IAAI,EAEJC,WAAW,EAEXC,aAAa,CACd;IACD2B,IAAI,CAACwC,iBAAiB,CAAC,KAAIO,oCAAgB,EAACjF,GAAG,EAAEC,QAAQ,EAAEC,SAAS,CAAC,CAAC;IACtEE,QAAQ,CAAC8E,kBAAkB,CAAChD,IAAI,CAACsC,uBAAuB,EAAE,CAAC;IAE3D,IAAItE,SAAS,EAAE;MACbA,SAAS,CAACiF,eAAe,CAAC,OAAOvE,SAAS,EAAEwE,IAAI,KAAK;QACnD,IAAI,CAAAA,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEC,QAAQ,MAAK,KAAK,EAAE,OAAO5C,SAAS;QAC9C;QACA,MAAML,GAAG,GAAG,MAAMF,IAAI,CAACa,UAAU,CAACnC,SAAS,CAAC;QAE5C,OAAO;UACLwB,GAAG,EAAEA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEkD,QAAQ;UAClB;QACF,CAAC;MACH,CAAC,CAAC;IACJ;;IAEAT,OAAO,CAACF,QAAQ,CAAC,IAAAY,mBAAU,EAACrD,IAAI,CAAC,CAAC;IAElCnC,OAAO,CAACyF,kBAAkB,CAAC,KAAIC,8BAAqB,EAACvD,IAAI,CAAC,CAAC;IAC3D,OAAOA,IAAI;EACb;AACF;AAAC;AAAA,gCAhMYtC,QAAQ,WAqHJ,CAAC8F,eAAI,CAACC,QAAQ,EAAW,EAAED,eAAI,CAACC,QAAQ,EAAa,CAAC;AAAA,gCArH1D/F,QAAQ,aAuHFgG,kBAAW;AAAA,gCAvHjBhG,QAAQ,kBAwHG,CACpBiG,wBAAa,EACbC,wBAAa,EACbC,4BAAe,EACfC,gBAAS,EACTC,0BAAc,EACdC,sBAAY,EACZC,mBAAc,EACdC,kBAAU,CACX;AAAA,gCAjIUxG,QAAQ,mBAmII;EACrBE,QAAQ,EAAE,CAAC,aAAa;AAC1B,CAAC;AA6DHmB,kBAAU,CAACoF,UAAU,CAACzG,QAAQ,CAAC"}
|
|
@@ -19,8 +19,8 @@ export declare class DocsPreviewDefinition implements PreviewDefinition {
|
|
|
19
19
|
/**
|
|
20
20
|
* application root
|
|
21
21
|
*/
|
|
22
|
-
renderTemplatePath(context: ExecutionContext): Promise<string>;
|
|
23
|
-
renderTemplatePathByEnv(env: Environment): Promise<
|
|
22
|
+
renderTemplatePath(context: ExecutionContext): Promise<string | undefined>;
|
|
23
|
+
renderTemplatePathByEnv(env: Environment): Promise<string | undefined>;
|
|
24
24
|
/**
|
|
25
25
|
* files to load.
|
|
26
26
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DocsPreviewDefinition","constructor","docs","renderTemplatePath","context","renderTemplatePathByEnv","env","getTemplate","getModuleMap","components","map","getDocsMap"],"sources":["docs.preview-definition.ts"],"sourcesContent":["import { Component, ComponentMap } from '@teambit/component';\nimport type { Environment, ExecutionContext } from '@teambit/envs';\nimport { PreviewDefinition } from '@teambit/preview';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\n\nimport { DocsMain } from './docs.main.runtime';\n\nexport class DocsPreviewDefinition implements PreviewDefinition {\n readonly prefix = 'overview';\n readonly include = ['compositions'];\n readonly includePeers = true;\n\n constructor(\n /**\n * docs extension.\n */\n private docs: DocsMain\n ) {}\n\n /**\n * application root\n */\n async renderTemplatePath(context: ExecutionContext): Promise<string> {\n return this.renderTemplatePathByEnv(context.env);\n }\n\n async renderTemplatePathByEnv(env: Environment) {\n return this.docs.getTemplate(env);\n }\n\n /**\n * files to load.\n */\n async getModuleMap(components: Component[]): Promise<ComponentMap<AbstractVinyl[]>> {\n const map = this.docs.getDocsMap(components);\n return map;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAOO,MAAMA,qBAAqB,CAA8B;EAK9DC,WAAW;EACT;AACJ;AACA;EACYC,IAAc,EACtB;IAAA,KADQA,IAAc,GAAdA,IAAc;IAAA,gDARN,UAAU;IAAA,iDACT,CAAC,cAAc,CAAC;IAAA,sDACX,IAAI;EAOzB;;EAEH;AACF;AACA;EACE,MAAMC,kBAAkB,CAACC,OAAyB,
|
|
1
|
+
{"version":3,"names":["DocsPreviewDefinition","constructor","docs","renderTemplatePath","context","renderTemplatePathByEnv","env","getTemplate","getModuleMap","components","map","getDocsMap"],"sources":["docs.preview-definition.ts"],"sourcesContent":["import { Component, ComponentMap } from '@teambit/component';\nimport type { Environment, ExecutionContext } from '@teambit/envs';\nimport { PreviewDefinition } from '@teambit/preview';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\n\nimport { DocsMain } from './docs.main.runtime';\n\nexport class DocsPreviewDefinition implements PreviewDefinition {\n readonly prefix = 'overview';\n readonly include = ['compositions'];\n readonly includePeers = true;\n\n constructor(\n /**\n * docs extension.\n */\n private docs: DocsMain\n ) {}\n\n /**\n * application root\n */\n async renderTemplatePath(context: ExecutionContext): Promise<string | undefined> {\n return this.renderTemplatePathByEnv(context.env);\n }\n\n async renderTemplatePathByEnv(env: Environment): Promise<string | undefined> {\n return this.docs.getTemplate(env);\n }\n\n /**\n * files to load.\n */\n async getModuleMap(components: Component[]): Promise<ComponentMap<AbstractVinyl[]>> {\n const map = this.docs.getDocsMap(components);\n return map;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAOO,MAAMA,qBAAqB,CAA8B;EAK9DC,WAAW;EACT;AACJ;AACA;EACYC,IAAc,EACtB;IAAA,KADQA,IAAc,GAAdA,IAAc;IAAA,gDARN,UAAU;IAAA,iDACT,CAAC,cAAc,CAAC;IAAA,sDACX,IAAI;EAOzB;;EAEH;AACF;AACA;EACE,MAAMC,kBAAkB,CAACC,OAAyB,EAA+B;IAC/E,OAAO,IAAI,CAACC,uBAAuB,CAACD,OAAO,CAACE,GAAG,CAAC;EAClD;EAEA,MAAMD,uBAAuB,CAACC,GAAgB,EAAgC;IAC5E,OAAO,IAAI,CAACJ,IAAI,CAACK,WAAW,CAACD,GAAG,CAAC;EACnC;;EAEA;AACF;AACA;EACE,MAAME,YAAY,CAACC,UAAuB,EAA0C;IAClF,MAAMC,GAAG,GAAG,IAAI,CAACR,IAAI,CAACS,UAAU,CAACF,UAAU,CAAC;IAC5C,OAAOC,GAAG;EACZ;AACF;AAAC"}
|
|
@@ -19,7 +19,7 @@ export declare class DocsPreview {
|
|
|
19
19
|
* preview extension.
|
|
20
20
|
*/
|
|
21
21
|
preview: PreviewPreview);
|
|
22
|
-
render: (componentId: ComponentID, modules: PreviewModule, [compositions]: [any], context: RenderingContext) => void;
|
|
22
|
+
render: (componentId: ComponentID, envId: string, modules: PreviewModule, [compositions]: [any], context: RenderingContext) => void;
|
|
23
23
|
selectPreviewModel(componentId: string, modules: PreviewModule): import("@teambit/preview").ModuleFile<any> | undefined;
|
|
24
24
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
25
25
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
@@ -42,16 +42,18 @@ class DocsPreview {
|
|
|
42
42
|
*/
|
|
43
43
|
preview) {
|
|
44
44
|
this.preview = preview;
|
|
45
|
-
(0, _defineProperty2().default)(this, "render", (componentId, modules, [compositions], context) => {
|
|
45
|
+
(0, _defineProperty2().default)(this, "render", (componentId, envId, modules, [compositions], context) => {
|
|
46
46
|
const docsModule = this.selectPreviewModel(componentId.fullName, modules);
|
|
47
|
-
const
|
|
47
|
+
const mainModule = modules.modulesMap[envId] || modules.modulesMap.default;
|
|
48
|
+
const defaultExports = mainModule.default;
|
|
49
|
+
const isObject = !!defaultExports.apiObject;
|
|
48
50
|
|
|
49
51
|
/**
|
|
50
52
|
* for backwards compatibility - can be removed end of 2022
|
|
51
53
|
*/
|
|
52
54
|
if (!isObject) {
|
|
53
55
|
const docsPropsArray = [NoopProvider, componentId.toString(), docsModule, compositions, context];
|
|
54
|
-
|
|
56
|
+
defaultExports(...docsPropsArray);
|
|
55
57
|
return;
|
|
56
58
|
}
|
|
57
59
|
const docsProps = {
|
|
@@ -61,7 +63,7 @@ class DocsPreview {
|
|
|
61
63
|
compositions,
|
|
62
64
|
context
|
|
63
65
|
};
|
|
64
|
-
|
|
66
|
+
defaultExports(docsProps);
|
|
65
67
|
});
|
|
66
68
|
}
|
|
67
69
|
selectPreviewModel(componentId, modules) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DocsPreview","constructor","preview","componentId","modules","compositions","context","docsModule","selectPreviewModel","fullName","
|
|
1
|
+
{"version":3,"names":["DocsPreview","constructor","preview","componentId","envId","modules","compositions","context","docsModule","selectPreviewModel","fullName","mainModule","modulesMap","default","defaultExports","isObject","apiObject","docsPropsArray","NoopProvider","toString","docsProps","Provider","docs","relevant","componentMap","undefined","provider","docsPreview","registerPreview","name","render","bind","include","PreviewRuntime","PreviewAspect","DocsAspect","addRuntime","children"],"sources":["docs.preview.runtime.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { PreviewAspect, RenderingContext, PreviewPreview, PreviewRuntime, PreviewModule } from '@teambit/preview';\nimport { ComponentID } from '@teambit/component-id';\n\nimport { DocsAspect } from './docs.aspect';\nimport type { Docs } from './docs';\n\nexport type DocsRootProps = {\n Provider: React.ComponentType | undefined;\n componentId: string;\n docs: Docs | undefined;\n compositions: any;\n context: RenderingContext;\n};\n\nexport class DocsPreview {\n constructor(\n /**\n * preview extension.\n */\n private preview: PreviewPreview\n ) {}\n\n render = (\n componentId: ComponentID,\n envId: string,\n modules: PreviewModule,\n [compositions]: [any],\n context: RenderingContext\n ) => {\n const docsModule = this.selectPreviewModel(componentId.fullName, modules);\n\n const mainModule = modules.modulesMap[envId] || modules.modulesMap.default;\n const defaultExports = mainModule.default;\n const isObject = !!defaultExports.apiObject;\n\n /**\n * for backwards compatibility - can be removed end of 2022\n */\n if (!isObject) {\n const docsPropsArray = [\n NoopProvider as React.ComponentType,\n componentId.toString(),\n docsModule as Docs,\n compositions,\n context,\n ];\n defaultExports(...docsPropsArray);\n return;\n }\n\n const docsProps: DocsRootProps = {\n Provider: NoopProvider as React.ComponentType,\n componentId: componentId.toString(),\n docs: docsModule as Docs,\n compositions,\n context,\n };\n\n defaultExports(docsProps);\n };\n\n selectPreviewModel(componentId: string, modules: PreviewModule) {\n const relevant = modules.componentMap[componentId];\n if (!relevant) return undefined;\n\n // only one doc file is supported.\n return relevant[0];\n }\n\n static runtime = PreviewRuntime;\n static dependencies = [PreviewAspect];\n\n static async provider([preview]: [PreviewPreview]) {\n const docsPreview = new DocsPreview(preview);\n preview.registerPreview({\n name: 'overview',\n render: docsPreview.render.bind(docsPreview),\n selectPreviewModel: docsPreview.selectPreviewModel.bind(docsPreview),\n include: ['compositions'],\n });\n\n return docsPreview;\n }\n}\n\nDocsAspect.addRuntime(DocsPreview);\n\nfunction NoopProvider({ children }: { children: ReactNode }) {\n return <>{children}</>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAWO,MAAMA,WAAW,CAAC;EACvBC,WAAW;EACT;AACJ;AACA;EACYC,OAAuB,EAC/B;IAAA,KADQA,OAAuB,GAAvBA,OAAuB;IAAA,gDAGxB,CACPC,WAAwB,EACxBC,KAAa,EACbC,OAAsB,EACtB,CAACC,YAAY,CAAQ,EACrBC,OAAyB,KACtB;MACH,MAAMC,UAAU,GAAG,IAAI,CAACC,kBAAkB,CAACN,WAAW,CAACO,QAAQ,EAAEL,OAAO,CAAC;MAEzE,MAAMM,UAAU,GAAGN,OAAO,CAACO,UAAU,CAACR,KAAK,CAAC,IAAIC,OAAO,CAACO,UAAU,CAACC,OAAO;MAC1E,MAAMC,cAAc,GAAGH,UAAU,CAACE,OAAO;MACzC,MAAME,QAAQ,GAAG,CAAC,CAACD,cAAc,CAACE,SAAS;;MAE3C;AACJ;AACA;MACI,IAAI,CAACD,QAAQ,EAAE;QACb,MAAME,cAAc,GAAG,CACrBC,YAAY,EACZf,WAAW,CAACgB,QAAQ,EAAE,EACtBX,UAAU,EACVF,YAAY,EACZC,OAAO,CACR;QACDO,cAAc,CAAC,GAAGG,cAAc,CAAC;QACjC;MACF;MAEA,MAAMG,SAAwB,GAAG;QAC/BC,QAAQ,EAAEH,YAAmC;QAC7Cf,WAAW,EAAEA,WAAW,CAACgB,QAAQ,EAAE;QACnCG,IAAI,EAAEd,UAAkB;QACxBF,YAAY;QACZC;MACF,CAAC;MAEDO,cAAc,CAACM,SAAS,CAAC;IAC3B,CAAC;EAvCE;EAyCHX,kBAAkB,CAACN,WAAmB,EAAEE,OAAsB,EAAE;IAC9D,MAAMkB,QAAQ,GAAGlB,OAAO,CAACmB,YAAY,CAACrB,WAAW,CAAC;IAClD,IAAI,CAACoB,QAAQ,EAAE,OAAOE,SAAS;;IAE/B;IACA,OAAOF,QAAQ,CAAC,CAAC,CAAC;EACpB;EAKA,aAAaG,QAAQ,CAAC,CAACxB,OAAO,CAAmB,EAAE;IACjD,MAAMyB,WAAW,GAAG,IAAI3B,WAAW,CAACE,OAAO,CAAC;IAC5CA,OAAO,CAAC0B,eAAe,CAAC;MACtBC,IAAI,EAAE,UAAU;MAChBC,MAAM,EAAEH,WAAW,CAACG,MAAM,CAACC,IAAI,CAACJ,WAAW,CAAC;MAC5ClB,kBAAkB,EAAEkB,WAAW,CAAClB,kBAAkB,CAACsB,IAAI,CAACJ,WAAW,CAAC;MACpEK,OAAO,EAAE,CAAC,cAAc;IAC1B,CAAC,CAAC;IAEF,OAAOL,WAAW;EACpB;AACF;AAAC;AAAA,gCArEY3B,WAAW,aAuDLiC,yBAAc;AAAA,gCAvDpBjC,WAAW,kBAwDA,CAACkC,wBAAa,CAAC;AAevCC,kBAAU,CAACC,UAAU,CAACpC,WAAW,CAAC;AAElC,SAASkB,YAAY,CAAC;EAAEmB;AAAkC,CAAC,EAAE;EAC3D,oBAAO,gEAAGA,QAAQ,CAAI;AACxB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.docs_docs@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.docs_docs@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.docs_docs@0.0.961/dist/docs.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.docs_docs@0.0.961/dist/docs.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/docs.preview.runtime.tsx
CHANGED
|
@@ -21,10 +21,18 @@ export class DocsPreview {
|
|
|
21
21
|
private preview: PreviewPreview
|
|
22
22
|
) {}
|
|
23
23
|
|
|
24
|
-
render = (
|
|
24
|
+
render = (
|
|
25
|
+
componentId: ComponentID,
|
|
26
|
+
envId: string,
|
|
27
|
+
modules: PreviewModule,
|
|
28
|
+
[compositions]: [any],
|
|
29
|
+
context: RenderingContext
|
|
30
|
+
) => {
|
|
25
31
|
const docsModule = this.selectPreviewModel(componentId.fullName, modules);
|
|
26
32
|
|
|
27
|
-
const
|
|
33
|
+
const mainModule = modules.modulesMap[envId] || modules.modulesMap.default;
|
|
34
|
+
const defaultExports = mainModule.default;
|
|
35
|
+
const isObject = !!defaultExports.apiObject;
|
|
28
36
|
|
|
29
37
|
/**
|
|
30
38
|
* for backwards compatibility - can be removed end of 2022
|
|
@@ -37,7 +45,7 @@ export class DocsPreview {
|
|
|
37
45
|
compositions,
|
|
38
46
|
context,
|
|
39
47
|
];
|
|
40
|
-
|
|
48
|
+
defaultExports(...docsPropsArray);
|
|
41
49
|
return;
|
|
42
50
|
}
|
|
43
51
|
|
|
@@ -49,7 +57,7 @@ export class DocsPreview {
|
|
|
49
57
|
context,
|
|
50
58
|
};
|
|
51
59
|
|
|
52
|
-
|
|
60
|
+
defaultExports(docsProps);
|
|
53
61
|
};
|
|
54
62
|
|
|
55
63
|
selectPreviewModel(componentId: string, modules: PreviewModule) {
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/docs",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.961",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/docs/docs",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.docs",
|
|
8
8
|
"name": "docs",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.961"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"graphql-tag": "2.12.1",
|
|
@@ -16,27 +16,27 @@
|
|
|
16
16
|
"@babel/runtime": "7.20.0",
|
|
17
17
|
"@teambit/harmony": "0.4.6",
|
|
18
18
|
"@teambit/base-ui.loaders.skeleton": "1.0.1",
|
|
19
|
-
"@teambit/compiler": "0.0.
|
|
20
|
-
"@teambit/component": "0.0.
|
|
19
|
+
"@teambit/compiler": "0.0.961",
|
|
20
|
+
"@teambit/component": "0.0.961",
|
|
21
21
|
"@teambit/docs.entities.doc": "0.0.12",
|
|
22
|
-
"@teambit/pkg": "0.0.
|
|
23
|
-
"@teambit/workspace": "0.0.
|
|
24
|
-
"@teambit/cli": "0.0.
|
|
25
|
-
"@teambit/dev-files": "0.0.
|
|
26
|
-
"@teambit/envs": "0.0.
|
|
27
|
-
"@teambit/graphql": "0.0.
|
|
28
|
-
"@teambit/logger": "0.0.
|
|
29
|
-
"@teambit/preview": "0.0.
|
|
22
|
+
"@teambit/pkg": "0.0.961",
|
|
23
|
+
"@teambit/workspace": "0.0.961",
|
|
24
|
+
"@teambit/cli": "0.0.644",
|
|
25
|
+
"@teambit/dev-files": "0.0.961",
|
|
26
|
+
"@teambit/envs": "0.0.961",
|
|
27
|
+
"@teambit/graphql": "0.0.961",
|
|
28
|
+
"@teambit/logger": "0.0.737",
|
|
29
|
+
"@teambit/preview": "0.0.961",
|
|
30
30
|
"@teambit/component-id": "0.0.425",
|
|
31
|
-
"@teambit/component-compare": "0.0.
|
|
31
|
+
"@teambit/component-compare": "0.0.209",
|
|
32
32
|
"@teambit/docs.ui.overview-compare-section": "0.0.2",
|
|
33
|
-
"@teambit/docs.ui.overview-compare": "0.0.
|
|
34
|
-
"@teambit/ui": "0.0.
|
|
35
|
-
"@teambit/pubsub": "0.0.
|
|
36
|
-
"@teambit/component.ui.component-meta": "0.0.
|
|
37
|
-
"@teambit/compositions.panels.composition-gallery": "0.0.
|
|
33
|
+
"@teambit/docs.ui.overview-compare": "0.0.162",
|
|
34
|
+
"@teambit/ui": "0.0.961",
|
|
35
|
+
"@teambit/pubsub": "0.0.961",
|
|
36
|
+
"@teambit/component.ui.component-meta": "0.0.211",
|
|
37
|
+
"@teambit/compositions.panels.composition-gallery": "0.0.6",
|
|
38
38
|
"@teambit/design.ui.surfaces.status-message-card": "0.0.18",
|
|
39
|
-
"@teambit/preview.ui.component-preview": "0.0.
|
|
39
|
+
"@teambit/preview.ui.component-preview": "0.0.511",
|
|
40
40
|
"@teambit/react.ui.docs.properties-table": "0.0.12"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"@teambit/docs.content.docs-overview": "1.95.9"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
|
-
"@teambit/legacy": "1.0.
|
|
54
|
+
"@teambit/legacy": "1.0.425",
|
|
55
55
|
"react": "^16.8.0 || ^17.0.0",
|
|
56
56
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
57
57
|
},
|
|
Binary file
|