cli/new: add ability to configure publish registry

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2025-02-10 11:38:05 +01:00
parent c993e428f9
commit 8c6251f246
5 changed files with 23 additions and 3 deletions
+1
View File
@@ -53,6 +53,7 @@ export default async (opts: ArgOptions) => {
license: otherGlobals.license,
version: otherGlobals.baseVersion,
private: otherGlobals.private,
publishRegistry: otherGlobals.npmRegistry,
packageNamePrefix: packagePrefix,
packageNamePluginInfix: pluginInfix,
},
@@ -42,9 +42,6 @@ export async function writeTemplateContents(
values: {
...roleValues,
packageName: input.packageName,
privatePackage: input.private,
packageVersion: input.version,
license: input.license,
},
templatedValues: template.templateValues,
});
@@ -114,6 +111,17 @@ export function injectPackageJsonInput(
delete pkgJson.private;
}
if (input.publishRegistry) {
if (pkgJson.publishConfig) {
pkgJson.publishConfig = {
...pkgJson.publishConfig,
registry: input.publishRegistry,
};
} else {
toAdd.push(['publishConfig', { registry: input.publishRegistry }]);
}
}
const entries = Object.entries(pkgJson);
const nameIndex = entries.findIndex(([name]) => name === 'name');
@@ -93,6 +93,7 @@ export async function collectPortableTemplateInput(
license: config.license,
version: config.version,
private: config.private,
publishRegistry: config.publishRegistry,
packageName: packageParams.packageName,
packagePath: packageParams.packagePath,
};
@@ -26,6 +26,7 @@ const defaults = {
license: 'Apache-2.0',
version: '0.1.0',
private: true,
publishRegistry: undefined,
packageNamePrefix: '@internal/',
packageNamePluginInfix: 'plugin-',
};
@@ -56,6 +57,7 @@ const newConfigSchema = z
license: z.string().optional(),
version: z.string().optional(),
private: z.boolean().optional(),
publishRegistry: z.string().optional(),
namePrefix: z.string().optional(),
namePluginInfix: z.string().optional(),
})
@@ -118,6 +120,10 @@ export async function loadPortableTemplateConfig(
license: overrides.license ?? config?.globals?.license ?? defaults.license,
version: overrides.version ?? config?.globals?.version ?? defaults.version,
private: overrides.private ?? config?.globals?.private ?? defaults.private,
publishRegistry:
overrides.publishRegistry ??
config?.globals?.publishRegistry ??
defaults.publishRegistry,
packageNamePrefix:
overrides.packageNamePrefix ??
config?.globals?.namePrefix ??
+4
View File
@@ -31,6 +31,8 @@ export type PortableTemplateConfig = {
private: boolean;
publishRegistry?: string;
packageNamePrefix: string;
packageNamePluginInfix: string;
@@ -113,6 +115,8 @@ export type PortableTemplateInput = {
private: boolean;
publishRegistry?: string;
packageName: string;
packagePath: string;