Skip to content

Commit eb8f1fa

Browse files
clydinalan-agius4
authored andcommitted
build: adjust create project script to ensure all built packages are 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.
1 parent 810d213 commit eb8f1fa

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

scripts/create.mts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,9 @@ export default async function (args: CreateOptions, cwd: string): Promise<number
8484
const packageJsonPath = path.join(projectName, 'package.json');
8585
const packageJson = JSON.parse(await readFile(packageJsonPath, 'utf-8'));
8686

87-
if (!packageJson['dependencies']) {
88-
packageJson['dependencies'] = {};
89-
}
90-
if (!packageJson['devDependencies']) {
91-
packageJson['devDependencies'] = {};
92-
}
87+
packageJson['dependencies'] ??= {};
88+
packageJson['devDependencies'] ??= {};
89+
packageJson['overrides'] ??= {};
9390

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

0 commit comments

Comments
 (0)