@teambit/typescript 1.0.104 → 1.0.105

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_semanticsEntities","_typescript","_identifier","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ClassDeclarationTransformer","predicate","node","kind","ts","SyntaxKind","ClassDeclaration","getName","_node$name","name","getText","getIdentifiers","Identifier","getSourceFile","fileName","getExpressionWithTypeArgs","context","token","heritageClauses","pMapSeries","heritageClause","flatMap","h","types","map","type","expressionWithTypeArgs","typeArguments","expression","typeArgsNodes","computeSchema","location","getLocation","expressionNode","visitDefinition","UnresolvedSchema","ExpressionWithTypeArgumentsSchema","transform","_node$typeParameters","className","extendsExpressionsWithTypeArgs","ExtendsKeyword","implementsExpressionsWithTypeArgs","ImplementsKeyword","typeParameters","typeParam","signature","getQuickInfoDisplayString","members","member","_member$modifiers","isPrivate","modifiers","some","modifier","PrivateKeyword","doc","jsDocToDocSchema","Error","ClassSchema","compact","exports"],"sources":["class-declaration.ts"],"sourcesContent":["import pMapSeries from 'p-map-series';\nimport { compact } from 'lodash';\nimport {\n ClassSchema,\n UnresolvedSchema,\n ExpressionWithTypeArgumentsSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport ts, { Node, ClassDeclaration } from 'typescript';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class ClassDeclarationTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.ClassDeclaration;\n }\n\n // @todo: in case of `export default class` the class has no name.\n private getName(node: ClassDeclaration) {\n return node.name?.getText() || 'default';\n }\n\n async getIdentifiers(node: ClassDeclaration) {\n return [new Identifier(this.getName(node), node.getSourceFile().fileName)];\n }\n\n private async getExpressionWithTypeArgs(\n node: ClassDeclaration,\n context: SchemaExtractorContext,\n token: ts.SyntaxKind.ExtendsKeyword | ts.SyntaxKind.ImplementsKeyword\n ) {\n if (!node.heritageClauses) return [];\n\n return pMapSeries(\n node.heritageClauses\n .filter((heritageClause: ts.HeritageClause) => heritageClause.token === token)\n .flatMap((h: ts.HeritageClause) => {\n const { types } = h;\n const name = h.getText();\n return types.map((type) => ({ ...type, name }));\n }),\n async (expressionWithTypeArgs: ts.ExpressionWithTypeArguments & { name: string }) => {\n const { typeArguments, expression, name } = expressionWithTypeArgs;\n const typeArgsNodes = typeArguments ? await pMapSeries(typeArguments, (t) => context.computeSchema(t)) : [];\n const location = context.getLocation(expression);\n const expressionNode =\n (await context.visitDefinition(expression)) || new UnresolvedSchema(location, expression.getText());\n return new ExpressionWithTypeArgumentsSchema(typeArgsNodes, expressionNode, name, location);\n }\n );\n }\n\n async transform(node: ClassDeclaration, context: SchemaExtractorContext) {\n const className = this.getName(node);\n const extendsExpressionsWithTypeArgs = await this.getExpressionWithTypeArgs(\n node,\n context,\n ts.SyntaxKind.ExtendsKeyword\n );\n\n const implementsExpressionsWithTypeArgs = await this.getExpressionWithTypeArgs(\n node,\n context,\n ts.SyntaxKind.ImplementsKeyword\n );\n\n const typeParameters = node.typeParameters?.map((typeParam) => {\n return typeParam.name.getText();\n });\n const signature = node.name ? await context.getQuickInfoDisplayString(node.name) : undefined;\n const members = await pMapSeries(node.members, async (member) => {\n const isPrivate = member.modifiers?.some((modifier) => modifier.kind === ts.SyntaxKind.PrivateKeyword);\n if (isPrivate) {\n return null;\n }\n return context.computeSchema(member);\n });\n const doc = await context.jsDocToDocSchema(node);\n\n if (!signature) {\n throw Error(`Missing signature for class ${className} declaration`);\n }\n\n return new ClassSchema(\n className,\n compact(members),\n context.getLocation(node),\n signature,\n doc,\n typeParameters,\n extendsExpressionsWithTypeArgs,\n implementsExpressionsWithTypeArgs\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_semanticsEntities","_typescript","_identifier","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","ClassDeclarationTransformer","predicate","node","kind","ts","SyntaxKind","ClassDeclaration","getName","_node$name","name","getText","getIdentifiers","Identifier","getSourceFile","fileName","getExpressionWithTypeArgs","context","token","heritageClauses","pMapSeries","heritageClause","flatMap","h","types","map","type","expressionWithTypeArgs","typeArguments","expression","typeArgsNodes","computeSchema","location","getLocation","expressionNode","visitDefinition","UnresolvedSchema","ExpressionWithTypeArgumentsSchema","transform","_node$typeParameters","className","extendsExpressionsWithTypeArgs","ExtendsKeyword","implementsExpressionsWithTypeArgs","ImplementsKeyword","typeParameters","typeParam","signature","getQuickInfoDisplayString","undefined","members","member","_member$modifiers","isPrivate","modifiers","some","modifier","PrivateKeyword","doc","jsDocToDocSchema","Error","ClassSchema","compact","exports"],"sources":["class-declaration.ts"],"sourcesContent":["import pMapSeries from 'p-map-series';\nimport { compact } from 'lodash';\nimport {\n ClassSchema,\n UnresolvedSchema,\n ExpressionWithTypeArgumentsSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport ts, { Node, ClassDeclaration } from 'typescript';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class ClassDeclarationTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.ClassDeclaration;\n }\n\n // @todo: in case of `export default class` the class has no name.\n private getName(node: ClassDeclaration) {\n return node.name?.getText() || 'default';\n }\n\n async getIdentifiers(node: ClassDeclaration) {\n return [new Identifier(this.getName(node), node.getSourceFile().fileName)];\n }\n\n private async getExpressionWithTypeArgs(\n node: ClassDeclaration,\n context: SchemaExtractorContext,\n token: ts.SyntaxKind.ExtendsKeyword | ts.SyntaxKind.ImplementsKeyword\n ) {\n if (!node.heritageClauses) return [];\n\n return pMapSeries(\n node.heritageClauses\n .filter((heritageClause: ts.HeritageClause) => heritageClause.token === token)\n .flatMap((h: ts.HeritageClause) => {\n const { types } = h;\n const name = h.getText();\n return types.map((type) => ({ ...type, name }));\n }),\n async (expressionWithTypeArgs: ts.ExpressionWithTypeArguments & { name: string }) => {\n const { typeArguments, expression, name } = expressionWithTypeArgs;\n const typeArgsNodes = typeArguments ? await pMapSeries(typeArguments, (t) => context.computeSchema(t)) : [];\n const location = context.getLocation(expression);\n const expressionNode =\n (await context.visitDefinition(expression)) || new UnresolvedSchema(location, expression.getText());\n return new ExpressionWithTypeArgumentsSchema(typeArgsNodes, expressionNode, name, location);\n }\n );\n }\n\n async transform(node: ClassDeclaration, context: SchemaExtractorContext) {\n const className = this.getName(node);\n const extendsExpressionsWithTypeArgs = await this.getExpressionWithTypeArgs(\n node,\n context,\n ts.SyntaxKind.ExtendsKeyword\n );\n\n const implementsExpressionsWithTypeArgs = await this.getExpressionWithTypeArgs(\n node,\n context,\n ts.SyntaxKind.ImplementsKeyword\n );\n\n const typeParameters = node.typeParameters?.map((typeParam) => {\n return typeParam.name.getText();\n });\n const signature = node.name ? await context.getQuickInfoDisplayString(node.name) : undefined;\n const members = await pMapSeries(node.members, async (member) => {\n const isPrivate = member.modifiers?.some((modifier) => modifier.kind === ts.SyntaxKind.PrivateKeyword);\n if (isPrivate) {\n return null;\n }\n return context.computeSchema(member);\n });\n const doc = await context.jsDocToDocSchema(node);\n\n if (!signature) {\n throw Error(`Missing signature for class ${className} declaration`);\n }\n\n return new ClassSchema(\n className,\n compact(members),\n context.getLocation(node),\n signature,\n doc,\n typeParameters,\n extendsExpressionsWithTypeArgs,\n implementsExpressionsWithTypeArgs\n );\n }\n}\n"],"mappings":"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"}
@@ -36,8 +36,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
36
36
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
37
37
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
38
38
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
40
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
39
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
40
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
41
41
  class InterfaceDeclarationTransformer {
42
42
  predicate(node) {
43
43
  return node.kind === _typescript().SyntaxKind.InterfaceDeclaration;
@@ -1 +1 @@
1
- {"version":3,"names":["_typescript","data","require","_pMapSeries","_interopRequireDefault","_semanticsEntities","_identifier","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","InterfaceDeclarationTransformer","predicate","node","kind","SyntaxKind","InterfaceDeclaration","getIdentifiers","Identifier","name","getText","getSourceFile","fileName","getExpressionWithTypeArgs","context","heritageClauses","pMapSeries","heritageClause","token","ExtendsKeyword","flatMap","h","types","map","type","expressionWithTypeArgs","typeArguments","expression","typeArgsNodes","computeSchema","location","getLocation","expressionNode","visitDefinition","UnresolvedSchema","ExpressionWithTypeArgumentsSchema","transform","interfaceDec","_interfaceDec$typePar","members","member","doc","jsDocToDocSchema","signature","getQuickInfoDisplayString","extendsNodes","typeParameters","typeParam","Error","InterfaceSchema","exports"],"sources":["interface-declaration.ts"],"sourcesContent":["import ts, { Node, InterfaceDeclaration, SyntaxKind } from 'typescript';\nimport pMapSeries from 'p-map-series';\nimport {\n ExpressionWithTypeArgumentsSchema,\n InterfaceSchema,\n UnresolvedSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class InterfaceDeclarationTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.InterfaceDeclaration;\n }\n\n async getIdentifiers(node: InterfaceDeclaration): Promise<Identifier[]> {\n return [new Identifier(node.name.getText(), node.getSourceFile().fileName)];\n }\n\n private async getExpressionWithTypeArgs(node: InterfaceDeclaration, context: SchemaExtractorContext) {\n if (!node.heritageClauses) return [];\n\n return pMapSeries(\n node.heritageClauses\n .filter((heritageClause: ts.HeritageClause) => heritageClause.token === SyntaxKind.ExtendsKeyword)\n .flatMap((h: ts.HeritageClause) => {\n const { types } = h;\n const name = h.getText();\n return types.map((type) => ({ ...type, name }));\n }),\n async (expressionWithTypeArgs: ts.ExpressionWithTypeArguments & { name: string }) => {\n const { typeArguments, expression, name } = expressionWithTypeArgs;\n const typeArgsNodes = typeArguments ? await pMapSeries(typeArguments, (t) => context.computeSchema(t)) : [];\n const location = context.getLocation(expression);\n const expressionNode =\n (await context.visitDefinition(expression)) || new UnresolvedSchema(location, expression.getText());\n return new ExpressionWithTypeArgumentsSchema(typeArgsNodes, expressionNode, name, location);\n }\n );\n }\n\n async transform(interfaceDec: InterfaceDeclaration, context: SchemaExtractorContext) {\n const members = await pMapSeries(interfaceDec.members, (member) => context.computeSchema(member));\n const doc = await context.jsDocToDocSchema(interfaceDec);\n const signature = interfaceDec.name ? await context.getQuickInfoDisplayString(interfaceDec.name) : undefined;\n const extendsNodes = await this.getExpressionWithTypeArgs(interfaceDec, context);\n const typeParameters = interfaceDec.typeParameters?.map((typeParam) => {\n return typeParam.name.getText();\n });\n\n if (!signature) {\n throw Error(`Missing signature for interface ${interfaceDec.name.getText()} declaration`);\n }\n\n return new InterfaceSchema(\n context.getLocation(interfaceDec),\n interfaceDec.name.getText(),\n signature,\n extendsNodes,\n members,\n doc,\n typeParameters\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_typescript","data","require","_pMapSeries","_interopRequireDefault","_semanticsEntities","_identifier","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","InterfaceDeclarationTransformer","predicate","node","kind","SyntaxKind","InterfaceDeclaration","getIdentifiers","Identifier","name","getText","getSourceFile","fileName","getExpressionWithTypeArgs","context","heritageClauses","pMapSeries","heritageClause","token","ExtendsKeyword","flatMap","h","types","map","type","expressionWithTypeArgs","typeArguments","expression","typeArgsNodes","computeSchema","location","getLocation","expressionNode","visitDefinition","UnresolvedSchema","ExpressionWithTypeArgumentsSchema","transform","interfaceDec","_interfaceDec$typePar","members","member","doc","jsDocToDocSchema","signature","getQuickInfoDisplayString","undefined","extendsNodes","typeParameters","typeParam","Error","InterfaceSchema","exports"],"sources":["interface-declaration.ts"],"sourcesContent":["import ts, { Node, InterfaceDeclaration, SyntaxKind } from 'typescript';\nimport pMapSeries from 'p-map-series';\nimport {\n ExpressionWithTypeArgumentsSchema,\n InterfaceSchema,\n UnresolvedSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class InterfaceDeclarationTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.InterfaceDeclaration;\n }\n\n async getIdentifiers(node: InterfaceDeclaration): Promise<Identifier[]> {\n return [new Identifier(node.name.getText(), node.getSourceFile().fileName)];\n }\n\n private async getExpressionWithTypeArgs(node: InterfaceDeclaration, context: SchemaExtractorContext) {\n if (!node.heritageClauses) return [];\n\n return pMapSeries(\n node.heritageClauses\n .filter((heritageClause: ts.HeritageClause) => heritageClause.token === SyntaxKind.ExtendsKeyword)\n .flatMap((h: ts.HeritageClause) => {\n const { types } = h;\n const name = h.getText();\n return types.map((type) => ({ ...type, name }));\n }),\n async (expressionWithTypeArgs: ts.ExpressionWithTypeArguments & { name: string }) => {\n const { typeArguments, expression, name } = expressionWithTypeArgs;\n const typeArgsNodes = typeArguments ? await pMapSeries(typeArguments, (t) => context.computeSchema(t)) : [];\n const location = context.getLocation(expression);\n const expressionNode =\n (await context.visitDefinition(expression)) || new UnresolvedSchema(location, expression.getText());\n return new ExpressionWithTypeArgumentsSchema(typeArgsNodes, expressionNode, name, location);\n }\n );\n }\n\n async transform(interfaceDec: InterfaceDeclaration, context: SchemaExtractorContext) {\n const members = await pMapSeries(interfaceDec.members, (member) => context.computeSchema(member));\n const doc = await context.jsDocToDocSchema(interfaceDec);\n const signature = interfaceDec.name ? await context.getQuickInfoDisplayString(interfaceDec.name) : undefined;\n const extendsNodes = await this.getExpressionWithTypeArgs(interfaceDec, context);\n const typeParameters = interfaceDec.typeParameters?.map((typeParam) => {\n return typeParam.name.getText();\n });\n\n if (!signature) {\n throw Error(`Missing signature for interface ${interfaceDec.name.getText()} declaration`);\n }\n\n return new InterfaceSchema(\n context.getLocation(interfaceDec),\n interfaceDec.name.getText(),\n signature,\n extendsNodes,\n members,\n doc,\n typeParameters\n );\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,mBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,kBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOA,SAAAK,YAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,WAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAG,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAApB,GAAA,EAAAwB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAxB,GAAA,IAAAO,MAAA,CAAAgB,cAAA,CAAAvB,GAAA,EAAAwB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAZ,UAAA,QAAAc,YAAA,QAAAC,QAAA,oBAAA5B,GAAA,CAAAwB,GAAA,IAAAC,KAAA,WAAAzB,GAAA;AAAA,SAAA0B,eAAApB,CAAA,QAAAuB,CAAA,GAAAC,YAAA,CAAAxB,CAAA,uCAAAuB,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAxB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAA0B,MAAA,CAAAC,WAAA,kBAAA7B,CAAA,QAAAyB,CAAA,GAAAzB,CAAA,CAAA8B,IAAA,CAAA5B,CAAA,EAAAD,CAAA,uCAAAwB,CAAA,SAAAA,CAAA,YAAAM,SAAA,yEAAA9B,CAAA,GAAA0B,MAAA,GAAAK,MAAA,EAAA9B,CAAA;AAEpC,MAAM+B,+BAA+B,CAA8B;EACxEC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,oBAAoB;EACtD;EAEA,MAAMC,cAAcA,CAACJ,IAA0B,EAAyB;IACtE,OAAO,CAAC,KAAIK,wBAAU,EAACL,IAAI,CAACM,IAAI,CAACC,OAAO,CAAC,CAAC,EAAEP,IAAI,CAACQ,aAAa,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC7E;EAEA,MAAcC,yBAAyBA,CAACV,IAA0B,EAAEW,OAA+B,EAAE;IACnG,IAAI,CAACX,IAAI,CAACY,eAAe,EAAE,OAAO,EAAE;IAEpC,OAAO,IAAAC,qBAAU,EACfb,IAAI,CAACY,eAAe,CACjBxC,MAAM,CAAE0C,cAAiC,IAAKA,cAAc,CAACC,KAAK,KAAKb,wBAAU,CAACc,cAAc,CAAC,CACjGC,OAAO,CAAEC,CAAoB,IAAK;MACjC,MAAM;QAAEC;MAAM,CAAC,GAAGD,CAAC;MACnB,MAAMZ,IAAI,GAAGY,CAAC,CAACX,OAAO,CAAC,CAAC;MACxB,OAAOY,KAAK,CAACC,GAAG,CAAEC,IAAI,IAAA5C,aAAA,CAAAA,aAAA,KAAW4C,IAAI;QAAEf;MAAI,EAAG,CAAC;IACjD,CAAC,CAAC,EACJ,MAAOgB,sBAAyE,IAAK;MACnF,MAAM;QAAEC,aAAa;QAAEC,UAAU;QAAElB;MAAK,CAAC,GAAGgB,sBAAsB;MAClE,MAAMG,aAAa,GAAGF,aAAa,GAAG,MAAM,IAAAV,qBAAU,EAACU,aAAa,EAAGxD,CAAC,IAAK4C,OAAO,CAACe,aAAa,CAAC3D,CAAC,CAAC,CAAC,GAAG,EAAE;MAC3G,MAAM4D,QAAQ,GAAGhB,OAAO,CAACiB,WAAW,CAACJ,UAAU,CAAC;MAChD,MAAMK,cAAc,GAClB,CAAC,MAAMlB,OAAO,CAACmB,eAAe,CAACN,UAAU,CAAC,KAAK,KAAIO,qCAAgB,EAACJ,QAAQ,EAAEH,UAAU,CAACjB,OAAO,CAAC,CAAC,CAAC;MACrG,OAAO,KAAIyB,sDAAiC,EAACP,aAAa,EAAEI,cAAc,EAAEvB,IAAI,EAAEqB,QAAQ,CAAC;IAC7F,CACF,CAAC;EACH;EAEA,MAAMM,SAASA,CAACC,YAAkC,EAAEvB,OAA+B,EAAE;IAAA,IAAAwB,qBAAA;IACnF,MAAMC,OAAO,GAAG,MAAM,IAAAvB,qBAAU,EAACqB,YAAY,CAACE,OAAO,EAAGC,MAAM,IAAK1B,OAAO,CAACe,aAAa,CAACW,MAAM,CAAC,CAAC;IACjG,MAAMC,GAAG,GAAG,MAAM3B,OAAO,CAAC4B,gBAAgB,CAACL,YAAY,CAAC;IACxD,MAAMM,SAAS,GAAGN,YAAY,CAAC5B,IAAI,GAAG,MAAMK,OAAO,CAAC8B,yBAAyB,CAACP,YAAY,CAAC5B,IAAI,CAAC,GAAGoC,SAAS;IAC5G,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACjC,yBAAyB,CAACwB,YAAY,EAAEvB,OAAO,CAAC;IAChF,MAAMiC,cAAc,IAAAT,qBAAA,GAAGD,YAAY,CAACU,cAAc,cAAAT,qBAAA,uBAA3BA,qBAAA,CAA6Bf,GAAG,CAAEyB,SAAS,IAAK;MACrE,OAAOA,SAAS,CAACvC,IAAI,CAACC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,IAAI,CAACiC,SAAS,EAAE;MACd,MAAMM,KAAK,CAAE,mCAAkCZ,YAAY,CAAC5B,IAAI,CAACC,OAAO,CAAC,CAAE,cAAa,CAAC;IAC3F;IAEA,OAAO,KAAIwC,oCAAe,EACxBpC,OAAO,CAACiB,WAAW,CAACM,YAAY,CAAC,EACjCA,YAAY,CAAC5B,IAAI,CAACC,OAAO,CAAC,CAAC,EAC3BiC,SAAS,EACTG,YAAY,EACZP,OAAO,EACPE,GAAG,EACHM,cACF,CAAC;EACH;AACF;AAACI,OAAA,CAAAlD,+BAAA,GAAAA,+BAAA"}
@@ -29,8 +29,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
29
29
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30
30
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
31
31
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
32
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
33
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
32
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
33
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
34
34
  class TypescriptCompiler {
35
35
  constructor(id, logger, options, tsModule) {
36
36
  this.id = id;
@@ -66,7 +66,6 @@ class TypescriptCompiler {
66
66
  if (!this.isFileSupported(options.filePath)) {
67
67
  return null; // file is not supported
68
68
  }
69
-
70
69
  const compilerOptionsFromTsconfig = this.tsModule.convertCompilerOptionsFromJson(this.options.tsconfig.compilerOptions, '.');
71
70
  if (compilerOptionsFromTsconfig.errors.length) {
72
71
  // :TODO @david replace to a more concrete error type and put in 'exceptions' directory here.
@@ -274,7 +273,6 @@ class TypescriptCompiler {
274
273
  const fileExtension = _path().default.extname(filePath);
275
274
  return filePath.replace(new RegExp(`${fileExtension}$`), '.js'); // makes sure it's the last occurrence
276
275
  }
277
-
278
276
  version() {
279
277
  return this.tsModule.version;
280
278
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_bitError","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","TypescriptCompiler","constructor","id","logger","options","tsModule","distDir","distGlobPatterns","shouldCopyNonSupportedFiles","artifactName","tsconfig","compilerOptions","outDir","displayConfig","stringifyTsconfig","getDistDir","transpileFile","fileContent","isFileSupported","filePath","compilerOptionsFromTsconfig","convertCompilerOptionsFromJson","errors","formattedErrors","formatDiagnosticsWithColorAndContext","getFormatDiagnosticsHost","Error","sourceRoot","componentDir","rootDir","result","transpileModule","fileName","reportDiagnostics","diagnostics","formatHost","error","outputPath","replaceFileExtToJs","outputFiles","outputText","sourceMapText","preBuild","context","capsules","capsuleNetwork","seedersCapsules","capsuleDirs","map","capsule","path","writeTsConfig","writeTypes","writeNpmIgnore","build","componentsResults","runTscBuild","artifacts","getArtifactDefinition","generatedBy","name","globPatterns","getDistPathBySrcPath","srcPath","fileWithJSExtIfNeeded","join","isJsAndCompile","compileJs","endsWith","isJsxAndCompile","compileJsx","network","capsulesRootDir","getCapsulesToCompile","getAllCapsuleDirs","getCanonicalFileName","p","getCurrentDirectory","getNewLine","sys","newLine","currentComponentResult","reportDiagnostic","diagnostic","errorStr","process","stdout","isTTY","formatDiagnostic","file","BitError","consoleFailure","component","reportSolutionBuilderStatus","diag","msg","messageText","debug","errorCounter","errorCount","info","host","createSolutionBuilderHost","writeProjectReferencesTsConfig","solutionBuilder","createSolutionBuilder","verbose","nextProject","longProcessLogger","createLongProcessLogger","getNextInvalidatedProject","capsulePath","project","replace","currentComponentId","getIdByPathInCapsule","logProgress","toString","getCapsule","startTime","Date","now","done","endTime","end","dirs","Promise","all","types","typePath","contents","fs","readFile","filename","basename","dir","pathExists","outputFile","NPM_IGNORE_FILE","npmIgnorePath","npmIgnoreEntriesStr","appendFile","projects","files","references","tsconfigStr","writeFile","JSON","stringify","fileExtension","extname","RegExp","version","exports"],"sources":["typescript.compiler.ts"],"sourcesContent":["import { BuildContext, BuiltTaskResult, ComponentResult } from '@teambit/builder';\nimport { Compiler, TranspileFileParams, TranspileFileOutput } from '@teambit/compiler';\nimport { Network } from '@teambit/isolator';\nimport { Logger } from '@teambit/logger';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport ts from 'typescript';\nimport { BitError } from '@teambit/bit-error';\nimport { TypeScriptCompilerOptions } from './compiler-options';\n\nexport class TypescriptCompiler implements Compiler {\n distDir: string;\n distGlobPatterns: string[];\n shouldCopyNonSupportedFiles: boolean;\n artifactName: string;\n constructor(\n readonly id: string,\n private logger: Logger,\n private options: TypeScriptCompilerOptions,\n private tsModule: typeof ts\n ) {\n this.distDir = options.distDir || 'dist';\n this.distGlobPatterns = options.distGlobPatterns || [`${this.distDir}/**`, `!${this.distDir}/tsconfig.tsbuildinfo`];\n this.shouldCopyNonSupportedFiles =\n typeof options.shouldCopyNonSupportedFiles === 'boolean' ? options.shouldCopyNonSupportedFiles : true;\n this.artifactName = options.artifactName || 'dist';\n this.options.tsconfig ||= {};\n this.options.tsconfig.compilerOptions ||= {};\n // mutate the outDir, otherwise, on capsules, the dists might be written to a different directory and make confusion\n this.options.tsconfig.compilerOptions.outDir = this.distDir;\n }\n\n displayName = 'TypeScript';\n deleteDistDir = false;\n\n displayConfig() {\n return this.stringifyTsconfig(this.options.tsconfig);\n }\n\n getDistDir() {\n return this.distDir;\n }\n\n /**\n * compile one file on the workspace\n */\n transpileFile(fileContent: string, options: TranspileFileParams): TranspileFileOutput {\n if (!this.isFileSupported(options.filePath)) {\n return null; // file is not supported\n }\n const compilerOptionsFromTsconfig = this.tsModule.convertCompilerOptionsFromJson(\n this.options.tsconfig.compilerOptions,\n '.'\n );\n if (compilerOptionsFromTsconfig.errors.length) {\n // :TODO @david replace to a more concrete error type and put in 'exceptions' directory here.\n const formattedErrors = this.tsModule.formatDiagnosticsWithColorAndContext(\n compilerOptionsFromTsconfig.errors,\n this.getFormatDiagnosticsHost()\n );\n throw new Error(`failed parsing the tsconfig.json.\\n${formattedErrors}`);\n }\n\n const compilerOptions = compilerOptionsFromTsconfig.options;\n compilerOptions.sourceRoot = options.componentDir;\n compilerOptions.rootDir = '.';\n const result = this.tsModule.transpileModule(fileContent, {\n compilerOptions,\n fileName: options.filePath,\n reportDiagnostics: true,\n });\n\n if (result.diagnostics && result.diagnostics.length) {\n const formatHost = this.getFormatDiagnosticsHost();\n const error = this.tsModule.formatDiagnosticsWithColorAndContext(result.diagnostics, formatHost);\n\n // :TODO @david please replace to a more concrete error type and put in 'exceptions' directory here.\n throw new Error(error);\n }\n\n const outputPath = this.replaceFileExtToJs(options.filePath);\n const outputFiles = [{ outputText: result.outputText, outputPath }];\n if (result.sourceMapText) {\n outputFiles.push({\n outputText: result.sourceMapText,\n outputPath: `${outputPath}.map`,\n });\n }\n return outputFiles;\n }\n\n async preBuild(context: BuildContext) {\n const capsules = context.capsuleNetwork.seedersCapsules;\n const capsuleDirs = capsules.map((capsule) => capsule.path);\n await this.writeTsConfig(capsuleDirs);\n await this.writeTypes(capsuleDirs);\n await this.writeNpmIgnore(capsuleDirs);\n }\n\n /**\n * compile multiple components on the capsules\n */\n async build(context: BuildContext): Promise<BuiltTaskResult> {\n const componentsResults = await this.runTscBuild(context.capsuleNetwork);\n\n return {\n artifacts: this.getArtifactDefinition(),\n componentsResults,\n };\n }\n\n getArtifactDefinition() {\n return [\n {\n generatedBy: this.id,\n name: this.artifactName,\n globPatterns: this.distGlobPatterns,\n },\n ];\n }\n\n /**\n * given a source file, return its parallel in the dists. e.g. index.ts => dist/index.js\n */\n getDistPathBySrcPath(srcPath: string) {\n const fileWithJSExtIfNeeded = this.replaceFileExtToJs(srcPath);\n return path.join(this.distDir, fileWithJSExtIfNeeded);\n }\n\n /**\n * whether typescript is able to compile the given path\n */\n isFileSupported(filePath: string): boolean {\n const isJsAndCompile = !!this.options.compileJs && filePath.endsWith('.js');\n const isJsxAndCompile = !!this.options.compileJsx && filePath.endsWith('.jsx');\n return (\n (filePath.endsWith('.ts') || filePath.endsWith('.tsx') || isJsAndCompile || isJsxAndCompile) &&\n !filePath.endsWith('.d.ts')\n );\n }\n\n /**\n * we have two options here:\n * 1. pass all capsules-dir at the second parameter of createSolutionBuilder and then no\n * need to write the main tsconfig.json with all the references.\n * 2. write main tsconfig.json and pass the capsules root-dir.\n * we went with option #2 because it'll be easier for users to go to the capsule-root and run\n * `tsc --build` to debug issues.\n */\n private async runTscBuild(network: Network): Promise<ComponentResult[]> {\n const rootDir = network.capsulesRootDir;\n const capsules = await network.getCapsulesToCompile();\n if (!capsules.length) {\n return [];\n }\n const capsuleDirs = capsules.getAllCapsuleDirs();\n const formatHost = {\n getCanonicalFileName: (p) => p,\n getCurrentDirectory: () => '', // it helps to get the files with absolute paths\n getNewLine: () => this.tsModule.sys.newLine,\n };\n const componentsResults: ComponentResult[] = [];\n let currentComponentResult: Partial<ComponentResult> = { errors: [] };\n const reportDiagnostic = (diagnostic: ts.Diagnostic) => {\n const errorStr = process.stdout.isTTY\n ? this.tsModule.formatDiagnosticsWithColorAndContext([diagnostic], formatHost)\n : this.tsModule.formatDiagnostic(diagnostic, formatHost);\n if (!diagnostic.file) {\n // the error is general and not related to a specific file. e.g. tsconfig is missing.\n throw new BitError(errorStr);\n }\n this.logger.consoleFailure(errorStr);\n if (!currentComponentResult.component || !currentComponentResult.errors) {\n throw new Error(`currentComponentResult is not defined yet for ${diagnostic.file}`);\n }\n currentComponentResult.errors.push(errorStr);\n };\n // this only works when `verbose` is `true` in the `ts.createSolutionBuilder` function.\n const reportSolutionBuilderStatus = (diag: ts.Diagnostic) => {\n const msg = diag.messageText as string;\n this.logger.debug(msg);\n };\n const errorCounter = (errorCount: number) => {\n this.logger.info(`total error found: ${errorCount}`);\n };\n const host = this.tsModule.createSolutionBuilderHost(\n undefined,\n undefined,\n reportDiagnostic,\n reportSolutionBuilderStatus,\n errorCounter\n );\n await this.writeProjectReferencesTsConfig(rootDir, capsuleDirs);\n const solutionBuilder = this.tsModule.createSolutionBuilder(host, [rootDir], { verbose: true });\n let nextProject;\n const longProcessLogger = this.logger.createLongProcessLogger('compile typescript components', capsules.length);\n // eslint-disable-next-line no-cond-assign\n while ((nextProject = solutionBuilder.getNextInvalidatedProject())) {\n // regex to make sure it will work correctly for both linux and windows\n // it replaces both /tsconfig.json and \\tsocnfig.json\n const capsulePath = nextProject.project.replace(/[/\\\\]tsconfig.json/, '');\n const currentComponentId = capsules.getIdByPathInCapsule(capsulePath);\n if (!currentComponentId) throw new Error(`unable to find component for ${capsulePath}`);\n longProcessLogger.logProgress(currentComponentId.toString());\n const capsule = capsules.getCapsule(currentComponentId);\n if (!capsule) throw new Error(`unable to find capsule for ${currentComponentId.toString()}`);\n currentComponentResult.component = capsule.component;\n currentComponentResult.startTime = Date.now();\n nextProject.done();\n currentComponentResult.endTime = Date.now();\n componentsResults.push({ ...currentComponentResult } as ComponentResult);\n currentComponentResult = { errors: [] };\n }\n longProcessLogger.end();\n\n return componentsResults;\n }\n\n private getFormatDiagnosticsHost(): ts.FormatDiagnosticsHost {\n return {\n getCanonicalFileName: (p) => p,\n getCurrentDirectory: this.tsModule.sys.getCurrentDirectory,\n getNewLine: () => this.tsModule.sys.newLine,\n };\n }\n\n private async writeTypes(dirs: string[]) {\n await Promise.all(\n this.options.types.map(async (typePath) => {\n const contents = await fs.readFile(typePath, 'utf8');\n const filename = path.basename(typePath);\n\n await Promise.all(\n dirs.map(async (dir) => {\n const filePath = path.join(dir, 'types', filename);\n if (!(await fs.pathExists(filePath))) {\n await fs.outputFile(filePath, contents);\n }\n })\n );\n })\n );\n }\n\n /**\n * when using project-references, typescript adds a file \"tsconfig.tsbuildinfo\" which is not\n * needed for the package.\n */\n private async writeNpmIgnore(dirs: string[]) {\n const NPM_IGNORE_FILE = '.npmignore';\n await Promise.all(\n dirs.map(async (dir) => {\n const npmIgnorePath = path.join(dir, NPM_IGNORE_FILE);\n const npmIgnoreEntriesStr = `\\n${this.distDir}/tsconfig.tsbuildinfo\\n`;\n await fs.appendFile(npmIgnorePath, npmIgnoreEntriesStr);\n })\n );\n }\n\n private async writeProjectReferencesTsConfig(rootDir: string, projects: string[]) {\n const files = [];\n const references = projects.map((project) => ({ path: project }));\n const tsconfig = { files, references };\n const tsconfigStr = this.stringifyTsconfig(tsconfig);\n await fs.writeFile(path.join(rootDir, 'tsconfig.json'), tsconfigStr);\n }\n\n private async writeTsConfig(dirs: string[]) {\n const tsconfigStr = this.stringifyTsconfig(this.options.tsconfig);\n await Promise.all(dirs.map((dir) => fs.writeFile(path.join(dir, 'tsconfig.json'), tsconfigStr)));\n }\n\n private stringifyTsconfig(tsconfig) {\n return JSON.stringify(tsconfig, undefined, 2);\n }\n\n private replaceFileExtToJs(filePath: string): string {\n if (!this.isFileSupported(filePath)) return filePath;\n const fileExtension = path.extname(filePath);\n return filePath.replace(new RegExp(`${fileExtension}$`), '.js'); // makes sure it's the last occurrence\n }\n\n version() {\n return this.tsModule.version;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_bitError","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","TypescriptCompiler","constructor","id","logger","options","tsModule","distDir","distGlobPatterns","shouldCopyNonSupportedFiles","artifactName","tsconfig","compilerOptions","outDir","displayConfig","stringifyTsconfig","getDistDir","transpileFile","fileContent","isFileSupported","filePath","compilerOptionsFromTsconfig","convertCompilerOptionsFromJson","errors","formattedErrors","formatDiagnosticsWithColorAndContext","getFormatDiagnosticsHost","Error","sourceRoot","componentDir","rootDir","result","transpileModule","fileName","reportDiagnostics","diagnostics","formatHost","error","outputPath","replaceFileExtToJs","outputFiles","outputText","sourceMapText","preBuild","context","capsules","capsuleNetwork","seedersCapsules","capsuleDirs","map","capsule","path","writeTsConfig","writeTypes","writeNpmIgnore","build","componentsResults","runTscBuild","artifacts","getArtifactDefinition","generatedBy","name","globPatterns","getDistPathBySrcPath","srcPath","fileWithJSExtIfNeeded","join","isJsAndCompile","compileJs","endsWith","isJsxAndCompile","compileJsx","network","capsulesRootDir","getCapsulesToCompile","getAllCapsuleDirs","getCanonicalFileName","p","getCurrentDirectory","getNewLine","sys","newLine","currentComponentResult","reportDiagnostic","diagnostic","errorStr","process","stdout","isTTY","formatDiagnostic","file","BitError","consoleFailure","component","reportSolutionBuilderStatus","diag","msg","messageText","debug","errorCounter","errorCount","info","host","createSolutionBuilderHost","undefined","writeProjectReferencesTsConfig","solutionBuilder","createSolutionBuilder","verbose","nextProject","longProcessLogger","createLongProcessLogger","getNextInvalidatedProject","capsulePath","project","replace","currentComponentId","getIdByPathInCapsule","logProgress","toString","getCapsule","startTime","Date","now","done","endTime","end","dirs","Promise","all","types","typePath","contents","fs","readFile","filename","basename","dir","pathExists","outputFile","NPM_IGNORE_FILE","npmIgnorePath","npmIgnoreEntriesStr","appendFile","projects","files","references","tsconfigStr","writeFile","JSON","stringify","fileExtension","extname","RegExp","version","exports"],"sources":["typescript.compiler.ts"],"sourcesContent":["import { BuildContext, BuiltTaskResult, ComponentResult } from '@teambit/builder';\nimport { Compiler, TranspileFileParams, TranspileFileOutput } from '@teambit/compiler';\nimport { Network } from '@teambit/isolator';\nimport { Logger } from '@teambit/logger';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport ts from 'typescript';\nimport { BitError } from '@teambit/bit-error';\nimport { TypeScriptCompilerOptions } from './compiler-options';\n\nexport class TypescriptCompiler implements Compiler {\n distDir: string;\n distGlobPatterns: string[];\n shouldCopyNonSupportedFiles: boolean;\n artifactName: string;\n constructor(\n readonly id: string,\n private logger: Logger,\n private options: TypeScriptCompilerOptions,\n private tsModule: typeof ts\n ) {\n this.distDir = options.distDir || 'dist';\n this.distGlobPatterns = options.distGlobPatterns || [`${this.distDir}/**`, `!${this.distDir}/tsconfig.tsbuildinfo`];\n this.shouldCopyNonSupportedFiles =\n typeof options.shouldCopyNonSupportedFiles === 'boolean' ? options.shouldCopyNonSupportedFiles : true;\n this.artifactName = options.artifactName || 'dist';\n this.options.tsconfig ||= {};\n this.options.tsconfig.compilerOptions ||= {};\n // mutate the outDir, otherwise, on capsules, the dists might be written to a different directory and make confusion\n this.options.tsconfig.compilerOptions.outDir = this.distDir;\n }\n\n displayName = 'TypeScript';\n deleteDistDir = false;\n\n displayConfig() {\n return this.stringifyTsconfig(this.options.tsconfig);\n }\n\n getDistDir() {\n return this.distDir;\n }\n\n /**\n * compile one file on the workspace\n */\n transpileFile(fileContent: string, options: TranspileFileParams): TranspileFileOutput {\n if (!this.isFileSupported(options.filePath)) {\n return null; // file is not supported\n }\n const compilerOptionsFromTsconfig = this.tsModule.convertCompilerOptionsFromJson(\n this.options.tsconfig.compilerOptions,\n '.'\n );\n if (compilerOptionsFromTsconfig.errors.length) {\n // :TODO @david replace to a more concrete error type and put in 'exceptions' directory here.\n const formattedErrors = this.tsModule.formatDiagnosticsWithColorAndContext(\n compilerOptionsFromTsconfig.errors,\n this.getFormatDiagnosticsHost()\n );\n throw new Error(`failed parsing the tsconfig.json.\\n${formattedErrors}`);\n }\n\n const compilerOptions = compilerOptionsFromTsconfig.options;\n compilerOptions.sourceRoot = options.componentDir;\n compilerOptions.rootDir = '.';\n const result = this.tsModule.transpileModule(fileContent, {\n compilerOptions,\n fileName: options.filePath,\n reportDiagnostics: true,\n });\n\n if (result.diagnostics && result.diagnostics.length) {\n const formatHost = this.getFormatDiagnosticsHost();\n const error = this.tsModule.formatDiagnosticsWithColorAndContext(result.diagnostics, formatHost);\n\n // :TODO @david please replace to a more concrete error type and put in 'exceptions' directory here.\n throw new Error(error);\n }\n\n const outputPath = this.replaceFileExtToJs(options.filePath);\n const outputFiles = [{ outputText: result.outputText, outputPath }];\n if (result.sourceMapText) {\n outputFiles.push({\n outputText: result.sourceMapText,\n outputPath: `${outputPath}.map`,\n });\n }\n return outputFiles;\n }\n\n async preBuild(context: BuildContext) {\n const capsules = context.capsuleNetwork.seedersCapsules;\n const capsuleDirs = capsules.map((capsule) => capsule.path);\n await this.writeTsConfig(capsuleDirs);\n await this.writeTypes(capsuleDirs);\n await this.writeNpmIgnore(capsuleDirs);\n }\n\n /**\n * compile multiple components on the capsules\n */\n async build(context: BuildContext): Promise<BuiltTaskResult> {\n const componentsResults = await this.runTscBuild(context.capsuleNetwork);\n\n return {\n artifacts: this.getArtifactDefinition(),\n componentsResults,\n };\n }\n\n getArtifactDefinition() {\n return [\n {\n generatedBy: this.id,\n name: this.artifactName,\n globPatterns: this.distGlobPatterns,\n },\n ];\n }\n\n /**\n * given a source file, return its parallel in the dists. e.g. index.ts => dist/index.js\n */\n getDistPathBySrcPath(srcPath: string) {\n const fileWithJSExtIfNeeded = this.replaceFileExtToJs(srcPath);\n return path.join(this.distDir, fileWithJSExtIfNeeded);\n }\n\n /**\n * whether typescript is able to compile the given path\n */\n isFileSupported(filePath: string): boolean {\n const isJsAndCompile = !!this.options.compileJs && filePath.endsWith('.js');\n const isJsxAndCompile = !!this.options.compileJsx && filePath.endsWith('.jsx');\n return (\n (filePath.endsWith('.ts') || filePath.endsWith('.tsx') || isJsAndCompile || isJsxAndCompile) &&\n !filePath.endsWith('.d.ts')\n );\n }\n\n /**\n * we have two options here:\n * 1. pass all capsules-dir at the second parameter of createSolutionBuilder and then no\n * need to write the main tsconfig.json with all the references.\n * 2. write main tsconfig.json and pass the capsules root-dir.\n * we went with option #2 because it'll be easier for users to go to the capsule-root and run\n * `tsc --build` to debug issues.\n */\n private async runTscBuild(network: Network): Promise<ComponentResult[]> {\n const rootDir = network.capsulesRootDir;\n const capsules = await network.getCapsulesToCompile();\n if (!capsules.length) {\n return [];\n }\n const capsuleDirs = capsules.getAllCapsuleDirs();\n const formatHost = {\n getCanonicalFileName: (p) => p,\n getCurrentDirectory: () => '', // it helps to get the files with absolute paths\n getNewLine: () => this.tsModule.sys.newLine,\n };\n const componentsResults: ComponentResult[] = [];\n let currentComponentResult: Partial<ComponentResult> = { errors: [] };\n const reportDiagnostic = (diagnostic: ts.Diagnostic) => {\n const errorStr = process.stdout.isTTY\n ? this.tsModule.formatDiagnosticsWithColorAndContext([diagnostic], formatHost)\n : this.tsModule.formatDiagnostic(diagnostic, formatHost);\n if (!diagnostic.file) {\n // the error is general and not related to a specific file. e.g. tsconfig is missing.\n throw new BitError(errorStr);\n }\n this.logger.consoleFailure(errorStr);\n if (!currentComponentResult.component || !currentComponentResult.errors) {\n throw new Error(`currentComponentResult is not defined yet for ${diagnostic.file}`);\n }\n currentComponentResult.errors.push(errorStr);\n };\n // this only works when `verbose` is `true` in the `ts.createSolutionBuilder` function.\n const reportSolutionBuilderStatus = (diag: ts.Diagnostic) => {\n const msg = diag.messageText as string;\n this.logger.debug(msg);\n };\n const errorCounter = (errorCount: number) => {\n this.logger.info(`total error found: ${errorCount}`);\n };\n const host = this.tsModule.createSolutionBuilderHost(\n undefined,\n undefined,\n reportDiagnostic,\n reportSolutionBuilderStatus,\n errorCounter\n );\n await this.writeProjectReferencesTsConfig(rootDir, capsuleDirs);\n const solutionBuilder = this.tsModule.createSolutionBuilder(host, [rootDir], { verbose: true });\n let nextProject;\n const longProcessLogger = this.logger.createLongProcessLogger('compile typescript components', capsules.length);\n // eslint-disable-next-line no-cond-assign\n while ((nextProject = solutionBuilder.getNextInvalidatedProject())) {\n // regex to make sure it will work correctly for both linux and windows\n // it replaces both /tsconfig.json and \\tsocnfig.json\n const capsulePath = nextProject.project.replace(/[/\\\\]tsconfig.json/, '');\n const currentComponentId = capsules.getIdByPathInCapsule(capsulePath);\n if (!currentComponentId) throw new Error(`unable to find component for ${capsulePath}`);\n longProcessLogger.logProgress(currentComponentId.toString());\n const capsule = capsules.getCapsule(currentComponentId);\n if (!capsule) throw new Error(`unable to find capsule for ${currentComponentId.toString()}`);\n currentComponentResult.component = capsule.component;\n currentComponentResult.startTime = Date.now();\n nextProject.done();\n currentComponentResult.endTime = Date.now();\n componentsResults.push({ ...currentComponentResult } as ComponentResult);\n currentComponentResult = { errors: [] };\n }\n longProcessLogger.end();\n\n return componentsResults;\n }\n\n private getFormatDiagnosticsHost(): ts.FormatDiagnosticsHost {\n return {\n getCanonicalFileName: (p) => p,\n getCurrentDirectory: this.tsModule.sys.getCurrentDirectory,\n getNewLine: () => this.tsModule.sys.newLine,\n };\n }\n\n private async writeTypes(dirs: string[]) {\n await Promise.all(\n this.options.types.map(async (typePath) => {\n const contents = await fs.readFile(typePath, 'utf8');\n const filename = path.basename(typePath);\n\n await Promise.all(\n dirs.map(async (dir) => {\n const filePath = path.join(dir, 'types', filename);\n if (!(await fs.pathExists(filePath))) {\n await fs.outputFile(filePath, contents);\n }\n })\n );\n })\n );\n }\n\n /**\n * when using project-references, typescript adds a file \"tsconfig.tsbuildinfo\" which is not\n * needed for the package.\n */\n private async writeNpmIgnore(dirs: string[]) {\n const NPM_IGNORE_FILE = '.npmignore';\n await Promise.all(\n dirs.map(async (dir) => {\n const npmIgnorePath = path.join(dir, NPM_IGNORE_FILE);\n const npmIgnoreEntriesStr = `\\n${this.distDir}/tsconfig.tsbuildinfo\\n`;\n await fs.appendFile(npmIgnorePath, npmIgnoreEntriesStr);\n })\n );\n }\n\n private async writeProjectReferencesTsConfig(rootDir: string, projects: string[]) {\n const files = [];\n const references = projects.map((project) => ({ path: project }));\n const tsconfig = { files, references };\n const tsconfigStr = this.stringifyTsconfig(tsconfig);\n await fs.writeFile(path.join(rootDir, 'tsconfig.json'), tsconfigStr);\n }\n\n private async writeTsConfig(dirs: string[]) {\n const tsconfigStr = this.stringifyTsconfig(this.options.tsconfig);\n await Promise.all(dirs.map((dir) => fs.writeFile(path.join(dir, 'tsconfig.json'), tsconfigStr)));\n }\n\n private stringifyTsconfig(tsconfig) {\n return JSON.stringify(tsconfig, undefined, 2);\n }\n\n private replaceFileExtToJs(filePath: string): string {\n if (!this.isFileSupported(filePath)) return filePath;\n const fileExtension = path.extname(filePath);\n return filePath.replace(new RegExp(`${fileExtension}$`), '.js'); // makes sure it's the last occurrence\n }\n\n version() {\n return this.tsModule.version;\n }\n}\n"],"mappings":"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"}
@@ -46,8 +46,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
46
46
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
47
47
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
48
48
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
49
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
50
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
49
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
50
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
51
51
  const defaultOpts = {
52
52
  tsconfig: {},
53
53
  types: []
@@ -1 +1 @@
1
- {"version":3,"names":["_logger","data","require","_typescript","_interopRequireDefault","_chai","_path","_typescript2","_typescript3","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","defaultOpts","tsconfig","types","describe","it","tsCompiler","getTsCompiler","expect","getDistPathBySrcPath","to","equal","path","join","isFileSupported","be","true","false","compileJsx","compileJs","opts","finalOpts","assign","TypescriptCompiler","TypescriptAspect","id","Logger","ts"],"sources":["typescript.compiler.spec.ts"],"sourcesContent":["import { Logger } from '@teambit/logger';\nimport ts from 'typescript';\nimport { expect } from 'chai';\nimport path from 'path';\nimport { TypescriptAspect } from './typescript.aspect';\n\nimport { TypescriptCompiler } from './typescript.compiler';\nimport type { TsCompilerOptionsWithoutTsConfig } from './compiler-options';\n\nconst defaultOpts = {\n tsconfig: {},\n types: [],\n};\n\ndescribe('TypescriptCompiler', () => {\n describe('getDistPathBySrcPath', () => {\n it('should replace the extension with .js and prepend the dist dir', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.getDistPathBySrcPath('index.ts')).to.equal(path.join('dist', 'index.js'));\n expect(tsCompiler.getDistPathBySrcPath('index.tsx')).to.equal(path.join('dist', 'index.js'));\n });\n it('should not replace the extension if the file is not supported', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.getDistPathBySrcPath('style.css')).to.equal(path.join('dist', 'style.css'));\n expect(tsCompiler.getDistPathBySrcPath('index.d.ts')).to.equal(path.join('dist', 'index.d.ts'));\n });\n });\n describe('isFileSupported', () => {\n it('should support .ts files', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.isFileSupported('index.ts')).to.be.true;\n });\n it('should support .tsx files', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.isFileSupported('index.tsx')).to.be.true;\n });\n it('should not support .jsx files by default', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.isFileSupported('index.jsx')).to.be.false;\n });\n it('should not support .js files by default', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.isFileSupported('index.js')).to.be.false;\n });\n it('should support .jsx files when passing compileJsx', () => {\n const tsCompiler = getTsCompiler({ compileJsx: true, ...defaultOpts });\n expect(tsCompiler.isFileSupported('index.jsx')).to.be.true;\n });\n it('should support .js files when passing compileJs', () => {\n const tsCompiler = getTsCompiler({ compileJs: true, ...defaultOpts });\n expect(tsCompiler.isFileSupported('index.js')).to.be.true;\n });\n it('should not support .d.ts files', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.isFileSupported('index.d.ts')).to.be.false;\n });\n });\n});\n\nfunction getTsCompiler(opts: TsCompilerOptionsWithoutTsConfig = defaultOpts) {\n const finalOpts = Object.assign({}, defaultOpts, opts);\n return new TypescriptCompiler(TypescriptAspect.id, new Logger('test'), finalOpts, ts);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_logger","data","require","_typescript","_interopRequireDefault","_chai","_path","_typescript2","_typescript3","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","defaultOpts","tsconfig","types","describe","it","tsCompiler","getTsCompiler","expect","getDistPathBySrcPath","to","equal","path","join","isFileSupported","be","true","false","compileJsx","compileJs","opts","finalOpts","assign","TypescriptCompiler","TypescriptAspect","id","Logger","ts"],"sources":["typescript.compiler.spec.ts"],"sourcesContent":["import { Logger } from '@teambit/logger';\nimport ts from 'typescript';\nimport { expect } from 'chai';\nimport path from 'path';\nimport { TypescriptAspect } from './typescript.aspect';\n\nimport { TypescriptCompiler } from './typescript.compiler';\nimport type { TsCompilerOptionsWithoutTsConfig } from './compiler-options';\n\nconst defaultOpts = {\n tsconfig: {},\n types: [],\n};\n\ndescribe('TypescriptCompiler', () => {\n describe('getDistPathBySrcPath', () => {\n it('should replace the extension with .js and prepend the dist dir', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.getDistPathBySrcPath('index.ts')).to.equal(path.join('dist', 'index.js'));\n expect(tsCompiler.getDistPathBySrcPath('index.tsx')).to.equal(path.join('dist', 'index.js'));\n });\n it('should not replace the extension if the file is not supported', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.getDistPathBySrcPath('style.css')).to.equal(path.join('dist', 'style.css'));\n expect(tsCompiler.getDistPathBySrcPath('index.d.ts')).to.equal(path.join('dist', 'index.d.ts'));\n });\n });\n describe('isFileSupported', () => {\n it('should support .ts files', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.isFileSupported('index.ts')).to.be.true;\n });\n it('should support .tsx files', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.isFileSupported('index.tsx')).to.be.true;\n });\n it('should not support .jsx files by default', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.isFileSupported('index.jsx')).to.be.false;\n });\n it('should not support .js files by default', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.isFileSupported('index.js')).to.be.false;\n });\n it('should support .jsx files when passing compileJsx', () => {\n const tsCompiler = getTsCompiler({ compileJsx: true, ...defaultOpts });\n expect(tsCompiler.isFileSupported('index.jsx')).to.be.true;\n });\n it('should support .js files when passing compileJs', () => {\n const tsCompiler = getTsCompiler({ compileJs: true, ...defaultOpts });\n expect(tsCompiler.isFileSupported('index.js')).to.be.true;\n });\n it('should not support .d.ts files', () => {\n const tsCompiler = getTsCompiler();\n expect(tsCompiler.isFileSupported('index.d.ts')).to.be.false;\n });\n });\n});\n\nfunction getTsCompiler(opts: TsCompilerOptionsWithoutTsConfig = defaultOpts) {\n const finalOpts = Object.assign({}, defaultOpts, opts);\n return new TypescriptCompiler(TypescriptAspect.id, new Logger('test'), finalOpts, ts);\n}\n"],"mappings":"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"}
@@ -78,8 +78,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
78
78
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
79
79
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
80
80
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
81
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
82
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
81
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
82
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
83
83
  class TypeScriptExtractor {
84
84
  constructor(tsconfig, schemaTransformerSlot, apiTransformerSlot, tsMain, rootTsserverPath, rootContextPath, depResolver, workspace, scope, aspectLoader, logger) {
85
85
  this.tsconfig = tsconfig;
@@ -1 +1 @@
1
- {"version":3,"names":["_typescript","data","_interopRequireWildcard","require","_getTsconfig2","_semanticsEntities","_aspectLoader","_pMapSeries","_interopRequireDefault","_lodash","_exceptions","_schemaExtractorContext","_identifierList","_typescript2","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","TypeScriptExtractor","constructor","tsconfig","schemaTransformerSlot","apiTransformerSlot","tsMain","rootTsserverPath","rootContextPath","depResolver","workspace","scope","aspectLoader","logger","parseSourceFile","file","sourceFile","ts","createSourceFile","path","contents","toString","ScriptTarget","Latest","extract","component","options","tsserverPath","contextPath","tsserver","getTsServer","mainFile","compatibleExts","internalFiles","filesystem","files","filter","includes","extname","allFiles","context","createContext","formatter","pMapSeries","ast","identifiers","computeIdentifiers","cacheKey","getIdentifierKeyForNode","setIdentifiers","IdentifierList","mainAst","moduleSchema","computeSchema","flatExportsRecursively","apiScheme","internals","computeInternalModules","location","getLocation","APISchema","id","compact","Promise","all","internalIdentifiers","entries","map","filePath","find","internalFile","fileAst","dispose","killTsServer","node","transformer","getTransformer","getIdentifiers","debug","TransformerNotFound","_this$workspace","componentDeps","getComponentDeps","SchemaExtractorContext","deps","getDependencies","getComponentDependencies","getTsserverClient","initTsserverClient","UnImplementedSchema","getText","SyntaxKind","kind","schemaNode","transform","transformAPI","schema","apiTransformer","getAPITransformer","getComponentIDByPath","coreAspectIds","getCoreAspectIds","matchingCoreAspect","c","getCoreAspectPackageName","resolveComponentId","getComponentIdByPath","transformers","flatten","values","singleTransformer","predicate","from","_getTsconfig","_tsMain$workspace","getTsconfig","config","compilerOptions","getAspect","TypescriptAspect","aspectLoaderMain","AspectLoaderAspect","rootPath","createLogger","name","exports"],"sources":["typescript.extractor.ts"],"sourcesContent":["import ts, { Node, SourceFile, SyntaxKind } from 'typescript';\nimport { getTsconfig } from 'get-tsconfig';\nimport { SchemaExtractor, SchemaExtractorOptions } from '@teambit/schema';\nimport { TsserverClient } from '@teambit/ts-server';\nimport type { Workspace } from '@teambit/workspace';\nimport { ComponentDependency, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { SchemaNode, APISchema, ModuleSchema, UnImplementedSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { Component } from '@teambit/component';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { EnvContext } from '@teambit/envs';\nimport { Formatter } from '@teambit/formatter';\nimport { Logger } from '@teambit/logger';\nimport AspectLoaderAspect, { AspectLoaderMain, getCoreAspectPackageName } from '@teambit/aspect-loader';\nimport { ScopeMain } from '@teambit/scope';\nimport pMapSeries from 'p-map-series';\nimport { compact, flatten } from 'lodash';\nimport { TypescriptMain, SchemaTransformerSlot, APITransformerSlot } from './typescript.main.runtime';\nimport { TransformerNotFound } from './exceptions';\nimport { SchemaExtractorContext } from './schema-extractor-context';\nimport { Identifier } from './identifier';\nimport { IdentifierList } from './identifier-list';\nimport { ExtractorOptions } from './extractor-options';\nimport { TypescriptAspect } from './typescript.aspect';\n\nexport class TypeScriptExtractor implements SchemaExtractor {\n constructor(\n private tsconfig: any,\n private schemaTransformerSlot: SchemaTransformerSlot,\n private apiTransformerSlot: APITransformerSlot,\n private tsMain: TypescriptMain,\n private rootTsserverPath: string,\n private rootContextPath: string,\n private depResolver: DependencyResolverMain,\n private workspace: Workspace | undefined,\n private scope: ScopeMain,\n private aspectLoader: AspectLoaderMain,\n private logger: Logger\n ) {}\n\n parseSourceFile(file: AbstractVinyl): SourceFile {\n const sourceFile = ts.createSourceFile(\n file.path,\n file.contents.toString('utf8'),\n ts.ScriptTarget.Latest,\n true\n /** don't pass the scriptKind, it'll be determined automatically by typescript by the filepath */\n );\n // leave this commented out, it's helpful when there are issues with ASTs. consider throwing in this case.\n // console.log(\"sourceFile Errors\", file.path, sourceFile.parseDiagnostics);\n return sourceFile;\n }\n\n /**\n * extract a component schema.\n */\n async extract(component: Component, options: SchemaExtractorOptions = {}): Promise<APISchema> {\n // override the rootTsserverPath and rootContextPath if passed via options\n if (options.tsserverPath) {\n this.rootTsserverPath = options.tsserverPath;\n }\n if (options.contextPath) {\n this.rootContextPath = options.contextPath;\n }\n const tsserver = await this.getTsServer();\n const mainFile = component.mainFile;\n const compatibleExts = ['.tsx', '.ts'];\n const internalFiles = component.filesystem.files.filter(\n (file) => compatibleExts.includes(file.extname) && file.path !== mainFile.path\n );\n const allFiles = [mainFile, ...internalFiles];\n\n const context = await this.createContext(tsserver, component, options.formatter);\n\n await pMapSeries(allFiles, async (file) => {\n const ast = this.parseSourceFile(file);\n const identifiers = await this.computeIdentifiers(ast, context); // compute for every file\n const cacheKey = context.getIdentifierKeyForNode(ast);\n context.setIdentifiers(cacheKey, new IdentifierList(identifiers));\n });\n\n const mainAst = this.parseSourceFile(mainFile);\n const moduleSchema = (await this.computeSchema(mainAst, context)) as ModuleSchema;\n moduleSchema.flatExportsRecursively();\n const apiScheme = moduleSchema;\n const internals = await this.computeInternalModules(context, internalFiles);\n\n const location = context.getLocation(mainAst);\n\n return new APISchema(location, apiScheme, internals, component.id as any);\n }\n\n async computeInternalModules(context: SchemaExtractorContext, internalFiles: AbstractVinyl[]) {\n const internals = compact(\n await Promise.all(\n [...context.internalIdentifiers.entries()].map(async ([filePath]) => {\n const file = internalFiles.find((internalFile) => internalFile.path === filePath);\n if (!file) return undefined;\n const fileAst = this.parseSourceFile(file);\n const moduleSchema = (await this.computeSchema(fileAst, context)) as ModuleSchema;\n moduleSchema.flatExportsRecursively();\n return moduleSchema;\n })\n )\n );\n return internals;\n }\n\n dispose() {\n if (!this.tsserver) return;\n this.tsserver.killTsServer();\n }\n\n async computeIdentifiers(node: Node, context: SchemaExtractorContext) {\n const transformer = this.getTransformer(node, context);\n let identifiers: Identifier[] = [];\n if (!transformer || !transformer.getIdentifiers) {\n this.logger.debug(new TransformerNotFound(node, context.component, context.getLocation(node)).toString());\n } else {\n identifiers = await transformer.getIdentifiers(node, context);\n }\n return identifiers;\n }\n\n private async createContext(\n tsserver: TsserverClient,\n component: Component,\n formatter?: Formatter\n ): Promise<SchemaExtractorContext> {\n const componentDeps = await this.getComponentDeps(component);\n return new SchemaExtractorContext(\n tsserver,\n component,\n this,\n componentDeps,\n this.rootContextPath,\n this.workspace?.path || this.scope.path,\n formatter\n );\n }\n\n private async getComponentDeps(component: Component): Promise<ComponentDependency[]> {\n const deps = await this.depResolver.getDependencies(component);\n const componentDeps = deps.getComponentDependencies();\n return componentDeps;\n }\n\n private tsserver: TsserverClient | undefined = undefined;\n\n private async getTsServer() {\n if (!this.tsserver) {\n const tsserver = this.tsMain.getTsserverClient();\n if (tsserver) {\n this.tsserver = tsserver;\n return tsserver;\n }\n\n this.tsserver = await this.tsMain.initTsserverClient(this.rootTsserverPath);\n return this.tsserver;\n }\n\n return this.tsserver;\n }\n\n async computeSchema(node: Node, context: SchemaExtractorContext): Promise<SchemaNode> {\n const transformer = this.getTransformer(node, context);\n\n if (!transformer) {\n return new UnImplementedSchema(context.getLocation(node), node.getText(), SyntaxKind[node.kind]);\n }\n\n const schemaNode = await transformer.transform(node, context);\n\n return this.transformAPI(schemaNode, context);\n }\n\n async transformAPI(schema: SchemaNode, context: SchemaExtractorContext): Promise<SchemaNode> {\n const apiTransformer = this.getAPITransformer(schema);\n return apiTransformer ? apiTransformer.transform(schema, context) : schema;\n }\n\n async getComponentIDByPath(file: string) {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n const matchingCoreAspect = coreAspectIds.find((c) => file === getCoreAspectPackageName(c));\n\n if (matchingCoreAspect) {\n return (this.workspace || this.scope).resolveComponentId(matchingCoreAspect);\n }\n\n if (this.workspace) {\n return this.workspace.getComponentIdByPath(file);\n }\n return null;\n }\n\n /**\n * select the correct transformer for a node.\n */\n getTransformer(node: Node, context: SchemaExtractorContext) {\n const transformers = flatten(this.schemaTransformerSlot.values());\n const transformer = transformers.find((singleTransformer) => {\n return singleTransformer.predicate(node);\n });\n if (!transformer) {\n this.logger.debug(new TransformerNotFound(node, context.component, context.getLocation(node)).toString());\n return undefined;\n }\n\n return transformer;\n }\n\n getAPITransformer(node: SchemaNode) {\n const transformers = flatten(this.apiTransformerSlot.values());\n const transformer = transformers.find((singleTransformer) => {\n return singleTransformer.predicate(node);\n });\n if (!transformer) {\n return undefined;\n }\n\n return transformer;\n }\n\n static from(options: ExtractorOptions) {\n return (context: EnvContext) => {\n const tsconfig = getTsconfig(options.tsconfig)?.config || { compilerOptions: options.compilerOptions };\n const tsMain = context.getAspect<TypescriptMain>(TypescriptAspect.id);\n const aspectLoaderMain = context.getAspect<AspectLoaderMain>(AspectLoaderAspect.id);\n\n // When loading the env from a scope you don't have a workspace\n const rootPath = tsMain.workspace?.path || tsMain.scope.path || '';\n\n return new TypeScriptExtractor(\n tsconfig,\n tsMain.schemaTransformerSlot,\n tsMain.apiTransformerSlot,\n tsMain,\n rootPath,\n rootPath,\n tsMain.depResolver,\n tsMain.workspace,\n tsMain.scope,\n aspectLoaderMain,\n context.createLogger(options.name)\n );\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_typescript","data","_interopRequireWildcard","require","_getTsconfig2","_semanticsEntities","_aspectLoader","_pMapSeries","_interopRequireDefault","_lodash","_exceptions","_schemaExtractorContext","_identifierList","_typescript2","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","TypeScriptExtractor","constructor","tsconfig","schemaTransformerSlot","apiTransformerSlot","tsMain","rootTsserverPath","rootContextPath","depResolver","workspace","scope","aspectLoader","logger","undefined","parseSourceFile","file","sourceFile","ts","createSourceFile","path","contents","toString","ScriptTarget","Latest","extract","component","options","tsserverPath","contextPath","tsserver","getTsServer","mainFile","compatibleExts","internalFiles","filesystem","files","filter","includes","extname","allFiles","context","createContext","formatter","pMapSeries","ast","identifiers","computeIdentifiers","cacheKey","getIdentifierKeyForNode","setIdentifiers","IdentifierList","mainAst","moduleSchema","computeSchema","flatExportsRecursively","apiScheme","internals","computeInternalModules","location","getLocation","APISchema","id","compact","Promise","all","internalIdentifiers","entries","map","filePath","find","internalFile","fileAst","dispose","killTsServer","node","transformer","getTransformer","getIdentifiers","debug","TransformerNotFound","_this$workspace","componentDeps","getComponentDeps","SchemaExtractorContext","deps","getDependencies","getComponentDependencies","getTsserverClient","initTsserverClient","UnImplementedSchema","getText","SyntaxKind","kind","schemaNode","transform","transformAPI","schema","apiTransformer","getAPITransformer","getComponentIDByPath","coreAspectIds","getCoreAspectIds","matchingCoreAspect","c","getCoreAspectPackageName","resolveComponentId","getComponentIdByPath","transformers","flatten","values","singleTransformer","predicate","from","_getTsconfig","_tsMain$workspace","getTsconfig","config","compilerOptions","getAspect","TypescriptAspect","aspectLoaderMain","AspectLoaderAspect","rootPath","createLogger","name","exports"],"sources":["typescript.extractor.ts"],"sourcesContent":["import ts, { Node, SourceFile, SyntaxKind } from 'typescript';\nimport { getTsconfig } from 'get-tsconfig';\nimport { SchemaExtractor, SchemaExtractorOptions } from '@teambit/schema';\nimport { TsserverClient } from '@teambit/ts-server';\nimport type { Workspace } from '@teambit/workspace';\nimport { ComponentDependency, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { SchemaNode, APISchema, ModuleSchema, UnImplementedSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { Component } from '@teambit/component';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { EnvContext } from '@teambit/envs';\nimport { Formatter } from '@teambit/formatter';\nimport { Logger } from '@teambit/logger';\nimport AspectLoaderAspect, { AspectLoaderMain, getCoreAspectPackageName } from '@teambit/aspect-loader';\nimport { ScopeMain } from '@teambit/scope';\nimport pMapSeries from 'p-map-series';\nimport { compact, flatten } from 'lodash';\nimport { TypescriptMain, SchemaTransformerSlot, APITransformerSlot } from './typescript.main.runtime';\nimport { TransformerNotFound } from './exceptions';\nimport { SchemaExtractorContext } from './schema-extractor-context';\nimport { Identifier } from './identifier';\nimport { IdentifierList } from './identifier-list';\nimport { ExtractorOptions } from './extractor-options';\nimport { TypescriptAspect } from './typescript.aspect';\n\nexport class TypeScriptExtractor implements SchemaExtractor {\n constructor(\n private tsconfig: any,\n private schemaTransformerSlot: SchemaTransformerSlot,\n private apiTransformerSlot: APITransformerSlot,\n private tsMain: TypescriptMain,\n private rootTsserverPath: string,\n private rootContextPath: string,\n private depResolver: DependencyResolverMain,\n private workspace: Workspace | undefined,\n private scope: ScopeMain,\n private aspectLoader: AspectLoaderMain,\n private logger: Logger\n ) {}\n\n parseSourceFile(file: AbstractVinyl): SourceFile {\n const sourceFile = ts.createSourceFile(\n file.path,\n file.contents.toString('utf8'),\n ts.ScriptTarget.Latest,\n true\n /** don't pass the scriptKind, it'll be determined automatically by typescript by the filepath */\n );\n // leave this commented out, it's helpful when there are issues with ASTs. consider throwing in this case.\n // console.log(\"sourceFile Errors\", file.path, sourceFile.parseDiagnostics);\n return sourceFile;\n }\n\n /**\n * extract a component schema.\n */\n async extract(component: Component, options: SchemaExtractorOptions = {}): Promise<APISchema> {\n // override the rootTsserverPath and rootContextPath if passed via options\n if (options.tsserverPath) {\n this.rootTsserverPath = options.tsserverPath;\n }\n if (options.contextPath) {\n this.rootContextPath = options.contextPath;\n }\n const tsserver = await this.getTsServer();\n const mainFile = component.mainFile;\n const compatibleExts = ['.tsx', '.ts'];\n const internalFiles = component.filesystem.files.filter(\n (file) => compatibleExts.includes(file.extname) && file.path !== mainFile.path\n );\n const allFiles = [mainFile, ...internalFiles];\n\n const context = await this.createContext(tsserver, component, options.formatter);\n\n await pMapSeries(allFiles, async (file) => {\n const ast = this.parseSourceFile(file);\n const identifiers = await this.computeIdentifiers(ast, context); // compute for every file\n const cacheKey = context.getIdentifierKeyForNode(ast);\n context.setIdentifiers(cacheKey, new IdentifierList(identifiers));\n });\n\n const mainAst = this.parseSourceFile(mainFile);\n const moduleSchema = (await this.computeSchema(mainAst, context)) as ModuleSchema;\n moduleSchema.flatExportsRecursively();\n const apiScheme = moduleSchema;\n const internals = await this.computeInternalModules(context, internalFiles);\n\n const location = context.getLocation(mainAst);\n\n return new APISchema(location, apiScheme, internals, component.id as any);\n }\n\n async computeInternalModules(context: SchemaExtractorContext, internalFiles: AbstractVinyl[]) {\n const internals = compact(\n await Promise.all(\n [...context.internalIdentifiers.entries()].map(async ([filePath]) => {\n const file = internalFiles.find((internalFile) => internalFile.path === filePath);\n if (!file) return undefined;\n const fileAst = this.parseSourceFile(file);\n const moduleSchema = (await this.computeSchema(fileAst, context)) as ModuleSchema;\n moduleSchema.flatExportsRecursively();\n return moduleSchema;\n })\n )\n );\n return internals;\n }\n\n dispose() {\n if (!this.tsserver) return;\n this.tsserver.killTsServer();\n }\n\n async computeIdentifiers(node: Node, context: SchemaExtractorContext) {\n const transformer = this.getTransformer(node, context);\n let identifiers: Identifier[] = [];\n if (!transformer || !transformer.getIdentifiers) {\n this.logger.debug(new TransformerNotFound(node, context.component, context.getLocation(node)).toString());\n } else {\n identifiers = await transformer.getIdentifiers(node, context);\n }\n return identifiers;\n }\n\n private async createContext(\n tsserver: TsserverClient,\n component: Component,\n formatter?: Formatter\n ): Promise<SchemaExtractorContext> {\n const componentDeps = await this.getComponentDeps(component);\n return new SchemaExtractorContext(\n tsserver,\n component,\n this,\n componentDeps,\n this.rootContextPath,\n this.workspace?.path || this.scope.path,\n formatter\n );\n }\n\n private async getComponentDeps(component: Component): Promise<ComponentDependency[]> {\n const deps = await this.depResolver.getDependencies(component);\n const componentDeps = deps.getComponentDependencies();\n return componentDeps;\n }\n\n private tsserver: TsserverClient | undefined = undefined;\n\n private async getTsServer() {\n if (!this.tsserver) {\n const tsserver = this.tsMain.getTsserverClient();\n if (tsserver) {\n this.tsserver = tsserver;\n return tsserver;\n }\n\n this.tsserver = await this.tsMain.initTsserverClient(this.rootTsserverPath);\n return this.tsserver;\n }\n\n return this.tsserver;\n }\n\n async computeSchema(node: Node, context: SchemaExtractorContext): Promise<SchemaNode> {\n const transformer = this.getTransformer(node, context);\n\n if (!transformer) {\n return new UnImplementedSchema(context.getLocation(node), node.getText(), SyntaxKind[node.kind]);\n }\n\n const schemaNode = await transformer.transform(node, context);\n\n return this.transformAPI(schemaNode, context);\n }\n\n async transformAPI(schema: SchemaNode, context: SchemaExtractorContext): Promise<SchemaNode> {\n const apiTransformer = this.getAPITransformer(schema);\n return apiTransformer ? apiTransformer.transform(schema, context) : schema;\n }\n\n async getComponentIDByPath(file: string) {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n const matchingCoreAspect = coreAspectIds.find((c) => file === getCoreAspectPackageName(c));\n\n if (matchingCoreAspect) {\n return (this.workspace || this.scope).resolveComponentId(matchingCoreAspect);\n }\n\n if (this.workspace) {\n return this.workspace.getComponentIdByPath(file);\n }\n return null;\n }\n\n /**\n * select the correct transformer for a node.\n */\n getTransformer(node: Node, context: SchemaExtractorContext) {\n const transformers = flatten(this.schemaTransformerSlot.values());\n const transformer = transformers.find((singleTransformer) => {\n return singleTransformer.predicate(node);\n });\n if (!transformer) {\n this.logger.debug(new TransformerNotFound(node, context.component, context.getLocation(node)).toString());\n return undefined;\n }\n\n return transformer;\n }\n\n getAPITransformer(node: SchemaNode) {\n const transformers = flatten(this.apiTransformerSlot.values());\n const transformer = transformers.find((singleTransformer) => {\n return singleTransformer.predicate(node);\n });\n if (!transformer) {\n return undefined;\n }\n\n return transformer;\n }\n\n static from(options: ExtractorOptions) {\n return (context: EnvContext) => {\n const tsconfig = getTsconfig(options.tsconfig)?.config || { compilerOptions: options.compilerOptions };\n const tsMain = context.getAspect<TypescriptMain>(TypescriptAspect.id);\n const aspectLoaderMain = context.getAspect<AspectLoaderMain>(AspectLoaderAspect.id);\n\n // When loading the env from a scope you don't have a workspace\n const rootPath = tsMain.workspace?.path || tsMain.scope.path || '';\n\n return new TypeScriptExtractor(\n tsconfig,\n tsMain.schemaTransformerSlot,\n tsMain.apiTransformerSlot,\n tsMain,\n rootPath,\n rootPath,\n tsMain.depResolver,\n tsMain.workspace,\n tsMain.scope,\n aspectLoaderMain,\n context.createLogger(options.name)\n );\n };\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,uBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,cAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,aAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAI,mBAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,kBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAMA,SAAAK,cAAA;EAAA,MAAAL,IAAA,GAAAC,uBAAA,CAAAC,OAAA;EAAAG,aAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,YAAA;EAAA,MAAAN,IAAA,GAAAO,sBAAA,CAAAL,OAAA;EAAAI,WAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,QAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,OAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAS,YAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,WAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,wBAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,uBAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAW,gBAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,eAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAY,aAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,YAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuD,SAAAO,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAhB,wBAAAgB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAAA,SAAAY,gBAAAtB,GAAA,EAAAuB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAvB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAuB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAE,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAA5B,GAAA,CAAAuB,GAAA,IAAAC,KAAA,WAAAxB,GAAA;AAAA,SAAAyB,eAAAlB,CAAA,QAAAa,CAAA,GAAAS,YAAA,CAAAtB,CAAA,uCAAAa,CAAA,GAAAA,CAAA,GAAAU,MAAA,CAAAV,CAAA;AAAA,SAAAS,aAAAtB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA5B,CAAA,QAAAgB,CAAA,GAAAhB,CAAA,CAAAe,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAc,CAAA,SAAAA,CAAA,YAAAa,SAAA,yEAAA3B,CAAA,GAAAwB,MAAA,GAAAI,MAAA,EAAA3B,CAAA;AAEhD,MAAM4B,mBAAmB,CAA4B;EAC1DC,WAAWA,CACDC,QAAa,EACbC,qBAA4C,EAC5CC,kBAAsC,EACtCC,MAAsB,EACtBC,gBAAwB,EACxBC,eAAuB,EACvBC,WAAmC,EACnCC,SAAgC,EAChCC,KAAgB,EAChBC,YAA8B,EAC9BC,MAAc,EACtB;IAAA,KAXQV,QAAa,GAAbA,QAAa;IAAA,KACbC,qBAA4C,GAA5CA,qBAA4C;IAAA,KAC5CC,kBAAsC,GAAtCA,kBAAsC;IAAA,KACtCC,MAAsB,GAAtBA,MAAsB;IAAA,KACtBC,gBAAwB,GAAxBA,gBAAwB;IAAA,KACxBC,eAAuB,GAAvBA,eAAuB;IAAA,KACvBC,WAAmC,GAAnCA,WAAmC;IAAA,KACnCC,SAAgC,GAAhCA,SAAgC;IAAA,KAChCC,KAAgB,GAAhBA,KAAgB;IAAA,KAChBC,YAA8B,GAA9BA,YAA8B;IAAA,KAC9BC,MAAc,GAAdA,MAAc;IAAAzB,eAAA,mBA8GuB0B,SAAS;EA7GrD;EAEHC,eAAeA,CAACC,IAAmB,EAAc;IAC/C,MAAMC,UAAU,GAAGC,qBAAE,CAACC,gBAAgB,CACpCH,IAAI,CAACI,IAAI,EACTJ,IAAI,CAACK,QAAQ,CAACC,QAAQ,CAAC,MAAM,CAAC,EAC9BJ,qBAAE,CAACK,YAAY,CAACC,MAAM,EACtB;IACA,iGACF,CAAC;IACD;IACA;IACA,OAAOP,UAAU;EACnB;;EAEA;AACF;AACA;EACE,MAAMQ,OAAOA,CAACC,SAAoB,EAAEC,OAA+B,GAAG,CAAC,CAAC,EAAsB;IAC5F;IACA,IAAIA,OAAO,CAACC,YAAY,EAAE;MACxB,IAAI,CAACrB,gBAAgB,GAAGoB,OAAO,CAACC,YAAY;IAC9C;IACA,IAAID,OAAO,CAACE,WAAW,EAAE;MACvB,IAAI,CAACrB,eAAe,GAAGmB,OAAO,CAACE,WAAW;IAC5C;IACA,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACC,WAAW,CAAC,CAAC;IACzC,MAAMC,QAAQ,GAAGN,SAAS,CAACM,QAAQ;IACnC,MAAMC,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;IACtC,MAAMC,aAAa,GAAGR,SAAS,CAACS,UAAU,CAACC,KAAK,CAACC,MAAM,CACpDrB,IAAI,IAAKiB,cAAc,CAACK,QAAQ,CAACtB,IAAI,CAACuB,OAAO,CAAC,IAAIvB,IAAI,CAACI,IAAI,KAAKY,QAAQ,CAACZ,IAC5E,CAAC;IACD,MAAMoB,QAAQ,GAAG,CAACR,QAAQ,EAAE,GAAGE,aAAa,CAAC;IAE7C,MAAMO,OAAO,GAAG,MAAM,IAAI,CAACC,aAAa,CAACZ,QAAQ,EAAEJ,SAAS,EAAEC,OAAO,CAACgB,SAAS,CAAC;IAEhF,MAAM,IAAAC,qBAAU,EAACJ,QAAQ,EAAE,MAAOxB,IAAI,IAAK;MACzC,MAAM6B,GAAG,GAAG,IAAI,CAAC9B,eAAe,CAACC,IAAI,CAAC;MACtC,MAAM8B,WAAW,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAACF,GAAG,EAAEJ,OAAO,CAAC,CAAC,CAAC;MACjE,MAAMO,QAAQ,GAAGP,OAAO,CAACQ,uBAAuB,CAACJ,GAAG,CAAC;MACrDJ,OAAO,CAACS,cAAc,CAACF,QAAQ,EAAE,KAAIG,gCAAc,EAACL,WAAW,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,MAAMM,OAAO,GAAG,IAAI,CAACrC,eAAe,CAACiB,QAAQ,CAAC;IAC9C,MAAMqB,YAAY,GAAI,MAAM,IAAI,CAACC,aAAa,CAACF,OAAO,EAAEX,OAAO,CAAkB;IACjFY,YAAY,CAACE,sBAAsB,CAAC,CAAC;IACrC,MAAMC,SAAS,GAAGH,YAAY;IAC9B,MAAMI,SAAS,GAAG,MAAM,IAAI,CAACC,sBAAsB,CAACjB,OAAO,EAAEP,aAAa,CAAC;IAE3E,MAAMyB,QAAQ,GAAGlB,OAAO,CAACmB,WAAW,CAACR,OAAO,CAAC;IAE7C,OAAO,KAAIS,8BAAS,EAACF,QAAQ,EAAEH,SAAS,EAAEC,SAAS,EAAE/B,SAAS,CAACoC,EAAS,CAAC;EAC3E;EAEA,MAAMJ,sBAAsBA,CAACjB,OAA+B,EAAEP,aAA8B,EAAE;IAC5F,MAAMuB,SAAS,GAAG,IAAAM,iBAAO,EACvB,MAAMC,OAAO,CAACC,GAAG,CACf,CAAC,GAAGxB,OAAO,CAACyB,mBAAmB,CAACC,OAAO,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,OAAO,CAACC,QAAQ,CAAC,KAAK;MACnE,MAAMrD,IAAI,GAAGkB,aAAa,CAACoC,IAAI,CAAEC,YAAY,IAAKA,YAAY,CAACnD,IAAI,KAAKiD,QAAQ,CAAC;MACjF,IAAI,CAACrD,IAAI,EAAE,OAAOF,SAAS;MAC3B,MAAM0D,OAAO,GAAG,IAAI,CAACzD,eAAe,CAACC,IAAI,CAAC;MAC1C,MAAMqC,YAAY,GAAI,MAAM,IAAI,CAACC,aAAa,CAACkB,OAAO,EAAE/B,OAAO,CAAkB;MACjFY,YAAY,CAACE,sBAAsB,CAAC,CAAC;MACrC,OAAOF,YAAY;IACrB,CAAC,CACH,CACF,CAAC;IACD,OAAOI,SAAS;EAClB;EAEAgB,OAAOA,CAAA,EAAG;IACR,IAAI,CAAC,IAAI,CAAC3C,QAAQ,EAAE;IACpB,IAAI,CAACA,QAAQ,CAAC4C,YAAY,CAAC,CAAC;EAC9B;EAEA,MAAM3B,kBAAkBA,CAAC4B,IAAU,EAAElC,OAA+B,EAAE;IACpE,MAAMmC,WAAW,GAAG,IAAI,CAACC,cAAc,CAACF,IAAI,EAAElC,OAAO,CAAC;IACtD,IAAIK,WAAyB,GAAG,EAAE;IAClC,IAAI,CAAC8B,WAAW,IAAI,CAACA,WAAW,CAACE,cAAc,EAAE;MAC/C,IAAI,CAACjE,MAAM,CAACkE,KAAK,CAAC,KAAIC,iCAAmB,EAACL,IAAI,EAAElC,OAAO,CAACf,SAAS,EAAEe,OAAO,CAACmB,WAAW,CAACe,IAAI,CAAC,CAAC,CAACrD,QAAQ,CAAC,CAAC,CAAC;IAC3G,CAAC,MAAM;MACLwB,WAAW,GAAG,MAAM8B,WAAW,CAACE,cAAc,CAACH,IAAI,EAAElC,OAAO,CAAC;IAC/D;IACA,OAAOK,WAAW;EACpB;EAEA,MAAcJ,aAAaA,CACzBZ,QAAwB,EACxBJ,SAAoB,EACpBiB,SAAqB,EACY;IAAA,IAAAsC,eAAA;IACjC,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACC,gBAAgB,CAACzD,SAAS,CAAC;IAC5D,OAAO,KAAI0D,gDAAsB,EAC/BtD,QAAQ,EACRJ,SAAS,EACT,IAAI,EACJwD,aAAa,EACb,IAAI,CAAC1E,eAAe,EACpB,EAAAyE,eAAA,OAAI,CAACvE,SAAS,cAAAuE,eAAA,uBAAdA,eAAA,CAAgB7D,IAAI,KAAI,IAAI,CAACT,KAAK,CAACS,IAAI,EACvCuB,SACF,CAAC;EACH;EAEA,MAAcwC,gBAAgBA,CAACzD,SAAoB,EAAkC;IACnF,MAAM2D,IAAI,GAAG,MAAM,IAAI,CAAC5E,WAAW,CAAC6E,eAAe,CAAC5D,SAAS,CAAC;IAC9D,MAAMwD,aAAa,GAAGG,IAAI,CAACE,wBAAwB,CAAC,CAAC;IACrD,OAAOL,aAAa;EACtB;EAIA,MAAcnD,WAAWA,CAAA,EAAG;IAC1B,IAAI,CAAC,IAAI,CAACD,QAAQ,EAAE;MAClB,MAAMA,QAAQ,GAAG,IAAI,CAACxB,MAAM,CAACkF,iBAAiB,CAAC,CAAC;MAChD,IAAI1D,QAAQ,EAAE;QACZ,IAAI,CAACA,QAAQ,GAAGA,QAAQ;QACxB,OAAOA,QAAQ;MACjB;MAEA,IAAI,CAACA,QAAQ,GAAG,MAAM,IAAI,CAACxB,MAAM,CAACmF,kBAAkB,CAAC,IAAI,CAAClF,gBAAgB,CAAC;MAC3E,OAAO,IAAI,CAACuB,QAAQ;IACtB;IAEA,OAAO,IAAI,CAACA,QAAQ;EACtB;EAEA,MAAMwB,aAAaA,CAACqB,IAAU,EAAElC,OAA+B,EAAuB;IACpF,MAAMmC,WAAW,GAAG,IAAI,CAACC,cAAc,CAACF,IAAI,EAAElC,OAAO,CAAC;IAEtD,IAAI,CAACmC,WAAW,EAAE;MAChB,OAAO,KAAIc,wCAAmB,EAACjD,OAAO,CAACmB,WAAW,CAACe,IAAI,CAAC,EAAEA,IAAI,CAACgB,OAAO,CAAC,CAAC,EAAEC,wBAAU,CAACjB,IAAI,CAACkB,IAAI,CAAC,CAAC;IAClG;IAEA,MAAMC,UAAU,GAAG,MAAMlB,WAAW,CAACmB,SAAS,CAACpB,IAAI,EAAElC,OAAO,CAAC;IAE7D,OAAO,IAAI,CAACuD,YAAY,CAACF,UAAU,EAAErD,OAAO,CAAC;EAC/C;EAEA,MAAMuD,YAAYA,CAACC,MAAkB,EAAExD,OAA+B,EAAuB;IAC3F,MAAMyD,cAAc,GAAG,IAAI,CAACC,iBAAiB,CAACF,MAAM,CAAC;IACrD,OAAOC,cAAc,GAAGA,cAAc,CAACH,SAAS,CAACE,MAAM,EAAExD,OAAO,CAAC,GAAGwD,MAAM;EAC5E;EAEA,MAAMG,oBAAoBA,CAACpF,IAAY,EAAE;IACvC,MAAMqF,aAAa,GAAG,IAAI,CAACzF,YAAY,CAAC0F,gBAAgB,CAAC,CAAC;IAC1D,MAAMC,kBAAkB,GAAGF,aAAa,CAAC/B,IAAI,CAAEkC,CAAC,IAAKxF,IAAI,KAAK,IAAAyF,wCAAwB,EAACD,CAAC,CAAC,CAAC;IAE1F,IAAID,kBAAkB,EAAE;MACtB,OAAO,CAAC,IAAI,CAAC7F,SAAS,IAAI,IAAI,CAACC,KAAK,EAAE+F,kBAAkB,CAACH,kBAAkB,CAAC;IAC9E;IAEA,IAAI,IAAI,CAAC7F,SAAS,EAAE;MAClB,OAAO,IAAI,CAACA,SAAS,CAACiG,oBAAoB,CAAC3F,IAAI,CAAC;IAClD;IACA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACE6D,cAAcA,CAACF,IAAU,EAAElC,OAA+B,EAAE;IAC1D,MAAMmE,YAAY,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACzG,qBAAqB,CAAC0G,MAAM,CAAC,CAAC,CAAC;IACjE,MAAMlC,WAAW,GAAGgC,YAAY,CAACtC,IAAI,CAAEyC,iBAAiB,IAAK;MAC3D,OAAOA,iBAAiB,CAACC,SAAS,CAACrC,IAAI,CAAC;IAC1C,CAAC,CAAC;IACF,IAAI,CAACC,WAAW,EAAE;MAChB,IAAI,CAAC/D,MAAM,CAACkE,KAAK,CAAC,KAAIC,iCAAmB,EAACL,IAAI,EAAElC,OAAO,CAACf,SAAS,EAAEe,OAAO,CAACmB,WAAW,CAACe,IAAI,CAAC,CAAC,CAACrD,QAAQ,CAAC,CAAC,CAAC;MACzG,OAAOR,SAAS;IAClB;IAEA,OAAO8D,WAAW;EACpB;EAEAuB,iBAAiBA,CAACxB,IAAgB,EAAE;IAClC,MAAMiC,YAAY,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACxG,kBAAkB,CAACyG,MAAM,CAAC,CAAC,CAAC;IAC9D,MAAMlC,WAAW,GAAGgC,YAAY,CAACtC,IAAI,CAAEyC,iBAAiB,IAAK;MAC3D,OAAOA,iBAAiB,CAACC,SAAS,CAACrC,IAAI,CAAC;IAC1C,CAAC,CAAC;IACF,IAAI,CAACC,WAAW,EAAE;MAChB,OAAO9D,SAAS;IAClB;IAEA,OAAO8D,WAAW;EACpB;EAEA,OAAOqC,IAAIA,CAACtF,OAAyB,EAAE;IACrC,OAAQc,OAAmB,IAAK;MAAA,IAAAyE,YAAA,EAAAC,iBAAA;MAC9B,MAAMhH,QAAQ,GAAG,EAAA+G,YAAA,OAAAE,2BAAW,EAACzF,OAAO,CAACxB,QAAQ,CAAC,cAAA+G,YAAA,uBAA7BA,YAAA,CAA+BG,MAAM,KAAI;QAAEC,eAAe,EAAE3F,OAAO,CAAC2F;MAAgB,CAAC;MACtG,MAAMhH,MAAM,GAAGmC,OAAO,CAAC8E,SAAS,CAAiBC,+BAAgB,CAAC1D,EAAE,CAAC;MACrE,MAAM2D,gBAAgB,GAAGhF,OAAO,CAAC8E,SAAS,CAAmBG,uBAAkB,CAAC5D,EAAE,CAAC;;MAEnF;MACA,MAAM6D,QAAQ,GAAG,EAAAR,iBAAA,GAAA7G,MAAM,CAACI,SAAS,cAAAyG,iBAAA,uBAAhBA,iBAAA,CAAkB/F,IAAI,KAAId,MAAM,CAACK,KAAK,CAACS,IAAI,IAAI,EAAE;MAElE,OAAO,IAAInB,mBAAmB,CAC5BE,QAAQ,EACRG,MAAM,CAACF,qBAAqB,EAC5BE,MAAM,CAACD,kBAAkB,EACzBC,MAAM,EACNqH,QAAQ,EACRA,QAAQ,EACRrH,MAAM,CAACG,WAAW,EAClBH,MAAM,CAACI,SAAS,EAChBJ,MAAM,CAACK,KAAK,EACZ8G,gBAAgB,EAChBhF,OAAO,CAACmF,YAAY,CAACjG,OAAO,CAACkG,IAAI,CACnC,CAAC;IACH,CAAC;EACH;AACF;AAACC,OAAA,CAAA7H,mBAAA,GAAAA,mBAAA"}
@@ -182,8 +182,8 @@ function _removeTypesTask() {
182
182
  }
183
183
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
184
184
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
185
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
186
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
185
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
186
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
187
187
  class TypescriptMain {
188
188
  constructor(logger, schemaTransformerSlot, apiTransformerSlot, workspace, scope, depResolver, envs, tsConfigWriter, aspectLoader) {
189
189
  this.logger = logger;