Skip to content

Commit 40d1027

Browse files
committed
Add flag for TypeScript modules
1 parent 79279de commit 40d1027

3 files changed

Lines changed: 8 additions & 4 deletions

File tree

config/elasticsearch/npms.json5

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@
341341
"deprecated": { "type": "string", "index": "not_analyzed" },
342342
"insecure": { "type": "integer" },
343343
"unstable": { "type": "boolean" },
344+
"dts": { "type": "boolean" },
344345
},
345346
},
346347
"evaluation": {

lib/analyze/collect/source.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,19 @@ const log = logger.child({ module: 'collect/source' });
2323
/**
2424
* Inspects important files, such as the tests and README file sizes.
2525
*
26-
* @param {object} data The package data
27-
* @param {string} dir The package directory
26+
* @param {object} data The package data
27+
* @param {string} dir The package directory
28+
* @param {object} packageJson The latest package.json data (normalized)
2829
*
2930
* @return {Promise} The promise for the inspection result
3031
*/
31-
function inspectFiles(data, dir) {
32+
function inspectFiles(data, dir, packageJson) {
3233
return Promise.props({
3334
readmeSize: data.readmeFilename ? fileSize(`${dir}/${data.readmeFilename}`) : 0,
3435
testsSize: detectRepoTestFiles(dir).then((files) => fileSize(files)),
3536
hasNpmIgnore: isRegularFile(`${dir}/.npmignore`).then((is) => is || null),
3637
hasShrinkwrap: isRegularFile(`${dir}/npm-shrinkwrap.json`).then((is) => is || null),
38+
hasTypeScriptDeclaration: isRegularFile(path.join(dir, String(packageJson.typings || packageJson.types || 'index.d.ts'))).then((is) => is || null),
3739
hasChangelog: detectRepoChangelog(dir).then((file) => !!file).then((is) => is || null),
3840
});
3941
}
@@ -183,7 +185,7 @@ function source(data, packageJson, downloaded, options) {
183185

184186
// Analyze source first because the external tools add files to the directory
185187
return promisePropsSettled({
186-
files: inspectFiles(data, downloaded.dir),
188+
files: inspectFiles(data, downloaded.dir, packageJson),
187189
repositorySize: fileSize.dir(downloaded.dir),
188190
linters: detectRepoLinters(downloaded.dir),
189191
coverage: fetchCodeCoverage(packageJson, badges),

lib/scoring/score.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ function buildScore(analysis, aggregation) {
158158
deprecated: collected.metadata.deprecated,
159159
insecure: collected.source && collected.source.vulnerabilities ? collected.source.vulnerabilities.length : null,
160160
unstable: semver.lt(collected.metadata.version, '1.0.0', true) ? true : null,
161+
dts: collected.source && collected.source.hasTypeScriptDeclaration,
161162
},
162163
evaluation,
163164
score: {

0 commit comments

Comments
 (0)