2020-07-23 05:38:04 +09:00
|
|
|
{
|
|
|
|
"compilerOptions": {
|
|
|
|
"outDir": "../../build/tmp",
|
|
|
|
"sourceMap": true,
|
|
|
|
"declaration": false,
|
|
|
|
"moduleResolution": "node",
|
|
|
|
"emitDecoratorMetadata": true,
|
|
|
|
"experimentalDecorators": true,
|
|
|
|
"target": "es5",
|
|
|
|
"module": "es2015",
|
|
|
|
"baseUrl": "./",
|
|
|
|
"strict": true,
|
|
|
|
"types": [],
|
|
|
|
"lib": [
|
|
|
|
"es2017",
|
|
|
|
"dom"
|
|
|
|
],
|
|
|
|
"paths": {
|
|
|
|
"pdfjs-dist": ["../../build/typestest"],
|
Fix Viewer API definitions and include in CI
The Viewer API definitions do not compile because of missing imports and
anonymous objects are typed as `Object`. These issues were not caught
during CI because the test project was not compiling anything from the
Viewer API.
As an example of the first problem:
```
/**
* @implements MyInterface
*/
export class MyClass {
...
}
```
will generate a broken definition that doesn’t import MyInterface:
```
/**
* @implements MyInterface
*/
export class MyClass implements MyInterface {
...
}
```
This can be fixed by adding a typedef jsdoc to specify the import:
```
/** @typedef {import("./otherFile").MyInterface} MyInterface */
```
See https://github.com/jsdoc/jsdoc/issues/1537 and
https://github.com/microsoft/TypeScript/issues/22160 for more details.
As an example of the second problem:
```
/**
* Gets the size of the specified page, converted from PDF units to inches.
* @param {Object} An Object containing the properties: {Array} `view`,
* {number} `userUnit`, and {number} `rotate`.
*/
function getPageSizeInches({ view, userUnit, rotate }) {
...
}
```
generates the broken definition:
```
function getPageSizeInches({ view, userUnit, rotate }: Object) {
...
}
```
The jsdoc should specify the type of each nested property:
```
/**
* Gets the size of the specified page, converted from PDF units to inches.
* @param {Object} options An object containing the properties: {Array} `view`,
* {number} `userUnit`, and {number} `rotate`.
* @param {number[]} options.view
* @param {number} options.userUnit
* @param {number} options.rotate
*/
```
2021-08-26 07:44:06 +09:00
|
|
|
"pdfjs-dist/*": ["../../build/typestest/types/*"]
|
2020-07-23 05:38:04 +09:00
|
|
|
}
|
|
|
|
},
|
|
|
|
"files": [
|
|
|
|
"main.ts"
|
2021-06-15 18:59:47 +09:00
|
|
|
]
|
2020-07-23 05:38:04 +09:00
|
|
|
}
|