1
0
mirror of synced 2025-12-20 02:19:14 -05:00
Files
docs/script/check-deps.js
Kevin Heis 2fb2e962bc Move site search to use an endpoint (#17359)
* Move site search to use an endpoint

* Update browser.js

* Update search.js

* Update lib/search/versions.js

Co-authored-by: James M. Greene <JamesMGreene@github.com>

* Fix URLs

Co-authored-by: James M. Greene <JamesMGreene@github.com>
2021-01-20 15:37:42 +00:00

73 lines
1.8 KiB
JavaScript

#!/usr/bin/env node
const dependencyCheck = require('dependency-check')
const path = require('path')
// [start-readme]
//
// This script checks which modules you have used in your code and then makes sure
// they are listed as dependencies in your package.json, or vice-versa
//
// https://github.com/dependency-check-team/dependency-check
//
// The `ignore` array is for client-side or build-time stuff that doesn't get `require()d` in the normal way.
//
// [end-readme]
const main = async () => {
const data = await dependencyCheck({
entries: [
path.posix.join(__dirname, '..', '*.js'),
path.posix.join(__dirname, '..', '*', '*.js'),
path.posix.join('!', __dirname, '..', 'javascripts', '*.js'),
path.posix.join(__dirname, '..', 'script', 'graphql', '*.js')
],
path: path.join(__dirname, '..'),
noDefaultEntries: true
})
const extra = dependencyCheck.extra(data.package, data.used, {
excludeDev: true,
ignore: [
'@babel/*',
'babel-preset-env',
'@primer/*',
'querystring',
'pa11y-ci',
'sass',
'babel-loader',
'cross-env',
'css-loader',
'resolve-url-loader',
'sass-loader',
'style-loader',
'webpack-cli',
'browser-date-formatter',
'html-truncate',
'platform-utils',
'search-with-your-keyboard',
'uuid',
'imurmurhash',
'js-cookie',
'clipboard'
]
})
if (extra.length) {
console.error(`Packages in package.json not used in your code: ${extra.join(', ')}`)
}
const missing = dependencyCheck.missing(data.package, data.used)
if (missing.length) {
console.error(`Dependencies not listed in package.json: ${missing.join(', ')}`)
}
if (extra.length || missing.length) process.exit(1)
}
main().catch(err => {
console.error(err)
process.exit(1)
})