MCPcopy
hub / github.com/formatjs/formatjs / main

Function main

tools/release-please/generate-npm-workspace-graph.ts:76–107  ·  view source on GitHub ↗
(args: Args)

Source from the content-addressed store, hash-verified

74}
75
76export function main(args: Args) {
77 const {
78 out,
79 packages: packagePaths,
80 releaseDependencies: releaseDependencyPaths,
81 } = validateArgs(args)
82 const releaseDependenciesByPath = new Map<string, string[]>()
83
84 for (const value of releaseDependencyPaths) {
85 const {path, releaseDependency} = parseReleaseDependencyArg(value)
86 const releaseDependencies = releaseDependenciesByPath.get(path) || []
87 releaseDependencies.push(releaseDependency)
88 releaseDependenciesByPath.set(path, releaseDependencies)
89 }
90
91 const packages = packagePaths.map(value => {
92 const {path, packageJson} = parsePackageArg(value)
93 const manifest = JSON.parse(readFileSync(packageJson, 'utf8'))
94 return normalizePackage({
95 path,
96 name: manifest.name,
97 version: manifest.version,
98 dependencies: manifest.dependencies,
99 optionalDependencies: manifest.optionalDependencies,
100 peerDependencies: manifest.peerDependencies,
101 releaseDependencies: releaseDependenciesByPath.get(path)?.sort(),
102 })
103 })
104
105 mkdirSync(dirname(out), {recursive: true})
106 writeFileSync(out, `${JSON.stringify({packages}, null, 2)}\n`)
107}
108
109if (import.meta.filename === process.argv[1]) {
110 main(minimist<Args>(process.argv.slice(2)))

Callers 1

Calls 7

normalizePackageFunction · 0.90
validateArgsFunction · 0.85
parseMethod · 0.80
parsePackageArgFunction · 0.70
getMethod · 0.65
setMethod · 0.65

Tested by

no test coverage detected