@teambit/typescript 1.0.187 → 1.0.189
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 +22 -22
- package/artifacts/preview/teambit_typescript_typescript-preview.js +1 -1
- package/artifacts/schema.json +981 -253
- package/dist/cmds/check-types.cmd.js.map +1 -1
- package/dist/cmds/init.cmd.js.map +1 -1
- package/dist/cmds/write-tsconfig.cmd.js.map +1 -1
- package/dist/compiler-options.js.map +1 -1
- package/dist/dedupe-path.spec.js.map +1 -1
- package/dist/exceptions/index.js.map +1 -1
- package/dist/exceptions/transformer-not-found.js.map +1 -1
- package/dist/export-identifier.js.map +1 -1
- package/dist/extractor-options.js.map +1 -1
- package/dist/identifier-list.js.map +1 -1
- package/dist/identifier.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/preview-1710224484125.js +7 -0
- package/dist/remove-types-task.js.map +1 -1
- package/dist/schema-extractor-context.d.ts +4 -4
- package/dist/schema-extractor-context.js.map +1 -1
- package/dist/schema-transformer.js.map +1 -1
- package/dist/schema-transformer.plugin.js.map +1 -1
- package/dist/sourceFileTransformers/class.js +4 -4
- package/dist/sourceFileTransformers/class.js.map +1 -1
- package/dist/sourceFileTransformers/empty-line-encoder.js.map +1 -1
- package/dist/sourceFileTransformers/export.js +2 -2
- package/dist/sourceFileTransformers/export.js.map +1 -1
- package/dist/sourceFileTransformers/expression-statement.js.map +1 -1
- package/dist/sourceFileTransformers/function.js +3 -3
- package/dist/sourceFileTransformers/function.js.map +1 -1
- package/dist/sourceFileTransformers/import.js +3 -3
- package/dist/sourceFileTransformers/import.js.map +1 -1
- package/dist/sourceFileTransformers/index.js.map +1 -1
- package/dist/sourceFileTransformers/interface.js +1 -1
- package/dist/sourceFileTransformers/interface.js.map +1 -1
- package/dist/sourceFileTransformers/replaceName.js.map +1 -1
- package/dist/sourceFileTransformers/transform.js.map +1 -1
- package/dist/sourceFileTransformers/type-reference.js.map +1 -1
- package/dist/sourceFileTransformers/typeAlias.js +1 -1
- package/dist/sourceFileTransformers/typeAlias.js.map +1 -1
- package/dist/sourceFileTransformers/variable.js.map +1 -1
- package/dist/transform-source-file.spec.js.map +1 -1
- package/dist/transformers/array-literal-expression.js.map +1 -1
- package/dist/transformers/array-type.js.map +1 -1
- package/dist/transformers/binding-element.js.map +1 -1
- package/dist/transformers/class-declaration.js +4 -2
- package/dist/transformers/class-declaration.js.map +1 -1
- package/dist/transformers/conditional-type.js.map +1 -1
- package/dist/transformers/constructor.js.map +1 -1
- package/dist/transformers/decorator.js.map +1 -1
- package/dist/transformers/enum-declaration.js.map +1 -1
- package/dist/transformers/export-assignment.js.map +1 -1
- package/dist/transformers/export-declaration.js +1 -1
- package/dist/transformers/export-declaration.js.map +1 -1
- package/dist/transformers/expression-statement.js.map +1 -1
- package/dist/transformers/function-like.js +5 -3
- package/dist/transformers/function-like.js.map +1 -1
- package/dist/transformers/get-accessor.js.map +1 -1
- package/dist/transformers/import-declaration.js.map +1 -1
- package/dist/transformers/index-signature.js.map +1 -1
- package/dist/transformers/index.js.map +1 -1
- package/dist/transformers/indexed-access-type.js.map +1 -1
- package/dist/transformers/interface-declaration.js.map +1 -1
- package/dist/transformers/intersection-type.js.map +1 -1
- package/dist/transformers/keyword-type.js.map +1 -1
- package/dist/transformers/literal-type.js.map +1 -1
- package/dist/transformers/literal-value.js.map +1 -1
- package/dist/transformers/module-declaration.js.map +1 -1
- package/dist/transformers/named-tuple.js.map +1 -1
- package/dist/transformers/object-literal-expression.js.map +1 -1
- package/dist/transformers/parameter.js.map +1 -1
- package/dist/transformers/parenthesized-type.js.map +1 -1
- package/dist/transformers/property-assignment.js.map +1 -1
- package/dist/transformers/property-declaration.js +2 -2
- package/dist/transformers/property-declaration.js.map +1 -1
- package/dist/transformers/set-accessor.js.map +1 -1
- package/dist/transformers/source-file-transformer.js +4 -2
- package/dist/transformers/source-file-transformer.js.map +1 -1
- package/dist/transformers/template-literal-type-span.js.map +1 -1
- package/dist/transformers/template-literal-type.js.map +1 -1
- package/dist/transformers/this-type.js.map +1 -1
- package/dist/transformers/tuple-type.js.map +1 -1
- package/dist/transformers/type-alias.js.map +1 -1
- package/dist/transformers/type-literal.js.map +1 -1
- package/dist/transformers/type-operator.js.map +1 -1
- package/dist/transformers/type-predicate.js.map +1 -1
- package/dist/transformers/type-query.js.map +1 -1
- package/dist/transformers/type-reference.js.map +1 -1
- package/dist/transformers/union-type.js.map +1 -1
- package/dist/transformers/utils/jsdoc-to-doc-schema.js.map +1 -1
- package/dist/transformers/utils/parse-type-from-quick-info.d.ts +3 -3
- package/dist/transformers/utils/parse-type-from-quick-info.js +0 -2
- package/dist/transformers/utils/parse-type-from-quick-info.js.map +1 -1
- package/dist/transformers/variable-declaration.js +2 -1
- package/dist/transformers/variable-declaration.js.map +1 -1
- package/dist/transformers/variable-statement.js.map +1 -1
- package/dist/tsconfig-writer.js.map +1 -1
- package/dist/typescript.aspect.js.map +1 -1
- package/dist/typescript.composition.js.map +1 -1
- package/dist/typescript.extractor.js.map +1 -1
- package/dist/typescript.main.runtime.js.map +1 -1
- package/dist/typescript.parser.js +3 -2
- package/dist/typescript.parser.js.map +1 -1
- package/dist/typescript.parser.spec.js.map +1 -1
- package/package.json +21 -21
- package/sourceFileTransformers/class.ts +2 -6
- package/sourceFileTransformers/export.ts +2 -3
- package/sourceFileTransformers/expression-statement.ts +7 -3
- package/sourceFileTransformers/function.ts +2 -5
- package/sourceFileTransformers/import.ts +1 -4
- package/sourceFileTransformers/interface.ts +1 -2
- package/sourceFileTransformers/type-reference.ts +1 -1
- package/sourceFileTransformers/typeAlias.ts +1 -2
- package/sourceFileTransformers/variable.ts +1 -1
- package/transformers/class-declaration.ts +5 -3
- package/transformers/export-declaration.ts +1 -1
- package/transformers/function-like.ts +6 -4
- package/transformers/property-declaration.ts +3 -3
- package/transformers/source-file-transformer.ts +4 -2
- package/transformers/utils/parse-type-from-quick-info.ts +3 -4
- package/transformers/variable-declaration.ts +2 -1
- package/dist/preview-1709867881461.js +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_chai","_typescript2","obj","__esModule","default","describe","exampleArrowFunction","exampleFunction","exampleClass","exampleStatement","exampleRenamedStatement","exampleReExport","exampleReExportDefault","exampleRenamedReExportAll","exampleExportDefault","it","ast","ts","createSourceFile","ScriptTarget","Latest","exports","TypeScriptParser","getExports","exportArrow","find","x","identifier","expect","to","exist","exportFunction","exportClass","exportVariable","exportFunction1","exportFunction2","not","length","equal","staticProperties","get","exampleFile","parseStaticProperties","exportHello","undefined","has","be","false"],"sources":["typescript.parser.spec.ts"],"sourcesContent":["import ts from 'typescript';\nimport { expect } from 'chai';\n\nimport { TypeScriptParser } from './typescript.parser';\n\ndescribe('TypescriptParser', () => {\n describe('getExports', () => {\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export\n // https://www.typescriptlang.org/docs/handbook/modules.html#export\n\n const exampleArrowFunction = `\n export const arrow = () => { return 3; }\n arrow.textProperty = \"propertyValue\";\n `;\n\n const exampleFunction = `\n export function func() { return 3; }\n func.textProperty = \"propertyValue\";\n `;\n\n const exampleClass = `\n export class classy{ render() { return 3; } }\n classy.textProperty = \"propertyValue\";\n `;\n\n const exampleStatement = `\n function myFunction2 () { return 3; }\n const myVariable2 = 3;\n export { myFunction2, myVariable2 };\n `;\n\n const exampleRenamedStatement = `\n function myFunction2 () { return 3; }\n const myVariable2 = 3;\n export { myFunction2, myVariable2 as myVariable2Alias };\n `;\n\n const exampleReExport = `\n export { default as function1, function2 } from \"bar.js\";\n `;\n\n const exampleReExportDefault = `\n export { default, function2 } from \"bar.js\";\n `;\n\n const exampleRenamedReExportAll = `\n export * as ns from \"mod\";\n `;\n\n const exampleExportDefault = `\n const a: number = 1\n export default { a };\n `;\n\n it('should parse arrowFunctions', () => {\n const ast = ts.createSourceFile('example.tsx', exampleArrowFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportArrow = exports.find((x) => x.identifier === 'arrow');\n\n expect(exportArrow).to.exist;\n });\n\n it('should parse function exports', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction = exports.find((x) => x.identifier === 'func');\n\n expect(exportFunction).to.exist;\n });\n\n it('should parse classes', () => {\n const ast = ts.createSourceFile('example.tsx', exampleClass, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportClass = exports.find((x) => x.identifier === 'classy');\n\n expect(exportClass).to.exist;\n });\n\n it('should parse declarations', () => {\n const ast = ts.createSourceFile('example.tsx', exampleStatement, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction = exports.find((x) => x.identifier === 'myFunction2');\n const exportVariable = exports.find((x) => x.identifier === 'myVariable2');\n\n expect(exportFunction).to.exist;\n expect(exportVariable).to.exist;\n });\n\n it('should parse renamed declarations', () => {\n const ast = ts.createSourceFile('example.tsx', exampleRenamedStatement, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction = exports.find((x) => x.identifier === 'myFunction2');\n const exportVariable = exports.find((x) => x.identifier === 'myVariable2Alias');\n\n expect(exportFunction).to.exist;\n expect(exportVariable).to.exist;\n });\n\n it('should parse re-exports', () => {\n const ast = ts.createSourceFile('example.tsx', exampleReExport, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction1 = exports.find((x) => x.identifier === 'function1');\n const exportFunction2 = exports.find((x) => x.identifier === 'function2');\n\n expect(exportFunction1).to.exist;\n expect(exportFunction2).to.exist;\n });\n\n it('should parse re-exports with default', () => {\n const ast = ts.createSourceFile('example.tsx', exampleReExportDefault, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction1 = exports.find((x) => x.identifier === 'default');\n const exportFunction2 = exports.find((x) => x.identifier === 'function2');\n\n expect(exportFunction1).not.to.exist;\n expect(exportFunction2).to.exist;\n });\n\n it('should parse renamed re-exports all', () => {\n const ast = ts.createSourceFile('example.tsx', exampleRenamedReExportAll, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction1 = exports.find((x) => x.identifier === 'ns');\n\n expect(exportFunction1).to.exist;\n });\n\n it('should parse default exports', () => {\n const ast = ts.createSourceFile('example.tsx', exampleExportDefault, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n expect(exports.length).to.equal(0);\n });\n\n describe('staticProperties', () => {\n it('should include staticProperties, when on arrowFunctions', () => {\n const ast = ts.createSourceFile('example.tsx', exampleArrowFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportArrow = exports.find((x) => x.identifier === 'arrow');\n\n expect(exportArrow?.staticProperties?.get('textProperty')).to.equal('propertyValue');\n });\n\n it('should include staticProperties, when on regular functions', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportClass = exports.find((x) => x.identifier === 'func');\n\n expect(exportClass?.staticProperties?.get('textProperty')).to.equal('propertyValue');\n });\n\n it('should include staticProperties, when on classes', () => {\n const ast = ts.createSourceFile('example.tsx', exampleClass, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportClass = exports.find((x) => x.identifier === 'classy');\n\n expect(exportClass?.staticProperties?.get('textProperty')).to.equal('propertyValue');\n });\n });\n });\n\n describe('collectStaticProperties', () => {\n const exampleFile = `\n export const hello = () => { return 3; }\n\n hello.text = \"is\";\n hello.count = 3;\n hello.nullish = null;\n hello.undef = undefined;\n hello.disable = false;\n hello.enable = true;\n hello.complextLiteral = \\`what \\${hello.text} it?\\`;\n hello.nonAssignedProperty += 'value';\n `;\n\n it('should parse all primitive values', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFile, ts.ScriptTarget.Latest);\n const staticProperties = new TypeScriptParser().parseStaticProperties(ast);\n\n expect(staticProperties).to.exist;\n\n const exportHello = staticProperties.get('hello');\n expect(exportHello).to.exist;\n\n expect(exportHello?.get('text')).to.equal('is');\n expect(exportHello?.get('count')).to.equal(3);\n expect(exportHello?.get('nullish')).to.equal(null);\n expect(exportHello?.get('undef')).to.equal(undefined);\n expect(exportHello?.get('disable')).to.equal(false);\n expect(exportHello?.get('enable')).to.equal(true);\n\n expect(exportHello?.has('complextLiteral')).to.be.false;\n });\n\n it('should skip non primitive values', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFile, ts.ScriptTarget.Latest);\n const staticProperties = new TypeScriptParser().parseStaticProperties(ast);\n const exportHello = staticProperties.get('hello');\n\n expect(exportHello?.has('complextLiteral')).to.be.false;\n });\n\n it('should skip non assignment statements', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFile, ts.ScriptTarget.Latest);\n const staticProperties = new TypeScriptParser().parseStaticProperties(ast);\n const exportHello = staticProperties.get('hello');\n\n expect(exportHello?.has('nonAssignedProperty')).to.be.false;\n });\n });\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_chai","_typescript2","obj","__esModule","default","describe","exampleArrowFunction","exampleFunction","exampleClass","exampleStatement","exampleRenamedStatement","exampleReExport","exampleReExportDefault","exampleRenamedReExportAll","exampleExportDefault","it","ast","ts","createSourceFile","ScriptTarget","Latest","exports","TypeScriptParser","getExports","exportArrow","find","x","identifier","expect","to","exist","exportFunction","exportClass","exportVariable","exportFunction1","exportFunction2","not","length","equal","staticProperties","get","exampleFile","parseStaticProperties","exportHello","undefined","has","be","false"],"sources":["typescript.parser.spec.ts"],"sourcesContent":["import ts from 'typescript';\nimport { expect } from 'chai';\n\nimport { TypeScriptParser } from './typescript.parser';\n\ndescribe('TypescriptParser', () => {\n describe('getExports', () => {\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export\n // https://www.typescriptlang.org/docs/handbook/modules.html#export\n\n const exampleArrowFunction = `\n export const arrow = () => { return 3; }\n arrow.textProperty = \"propertyValue\";\n `;\n\n const exampleFunction = `\n export function func() { return 3; }\n func.textProperty = \"propertyValue\";\n `;\n\n const exampleClass = `\n export class classy{ render() { return 3; } }\n classy.textProperty = \"propertyValue\";\n `;\n\n const exampleStatement = `\n function myFunction2 () { return 3; }\n const myVariable2 = 3;\n export { myFunction2, myVariable2 };\n `;\n\n const exampleRenamedStatement = `\n function myFunction2 () { return 3; }\n const myVariable2 = 3;\n export { myFunction2, myVariable2 as myVariable2Alias };\n `;\n\n const exampleReExport = `\n export { default as function1, function2 } from \"bar.js\";\n `;\n\n const exampleReExportDefault = `\n export { default, function2 } from \"bar.js\";\n `;\n\n const exampleRenamedReExportAll = `\n export * as ns from \"mod\";\n `;\n\n const exampleExportDefault = `\n const a: number = 1\n export default { a };\n `;\n\n it('should parse arrowFunctions', () => {\n const ast = ts.createSourceFile('example.tsx', exampleArrowFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportArrow = exports.find((x) => x.identifier === 'arrow');\n\n expect(exportArrow).to.exist;\n });\n\n it('should parse function exports', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction = exports.find((x) => x.identifier === 'func');\n\n expect(exportFunction).to.exist;\n });\n\n it('should parse classes', () => {\n const ast = ts.createSourceFile('example.tsx', exampleClass, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportClass = exports.find((x) => x.identifier === 'classy');\n\n expect(exportClass).to.exist;\n });\n\n it('should parse declarations', () => {\n const ast = ts.createSourceFile('example.tsx', exampleStatement, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction = exports.find((x) => x.identifier === 'myFunction2');\n const exportVariable = exports.find((x) => x.identifier === 'myVariable2');\n\n expect(exportFunction).to.exist;\n expect(exportVariable).to.exist;\n });\n\n it('should parse renamed declarations', () => {\n const ast = ts.createSourceFile('example.tsx', exampleRenamedStatement, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction = exports.find((x) => x.identifier === 'myFunction2');\n const exportVariable = exports.find((x) => x.identifier === 'myVariable2Alias');\n\n expect(exportFunction).to.exist;\n expect(exportVariable).to.exist;\n });\n\n it('should parse re-exports', () => {\n const ast = ts.createSourceFile('example.tsx', exampleReExport, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction1 = exports.find((x) => x.identifier === 'function1');\n const exportFunction2 = exports.find((x) => x.identifier === 'function2');\n\n expect(exportFunction1).to.exist;\n expect(exportFunction2).to.exist;\n });\n\n it('should parse re-exports with default', () => {\n const ast = ts.createSourceFile('example.tsx', exampleReExportDefault, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction1 = exports.find((x) => x.identifier === 'default');\n const exportFunction2 = exports.find((x) => x.identifier === 'function2');\n\n expect(exportFunction1).not.to.exist;\n expect(exportFunction2).to.exist;\n });\n\n it('should parse renamed re-exports all', () => {\n const ast = ts.createSourceFile('example.tsx', exampleRenamedReExportAll, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction1 = exports.find((x) => x.identifier === 'ns');\n\n expect(exportFunction1).to.exist;\n });\n\n it('should parse default exports', () => {\n const ast = ts.createSourceFile('example.tsx', exampleExportDefault, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n expect(exports.length).to.equal(0);\n });\n\n describe('staticProperties', () => {\n it('should include staticProperties, when on arrowFunctions', () => {\n const ast = ts.createSourceFile('example.tsx', exampleArrowFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportArrow = exports.find((x) => x.identifier === 'arrow');\n\n expect(exportArrow?.staticProperties?.get('textProperty')).to.equal('propertyValue');\n });\n\n it('should include staticProperties, when on regular functions', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportClass = exports.find((x) => x.identifier === 'func');\n\n expect(exportClass?.staticProperties?.get('textProperty')).to.equal('propertyValue');\n });\n\n it('should include staticProperties, when on classes', () => {\n const ast = ts.createSourceFile('example.tsx', exampleClass, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportClass = exports.find((x) => x.identifier === 'classy');\n\n expect(exportClass?.staticProperties?.get('textProperty')).to.equal('propertyValue');\n });\n });\n });\n\n describe('collectStaticProperties', () => {\n const exampleFile = `\n export const hello = () => { return 3; }\n\n hello.text = \"is\";\n hello.count = 3;\n hello.nullish = null;\n hello.undef = undefined;\n hello.disable = false;\n hello.enable = true;\n hello.complextLiteral = \\`what \\${hello.text} it?\\`;\n hello.nonAssignedProperty += 'value';\n `;\n\n it('should parse all primitive values', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFile, ts.ScriptTarget.Latest);\n const staticProperties = new TypeScriptParser().parseStaticProperties(ast);\n\n expect(staticProperties).to.exist;\n\n const exportHello = staticProperties.get('hello');\n expect(exportHello).to.exist;\n\n expect(exportHello?.get('text')).to.equal('is');\n expect(exportHello?.get('count')).to.equal(3);\n expect(exportHello?.get('nullish')).to.equal(null);\n expect(exportHello?.get('undef')).to.equal(undefined);\n expect(exportHello?.get('disable')).to.equal(false);\n expect(exportHello?.get('enable')).to.equal(true);\n\n expect(exportHello?.has('complextLiteral')).to.be.false;\n });\n\n it('should skip non primitive values', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFile, ts.ScriptTarget.Latest);\n const staticProperties = new TypeScriptParser().parseStaticProperties(ast);\n const exportHello = staticProperties.get('hello');\n\n expect(exportHello?.has('complextLiteral')).to.be.false;\n });\n\n it('should skip non assignment statements', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFile, ts.ScriptTarget.Latest);\n const staticProperties = new TypeScriptParser().parseStaticProperties(ast);\n const exportHello = staticProperties.get('hello');\n\n expect(exportHello?.has('nonAssignedProperty')).to.be.false;\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/typescript",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.189",
|
|
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.189"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
13
13
|
"p-map-series": "2.1.0",
|
|
14
14
|
"tsutils": "3.21.0",
|
|
15
|
-
"typescript": "
|
|
15
|
+
"typescript": "5.3.3",
|
|
16
16
|
"chalk": "2.4.2",
|
|
17
17
|
"fs-extra": "10.0.0",
|
|
18
18
|
"yesno": "0.4.0",
|
|
19
19
|
"get-tsconfig": "4.2.0",
|
|
20
20
|
"@teambit/typescript.typescript-compiler": "2.0.22",
|
|
21
21
|
"@teambit/harmony": "0.4.6",
|
|
22
|
-
"@teambit/compiler": "1.0.
|
|
23
|
-
"@teambit/typescript.modules.ts-config-mutator": "0.0.
|
|
24
|
-
"@teambit/builder": "1.0.
|
|
25
|
-
"@teambit/isolator": "1.0.
|
|
26
|
-
"@teambit/component": "1.0.
|
|
27
|
-
"@teambit/dependency-resolver": "1.0.
|
|
28
|
-
"@teambit/formatter": "1.0.
|
|
22
|
+
"@teambit/compiler": "1.0.189",
|
|
23
|
+
"@teambit/typescript.modules.ts-config-mutator": "0.0.83",
|
|
24
|
+
"@teambit/builder": "1.0.189",
|
|
25
|
+
"@teambit/isolator": "1.0.189",
|
|
26
|
+
"@teambit/component": "1.0.189",
|
|
27
|
+
"@teambit/dependency-resolver": "1.0.189",
|
|
28
|
+
"@teambit/formatter": "1.0.189",
|
|
29
29
|
"@teambit/semantics.entities.semantic-schema": "0.0.68",
|
|
30
|
-
"@teambit/ts-server": "0.0.
|
|
31
|
-
"@teambit/aspect-loader": "1.0.
|
|
32
|
-
"@teambit/envs": "1.0.
|
|
33
|
-
"@teambit/logger": "0.0.
|
|
34
|
-
"@teambit/workspace": "1.0.
|
|
35
|
-
"@teambit/schema": "1.0.
|
|
36
|
-
"@teambit/scope": "1.0.
|
|
37
|
-
"@teambit/cli": "0.0.
|
|
38
|
-
"@teambit/pkg": "1.0.
|
|
39
|
-
"@teambit/watcher": "1.0.
|
|
30
|
+
"@teambit/ts-server": "0.0.56",
|
|
31
|
+
"@teambit/aspect-loader": "1.0.189",
|
|
32
|
+
"@teambit/envs": "1.0.189",
|
|
33
|
+
"@teambit/logger": "0.0.949",
|
|
34
|
+
"@teambit/workspace": "1.0.189",
|
|
35
|
+
"@teambit/schema": "1.0.189",
|
|
36
|
+
"@teambit/scope": "1.0.189",
|
|
37
|
+
"@teambit/cli": "0.0.856",
|
|
38
|
+
"@teambit/pkg": "1.0.189",
|
|
39
|
+
"@teambit/watcher": "1.0.189"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/chai": "4.2.15",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@types/lodash": "4.14.165",
|
|
45
45
|
"@types/fs-extra": "9.0.7",
|
|
46
46
|
"@types/mocha": "9.1.0",
|
|
47
|
-
"@teambit/harmony.envs.core-aspect-env": "0.0.
|
|
47
|
+
"@teambit/harmony.envs.core-aspect-env": "0.0.27",
|
|
48
48
|
"@teambit/typescript.aspect-docs.typescript": "0.0.167"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
@@ -2,7 +2,7 @@ import ts from 'typescript';
|
|
|
2
2
|
import { replaceName } from './replaceName';
|
|
3
3
|
|
|
4
4
|
export function classNamesTransformer(nameMapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile> {
|
|
5
|
-
return (context) => {
|
|
5
|
+
return (context: ts.TransformationContext) => {
|
|
6
6
|
const { factory } = context;
|
|
7
7
|
|
|
8
8
|
const visit: ts.Visitor = (node) => {
|
|
@@ -17,7 +17,6 @@ export function classNamesTransformer(nameMapping: Record<string, string>): ts.T
|
|
|
17
17
|
const newMemberName = replaceName(oldMemberName, nameMapping);
|
|
18
18
|
return factory.updatePropertyDeclaration(
|
|
19
19
|
member,
|
|
20
|
-
member.decorators,
|
|
21
20
|
member.modifiers,
|
|
22
21
|
newMemberName ? ts.factory.createIdentifier(newMemberName) : member.name,
|
|
23
22
|
member.questionToken,
|
|
@@ -33,7 +32,6 @@ export function classNamesTransformer(nameMapping: Record<string, string>): ts.T
|
|
|
33
32
|
const updatedParameters = member.parameters.map((param) => {
|
|
34
33
|
return ts.factory.updateParameterDeclaration(
|
|
35
34
|
param,
|
|
36
|
-
param.decorators,
|
|
37
35
|
param.modifiers,
|
|
38
36
|
param.dotDotDotToken,
|
|
39
37
|
param.name,
|
|
@@ -45,7 +43,6 @@ export function classNamesTransformer(nameMapping: Record<string, string>): ts.T
|
|
|
45
43
|
|
|
46
44
|
return factory.updateMethodDeclaration(
|
|
47
45
|
member,
|
|
48
|
-
member.decorators,
|
|
49
46
|
member.modifiers,
|
|
50
47
|
member.asteriskToken,
|
|
51
48
|
newMemberName ? ts.factory.createIdentifier(newMemberName) : member.name,
|
|
@@ -61,7 +58,6 @@ export function classNamesTransformer(nameMapping: Record<string, string>): ts.T
|
|
|
61
58
|
|
|
62
59
|
return factory.updateClassDeclaration(
|
|
63
60
|
node,
|
|
64
|
-
node.decorators,
|
|
65
61
|
node.modifiers,
|
|
66
62
|
factory.createIdentifier(newName),
|
|
67
63
|
node.typeParameters,
|
|
@@ -72,6 +68,6 @@ export function classNamesTransformer(nameMapping: Record<string, string>): ts.T
|
|
|
72
68
|
}
|
|
73
69
|
return ts.visitEachChild(node, visit, context);
|
|
74
70
|
};
|
|
75
|
-
return (node) => ts.visitNode(node, visit);
|
|
71
|
+
return (node) => ts.visitNode(node, visit) as ts.SourceFile;
|
|
76
72
|
};
|
|
77
73
|
}
|
|
@@ -36,7 +36,6 @@ export const exportTransformer: SourceFileTransformer = (mapping: Record<string,
|
|
|
36
36
|
|
|
37
37
|
return ts.factory.updateExportDeclaration(
|
|
38
38
|
node,
|
|
39
|
-
node.decorators,
|
|
40
39
|
node.modifiers,
|
|
41
40
|
node.isTypeOnly,
|
|
42
41
|
updatedExportClause,
|
|
@@ -56,11 +55,11 @@ export const exportTransformer: SourceFileTransformer = (mapping: Record<string,
|
|
|
56
55
|
}
|
|
57
56
|
}
|
|
58
57
|
|
|
59
|
-
return ts.factory.updateExportAssignment(node, node.
|
|
58
|
+
return ts.factory.updateExportAssignment(node, node.modifiers, expression);
|
|
60
59
|
}
|
|
61
60
|
|
|
62
61
|
return ts.visitEachChild(node, visit, context);
|
|
63
62
|
};
|
|
64
|
-
return (node) => ts.visitNode(node, visit);
|
|
63
|
+
return (node) => ts.visitNode(node, visit) as ts.SourceFile;
|
|
65
64
|
};
|
|
66
65
|
};
|
|
@@ -21,7 +21,7 @@ export const expressionStatementTransformer: SourceFileTransformer = (mapping: R
|
|
|
21
21
|
|
|
22
22
|
const visit: ts.Visitor = (node) => {
|
|
23
23
|
if (ts.isExpressionStatement(node)) {
|
|
24
|
-
return ts.factory.updateExpressionStatement(node, ts.visitNode(node.expression, visit));
|
|
24
|
+
return ts.factory.updateExpressionStatement(node, ts.visitNode(node.expression, visit) as ts.Expression);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
if (ts.isPropertyAccessExpression(node)) {
|
|
@@ -29,7 +29,11 @@ export const expressionStatementTransformer: SourceFileTransformer = (mapping: R
|
|
|
29
29
|
if (ts.isIdentifier(node.name)) {
|
|
30
30
|
newName = replaceIdentifierText(node.name);
|
|
31
31
|
}
|
|
32
|
-
return ts.factory.updatePropertyAccessExpression(
|
|
32
|
+
return ts.factory.updatePropertyAccessExpression(
|
|
33
|
+
node,
|
|
34
|
+
ts.visitNode(node.expression, visit) as ts.Expression,
|
|
35
|
+
newName
|
|
36
|
+
);
|
|
33
37
|
}
|
|
34
38
|
|
|
35
39
|
if (ts.isIdentifier(node)) {
|
|
@@ -39,6 +43,6 @@ export const expressionStatementTransformer: SourceFileTransformer = (mapping: R
|
|
|
39
43
|
return ts.visitEachChild(node, visit, context);
|
|
40
44
|
};
|
|
41
45
|
|
|
42
|
-
return (node) => ts.visitNode(node, visit);
|
|
46
|
+
return (node) => ts.visitNode(node, visit) as ts.SourceFile;
|
|
43
47
|
};
|
|
44
48
|
};
|
|
@@ -28,14 +28,13 @@ export const functionNamesTransformer: SourceFileTransformer = (mapping: Record<
|
|
|
28
28
|
const functionName = node.name?.getText() ?? '';
|
|
29
29
|
const newName = Object.entries(mapping).find(([key]) => functionName.includes(key))?.[1] ?? functionName;
|
|
30
30
|
const parameters = node.parameters.map((param) => {
|
|
31
|
-
const newParamType = param.type ? ts.visitNode(param.type, updateTypeReference) : param.type;
|
|
31
|
+
const newParamType = param.type ? (ts.visitNode(param.type, updateTypeReference) as ts.TypeNode) : param.type;
|
|
32
32
|
if (ts.isIdentifier(param.name)) {
|
|
33
33
|
const oldName = param.name.getText();
|
|
34
34
|
const newParamName = Object.keys(mapping).find((key) => oldName.includes(key));
|
|
35
35
|
if (newParamName) {
|
|
36
36
|
return ts.factory.updateParameterDeclaration(
|
|
37
37
|
param,
|
|
38
|
-
param.decorators,
|
|
39
38
|
param.modifiers,
|
|
40
39
|
param.dotDotDotToken,
|
|
41
40
|
ts.factory.createIdentifier(newParamName),
|
|
@@ -61,7 +60,6 @@ export const functionNamesTransformer: SourceFileTransformer = (mapping: Record<
|
|
|
61
60
|
const newParamName = ts.factory.createObjectBindingPattern(elements);
|
|
62
61
|
return ts.factory.updateParameterDeclaration(
|
|
63
62
|
param,
|
|
64
|
-
param.decorators,
|
|
65
63
|
param.modifiers,
|
|
66
64
|
param.dotDotDotToken,
|
|
67
65
|
newParamName,
|
|
@@ -77,7 +75,6 @@ export const functionNamesTransformer: SourceFileTransformer = (mapping: Record<
|
|
|
77
75
|
const updatedBody = node.body && ts.isBlock(node.body) ? updateReturnStatement(node.body) : node.body;
|
|
78
76
|
return ts.factory.updateFunctionDeclaration(
|
|
79
77
|
node,
|
|
80
|
-
node.decorators,
|
|
81
78
|
node.modifiers,
|
|
82
79
|
node.asteriskToken,
|
|
83
80
|
newName ? ts.factory.createIdentifier(newName) : node.name,
|
|
@@ -168,6 +165,6 @@ export const functionNamesTransformer: SourceFileTransformer = (mapping: Record<
|
|
|
168
165
|
}
|
|
169
166
|
return ts.factory.createBlock([], true);
|
|
170
167
|
}
|
|
171
|
-
return (node) => ts.visitNode(node, visit);
|
|
168
|
+
return (node) => ts.visitNode(node, visit) as ts.SourceFile;
|
|
172
169
|
};
|
|
173
170
|
};
|
|
@@ -40,7 +40,6 @@ export const importTransformer: SourceFileTransformer = (mapping: Record<string,
|
|
|
40
40
|
|
|
41
41
|
return ts.factory.updateImportDeclaration(
|
|
42
42
|
node,
|
|
43
|
-
node.decorators,
|
|
44
43
|
node.modifiers,
|
|
45
44
|
updatedImportClause,
|
|
46
45
|
ts.factory.createStringLiteral(moduleSpecifier),
|
|
@@ -50,7 +49,6 @@ export const importTransformer: SourceFileTransformer = (mapping: Record<string,
|
|
|
50
49
|
|
|
51
50
|
return ts.factory.updateImportDeclaration(
|
|
52
51
|
node,
|
|
53
|
-
node.decorators,
|
|
54
52
|
node.modifiers,
|
|
55
53
|
node.importClause,
|
|
56
54
|
ts.factory.createStringLiteral(moduleSpecifier),
|
|
@@ -67,7 +65,6 @@ export const importTransformer: SourceFileTransformer = (mapping: Record<string,
|
|
|
67
65
|
|
|
68
66
|
const updatedImportEqualsDeclaration = ts.factory.updateImportEqualsDeclaration(
|
|
69
67
|
node,
|
|
70
|
-
node.decorators,
|
|
71
68
|
node.modifiers,
|
|
72
69
|
node.isTypeOnly,
|
|
73
70
|
node.name,
|
|
@@ -99,6 +96,6 @@ export const importTransformer: SourceFileTransformer = (mapping: Record<string,
|
|
|
99
96
|
|
|
100
97
|
return ts.visitEachChild(node, visit, context);
|
|
101
98
|
};
|
|
102
|
-
return (node) => ts.visitNode(node, visit);
|
|
99
|
+
return (node) => ts.visitNode(node, visit) as ts.SourceFile;
|
|
103
100
|
};
|
|
104
101
|
};
|
|
@@ -26,7 +26,6 @@ export function interfaceNamesTransformer(nameMapping: Record<string, string>):
|
|
|
26
26
|
});
|
|
27
27
|
return factory.updateInterfaceDeclaration(
|
|
28
28
|
node,
|
|
29
|
-
node.decorators,
|
|
30
29
|
node.modifiers,
|
|
31
30
|
factory.createIdentifier(newName),
|
|
32
31
|
node.typeParameters,
|
|
@@ -37,6 +36,6 @@ export function interfaceNamesTransformer(nameMapping: Record<string, string>):
|
|
|
37
36
|
}
|
|
38
37
|
return ts.visitEachChild(node, (child) => visit(child), context);
|
|
39
38
|
};
|
|
40
|
-
return (node) => ts.visitNode(node, visit);
|
|
39
|
+
return (node) => ts.visitNode(node, visit) as ts.SourceFile;
|
|
41
40
|
};
|
|
42
41
|
}
|
|
@@ -11,7 +11,6 @@ export function typeAliasNamesTransformer(nameMapping: Record<string, string>):
|
|
|
11
11
|
if (newName) {
|
|
12
12
|
return factory.updateTypeAliasDeclaration(
|
|
13
13
|
node,
|
|
14
|
-
node.decorators,
|
|
15
14
|
node.modifiers,
|
|
16
15
|
factory.createIdentifier(newName),
|
|
17
16
|
node.typeParameters,
|
|
@@ -21,6 +20,6 @@ export function typeAliasNamesTransformer(nameMapping: Record<string, string>):
|
|
|
21
20
|
}
|
|
22
21
|
return ts.visitEachChild(node, (child) => visit(child), context);
|
|
23
22
|
};
|
|
24
|
-
return (node) => ts.visitNode(node, visit);
|
|
23
|
+
return (node) => ts.visitNode(node, visit) as ts.SourceFile;
|
|
25
24
|
};
|
|
26
25
|
}
|
|
@@ -20,6 +20,6 @@ export function variableNamesTransformer(nameMapping: Record<string, string>): t
|
|
|
20
20
|
}
|
|
21
21
|
return ts.visitEachChild(node, (child) => visit(child), context);
|
|
22
22
|
};
|
|
23
|
-
return (node) => ts.visitNode(node, visit);
|
|
23
|
+
return (node) => ts.visitNode(node, visit) as ts.SourceFile;
|
|
24
24
|
};
|
|
25
25
|
}
|
|
@@ -51,8 +51,9 @@ export class ClassDeclarationTransformer implements SchemaTransformer {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
async transform(node: ClassDeclaration, context: SchemaExtractorContext) {
|
|
54
|
-
const
|
|
55
|
-
|
|
54
|
+
const nodeDecorators = ts.canHaveDecorators(node) ? ts.getDecorators(node) : undefined;
|
|
55
|
+
const decorators = nodeDecorators?.length
|
|
56
|
+
? await pMapSeries(nodeDecorators, (decorator) => context.computeSchema(decorator))
|
|
56
57
|
: undefined;
|
|
57
58
|
const className = this.getName(node);
|
|
58
59
|
const extendsExpressionsWithTypeArgs = await this.getExpressionWithTypeArgs(
|
|
@@ -72,7 +73,8 @@ export class ClassDeclarationTransformer implements SchemaTransformer {
|
|
|
72
73
|
});
|
|
73
74
|
const signature = node.name ? await context.getQuickInfoDisplayString(node.name) : undefined;
|
|
74
75
|
const members = await pMapSeries(node.members, async (member) => {
|
|
75
|
-
const
|
|
76
|
+
const memberModifiers = ts.canHaveModifiers(member) ? ts.getModifiers(member) : undefined;
|
|
77
|
+
const isPrivate = memberModifiers?.some((modifier) => modifier.kind === ts.SyntaxKind.PrivateKeyword);
|
|
76
78
|
if (isPrivate) {
|
|
77
79
|
return null;
|
|
78
80
|
}
|
|
@@ -134,7 +134,7 @@ also, make sure the tsconfig.json in the root has the "jsx" setting defined.`);
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
if (definitionNode.parent.kind === SyntaxKind.ExportSpecifier)
|
|
137
|
-
return exportSpecifierToSchemaNode(definitionNode.parent as ExportSpecifier, context);
|
|
137
|
+
return await exportSpecifierToSchemaNode(definitionNode.parent as ExportSpecifier, context);
|
|
138
138
|
|
|
139
139
|
return await context.computeSchema(definitionNode.parent);
|
|
140
140
|
} catch (e) {
|
|
@@ -31,8 +31,9 @@ export class FunctionLikeTransformer implements SchemaTransformer {
|
|
|
31
31
|
|
|
32
32
|
async transform(node: SignatureDeclaration, context: SchemaExtractorContext): Promise<SchemaNode> {
|
|
33
33
|
const name = this.getName(node);
|
|
34
|
+
const nodeModifiers = ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined;
|
|
34
35
|
const getQuickInfoFromDefaultModifier = async () => {
|
|
35
|
-
const defaultModifier =
|
|
36
|
+
const defaultModifier = nodeModifiers?.find((modifier) => modifier.kind === ts.SyntaxKind.DefaultKeyword);
|
|
36
37
|
if (defaultModifier) return context.getQuickInfo(defaultModifier);
|
|
37
38
|
if (node.kind === ts.SyntaxKind.ArrowFunction) return context.getQuickInfo(node.equalsGreaterThanToken);
|
|
38
39
|
return null;
|
|
@@ -45,12 +46,13 @@ export class FunctionLikeTransformer implements SchemaTransformer {
|
|
|
45
46
|
)) as ParameterSchema[];
|
|
46
47
|
|
|
47
48
|
const returnType = await context.resolveType(node, returnTypeStr, Boolean(info));
|
|
48
|
-
const modifiers =
|
|
49
|
+
const modifiers = nodeModifiers?.map((modifier) => modifier.getText()) || [];
|
|
49
50
|
const typeParameters = node.typeParameters?.map((typeParam) => typeParam.name.getText());
|
|
50
51
|
const location = context.getLocation(node);
|
|
51
52
|
const doc = await context.jsDocToDocSchema(node);
|
|
52
|
-
const
|
|
53
|
-
|
|
53
|
+
const nodeDecorators = ts.canHaveDecorators(node) ? ts.getDecorators(node) : undefined;
|
|
54
|
+
const decorators = nodeDecorators?.length
|
|
55
|
+
? await pMapSeries(nodeDecorators, (decorator) => context.computeSchema(decorator))
|
|
54
56
|
: undefined;
|
|
55
57
|
|
|
56
58
|
return new FunctionLikeSchema(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Node, PropertyDeclaration, PropertySignature, SyntaxKind } from 'typescript';
|
|
1
|
+
import { Node, PropertyDeclaration, PropertySignature, SyntaxKind, isPropertyDeclaration } from 'typescript';
|
|
2
2
|
import { VariableLikeSchema } from '@teambit/semantics.entities.semantic-schema';
|
|
3
3
|
import { SchemaTransformer } from '../schema-transformer';
|
|
4
4
|
import { SchemaExtractorContext } from '../schema-extractor-context';
|
|
@@ -26,9 +26,9 @@ export class PropertyDeclarationTransformer implements SchemaTransformer {
|
|
|
26
26
|
const displaySig = info?.body?.displayString || node.getText();
|
|
27
27
|
const typeStr = parseTypeFromQuickInfo(info);
|
|
28
28
|
const type = await context.resolveType(node, typeStr);
|
|
29
|
-
const isOptional = Boolean(node.questionToken) || Boolean(node.initializer);
|
|
29
|
+
const isOptional = Boolean(node.questionToken) || (isPropertyDeclaration(node) && Boolean(node.initializer));
|
|
30
30
|
const doc = await context.jsDocToDocSchema(node);
|
|
31
|
-
const defaultValue = node
|
|
31
|
+
const defaultValue = isPropertyDeclaration(node) ? node.initializer?.getText() : undefined;
|
|
32
32
|
return new VariableLikeSchema(context.getLocation(node), name, displaySig, type, isOptional, doc, defaultValue);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -66,8 +66,9 @@ export class SourceFileTransformer implements SchemaTransformer {
|
|
|
66
66
|
return ast.statements.filter((statement) => {
|
|
67
67
|
if (statement.kind === ts.SyntaxKind.ExportDeclaration || statement.kind === ts.SyntaxKind.ExportAssignment)
|
|
68
68
|
return true;
|
|
69
|
+
const modifiers = ts.canHaveModifiers(statement) ? ts.getModifiers(statement) : undefined;
|
|
69
70
|
const isExport = Boolean(
|
|
70
|
-
|
|
71
|
+
modifiers?.find((modifier) => {
|
|
71
72
|
return modifier.kind === ts.SyntaxKind.ExportKeyword;
|
|
72
73
|
})
|
|
73
74
|
);
|
|
@@ -77,9 +78,10 @@ export class SourceFileTransformer implements SchemaTransformer {
|
|
|
77
78
|
|
|
78
79
|
private listInternalNodes(ast: SourceFile): Node[] {
|
|
79
80
|
return ast.statements.filter((statement) => {
|
|
81
|
+
const modifiers = ts.canHaveModifiers(statement) ? ts.getModifiers(statement) : undefined;
|
|
80
82
|
if (
|
|
81
83
|
!(statement.kind === ts.SyntaxKind.ExportDeclaration || statement.kind === ts.SyntaxKind.ExportAssignment) &&
|
|
82
|
-
!
|
|
84
|
+
!modifiers?.find((modifier) => {
|
|
83
85
|
return modifier.kind === ts.SyntaxKind.ExportKeyword;
|
|
84
86
|
})
|
|
85
87
|
) {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import protocol from 'typescript/lib/protocol';
|
|
1
|
+
import type ts from 'typescript/lib/tsserverlibrary';
|
|
3
2
|
|
|
4
3
|
export const UNRESOLVED = '<<unresolved>>';
|
|
5
4
|
|
|
@@ -35,7 +34,7 @@ export const UNRESOLVED = '<<unresolved>>';
|
|
|
35
34
|
* b: number;
|
|
36
35
|
* }
|
|
37
36
|
*/
|
|
38
|
-
export function parseTypeFromQuickInfo(quickInfo: protocol.QuickInfoResponse | undefined): string {
|
|
37
|
+
export function parseTypeFromQuickInfo(quickInfo: ts.server.protocol.QuickInfoResponse | undefined): string {
|
|
39
38
|
if (!quickInfo?.body?.displayString) return '';
|
|
40
39
|
const displayString = quickInfo.body.displayString;
|
|
41
40
|
const splitByColon = displayString.split(':');
|
|
@@ -92,7 +91,7 @@ export function parseTypeFromQuickInfo(quickInfo: protocol.QuickInfoResponse | u
|
|
|
92
91
|
}
|
|
93
92
|
}
|
|
94
93
|
|
|
95
|
-
export function parseReturnTypeFromQuickInfo(quickInfo: protocol.QuickInfoResponse | undefined): string {
|
|
94
|
+
export function parseReturnTypeFromQuickInfo(quickInfo: ts.server.protocol.QuickInfoResponse | undefined): string {
|
|
96
95
|
if (!quickInfo) return '';
|
|
97
96
|
const typeStr = parseTypeFromQuickInfo(quickInfo);
|
|
98
97
|
const array = typeStr.split('=>');
|
|
@@ -33,7 +33,8 @@ export class VariableDeclaration implements SchemaTransformer {
|
|
|
33
33
|
const displaySig = info?.body?.displayString || '';
|
|
34
34
|
const location = context.getLocation(varDec);
|
|
35
35
|
const doc = await context.jsDocToDocSchema(varDec);
|
|
36
|
-
const
|
|
36
|
+
const nodeModifiers = ts.canHaveModifiers(varDec) ? ts.getModifiers(varDec) : undefined;
|
|
37
|
+
const modifiers = nodeModifiers?.map((modifier) => modifier.getText()) || [];
|
|
37
38
|
if (varDec.initializer?.kind === ts.SyntaxKind.ArrowFunction) {
|
|
38
39
|
const functionLikeInfo = await context.getQuickInfo((varDec.initializer as ArrowFunction).equalsGreaterThanToken);
|
|
39
40
|
const returnTypeStr = functionLikeInfo ? parseTypeFromQuickInfo(functionLikeInfo) : 'any';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@1.0.187/dist/typescript.composition.js';
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@1.0.187/dist/typescript.docs.mdx';
|
|
3
|
-
|
|
4
|
-
export const compositions = [compositions_0];
|
|
5
|
-
export const overview = [overview_0];
|
|
6
|
-
|
|
7
|
-
export const compositions_metadata = {"compositions":[{"displayName":"Logo","identifier":"Logo"}]};
|