(packageJson: PackageJson)
| 110 | ]; |
| 111 | |
| 112 | export function getDependencies(packageJson: PackageJson): { |
| 113 | deps: string[]; |
| 114 | depsVersions: Record<string, number>; |
| 115 | } { |
| 116 | const dependencies: Record<string, string> = Object.assign( |
| 117 | {}, |
| 118 | packageJson['devDependencies'] ?? {}, |
| 119 | packageJson['dependencies'] ?? {}, |
| 120 | ); |
| 121 | |
| 122 | const deps = Object.keys(dependencies).sort(); |
| 123 | |
| 124 | const depsVersions: Record<string, number> = deps.reduce( |
| 125 | (depsVersions, depName) => { |
| 126 | if (PACKAGES_TO_INCLUDE_VERSION.includes(depName)) { |
| 127 | const version = dependencies[depName] as string; |
| 128 | const majorVersion = parseMajorVersion(version); |
| 129 | if (majorVersion) { |
| 130 | depsVersions[depName] = majorVersion; |
| 131 | } |
| 132 | } |
| 133 | return depsVersions; |
| 134 | }, |
| 135 | {} as Record<string, number>, |
| 136 | ); |
| 137 | |
| 138 | return { deps, depsVersions }; |
| 139 | } |
| 140 | |
| 141 | function lookupPackageJson(cwd: string, stopAt: string): PackageJson | undefined { |
| 142 | const jsonPath = findUp.sync( |
no test coverage detected