1- import { emptyDir } from "fs-extra" ;
1+ import { emptyDir , mkdir , mkdirp , readFileSync } from "fs-extra" ;
22import * as yargs from "yargs" ;
33
44import { FS , getDefinitelyTyped } from "./get-definitely-typed" ;
55import { Options } from "./lib/common" ;
66import {
77 AllPackages , AnyPackage , DependencyVersion , getFullNpmName , License , NotNeededPackage , PackageJsonDependency , TypingsData ,
88} from "./lib/packages" ;
9- import { sourceBranch , outputDirPath } from "./lib/settings" ;
9+ import { outputDirPath , sourceBranch } from "./lib/settings" ;
1010import { ChangedPackages , readChangedPackages , skipBadPublishes } from "./lib/versions" ;
1111import { writeFile } from "./util/io" ;
1212import { logger , loggerWithErrors , writeLog , Logger } from "./util/logging" ;
1313import { writeTgz } from "./util/tgz" ;
1414import { assertNever , joinPaths , logUncaughtErrors , sortObjectKeys } from "./util/util" ;
1515import { makeTypesVersionsForPackageJson } from "definitelytyped-header-parser" ;
16- import { mkdir , mkdirp , readFileSync } from "fs-extra" ;
1716import * as path from "path" ;
1817import { withNpmCache , CachedNpmInfoClient , UncachedNpmInfoClient } from "./lib/npm-client" ;
1918
@@ -112,6 +111,7 @@ function createPackageJSON(typing: TypingsData, version: string, packages: AllPa
112111 } ,
113112 scripts : { } ,
114113 dependencies : getDependencies ( typing . packageJsonDependencies , typing , packages ) ,
114+ peerDependencies : getPeerDependencies ( typing . peerDependencies ) ,
115115 typesPublisherContentHash : typing . contentHash ,
116116 typeScriptVersion : typing . minTypeScriptVersion ,
117117 } ;
@@ -121,7 +121,7 @@ function createPackageJSON(typing: TypingsData, version: string, packages: AllPa
121121
122122const definitelyTypedURL = "https://github.com/DefinitelyTyped/DefinitelyTyped" ;
123123
124- /** Adds inferred dependencies to `dependencies`, if they are not already specified in either `dependencies` or `peerDependencies` . */
124+ /** Adds inferred dependencies to `dependencies`, if they are not already specified in either `dependencies`. */
125125function getDependencies ( packageJsonDependencies : ReadonlyArray < PackageJsonDependency > , typing : TypingsData , allPackages : AllPackages ) : Dependencies {
126126 const dependencies : Dependencies = { } ;
127127 for ( const { name, version } of packageJsonDependencies ) {
@@ -138,6 +138,15 @@ function getDependencies(packageJsonDependencies: ReadonlyArray<PackageJsonDepen
138138 return sortObjectKeys ( dependencies ) ;
139139}
140140
141+ function getPeerDependencies ( packageJsonDependencies : ReadonlyArray < PackageJsonDependency > ) : Dependencies {
142+ const dependencies : Dependencies = { } ;
143+ for ( const { name, version } of packageJsonDependencies ) {
144+ dependencies [ name ] = version ;
145+ }
146+
147+ return sortObjectKeys ( dependencies ) ;
148+ }
149+
141150function dependencySemver ( dependency : DependencyVersion ) : string {
142151 return dependency === "*" ? dependency : `^${ dependency } ` ;
143152}
@@ -185,6 +194,8 @@ function createReadme(typing: TypingsData): string {
185194 lines . push ( ` * Last updated: ${ ( new Date ( ) ) . toUTCString ( ) } ` ) ;
186195 const dependencies = Array . from ( typing . dependencies ) . map ( d => getFullNpmName ( d . name ) ) ;
187196 lines . push ( ` * Dependencies: ${ dependencies . length ? dependencies . join ( ", " ) : "none" } ` ) ;
197+ const peerDependencies = Array . from ( typing . peerDependencies ) . map ( d => getFullNpmName ( d . name ) ) ;
198+ lines . push ( ` * Peer Dependencies: ${ peerDependencies . length ? peerDependencies . join ( ", " ) : "none" } ` ) ;
188199 lines . push ( ` * Global values: ${ typing . globals . length ? typing . globals . join ( ", " ) : "none" } ` ) ;
189200 lines . push ( "" ) ;
190201
0 commit comments