@teambit/schema 1.0.805 → 1.0.807
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/mock/button-schemas.json +141 -3370
- package/dist/{preview-1762811525854.js → preview-1763140835034.js} +3 -3
- package/dist/schema-extractor.d.ts +5 -0
- package/dist/schema-extractor.js.map +1 -1
- package/dist/schema.main.runtime.d.ts +1 -1
- package/dist/schema.main.runtime.js +3 -2
- package/dist/schema.main.runtime.js.map +1 -1
- package/mock/button-schemas.json +141 -3370
- package/package.json +12 -12
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.semantics_schema@1.0.
|
|
2
|
-
import * as compositions_1 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.semantics_schema@1.0.
|
|
3
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.semantics_schema@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.semantics_schema@1.0.807/dist/schema.composition.js';
|
|
2
|
+
import * as compositions_1 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.semantics_schema@1.0.807/dist/mock/button/button.composition.js';
|
|
3
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.semantics_schema@1.0.807/dist/schema.docs.mdx';
|
|
4
4
|
|
|
5
5
|
export const compositions = [compositions_0, compositions_1];
|
|
6
6
|
export const overview = [overview_0];
|
|
@@ -19,4 +19,9 @@ export type SchemaExtractorOptions = {
|
|
|
19
19
|
tsserverPath?: string;
|
|
20
20
|
contextPath?: string;
|
|
21
21
|
skipInternals?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Component-relative includes. Exact if no wildcard; glob-lite if contains * or **.
|
|
24
|
+
* Always materialized under `internals` unless already part of the public API graph.
|
|
25
|
+
*/
|
|
26
|
+
includeFiles?: string[];
|
|
22
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["schema-extractor.ts"],"sourcesContent":["import type { Component } from '@teambit/component';\nimport type { APISchema } from '@teambit/semantics.entities.semantic-schema';\nimport type { Formatter } from '@teambit/formatter';\n\nexport interface SchemaExtractor {\n /**\n * extract a semantic schema from a component.\n */\n extract(component: Component, options?: SchemaExtractorOptions): Promise<APISchema>;\n /**\n * release resources if no schemas are needed for this process.\n * for typescript, this will kill the tsserver process.\n * for performance reasons, this is not automatically run after \"extract\". otherwise, running extract on multiple\n * components will be very slow.\n */\n dispose(): void;\n}\n\nexport type SchemaExtractorOptions = {\n formatter?: Formatter;\n tsserverPath?: string;\n contextPath?: string;\n skipInternals?: boolean;\n};\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["schema-extractor.ts"],"sourcesContent":["import type { Component } from '@teambit/component';\nimport type { APISchema } from '@teambit/semantics.entities.semantic-schema';\nimport type { Formatter } from '@teambit/formatter';\n\nexport interface SchemaExtractor {\n /**\n * extract a semantic schema from a component.\n */\n extract(component: Component, options?: SchemaExtractorOptions): Promise<APISchema>;\n /**\n * release resources if no schemas are needed for this process.\n * for typescript, this will kill the tsserver process.\n * for performance reasons, this is not automatically run after \"extract\". otherwise, running extract on multiple\n * components will be very slow.\n */\n dispose(): void;\n}\n\nexport type SchemaExtractorOptions = {\n formatter?: Formatter;\n tsserverPath?: string;\n contextPath?: string;\n skipInternals?: boolean;\n /**\n * Component-relative includes. Exact if no wildcard; glob-lite if contains * or **.\n * Always materialized under `internals` unless already part of the public API graph.\n */\n includeFiles?: string[];\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -64,7 +64,7 @@ export declare class SchemaMain {
|
|
|
64
64
|
* not kept alive. otherwise, the process will never end.
|
|
65
65
|
*
|
|
66
66
|
*/
|
|
67
|
-
getSchema(component: Component, shouldDisposeResourcesOnceDone?: boolean, alwaysRunExtractor?: boolean, tsserverPath?: string, contextPath?: string, skipInternals?: boolean, schemaTransformers?: SchemaTransformer[], apiTransformers?: SchemaNodeTransformer[]): Promise<APISchema>;
|
|
67
|
+
getSchema(component: Component, shouldDisposeResourcesOnceDone?: boolean, alwaysRunExtractor?: boolean, tsserverPath?: string, contextPath?: string, skipInternals?: boolean, schemaTransformers?: SchemaTransformer[], apiTransformers?: SchemaNodeTransformer[], includeFiles?: string[]): Promise<APISchema>;
|
|
68
68
|
getSchemaFromObject(obj: Record<string, any>): APISchema;
|
|
69
69
|
getSchemaFromRemote(id: string): Promise<APISchema>;
|
|
70
70
|
/**
|
|
@@ -192,7 +192,7 @@ class SchemaMain {
|
|
|
192
192
|
* not kept alive. otherwise, the process will never end.
|
|
193
193
|
*
|
|
194
194
|
*/
|
|
195
|
-
async getSchema(component, shouldDisposeResourcesOnceDone = false, alwaysRunExtractor = false, tsserverPath, contextPath, skipInternals, schemaTransformers, apiTransformers) {
|
|
195
|
+
async getSchema(component, shouldDisposeResourcesOnceDone = false, alwaysRunExtractor = false, tsserverPath, contextPath, skipInternals, schemaTransformers, apiTransformers, includeFiles) {
|
|
196
196
|
if (this.config.disabled) {
|
|
197
197
|
return _semanticsEntities().APISchema.empty(component.id);
|
|
198
198
|
}
|
|
@@ -211,7 +211,8 @@ class SchemaMain {
|
|
|
211
211
|
formatter,
|
|
212
212
|
tsserverPath,
|
|
213
213
|
contextPath,
|
|
214
|
-
skipInternals
|
|
214
|
+
skipInternals,
|
|
215
|
+
includeFiles
|
|
215
216
|
});
|
|
216
217
|
if (shouldDisposeResourcesOnceDone) schemaExtractor.dispose();
|
|
217
218
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_component","_harmony","_graphql","_envs","_logger","_semanticsEntities","_builder","_workspace","_scope","_legacy","_scope2","_schema","_schema2","_schema3","_schema4","_schema5","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SchemaMain","constructor","parserSlot","envs","config","builder","workspace","logger","getDefaultParser","get","defaultParser","registerSchemaClass","schema","SchemaRegistry","register","registerSchemaClasses","getSchemas","registerGetSchemas","parseModule","path","content","parsers","toArray","maybeParser","find","parser","match","extension","getSchemaExtractor","component","tsserverPath","contextPath","env","getEnv","Error","name","undefined","getSchema","shouldDisposeResourcesOnceDone","alwaysRunExtractor","skipInternals","schemaTransformers","apiTransformers","disabled","APISchema","empty","id","formatter","getFormatter","setKey","schemaExtractor","result","extract","dispose","schemaArtifact","getArtifactsVinylByAspectAndTaskName","SchemaAspect","SCHEMA_TASK_NAME","length","debug","toString","schemaJsonStr","contents","schemaJson","JSON","parse","getSchemaFromObject","SyntaxError","error","message","obj","fromObject","getSchemaFromRemote","isPattern","some","char","includes","getId","startsWith","compId","resolveComponentIdFromPackageName","compIdStr","http","Http","connect","SYMPHONY_GRAPHQL","CENTRAL_BIT_HUB_NAME","response","registerParser","calcSchemaData","getSchemaData","state","aspects","isSchemaTaskDisabled","provider","cli","graphql","loggerMain","scope","createLogger","schemaTask","SchemaTask","registerBuildTasks","SchemaCommand","schemaSchema","registerService","SchemaService","registerOnComponentLoad","registerOnCompAspectReCalc","values","Schemas","exports","MainRuntime","EnvsAspect","CLIAspect","ComponentAspect","GraphqlAspect","LoggerAspect","BuilderAspect","WorkspaceAspect","ScopeAspect","Slot","withType","addRuntime","_default","default"],"sources":["schema.main.runtime.ts"],"sourcesContent":["import type { CLIMain } from '@teambit/cli';\nimport { MainRuntime, CLIAspect } from '@teambit/cli';\nimport type { Component, ComponentMain } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { EnvsMain } from '@teambit/envs';\nimport { EnvsAspect } from '@teambit/envs';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { PrettierConfigMutator } from '@teambit/defender.prettier.config-mutator';\nimport type { Export, SchemaNodeConstructor } from '@teambit/semantics.entities.semantic-schema';\nimport { APISchema, Schemas, SchemaRegistry } from '@teambit/semantics.entities.semantic-schema';\nimport type { BuilderMain } from '@teambit/builder';\nimport { BuilderAspect } from '@teambit/builder';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { ScopeMain } from '@teambit/scope';\nimport { ScopeAspect } from '@teambit/scope';\nimport type { Formatter } from '@teambit/formatter';\nimport type { SchemaNodeTransformer, SchemaTransformer } from '@teambit/typescript';\nimport { CENTRAL_BIT_HUB_NAME, SYMPHONY_GRAPHQL } from '@teambit/legacy.constants';\nimport { Http } from '@teambit/scope.network';\nimport type { Parser } from './parser';\nimport { SchemaAspect } from './schema.aspect';\nimport type { SchemaExtractor } from './schema-extractor';\nimport { SchemaCommand } from './schema.cmd';\nimport { schemaSchema } from './schema.graphql';\nimport { SchemaTask, SCHEMA_TASK_NAME } from './schema.task';\nimport { SchemaService } from './schema.service';\n\nexport type ParserSlot = SlotRegistry<Parser>;\n\nexport type SchemaConfig = {\n /**\n * default parser\n */\n defaultParser: string;\n /**\n * disable extracting schema\n */\n disabled?: boolean;\n};\n\n/**\n * extension for extracting component schemas.\n */\nexport class SchemaMain {\n constructor(\n /**\n * parsers slot.\n */\n private parserSlot: ParserSlot,\n\n private envs: EnvsMain,\n\n private config: SchemaConfig,\n\n private builder: BuilderMain,\n\n private workspace: Workspace,\n\n private logger: Logger\n ) {}\n\n /**\n * get the default parser.\n */\n getDefaultParser(): Parser {\n return this.parserSlot.get(this.config.defaultParser) as Parser;\n }\n\n /**\n * @deprecated use registerSchemaClasses instead\n * registerSchemaClasses is better for performance as it lazy-loads the schemas.\n */\n registerSchemaClass(schema: SchemaNodeConstructor) {\n SchemaRegistry.register(schema);\n }\n\n registerSchemaClasses(getSchemas: () => SchemaNodeConstructor[]) {\n SchemaRegistry.registerGetSchemas(getSchemas);\n }\n\n /**\n * parse a module into a component schema.\n */\n parseModule(path: string, content?: string): Export[] {\n const parsers = this.parserSlot.toArray();\n let maybeParser = parsers.find(([, parser]) => {\n const match = path.match(parser.extension);\n return match;\n });\n\n if (!maybeParser) {\n maybeParser = [this.config.defaultParser, this.getDefaultParser()];\n }\n\n const [, parser] = maybeParser;\n return parser.parseModule(path, content);\n }\n\n getSchemaExtractor(component: Component, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n const env = this.envs.getEnv(component).env;\n if (typeof env.getSchemaExtractor === 'undefined') {\n throw new Error(`No SchemaExtractor defined for ${env.name}`);\n }\n\n return env.getSchemaExtractor(undefined, tsserverPath, contextPath);\n }\n\n /**\n * get a schema of a component.\n * @param component target component.\n * @param shouldDisposeResourcesOnceDone for long-running processes, such as bit-start/bit-watch, this is not\n * relevant. for calling the API only to get a schema for one component, this is needed to ensure the ts-server is\n * not kept alive. otherwise, the process will never end.\n *\n */\n async getSchema(\n component: Component,\n shouldDisposeResourcesOnceDone = false,\n alwaysRunExtractor = false,\n tsserverPath?: string,\n contextPath?: string,\n skipInternals?: boolean,\n schemaTransformers?: SchemaTransformer[],\n apiTransformers?: SchemaNodeTransformer[]\n ): Promise<APISchema> {\n if (this.config.disabled) {\n return APISchema.empty(component.id as any);\n }\n\n if (alwaysRunExtractor || this.workspace) {\n const env = this.envs.getEnv(component).env;\n // types need to be fixed\n const formatter: Formatter | undefined = env.getFormatter?.(null, [\n (config: PrettierConfigMutator) => {\n config.setKey('parser', 'typescript');\n return config;\n },\n ]);\n if (typeof env.getSchemaExtractor === 'undefined') {\n throw new Error(`No SchemaExtractor defined for ${env.name}`);\n }\n const schemaExtractor: SchemaExtractor = env.getSchemaExtractor(\n undefined,\n tsserverPath,\n contextPath,\n schemaTransformers,\n apiTransformers\n );\n\n const result = await schemaExtractor.extract(component, { formatter, tsserverPath, contextPath, skipInternals });\n if (shouldDisposeResourcesOnceDone) schemaExtractor.dispose();\n\n return result;\n }\n\n // on scope get schema from builder api\n const schemaArtifact = await this.builder.getArtifactsVinylByAspectAndTaskName(\n component,\n SchemaAspect.id,\n SCHEMA_TASK_NAME\n );\n\n if (schemaArtifact.length === 0) {\n this.logger.debug(`no schema found for ${component.id.toString()}`);\n\n /**\n * return empty schema\n * when tag/snap without build\n * or backwards compatibility\n */\n return APISchema.empty(component.id as any);\n }\n\n const schemaJsonStr = schemaArtifact[0].contents.toString('utf-8');\n\n try {\n const schemaJson = JSON.parse(schemaJsonStr);\n return this.getSchemaFromObject(schemaJson);\n } catch (e) {\n if (e instanceof SyntaxError) {\n this.logger.error(e.message);\n throw new Error(`Invalid schema.json for ${component.id}`);\n }\n throw e;\n }\n }\n\n getSchemaFromObject(obj: Record<string, any>): APISchema {\n return APISchema.fromObject(obj);\n }\n\n async getSchemaFromRemote(id: string): Promise<APISchema> {\n const isPattern = ['*', ',', '!', '$', ':'].some((char) => id.includes(char));\n if (isPattern) {\n throw new Error(`remote schema command doesn't support pattern matching. please use a specific component id`);\n }\n const getId = async () => {\n if (!id.startsWith('@')) return id;\n if (!this.workspace) throw new Error(`Please provide a component ID. The ${id} recognized as a package name.`);\n const compId = await this.workspace.resolveComponentIdFromPackageName(id, true);\n return compId.toString();\n };\n const compIdStr = await getId();\n const http = await Http.connect(SYMPHONY_GRAPHQL, CENTRAL_BIT_HUB_NAME);\n const response = await http.getSchema(compIdStr);\n return this.getSchemaFromObject(response);\n }\n\n /**\n * register a new parser.\n */\n registerParser(parser: Parser): SchemaMain {\n this.parserSlot.register(parser);\n return this;\n }\n\n async calcSchemaData(): Promise<{ disabled?: boolean }> {\n return {\n disabled: this.config.disabled,\n };\n }\n\n getSchemaData(component: Component) {\n return component.state.aspects.get(SchemaAspect.id)?.data;\n }\n\n isSchemaTaskDisabled(component: Component) {\n return this.getSchemaData(component)?.disabled;\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n EnvsAspect,\n CLIAspect,\n ComponentAspect,\n GraphqlAspect,\n LoggerAspect,\n BuilderAspect,\n WorkspaceAspect,\n ScopeAspect,\n ];\n static slots = [Slot.withType<Parser>()];\n\n static defaultConfig = {\n defaultParser: 'teambit.typescript/typescript',\n disabled: false,\n };\n\n static async provider(\n [envs, cli, component, graphql, loggerMain, builder, workspace, scope]: [\n EnvsMain,\n CLIMain,\n ComponentMain,\n GraphqlMain,\n LoggerMain,\n BuilderMain,\n Workspace,\n ScopeMain,\n ],\n config: SchemaConfig,\n [parserSlot]: [ParserSlot]\n ) {\n const logger = loggerMain.createLogger(SchemaAspect.id);\n const schema = new SchemaMain(parserSlot, envs, config, builder, workspace, logger);\n const schemaTask = new SchemaTask(SchemaAspect.id, schema, logger);\n builder.registerBuildTasks([schemaTask]);\n cli.register(new SchemaCommand(schema, component, logger));\n graphql.register(() => schemaSchema(schema));\n envs.registerService(new SchemaService());\n if (workspace) {\n workspace.registerOnComponentLoad(async () => schema.calcSchemaData());\n }\n if (scope) {\n scope.registerOnCompAspectReCalc(async () => schema.calcSchemaData());\n }\n // register all default schema classes\n schema.registerSchemaClasses(() => Object.values(Schemas));\n\n return schema;\n }\n}\n\nSchemaAspect.addRuntime(SchemaMain);\n\nexport default SchemaMain;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_component","_harmony","_graphql","_envs","_logger","_semanticsEntities","_builder","_workspace","_scope","_legacy","_scope2","_schema","_schema2","_schema3","_schema4","_schema5","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SchemaMain","constructor","parserSlot","envs","config","builder","workspace","logger","getDefaultParser","get","defaultParser","registerSchemaClass","schema","SchemaRegistry","register","registerSchemaClasses","getSchemas","registerGetSchemas","parseModule","path","content","parsers","toArray","maybeParser","find","parser","match","extension","getSchemaExtractor","component","tsserverPath","contextPath","env","getEnv","Error","name","undefined","getSchema","shouldDisposeResourcesOnceDone","alwaysRunExtractor","skipInternals","schemaTransformers","apiTransformers","includeFiles","disabled","APISchema","empty","id","formatter","getFormatter","setKey","schemaExtractor","result","extract","dispose","schemaArtifact","getArtifactsVinylByAspectAndTaskName","SchemaAspect","SCHEMA_TASK_NAME","length","debug","toString","schemaJsonStr","contents","schemaJson","JSON","parse","getSchemaFromObject","SyntaxError","error","message","obj","fromObject","getSchemaFromRemote","isPattern","some","char","includes","getId","startsWith","compId","resolveComponentIdFromPackageName","compIdStr","http","Http","connect","SYMPHONY_GRAPHQL","CENTRAL_BIT_HUB_NAME","response","registerParser","calcSchemaData","getSchemaData","state","aspects","isSchemaTaskDisabled","provider","cli","graphql","loggerMain","scope","createLogger","schemaTask","SchemaTask","registerBuildTasks","SchemaCommand","schemaSchema","registerService","SchemaService","registerOnComponentLoad","registerOnCompAspectReCalc","values","Schemas","exports","MainRuntime","EnvsAspect","CLIAspect","ComponentAspect","GraphqlAspect","LoggerAspect","BuilderAspect","WorkspaceAspect","ScopeAspect","Slot","withType","addRuntime","_default","default"],"sources":["schema.main.runtime.ts"],"sourcesContent":["import type { CLIMain } from '@teambit/cli';\nimport { MainRuntime, CLIAspect } from '@teambit/cli';\nimport type { Component, ComponentMain } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { EnvsMain } from '@teambit/envs';\nimport { EnvsAspect } from '@teambit/envs';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { PrettierConfigMutator } from '@teambit/defender.prettier.config-mutator';\nimport type { Export, SchemaNodeConstructor } from '@teambit/semantics.entities.semantic-schema';\nimport { APISchema, Schemas, SchemaRegistry } from '@teambit/semantics.entities.semantic-schema';\nimport type { BuilderMain } from '@teambit/builder';\nimport { BuilderAspect } from '@teambit/builder';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { ScopeMain } from '@teambit/scope';\nimport { ScopeAspect } from '@teambit/scope';\nimport type { Formatter } from '@teambit/formatter';\nimport type { SchemaNodeTransformer, SchemaTransformer } from '@teambit/typescript';\nimport { CENTRAL_BIT_HUB_NAME, SYMPHONY_GRAPHQL } from '@teambit/legacy.constants';\nimport { Http } from '@teambit/scope.network';\nimport type { Parser } from './parser';\nimport { SchemaAspect } from './schema.aspect';\nimport type { SchemaExtractor } from './schema-extractor';\nimport { SchemaCommand } from './schema.cmd';\nimport { schemaSchema } from './schema.graphql';\nimport { SchemaTask, SCHEMA_TASK_NAME } from './schema.task';\nimport { SchemaService } from './schema.service';\n\nexport type ParserSlot = SlotRegistry<Parser>;\n\nexport type SchemaConfig = {\n /**\n * default parser\n */\n defaultParser: string;\n /**\n * disable extracting schema\n */\n disabled?: boolean;\n};\n\n/**\n * extension for extracting component schemas.\n */\nexport class SchemaMain {\n constructor(\n /**\n * parsers slot.\n */\n private parserSlot: ParserSlot,\n\n private envs: EnvsMain,\n\n private config: SchemaConfig,\n\n private builder: BuilderMain,\n\n private workspace: Workspace,\n\n private logger: Logger\n ) {}\n\n /**\n * get the default parser.\n */\n getDefaultParser(): Parser {\n return this.parserSlot.get(this.config.defaultParser) as Parser;\n }\n\n /**\n * @deprecated use registerSchemaClasses instead\n * registerSchemaClasses is better for performance as it lazy-loads the schemas.\n */\n registerSchemaClass(schema: SchemaNodeConstructor) {\n SchemaRegistry.register(schema);\n }\n\n registerSchemaClasses(getSchemas: () => SchemaNodeConstructor[]) {\n SchemaRegistry.registerGetSchemas(getSchemas);\n }\n\n /**\n * parse a module into a component schema.\n */\n parseModule(path: string, content?: string): Export[] {\n const parsers = this.parserSlot.toArray();\n let maybeParser = parsers.find(([, parser]) => {\n const match = path.match(parser.extension);\n return match;\n });\n\n if (!maybeParser) {\n maybeParser = [this.config.defaultParser, this.getDefaultParser()];\n }\n\n const [, parser] = maybeParser;\n return parser.parseModule(path, content);\n }\n\n getSchemaExtractor(component: Component, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n const env = this.envs.getEnv(component).env;\n if (typeof env.getSchemaExtractor === 'undefined') {\n throw new Error(`No SchemaExtractor defined for ${env.name}`);\n }\n\n return env.getSchemaExtractor(undefined, tsserverPath, contextPath);\n }\n\n /**\n * get a schema of a component.\n * @param component target component.\n * @param shouldDisposeResourcesOnceDone for long-running processes, such as bit-start/bit-watch, this is not\n * relevant. for calling the API only to get a schema for one component, this is needed to ensure the ts-server is\n * not kept alive. otherwise, the process will never end.\n *\n */\n async getSchema(\n component: Component,\n shouldDisposeResourcesOnceDone = false,\n alwaysRunExtractor = false,\n tsserverPath?: string,\n contextPath?: string,\n skipInternals?: boolean,\n schemaTransformers?: SchemaTransformer[],\n apiTransformers?: SchemaNodeTransformer[],\n includeFiles?: string[]\n ): Promise<APISchema> {\n if (this.config.disabled) {\n return APISchema.empty(component.id as any);\n }\n\n if (alwaysRunExtractor || this.workspace) {\n const env = this.envs.getEnv(component).env;\n // types need to be fixed\n const formatter: Formatter | undefined = env.getFormatter?.(null, [\n (config: PrettierConfigMutator) => {\n config.setKey('parser', 'typescript');\n return config;\n },\n ]);\n if (typeof env.getSchemaExtractor === 'undefined') {\n throw new Error(`No SchemaExtractor defined for ${env.name}`);\n }\n const schemaExtractor: SchemaExtractor = env.getSchemaExtractor(\n undefined,\n tsserverPath,\n contextPath,\n schemaTransformers,\n apiTransformers\n );\n\n const result = await schemaExtractor.extract(component, {\n formatter,\n tsserverPath,\n contextPath,\n skipInternals,\n includeFiles,\n });\n if (shouldDisposeResourcesOnceDone) schemaExtractor.dispose();\n\n return result;\n }\n\n // on scope get schema from builder api\n const schemaArtifact = await this.builder.getArtifactsVinylByAspectAndTaskName(\n component,\n SchemaAspect.id,\n SCHEMA_TASK_NAME\n );\n\n if (schemaArtifact.length === 0) {\n this.logger.debug(`no schema found for ${component.id.toString()}`);\n\n /**\n * return empty schema\n * when tag/snap without build\n * or backwards compatibility\n */\n return APISchema.empty(component.id as any);\n }\n\n const schemaJsonStr = schemaArtifact[0].contents.toString('utf-8');\n\n try {\n const schemaJson = JSON.parse(schemaJsonStr);\n return this.getSchemaFromObject(schemaJson);\n } catch (e) {\n if (e instanceof SyntaxError) {\n this.logger.error(e.message);\n throw new Error(`Invalid schema.json for ${component.id}`);\n }\n throw e;\n }\n }\n\n getSchemaFromObject(obj: Record<string, any>): APISchema {\n return APISchema.fromObject(obj);\n }\n\n async getSchemaFromRemote(id: string): Promise<APISchema> {\n const isPattern = ['*', ',', '!', '$', ':'].some((char) => id.includes(char));\n if (isPattern) {\n throw new Error(`remote schema command doesn't support pattern matching. please use a specific component id`);\n }\n const getId = async () => {\n if (!id.startsWith('@')) return id;\n if (!this.workspace) throw new Error(`Please provide a component ID. The ${id} recognized as a package name.`);\n const compId = await this.workspace.resolveComponentIdFromPackageName(id, true);\n return compId.toString();\n };\n const compIdStr = await getId();\n const http = await Http.connect(SYMPHONY_GRAPHQL, CENTRAL_BIT_HUB_NAME);\n const response = await http.getSchema(compIdStr);\n return this.getSchemaFromObject(response);\n }\n\n /**\n * register a new parser.\n */\n registerParser(parser: Parser): SchemaMain {\n this.parserSlot.register(parser);\n return this;\n }\n\n async calcSchemaData(): Promise<{ disabled?: boolean }> {\n return {\n disabled: this.config.disabled,\n };\n }\n\n getSchemaData(component: Component) {\n return component.state.aspects.get(SchemaAspect.id)?.data;\n }\n\n isSchemaTaskDisabled(component: Component) {\n return this.getSchemaData(component)?.disabled;\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n EnvsAspect,\n CLIAspect,\n ComponentAspect,\n GraphqlAspect,\n LoggerAspect,\n BuilderAspect,\n WorkspaceAspect,\n ScopeAspect,\n ];\n static slots = [Slot.withType<Parser>()];\n\n static defaultConfig = {\n defaultParser: 'teambit.typescript/typescript',\n disabled: false,\n };\n\n static async provider(\n [envs, cli, component, graphql, loggerMain, builder, workspace, scope]: [\n EnvsMain,\n CLIMain,\n ComponentMain,\n GraphqlMain,\n LoggerMain,\n BuilderMain,\n Workspace,\n ScopeMain,\n ],\n config: SchemaConfig,\n [parserSlot]: [ParserSlot]\n ) {\n const logger = loggerMain.createLogger(SchemaAspect.id);\n const schema = new SchemaMain(parserSlot, envs, config, builder, workspace, logger);\n const schemaTask = new SchemaTask(SchemaAspect.id, schema, logger);\n builder.registerBuildTasks([schemaTask]);\n cli.register(new SchemaCommand(schema, component, logger));\n graphql.register(() => schemaSchema(schema));\n envs.registerService(new SchemaService());\n if (workspace) {\n workspace.registerOnComponentLoad(async () => schema.calcSchemaData());\n }\n if (scope) {\n scope.registerOnCompAspectReCalc(async () => schema.calcSchemaData());\n }\n // register all default schema classes\n schema.registerSchemaClasses(() => Object.values(Schemas));\n\n return schema;\n }\n}\n\nSchemaAspect.addRuntime(SchemaMain);\n\nexport default SchemaMain;\n"],"mappings":"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","ignoreList":[]}
|