@teambit/typescript 1.0.425 → 1.0.426
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/__bit_junit.xml +11 -11
- package/artifacts/preview/teambit_typescript_typescript-preview.js +1 -1
- package/artifacts/schema.json +69 -69
- package/cmds/check-types.cmd.ts +5 -1
- package/dist/cmds/check-types.cmd.js.map +1 -1
- package/dist/exceptions/transformer-not-found.js.map +1 -1
- package/dist/{preview-1728184966899.js → preview-1728236174539.js} +2 -2
- package/dist/schema-extractor-context.js.map +1 -1
- package/dist/typescript.main.runtime.js.map +1 -1
- package/exceptions/transformer-not-found.ts +5 -1
- package/package.json +19 -19
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<testsuites tests="32" failures="0" errors="0" skipped="0">
|
|
3
|
-
<testsuite name="teambit.typescript/typescript@1.0.
|
|
4
|
-
<testcase classname="dist/transform-source-file.spec.js" name="should correctly transform source code with classNamesTransformer" time="0.
|
|
3
|
+
<testsuite name="teambit.typescript/typescript@1.0.426" tests="32" failures="0" errors="0" skipped="0">
|
|
4
|
+
<testcase classname="dist/transform-source-file.spec.js" name="should correctly transform source code with classNamesTransformer" time="0.007"/>
|
|
5
5
|
<testcase classname="dist/transform-source-file.spec.js" name="should correctly transform source code with functionNamesTransformer" time="0.003"/>
|
|
6
|
-
<testcase classname="dist/transform-source-file.spec.js" name="should correctly transform source code with importTransformer" time="0.
|
|
7
|
-
<testcase classname="dist/transform-source-file.spec.js" name="should correctly transform source code with interfaceNamesTransformer" time="0.
|
|
8
|
-
<testcase classname="dist/transform-source-file.spec.js" name="should correctly transform source code with typeAliasNamesTransformer" time="0.
|
|
6
|
+
<testcase classname="dist/transform-source-file.spec.js" name="should correctly transform source code with importTransformer" time="0.005"/>
|
|
7
|
+
<testcase classname="dist/transform-source-file.spec.js" name="should correctly transform source code with interfaceNamesTransformer" time="0.002"/>
|
|
8
|
+
<testcase classname="dist/transform-source-file.spec.js" name="should correctly transform source code with typeAliasNamesTransformer" time="0.001"/>
|
|
9
9
|
<testcase classname="dist/transform-source-file.spec.js" name="should correctly transform source code with variableNamesTransformer" time="0.002"/>
|
|
10
10
|
<testcase classname="dist/transform-source-file.spec.js" name="should correctly transform source code with classNamesTransformer" time="0.002"/>
|
|
11
11
|
<testcase classname="dist/transform-source-file.spec.js" name="should correctly transform source code with classNamesTransformer" time="0.002"/>
|
|
@@ -19,19 +19,19 @@
|
|
|
19
19
|
<testcase classname="dist/transform-source-file.spec.js" name="should return original source code if no transformations are applied" time="0.001"/>
|
|
20
20
|
<testcase classname="dist/transform-source-file.spec.js" name="should handle multiple transformers" time="0.001"/>
|
|
21
21
|
<testcase classname="dist/typescript.parser.spec.js" name="should parse arrowFunctions" time="0.002"/>
|
|
22
|
-
<testcase classname="dist/typescript.parser.spec.js" name="should parse function exports"
|
|
23
|
-
<testcase classname="dist/typescript.parser.spec.js" name="should parse classes"/>
|
|
24
|
-
<testcase classname="dist/typescript.parser.spec.js" name="should parse declarations"
|
|
25
|
-
<testcase classname="dist/typescript.parser.spec.js" name="should parse renamed declarations"/>
|
|
22
|
+
<testcase classname="dist/typescript.parser.spec.js" name="should parse function exports"/>
|
|
23
|
+
<testcase classname="dist/typescript.parser.spec.js" name="should parse classes" time="0.001"/>
|
|
24
|
+
<testcase classname="dist/typescript.parser.spec.js" name="should parse declarations"/>
|
|
25
|
+
<testcase classname="dist/typescript.parser.spec.js" name="should parse renamed declarations" time="0.001"/>
|
|
26
26
|
<testcase classname="dist/typescript.parser.spec.js" name="should parse re-exports"/>
|
|
27
|
-
<testcase classname="dist/typescript.parser.spec.js" name="should parse re-exports with default"/>
|
|
27
|
+
<testcase classname="dist/typescript.parser.spec.js" name="should parse re-exports with default" time="0.001"/>
|
|
28
28
|
<testcase classname="dist/typescript.parser.spec.js" name="should parse renamed re-exports all"/>
|
|
29
29
|
<testcase classname="dist/typescript.parser.spec.js" name="should parse default exports" time="0.001"/>
|
|
30
30
|
<testcase classname="dist/typescript.parser.spec.js" name="should include staticProperties, when on arrowFunctions"/>
|
|
31
31
|
<testcase classname="dist/typescript.parser.spec.js" name="should include staticProperties, when on regular functions" time="0.001"/>
|
|
32
32
|
<testcase classname="dist/typescript.parser.spec.js" name="should include staticProperties, when on classes"/>
|
|
33
33
|
<testcase classname="dist/typescript.parser.spec.js" name="should parse all primitive values" time="0.002"/>
|
|
34
|
-
<testcase classname="dist/typescript.parser.spec.js" name="should skip non primitive values"/>
|
|
34
|
+
<testcase classname="dist/typescript.parser.spec.js" name="should skip non primitive values" time="0.001"/>
|
|
35
35
|
<testcase classname="dist/typescript.parser.spec.js" name="should skip non assignment statements" time="0.001"/>
|
|
36
36
|
</testsuite>
|
|
37
37
|
</testsuites>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.typescript/typescript-preview"]=t():e["teambit.typescript/typescript-preview"]=t()}(self,(()=>(()=>{"use strict";var e={66320:(e,t,n)=>{Object.defineProperty(t,"S",{enumerable:!0,get:function(){return o.default}});var o=r(n(55484));function r(e){return e&&e.__esModule?e:{default:e}}r.__bit_component={id:"teambit.typescript/aspect-docs/typescript@0.0.168",homepage:"https://bit.cloud/teambit/typescript/aspect-docs/typescript",exported:!0}},55484:(e,t,n)=>{var o={id:"teambit.typescript/aspect-docs/typescript@0.0.168",homepage:"https://bit.cloud/teambit/typescript/aspect-docs/typescript",exported:!0};Object.defineProperty(t,"__esModule",{value:!0}),t.default=m,p(n(41594));var r=n(5016),i=["components"];function p(e){return e&&e.__esModule?e:{default:e}}function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},s.apply(null,arguments)}function a(e,t){if(null==e)return{};var n,o,r=c(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function c(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.includes(o))continue;n[o]=e[o]}return n}p.__bit_component=o,s.__bit_component=o,a.__bit_component=o,c.__bit_component=o;var l={},d="wrapper";function m(e){var t=e.components,n=a(e,i);return(0,r.mdx)(d,s({},l,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"Typescript aspect implements the ",(0,r.mdx)("inlineCode",{parentName:"p"},"Compiler")," interface and provides the ability to transpile files on the workspace and build components in the isolated capsules."),(0,r.mdx)("h2",null,"Configuration - tsconfig.json"),(0,r.mdx)("p",null,"An env that uses typescript compiler can have two tsconfig.json files, one for the workspace and one for the build process."),(0,r.mdx)("p",null,"On the workspace, the following two configurations are overridden:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"compilerOptions.sourceRoot = <componentDir>;\ncompilerOptions.rootDir = '.';\n")),(0,r.mdx)("p",null,"The reason to override them is to make the source-map working on the workspace."),(0,r.mdx)("p",null,"As a reminder, the ",(0,r.mdx)("inlineCode",{parentName:"p"},"dists")," are written into the node_modules and not in the component-dir, without the configuration above, the source-map won't have the correct ",(0,r.mdx)("inlineCode",{parentName:"p"},"sourceRoot")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"sources")," values, and as a result, the debugger won't work."),(0,r.mdx)("p",null,"On the capsules, the following configurion is overridden:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"compilerOptions.outDir = <CompilerOptions.distDir>\n")),(0,r.mdx)("p",null,"This is done to avoid confusion when the distDir is ",(0,r.mdx)("inlineCode",{parentName:"p"},"x")," and ts-config outDir is ",(0,r.mdx)("inlineCode",{parentName:"p"},"y"),",\nin which case, the dists in the capsule are written into ",(0,r.mdx)("inlineCode",{parentName:"p"},"y"),", but other bit processes expect to find them in ",(0,r.mdx)("inlineCode",{parentName:"p"},"x"),"."),(0,r.mdx)("h1",null,"Override typescript configuration in a custom env:"),(0,r.mdx)("p",null,"When creating a new custom environment, use the following API to change the typescript compiler config."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"useTypescript(modifiers?: UseTypescriptModifiers, tsModule: any = ts)\n")),(0,r.mdx)("p",null,"The modifiers are:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"type UseTypescriptModifiers = {\n buildConfig?: TsConfigTransformer[];\n devConfig?: TsConfigTransformer[];\n};\n")),(0,r.mdx)("p",null,"As you can see, you can customize the configuration for both: the build process and for the compilation on the workspace."),(0,r.mdx)("p",null,"An example of a TsConfigTransformer used by ",(0,r.mdx)("inlineCode",{parentName:"p"},"teambit/aspect")," for the build process, which uses the typescript compiler only for generating the types:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"const tsconfig = require(\"./tsconfig.json\");\n\nconst transformer: TsConfigTransformer = (config: TypescriptConfigMutator) => {\n config\n .mergeTsConfig(tsconfig)\n .setArtifactName('declaration')\n .setDistGlobPatterns([`dist/**/*.d.ts`])\n .setShouldCopyNonSupportedFiles(false);\n return config;\n };\n")),(0,r.mdx)("p",null,"In the last example, a custom tsconfig.json was merged to the builtin tsconfig.json."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'{\n "compilerOptions": {\n ...\n "emitDeclarationOnly": true,\n ...\n },\n}\n')),(0,r.mdx)("p",null,"Some more props were changed as well to accomodate this env"))}m.__bit_component=o,m.isMDXComponent=!0},
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.typescript/typescript-preview"]=t():e["teambit.typescript/typescript-preview"]=t()}(self,(()=>(()=>{"use strict";var e={66320:(e,t,n)=>{Object.defineProperty(t,"S",{enumerable:!0,get:function(){return o.default}});var o=r(n(55484));function r(e){return e&&e.__esModule?e:{default:e}}r.__bit_component={id:"teambit.typescript/aspect-docs/typescript@0.0.168",homepage:"https://bit.cloud/teambit/typescript/aspect-docs/typescript",exported:!0}},55484:(e,t,n)=>{var o={id:"teambit.typescript/aspect-docs/typescript@0.0.168",homepage:"https://bit.cloud/teambit/typescript/aspect-docs/typescript",exported:!0};Object.defineProperty(t,"__esModule",{value:!0}),t.default=m,p(n(41594));var r=n(5016),i=["components"];function p(e){return e&&e.__esModule?e:{default:e}}function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},s.apply(null,arguments)}function a(e,t){if(null==e)return{};var n,o,r=c(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function c(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.includes(o))continue;n[o]=e[o]}return n}p.__bit_component=o,s.__bit_component=o,a.__bit_component=o,c.__bit_component=o;var l={},d="wrapper";function m(e){var t=e.components,n=a(e,i);return(0,r.mdx)(d,s({},l,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"Typescript aspect implements the ",(0,r.mdx)("inlineCode",{parentName:"p"},"Compiler")," interface and provides the ability to transpile files on the workspace and build components in the isolated capsules."),(0,r.mdx)("h2",null,"Configuration - tsconfig.json"),(0,r.mdx)("p",null,"An env that uses typescript compiler can have two tsconfig.json files, one for the workspace and one for the build process."),(0,r.mdx)("p",null,"On the workspace, the following two configurations are overridden:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"compilerOptions.sourceRoot = <componentDir>;\ncompilerOptions.rootDir = '.';\n")),(0,r.mdx)("p",null,"The reason to override them is to make the source-map working on the workspace."),(0,r.mdx)("p",null,"As a reminder, the ",(0,r.mdx)("inlineCode",{parentName:"p"},"dists")," are written into the node_modules and not in the component-dir, without the configuration above, the source-map won't have the correct ",(0,r.mdx)("inlineCode",{parentName:"p"},"sourceRoot")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"sources")," values, and as a result, the debugger won't work."),(0,r.mdx)("p",null,"On the capsules, the following configurion is overridden:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"compilerOptions.outDir = <CompilerOptions.distDir>\n")),(0,r.mdx)("p",null,"This is done to avoid confusion when the distDir is ",(0,r.mdx)("inlineCode",{parentName:"p"},"x")," and ts-config outDir is ",(0,r.mdx)("inlineCode",{parentName:"p"},"y"),",\nin which case, the dists in the capsule are written into ",(0,r.mdx)("inlineCode",{parentName:"p"},"y"),", but other bit processes expect to find them in ",(0,r.mdx)("inlineCode",{parentName:"p"},"x"),"."),(0,r.mdx)("h1",null,"Override typescript configuration in a custom env:"),(0,r.mdx)("p",null,"When creating a new custom environment, use the following API to change the typescript compiler config."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"useTypescript(modifiers?: UseTypescriptModifiers, tsModule: any = ts)\n")),(0,r.mdx)("p",null,"The modifiers are:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"type UseTypescriptModifiers = {\n buildConfig?: TsConfigTransformer[];\n devConfig?: TsConfigTransformer[];\n};\n")),(0,r.mdx)("p",null,"As you can see, you can customize the configuration for both: the build process and for the compilation on the workspace."),(0,r.mdx)("p",null,"An example of a TsConfigTransformer used by ",(0,r.mdx)("inlineCode",{parentName:"p"},"teambit/aspect")," for the build process, which uses the typescript compiler only for generating the types:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"const tsconfig = require(\"./tsconfig.json\");\n\nconst transformer: TsConfigTransformer = (config: TypescriptConfigMutator) => {\n config\n .mergeTsConfig(tsconfig)\n .setArtifactName('declaration')\n .setDistGlobPatterns([`dist/**/*.d.ts`])\n .setShouldCopyNonSupportedFiles(false);\n return config;\n };\n")),(0,r.mdx)("p",null,"In the last example, a custom tsconfig.json was merged to the builtin tsconfig.json."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'{\n "compilerOptions": {\n ...\n "emitDeclarationOnly": true,\n ...\n },\n}\n')),(0,r.mdx)("p",null,"Some more props were changed as well to accomodate this env"))}m.__bit_component=o,m.isMDXComponent=!0},12858:(e,t,n)=>{var o={id:"teambit.typescript/typescript@1.0.426",homepage:"https://bit.cloud/teambit/typescript/typescript",exported:!0};function r(){const e=i(n(41594));return r=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,r.__bit_component=o,i.__bit_component=o;const p=()=>r().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},r().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/brands/logo-typescript.svg"}));p.__bit_component=o,t.Logo=p},5016:e=>{e.exports=MdxJsReact},41594:e=>{e.exports=React}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};n.r(o),n.d(o,{compositions:()=>f,compositions_metadata:()=>h,overview:()=>y});var r={};n.r(r),n.d(r,{default:()=>u});var i=n(12858),p=(n(41594),n(5016));const s=TeambitMdxUiMdxScopeContext;var a=n(66320),c=["components"];function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},l.apply(null,arguments)}var d={},m="wrapper";function u(e){var t=e.components,n=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.includes(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,c);return(0,p.mdx)(m,l({},d,n,{components:t,mdxType:"MDXLayout"}),(0,p.mdx)(s.MDXScopeProvider,{components:{Typescript:a.S},mdxType:"MDXScopeProvider"},(0,p.mdx)(a.S,{mdxType:"Typescript"})))}u.isMDXComponent=!0;const f=[i],y=[r],h={compositions:[{displayName:"Logo",identifier:"Logo"}]};return o})()));
|
package/artifacts/schema.json
CHANGED
|
@@ -382,7 +382,7 @@
|
|
|
382
382
|
"componentId": {
|
|
383
383
|
"scope": "teambit.component",
|
|
384
384
|
"name": "sources",
|
|
385
|
-
"version": "0.0.
|
|
385
|
+
"version": "0.0.34"
|
|
386
386
|
}
|
|
387
387
|
},
|
|
388
388
|
"isOptional": false,
|
|
@@ -492,7 +492,7 @@
|
|
|
492
492
|
"componentId": {
|
|
493
493
|
"scope": "teambit.semantics",
|
|
494
494
|
"name": "entities/semantic-schema",
|
|
495
|
-
"version": "0.0.
|
|
495
|
+
"version": "0.0.73"
|
|
496
496
|
}
|
|
497
497
|
}
|
|
498
498
|
]
|
|
@@ -557,7 +557,7 @@
|
|
|
557
557
|
"componentId": {
|
|
558
558
|
"scope": "teambit.component",
|
|
559
559
|
"name": "sources",
|
|
560
|
-
"version": "0.0.
|
|
560
|
+
"version": "0.0.34"
|
|
561
561
|
}
|
|
562
562
|
}
|
|
563
563
|
},
|
|
@@ -736,7 +736,7 @@
|
|
|
736
736
|
"componentId": {
|
|
737
737
|
"scope": "teambit.semantics",
|
|
738
738
|
"name": "entities/semantic-schema",
|
|
739
|
-
"version": "0.0.
|
|
739
|
+
"version": "0.0.73"
|
|
740
740
|
}
|
|
741
741
|
}
|
|
742
742
|
]
|
|
@@ -774,7 +774,7 @@
|
|
|
774
774
|
"componentId": {
|
|
775
775
|
"scope": "teambit.semantics",
|
|
776
776
|
"name": "entities/semantic-schema",
|
|
777
|
-
"version": "0.0.
|
|
777
|
+
"version": "0.0.73"
|
|
778
778
|
}
|
|
779
779
|
},
|
|
780
780
|
"isOptional": false,
|
|
@@ -821,7 +821,7 @@
|
|
|
821
821
|
"componentId": {
|
|
822
822
|
"scope": "teambit.semantics",
|
|
823
823
|
"name": "entities/semantic-schema",
|
|
824
|
-
"version": "0.0.
|
|
824
|
+
"version": "0.0.73"
|
|
825
825
|
}
|
|
826
826
|
}
|
|
827
827
|
]
|
|
@@ -977,7 +977,7 @@
|
|
|
977
977
|
"componentId": {
|
|
978
978
|
"scope": "teambit.semantics",
|
|
979
979
|
"name": "entities/semantic-schema",
|
|
980
|
-
"version": "0.0.
|
|
980
|
+
"version": "0.0.73"
|
|
981
981
|
}
|
|
982
982
|
},
|
|
983
983
|
"isOptional": false,
|
|
@@ -1064,7 +1064,7 @@
|
|
|
1064
1064
|
"_legacy": {
|
|
1065
1065
|
"scope": "teambit.typescript",
|
|
1066
1066
|
"name": "typescript",
|
|
1067
|
-
"version": "1.0.
|
|
1067
|
+
"version": "1.0.426"
|
|
1068
1068
|
},
|
|
1069
1069
|
"_scope": "teambit.typescript"
|
|
1070
1070
|
}
|
|
@@ -1469,7 +1469,7 @@
|
|
|
1469
1469
|
"componentId": {
|
|
1470
1470
|
"scope": "teambit.typescript",
|
|
1471
1471
|
"name": "ts-server",
|
|
1472
|
-
"version": "0.0.
|
|
1472
|
+
"version": "0.0.58"
|
|
1473
1473
|
}
|
|
1474
1474
|
},
|
|
1475
1475
|
{
|
|
@@ -1689,7 +1689,7 @@
|
|
|
1689
1689
|
"componentId": {
|
|
1690
1690
|
"scope": "teambit.typescript",
|
|
1691
1691
|
"name": "ts-server",
|
|
1692
|
-
"version": "0.0.
|
|
1692
|
+
"version": "0.0.58"
|
|
1693
1693
|
}
|
|
1694
1694
|
},
|
|
1695
1695
|
"isOptional": true,
|
|
@@ -1746,7 +1746,7 @@
|
|
|
1746
1746
|
"componentId": {
|
|
1747
1747
|
"scope": "teambit.typescript",
|
|
1748
1748
|
"name": "ts-server",
|
|
1749
|
-
"version": "0.0.
|
|
1749
|
+
"version": "0.0.58"
|
|
1750
1750
|
}
|
|
1751
1751
|
}
|
|
1752
1752
|
]
|
|
@@ -1828,7 +1828,7 @@
|
|
|
1828
1828
|
"componentId": {
|
|
1829
1829
|
"scope": "teambit.typescript",
|
|
1830
1830
|
"name": "ts-server",
|
|
1831
|
-
"version": "0.0.
|
|
1831
|
+
"version": "0.0.58"
|
|
1832
1832
|
}
|
|
1833
1833
|
},
|
|
1834
1834
|
"isOptional": true,
|
|
@@ -1885,7 +1885,7 @@
|
|
|
1885
1885
|
"componentId": {
|
|
1886
1886
|
"scope": "teambit.typescript",
|
|
1887
1887
|
"name": "ts-server",
|
|
1888
|
-
"version": "0.0.
|
|
1888
|
+
"version": "0.0.58"
|
|
1889
1889
|
}
|
|
1890
1890
|
}
|
|
1891
1891
|
]
|
|
@@ -4416,7 +4416,7 @@
|
|
|
4416
4416
|
"componentId": {
|
|
4417
4417
|
"scope": "teambit.semantics",
|
|
4418
4418
|
"name": "entities/semantic-schema",
|
|
4419
|
-
"version": "0.0.
|
|
4419
|
+
"version": "0.0.73"
|
|
4420
4420
|
}
|
|
4421
4421
|
},
|
|
4422
4422
|
"isOptional": false,
|
|
@@ -4463,7 +4463,7 @@
|
|
|
4463
4463
|
"componentId": {
|
|
4464
4464
|
"scope": "teambit.semantics",
|
|
4465
4465
|
"name": "entities/semantic-schema",
|
|
4466
|
-
"version": "0.0.
|
|
4466
|
+
"version": "0.0.73"
|
|
4467
4467
|
}
|
|
4468
4468
|
},
|
|
4469
4469
|
"isOptional": false,
|
|
@@ -4518,7 +4518,7 @@
|
|
|
4518
4518
|
"componentId": {
|
|
4519
4519
|
"scope": "teambit.semantics",
|
|
4520
4520
|
"name": "entities/semantic-schema",
|
|
4521
|
-
"version": "0.0.
|
|
4521
|
+
"version": "0.0.73"
|
|
4522
4522
|
}
|
|
4523
4523
|
},
|
|
4524
4524
|
{
|
|
@@ -4786,7 +4786,7 @@
|
|
|
4786
4786
|
"componentId": {
|
|
4787
4787
|
"scope": "teambit.semantics",
|
|
4788
4788
|
"name": "entities/semantic-schema",
|
|
4789
|
-
"version": "0.0.
|
|
4789
|
+
"version": "0.0.73"
|
|
4790
4790
|
}
|
|
4791
4791
|
}
|
|
4792
4792
|
]
|
|
@@ -4959,7 +4959,7 @@
|
|
|
4959
4959
|
"componentId": {
|
|
4960
4960
|
"scope": "teambit.typescript",
|
|
4961
4961
|
"name": "ts-server",
|
|
4962
|
-
"version": "0.0.
|
|
4962
|
+
"version": "0.0.58"
|
|
4963
4963
|
}
|
|
4964
4964
|
},
|
|
4965
4965
|
"isOptional": false,
|
|
@@ -5146,7 +5146,7 @@
|
|
|
5146
5146
|
"componentId": {
|
|
5147
5147
|
"scope": "teambit.semantics",
|
|
5148
5148
|
"name": "entities/semantic-schema",
|
|
5149
|
-
"version": "0.0.
|
|
5149
|
+
"version": "0.0.73"
|
|
5150
5150
|
}
|
|
5151
5151
|
},
|
|
5152
5152
|
"isOptional": false,
|
|
@@ -5333,7 +5333,7 @@
|
|
|
5333
5333
|
"componentId": {
|
|
5334
5334
|
"scope": "teambit.semantics",
|
|
5335
5335
|
"name": "entities/semantic-schema",
|
|
5336
|
-
"version": "0.0.
|
|
5336
|
+
"version": "0.0.73"
|
|
5337
5337
|
}
|
|
5338
5338
|
},
|
|
5339
5339
|
"isOptional": false,
|
|
@@ -5571,7 +5571,7 @@
|
|
|
5571
5571
|
"componentId": {
|
|
5572
5572
|
"scope": "teambit.semantics",
|
|
5573
5573
|
"name": "entities/semantic-schema",
|
|
5574
|
-
"version": "0.0.
|
|
5574
|
+
"version": "0.0.73"
|
|
5575
5575
|
}
|
|
5576
5576
|
}
|
|
5577
5577
|
]
|
|
@@ -5609,7 +5609,7 @@
|
|
|
5609
5609
|
"componentId": {
|
|
5610
5610
|
"scope": "teambit.semantics",
|
|
5611
5611
|
"name": "entities/semantic-schema",
|
|
5612
|
-
"version": "0.0.
|
|
5612
|
+
"version": "0.0.73"
|
|
5613
5613
|
}
|
|
5614
5614
|
},
|
|
5615
5615
|
"isOptional": false,
|
|
@@ -5724,7 +5724,7 @@
|
|
|
5724
5724
|
"componentId": {
|
|
5725
5725
|
"scope": "teambit.semantics",
|
|
5726
5726
|
"name": "entities/semantic-schema",
|
|
5727
|
-
"version": "0.0.
|
|
5727
|
+
"version": "0.0.73"
|
|
5728
5728
|
}
|
|
5729
5729
|
},
|
|
5730
5730
|
"modifiers": []
|
|
@@ -6612,7 +6612,7 @@
|
|
|
6612
6612
|
"componentId": {
|
|
6613
6613
|
"scope": "teambit.semantics",
|
|
6614
6614
|
"name": "entities/semantic-schema",
|
|
6615
|
-
"version": "0.0.
|
|
6615
|
+
"version": "0.0.73"
|
|
6616
6616
|
}
|
|
6617
6617
|
},
|
|
6618
6618
|
{
|
|
@@ -6684,7 +6684,7 @@
|
|
|
6684
6684
|
"componentId": {
|
|
6685
6685
|
"scope": "teambit.semantics",
|
|
6686
6686
|
"name": "entities/semantic-schema",
|
|
6687
|
-
"version": "0.0.
|
|
6687
|
+
"version": "0.0.73"
|
|
6688
6688
|
}
|
|
6689
6689
|
}
|
|
6690
6690
|
]
|
|
@@ -7195,7 +7195,7 @@
|
|
|
7195
7195
|
"componentId": {
|
|
7196
7196
|
"scope": "teambit.semantics",
|
|
7197
7197
|
"name": "entities/semantic-schema",
|
|
7198
|
-
"version": "0.0.
|
|
7198
|
+
"version": "0.0.73"
|
|
7199
7199
|
}
|
|
7200
7200
|
}
|
|
7201
7201
|
]
|
|
@@ -7273,7 +7273,7 @@
|
|
|
7273
7273
|
"componentId": {
|
|
7274
7274
|
"scope": "teambit.semantics",
|
|
7275
7275
|
"name": "entities/semantic-schema",
|
|
7276
|
-
"version": "0.0.
|
|
7276
|
+
"version": "0.0.73"
|
|
7277
7277
|
}
|
|
7278
7278
|
},
|
|
7279
7279
|
"isOptional": false,
|
|
@@ -7308,7 +7308,7 @@
|
|
|
7308
7308
|
"componentId": {
|
|
7309
7309
|
"scope": "teambit.semantics",
|
|
7310
7310
|
"name": "entities/semantic-schema",
|
|
7311
|
-
"version": "0.0.
|
|
7311
|
+
"version": "0.0.73"
|
|
7312
7312
|
}
|
|
7313
7313
|
},
|
|
7314
7314
|
{
|
|
@@ -7378,7 +7378,7 @@
|
|
|
7378
7378
|
"componentId": {
|
|
7379
7379
|
"scope": "teambit.semantics",
|
|
7380
7380
|
"name": "entities/semantic-schema",
|
|
7381
|
-
"version": "0.0.
|
|
7381
|
+
"version": "0.0.73"
|
|
7382
7382
|
}
|
|
7383
7383
|
},
|
|
7384
7384
|
"isOptional": false,
|
|
@@ -7425,7 +7425,7 @@
|
|
|
7425
7425
|
"componentId": {
|
|
7426
7426
|
"scope": "teambit.semantics",
|
|
7427
7427
|
"name": "entities/semantic-schema",
|
|
7428
|
-
"version": "0.0.
|
|
7428
|
+
"version": "0.0.73"
|
|
7429
7429
|
}
|
|
7430
7430
|
}
|
|
7431
7431
|
]
|
|
@@ -7486,7 +7486,7 @@
|
|
|
7486
7486
|
"componentId": {
|
|
7487
7487
|
"scope": "teambit.semantics",
|
|
7488
7488
|
"name": "entities/semantic-schema",
|
|
7489
|
-
"version": "0.0.
|
|
7489
|
+
"version": "0.0.73"
|
|
7490
7490
|
}
|
|
7491
7491
|
}
|
|
7492
7492
|
]
|
|
@@ -7564,7 +7564,7 @@
|
|
|
7564
7564
|
"componentId": {
|
|
7565
7565
|
"scope": "teambit.semantics",
|
|
7566
7566
|
"name": "entities/semantic-schema",
|
|
7567
|
-
"version": "0.0.
|
|
7567
|
+
"version": "0.0.73"
|
|
7568
7568
|
}
|
|
7569
7569
|
},
|
|
7570
7570
|
"isOptional": false,
|
|
@@ -7591,7 +7591,7 @@
|
|
|
7591
7591
|
"componentId": {
|
|
7592
7592
|
"scope": "teambit.semantics",
|
|
7593
7593
|
"name": "entities/semantic-schema",
|
|
7594
|
-
"version": "0.0.
|
|
7594
|
+
"version": "0.0.73"
|
|
7595
7595
|
}
|
|
7596
7596
|
}
|
|
7597
7597
|
]
|
|
@@ -7660,7 +7660,7 @@
|
|
|
7660
7660
|
"componentId": {
|
|
7661
7661
|
"scope": "teambit.semantics",
|
|
7662
7662
|
"name": "entities/semantic-schema",
|
|
7663
|
-
"version": "0.0.
|
|
7663
|
+
"version": "0.0.73"
|
|
7664
7664
|
}
|
|
7665
7665
|
},
|
|
7666
7666
|
{
|
|
@@ -8033,7 +8033,7 @@
|
|
|
8033
8033
|
"componentId": {
|
|
8034
8034
|
"scope": "teambit.component",
|
|
8035
8035
|
"name": "sources",
|
|
8036
|
-
"version": "0.0.
|
|
8036
|
+
"version": "0.0.34"
|
|
8037
8037
|
}
|
|
8038
8038
|
},
|
|
8039
8039
|
"isOptional": false,
|
|
@@ -8143,7 +8143,7 @@
|
|
|
8143
8143
|
"componentId": {
|
|
8144
8144
|
"scope": "teambit.semantics",
|
|
8145
8145
|
"name": "entities/semantic-schema",
|
|
8146
|
-
"version": "0.0.
|
|
8146
|
+
"version": "0.0.73"
|
|
8147
8147
|
}
|
|
8148
8148
|
}
|
|
8149
8149
|
]
|
|
@@ -8208,7 +8208,7 @@
|
|
|
8208
8208
|
"componentId": {
|
|
8209
8209
|
"scope": "teambit.component",
|
|
8210
8210
|
"name": "sources",
|
|
8211
|
-
"version": "0.0.
|
|
8211
|
+
"version": "0.0.34"
|
|
8212
8212
|
}
|
|
8213
8213
|
}
|
|
8214
8214
|
},
|
|
@@ -8387,7 +8387,7 @@
|
|
|
8387
8387
|
"componentId": {
|
|
8388
8388
|
"scope": "teambit.semantics",
|
|
8389
8389
|
"name": "entities/semantic-schema",
|
|
8390
|
-
"version": "0.0.
|
|
8390
|
+
"version": "0.0.73"
|
|
8391
8391
|
}
|
|
8392
8392
|
}
|
|
8393
8393
|
]
|
|
@@ -8425,7 +8425,7 @@
|
|
|
8425
8425
|
"componentId": {
|
|
8426
8426
|
"scope": "teambit.semantics",
|
|
8427
8427
|
"name": "entities/semantic-schema",
|
|
8428
|
-
"version": "0.0.
|
|
8428
|
+
"version": "0.0.73"
|
|
8429
8429
|
}
|
|
8430
8430
|
},
|
|
8431
8431
|
"isOptional": false,
|
|
@@ -8472,7 +8472,7 @@
|
|
|
8472
8472
|
"componentId": {
|
|
8473
8473
|
"scope": "teambit.semantics",
|
|
8474
8474
|
"name": "entities/semantic-schema",
|
|
8475
|
-
"version": "0.0.
|
|
8475
|
+
"version": "0.0.73"
|
|
8476
8476
|
}
|
|
8477
8477
|
}
|
|
8478
8478
|
]
|
|
@@ -8628,7 +8628,7 @@
|
|
|
8628
8628
|
"componentId": {
|
|
8629
8629
|
"scope": "teambit.semantics",
|
|
8630
8630
|
"name": "entities/semantic-schema",
|
|
8631
|
-
"version": "0.0.
|
|
8631
|
+
"version": "0.0.73"
|
|
8632
8632
|
}
|
|
8633
8633
|
},
|
|
8634
8634
|
"isOptional": false,
|
|
@@ -8715,7 +8715,7 @@
|
|
|
8715
8715
|
"_legacy": {
|
|
8716
8716
|
"scope": "teambit.typescript",
|
|
8717
8717
|
"name": "typescript",
|
|
8718
|
-
"version": "1.0.
|
|
8718
|
+
"version": "1.0.426"
|
|
8719
8719
|
},
|
|
8720
8720
|
"_scope": "teambit.typescript"
|
|
8721
8721
|
}
|
|
@@ -9443,7 +9443,7 @@
|
|
|
9443
9443
|
"componentId": {
|
|
9444
9444
|
"scope": "teambit.typescript",
|
|
9445
9445
|
"name": "ts-server",
|
|
9446
|
-
"version": "0.0.
|
|
9446
|
+
"version": "0.0.58"
|
|
9447
9447
|
}
|
|
9448
9448
|
},
|
|
9449
9449
|
{
|
|
@@ -9663,7 +9663,7 @@
|
|
|
9663
9663
|
"componentId": {
|
|
9664
9664
|
"scope": "teambit.typescript",
|
|
9665
9665
|
"name": "ts-server",
|
|
9666
|
-
"version": "0.0.
|
|
9666
|
+
"version": "0.0.58"
|
|
9667
9667
|
}
|
|
9668
9668
|
},
|
|
9669
9669
|
"isOptional": true,
|
|
@@ -9720,7 +9720,7 @@
|
|
|
9720
9720
|
"componentId": {
|
|
9721
9721
|
"scope": "teambit.typescript",
|
|
9722
9722
|
"name": "ts-server",
|
|
9723
|
-
"version": "0.0.
|
|
9723
|
+
"version": "0.0.58"
|
|
9724
9724
|
}
|
|
9725
9725
|
}
|
|
9726
9726
|
]
|
|
@@ -9802,7 +9802,7 @@
|
|
|
9802
9802
|
"componentId": {
|
|
9803
9803
|
"scope": "teambit.typescript",
|
|
9804
9804
|
"name": "ts-server",
|
|
9805
|
-
"version": "0.0.
|
|
9805
|
+
"version": "0.0.58"
|
|
9806
9806
|
}
|
|
9807
9807
|
},
|
|
9808
9808
|
"isOptional": true,
|
|
@@ -9859,7 +9859,7 @@
|
|
|
9859
9859
|
"componentId": {
|
|
9860
9860
|
"scope": "teambit.typescript",
|
|
9861
9861
|
"name": "ts-server",
|
|
9862
|
-
"version": "0.0.
|
|
9862
|
+
"version": "0.0.58"
|
|
9863
9863
|
}
|
|
9864
9864
|
}
|
|
9865
9865
|
]
|
|
@@ -11997,7 +11997,7 @@
|
|
|
11997
11997
|
"componentId": {
|
|
11998
11998
|
"scope": "teambit.semantics",
|
|
11999
11999
|
"name": "entities/semantic-schema",
|
|
12000
|
-
"version": "0.0.
|
|
12000
|
+
"version": "0.0.73"
|
|
12001
12001
|
}
|
|
12002
12002
|
}
|
|
12003
12003
|
]
|
|
@@ -12053,7 +12053,7 @@
|
|
|
12053
12053
|
"componentId": {
|
|
12054
12054
|
"scope": "teambit.semantics",
|
|
12055
12055
|
"name": "entities/semantic-schema",
|
|
12056
|
-
"version": "0.0.
|
|
12056
|
+
"version": "0.0.73"
|
|
12057
12057
|
}
|
|
12058
12058
|
},
|
|
12059
12059
|
"isOptional": false,
|
|
@@ -12100,7 +12100,7 @@
|
|
|
12100
12100
|
"componentId": {
|
|
12101
12101
|
"scope": "teambit.semantics",
|
|
12102
12102
|
"name": "entities/semantic-schema",
|
|
12103
|
-
"version": "0.0.
|
|
12103
|
+
"version": "0.0.73"
|
|
12104
12104
|
}
|
|
12105
12105
|
},
|
|
12106
12106
|
"isOptional": false,
|
|
@@ -12155,7 +12155,7 @@
|
|
|
12155
12155
|
"componentId": {
|
|
12156
12156
|
"scope": "teambit.semantics",
|
|
12157
12157
|
"name": "entities/semantic-schema",
|
|
12158
|
-
"version": "0.0.
|
|
12158
|
+
"version": "0.0.73"
|
|
12159
12159
|
}
|
|
12160
12160
|
},
|
|
12161
12161
|
{
|
|
@@ -12340,7 +12340,7 @@
|
|
|
12340
12340
|
"componentId": {
|
|
12341
12341
|
"scope": "teambit.typescript",
|
|
12342
12342
|
"name": "ts-server",
|
|
12343
|
-
"version": "0.0.
|
|
12343
|
+
"version": "0.0.58"
|
|
12344
12344
|
}
|
|
12345
12345
|
},
|
|
12346
12346
|
"isOptional": false,
|
|
@@ -12527,7 +12527,7 @@
|
|
|
12527
12527
|
"componentId": {
|
|
12528
12528
|
"scope": "teambit.semantics",
|
|
12529
12529
|
"name": "entities/semantic-schema",
|
|
12530
|
-
"version": "0.0.
|
|
12530
|
+
"version": "0.0.73"
|
|
12531
12531
|
}
|
|
12532
12532
|
},
|
|
12533
12533
|
"isOptional": false,
|
|
@@ -12714,7 +12714,7 @@
|
|
|
12714
12714
|
"componentId": {
|
|
12715
12715
|
"scope": "teambit.semantics",
|
|
12716
12716
|
"name": "entities/semantic-schema",
|
|
12717
|
-
"version": "0.0.
|
|
12717
|
+
"version": "0.0.73"
|
|
12718
12718
|
}
|
|
12719
12719
|
},
|
|
12720
12720
|
"isOptional": false,
|
|
@@ -12952,7 +12952,7 @@
|
|
|
12952
12952
|
"componentId": {
|
|
12953
12953
|
"scope": "teambit.semantics",
|
|
12954
12954
|
"name": "entities/semantic-schema",
|
|
12955
|
-
"version": "0.0.
|
|
12955
|
+
"version": "0.0.73"
|
|
12956
12956
|
}
|
|
12957
12957
|
}
|
|
12958
12958
|
]
|
|
@@ -12990,7 +12990,7 @@
|
|
|
12990
12990
|
"componentId": {
|
|
12991
12991
|
"scope": "teambit.semantics",
|
|
12992
12992
|
"name": "entities/semantic-schema",
|
|
12993
|
-
"version": "0.0.
|
|
12993
|
+
"version": "0.0.73"
|
|
12994
12994
|
}
|
|
12995
12995
|
},
|
|
12996
12996
|
"isOptional": false,
|
|
@@ -13105,7 +13105,7 @@
|
|
|
13105
13105
|
"componentId": {
|
|
13106
13106
|
"scope": "teambit.semantics",
|
|
13107
13107
|
"name": "entities/semantic-schema",
|
|
13108
|
-
"version": "0.0.
|
|
13108
|
+
"version": "0.0.73"
|
|
13109
13109
|
}
|
|
13110
13110
|
},
|
|
13111
13111
|
"modifiers": []
|
|
@@ -13993,7 +13993,7 @@
|
|
|
13993
13993
|
"componentId": {
|
|
13994
13994
|
"scope": "teambit.semantics",
|
|
13995
13995
|
"name": "entities/semantic-schema",
|
|
13996
|
-
"version": "0.0.
|
|
13996
|
+
"version": "0.0.73"
|
|
13997
13997
|
}
|
|
13998
13998
|
},
|
|
13999
13999
|
{
|
|
@@ -14065,7 +14065,7 @@
|
|
|
14065
14065
|
"componentId": {
|
|
14066
14066
|
"scope": "teambit.semantics",
|
|
14067
14067
|
"name": "entities/semantic-schema",
|
|
14068
|
-
"version": "0.0.
|
|
14068
|
+
"version": "0.0.73"
|
|
14069
14069
|
}
|
|
14070
14070
|
}
|
|
14071
14071
|
]
|
|
@@ -14576,7 +14576,7 @@
|
|
|
14576
14576
|
"componentId": {
|
|
14577
14577
|
"scope": "teambit.semantics",
|
|
14578
14578
|
"name": "entities/semantic-schema",
|
|
14579
|
-
"version": "0.0.
|
|
14579
|
+
"version": "0.0.73"
|
|
14580
14580
|
}
|
|
14581
14581
|
}
|
|
14582
14582
|
]
|
|
@@ -14654,7 +14654,7 @@
|
|
|
14654
14654
|
"componentId": {
|
|
14655
14655
|
"scope": "teambit.semantics",
|
|
14656
14656
|
"name": "entities/semantic-schema",
|
|
14657
|
-
"version": "0.0.
|
|
14657
|
+
"version": "0.0.73"
|
|
14658
14658
|
}
|
|
14659
14659
|
},
|
|
14660
14660
|
"isOptional": false,
|
|
@@ -14689,7 +14689,7 @@
|
|
|
14689
14689
|
"componentId": {
|
|
14690
14690
|
"scope": "teambit.semantics",
|
|
14691
14691
|
"name": "entities/semantic-schema",
|
|
14692
|
-
"version": "0.0.
|
|
14692
|
+
"version": "0.0.73"
|
|
14693
14693
|
}
|
|
14694
14694
|
},
|
|
14695
14695
|
{
|
|
@@ -14759,7 +14759,7 @@
|
|
|
14759
14759
|
"componentId": {
|
|
14760
14760
|
"scope": "teambit.semantics",
|
|
14761
14761
|
"name": "entities/semantic-schema",
|
|
14762
|
-
"version": "0.0.
|
|
14762
|
+
"version": "0.0.73"
|
|
14763
14763
|
}
|
|
14764
14764
|
},
|
|
14765
14765
|
"isOptional": false,
|
|
@@ -14806,7 +14806,7 @@
|
|
|
14806
14806
|
"componentId": {
|
|
14807
14807
|
"scope": "teambit.semantics",
|
|
14808
14808
|
"name": "entities/semantic-schema",
|
|
14809
|
-
"version": "0.0.
|
|
14809
|
+
"version": "0.0.73"
|
|
14810
14810
|
}
|
|
14811
14811
|
}
|
|
14812
14812
|
]
|
|
@@ -14867,7 +14867,7 @@
|
|
|
14867
14867
|
"componentId": {
|
|
14868
14868
|
"scope": "teambit.semantics",
|
|
14869
14869
|
"name": "entities/semantic-schema",
|
|
14870
|
-
"version": "0.0.
|
|
14870
|
+
"version": "0.0.73"
|
|
14871
14871
|
}
|
|
14872
14872
|
}
|
|
14873
14873
|
]
|
|
@@ -14945,7 +14945,7 @@
|
|
|
14945
14945
|
"componentId": {
|
|
14946
14946
|
"scope": "teambit.semantics",
|
|
14947
14947
|
"name": "entities/semantic-schema",
|
|
14948
|
-
"version": "0.0.
|
|
14948
|
+
"version": "0.0.73"
|
|
14949
14949
|
}
|
|
14950
14950
|
},
|
|
14951
14951
|
"isOptional": false,
|
|
@@ -14972,7 +14972,7 @@
|
|
|
14972
14972
|
"componentId": {
|
|
14973
14973
|
"scope": "teambit.semantics",
|
|
14974
14974
|
"name": "entities/semantic-schema",
|
|
14975
|
-
"version": "0.0.
|
|
14975
|
+
"version": "0.0.73"
|
|
14976
14976
|
}
|
|
14977
14977
|
}
|
|
14978
14978
|
]
|
|
@@ -15041,7 +15041,7 @@
|
|
|
15041
15041
|
"componentId": {
|
|
15042
15042
|
"scope": "teambit.semantics",
|
|
15043
15043
|
"name": "entities/semantic-schema",
|
|
15044
|
-
"version": "0.0.
|
|
15044
|
+
"version": "0.0.73"
|
|
15045
15045
|
}
|
|
15046
15046
|
},
|
|
15047
15047
|
{
|
|
@@ -15072,7 +15072,7 @@
|
|
|
15072
15072
|
"componentId": {
|
|
15073
15073
|
"scope": "teambit.typescript",
|
|
15074
15074
|
"name": "typescript",
|
|
15075
|
-
"version": "1.0.
|
|
15075
|
+
"version": "1.0.426"
|
|
15076
15076
|
},
|
|
15077
15077
|
"taggedModuleExports": []
|
|
15078
15078
|
}
|
package/cmds/check-types.cmd.ts
CHANGED
|
@@ -16,7 +16,11 @@ export class CheckTypesCmd implements Command {
|
|
|
16
16
|
['', 'strict', 'in case issues found, exit with code 1'],
|
|
17
17
|
] as CommandOptions;
|
|
18
18
|
|
|
19
|
-
constructor(
|
|
19
|
+
constructor(
|
|
20
|
+
private typescript: TypescriptMain,
|
|
21
|
+
private workspace: Workspace,
|
|
22
|
+
private logger: Logger
|
|
23
|
+
) {}
|
|
20
24
|
|
|
21
25
|
async report([pattern]: [string], { all = false, strict = false }: { all: boolean; strict: boolean }) {
|
|
22
26
|
if (!this.workspace) throw new OutsideWorkspaceError();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_workspace","data","require","_chalk","_interopRequireDefault","_constants","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CheckTypesCmd","constructor","typescript","workspace","logger","name","description","COMPONENT_PATTERN_HELP","report","pattern","all","strict","OutsideWorkspaceError","components","getComponentsByUserInput","setStatusLine","length","files","getSupportedFilesForTsserver","initTsserverClientFromWorkspace","printTypeErrors","tsserver","getTsserverClient","Error","start","Date","now","getDiagnostic","end","msg","killTsServer","lastDiagnostics","code","chalk","red","green","exports"],"sources":["check-types.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { Logger } from '@teambit/logger';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport chalk from 'chalk';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { TypescriptMain } from '../typescript.main.runtime';\n\nexport class CheckTypesCmd implements Command {\n name = 'check-types [component-pattern]';\n description = 'check typescript types';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n alias = '';\n group = 'development';\n options = [\n ['a', 'all', 'check-types for all components, not only modified and new'],\n ['', 'strict', 'in case issues found, exit with code 1'],\n ] as CommandOptions;\n\n constructor(private typescript: TypescriptMain
|
|
1
|
+
{"version":3,"names":["_workspace","data","require","_chalk","_interopRequireDefault","_constants","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CheckTypesCmd","constructor","typescript","workspace","logger","name","description","COMPONENT_PATTERN_HELP","report","pattern","all","strict","OutsideWorkspaceError","components","getComponentsByUserInput","setStatusLine","length","files","getSupportedFilesForTsserver","initTsserverClientFromWorkspace","printTypeErrors","tsserver","getTsserverClient","Error","start","Date","now","getDiagnostic","end","msg","killTsServer","lastDiagnostics","code","chalk","red","green","exports"],"sources":["check-types.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { Logger } from '@teambit/logger';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport chalk from 'chalk';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { TypescriptMain } from '../typescript.main.runtime';\n\nexport class CheckTypesCmd implements Command {\n name = 'check-types [component-pattern]';\n description = 'check typescript types';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n alias = '';\n group = 'development';\n options = [\n ['a', 'all', 'check-types for all components, not only modified and new'],\n ['', 'strict', 'in case issues found, exit with code 1'],\n ] as CommandOptions;\n\n constructor(\n private typescript: TypescriptMain,\n private workspace: Workspace,\n private logger: Logger\n ) {}\n\n async report([pattern]: [string], { all = false, strict = false }: { all: boolean; strict: boolean }) {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const components = await this.workspace.getComponentsByUserInput(all, pattern);\n this.logger.setStatusLine(`checking types for ${components.length} components`);\n const files = this.typescript.getSupportedFilesForTsserver(components);\n await this.typescript.initTsserverClientFromWorkspace({ printTypeErrors: true }, files);\n const tsserver = this.typescript.getTsserverClient();\n if (!tsserver) throw new Error(`unable to start tsserver`);\n const start = Date.now();\n await tsserver.getDiagnostic(files);\n const end = Date.now() - start;\n const msg = `completed type checking (${end / 1000} sec)`;\n tsserver.killTsServer();\n if (tsserver.lastDiagnostics.length) {\n return {\n code: strict ? 1 : 0,\n data: chalk.red(`${msg}. found errors in ${tsserver.lastDiagnostics.length} files.`),\n };\n }\n return {\n code: 0,\n data: chalk.green(`${msg}. no errors were found.`),\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","e","__esModule","default","TransformerNotFound","Error","constructor","node","component","location","kind","ts","SyntaxKind","id","toString","getSourceFile","fileName","line","character","getFullText","exports"],"sources":["transformer-not-found.ts"],"sourcesContent":["import ts, { Node } from 'typescript';\nimport { Component } from '@teambit/component';\nimport { Location } from '@teambit/semantics.entities.semantic-schema';\n\nexport class TransformerNotFound extends Error {\n constructor(readonly node: Node
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","e","__esModule","default","TransformerNotFound","Error","constructor","node","component","location","kind","ts","SyntaxKind","id","toString","getSourceFile","fileName","line","character","getFullText","exports"],"sources":["transformer-not-found.ts"],"sourcesContent":["import ts, { Node } from 'typescript';\nimport { Component } from '@teambit/component';\nimport { Location } from '@teambit/semantics.entities.semantic-schema';\n\nexport class TransformerNotFound extends Error {\n constructor(\n readonly node: Node,\n readonly component: Component,\n location: Location\n ) {\n super(\n `typescript: could not find schema transformer for node of kind ${node.kind} (${\n ts.SyntaxKind[node.kind]\n }) in component ${component.id.toString()}.\nlocation: ${node.getSourceFile().fileName}, line: ${location.line}, character: ${location.character}.\nnode-text: ${node.getFullText()}`\n );\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsC,SAAAC,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI/B,MAAMG,mBAAmB,SAASC,KAAK,CAAC;EAC7CC,WAAWA,CACAC,IAAU,EACVC,SAAoB,EAC7BC,QAAkB,EAClB;IACA,KAAK,CACH,kEAAkEF,IAAI,CAACG,IAAI,KACzEC,qBAAE,CAACC,UAAU,CAACL,IAAI,CAACG,IAAI,CAAC,kBACRF,SAAS,CAACK,EAAE,CAACC,QAAQ,CAAC,CAAC;AAC/C,aAAaP,IAAI,CAACQ,aAAa,CAAC,CAAC,CAACC,QAAQ,WAAWP,QAAQ,CAACQ,IAAI,gBAAgBR,QAAQ,CAACS,SAAS;AACpG,aAAaX,IAAI,CAACY,WAAW,CAAC,CAAC,EAC3B,CAAC;IAAC,KAVOZ,IAAU,GAAVA,IAAU;IAAA,KACVC,SAAoB,GAApBA,SAAoB;EAU/B;AACF;AAACY,OAAA,CAAAhB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.typescript_typescript@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.typescript_typescript@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.typescript_typescript@1.0.426/dist/typescript.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.typescript_typescript@1.0.426/dist/typescript.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_tsutils","data","require","_typescript","_interopRequireWildcard","_lodash","_legacy","_path","_semanticsEntities","_pMapSeries","_interopRequireDefault","_identifierList","_parseTypeFromQuickInfo","_jsdocToDocSchema","_identifier","_exportIdentifier","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","SchemaExtractorContext","mainFile","pathNormalizeToLinux","getPathRelativeToComponent","component","path","identifiers","_identifiers","internalIdentifiers","_internalIdentifiers","computed","_computed","mainFileIdentifierKey","getIdentifierKey","mainModuleIdentifiers","constructor","tsserver","extractor","componentDeps","componentRootPath","hostRootPath","formatter","Map","getComputedNodeKey","filePath","line","character","schema","getIdentifierKeyForNode","node","getSourceFile","fileName","setComputed","location","__schema","key","setIdentifiers","setInternalIdentifiers","existing","uniqueIdentifiers","uniqBy","concat","k","aliasId","id","IdentifierList","findComputedSchemaByName","name","Array","from","values","filter","computeSchema","getLocation","SyntaxKind","kind","existingComputedSchema","computedSchema","transformSchemaNode","transformAPI","targetSourceFile","absolutePath","sourceFile","position","getLineAndCharacterOfPosition","getStart","getLocationAsString","basePath","filesystem","files","base","relative","getSignature","getSignatureHelp","getPath","getPosition","offset","getPositionOfLineAndCharacter","startsWith","join","getQuickInfo","err","message","Error","getQuickInfoDisplayString","quickInfo","body","displayString","typeDefinition","getTypeDefinition","visitTypeDefinition","getPathWithoutExtension","knownExtensions","fileExtension","extname","substring","filePathWithoutExtension","includes","replace","RegExp","isAbsolute","isIndexFile","currentFilePath","indexFilePath","findFileInComponent","normalizedFilePath","pathToCompareWithoutExtension","matchingFile","find","file","currentFilePathWithoutExtension","isSameFilePath","matches","parsePackageNameFromPath","parts","split","length","lastPart","sep","pkgParts","pkgName","getSourceFileInsideComponent","parseSourceFile","getSourceFileFromNode","getFilePathByNode","undefined","def","getDefinition","firstDef","head","definitionInfo","definition","startPosition","start","pos","nodeAtPos","getTokenAtPosition","visitDefinition","getTypeRefForExternalNode","visit","parent","Identifier","SourceFile","references","isExported","isFromComponent","getFileIdentifiers","exportDec","specifierPathStr","ExportDeclaration","moduleSpecifier","getText","specifierPath","absPath","resolve","getIdentifiers","getFileExports","identifier","ExportIdentifier","isExportIdentifier","getFileInternals","computeIdentifiers","headTypeDefinition","headDefinition","unknownExactType","typeStr","isTypeStrFromQuickInfo","InferenceTypeSchema","info","type","parseTypeFromQuickInfo","isDefInSameLocation","loc","resolveType","internalRef","getTypeRef","ts","isTypeNode","definitionNode","definitionNodeName","definitionInternalRef","transformer","getTransformer","getTypeRefForExternalPath","schemaNode","apiTransformer","getAPITransformer","transformedApi","transform","IgnoredSchema","getCompIdByPkgName","dep","packageName","componentId","nodeIdentifierKey","nodeIdentifierList","mainIdentifierList","nodeIdentifier","mainIdentifier","parsedNodeIdentifier","parsedMainIdentifier","isExportedFromMain","resolveTypeRef","sourceFilePath","isRelativeImport","TypeRefSchema","compIdByPkg","compIdByPath","getComponentIDByPath","relativeDir","lastIndexOf","absFilePath","compFilePath","idKey","exportedIdentifier","jsDocToDocSchema","canHaveJsDoc","jsDocs","getJsDoc","jsDoc","linkComments","comment","c","JSDocLink","linkTags","map","linkComment","tagName","tagText","text","tagLocation","TagSchema","commentsWithoutLink","getTextOfJSDocComment","tags","pMapSeries","tag","tagParser","DocSchema","exports"],"sources":["schema-extractor-context.ts"],"sourcesContent":["import { TsserverClient } from '@teambit/ts-server';\nimport { getTokenAtPosition, canHaveJsDoc, getJsDoc } from 'tsutils';\nimport ts, { ExportAssignment, getTextOfJSDocComment, ExportDeclaration, Node, SyntaxKind, TypeNode } from 'typescript';\nimport { head, uniqBy } from 'lodash';\n// @ts-ignore david we should figure fix this.\n// eslint-disable-next-line import/no-unresolved\nimport protocol from 'typescript/lib/protocol';\nimport { pathNormalizeToLinux, isRelativeImport } from '@teambit/legacy.utils';\nimport { resolve, sep, relative, join, isAbsolute, extname } from 'path';\nimport { Component, ComponentID } from '@teambit/component';\nimport {\n TypeRefSchema,\n SchemaNode,\n InferenceTypeSchema,\n Location,\n DocSchema,\n IgnoredSchema,\n TagSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport { ComponentDependency } from '@teambit/dependency-resolver';\nimport { Formatter } from '@teambit/formatter';\nimport pMapSeries from 'p-map-series';\nimport { TypeScriptExtractor } from './typescript.extractor';\nimport { IdentifierList } from './identifier-list';\nimport { parseTypeFromQuickInfo } from './transformers/utils/parse-type-from-quick-info';\nimport { tagParser } from './transformers/utils/jsdoc-to-doc-schema';\nimport { Identifier } from './identifier';\nimport { ExportIdentifier } from './export-identifier';\n\nexport class SchemaExtractorContext {\n /**\n * list of all declared identifiers (exported and internal) by filename\n */\n private _identifiers = new Map<string, IdentifierList>();\n private _internalIdentifiers = new Map<string, IdentifierList>();\n\n /**\n * computed nodes by filename and (position (line:character))\n */\n private _computed = new Map<string, SchemaNode>();\n\n get mainFile() {\n return pathNormalizeToLinux(this.getPathRelativeToComponent(this.component.mainFile.path));\n }\n\n get identifiers() {\n return this._identifiers;\n }\n\n get internalIdentifiers() {\n return this._internalIdentifiers;\n }\n\n get computed() {\n return this._computed;\n }\n\n get mainFileIdentifierKey() {\n const mainFile = this.component.mainFile;\n return this.getIdentifierKey(mainFile.path);\n }\n\n get mainModuleIdentifiers() {\n return this.identifiers.get(this.mainFileIdentifierKey);\n }\n\n constructor(\n readonly tsserver: TsserverClient,\n readonly component: Component,\n readonly extractor: TypeScriptExtractor,\n readonly componentDeps: ComponentDependency[],\n readonly componentRootPath: string,\n readonly hostRootPath: string,\n readonly formatter?: Formatter\n ) {\n this.componentRootPath = pathNormalizeToLinux(componentRootPath);\n this.hostRootPath = pathNormalizeToLinux(hostRootPath);\n }\n\n getComputedNodeKey({ filePath, line, character }: Location, schema: string) {\n return `${filePath}:${line}:${character}__${schema}`;\n }\n\n getIdentifierKeyForNode(node: Node) {\n const filePath = node.getSourceFile().fileName;\n return this.getIdentifierKey(filePath);\n }\n\n getIdentifierKey(filePath: string) {\n return pathNormalizeToLinux(filePath);\n }\n\n setComputed(node: SchemaNode) {\n const { location, __schema } = node;\n const key = this.getComputedNodeKey(location, __schema);\n this.computed.set(key, node);\n }\n\n setIdentifiers(filePath: string, identifiers: IdentifierList) {\n this._identifiers.set(this.getIdentifierKey(filePath), identifiers);\n }\n\n setInternalIdentifiers(filePath: string, identifiers: IdentifierList) {\n const existing = this._internalIdentifiers.get(filePath);\n if (!existing) {\n this._internalIdentifiers.set(filePath, identifiers);\n } else {\n const uniqueIdentifiers = uniqBy(existing.identifiers.concat(identifiers.identifiers), (k) => k.aliasId || k.id);\n this._internalIdentifiers.set(filePath, new IdentifierList(uniqueIdentifiers));\n }\n }\n\n findComputedSchemaByName(name: string) {\n const computed = Array.from(this.computed.values());\n return computed.filter((schema) => schema.name === name);\n }\n\n async computeSchema(node: Node): Promise<SchemaNode> {\n const location = this.getLocation(node);\n const key = this.getComputedNodeKey(location, SyntaxKind[node.kind]);\n const existingComputedSchema = this.computed.get(key);\n if (existingComputedSchema) {\n return existingComputedSchema;\n }\n const computedSchema = await this.extractor.computeSchema(node, this);\n this.setComputed(computedSchema);\n return computedSchema;\n }\n\n async transformSchemaNode(schema: SchemaNode) {\n return this.extractor.transformAPI(schema, this);\n }\n\n /**\n * returns the location of a node in a source file.\n */\n getLocation(node: Node, targetSourceFile?: ts.SourceFile, absolutePath = false): Location {\n const sourceFile = targetSourceFile || node.getSourceFile();\n const filePath = absolutePath ? sourceFile.fileName : this.getPathRelativeToComponent(sourceFile.fileName);\n const position = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n const line = position.line + 1;\n const character = position.character + 1;\n\n return {\n filePath: pathNormalizeToLinux(filePath),\n line,\n character,\n };\n }\n\n getLocationAsString(node: Node): string {\n const location = this.getLocation(node);\n return `${node.getSourceFile().fileName}, line: ${location.line}, character: ${location.character}`;\n }\n\n getPathRelativeToComponent(filePath: string): string {\n const basePath = this.component.filesystem.files[0].base;\n return relative(basePath, filePath);\n }\n\n /**\n * returns a signature for a node.\n */\n async getSignature(node: Node) {\n return this.tsserver.getSignatureHelp(this.getPath(node), this.getLocation(node));\n }\n\n /**\n * get the position for the tsserver.\n */\n getPosition(sourceFile: ts.SourceFile, line: number, offset: number): number {\n return sourceFile.getPositionOfLineAndCharacter(line - 1, offset - 1);\n }\n\n /**\n * get the path for a source file.\n */\n getPath(node: Node) {\n const sourceFile = node.getSourceFile();\n\n const fileName = sourceFile.fileName;\n\n if (!fileName.startsWith(this.componentRootPath) && !fileName.startsWith(this.hostRootPath)) {\n return join(this.componentRootPath, fileName);\n }\n\n return sourceFile.fileName;\n }\n\n async getQuickInfo(node: Node) {\n const location = this.getLocation(node);\n try {\n return await this.tsserver.getQuickInfo(this.getPath(node), location);\n } catch (err: any) {\n if (err.message === 'No content available.') {\n throw new Error(\n `unable to get quickinfo data from tsserver at ${this.getPath(node)}, Ln ${location.line}, Col ${\n location.character\n }`\n );\n }\n throw err;\n }\n }\n\n async getQuickInfoDisplayString(node: Node): Promise<string> {\n const quickInfo = await this.getQuickInfo(node);\n return quickInfo?.body?.displayString || '';\n }\n\n /**\n * returns the type definition for a type.\n */\n typeDefinition(node: Node) {\n return this.tsserver.getTypeDefinition(this.getPath(node), this.getLocation(node));\n }\n\n visitTypeDefinition() {}\n\n private getPathWithoutExtension(filePath: string) {\n const knownExtensions = ['ts', 'js', 'jsx', 'tsx'];\n const fileExtension = extname(filePath).substring(1);\n\n const filePathWithoutExtension = () => {\n if (knownExtensions.includes(fileExtension)) {\n return filePath.replace(new RegExp(`\\\\.${fileExtension}$`), '');\n }\n return filePath;\n };\n\n if (!isAbsolute(filePath)) {\n return filePathWithoutExtension();\n }\n\n if (filePath.startsWith(this.componentRootPath)) {\n return relative(this.componentRootPath, filePathWithoutExtension());\n }\n if (filePath.startsWith(this.hostRootPath)) {\n return relative(this.hostRootPath, filePathWithoutExtension());\n }\n return filePathWithoutExtension();\n }\n\n private isIndexFile(filePath: string, currentFilePath: string) {\n const indexFilePath = join(filePath, 'index');\n return pathNormalizeToLinux(indexFilePath) === currentFilePath;\n }\n\n findFileInComponent(filePath: string) {\n const normalizedFilePath = pathNormalizeToLinux(filePath);\n const pathToCompareWithoutExtension = this.getPathWithoutExtension(normalizedFilePath);\n\n const matchingFile = this.component.filesystem.files.find((file) => {\n const currentFilePath = pathNormalizeToLinux(file.path);\n const currentFilePathWithoutExtension = this.getPathWithoutExtension(currentFilePath);\n\n const isSameFilePath = pathToCompareWithoutExtension === currentFilePathWithoutExtension;\n\n const matches =\n isSameFilePath || this.isIndexFile(pathToCompareWithoutExtension, currentFilePathWithoutExtension);\n\n return matches;\n });\n return matchingFile;\n }\n\n private parsePackageNameFromPath(path: string) {\n const parts = path.split('node_modules');\n\n if (parts.length === 1) {\n return path;\n }\n\n const lastPart = parts[parts.length - 1].replace(sep, '');\n const pkgParts = lastPart.split('/');\n if (lastPart.startsWith('@')) {\n // scoped package\n return `${pkgParts[0]}/${pkgParts[1]}`;\n }\n const pkgName = pkgParts[0];\n if (pkgName === 'typescript') {\n // it's a built-in type, such as \"string\".\n return '';\n }\n return pkgName;\n }\n\n /**\n * return the file if part of the component.\n * otherwise, a reference to the target package and the type name.\n */\n getSourceFileInsideComponent(filePath: string) {\n const file = this.findFileInComponent(filePath);\n return file && this.extractor.parseSourceFile(file);\n }\n\n async getSourceFileFromNode(node: Node) {\n const filePath = await this.getFilePathByNode(node);\n if (!filePath) {\n return undefined;\n }\n return this.getSourceFileInsideComponent(filePath);\n }\n\n async getFilePathByNode(node: Node) {\n const def = await this.tsserver.getDefinition(this.getPath(node), this.getLocation(node));\n\n const firstDef = head(def?.body);\n return firstDef?.file;\n }\n\n async definitionInfo(node: Node): Promise<protocol.DefinitionInfo | undefined> {\n const location = this.getLocation(node);\n const filePath = this.getPath(node);\n\n const def = await this.tsserver.getDefinition(filePath, location);\n\n const firstDef = head(def?.body);\n\n return firstDef;\n }\n\n /**\n * get a definition for a given node.\n */\n async definition(definition: protocol.DefinitionInfo): Promise<Node | undefined> {\n const startPosition = definition.start;\n const sourceFile = this.getSourceFileInsideComponent(definition.file);\n if (!sourceFile) {\n // it might be an external reference, cant get the node\n return undefined;\n }\n const pos = this.getPosition(sourceFile, startPosition.line, startPosition.offset);\n const nodeAtPos = getTokenAtPosition(sourceFile, pos);\n return nodeAtPos;\n }\n\n /**\n * visit a definition for node - e.g. return it's schema.\n */\n async visitDefinition(node: Node): Promise<SchemaNode | undefined> {\n const definitionInfo = await this.definitionInfo(node);\n if (!definitionInfo) {\n return undefined;\n }\n\n const definition = await this.definition(definitionInfo);\n if (!definition) {\n return this.getTypeRefForExternalNode(node);\n }\n\n return this.visit(definition.parent);\n }\n\n async visit(node: Node): Promise<SchemaNode> {\n if (node.kind === SyntaxKind.Identifier && node.parent.parent.kind !== SyntaxKind.SourceFile) {\n return this.visit(node.parent);\n }\n return this.extractor.computeSchema(node, this);\n }\n\n references() {}\n\n isExported() {}\n\n isFromComponent() {}\n\n async getFileIdentifiers(exportDec: ExportDeclaration | ExportAssignment) {\n const file = exportDec.getSourceFile().fileName;\n const specifierPathStr =\n (exportDec.kind === SyntaxKind.ExportDeclaration && exportDec.moduleSpecifier?.getText()) || '';\n const specifierPath = specifierPathStr.substring(1, specifierPathStr.length - 1);\n const absPath = resolve(file, '..', specifierPath);\n const sourceFile = this.getSourceFileInsideComponent(absPath);\n if (!sourceFile) return [];\n return this.getIdentifiers(sourceFile);\n }\n\n async getFileExports(exportDec: ExportDeclaration | ExportAssignment) {\n const identifiers = await this.getFileIdentifiers(exportDec);\n return identifiers.filter((identifier) => ExportIdentifier.isExportIdentifier(identifier));\n }\n\n async getFileInternals(exportDec: ExportDeclaration | ExportAssignment) {\n const identifiers = await this.getFileIdentifiers(exportDec);\n return identifiers.filter((identifier) => !ExportIdentifier.isExportIdentifier(identifier));\n }\n\n getIdentifiers(node: Node) {\n return this.extractor.computeIdentifiers(node, this);\n }\n\n /**\n * tsserver has two different calls: \"definition\" and \"typeDefinition\".\n * normally, we need the \"typeDefinition\" to get the type data of a node.\n * sometimes, it has no data, for example when the node is of type TypeReference, and then using \"definition\" is\n * helpful. (couldn't find a rule when to use each one. e.g. \"VariableDeclaration\" sometimes has data only in\n * \"definition\" but it's not clear when/why).\n */\n async getDefinition(node: Node) {\n const typeDefinition = await this.typeDefinition(node);\n const headTypeDefinition = head(typeDefinition?.body);\n if (headTypeDefinition) {\n return headTypeDefinition;\n }\n\n const definition = await this.tsserver.getDefinition(node.getSourceFile().fileName, this.getLocation(node));\n const headDefinition = head(definition?.body);\n\n return headDefinition;\n }\n\n // when we can't figure out the component/package/type of this node, we'll use the typeStr as the type.\n private async unknownExactType(node: Node, location: Location, typeStr = 'any', isTypeStrFromQuickInfo = true) {\n if (isTypeStrFromQuickInfo) {\n return new InferenceTypeSchema(location, typeStr || 'any');\n }\n const info = await this.getQuickInfo(node);\n const type = parseTypeFromQuickInfo(info);\n return new InferenceTypeSchema(location, type, typeStr);\n }\n\n // the reason for this check is to avoid infinite loop when calling `this.jump` with the same file+location\n private isDefInSameLocation(node: Node, definition: protocol.FileSpanWithContext) {\n if (definition.file !== node.getSourceFile().fileName) {\n return false;\n }\n const loc = this.getLocation(node);\n\n return loc.line === definition.start.line && loc.character === definition.start.offset;\n }\n\n /**\n * resolve a type by a node and its identifier.\n */\n async resolveType(\n node: Node & { type?: TypeNode },\n typeStr: string,\n isTypeStrFromQuickInfo = true\n ): Promise<SchemaNode> {\n const location = this.getLocation(node);\n\n // check if internal ref with typeInfo\n const internalRef = await this.getTypeRef(typeStr, this.getIdentifierKeyForNode(node), location);\n\n if (internalRef) return internalRef;\n\n // if a node has \"type\" prop, it has the type data of the node. this normally happens when the code has the type\n // explicitly, e.g. `const str: string` vs implicitly `const str = 'some-string'`, which the node won't have \"type\"\n if (node.type && ts.isTypeNode(node.type)) {\n return this.computeSchema(node.type);\n }\n\n const definition = await this.getDefinition(node);\n\n if (!definition) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n if (this.isDefInSameLocation(node, definition)) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const definitionNode = await this.definition(definition);\n\n if (!definitionNode) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const definitionNodeName = definitionNode?.getText();\n\n // check if internal ref with definition info\n const definitionInternalRef = await this.getTypeRef(\n definitionNodeName,\n this.getIdentifierKeyForNode(definitionNode),\n location\n );\n\n if (definitionInternalRef) return definitionInternalRef;\n\n const transformer = this.extractor.getTransformer(definitionNode, this);\n\n if (transformer === undefined) {\n const file = this.findFileInComponent(definition.file);\n if (!file) return this.getTypeRefForExternalPath(typeStr, definition.file, location);\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const schemaNode = await this.visit(definitionNode);\n\n if (!schemaNode) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const apiTransformer = this.extractor.getAPITransformer(schemaNode);\n let transformedApi = apiTransformer ? await apiTransformer.transform(schemaNode, this) : schemaNode;\n if (!transformedApi) {\n transformedApi = new IgnoredSchema(schemaNode);\n }\n return transformedApi;\n }\n\n private getCompIdByPkgName(pkgName: string): ComponentID | undefined {\n return this.componentDeps.find((dep) => dep.packageName === pkgName)?.componentId;\n }\n\n async getTypeRef(typeStr: string, filePath: string, location: Location): Promise<TypeRefSchema | undefined> {\n const nodeIdentifierKey = this.getIdentifierKey(filePath);\n const mainFileIdentifierKey = this.mainFileIdentifierKey;\n\n const nodeIdentifierList = this.identifiers.get(nodeIdentifierKey);\n const mainIdentifierList = this.identifiers.get(mainFileIdentifierKey);\n\n const nodeIdentifier = new Identifier(typeStr, nodeIdentifierKey);\n const mainIdentifier = new Identifier(typeStr, mainFileIdentifierKey);\n\n const parsedNodeIdentifier = nodeIdentifierList?.find(nodeIdentifier);\n const parsedMainIdentifier = mainIdentifierList?.find(mainIdentifier);\n const isExportedFromMain = parsedMainIdentifier && ExportIdentifier.isExportIdentifier(parsedMainIdentifier);\n\n if (!parsedNodeIdentifier) return undefined;\n\n const internalRef = !isExportedFromMain;\n\n if (internalRef) {\n this.setInternalIdentifiers(filePath, new IdentifierList([parsedNodeIdentifier]));\n }\n\n return this.resolveTypeRef(parsedNodeIdentifier, location, isExportedFromMain);\n }\n\n async resolveTypeRef(\n identifier: Identifier,\n location: Location,\n isExportedFromMain?: boolean\n ): Promise<TypeRefSchema> {\n const sourceFilePath = identifier.sourceFilePath;\n\n if (!sourceFilePath || (isExportedFromMain && isRelativeImport(sourceFilePath))) {\n return new TypeRefSchema(\n location,\n identifier.id,\n undefined,\n undefined,\n !isExportedFromMain ? this.getPathRelativeToComponent(identifier.filePath) : undefined\n );\n }\n\n if (!isRelativeImport(sourceFilePath)) {\n const pkgName = this.parsePackageNameFromPath(sourceFilePath);\n const compIdByPkg = this.getCompIdByPkgName(pkgName);\n\n const compIdByPath = await this.extractor.getComponentIDByPath(sourceFilePath);\n\n if (compIdByPath) {\n return new TypeRefSchema(location, identifier.id, compIdByPath);\n }\n\n if (compIdByPkg) {\n return new TypeRefSchema(location, identifier.id, compIdByPkg);\n }\n\n // package without comp id\n return new TypeRefSchema(location, identifier.id, undefined, pkgName);\n }\n\n const relativeDir = identifier.filePath.substring(0, identifier.filePath.lastIndexOf('/'));\n const absFilePath = resolve(this.componentRootPath, relativeDir, sourceFilePath);\n\n const compFilePath = this.findFileInComponent(absFilePath);\n if (!compFilePath) {\n // @todo handle this better\n throw new Error(\n `cannot find file in component \\n source file path ${sourceFilePath}\\n\n identifier file path ${identifier.filePath}\\nrelative dir ${relativeDir}\\n\n absFilePath ${absFilePath}`\n );\n return new TypeRefSchema(location, identifier.id);\n }\n\n const idKey = this.getIdentifierKey(compFilePath?.path);\n\n // if re exported from a file, recurse until definition\n const exportedIdentifier = (this.identifiers.get(idKey)?.identifiers || []).find((i) => i.id === identifier.id);\n\n if (exportedIdentifier) {\n return this.resolveTypeRef(exportedIdentifier, location, isExportedFromMain);\n }\n\n return new TypeRefSchema(location, identifier.id);\n }\n\n async getTypeRefForExternalNode(node: Node): Promise<TypeRefSchema> {\n const info = await this.getQuickInfo(node);\n const typeStr = parseTypeFromQuickInfo(info);\n const location = this.getLocation(node);\n const filePath = this.getPath(node);\n return this.getTypeRefForExternalPath(typeStr, filePath, location);\n }\n\n async getTypeRefForExternalPath(typeStr: string, filePath: string, location: Location): Promise<TypeRefSchema> {\n const compIdByPath = await this.extractor.getComponentIDByPath(filePath);\n if (compIdByPath) {\n return new TypeRefSchema(location, typeStr, compIdByPath);\n }\n const pkgName = this.parsePackageNameFromPath(filePath);\n const compIdByPkg = this.getCompIdByPkgName(pkgName);\n if (compIdByPkg) {\n return new TypeRefSchema(location, typeStr, compIdByPkg);\n }\n return new TypeRefSchema(location, typeStr, undefined, pkgName);\n }\n\n async jsDocToDocSchema(node: Node): Promise<DocSchema | undefined> {\n if (!canHaveJsDoc(node)) {\n return undefined;\n }\n const jsDocs = getJsDoc(node);\n\n if (!jsDocs.length) {\n return undefined;\n }\n // not sure how common it is to have multiple JSDocs. never seen it before.\n // regardless, in typescript implementation of methods like `getJSDocDeprecatedTag()`, they use the first one. (`getFirstJSDocTag()`)\n const jsDoc = jsDocs[0];\n\n const location = this.getLocation(jsDoc);\n // Extract link comments and filter them out from the main comment\n const linkComments = (\n typeof jsDoc.comment !== 'string' ? jsDoc.comment?.filter((c) => c.kind === ts.SyntaxKind.JSDocLink) ?? [] : []\n ) as ts.JSDocLink[];\n const linkTags = linkComments.map((linkComment) => {\n const tagName = 'link';\n const tagText = `${linkComment.name?.getText() ?? ''}${linkComment.text ?? ''}`;\n const tagLocation = this.getLocation(linkComment);\n return new TagSchema(tagLocation, tagName, tagText);\n });\n\n const commentsWithoutLink = (typeof jsDoc.comment !== 'string'\n ? jsDoc.comment?.filter((c) => c.kind !== ts.SyntaxKind.JSDocLink) ?? ''\n : jsDoc.comment) as unknown as ts.NodeArray<ts.JSDocComment>;\n\n const comment = getTextOfJSDocComment(commentsWithoutLink);\n\n const tags = (jsDoc.tags ? await pMapSeries(jsDoc.tags, (tag) => tagParser(tag, this, this.formatter)) : []).concat(\n linkTags\n );\n\n return new DocSchema(location, jsDoc.getText(), comment, tags);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_tsutils","data","require","_typescript","_interopRequireWildcard","_lodash","_legacy","_path","_semanticsEntities","_pMapSeries","_interopRequireDefault","_identifierList","_parseTypeFromQuickInfo","_jsdocToDocSchema","_identifier","_exportIdentifier","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","SchemaExtractorContext","mainFile","pathNormalizeToLinux","getPathRelativeToComponent","component","path","identifiers","_identifiers","internalIdentifiers","_internalIdentifiers","computed","_computed","mainFileIdentifierKey","getIdentifierKey","mainModuleIdentifiers","constructor","tsserver","extractor","componentDeps","componentRootPath","hostRootPath","formatter","Map","getComputedNodeKey","filePath","line","character","schema","getIdentifierKeyForNode","node","getSourceFile","fileName","setComputed","location","__schema","key","setIdentifiers","setInternalIdentifiers","existing","uniqueIdentifiers","uniqBy","concat","k","aliasId","id","IdentifierList","findComputedSchemaByName","name","Array","from","values","filter","computeSchema","getLocation","SyntaxKind","kind","existingComputedSchema","computedSchema","transformSchemaNode","transformAPI","targetSourceFile","absolutePath","sourceFile","position","getLineAndCharacterOfPosition","getStart","getLocationAsString","basePath","filesystem","files","base","relative","getSignature","getSignatureHelp","getPath","getPosition","offset","getPositionOfLineAndCharacter","startsWith","join","getQuickInfo","err","message","Error","getQuickInfoDisplayString","quickInfo","body","displayString","typeDefinition","getTypeDefinition","visitTypeDefinition","getPathWithoutExtension","knownExtensions","fileExtension","extname","substring","filePathWithoutExtension","includes","replace","RegExp","isAbsolute","isIndexFile","currentFilePath","indexFilePath","findFileInComponent","normalizedFilePath","pathToCompareWithoutExtension","matchingFile","find","file","currentFilePathWithoutExtension","isSameFilePath","matches","parsePackageNameFromPath","parts","split","length","lastPart","sep","pkgParts","pkgName","getSourceFileInsideComponent","parseSourceFile","getSourceFileFromNode","getFilePathByNode","undefined","def","getDefinition","firstDef","head","definitionInfo","definition","startPosition","start","pos","nodeAtPos","getTokenAtPosition","visitDefinition","getTypeRefForExternalNode","visit","parent","Identifier","SourceFile","references","isExported","isFromComponent","getFileIdentifiers","exportDec","specifierPathStr","ExportDeclaration","moduleSpecifier","getText","specifierPath","absPath","resolve","getIdentifiers","getFileExports","identifier","ExportIdentifier","isExportIdentifier","getFileInternals","computeIdentifiers","headTypeDefinition","headDefinition","unknownExactType","typeStr","isTypeStrFromQuickInfo","InferenceTypeSchema","info","type","parseTypeFromQuickInfo","isDefInSameLocation","loc","resolveType","internalRef","getTypeRef","ts","isTypeNode","definitionNode","definitionNodeName","definitionInternalRef","transformer","getTransformer","getTypeRefForExternalPath","schemaNode","apiTransformer","getAPITransformer","transformedApi","transform","IgnoredSchema","getCompIdByPkgName","dep","packageName","componentId","nodeIdentifierKey","nodeIdentifierList","mainIdentifierList","nodeIdentifier","mainIdentifier","parsedNodeIdentifier","parsedMainIdentifier","isExportedFromMain","resolveTypeRef","sourceFilePath","isRelativeImport","TypeRefSchema","compIdByPkg","compIdByPath","getComponentIDByPath","relativeDir","lastIndexOf","absFilePath","compFilePath","idKey","exportedIdentifier","jsDocToDocSchema","canHaveJsDoc","jsDocs","getJsDoc","jsDoc","linkComments","comment","c","JSDocLink","linkTags","map","linkComment","tagName","tagText","text","tagLocation","TagSchema","commentsWithoutLink","getTextOfJSDocComment","tags","pMapSeries","tag","tagParser","DocSchema","exports"],"sources":["schema-extractor-context.ts"],"sourcesContent":["import { TsserverClient } from '@teambit/ts-server';\nimport { getTokenAtPosition, canHaveJsDoc, getJsDoc } from 'tsutils';\nimport ts, { ExportAssignment, getTextOfJSDocComment, ExportDeclaration, Node, SyntaxKind, TypeNode } from 'typescript';\nimport { head, uniqBy } from 'lodash';\n// @ts-ignore david we should figure fix this.\n// eslint-disable-next-line import/no-unresolved\nimport protocol from 'typescript/lib/protocol';\nimport { pathNormalizeToLinux, isRelativeImport } from '@teambit/legacy.utils';\nimport { resolve, sep, relative, join, isAbsolute, extname } from 'path';\nimport { Component, ComponentID } from '@teambit/component';\nimport {\n TypeRefSchema,\n SchemaNode,\n InferenceTypeSchema,\n Location,\n DocSchema,\n IgnoredSchema,\n TagSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport { ComponentDependency } from '@teambit/dependency-resolver';\nimport { Formatter } from '@teambit/formatter';\nimport pMapSeries from 'p-map-series';\nimport { TypeScriptExtractor } from './typescript.extractor';\nimport { IdentifierList } from './identifier-list';\nimport { parseTypeFromQuickInfo } from './transformers/utils/parse-type-from-quick-info';\nimport { tagParser } from './transformers/utils/jsdoc-to-doc-schema';\nimport { Identifier } from './identifier';\nimport { ExportIdentifier } from './export-identifier';\n\nexport class SchemaExtractorContext {\n /**\n * list of all declared identifiers (exported and internal) by filename\n */\n private _identifiers = new Map<string, IdentifierList>();\n private _internalIdentifiers = new Map<string, IdentifierList>();\n\n /**\n * computed nodes by filename and (position (line:character))\n */\n private _computed = new Map<string, SchemaNode>();\n\n get mainFile() {\n return pathNormalizeToLinux(this.getPathRelativeToComponent(this.component.mainFile.path));\n }\n\n get identifiers() {\n return this._identifiers;\n }\n\n get internalIdentifiers() {\n return this._internalIdentifiers;\n }\n\n get computed() {\n return this._computed;\n }\n\n get mainFileIdentifierKey() {\n const mainFile = this.component.mainFile;\n return this.getIdentifierKey(mainFile.path);\n }\n\n get mainModuleIdentifiers() {\n return this.identifiers.get(this.mainFileIdentifierKey);\n }\n\n constructor(\n readonly tsserver: TsserverClient,\n readonly component: Component,\n readonly extractor: TypeScriptExtractor,\n readonly componentDeps: ComponentDependency[],\n readonly componentRootPath: string,\n readonly hostRootPath: string,\n readonly formatter?: Formatter\n ) {\n this.componentRootPath = pathNormalizeToLinux(componentRootPath);\n this.hostRootPath = pathNormalizeToLinux(hostRootPath);\n }\n\n getComputedNodeKey({ filePath, line, character }: Location, schema: string) {\n return `${filePath}:${line}:${character}__${schema}`;\n }\n\n getIdentifierKeyForNode(node: Node) {\n const filePath = node.getSourceFile().fileName;\n return this.getIdentifierKey(filePath);\n }\n\n getIdentifierKey(filePath: string) {\n return pathNormalizeToLinux(filePath);\n }\n\n setComputed(node: SchemaNode) {\n const { location, __schema } = node;\n const key = this.getComputedNodeKey(location, __schema);\n this.computed.set(key, node);\n }\n\n setIdentifiers(filePath: string, identifiers: IdentifierList) {\n this._identifiers.set(this.getIdentifierKey(filePath), identifiers);\n }\n\n setInternalIdentifiers(filePath: string, identifiers: IdentifierList) {\n const existing = this._internalIdentifiers.get(filePath);\n if (!existing) {\n this._internalIdentifiers.set(filePath, identifiers);\n } else {\n const uniqueIdentifiers = uniqBy(existing.identifiers.concat(identifiers.identifiers), (k) => k.aliasId || k.id);\n this._internalIdentifiers.set(filePath, new IdentifierList(uniqueIdentifiers));\n }\n }\n\n findComputedSchemaByName(name: string) {\n const computed = Array.from(this.computed.values());\n return computed.filter((schema) => schema.name === name);\n }\n\n async computeSchema(node: Node): Promise<SchemaNode> {\n const location = this.getLocation(node);\n const key = this.getComputedNodeKey(location, SyntaxKind[node.kind]);\n const existingComputedSchema = this.computed.get(key);\n if (existingComputedSchema) {\n return existingComputedSchema;\n }\n const computedSchema = await this.extractor.computeSchema(node, this);\n this.setComputed(computedSchema);\n return computedSchema;\n }\n\n async transformSchemaNode(schema: SchemaNode) {\n return this.extractor.transformAPI(schema, this);\n }\n\n /**\n * returns the location of a node in a source file.\n */\n getLocation(node: Node, targetSourceFile?: ts.SourceFile, absolutePath = false): Location {\n const sourceFile = targetSourceFile || node.getSourceFile();\n const filePath = absolutePath ? sourceFile.fileName : this.getPathRelativeToComponent(sourceFile.fileName);\n const position = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n const line = position.line + 1;\n const character = position.character + 1;\n\n return {\n filePath: pathNormalizeToLinux(filePath),\n line,\n character,\n };\n }\n\n getLocationAsString(node: Node): string {\n const location = this.getLocation(node);\n return `${node.getSourceFile().fileName}, line: ${location.line}, character: ${location.character}`;\n }\n\n getPathRelativeToComponent(filePath: string): string {\n const basePath = this.component.filesystem.files[0].base;\n return relative(basePath, filePath);\n }\n\n /**\n * returns a signature for a node.\n */\n async getSignature(node: Node) {\n return this.tsserver.getSignatureHelp(this.getPath(node), this.getLocation(node));\n }\n\n /**\n * get the position for the tsserver.\n */\n getPosition(sourceFile: ts.SourceFile, line: number, offset: number): number {\n return sourceFile.getPositionOfLineAndCharacter(line - 1, offset - 1);\n }\n\n /**\n * get the path for a source file.\n */\n getPath(node: Node) {\n const sourceFile = node.getSourceFile();\n\n const fileName = sourceFile.fileName;\n\n if (!fileName.startsWith(this.componentRootPath) && !fileName.startsWith(this.hostRootPath)) {\n return join(this.componentRootPath, fileName);\n }\n\n return sourceFile.fileName;\n }\n\n async getQuickInfo(node: Node) {\n const location = this.getLocation(node);\n try {\n return await this.tsserver.getQuickInfo(this.getPath(node), location);\n } catch (err: any) {\n if (err.message === 'No content available.') {\n throw new Error(\n `unable to get quickinfo data from tsserver at ${this.getPath(node)}, Ln ${location.line}, Col ${\n location.character\n }`\n );\n }\n throw err;\n }\n }\n\n async getQuickInfoDisplayString(node: Node): Promise<string> {\n const quickInfo = await this.getQuickInfo(node);\n return quickInfo?.body?.displayString || '';\n }\n\n /**\n * returns the type definition for a type.\n */\n typeDefinition(node: Node) {\n return this.tsserver.getTypeDefinition(this.getPath(node), this.getLocation(node));\n }\n\n visitTypeDefinition() {}\n\n private getPathWithoutExtension(filePath: string) {\n const knownExtensions = ['ts', 'js', 'jsx', 'tsx'];\n const fileExtension = extname(filePath).substring(1);\n\n const filePathWithoutExtension = () => {\n if (knownExtensions.includes(fileExtension)) {\n return filePath.replace(new RegExp(`\\\\.${fileExtension}$`), '');\n }\n return filePath;\n };\n\n if (!isAbsolute(filePath)) {\n return filePathWithoutExtension();\n }\n\n if (filePath.startsWith(this.componentRootPath)) {\n return relative(this.componentRootPath, filePathWithoutExtension());\n }\n if (filePath.startsWith(this.hostRootPath)) {\n return relative(this.hostRootPath, filePathWithoutExtension());\n }\n return filePathWithoutExtension();\n }\n\n private isIndexFile(filePath: string, currentFilePath: string) {\n const indexFilePath = join(filePath, 'index');\n return pathNormalizeToLinux(indexFilePath) === currentFilePath;\n }\n\n findFileInComponent(filePath: string) {\n const normalizedFilePath = pathNormalizeToLinux(filePath);\n const pathToCompareWithoutExtension = this.getPathWithoutExtension(normalizedFilePath);\n\n const matchingFile = this.component.filesystem.files.find((file) => {\n const currentFilePath = pathNormalizeToLinux(file.path);\n const currentFilePathWithoutExtension = this.getPathWithoutExtension(currentFilePath);\n\n const isSameFilePath = pathToCompareWithoutExtension === currentFilePathWithoutExtension;\n\n const matches =\n isSameFilePath || this.isIndexFile(pathToCompareWithoutExtension, currentFilePathWithoutExtension);\n\n return matches;\n });\n return matchingFile;\n }\n\n private parsePackageNameFromPath(path: string) {\n const parts = path.split('node_modules');\n\n if (parts.length === 1) {\n return path;\n }\n\n const lastPart = parts[parts.length - 1].replace(sep, '');\n const pkgParts = lastPart.split('/');\n if (lastPart.startsWith('@')) {\n // scoped package\n return `${pkgParts[0]}/${pkgParts[1]}`;\n }\n const pkgName = pkgParts[0];\n if (pkgName === 'typescript') {\n // it's a built-in type, such as \"string\".\n return '';\n }\n return pkgName;\n }\n\n /**\n * return the file if part of the component.\n * otherwise, a reference to the target package and the type name.\n */\n getSourceFileInsideComponent(filePath: string) {\n const file = this.findFileInComponent(filePath);\n return file && this.extractor.parseSourceFile(file);\n }\n\n async getSourceFileFromNode(node: Node) {\n const filePath = await this.getFilePathByNode(node);\n if (!filePath) {\n return undefined;\n }\n return this.getSourceFileInsideComponent(filePath);\n }\n\n async getFilePathByNode(node: Node) {\n const def = await this.tsserver.getDefinition(this.getPath(node), this.getLocation(node));\n\n const firstDef = head(def?.body);\n return firstDef?.file;\n }\n\n async definitionInfo(node: Node): Promise<protocol.DefinitionInfo | undefined> {\n const location = this.getLocation(node);\n const filePath = this.getPath(node);\n\n const def = await this.tsserver.getDefinition(filePath, location);\n\n const firstDef = head(def?.body);\n\n return firstDef;\n }\n\n /**\n * get a definition for a given node.\n */\n async definition(definition: protocol.DefinitionInfo): Promise<Node | undefined> {\n const startPosition = definition.start;\n const sourceFile = this.getSourceFileInsideComponent(definition.file);\n if (!sourceFile) {\n // it might be an external reference, cant get the node\n return undefined;\n }\n const pos = this.getPosition(sourceFile, startPosition.line, startPosition.offset);\n const nodeAtPos = getTokenAtPosition(sourceFile, pos);\n return nodeAtPos;\n }\n\n /**\n * visit a definition for node - e.g. return it's schema.\n */\n async visitDefinition(node: Node): Promise<SchemaNode | undefined> {\n const definitionInfo = await this.definitionInfo(node);\n if (!definitionInfo) {\n return undefined;\n }\n\n const definition = await this.definition(definitionInfo);\n if (!definition) {\n return this.getTypeRefForExternalNode(node);\n }\n\n return this.visit(definition.parent);\n }\n\n async visit(node: Node): Promise<SchemaNode> {\n if (node.kind === SyntaxKind.Identifier && node.parent.parent.kind !== SyntaxKind.SourceFile) {\n return this.visit(node.parent);\n }\n return this.extractor.computeSchema(node, this);\n }\n\n references() {}\n\n isExported() {}\n\n isFromComponent() {}\n\n async getFileIdentifiers(exportDec: ExportDeclaration | ExportAssignment) {\n const file = exportDec.getSourceFile().fileName;\n const specifierPathStr =\n (exportDec.kind === SyntaxKind.ExportDeclaration && exportDec.moduleSpecifier?.getText()) || '';\n const specifierPath = specifierPathStr.substring(1, specifierPathStr.length - 1);\n const absPath = resolve(file, '..', specifierPath);\n const sourceFile = this.getSourceFileInsideComponent(absPath);\n if (!sourceFile) return [];\n return this.getIdentifiers(sourceFile);\n }\n\n async getFileExports(exportDec: ExportDeclaration | ExportAssignment) {\n const identifiers = await this.getFileIdentifiers(exportDec);\n return identifiers.filter((identifier) => ExportIdentifier.isExportIdentifier(identifier));\n }\n\n async getFileInternals(exportDec: ExportDeclaration | ExportAssignment) {\n const identifiers = await this.getFileIdentifiers(exportDec);\n return identifiers.filter((identifier) => !ExportIdentifier.isExportIdentifier(identifier));\n }\n\n getIdentifiers(node: Node) {\n return this.extractor.computeIdentifiers(node, this);\n }\n\n /**\n * tsserver has two different calls: \"definition\" and \"typeDefinition\".\n * normally, we need the \"typeDefinition\" to get the type data of a node.\n * sometimes, it has no data, for example when the node is of type TypeReference, and then using \"definition\" is\n * helpful. (couldn't find a rule when to use each one. e.g. \"VariableDeclaration\" sometimes has data only in\n * \"definition\" but it's not clear when/why).\n */\n async getDefinition(node: Node) {\n const typeDefinition = await this.typeDefinition(node);\n const headTypeDefinition = head(typeDefinition?.body);\n if (headTypeDefinition) {\n return headTypeDefinition;\n }\n\n const definition = await this.tsserver.getDefinition(node.getSourceFile().fileName, this.getLocation(node));\n const headDefinition = head(definition?.body);\n\n return headDefinition;\n }\n\n // when we can't figure out the component/package/type of this node, we'll use the typeStr as the type.\n private async unknownExactType(node: Node, location: Location, typeStr = 'any', isTypeStrFromQuickInfo = true) {\n if (isTypeStrFromQuickInfo) {\n return new InferenceTypeSchema(location, typeStr || 'any');\n }\n const info = await this.getQuickInfo(node);\n const type = parseTypeFromQuickInfo(info);\n return new InferenceTypeSchema(location, type, typeStr);\n }\n\n // the reason for this check is to avoid infinite loop when calling `this.jump` with the same file+location\n private isDefInSameLocation(node: Node, definition: protocol.FileSpanWithContext) {\n if (definition.file !== node.getSourceFile().fileName) {\n return false;\n }\n const loc = this.getLocation(node);\n\n return loc.line === definition.start.line && loc.character === definition.start.offset;\n }\n\n /**\n * resolve a type by a node and its identifier.\n */\n async resolveType(\n node: Node & { type?: TypeNode },\n typeStr: string,\n isTypeStrFromQuickInfo = true\n ): Promise<SchemaNode> {\n const location = this.getLocation(node);\n\n // check if internal ref with typeInfo\n const internalRef = await this.getTypeRef(typeStr, this.getIdentifierKeyForNode(node), location);\n\n if (internalRef) return internalRef;\n\n // if a node has \"type\" prop, it has the type data of the node. this normally happens when the code has the type\n // explicitly, e.g. `const str: string` vs implicitly `const str = 'some-string'`, which the node won't have \"type\"\n if (node.type && ts.isTypeNode(node.type)) {\n return this.computeSchema(node.type);\n }\n\n const definition = await this.getDefinition(node);\n\n if (!definition) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n if (this.isDefInSameLocation(node, definition)) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const definitionNode = await this.definition(definition);\n\n if (!definitionNode) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const definitionNodeName = definitionNode?.getText();\n\n // check if internal ref with definition info\n const definitionInternalRef = await this.getTypeRef(\n definitionNodeName,\n this.getIdentifierKeyForNode(definitionNode),\n location\n );\n\n if (definitionInternalRef) return definitionInternalRef;\n\n const transformer = this.extractor.getTransformer(definitionNode, this);\n\n if (transformer === undefined) {\n const file = this.findFileInComponent(definition.file);\n if (!file) return this.getTypeRefForExternalPath(typeStr, definition.file, location);\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const schemaNode = await this.visit(definitionNode);\n\n if (!schemaNode) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const apiTransformer = this.extractor.getAPITransformer(schemaNode);\n let transformedApi = apiTransformer ? await apiTransformer.transform(schemaNode, this) : schemaNode;\n if (!transformedApi) {\n transformedApi = new IgnoredSchema(schemaNode);\n }\n return transformedApi;\n }\n\n private getCompIdByPkgName(pkgName: string): ComponentID | undefined {\n return this.componentDeps.find((dep) => dep.packageName === pkgName)?.componentId;\n }\n\n async getTypeRef(typeStr: string, filePath: string, location: Location): Promise<TypeRefSchema | undefined> {\n const nodeIdentifierKey = this.getIdentifierKey(filePath);\n const mainFileIdentifierKey = this.mainFileIdentifierKey;\n\n const nodeIdentifierList = this.identifiers.get(nodeIdentifierKey);\n const mainIdentifierList = this.identifiers.get(mainFileIdentifierKey);\n\n const nodeIdentifier = new Identifier(typeStr, nodeIdentifierKey);\n const mainIdentifier = new Identifier(typeStr, mainFileIdentifierKey);\n\n const parsedNodeIdentifier = nodeIdentifierList?.find(nodeIdentifier);\n const parsedMainIdentifier = mainIdentifierList?.find(mainIdentifier);\n const isExportedFromMain = parsedMainIdentifier && ExportIdentifier.isExportIdentifier(parsedMainIdentifier);\n\n if (!parsedNodeIdentifier) return undefined;\n\n const internalRef = !isExportedFromMain;\n\n if (internalRef) {\n this.setInternalIdentifiers(filePath, new IdentifierList([parsedNodeIdentifier]));\n }\n\n return this.resolveTypeRef(parsedNodeIdentifier, location, isExportedFromMain);\n }\n\n async resolveTypeRef(\n identifier: Identifier,\n location: Location,\n isExportedFromMain?: boolean\n ): Promise<TypeRefSchema> {\n const sourceFilePath = identifier.sourceFilePath;\n\n if (!sourceFilePath || (isExportedFromMain && isRelativeImport(sourceFilePath))) {\n return new TypeRefSchema(\n location,\n identifier.id,\n undefined,\n undefined,\n !isExportedFromMain ? this.getPathRelativeToComponent(identifier.filePath) : undefined\n );\n }\n\n if (!isRelativeImport(sourceFilePath)) {\n const pkgName = this.parsePackageNameFromPath(sourceFilePath);\n const compIdByPkg = this.getCompIdByPkgName(pkgName);\n\n const compIdByPath = await this.extractor.getComponentIDByPath(sourceFilePath);\n\n if (compIdByPath) {\n return new TypeRefSchema(location, identifier.id, compIdByPath);\n }\n\n if (compIdByPkg) {\n return new TypeRefSchema(location, identifier.id, compIdByPkg);\n }\n\n // package without comp id\n return new TypeRefSchema(location, identifier.id, undefined, pkgName);\n }\n\n const relativeDir = identifier.filePath.substring(0, identifier.filePath.lastIndexOf('/'));\n const absFilePath = resolve(this.componentRootPath, relativeDir, sourceFilePath);\n\n const compFilePath = this.findFileInComponent(absFilePath);\n if (!compFilePath) {\n // @todo handle this better\n throw new Error(\n `cannot find file in component \\n source file path ${sourceFilePath}\\n\n identifier file path ${identifier.filePath}\\nrelative dir ${relativeDir}\\n\n absFilePath ${absFilePath}`\n );\n return new TypeRefSchema(location, identifier.id);\n }\n\n const idKey = this.getIdentifierKey(compFilePath?.path);\n\n // if re exported from a file, recurse until definition\n const exportedIdentifier = (this.identifiers.get(idKey)?.identifiers || []).find((i) => i.id === identifier.id);\n\n if (exportedIdentifier) {\n return this.resolveTypeRef(exportedIdentifier, location, isExportedFromMain);\n }\n\n return new TypeRefSchema(location, identifier.id);\n }\n\n async getTypeRefForExternalNode(node: Node): Promise<TypeRefSchema> {\n const info = await this.getQuickInfo(node);\n const typeStr = parseTypeFromQuickInfo(info);\n const location = this.getLocation(node);\n const filePath = this.getPath(node);\n return this.getTypeRefForExternalPath(typeStr, filePath, location);\n }\n\n async getTypeRefForExternalPath(typeStr: string, filePath: string, location: Location): Promise<TypeRefSchema> {\n const compIdByPath = await this.extractor.getComponentIDByPath(filePath);\n if (compIdByPath) {\n return new TypeRefSchema(location, typeStr, compIdByPath);\n }\n const pkgName = this.parsePackageNameFromPath(filePath);\n const compIdByPkg = this.getCompIdByPkgName(pkgName);\n if (compIdByPkg) {\n return new TypeRefSchema(location, typeStr, compIdByPkg);\n }\n return new TypeRefSchema(location, typeStr, undefined, pkgName);\n }\n\n async jsDocToDocSchema(node: Node): Promise<DocSchema | undefined> {\n if (!canHaveJsDoc(node)) {\n return undefined;\n }\n const jsDocs = getJsDoc(node);\n\n if (!jsDocs.length) {\n return undefined;\n }\n // not sure how common it is to have multiple JSDocs. never seen it before.\n // regardless, in typescript implementation of methods like `getJSDocDeprecatedTag()`, they use the first one. (`getFirstJSDocTag()`)\n const jsDoc = jsDocs[0];\n\n const location = this.getLocation(jsDoc);\n // Extract link comments and filter them out from the main comment\n const linkComments = (\n typeof jsDoc.comment !== 'string' ? (jsDoc.comment?.filter((c) => c.kind === ts.SyntaxKind.JSDocLink) ?? []) : []\n ) as ts.JSDocLink[];\n const linkTags = linkComments.map((linkComment) => {\n const tagName = 'link';\n const tagText = `${linkComment.name?.getText() ?? ''}${linkComment.text ?? ''}`;\n const tagLocation = this.getLocation(linkComment);\n return new TagSchema(tagLocation, tagName, tagText);\n });\n\n const commentsWithoutLink = (typeof jsDoc.comment !== 'string'\n ? (jsDoc.comment?.filter((c) => c.kind !== ts.SyntaxKind.JSDocLink) ?? '')\n : jsDoc.comment) as unknown as ts.NodeArray<ts.JSDocComment>;\n\n const comment = getTextOfJSDocComment(commentsWithoutLink);\n\n const tags = (jsDoc.tags ? await pMapSeries(jsDoc.tags, (tag) => tagParser(tag, this, this.formatter)) : []).concat(\n linkTags\n );\n\n return new DocSchema(location, jsDoc.getText(), comment, tags);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_harmony","_cli","_logger","_schema","_typescriptModules","_workspace","_dependencyResolver","_pMapSeries","_tsServer","_typescript2","_aspectLoader","_watcher","_builder","_envs","_scope","_lodash","_typescript3","_typescript4","_typescript5","_schemaTransformer","_transformers","_checkTypes","_removeTypesTask","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TypescriptMain","constructor","logger","schemaTransformerSlot","apiTransformerSlot","workspace","scope","depResolver","envs","aspectLoader","createCompiler","options","transformers","tsModule","ts","configMutator","TypescriptConfigMutator","transformerContext","afterMutation","runTransformersWithContext","clone","afterMutationWithoutTsconfig","raw","tsconfig","TypescriptCompiler","TypescriptAspect","id","getTsserverClient","tsServer","registerSchemaTransformer","register","registerApiTransformer","initTsserverClient","projectPath","files","TsserverClient","init","initTsserverClientFromWorkspace","Error","path","createCjsCompiler","getCjsTransformer","createEsmCompiler","getEsmTransformer","cjsTransformer","config","setModule","esmTransformer","setTarget","compilerOptions","module","lib","createSchemaExtractor","tsserverPath","contextPath","schemaTransformers","apiTransformers","schemaTransformersFromSlot","flatten","Array","from","values","apiTransformersFromSlot","allSchemaTransformers","concat","allApiTransformers","TypeScriptExtractor","getCjsPackageJsonProps","main","types","getEsmPackageJsonProps","type","getSupportedFilesForTsserver","components","map","c","filesystem","flat","f","endsWith","onPreWatch","componentIds","watchOpts","spawnTSServer","verbose","checkTypes","getMany","printTypeErrors","Boolean","onComponentChange","component","results","pMapSeries","file","onFileChange","provider","schema","loggerExt","cli","watcher","builder","registerParser","TypeScriptParser","createLogger","registerPlugins","SchemaTransformerPlugin","tsMain","ExportDeclarationTransformer","ExportAssignmentTransformer","FunctionLikeTransformer","ParameterTransformer","SetAccessorTransformer","GetAccessorTransformer","IndexSignatureTransformer","PropertyDeclarationTransformer","VariableStatementTransformer","VariableDeclaration","SourceFileTransformer","TypeAliasTransformer","ClassDeclarationTransformer","InterfaceDeclarationTransformer","EnumDeclarationTransformer","BindingElementTransformer","IntersectionTypeTransformer","UnionTypeTransformer","TypeReferenceTransformer","TypeLiteralTransformer","LiteralTypeTransformer","TypeQueryTransformer","ArrayTypeTransformer","TypeOperatorTransformer","KeywordTypeTransformer","TupleTypeTransformer","ParenthesizedTypeTransformer","TypePredicateTransformer","IndexedAccessTypeTransformer","TemplateLiteralTypeSpanTransformer","TemplateLiteralTypeTransformer","ThisTypeTransformer","ConditionalTypeTransformer","NamedTupleTransformer","ConstructorTransformer","ImportDeclarationTransformer","ExpressionStatementTransformer","ModuleDeclarationTransformer","DecoratorTransformer","ObjectLiteralExpressionTransformer","ArrayLiteralExpressionTransformer","PropertyAssignmentTransformer","LiteralValueTransformer","registerOnPreWatch","bind","registerOnComponentChange","registerOnComponentAdd","removeTypesTask","RemoveTypesTask","registerSnapTasks","registerTagTasks","checkTypesCmd","CheckTypesCmd","exports","MainRuntime","SchemaAspect","LoggerAspect","AspectLoaderAspect","WorkspaceAspect","CLIAspect","DependencyResolverAspect","EnvsAspect","WatcherAspect","ScopeAspect","BuilderAspect","Slot","withType","addRuntime","context","isArray","newConfig","reduce","acc","transformer","_default"],"sources":["typescript.main.runtime.ts"],"sourcesContent":["import ts from 'typescript';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Compiler } from '@teambit/compiler';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { SchemaAspect, SchemaExtractor, SchemaMain } from '@teambit/schema';\nimport { PackageJsonProps } from '@teambit/pkg';\nimport { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { Workspace } from '@teambit/workspace';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport pMapSeries from 'p-map-series';\nimport { TsserverClient, TsserverClientOpts } from '@teambit/ts-server';\nimport { TypescriptCompiler } from '@teambit/typescript.typescript-compiler';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { WatcherAspect, WatcherMain, WatchOptions } from '@teambit/watcher';\nimport type { Component, ComponentID } from '@teambit/component';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { ScopeMain, ScopeAspect } from '@teambit/scope';\nimport { flatten } from 'lodash';\nimport { TypeScriptExtractor } from './typescript.extractor';\nimport { TypeScriptCompilerOptions } from './compiler-options';\nimport { TypescriptAspect } from './typescript.aspect';\nimport { TypeScriptParser } from './typescript.parser';\nimport { SchemaNodeTransformer, SchemaTransformer } from './schema-transformer';\nimport { SchemaTransformerPlugin } from './schema-transformer.plugin';\nimport {\n ExportDeclarationTransformer,\n TypeAliasTransformer,\n FunctionLikeTransformer,\n SetAccessorTransformer,\n GetAccessorTransformer,\n IndexSignatureTransformer,\n PropertyDeclarationTransformer,\n ParameterTransformer,\n VariableStatementTransformer,\n VariableDeclaration,\n SourceFileTransformer,\n ClassDeclarationTransformer,\n InterfaceDeclarationTransformer,\n EnumDeclarationTransformer,\n BindingElementTransformer,\n ExportAssignmentTransformer,\n ImportDeclarationTransformer,\n IntersectionTypeTransformer,\n UnionTypeTransformer,\n TypeReferenceTransformer,\n TypeLiteralTransformer,\n LiteralTypeTransformer,\n TypeQueryTransformer,\n ArrayTypeTransformer,\n TypeOperatorTransformer,\n KeywordTypeTransformer,\n TupleTypeTransformer,\n ParenthesizedTypeTransformer,\n TypePredicateTransformer,\n IndexedAccessTypeTransformer,\n TemplateLiteralTypeSpanTransformer,\n TemplateLiteralTypeTransformer,\n ThisTypeTransformer,\n ConditionalTypeTransformer,\n NamedTupleTransformer,\n ConstructorTransformer,\n ExpressionStatementTransformer,\n ModuleDeclarationTransformer,\n ObjectLiteralExpressionTransformer,\n ArrayLiteralExpressionTransformer,\n PropertyAssignmentTransformer,\n DecoratorTransformer,\n LiteralValueTransformer,\n} from './transformers';\nimport { CheckTypesCmd } from './cmds/check-types.cmd';\nimport { RemoveTypesTask } from './remove-types-task';\n\nexport type TsMode = 'build' | 'dev';\n\nexport type SchemaTransformerSlot = SlotRegistry<SchemaTransformer[]>;\nexport type APITransformerSlot = SlotRegistry<SchemaNodeTransformer[]>;\n\nexport type TsConfigTransformContext = {\n // mode: TsMode;\n};\n\nexport type TsconfigWriterOptions = {\n clean?: boolean;\n silent?: boolean; // no prompt\n dedupe?: boolean;\n dryRun?: boolean;\n dryRunWithTsconfig?: boolean;\n};\n\nexport type TsConfigTransformer = (\n config: TypescriptConfigMutator,\n context: TsConfigTransformContext\n) => TypescriptConfigMutator;\n\nexport class TypescriptMain {\n constructor(\n private logger: Logger,\n readonly schemaTransformerSlot: SchemaTransformerSlot,\n readonly apiTransformerSlot: APITransformerSlot,\n readonly workspace: Workspace,\n readonly scope: ScopeMain,\n readonly depResolver: DependencyResolverMain,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain\n ) {}\n\n private tsServer: TsserverClient;\n /**\n * create a new compiler.\n */\n createCompiler(\n options: TypeScriptCompilerOptions,\n transformers: TsConfigTransformer[] = [],\n tsModule = ts\n ): Compiler {\n const configMutator = new TypescriptConfigMutator(options);\n const transformerContext: TsConfigTransformContext = {};\n const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);\n const afterMutationWithoutTsconfig = { ...afterMutation.raw, tsconfig: '' };\n\n return new TypescriptCompiler(\n TypescriptAspect.id,\n this.logger,\n afterMutationWithoutTsconfig,\n afterMutation.raw.tsconfig,\n tsModule as any\n );\n }\n\n /**\n * get TsserverClient instance if initiated already, otherwise, return undefined.\n */\n getTsserverClient(): TsserverClient | undefined {\n return this.tsServer;\n }\n\n registerSchemaTransformer(transformers: SchemaTransformer[]) {\n this.schemaTransformerSlot.register(transformers);\n return this;\n }\n\n registerApiTransformer(transformers: SchemaNodeTransformer[]) {\n this.apiTransformerSlot.register(transformers);\n return this;\n }\n\n /**\n * starts a tsserver process to communicate with its API.\n * @param projectPath absolute path of the project root directory\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClient(\n projectPath: string,\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n this.tsServer = new TsserverClient(projectPath, this.logger, options, files);\n await this.tsServer.init();\n return this.tsServer;\n }\n\n /**\n * starts a tsserver process to communicate with its API. use only when running on the workspace.\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClientFromWorkspace(\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n if (!this.workspace) {\n throw new Error(`initTsserverClientFromWorkspace: workspace was not found`);\n }\n return this.initTsserverClient(this.workspace.path, options, files);\n }\n\n /**\n * Create a compiler instance and run the cjs transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getCjsTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a compiler instance and run the esm transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getEsmTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a transformer that change the ts module to CommonJS\n * @returns\n */\n getCjsTransformer(): TsConfigTransformer {\n const cjsTransformer = (config: TypescriptConfigMutator) => {\n config.setModule('CommonJS');\n return config;\n };\n return cjsTransformer;\n }\n\n /**\n * Create a transformer that change the ts module to ES2020\n * @returns\n */\n getEsmTransformer(): TsConfigTransformer {\n const esmTransformer = (config: TypescriptConfigMutator) => {\n config.setTarget('ES2017');\n config.raw.tsconfig.compilerOptions.module = 'es2020';\n config.raw.tsconfig.compilerOptions.lib = ['es2021', 'dom', 'ESNext.String', 'dom.Iterable'];\n return config;\n };\n return esmTransformer;\n }\n\n /**\n * create an instance of a typescript semantic schema extractor.\n */\n createSchemaExtractor(\n tsconfig: any,\n tsserverPath?: string,\n contextPath?: string,\n schemaTransformers: SchemaTransformer[] = [],\n apiTransformers: SchemaNodeTransformer[] = []\n ): SchemaExtractor {\n const schemaTransformersFromSlot = flatten(Array.from(this.schemaTransformerSlot.values()));\n const apiTransformersFromSlot = flatten(Array.from(this.apiTransformerSlot.values()));\n\n const allSchemaTransformers = schemaTransformers.concat(schemaTransformersFromSlot);\n const allApiTransformers = apiTransformers.concat(apiTransformersFromSlot);\n\n return new TypeScriptExtractor(\n tsconfig,\n allSchemaTransformers,\n allApiTransformers,\n this,\n tsserverPath || this.workspace?.path || '',\n contextPath || this.workspace?.path || '',\n this.depResolver,\n this.workspace,\n this.scope,\n this.aspectLoader,\n this.logger\n );\n }\n\n /**\n * add the default package json properties to the component\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return {\n main: 'dist/{main}.js',\n types: '{main}.ts',\n };\n }\n\n /**\n * add type: module to the package.json props and the default props\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return {\n // main: 'dist-esm/{main}.js',\n main: 'dist/{main}.js',\n type: 'module',\n types: '{main}.ts',\n };\n }\n\n getSupportedFilesForTsserver(components: Component[]): string[] {\n const files = components\n .map((c) => c.filesystem.files)\n .flat()\n .map((f) => f.path);\n return files.filter((f) => f.endsWith('.ts') || f.endsWith('.tsx'));\n }\n\n private async onPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions) {\n const workspace = this.workspace;\n if (!workspace || !watchOpts.spawnTSServer) {\n return;\n }\n const { verbose, checkTypes } = watchOpts;\n const files = checkTypes ? this.getSupportedFilesForTsserver(await workspace.getMany(componentIds)) : [];\n const printTypeErrors = Boolean(checkTypes);\n await this.initTsserverClientFromWorkspace({ verbose, checkTypes, printTypeErrors }, files);\n }\n\n private async onComponentChange(component: Component, files: string[]) {\n if (!this.tsServer) {\n return {\n results: 'N/A',\n };\n }\n await pMapSeries(files, (file) => this.tsServer.onFileChange(file));\n return {\n results: 'succeed',\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n SchemaAspect,\n LoggerAspect,\n AspectLoaderAspect,\n WorkspaceAspect,\n CLIAspect,\n DependencyResolverAspect,\n EnvsAspect,\n WatcherAspect,\n ScopeAspect,\n BuilderAspect,\n ];\n static slots = [Slot.withType<SchemaTransformer[]>(), Slot.withType<SchemaNodeTransformer[]>()];\n\n static async provider(\n [schema, loggerExt, aspectLoader, workspace, cli, depResolver, envs, watcher, scope, builder]: [\n SchemaMain,\n LoggerMain,\n AspectLoaderMain,\n Workspace,\n CLIMain,\n DependencyResolverMain,\n EnvsMain,\n WatcherMain,\n ScopeMain,\n BuilderMain\n ],\n config,\n [schemaTransformerSlot, apiTransformerSlot]: [SchemaTransformerSlot, APITransformerSlot]\n ) {\n schema.registerParser(new TypeScriptParser());\n const logger = loggerExt.createLogger(TypescriptAspect.id);\n\n aspectLoader.registerPlugins([new SchemaTransformerPlugin(schemaTransformerSlot)]);\n const tsMain = new TypescriptMain(\n logger,\n schemaTransformerSlot,\n apiTransformerSlot,\n workspace,\n scope,\n depResolver,\n envs,\n aspectLoader\n );\n tsMain.registerSchemaTransformer([\n new ExportDeclarationTransformer(),\n new ExportAssignmentTransformer(),\n new FunctionLikeTransformer(),\n new ParameterTransformer(),\n new SetAccessorTransformer(),\n new GetAccessorTransformer(),\n new IndexSignatureTransformer(),\n new PropertyDeclarationTransformer(),\n new VariableStatementTransformer(),\n new VariableDeclaration(),\n new SourceFileTransformer(),\n new TypeAliasTransformer(),\n new ClassDeclarationTransformer(),\n new InterfaceDeclarationTransformer(),\n new EnumDeclarationTransformer(),\n new BindingElementTransformer(),\n new IntersectionTypeTransformer(),\n new UnionTypeTransformer(),\n new TypeReferenceTransformer(),\n new TypeLiteralTransformer(),\n new LiteralTypeTransformer(),\n new TypeQueryTransformer(),\n new ArrayTypeTransformer(),\n new TypeOperatorTransformer(),\n new KeywordTypeTransformer(),\n new TupleTypeTransformer(),\n new ParenthesizedTypeTransformer(),\n new TypePredicateTransformer(),\n new IndexedAccessTypeTransformer(),\n new TemplateLiteralTypeSpanTransformer(),\n new TemplateLiteralTypeTransformer(),\n new ThisTypeTransformer(),\n new ConditionalTypeTransformer(),\n new NamedTupleTransformer(),\n new ConstructorTransformer(),\n new ImportDeclarationTransformer(),\n new ExpressionStatementTransformer(),\n new ModuleDeclarationTransformer(),\n new DecoratorTransformer(),\n new ObjectLiteralExpressionTransformer(),\n new ArrayLiteralExpressionTransformer(),\n new PropertyAssignmentTransformer(),\n new LiteralValueTransformer(),\n ]);\n\n if (workspace) {\n watcher.registerOnPreWatch(tsMain.onPreWatch.bind(tsMain));\n workspace.registerOnComponentChange(tsMain.onComponentChange.bind(tsMain));\n workspace.registerOnComponentAdd(tsMain.onComponentChange.bind(tsMain));\n }\n\n const removeTypesTask = new RemoveTypesTask();\n builder.registerSnapTasks([removeTypesTask]);\n builder.registerTagTasks([removeTypesTask]);\n\n const checkTypesCmd = new CheckTypesCmd(tsMain, workspace, logger);\n cli.register(checkTypesCmd);\n\n return tsMain;\n }\n}\n\nTypescriptAspect.addRuntime(TypescriptMain);\n\nexport function runTransformersWithContext(\n config: TypescriptConfigMutator,\n transformers: TsConfigTransformer[] = [],\n context: TsConfigTransformContext\n): TypescriptConfigMutator {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n\nexport default TypescriptMain;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_harmony","_cli","_logger","_schema","_typescriptModules","_workspace","_dependencyResolver","_pMapSeries","_tsServer","_typescript2","_aspectLoader","_watcher","_builder","_envs","_scope","_lodash","_typescript3","_typescript4","_typescript5","_schemaTransformer","_transformers","_checkTypes","_removeTypesTask","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TypescriptMain","constructor","logger","schemaTransformerSlot","apiTransformerSlot","workspace","scope","depResolver","envs","aspectLoader","createCompiler","options","transformers","tsModule","ts","configMutator","TypescriptConfigMutator","transformerContext","afterMutation","runTransformersWithContext","clone","afterMutationWithoutTsconfig","raw","tsconfig","TypescriptCompiler","TypescriptAspect","id","getTsserverClient","tsServer","registerSchemaTransformer","register","registerApiTransformer","initTsserverClient","projectPath","files","TsserverClient","init","initTsserverClientFromWorkspace","Error","path","createCjsCompiler","getCjsTransformer","createEsmCompiler","getEsmTransformer","cjsTransformer","config","setModule","esmTransformer","setTarget","compilerOptions","module","lib","createSchemaExtractor","tsserverPath","contextPath","schemaTransformers","apiTransformers","schemaTransformersFromSlot","flatten","Array","from","values","apiTransformersFromSlot","allSchemaTransformers","concat","allApiTransformers","TypeScriptExtractor","getCjsPackageJsonProps","main","types","getEsmPackageJsonProps","type","getSupportedFilesForTsserver","components","map","c","filesystem","flat","f","endsWith","onPreWatch","componentIds","watchOpts","spawnTSServer","verbose","checkTypes","getMany","printTypeErrors","Boolean","onComponentChange","component","results","pMapSeries","file","onFileChange","provider","schema","loggerExt","cli","watcher","builder","registerParser","TypeScriptParser","createLogger","registerPlugins","SchemaTransformerPlugin","tsMain","ExportDeclarationTransformer","ExportAssignmentTransformer","FunctionLikeTransformer","ParameterTransformer","SetAccessorTransformer","GetAccessorTransformer","IndexSignatureTransformer","PropertyDeclarationTransformer","VariableStatementTransformer","VariableDeclaration","SourceFileTransformer","TypeAliasTransformer","ClassDeclarationTransformer","InterfaceDeclarationTransformer","EnumDeclarationTransformer","BindingElementTransformer","IntersectionTypeTransformer","UnionTypeTransformer","TypeReferenceTransformer","TypeLiteralTransformer","LiteralTypeTransformer","TypeQueryTransformer","ArrayTypeTransformer","TypeOperatorTransformer","KeywordTypeTransformer","TupleTypeTransformer","ParenthesizedTypeTransformer","TypePredicateTransformer","IndexedAccessTypeTransformer","TemplateLiteralTypeSpanTransformer","TemplateLiteralTypeTransformer","ThisTypeTransformer","ConditionalTypeTransformer","NamedTupleTransformer","ConstructorTransformer","ImportDeclarationTransformer","ExpressionStatementTransformer","ModuleDeclarationTransformer","DecoratorTransformer","ObjectLiteralExpressionTransformer","ArrayLiteralExpressionTransformer","PropertyAssignmentTransformer","LiteralValueTransformer","registerOnPreWatch","bind","registerOnComponentChange","registerOnComponentAdd","removeTypesTask","RemoveTypesTask","registerSnapTasks","registerTagTasks","checkTypesCmd","CheckTypesCmd","exports","MainRuntime","SchemaAspect","LoggerAspect","AspectLoaderAspect","WorkspaceAspect","CLIAspect","DependencyResolverAspect","EnvsAspect","WatcherAspect","ScopeAspect","BuilderAspect","Slot","withType","addRuntime","context","isArray","newConfig","reduce","acc","transformer","_default"],"sources":["typescript.main.runtime.ts"],"sourcesContent":["import ts from 'typescript';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Compiler } from '@teambit/compiler';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { SchemaAspect, SchemaExtractor, SchemaMain } from '@teambit/schema';\nimport { PackageJsonProps } from '@teambit/pkg';\nimport { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { Workspace } from '@teambit/workspace';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport pMapSeries from 'p-map-series';\nimport { TsserverClient, TsserverClientOpts } from '@teambit/ts-server';\nimport { TypescriptCompiler } from '@teambit/typescript.typescript-compiler';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { WatcherAspect, WatcherMain, WatchOptions } from '@teambit/watcher';\nimport type { Component, ComponentID } from '@teambit/component';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { ScopeMain, ScopeAspect } from '@teambit/scope';\nimport { flatten } from 'lodash';\nimport { TypeScriptExtractor } from './typescript.extractor';\nimport { TypeScriptCompilerOptions } from './compiler-options';\nimport { TypescriptAspect } from './typescript.aspect';\nimport { TypeScriptParser } from './typescript.parser';\nimport { SchemaNodeTransformer, SchemaTransformer } from './schema-transformer';\nimport { SchemaTransformerPlugin } from './schema-transformer.plugin';\nimport {\n ExportDeclarationTransformer,\n TypeAliasTransformer,\n FunctionLikeTransformer,\n SetAccessorTransformer,\n GetAccessorTransformer,\n IndexSignatureTransformer,\n PropertyDeclarationTransformer,\n ParameterTransformer,\n VariableStatementTransformer,\n VariableDeclaration,\n SourceFileTransformer,\n ClassDeclarationTransformer,\n InterfaceDeclarationTransformer,\n EnumDeclarationTransformer,\n BindingElementTransformer,\n ExportAssignmentTransformer,\n ImportDeclarationTransformer,\n IntersectionTypeTransformer,\n UnionTypeTransformer,\n TypeReferenceTransformer,\n TypeLiteralTransformer,\n LiteralTypeTransformer,\n TypeQueryTransformer,\n ArrayTypeTransformer,\n TypeOperatorTransformer,\n KeywordTypeTransformer,\n TupleTypeTransformer,\n ParenthesizedTypeTransformer,\n TypePredicateTransformer,\n IndexedAccessTypeTransformer,\n TemplateLiteralTypeSpanTransformer,\n TemplateLiteralTypeTransformer,\n ThisTypeTransformer,\n ConditionalTypeTransformer,\n NamedTupleTransformer,\n ConstructorTransformer,\n ExpressionStatementTransformer,\n ModuleDeclarationTransformer,\n ObjectLiteralExpressionTransformer,\n ArrayLiteralExpressionTransformer,\n PropertyAssignmentTransformer,\n DecoratorTransformer,\n LiteralValueTransformer,\n} from './transformers';\nimport { CheckTypesCmd } from './cmds/check-types.cmd';\nimport { RemoveTypesTask } from './remove-types-task';\n\nexport type TsMode = 'build' | 'dev';\n\nexport type SchemaTransformerSlot = SlotRegistry<SchemaTransformer[]>;\nexport type APITransformerSlot = SlotRegistry<SchemaNodeTransformer[]>;\n\nexport type TsConfigTransformContext = {\n // mode: TsMode;\n};\n\nexport type TsconfigWriterOptions = {\n clean?: boolean;\n silent?: boolean; // no prompt\n dedupe?: boolean;\n dryRun?: boolean;\n dryRunWithTsconfig?: boolean;\n};\n\nexport type TsConfigTransformer = (\n config: TypescriptConfigMutator,\n context: TsConfigTransformContext\n) => TypescriptConfigMutator;\n\nexport class TypescriptMain {\n constructor(\n private logger: Logger,\n readonly schemaTransformerSlot: SchemaTransformerSlot,\n readonly apiTransformerSlot: APITransformerSlot,\n readonly workspace: Workspace,\n readonly scope: ScopeMain,\n readonly depResolver: DependencyResolverMain,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain\n ) {}\n\n private tsServer: TsserverClient;\n /**\n * create a new compiler.\n */\n createCompiler(\n options: TypeScriptCompilerOptions,\n transformers: TsConfigTransformer[] = [],\n tsModule = ts\n ): Compiler {\n const configMutator = new TypescriptConfigMutator(options);\n const transformerContext: TsConfigTransformContext = {};\n const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);\n const afterMutationWithoutTsconfig = { ...afterMutation.raw, tsconfig: '' };\n\n return new TypescriptCompiler(\n TypescriptAspect.id,\n this.logger,\n afterMutationWithoutTsconfig,\n afterMutation.raw.tsconfig,\n tsModule as any\n );\n }\n\n /**\n * get TsserverClient instance if initiated already, otherwise, return undefined.\n */\n getTsserverClient(): TsserverClient | undefined {\n return this.tsServer;\n }\n\n registerSchemaTransformer(transformers: SchemaTransformer[]) {\n this.schemaTransformerSlot.register(transformers);\n return this;\n }\n\n registerApiTransformer(transformers: SchemaNodeTransformer[]) {\n this.apiTransformerSlot.register(transformers);\n return this;\n }\n\n /**\n * starts a tsserver process to communicate with its API.\n * @param projectPath absolute path of the project root directory\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClient(\n projectPath: string,\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n this.tsServer = new TsserverClient(projectPath, this.logger, options, files);\n await this.tsServer.init();\n return this.tsServer;\n }\n\n /**\n * starts a tsserver process to communicate with its API. use only when running on the workspace.\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClientFromWorkspace(\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n if (!this.workspace) {\n throw new Error(`initTsserverClientFromWorkspace: workspace was not found`);\n }\n return this.initTsserverClient(this.workspace.path, options, files);\n }\n\n /**\n * Create a compiler instance and run the cjs transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getCjsTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a compiler instance and run the esm transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getEsmTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a transformer that change the ts module to CommonJS\n * @returns\n */\n getCjsTransformer(): TsConfigTransformer {\n const cjsTransformer = (config: TypescriptConfigMutator) => {\n config.setModule('CommonJS');\n return config;\n };\n return cjsTransformer;\n }\n\n /**\n * Create a transformer that change the ts module to ES2020\n * @returns\n */\n getEsmTransformer(): TsConfigTransformer {\n const esmTransformer = (config: TypescriptConfigMutator) => {\n config.setTarget('ES2017');\n config.raw.tsconfig.compilerOptions.module = 'es2020';\n config.raw.tsconfig.compilerOptions.lib = ['es2021', 'dom', 'ESNext.String', 'dom.Iterable'];\n return config;\n };\n return esmTransformer;\n }\n\n /**\n * create an instance of a typescript semantic schema extractor.\n */\n createSchemaExtractor(\n tsconfig: any,\n tsserverPath?: string,\n contextPath?: string,\n schemaTransformers: SchemaTransformer[] = [],\n apiTransformers: SchemaNodeTransformer[] = []\n ): SchemaExtractor {\n const schemaTransformersFromSlot = flatten(Array.from(this.schemaTransformerSlot.values()));\n const apiTransformersFromSlot = flatten(Array.from(this.apiTransformerSlot.values()));\n\n const allSchemaTransformers = schemaTransformers.concat(schemaTransformersFromSlot);\n const allApiTransformers = apiTransformers.concat(apiTransformersFromSlot);\n\n return new TypeScriptExtractor(\n tsconfig,\n allSchemaTransformers,\n allApiTransformers,\n this,\n tsserverPath || this.workspace?.path || '',\n contextPath || this.workspace?.path || '',\n this.depResolver,\n this.workspace,\n this.scope,\n this.aspectLoader,\n this.logger\n );\n }\n\n /**\n * add the default package json properties to the component\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return {\n main: 'dist/{main}.js',\n types: '{main}.ts',\n };\n }\n\n /**\n * add type: module to the package.json props and the default props\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return {\n // main: 'dist-esm/{main}.js',\n main: 'dist/{main}.js',\n type: 'module',\n types: '{main}.ts',\n };\n }\n\n getSupportedFilesForTsserver(components: Component[]): string[] {\n const files = components\n .map((c) => c.filesystem.files)\n .flat()\n .map((f) => f.path);\n return files.filter((f) => f.endsWith('.ts') || f.endsWith('.tsx'));\n }\n\n private async onPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions) {\n const workspace = this.workspace;\n if (!workspace || !watchOpts.spawnTSServer) {\n return;\n }\n const { verbose, checkTypes } = watchOpts;\n const files = checkTypes ? this.getSupportedFilesForTsserver(await workspace.getMany(componentIds)) : [];\n const printTypeErrors = Boolean(checkTypes);\n await this.initTsserverClientFromWorkspace({ verbose, checkTypes, printTypeErrors }, files);\n }\n\n private async onComponentChange(component: Component, files: string[]) {\n if (!this.tsServer) {\n return {\n results: 'N/A',\n };\n }\n await pMapSeries(files, (file) => this.tsServer.onFileChange(file));\n return {\n results: 'succeed',\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n SchemaAspect,\n LoggerAspect,\n AspectLoaderAspect,\n WorkspaceAspect,\n CLIAspect,\n DependencyResolverAspect,\n EnvsAspect,\n WatcherAspect,\n ScopeAspect,\n BuilderAspect,\n ];\n static slots = [Slot.withType<SchemaTransformer[]>(), Slot.withType<SchemaNodeTransformer[]>()];\n\n static async provider(\n [schema, loggerExt, aspectLoader, workspace, cli, depResolver, envs, watcher, scope, builder]: [\n SchemaMain,\n LoggerMain,\n AspectLoaderMain,\n Workspace,\n CLIMain,\n DependencyResolverMain,\n EnvsMain,\n WatcherMain,\n ScopeMain,\n BuilderMain,\n ],\n config,\n [schemaTransformerSlot, apiTransformerSlot]: [SchemaTransformerSlot, APITransformerSlot]\n ) {\n schema.registerParser(new TypeScriptParser());\n const logger = loggerExt.createLogger(TypescriptAspect.id);\n\n aspectLoader.registerPlugins([new SchemaTransformerPlugin(schemaTransformerSlot)]);\n const tsMain = new TypescriptMain(\n logger,\n schemaTransformerSlot,\n apiTransformerSlot,\n workspace,\n scope,\n depResolver,\n envs,\n aspectLoader\n );\n tsMain.registerSchemaTransformer([\n new ExportDeclarationTransformer(),\n new ExportAssignmentTransformer(),\n new FunctionLikeTransformer(),\n new ParameterTransformer(),\n new SetAccessorTransformer(),\n new GetAccessorTransformer(),\n new IndexSignatureTransformer(),\n new PropertyDeclarationTransformer(),\n new VariableStatementTransformer(),\n new VariableDeclaration(),\n new SourceFileTransformer(),\n new TypeAliasTransformer(),\n new ClassDeclarationTransformer(),\n new InterfaceDeclarationTransformer(),\n new EnumDeclarationTransformer(),\n new BindingElementTransformer(),\n new IntersectionTypeTransformer(),\n new UnionTypeTransformer(),\n new TypeReferenceTransformer(),\n new TypeLiteralTransformer(),\n new LiteralTypeTransformer(),\n new TypeQueryTransformer(),\n new ArrayTypeTransformer(),\n new TypeOperatorTransformer(),\n new KeywordTypeTransformer(),\n new TupleTypeTransformer(),\n new ParenthesizedTypeTransformer(),\n new TypePredicateTransformer(),\n new IndexedAccessTypeTransformer(),\n new TemplateLiteralTypeSpanTransformer(),\n new TemplateLiteralTypeTransformer(),\n new ThisTypeTransformer(),\n new ConditionalTypeTransformer(),\n new NamedTupleTransformer(),\n new ConstructorTransformer(),\n new ImportDeclarationTransformer(),\n new ExpressionStatementTransformer(),\n new ModuleDeclarationTransformer(),\n new DecoratorTransformer(),\n new ObjectLiteralExpressionTransformer(),\n new ArrayLiteralExpressionTransformer(),\n new PropertyAssignmentTransformer(),\n new LiteralValueTransformer(),\n ]);\n\n if (workspace) {\n watcher.registerOnPreWatch(tsMain.onPreWatch.bind(tsMain));\n workspace.registerOnComponentChange(tsMain.onComponentChange.bind(tsMain));\n workspace.registerOnComponentAdd(tsMain.onComponentChange.bind(tsMain));\n }\n\n const removeTypesTask = new RemoveTypesTask();\n builder.registerSnapTasks([removeTypesTask]);\n builder.registerTagTasks([removeTypesTask]);\n\n const checkTypesCmd = new CheckTypesCmd(tsMain, workspace, logger);\n cli.register(checkTypesCmd);\n\n return tsMain;\n }\n}\n\nTypescriptAspect.addRuntime(TypescriptMain);\n\nexport function runTransformersWithContext(\n config: TypescriptConfigMutator,\n transformers: TsConfigTransformer[] = [],\n context: TsConfigTransformContext\n): TypescriptConfigMutator {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n\nexport default TypescriptMain;\n"],"mappings":";;;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,KAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,IAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,mBAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,kBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,WAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,UAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAS,oBAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,mBAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,YAAA;EAAA,MAAAV,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAQ,WAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,UAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,SAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,aAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,YAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,cAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,aAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,SAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,QAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAe,SAAA;EAAA,MAAAf,IAAA,GAAAE,OAAA;EAAAa,QAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,MAAA;EAAA,MAAAhB,IAAA,GAAAE,OAAA;EAAAc,KAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,OAAA;EAAA,MAAAjB,IAAA,GAAAE,OAAA;EAAAe,MAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,QAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,OAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,aAAA;EAAA,MAAAnB,IAAA,GAAAE,OAAA;EAAAiB,YAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAoB,aAAA;EAAA,MAAApB,IAAA,GAAAE,OAAA;EAAAkB,YAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqB,aAAA;EAAA,MAAArB,IAAA,GAAAE,OAAA;EAAAmB,YAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAsB,mBAAA;EAAA,MAAAtB,IAAA,GAAAE,OAAA;EAAAoB,kBAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,cAAA;EAAA,MAAAvB,IAAA,GAAAE,OAAA;EAAAqB,aAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AA6CA,SAAAwB,YAAA;EAAA,MAAAxB,IAAA,GAAAE,OAAA;EAAAsB,WAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,iBAAA;EAAA,MAAAzB,IAAA,GAAAE,OAAA;EAAAuB,gBAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsD,SAAAC,uBAAAyB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,QAAAH,CAAA,EAAAI,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAP,CAAA,OAAAM,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAR,CAAA,GAAAI,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAX,CAAA,EAAAI,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAf,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAG,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAArB,CAAA,EAAAM,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAJ,CAAA;AAAA,SAAAmB,gBAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAJ,CAAA,GAAAM,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAA1B,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAuB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA9B,CAAA,QAAA2B,CAAA,GAAA3B,CAAA,CAAA+B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAwB/C,MAAM8B,cAAc,CAAC;EAC1BC,WAAWA,CACDC,MAAc,EACbC,qBAA4C,EAC5CC,kBAAsC,EACtCC,SAAoB,EACpBC,KAAgB,EAChBC,WAAmC,EACpCC,IAAc,EACdC,YAA8B,EACtC;IAAA,KARQP,MAAc,GAAdA,MAAc;IAAA,KACbC,qBAA4C,GAA5CA,qBAA4C;IAAA,KAC5CC,kBAAsC,GAAtCA,kBAAsC;IAAA,KACtCC,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,KAAgB,GAAhBA,KAAgB;IAAA,KAChBC,WAAmC,GAAnCA,WAAmC;IAAA,KACpCC,IAAc,GAAdA,IAAc;IAAA,KACdC,YAA8B,GAA9BA,YAA8B;IAAAzB,eAAA;EACrC;EAGH;AACF;AACA;EACE0B,cAAcA,CACZC,OAAkC,EAClCC,YAAmC,GAAG,EAAE,EACxCC,QAAQ,GAAGC,qBAAE,EACH;IACV,MAAMC,aAAa,GAAG,KAAIC,4CAAuB,EAACL,OAAO,CAAC;IAC1D,MAAMM,kBAA4C,GAAG,CAAC,CAAC;IACvD,MAAMC,aAAa,GAAGC,0BAA0B,CAACJ,aAAa,CAACK,KAAK,CAAC,CAAC,EAAER,YAAY,EAAEK,kBAAkB,CAAC;IACzG,MAAMI,4BAA4B,GAAAzC,aAAA,CAAAA,aAAA,KAAQsC,aAAa,CAACI,GAAG;MAAEC,QAAQ,EAAE;IAAE,EAAE;IAE3E,OAAO,KAAIC,iCAAkB,EAC3BC,+BAAgB,CAACC,EAAE,EACnB,IAAI,CAACxB,MAAM,EACXmB,4BAA4B,EAC5BH,aAAa,CAACI,GAAG,CAACC,QAAQ,EAC1BV,QACF,CAAC;EACH;;EAEA;AACF;AACA;EACEc,iBAAiBA,CAAA,EAA+B;IAC9C,OAAO,IAAI,CAACC,QAAQ;EACtB;EAEAC,yBAAyBA,CAACjB,YAAiC,EAAE;IAC3D,IAAI,CAACT,qBAAqB,CAAC2B,QAAQ,CAAClB,YAAY,CAAC;IACjD,OAAO,IAAI;EACb;EAEAmB,sBAAsBA,CAACnB,YAAqC,EAAE;IAC5D,IAAI,CAACR,kBAAkB,CAAC0B,QAAQ,CAAClB,YAAY,CAAC;IAC9C,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMoB,kBAAkBA,CACtBC,WAAmB,EACnBtB,OAA2B,GAAG,CAAC,CAAC,EAChCuB,KAAe,GAAG,EAAE,EACK;IACzB,IAAI,CAACN,QAAQ,GAAG,KAAIO,0BAAc,EAACF,WAAW,EAAE,IAAI,CAAC/B,MAAM,EAAES,OAAO,EAAEuB,KAAK,CAAC;IAC5E,MAAM,IAAI,CAACN,QAAQ,CAACQ,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,CAACR,QAAQ;EACtB;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAMS,+BAA+BA,CACnC1B,OAA2B,GAAG,CAAC,CAAC,EAChCuB,KAAe,GAAG,EAAE,EACK;IACzB,IAAI,CAAC,IAAI,CAAC7B,SAAS,EAAE;MACnB,MAAM,IAAIiC,KAAK,CAAC,0DAA0D,CAAC;IAC7E;IACA,OAAO,IAAI,CAACN,kBAAkB,CAAC,IAAI,CAAC3B,SAAS,CAACkC,IAAI,EAAE5B,OAAO,EAAEuB,KAAK,CAAC;EACrE;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEM,iBAAiBA,CAAC7B,OAAkC,EAAEC,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAC7G,OAAO,IAAI,CAACJ,cAAc,CAACC,OAAO,EAAE,CAAC,IAAI,CAAC8B,iBAAiB,CAAC,CAAC,EAAE,GAAG7B,YAAY,CAAC,EAAEC,QAAQ,CAAC;EAC5F;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE6B,iBAAiBA,CAAC/B,OAAkC,EAAEC,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAC7G,OAAO,IAAI,CAACJ,cAAc,CAACC,OAAO,EAAE,CAAC,IAAI,CAACgC,iBAAiB,CAAC,CAAC,EAAE,GAAG/B,YAAY,CAAC,EAAEC,QAAQ,CAAC;EAC5F;;EAEA;AACF;AACA;AACA;EACE4B,iBAAiBA,CAAA,EAAwB;IACvC,MAAMG,cAAc,GAAIC,MAA+B,IAAK;MAC1DA,MAAM,CAACC,SAAS,CAAC,UAAU,CAAC;MAC5B,OAAOD,MAAM;IACf,CAAC;IACD,OAAOD,cAAc;EACvB;;EAEA;AACF;AACA;AACA;EACED,iBAAiBA,CAAA,EAAwB;IACvC,MAAMI,cAAc,GAAIF,MAA+B,IAAK;MAC1DA,MAAM,CAACG,SAAS,CAAC,QAAQ,CAAC;MAC1BH,MAAM,CAACvB,GAAG,CAACC,QAAQ,CAAC0B,eAAe,CAACC,MAAM,GAAG,QAAQ;MACrDL,MAAM,CAACvB,GAAG,CAACC,QAAQ,CAAC0B,eAAe,CAACE,GAAG,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC;MAC5F,OAAON,MAAM;IACf,CAAC;IACD,OAAOE,cAAc;EACvB;;EAEA;AACF;AACA;EACEK,qBAAqBA,CACnB7B,QAAa,EACb8B,YAAqB,EACrBC,WAAoB,EACpBC,kBAAuC,GAAG,EAAE,EAC5CC,eAAwC,GAAG,EAAE,EAC5B;IACjB,MAAMC,0BAA0B,GAAG,IAAAC,iBAAO,EAACC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACzD,qBAAqB,CAAC0D,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAMC,uBAAuB,GAAG,IAAAJ,iBAAO,EAACC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACxD,kBAAkB,CAACyD,MAAM,CAAC,CAAC,CAAC,CAAC;IAErF,MAAME,qBAAqB,GAAGR,kBAAkB,CAACS,MAAM,CAACP,0BAA0B,CAAC;IACnF,MAAMQ,kBAAkB,GAAGT,eAAe,CAACQ,MAAM,CAACF,uBAAuB,CAAC;IAE1E,OAAO,KAAII,kCAAmB,EAC5B3C,QAAQ,EACRwC,qBAAqB,EACrBE,kBAAkB,EAClB,IAAI,EACJZ,YAAY,IAAI,IAAI,CAAChD,SAAS,EAAEkC,IAAI,IAAI,EAAE,EAC1Ce,WAAW,IAAI,IAAI,CAACjD,SAAS,EAAEkC,IAAI,IAAI,EAAE,EACzC,IAAI,CAAChC,WAAW,EAChB,IAAI,CAACF,SAAS,EACd,IAAI,CAACC,KAAK,EACV,IAAI,CAACG,YAAY,EACjB,IAAI,CAACP,MACP,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACEiE,sBAAsBA,CAAA,EAAqB;IACzC,OAAO;MACLC,IAAI,EAAE,gBAAgB;MACtBC,KAAK,EAAE;IACT,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACEC,sBAAsBA,CAAA,EAAqB;IACzC,OAAO;MACL;MACAF,IAAI,EAAE,gBAAgB;MACtBG,IAAI,EAAE,QAAQ;MACdF,KAAK,EAAE;IACT,CAAC;EACH;EAEAG,4BAA4BA,CAACC,UAAuB,EAAY;IAC9D,MAAMvC,KAAK,GAAGuC,UAAU,CACrBC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,UAAU,CAAC1C,KAAK,CAAC,CAC9B2C,IAAI,CAAC,CAAC,CACNH,GAAG,CAAEI,CAAC,IAAKA,CAAC,CAACvC,IAAI,CAAC;IACrB,OAAOL,KAAK,CAAC3D,MAAM,CAAEuG,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAAC,KAAK,CAAC,IAAID,CAAC,CAACC,QAAQ,CAAC,MAAM,CAAC,CAAC;EACrE;EAEA,MAAcC,UAAUA,CAACC,YAA2B,EAAEC,SAAuB,EAAE;IAC7E,MAAM7E,SAAS,GAAG,IAAI,CAACA,SAAS;IAChC,IAAI,CAACA,SAAS,IAAI,CAAC6E,SAAS,CAACC,aAAa,EAAE;MAC1C;IACF;IACA,MAAM;MAAEC,OAAO;MAAEC;IAAW,CAAC,GAAGH,SAAS;IACzC,MAAMhD,KAAK,GAAGmD,UAAU,GAAG,IAAI,CAACb,4BAA4B,CAAC,MAAMnE,SAAS,CAACiF,OAAO,CAACL,YAAY,CAAC,CAAC,GAAG,EAAE;IACxG,MAAMM,eAAe,GAAGC,OAAO,CAACH,UAAU,CAAC;IAC3C,MAAM,IAAI,CAAChD,+BAA+B,CAAC;MAAE+C,OAAO;MAAEC,UAAU;MAAEE;IAAgB,CAAC,EAAErD,KAAK,CAAC;EAC7F;EAEA,MAAcuD,iBAAiBA,CAACC,SAAoB,EAAExD,KAAe,EAAE;IACrE,IAAI,CAAC,IAAI,CAACN,QAAQ,EAAE;MAClB,OAAO;QACL+D,OAAO,EAAE;MACX,CAAC;IACH;IACA,MAAM,IAAAC,qBAAU,EAAC1D,KAAK,EAAG2D,IAAI,IAAK,IAAI,CAACjE,QAAQ,CAACkE,YAAY,CAACD,IAAI,CAAC,CAAC;IACnE,OAAO;MACLF,OAAO,EAAE;IACX,CAAC;EACH;EAiBA,aAAaI,QAAQA,CACnB,CAACC,MAAM,EAAEC,SAAS,EAAExF,YAAY,EAAEJ,SAAS,EAAE6F,GAAG,EAAE3F,WAAW,EAAEC,IAAI,EAAE2F,OAAO,EAAE7F,KAAK,EAAE8F,OAAO,CAW3F,EACDvD,MAAM,EACN,CAAC1C,qBAAqB,EAAEC,kBAAkB,CAA8C,EACxF;IACA4F,MAAM,CAACK,cAAc,CAAC,KAAIC,+BAAgB,EAAC,CAAC,CAAC;IAC7C,MAAMpG,MAAM,GAAG+F,SAAS,CAACM,YAAY,CAAC9E,+BAAgB,CAACC,EAAE,CAAC;IAE1DjB,YAAY,CAAC+F,eAAe,CAAC,CAAC,KAAIC,4CAAuB,EAACtG,qBAAqB,CAAC,CAAC,CAAC;IAClF,MAAMuG,MAAM,GAAG,IAAI1G,cAAc,CAC/BE,MAAM,EACNC,qBAAqB,EACrBC,kBAAkB,EAClBC,SAAS,EACTC,KAAK,EACLC,WAAW,EACXC,IAAI,EACJC,YACF,CAAC;IACDiG,MAAM,CAAC7E,yBAAyB,CAAC,CAC/B,KAAI8E,4CAA4B,EAAC,CAAC,EAClC,KAAIC,2CAA2B,EAAC,CAAC,EACjC,KAAIC,uCAAuB,EAAC,CAAC,EAC7B,KAAIC,oCAAoB,EAAC,CAAC,EAC1B,KAAIC,sCAAsB,EAAC,CAAC,EAC5B,KAAIC,sCAAsB,EAAC,CAAC,EAC5B,KAAIC,yCAAyB,EAAC,CAAC,EAC/B,KAAIC,8CAA8B,EAAC,CAAC,EACpC,KAAIC,4CAA4B,EAAC,CAAC,EAClC,KAAIC,mCAAmB,EAAC,CAAC,EACzB,KAAIC,qCAAqB,EAAC,CAAC,EAC3B,KAAIC,oCAAoB,EAAC,CAAC,EAC1B,KAAIC,2CAA2B,EAAC,CAAC,EACjC,KAAIC,+CAA+B,EAAC,CAAC,EACrC,KAAIC,0CAA0B,EAAC,CAAC,EAChC,KAAIC,yCAAyB,EAAC,CAAC,EAC/B,KAAIC,2CAA2B,EAAC,CAAC,EACjC,KAAIC,oCAAoB,EAAC,CAAC,EAC1B,KAAIC,wCAAwB,EAAC,CAAC,EAC9B,KAAIC,sCAAsB,EAAC,CAAC,EAC5B,KAAIC,sCAAsB,EAAC,CAAC,EAC5B,KAAIC,oCAAoB,EAAC,CAAC,EAC1B,KAAIC,oCAAoB,EAAC,CAAC,EAC1B,KAAIC,uCAAuB,EAAC,CAAC,EAC7B,KAAIC,sCAAsB,EAAC,CAAC,EAC5B,KAAIC,oCAAoB,EAAC,CAAC,EAC1B,KAAIC,4CAA4B,EAAC,CAAC,EAClC,KAAIC,wCAAwB,EAAC,CAAC,EAC9B,KAAIC,4CAA4B,EAAC,CAAC,EAClC,KAAIC,kDAAkC,EAAC,CAAC,EACxC,KAAIC,8CAA8B,EAAC,CAAC,EACpC,KAAIC,mCAAmB,EAAC,CAAC,EACzB,KAAIC,0CAA0B,EAAC,CAAC,EAChC,KAAIC,qCAAqB,EAAC,CAAC,EAC3B,KAAIC,sCAAsB,EAAC,CAAC,EAC5B,KAAIC,4CAA4B,EAAC,CAAC,EAClC,KAAIC,8CAA8B,EAAC,CAAC,EACpC,KAAIC,4CAA4B,EAAC,CAAC,EAClC,KAAIC,oCAAoB,EAAC,CAAC,EAC1B,KAAIC,kDAAkC,EAAC,CAAC,EACxC,KAAIC,iDAAiC,EAAC,CAAC,EACvC,KAAIC,6CAA6B,EAAC,CAAC,EACnC,KAAIC,uCAAuB,EAAC,CAAC,CAC9B,CAAC;IAEF,IAAIhJ,SAAS,EAAE;MACb8F,OAAO,CAACmD,kBAAkB,CAAC5C,MAAM,CAAC1B,UAAU,CAACuE,IAAI,CAAC7C,MAAM,CAAC,CAAC;MAC1DrG,SAAS,CAACmJ,yBAAyB,CAAC9C,MAAM,CAACjB,iBAAiB,CAAC8D,IAAI,CAAC7C,MAAM,CAAC,CAAC;MAC1ErG,SAAS,CAACoJ,sBAAsB,CAAC/C,MAAM,CAACjB,iBAAiB,CAAC8D,IAAI,CAAC7C,MAAM,CAAC,CAAC;IACzE;IAEA,MAAMgD,eAAe,GAAG,KAAIC,kCAAe,EAAC,CAAC;IAC7CvD,OAAO,CAACwD,iBAAiB,CAAC,CAACF,eAAe,CAAC,CAAC;IAC5CtD,OAAO,CAACyD,gBAAgB,CAAC,CAACH,eAAe,CAAC,CAAC;IAE3C,MAAMI,aAAa,GAAG,KAAIC,2BAAa,EAACrD,MAAM,EAAErG,SAAS,EAAEH,MAAM,CAAC;IAClEgG,GAAG,CAACpE,QAAQ,CAACgI,aAAa,CAAC;IAE3B,OAAOpD,MAAM;EACf;AACF;AAACsD,OAAA,CAAAhK,cAAA,GAAAA,cAAA;AAAAhB,eAAA,CArUYgB,cAAc,aA2NRiK,kBAAW;AAAAjL,eAAA,CA3NjBgB,cAAc,kBA4NH,CACpBkK,sBAAY,EACZC,sBAAY,EACZC,kCAAkB,EAClBC,4BAAe,EACfC,gBAAS,EACTC,8CAAwB,EACxBC,kBAAU,EACVC,wBAAa,EACbC,oBAAW,EACXC,wBAAa,CACd;AAAA3L,eAAA,CAvOUgB,cAAc,WAwOV,CAAC4K,eAAI,CAACC,QAAQ,CAAsB,CAAC,EAAED,eAAI,CAACC,QAAQ,CAA0B,CAAC,CAAC;AA+FjGpJ,+BAAgB,CAACqJ,UAAU,CAAC9K,cAAc,CAAC;AAEpC,SAASmB,0BAA0BA,CACxC0B,MAA+B,EAC/BjC,YAAmC,GAAG,EAAE,EACxCmK,OAAiC,EACR;EACzB,IAAI,CAACpH,KAAK,CAACqH,OAAO,CAACpK,YAAY,CAAC,EAAE,OAAOiC,MAAM;EAC/C,MAAMoI,SAAS,GAAGrK,YAAY,CAACsK,MAAM,CAAC,CAACC,GAAG,EAAEC,WAAW,KAAK;IAC1D,OAAOA,WAAW,CAACD,GAAG,EAAEJ,OAAO,CAAC;EAClC,CAAC,EAAElI,MAAM,CAAC;EACV,OAAOoI,SAAS;AAClB;AAAC,IAAAI,QAAA,GAAArB,OAAA,CAAAjM,OAAA,GAEciC,cAAc","ignoreList":[]}
|
|
@@ -3,7 +3,11 @@ import { Component } from '@teambit/component';
|
|
|
3
3
|
import { Location } from '@teambit/semantics.entities.semantic-schema';
|
|
4
4
|
|
|
5
5
|
export class TransformerNotFound extends Error {
|
|
6
|
-
constructor(
|
|
6
|
+
constructor(
|
|
7
|
+
readonly node: Node,
|
|
8
|
+
readonly component: Component,
|
|
9
|
+
location: Location
|
|
10
|
+
) {
|
|
7
11
|
super(
|
|
8
12
|
`typescript: could not find schema transformer for node of kind ${node.kind} (${
|
|
9
13
|
ts.SyntaxKind[node.kind]
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/typescript",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.426",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/typescript/typescript",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.typescript",
|
|
8
8
|
"name": "typescript",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.426"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
@@ -18,25 +18,25 @@
|
|
|
18
18
|
"chalk": "2.4.2",
|
|
19
19
|
"@teambit/typescript.typescript-compiler": "2.0.45",
|
|
20
20
|
"@teambit/harmony": "0.4.6",
|
|
21
|
-
"@teambit/compiler": "1.0.
|
|
21
|
+
"@teambit/compiler": "1.0.426",
|
|
22
22
|
"@teambit/typescript.modules.ts-config-mutator": "0.0.83",
|
|
23
|
-
"@teambit/builder": "1.0.
|
|
24
|
-
"@teambit/component.sources": "0.0.
|
|
25
|
-
"@teambit/component": "1.0.
|
|
26
|
-
"@teambit/dependency-resolver": "1.0.
|
|
27
|
-
"@teambit/formatter": "1.0.
|
|
23
|
+
"@teambit/builder": "1.0.426",
|
|
24
|
+
"@teambit/component.sources": "0.0.34",
|
|
25
|
+
"@teambit/component": "1.0.426",
|
|
26
|
+
"@teambit/dependency-resolver": "1.0.426",
|
|
27
|
+
"@teambit/formatter": "1.0.426",
|
|
28
28
|
"@teambit/legacy.utils": "0.0.6",
|
|
29
|
-
"@teambit/semantics.entities.semantic-schema": "0.0.
|
|
30
|
-
"@teambit/ts-server": "0.0.
|
|
31
|
-
"@teambit/aspect-loader": "1.0.
|
|
32
|
-
"@teambit/envs": "1.0.
|
|
33
|
-
"@teambit/logger": "0.0.
|
|
34
|
-
"@teambit/schema": "1.0.
|
|
35
|
-
"@teambit/scope": "1.0.
|
|
36
|
-
"@teambit/workspace": "1.0.
|
|
37
|
-
"@teambit/cli": "0.0.
|
|
38
|
-
"@teambit/pkg": "1.0.
|
|
39
|
-
"@teambit/watcher": "1.0.
|
|
29
|
+
"@teambit/semantics.entities.semantic-schema": "0.0.73",
|
|
30
|
+
"@teambit/ts-server": "0.0.58",
|
|
31
|
+
"@teambit/aspect-loader": "1.0.426",
|
|
32
|
+
"@teambit/envs": "1.0.426",
|
|
33
|
+
"@teambit/logger": "0.0.1096",
|
|
34
|
+
"@teambit/schema": "1.0.426",
|
|
35
|
+
"@teambit/scope": "1.0.426",
|
|
36
|
+
"@teambit/workspace": "1.0.426",
|
|
37
|
+
"@teambit/cli": "0.0.1003",
|
|
38
|
+
"@teambit/pkg": "1.0.426",
|
|
39
|
+
"@teambit/watcher": "1.0.426"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/lodash": "4.14.165",
|