(packageJson: Record<string, unknown>, variableName: string)
| 216 | } |
| 217 | |
| 218 | function getNpmPackageVariable(packageJson: Record<string, unknown>, variableName: string): string | undefined { |
| 219 | const prefix = '$npm_package_'; |
| 220 | if (!variableName.startsWith(prefix)) return undefined; |
| 221 | |
| 222 | const pathString = variableName.slice(prefix.length); |
| 223 | const pathSegments = pathString.split('_'); |
| 224 | |
| 225 | let current: unknown = packageJson; |
| 226 | for (const segment of pathSegments) { |
| 227 | if (current === null || current === undefined) return undefined; |
| 228 | if (typeof current !== 'object') return undefined; |
| 229 | current = (current as Record<string, unknown>)[segment]; |
| 230 | } |
| 231 | |
| 232 | if (current === null || current === undefined) return undefined; |
| 233 | return String(current); |
| 234 | } |
| 235 | |
| 236 | function hasNpmVariable(value: string | undefined): boolean { |
| 237 | return value?.includes('$npm_package_') ?? false; |
no outgoing calls
no test coverage detected