Skip to content

Commit

Permalink
build: adjust create project script to ensure all built packages are …
Browse files Browse the repository at this point in the history
…used

The admin create script previously only updated the package.json dependencies
for direct dependencies. This did not ensure that all built packages were used
due to some built packages being used as transitive dependencies. The npm
`overrides` field is now also used to ensure that these dependencies are also
properly redirected to the built packages.
  • Loading branch information
clydin authored and alan-agius4 committed Apr 18, 2024
1 parent 810d213 commit eb8f1fa
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions scripts/create.mts
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,9 @@ export default async function (args: CreateOptions, cwd: string): Promise<number
const packageJsonPath = path.join(projectName, 'package.json');
const packageJson = JSON.parse(await readFile(packageJsonPath, 'utf-8'));

if (!packageJson['dependencies']) {
packageJson['dependencies'] = {};
}
if (!packageJson['devDependencies']) {
packageJson['devDependencies'] = {};
}
packageJson['dependencies'] ??= {};
packageJson['devDependencies'] ??= {};
packageJson['overrides'] ??= {};

// Set the dependencies to the new build we just used.
for (const packageName of packages.map(({ name }) => name)) {
Expand All @@ -99,6 +96,8 @@ export default async function (args: CreateOptions, cwd: string): Promise<number
packageJson['dependencies'][packageName] = tar;
} else if (packageName in packageJson['devDependencies']) {
packageJson['devDependencies'][packageName] = tar;
} else {
packageJson['overrides'][packageName] = tar;
}
}

Expand Down

0 comments on commit eb8f1fa

Please sign in to comment.