@teambit/docs 0.0.627 → 0.0.632
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/__preview-1643167379538.js +1 -0
- package/dist/docs.main.runtime.d.ts +2 -2
- package/dist/docs.main.runtime.js +2 -2
- package/dist/docs.main.runtime.js.map +1 -1
- package/dist/docs.preview-definition.d.ts +10 -1
- package/dist/docs.preview-definition.js +15 -1
- package/dist/docs.preview-definition.js.map +1 -1
- package/package-tar/teambit-docs-0.0.632.tgz +0 -0
- package/package.json +17 -17
- package/package-tar/teambit-docs-0.0.627.tgz +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -3,7 +3,7 @@ import { LoggerMain, Logger } from '@teambit/logger';
|
|
|
3
3
|
import { CompilerMain } from '@teambit/compiler';
|
|
4
4
|
import { Component, ComponentMap } from '@teambit/component';
|
|
5
5
|
import { PkgMain } from '@teambit/pkg';
|
|
6
|
-
import {
|
|
6
|
+
import type { Environment } from '@teambit/envs';
|
|
7
7
|
import { GraphqlMain } from '@teambit/graphql';
|
|
8
8
|
import { PreviewMain } from '@teambit/preview';
|
|
9
9
|
import { DevFilesMain } from '@teambit/dev-files';
|
|
@@ -54,7 +54,7 @@ export declare class DocsMain {
|
|
|
54
54
|
* compute the description of the component from its source code and docs file.
|
|
55
55
|
*/
|
|
56
56
|
getDescription(component: Component): Promise<string>;
|
|
57
|
-
getTemplate(
|
|
57
|
+
getTemplate(env: Environment): Promise<any>;
|
|
58
58
|
getDocReader(extension: string): DocReader | undefined;
|
|
59
59
|
/**
|
|
60
60
|
* compute a doc for a component.
|
|
@@ -238,8 +238,8 @@ class DocsMain {
|
|
|
238
238
|
return (fromJsDocs === null || fromJsDocs === void 0 ? void 0 : fromJsDocs.description) || '';
|
|
239
239
|
}
|
|
240
240
|
|
|
241
|
-
async getTemplate(
|
|
242
|
-
return
|
|
241
|
+
async getTemplate(env) {
|
|
242
|
+
return env.getDocsTemplate();
|
|
243
243
|
}
|
|
244
244
|
|
|
245
245
|
getDocReader(extension) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["docs.main.runtime.ts"],"names":["DocsMain","constructor","patterns","preview","pkg","compiler","workspace","logger","devFiles","docPropSlot","docReaderSlot","getDocsMap","components","ComponentMap","as","component","getDocsFiles","computeDevFiles","docFiles","get","DocsAspect","id","state","filesystem","files","filter","file","includes","relative","getDescription","componentDoc","getDoc","desc","description","consumerComponent","_consumer","fromJsDocs","docs","find","doc","getTemplate","context","env","getDocsTemplate","getDocReader","extension","values","docReader","isFormatSupported","computeDoc","length","docFile","extname","FileExtensionNotSupported","read","contents","err","error","docData","aspects","data","Doc","filePath","DocPropList","props","getPatterns","registerDocReader","register","provider","graphql","loggerAspect","config","createLogger","DefaultDocReader","registerDevPattern","onComponentLoad","toObject","registerDefinition","DocsPreviewDefinition","Slot","withType","MainRuntime","PreviewAspect","GraphqlAspect","WorkspaceAspect","PkgAspect","CompilerAspect","LoggerAspect","DevFilesAspect","ComponentAspect","addRuntime"],"mappings":"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","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 ComponentAspect, { Component, ComponentMap } from '@teambit/component';\nimport { PkgAspect, PkgMain } from '@teambit/pkg';\nimport { ExecutionContext } 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 { 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';\nimport { Doc, DocPropList } from './doc';\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 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.computeDevFiles(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(context: ExecutionContext) {\n return context.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 this.logger.error('docs.main.runtime.computeDoc caught an error', err);\n return null;\n }\n }\n\n return null;\n }\n\n getDoc(component: Component) {\n const docData = component.state.aspects.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 /**\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 ComponentAspect,\n ];\n\n static defaultConfig = {\n patterns: ['**/*.docs.*'],\n };\n\n static async provider(\n [preview, graphql, workspace, pkg, compiler, loggerAspect, devFiles]: [\n PreviewMain,\n GraphqlMain,\n Workspace,\n PkgMain,\n CompilerMain,\n LoggerMain,\n DevFilesMain\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 docPropSlot,\n\n docReaderSlot\n );\n docs.registerDocReader(new DefaultDocReader(pkg, compiler, workspace));\n devFiles.registerDevPattern(config.patterns);\n\n if (workspace) {\n workspace.onComponentLoad(async (component) => {\n const doc = await docs.computeDoc(component);\n\n return {\n doc: doc?.toObject(),\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"]}
|
|
1
|
+
{"version":3,"sources":["docs.main.runtime.ts"],"names":["DocsMain","constructor","patterns","preview","pkg","compiler","workspace","logger","devFiles","docPropSlot","docReaderSlot","getDocsMap","components","ComponentMap","as","component","getDocsFiles","computeDevFiles","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","error","docData","aspects","data","Doc","filePath","DocPropList","props","getPatterns","registerDocReader","register","provider","graphql","loggerAspect","config","createLogger","DefaultDocReader","registerDevPattern","onComponentLoad","toObject","registerDefinition","DocsPreviewDefinition","Slot","withType","MainRuntime","PreviewAspect","GraphqlAspect","WorkspaceAspect","PkgAspect","CompilerAspect","LoggerAspect","DevFilesAspect","ComponentAspect","addRuntime"],"mappings":"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","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 ComponentAspect, { Component, ComponentMap } 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 { 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';\nimport { Doc, DocPropList } from './doc';\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 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.computeDevFiles(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 this.logger.error('docs.main.runtime.computeDoc caught an error', err);\n return null;\n }\n }\n\n return null;\n }\n\n getDoc(component: Component) {\n const docData = component.state.aspects.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 /**\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 ComponentAspect,\n ];\n\n static defaultConfig = {\n patterns: ['**/*.docs.*'],\n };\n\n static async provider(\n [preview, graphql, workspace, pkg, compiler, loggerAspect, devFiles]: [\n PreviewMain,\n GraphqlMain,\n Workspace,\n PkgMain,\n CompilerMain,\n LoggerMain,\n DevFilesMain\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 docPropSlot,\n\n docReaderSlot\n );\n docs.registerDocReader(new DefaultDocReader(pkg, compiler, workspace));\n devFiles.registerDevPattern(config.patterns);\n\n if (workspace) {\n workspace.onComponentLoad(async (component) => {\n const doc = await docs.computeDoc(component);\n\n return {\n doc: doc?.toObject(),\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"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, ComponentMap } from '@teambit/component';
|
|
2
|
-
import { ExecutionContext } from '@teambit/envs';
|
|
2
|
+
import type { Environment, ExecutionContext } from '@teambit/envs';
|
|
3
3
|
import { PreviewDefinition } from '@teambit/preview';
|
|
4
4
|
import { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';
|
|
5
5
|
import { DocsMain } from './docs.main.runtime';
|
|
@@ -9,11 +9,20 @@ export declare class DocsPreviewDefinition implements PreviewDefinition {
|
|
|
9
9
|
*/
|
|
10
10
|
private docs;
|
|
11
11
|
readonly prefix = "overview";
|
|
12
|
+
readonly include: string[];
|
|
13
|
+
readonly includePeers = true;
|
|
12
14
|
constructor(
|
|
13
15
|
/**
|
|
14
16
|
* docs extension.
|
|
15
17
|
*/
|
|
16
18
|
docs: DocsMain);
|
|
19
|
+
/**
|
|
20
|
+
* application root
|
|
21
|
+
*/
|
|
17
22
|
renderTemplatePath(context: ExecutionContext): Promise<string>;
|
|
23
|
+
renderTemplatePathByEnv(env: Environment): Promise<any>;
|
|
24
|
+
/**
|
|
25
|
+
* files to load.
|
|
26
|
+
*/
|
|
18
27
|
getModuleMap(components: Component[]): Promise<ComponentMap<AbstractVinyl[]>>;
|
|
19
28
|
}
|
|
@@ -27,11 +27,25 @@ class DocsPreviewDefinition {
|
|
|
27
27
|
docs) {
|
|
28
28
|
this.docs = docs;
|
|
29
29
|
(0, _defineProperty2().default)(this, "prefix", 'overview');
|
|
30
|
+
(0, _defineProperty2().default)(this, "include", ['compositions']);
|
|
31
|
+
(0, _defineProperty2().default)(this, "includePeers", true);
|
|
30
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* application root
|
|
35
|
+
*/
|
|
36
|
+
|
|
31
37
|
|
|
32
38
|
async renderTemplatePath(context) {
|
|
33
|
-
return this.
|
|
39
|
+
return this.renderTemplatePathByEnv(context.env);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async renderTemplatePathByEnv(env) {
|
|
43
|
+
return this.docs.getTemplate(env);
|
|
34
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* files to load.
|
|
47
|
+
*/
|
|
48
|
+
|
|
35
49
|
|
|
36
50
|
async getModuleMap(components) {
|
|
37
51
|
const map = this.docs.getDocsMap(components);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["docs.preview-definition.ts"],"names":["DocsPreviewDefinition","constructor","docs","renderTemplatePath","context","getTemplate","getModuleMap","components","map","getDocsMap","filter","value","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,qBAAN,CAAyD;
|
|
1
|
+
{"version":3,"sources":["docs.preview-definition.ts"],"names":["DocsPreviewDefinition","constructor","docs","renderTemplatePath","context","renderTemplatePathByEnv","env","getTemplate","getModuleMap","components","map","getDocsMap","filter","value","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,qBAAN,CAAyD;AAK9DC,EAAAA,WAAW;AACT;AACJ;AACA;AACYC,EAAAA,IAJC,EAKT;AAAA,SADQA,IACR,GADQA,IACR;AAAA,oDATgB,UAShB;AAAA,qDARiB,CAAC,cAAD,CAQjB;AAAA,0DAPsB,IAOtB;AAAE;AAEJ;AACF;AACA;;;AAC0B,QAAlBC,kBAAkB,CAACC,OAAD,EAA6C;AACnE,WAAO,KAAKC,uBAAL,CAA6BD,OAAO,CAACE,GAArC,CAAP;AACD;;AAE4B,QAAvBD,uBAAuB,CAACC,GAAD,EAAmB;AAC9C,WAAO,KAAKJ,IAAL,CAAUK,WAAV,CAAsBD,GAAtB,CAAP;AACD;AAED;AACF;AACA;;;AACoB,QAAZE,YAAY,CAACC,UAAD,EAAkE;AAClF,UAAMC,GAAG,GAAG,KAAKR,IAAL,CAAUS,UAAV,CAAqBF,UAArB,CAAZ;AACA,WAAOC,GAAG,CAACE,MAAJ,CAAYC,KAAD,IAAWA,KAAK,CAACC,MAAN,KAAiB,CAAvC,CAAP;AACD;;AA7B6D","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.filter((value) => value.length !== 0);\n }\n}\n"]}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/docs",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.632",
|
|
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.632"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@teambit/harmony": "0.2.11",
|
|
13
13
|
"graphql-tag": "2.12.1",
|
|
14
14
|
"@babel/runtime": "7.12.18",
|
|
15
15
|
"core-js": "^3.0.0",
|
|
16
|
-
"@teambit/compiler": "0.0.
|
|
17
|
-
"@teambit/component": "0.0.
|
|
18
|
-
"@teambit/pkg": "0.0.
|
|
19
|
-
"@teambit/workspace": "0.0.
|
|
20
|
-
"@teambit/cli": "0.0.
|
|
21
|
-
"@teambit/dev-files": "0.0.
|
|
22
|
-
"@teambit/envs": "0.0.
|
|
23
|
-
"@teambit/graphql": "0.0.
|
|
24
|
-
"@teambit/logger": "0.0.
|
|
25
|
-
"@teambit/preview": "0.0.
|
|
26
|
-
"@teambit/ui": "0.0.
|
|
16
|
+
"@teambit/compiler": "0.0.632",
|
|
17
|
+
"@teambit/component": "0.0.632",
|
|
18
|
+
"@teambit/pkg": "0.0.632",
|
|
19
|
+
"@teambit/workspace": "0.0.632",
|
|
20
|
+
"@teambit/cli": "0.0.434",
|
|
21
|
+
"@teambit/dev-files": "0.0.632",
|
|
22
|
+
"@teambit/envs": "0.0.632",
|
|
23
|
+
"@teambit/graphql": "0.0.632",
|
|
24
|
+
"@teambit/logger": "0.0.524",
|
|
25
|
+
"@teambit/preview": "0.0.632",
|
|
26
|
+
"@teambit/ui": "0.0.632",
|
|
27
27
|
"@teambit/toolbox.types.serializable": "0.0.482",
|
|
28
|
-
"@teambit/pubsub": "0.0.
|
|
28
|
+
"@teambit/pubsub": "0.0.632",
|
|
29
29
|
"@teambit/design.ui.surfaces.status-message-card": "0.0.7",
|
|
30
|
-
"@teambit/preview.ui.component-preview": "0.0.
|
|
30
|
+
"@teambit/preview.ui.component-preview": "0.0.487"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/react-dom": "^17.0.5",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@types/node": "12.20.4"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@teambit/legacy": "1.0.
|
|
41
|
+
"@teambit/legacy": "1.0.210",
|
|
42
42
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
43
43
|
"react": "^16.8.0 || ^17.0.0"
|
|
44
44
|
},
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"react": "-"
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
69
|
-
"@teambit/legacy": "1.0.
|
|
69
|
+
"@teambit/legacy": "1.0.210",
|
|
70
70
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
71
71
|
"react": "^16.8.0 || ^17.0.0"
|
|
72
72
|
}
|
|
Binary file
|