fix(config): replace npmextra with smartconfig for base registry resolution

This commit is contained in:
2026-03-24 15:07:15 +00:00
parent d7e387765f
commit 3971ce0c84
6 changed files with 40 additions and 33 deletions

View File

@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@git.zone/tspublish',
version: '1.11.2',
version: '1.11.3',
description: 'A tool to publish multiple, concise, and small packages from monorepos, specifically for TypeScript projects within a git environment.'
}

View File

@@ -152,7 +152,7 @@ export class PublishModule {
'dist_ts_web/**/*',
'assets/**/*',
'cli.js',
'npmextra.json',
'smartconfig.json',
'readme.md',
],
...this.options.tsPublishJson.bin ? {
@@ -236,7 +236,7 @@ export class PublishModule {
/**
* Resolves the registries to publish to based on tspublish.json configuration.
* Supports:
* - "useBase": Use only registries from npmextra.json
* - "useBase": Use only registries from smartconfig.json
* - "extendBase": Use base registries + additions, with exclusions via "-" prefix
* - Explicit registries: Direct registry URLs in format "url:accessLevel"
*/
@@ -254,16 +254,16 @@ export class PublishModule {
let baseRegistries: string[] = [];
let baseAccessLevel = 'public';
// Load base registries from npmextra.json if needed
// Load base registries from smartconfig.json if needed
if (hasUseBase || hasExtendBase) {
const npmextraInstance = new plugins.npmextra.Npmextra(this.options.monoRepoDir);
const gitzoneConfig = npmextraInstance.dataFor<any>('@git.zone/cli', {});
const smartconfigInstance = new plugins.smartconfig.Smartconfig(this.options.monoRepoDir);
const gitzoneConfig = smartconfigInstance.dataFor<any>('@git.zone/cli', {});
baseRegistries = gitzoneConfig?.release?.registries || [];
baseAccessLevel = gitzoneConfig?.release?.accessLevel || 'public';
if (baseRegistries.length === 0) {
throw new Error(
`useBase/extendBase specified in tspublish.json but no registries configured in npmextra.json at @git.zone/cli.release.registries`
`useBase/extendBase specified in tspublish.json but no registries configured in smartconfig.json at @git.zone/cli.release.registries`
);
}
}

View File

@@ -4,7 +4,7 @@ export { path };
// @push.rocks scope
import * as consolecolor from '@push.rocks/consolecolor';
import * as npmextra from '@push.rocks/npmextra';
import * as smartconfig from '@push.rocks/smartconfig';
import * as smartfile from '@push.rocks/smartfile';
import { SmartFs, SmartFsProviderNode } from '@push.rocks/smartfs';
import * as smartcli from '@push.rocks/smartcli';
@@ -18,4 +18,4 @@ import * as smartshell from '@push.rocks/smartshell';
// Create a pre-configured SmartFs instance for Node.js filesystem operations
const smartfs = new SmartFs(new SmartFsProviderNode());
export { consolecolor, npmextra, smartfile, smartfs, smartcli, smartdelay, smartlog, smartnpm, smartpath, smartrequest, smartshell };
export { consolecolor, smartconfig, smartfile, smartfs, smartcli, smartdelay, smartlog, smartnpm, smartpath, smartrequest, smartshell };