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

@@ -1,5 +1,12 @@
# Changelog
## 2026-03-24 - 1.11.3 - fix(config)
replace npmextra with smartconfig for base registry resolution
- Switch the base registry source from npmextra.json to smartconfig.json for publish configuration.
- Update plugin imports and runtime config loading to use @push.rocks/smartconfig.
- Adjust packaged files and error messages to reference smartconfig.json consistently.
## 2026-03-05 - 1.11.2 - fix(deps)
bump @push.rocks/smartshell dependency to ^3.3.7 and update package version to 1.11.1

View File

@@ -48,7 +48,7 @@
],
"dependencies": {
"@push.rocks/consolecolor": "^2.0.3",
"@push.rocks/npmextra": "^5.3.3",
"@push.rocks/smartconfig": "^6.0.0",
"@push.rocks/smartcli": "^4.0.19",
"@push.rocks/smartdelay": "^3.0.5",
"@push.rocks/smartfile": "^13.1.2",

46
pnpm-lock.yaml generated
View File

@@ -11,12 +11,12 @@ importers:
'@push.rocks/consolecolor':
specifier: ^2.0.3
version: 2.0.3
'@push.rocks/npmextra':
specifier: ^5.3.3
version: 5.3.3
'@push.rocks/smartcli':
specifier: ^4.0.19
version: 4.0.19
'@push.rocks/smartconfig':
specifier: ^6.0.0
version: 6.0.0
'@push.rocks/smartdelay':
specifier: ^3.0.5
version: 3.0.5
@@ -690,9 +690,6 @@ packages:
'@push.rocks/mongodump@1.1.0':
resolution: {integrity: sha512-kW0ZUGyf1e4nwloVwBQjNId+MzgTcNS834C+RxH21i1NqyOubbpWZtJtPP+K+s35nSJRyCTy3ICfBMdDBTAm2w==}
'@push.rocks/npmextra@5.3.3':
resolution: {integrity: sha512-snLpSHwaQ5OXlZzF1KX/FY71W5LwajjBzor82Vue0smjEPnSeUPY5/JcVdMwtdprdJe13pc/EQQuIiL/zw4/yg==}
'@push.rocks/qenv@6.1.3':
resolution: {integrity: sha512-+z2hsAU/7CIgpYLFqvda8cn9rUBMHqLdQLjsFfRn5jPoD7dJ5rFlpkbhfM4Ws8mHMniwWaxGKo+q/YBhtzRBLg==}
@@ -724,6 +721,9 @@ packages:
'@push.rocks/smartclickhouse@2.0.17':
resolution: {integrity: sha512-IYO8Obor/Ruam2KQ2B/+5uQ+rL0exU5KZoSgOc3jkkrfjn+zZenN2xoV8lVqavAtxZVfG7MfxFrcv6I7I9ZMmA==}
'@push.rocks/smartconfig@6.0.0':
resolution: {integrity: sha512-ohXwJdbDXV2budErnZKWBOz01YkjP6gJsZ7QM9+6Wsh+r7O1CVT3JpV+mD8xJWy5tZRHI+3B9L8z0+WkIDtKzw==}
'@push.rocks/smartcrypto@2.0.4':
resolution: {integrity: sha512-1+/5bsjyataf5uUkUNnnVXGRAt+gHVk1KDzozjTqgqJxHvQk1d9fVDohL6CxUhUucTPtu5VR5xNBiV8YCDuGyw==}
@@ -4925,23 +4925,6 @@ snapshots:
- snappy
- socks
'@push.rocks/npmextra@5.3.3':
dependencies:
'@push.rocks/qenv': 6.1.3
'@push.rocks/smartfile': 11.2.7
'@push.rocks/smartjson': 5.2.0
'@push.rocks/smartlog': 3.1.10
'@push.rocks/smartpath': 6.0.0
'@push.rocks/smartpromise': 4.2.3
'@push.rocks/smartrx': 3.0.10
'@push.rocks/taskbuffer': 3.5.0
'@tsclass/tsclass': 9.3.0
transitivePeerDependencies:
- '@nuxt/kit'
- react
- supports-color
- vue
'@push.rocks/qenv@6.1.3':
dependencies:
'@api.global/typedrequest': 3.2.5
@@ -5053,6 +5036,23 @@ snapshots:
'@push.rocks/smarturl': 3.1.0
'@push.rocks/webrequest': 3.0.37
'@push.rocks/smartconfig@6.0.0':
dependencies:
'@push.rocks/qenv': 6.1.3
'@push.rocks/smartfile': 11.2.7
'@push.rocks/smartjson': 5.2.0
'@push.rocks/smartlog': 3.1.10
'@push.rocks/smartpath': 6.0.0
'@push.rocks/smartpromise': 4.2.3
'@push.rocks/smartrx': 3.0.10
'@push.rocks/taskbuffer': 3.5.0
'@tsclass/tsclass': 9.3.0
transitivePeerDependencies:
- '@nuxt/kit'
- react
- supports-color
- vue
'@push.rocks/smartcrypto@2.0.4':
dependencies:
'@push.rocks/smartpromise': 4.2.3

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 };