From 3971ce0c84e08399f0991cc1be9dc382e75fa65e Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Tue, 24 Mar 2026 15:07:15 +0000 Subject: [PATCH] fix(config): replace npmextra with smartconfig for base registry resolution --- changelog.md | 7 ++++++ package.json | 2 +- pnpm-lock.yaml | 46 ++++++++++++++++++------------------- ts/00_commitinfo_data.ts | 2 +- ts/classes.publishmodule.ts | 12 +++++----- ts/plugins.ts | 4 ++-- 6 files changed, 40 insertions(+), 33 deletions(-) diff --git a/changelog.md b/changelog.md index df200ae..a1fe1c7 100644 --- a/changelog.md +++ b/changelog.md @@ -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 diff --git a/package.json b/package.json index 365c5e1..15c5197 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cbbc36c..4c6be65 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -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 diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 28301c8..7302f6c 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -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.' } diff --git a/ts/classes.publishmodule.ts b/ts/classes.publishmodule.ts index a7b44b8..c76e8c1 100644 --- a/ts/classes.publishmodule.ts +++ b/ts/classes.publishmodule.ts @@ -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('@git.zone/cli', {}); + const smartconfigInstance = new plugins.smartconfig.Smartconfig(this.options.monoRepoDir); + const gitzoneConfig = smartconfigInstance.dataFor('@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` ); } } diff --git a/ts/plugins.ts b/ts/plugins.ts index df01b8c..4383813 100644 --- a/ts/plugins.ts +++ b/ts/plugins.ts @@ -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 };