MCPcopy Create free account
hub / github.com/TanStack/cli / mergePackageJSON

Function mergePackageJSON

packages/create/src/edge-package-json.ts:7–95  ·  view source on GitHub ↗
(
  packageJSON: Record<string, unknown>,
  overlayPackageJSON?: Record<string, unknown>,
)

Source from the content-addressed store, hash-verified

5import type { Options } from './types.js'
6
7export function mergePackageJSON(
8 packageJSON: Record<string, unknown>,
9 overlayPackageJSON?: Record<string, unknown>,
10) {
11 const packageDependencies =
12 packageJSON.dependencies && typeof packageJSON.dependencies === 'object'
13 ? (packageJSON.dependencies as Record<string, string>)
14 : {}
15 const overlayDependencies =
16 overlayPackageJSON?.dependencies &&
17 typeof overlayPackageJSON.dependencies === 'object'
18 ? (overlayPackageJSON.dependencies as Record<string, string>)
19 : {}
20 const packageDevDependencies =
21 packageJSON.devDependencies && typeof packageJSON.devDependencies === 'object'
22 ? (packageJSON.devDependencies as Record<string, string>)
23 : {}
24 const overlayDevDependencies =
25 overlayPackageJSON?.devDependencies &&
26 typeof overlayPackageJSON.devDependencies === 'object'
27 ? (overlayPackageJSON.devDependencies as Record<string, string>)
28 : {}
29 const packageScripts =
30 packageJSON.scripts && typeof packageJSON.scripts === 'object'
31 ? (packageJSON.scripts as Record<string, string>)
32 : {}
33 const overlayScripts =
34 overlayPackageJSON?.scripts && typeof overlayPackageJSON.scripts === 'object'
35 ? (overlayPackageJSON.scripts as Record<string, string>)
36 : {}
37
38 const mergedPackageJSON: Record<string, unknown> = {
39 ...packageJSON,
40 ...(overlayPackageJSON || {}),
41 dependencies: {
42 ...packageDependencies,
43 ...overlayDependencies,
44 },
45 devDependencies: {
46 ...packageDevDependencies,
47 ...overlayDevDependencies,
48 },
49 scripts: {
50 ...packageScripts,
51 ...overlayScripts,
52 },
53 }
54
55 const packagePnpm =
56 packageJSON.pnpm && typeof packageJSON.pnpm === 'object'
57 ? (packageJSON.pnpm as Record<string, unknown>)
58 : undefined
59 const overlayPnpm =
60 overlayPackageJSON?.pnpm && typeof overlayPackageJSON.pnpm === 'object'
61 ? (overlayPackageJSON.pnpm as Record<string, unknown>)
62 : undefined
63
64 const baseOnlyBuiltDependencies = Array.isArray(

Callers 1

createPackageJSONFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected