Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a29f13c75a | |||
| 02b3a79d99 |
@@ -1,5 +1,13 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2026-03-24 - 1.12.2 - fix(config)
|
||||||
|
migrate runtime configuration loading from npmextra to smartconfig
|
||||||
|
|
||||||
|
- replace the @push.rocks/npmextra dependency with @push.rocks/smartconfig
|
||||||
|
- update tsview startup configuration types and loading logic to read port, killIfBusy, and openBrowser from smartconfig
|
||||||
|
- adjust busy-port error messaging to reference smartconfig.json
|
||||||
|
- add npmjs.org to the release registries configuration
|
||||||
|
|
||||||
## 2026-03-14 - 1.12.1 - fix(storage)
|
## 2026-03-14 - 1.12.1 - fix(storage)
|
||||||
rename S3 configuration and change stream interfaces to storage-oriented types
|
rename S3 configuration and change stream interfaces to storage-oriented types
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
"@git.zone/cli": {
|
"@git.zone/cli": {
|
||||||
"services": ["mongodb", "minio"],
|
"services": ["mongodb", "minio"],
|
||||||
"release": {
|
"release": {
|
||||||
"registries": ["https://verdaccio.lossless.digital"],
|
"registries": ["https://verdaccio.lossless.digital", "https://registry.npmjs.org"],
|
||||||
"accessLevel": "public"
|
"accessLevel": "public"
|
||||||
},
|
},
|
||||||
"projectType": "npm",
|
"projectType": "npm",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@git.zone/tsview",
|
"name": "@git.zone/tsview",
|
||||||
"version": "1.12.1",
|
"version": "1.12.2",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "A CLI tool for viewing S3 and MongoDB data with a web UI",
|
"description": "A CLI tool for viewing S3 and MongoDB data with a web UI",
|
||||||
"main": "dist_ts/index.js",
|
"main": "dist_ts/index.js",
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
"@design.estate/dees-catalog": "^3.48.5",
|
"@design.estate/dees-catalog": "^3.48.5",
|
||||||
"@design.estate/dees-element": "^2.2.3",
|
"@design.estate/dees-element": "^2.2.3",
|
||||||
"@push.rocks/early": "^4.0.4",
|
"@push.rocks/early": "^4.0.4",
|
||||||
"@push.rocks/npmextra": "^5.3.3",
|
"@push.rocks/smartconfig": "^6.0.0",
|
||||||
"@push.rocks/smartbucket": "^4.5.1",
|
"@push.rocks/smartbucket": "^4.5.1",
|
||||||
"@push.rocks/smartcli": "^4.0.20",
|
"@push.rocks/smartcli": "^4.0.20",
|
||||||
"@push.rocks/smartdata": "^7.1.0",
|
"@push.rocks/smartdata": "^7.1.0",
|
||||||
|
|||||||
26
pnpm-lock.yaml
generated
26
pnpm-lock.yaml
generated
@@ -29,15 +29,15 @@ importers:
|
|||||||
'@push.rocks/early':
|
'@push.rocks/early':
|
||||||
specifier: ^4.0.4
|
specifier: ^4.0.4
|
||||||
version: 4.0.4
|
version: 4.0.4
|
||||||
'@push.rocks/npmextra':
|
|
||||||
specifier: ^5.3.3
|
|
||||||
version: 5.3.3
|
|
||||||
'@push.rocks/smartbucket':
|
'@push.rocks/smartbucket':
|
||||||
specifier: ^4.5.1
|
specifier: ^4.5.1
|
||||||
version: 4.5.1
|
version: 4.5.1
|
||||||
'@push.rocks/smartcli':
|
'@push.rocks/smartcli':
|
||||||
specifier: ^4.0.20
|
specifier: ^4.0.20
|
||||||
version: 4.0.20
|
version: 4.0.20
|
||||||
|
'@push.rocks/smartconfig':
|
||||||
|
specifier: ^6.0.0
|
||||||
|
version: 6.0.0
|
||||||
'@push.rocks/smartdata':
|
'@push.rocks/smartdata':
|
||||||
specifier: ^7.1.0
|
specifier: ^7.1.0
|
||||||
version: 7.1.0(socks@2.8.7)
|
version: 7.1.0(socks@2.8.7)
|
||||||
@@ -1082,6 +1082,9 @@ packages:
|
|||||||
'@push.rocks/smartclickhouse@2.0.17':
|
'@push.rocks/smartclickhouse@2.0.17':
|
||||||
resolution: {integrity: sha512-IYO8Obor/Ruam2KQ2B/+5uQ+rL0exU5KZoSgOc3jkkrfjn+zZenN2xoV8lVqavAtxZVfG7MfxFrcv6I7I9ZMmA==}
|
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':
|
'@push.rocks/smartcrypto@2.0.4':
|
||||||
resolution: {integrity: sha512-1+/5bsjyataf5uUkUNnnVXGRAt+gHVk1KDzozjTqgqJxHvQk1d9fVDohL6CxUhUucTPtu5VR5xNBiV8YCDuGyw==}
|
resolution: {integrity: sha512-1+/5bsjyataf5uUkUNnnVXGRAt+gHVk1KDzozjTqgqJxHvQk1d9fVDohL6CxUhUucTPtu5VR5xNBiV8YCDuGyw==}
|
||||||
|
|
||||||
@@ -5830,6 +5833,23 @@ snapshots:
|
|||||||
'@push.rocks/smarturl': 3.1.0
|
'@push.rocks/smarturl': 3.1.0
|
||||||
'@push.rocks/webrequest': 3.0.37
|
'@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.2.1
|
||||||
|
'@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.4.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@nuxt/kit'
|
||||||
|
- react
|
||||||
|
- supports-color
|
||||||
|
- vue
|
||||||
|
|
||||||
'@push.rocks/smartcrypto@2.0.4':
|
'@push.rocks/smartcrypto@2.0.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@push.rocks/smartpromise': 4.2.3
|
'@push.rocks/smartpromise': 4.2.3
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@git.zone/tsview',
|
name: '@git.zone/tsview',
|
||||||
version: '1.12.1',
|
version: '1.12.2',
|
||||||
description: 'A CLI tool for viewing S3 and MongoDB data with a web UI'
|
description: 'A CLI tool for viewing S3 and MongoDB data with a web UI'
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -29,9 +29,9 @@ export interface ITsViewConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configuration from npmextra.json for @git.zone/tsview
|
* Configuration from smartconfig.json for @git.zone/tsview
|
||||||
*/
|
*/
|
||||||
export interface INpmextraConfig {
|
export interface ISmartconfigConfig {
|
||||||
port?: number; // Fixed port to use (optional)
|
port?: number; // Fixed port to use (optional)
|
||||||
killIfBusy?: boolean; // Kill process on port if busy (default: false)
|
killIfBusy?: boolean; // Kill process on port if busy (default: false)
|
||||||
openBrowser?: boolean; // Open browser on start (default: true)
|
openBrowser?: boolean; // Open browser on start (default: true)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ export { path };
|
|||||||
import * as early from '@push.rocks/early';
|
import * as early from '@push.rocks/early';
|
||||||
early.start('tsview');
|
early.start('tsview');
|
||||||
|
|
||||||
import * as npmextra from '@push.rocks/npmextra';
|
import * as smartconfig from '@push.rocks/smartconfig';
|
||||||
import * as smartbucket from '@push.rocks/smartbucket';
|
import * as smartbucket from '@push.rocks/smartbucket';
|
||||||
import * as smartcli from '@push.rocks/smartcli';
|
import * as smartcli from '@push.rocks/smartcli';
|
||||||
import * as smartdata from '@push.rocks/smartdata';
|
import * as smartdata from '@push.rocks/smartdata';
|
||||||
@@ -21,7 +21,7 @@ import * as smartrx from '@push.rocks/smartrx';
|
|||||||
|
|
||||||
export {
|
export {
|
||||||
early,
|
early,
|
||||||
npmextra,
|
smartconfig,
|
||||||
smartbucket,
|
smartbucket,
|
||||||
smartcli,
|
smartcli,
|
||||||
smartdata,
|
smartdata,
|
||||||
|
|||||||
@@ -103,11 +103,11 @@ export class TsView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load configuration from npmextra.json
|
* Load configuration from smartconfig.json
|
||||||
*/
|
*/
|
||||||
private loadNpmextraConfig(cwd?: string): interfaces.INpmextraConfig {
|
private loadSmartconfigConfig(cwd?: string): interfaces.ISmartconfigConfig {
|
||||||
const npmextra = new plugins.npmextra.Npmextra(cwd || process.cwd());
|
const smartconfigInstance = new plugins.smartconfig.Smartconfig(cwd || process.cwd());
|
||||||
const config = npmextra.dataFor<interfaces.INpmextraConfig>('@git.zone/tsview', {});
|
const config = smartconfigInstance.dataFor<interfaces.ISmartconfigConfig>('@git.zone/tsview', {});
|
||||||
return config || {};
|
return config || {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ export class TsView {
|
|||||||
* @param cliPort - Optional port number from CLI (highest priority)
|
* @param cliPort - Optional port number from CLI (highest priority)
|
||||||
*/
|
*/
|
||||||
public async start(cliPort?: number): Promise<number> {
|
public async start(cliPort?: number): Promise<number> {
|
||||||
const npmextraConfig = await this.loadNpmextraConfig();
|
const smartconfigConfig = await this.loadSmartconfigConfig();
|
||||||
|
|
||||||
let port: number;
|
let port: number;
|
||||||
let portWasExplicitlySet = false;
|
let portWasExplicitlySet = false;
|
||||||
@@ -144,9 +144,9 @@ export class TsView {
|
|||||||
// CLI has highest priority
|
// CLI has highest priority
|
||||||
port = cliPort;
|
port = cliPort;
|
||||||
portWasExplicitlySet = true;
|
portWasExplicitlySet = true;
|
||||||
} else if (npmextraConfig.port) {
|
} else if (smartconfigConfig.port) {
|
||||||
// Config port specified
|
// Config port specified
|
||||||
port = npmextraConfig.port;
|
port = smartconfigConfig.port;
|
||||||
portWasExplicitlySet = true;
|
portWasExplicitlySet = true;
|
||||||
} else {
|
} else {
|
||||||
// Auto-find free port
|
// Auto-find free port
|
||||||
@@ -158,11 +158,11 @@ export class TsView {
|
|||||||
const isFree = await network.isLocalPortUnused(port);
|
const isFree = await network.isLocalPortUnused(port);
|
||||||
|
|
||||||
if (!isFree) {
|
if (!isFree) {
|
||||||
if (npmextraConfig.killIfBusy) {
|
if (smartconfigConfig.killIfBusy) {
|
||||||
console.log(`Port ${port} is busy. Killing existing process...`);
|
console.log(`Port ${port} is busy. Killing existing process...`);
|
||||||
await this.killProcessOnPort(port);
|
await this.killProcessOnPort(port);
|
||||||
} else if (portWasExplicitlySet) {
|
} else if (portWasExplicitlySet) {
|
||||||
throw new Error(`Port ${port} is busy. Set "killIfBusy": true in npmextra.json to auto-kill, or use a different port.`);
|
throw new Error(`Port ${port} is busy. Set "killIfBusy": true in smartconfig.json to auto-kill, or use a different port.`);
|
||||||
} else {
|
} else {
|
||||||
// Auto port was already free, shouldn't happen, but fallback
|
// Auto port was already free, shouldn't happen, but fallback
|
||||||
port = await this.findFreePort(port + 1);
|
port = await this.findFreePort(port + 1);
|
||||||
@@ -175,7 +175,7 @@ export class TsView {
|
|||||||
console.log(`TsView server started on http://localhost:${port}`);
|
console.log(`TsView server started on http://localhost:${port}`);
|
||||||
|
|
||||||
// Open browser (default: true, can be disabled via config)
|
// Open browser (default: true, can be disabled via config)
|
||||||
const shouldOpenBrowser = npmextraConfig.openBrowser !== false;
|
const shouldOpenBrowser = smartconfigConfig.openBrowser !== false;
|
||||||
if (shouldOpenBrowser) {
|
if (shouldOpenBrowser) {
|
||||||
try {
|
try {
|
||||||
await plugins.smartopen.openUrl(`http://localhost:${port}`);
|
await plugins.smartopen.openUrl(`http://localhost:${port}`);
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@git.zone/tsview',
|
name: '@git.zone/tsview',
|
||||||
version: '1.12.1',
|
version: '1.12.2',
|
||||||
description: 'A CLI tool for viewing S3 and MongoDB data with a web UI'
|
description: 'A CLI tool for viewing S3 and MongoDB data with a web UI'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user