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

Function createPackageAdditions

packages/create/src/custom-add-ons/shared.ts:14–60  ·  view source on GitHub ↗
(
  originalPackageJson: Record<string, any>,
  currentPackageJson: Record<string, any>,
)

Source from the content-addressed store, hash-verified

12import type { PersistedOptions } from '../config-file.js'
13
14export function createPackageAdditions(
15 originalPackageJson: Record<string, any>,
16 currentPackageJson: Record<string, any>,
17) {
18 const packageAdditions: Record<string, any> = {}
19
20 const scripts: Record<string, any> = {}
21 for (const script of Object.keys(currentPackageJson.scripts || {})) {
22 if (
23 originalPackageJson.scripts[script] !== currentPackageJson.scripts[script]
24 ) {
25 scripts[script] = currentPackageJson.scripts[script]
26 }
27 }
28 packageAdditions.scripts = Object.keys(scripts).length ? scripts : undefined
29
30 const dependencies: Record<string, string> = {}
31 for (const dependency of Object.keys(currentPackageJson.dependencies || {})) {
32 if (
33 originalPackageJson.dependencies[dependency] !==
34 currentPackageJson.dependencies[dependency]
35 ) {
36 dependencies[dependency] = currentPackageJson.dependencies[dependency]
37 }
38 }
39 packageAdditions.dependencies = Object.keys(dependencies).length
40 ? dependencies
41 : undefined
42
43 const devDependencies: Record<string, string> = {}
44 for (const dependency of Object.keys(
45 currentPackageJson.devDependencies || {},
46 )) {
47 if (
48 originalPackageJson.devDependencies[dependency] !==
49 currentPackageJson.devDependencies[dependency]
50 ) {
51 devDependencies[dependency] =
52 currentPackageJson.devDependencies[dependency]
53 }
54 }
55 packageAdditions.devDependencies = Object.keys(devDependencies).length
56 ? devDependencies
57 : undefined
58
59 return packageAdditions
60}
61
62export async function createAppOptionsFromPersisted(
63 json: PersistedOptions,

Callers 3

updateAddOnInfoFunction · 0.85
updateStarterInfoFunction · 0.85
shared.test.tsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected