fix(smartsystem): Normalize package scopes, update dev dependencies and tooling, add pnpm workspace and packageManager, remove GitLab CI, and update imports/docs/tests
This commit is contained in:
128
.gitlab-ci.yml
128
.gitlab-ci.yml
@@ -1,128 +0,0 @@
|
|||||||
# gitzone ci_default
|
|
||||||
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
|
||||||
|
|
||||||
cache:
|
|
||||||
paths:
|
|
||||||
- .npmci_cache/
|
|
||||||
key: '$CI_BUILD_STAGE'
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- security
|
|
||||||
- test
|
|
||||||
- release
|
|
||||||
- metadata
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- npm install -g @shipzone/npmci
|
|
||||||
|
|
||||||
# ====================
|
|
||||||
# security stage
|
|
||||||
# ====================
|
|
||||||
auditProductionDependencies:
|
|
||||||
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
|
||||||
stage: security
|
|
||||||
script:
|
|
||||||
- npmci npm prepare
|
|
||||||
- npmci command npm install --production --ignore-scripts
|
|
||||||
- npmci command npm config set registry https://registry.npmjs.org
|
|
||||||
- npmci command npm audit --audit-level=high --only=prod --production
|
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
auditDevDependencies:
|
|
||||||
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
|
||||||
stage: security
|
|
||||||
script:
|
|
||||||
- npmci npm prepare
|
|
||||||
- npmci command npm install --ignore-scripts
|
|
||||||
- npmci command npm config set registry https://registry.npmjs.org
|
|
||||||
- npmci command npm audit --audit-level=high --only=dev
|
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
# ====================
|
|
||||||
# test stage
|
|
||||||
# ====================
|
|
||||||
|
|
||||||
testStable:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npmci npm prepare
|
|
||||||
- npmci node install stable
|
|
||||||
- npmci npm install
|
|
||||||
- npmci npm test
|
|
||||||
coverage: /\d+.?\d+?\%\s*coverage/
|
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
|
|
||||||
testBuild:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npmci npm prepare
|
|
||||||
- npmci node install stable
|
|
||||||
- npmci npm install
|
|
||||||
- npmci command npm run build
|
|
||||||
coverage: /\d+.?\d+?\%\s*coverage/
|
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
|
|
||||||
release:
|
|
||||||
stage: release
|
|
||||||
script:
|
|
||||||
- npmci node install stable
|
|
||||||
- npmci npm publish
|
|
||||||
only:
|
|
||||||
- tags
|
|
||||||
tags:
|
|
||||||
- lossless
|
|
||||||
- docker
|
|
||||||
- notpriv
|
|
||||||
|
|
||||||
# ====================
|
|
||||||
# metadata stage
|
|
||||||
# ====================
|
|
||||||
codequality:
|
|
||||||
stage: metadata
|
|
||||||
allow_failure: true
|
|
||||||
only:
|
|
||||||
- tags
|
|
||||||
script:
|
|
||||||
- npmci command npm install -g typescript
|
|
||||||
- npmci npm prepare
|
|
||||||
- npmci npm install
|
|
||||||
tags:
|
|
||||||
- lossless
|
|
||||||
- docker
|
|
||||||
- priv
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
stage: metadata
|
|
||||||
script:
|
|
||||||
- npmci trigger
|
|
||||||
only:
|
|
||||||
- tags
|
|
||||||
tags:
|
|
||||||
- lossless
|
|
||||||
- docker
|
|
||||||
- notpriv
|
|
||||||
|
|
||||||
pages:
|
|
||||||
stage: metadata
|
|
||||||
script:
|
|
||||||
- npmci node install stable
|
|
||||||
- npmci npm prepare
|
|
||||||
- npmci npm install
|
|
||||||
- npmci command npm run buildDocs
|
|
||||||
tags:
|
|
||||||
- lossless
|
|
||||||
- docker
|
|
||||||
- notpriv
|
|
||||||
only:
|
|
||||||
- tags
|
|
||||||
artifacts:
|
|
||||||
expire_in: 1 week
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
allow_failure: true
|
|
46
changelog.md
Normal file
46
changelog.md
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
## 2025-08-29 - 3.0.2 - fix(smartsystem)
|
||||||
|
Normalize package scopes, update dev dependencies and tooling, add pnpm workspace and packageManager, remove GitLab CI, and update imports/docs/tests
|
||||||
|
|
||||||
|
- Normalize package scope names from @pushrocks/* to @push.rocks/* across source, commit info and README
|
||||||
|
- Update dependency versions: bump @push.rocks/smartpromise to ^4.0.2 and ensure other @push.rocks packages use caret ranges
|
||||||
|
- Switch dev tooling namespaces to @git.zone (tsbuild/tsrun/tstest) and add @git.zone/tsrun
|
||||||
|
- Enhance npm scripts: make test run with verbose, logfile and increased timeout
|
||||||
|
- Add packageManager field (pnpm@10.14.0+sha512...) to package.json and add pnpm-workspace.yaml with onlyBuiltDependencies: [esbuild]
|
||||||
|
- Remove legacy .gitlab-ci.yml CI configuration
|
||||||
|
- Update imports in ts and test files to match new package namespaces
|
||||||
|
|
||||||
|
## 2024-05-29 - 3.0.1 - chore
|
||||||
|
Update of package metadata and TypeScript configuration.
|
||||||
|
|
||||||
|
- update description
|
||||||
|
- update tsconfig (adjustments to TypeScript config)
|
||||||
|
- update npmextra.json: githost (fixes to githost entries)
|
||||||
|
|
||||||
|
## 2022-07-28 - 3.0.0 - fix(core)
|
||||||
|
Minor core fixes and release of 3.0.0.
|
||||||
|
|
||||||
|
- fix(core): update
|
||||||
|
|
||||||
|
## 2022-07-28 - 2.0.10 - BREAKING (core)
|
||||||
|
Breaking change: module format switched to ESM.
|
||||||
|
|
||||||
|
- BREAKING CHANGE(core): switch to esm
|
||||||
|
- misc maintenance and fixes leading up to this release
|
||||||
|
|
||||||
|
## 2017-07-31 - 2.0.1..2.0.9 - maintenance
|
||||||
|
Series of patch releases with small fixes and upkeep across the 2.0.x line.
|
||||||
|
|
||||||
|
- Multiple patch releases (2.0.1 → 2.0.9) containing repeated core fixes
|
||||||
|
- Updates to README and repository metadata
|
||||||
|
- update yarn lock (notably in 2.0.1)
|
||||||
|
|
||||||
|
## 2017-07-31 - 1.0.0..1.0.18 - initial development & improvements
|
||||||
|
Initial development, feature additions and documentation improvements across 1.0.x.
|
||||||
|
|
||||||
|
- initial releases and basic module structure; first working version
|
||||||
|
- add npm as default module loader (1.0.6)
|
||||||
|
- improve path resolution and add keywords (1.0.4–1.0.5)
|
||||||
|
- add docs, improve README and tests across multiple 1.0.x releases
|
||||||
|
- CI updates and general streamlining of the project
|
1308
package-lock.json
generated
1308
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
21
package.json
21
package.json
@@ -6,7 +6,7 @@
|
|||||||
"typings": "dist_ts/index.d.ts",
|
"typings": "dist_ts/index.d.ts",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "(tstest test/)",
|
"test": "(tstest test/ --verbose --logfile --timeout 60)",
|
||||||
"build": "(tsbuild --web --allowimplicitany)",
|
"build": "(tsbuild --web --allowimplicitany)",
|
||||||
"buildDocs": "tsdoc"
|
"buildDocs": "tsdoc"
|
||||||
},
|
},
|
||||||
@@ -32,16 +32,16 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://code.foss.global/push.rocks/smartsystem",
|
"homepage": "https://code.foss.global/push.rocks/smartsystem",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@pushrocks/lik": "^6.0.0",
|
"@push.rocks/lik": "^6.0.0",
|
||||||
"@pushrocks/smartenv": "^5.0.2",
|
"@push.rocks/smartenv": "^5.0.2",
|
||||||
"@pushrocks/smartnetwork": "^3.0.0",
|
"@push.rocks/smartnetwork": "^3.0.0",
|
||||||
"@pushrocks/smartpromise": "^3.1.7",
|
"@push.rocks/smartpromise": "^4.0.2",
|
||||||
"systeminformation": "^5.12.1"
|
"systeminformation": "^5.12.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@gitzone/tsbuild": "^2.1.63",
|
"@git.zone/tsbuild": "^2.1.63",
|
||||||
"@gitzone/tstest": "^1.0.72",
|
"@git.zone/tsrun": "^1.3.3",
|
||||||
"@pushrocks/tapbundle": "^5.0.4",
|
"@git.zone/tstest": "^1.0.72",
|
||||||
"tslint": "^6.1.3",
|
"tslint": "^6.1.3",
|
||||||
"tslint-config-prettier": "^1.18.0"
|
"tslint-config-prettier": "^1.18.0"
|
||||||
},
|
},
|
||||||
@@ -60,5 +60,6 @@
|
|||||||
],
|
],
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"last 1 chrome versions"
|
"last 1 chrome versions"
|
||||||
]
|
],
|
||||||
}
|
"packageManager": "pnpm@10.14.0+sha512.ad27a79641b49c3e481a16a805baa71817a04bbe06a38d17e60e2eaee83f6a146c6a688125f5792e48dd5ba30e7da52a5cda4c3992b9ccf333f9ce223af84748"
|
||||||
|
}
|
||||||
|
8474
pnpm-lock.yaml
generated
Normal file
8474
pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
2
pnpm-workspace.yaml
Normal file
2
pnpm-workspace.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
onlyBuiltDependencies:
|
||||||
|
- esbuild
|
26
readme.md
26
readme.md
@@ -1,5 +1,14 @@
|
|||||||
# @push.rocks/smartsystem
|
# @push.rocks/smartsystem
|
||||||
interact with the system you are running on
|
Interact with the system your Node.js app runs on.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Simple class: expose system info through a single `Smartsystem` instance
|
||||||
|
- Env access: read and manage env vars via `@push.rocks/smartenv`
|
||||||
|
- CPU info: get `os.cpus()` without importing `os`
|
||||||
|
- Network utilities: high-level helpers from `@push.rocks/smartnetwork`
|
||||||
|
- Deep stats: tap into `systeminformation` for OS, hardware, and load data
|
||||||
|
- TypeScript-first: typed API, works great from TS and JS
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
@@ -31,9 +40,20 @@ To use the functionalities provided by `@push.rocks/smartsystem`, you need to cr
|
|||||||
const mySystem = new Smartsystem();
|
const mySystem = new Smartsystem();
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## API Overview
|
||||||
|
|
||||||
|
- `Smartsystem.env`: instance of `Smartenv` from `@push.rocks/smartenv`
|
||||||
|
Useful for reading and validating environment variables.
|
||||||
|
- `Smartsystem.cpus`: result of `os.cpus()`
|
||||||
|
Array of CPU core descriptions from Node’s built‑in `os` module.
|
||||||
|
- `Smartsystem.network`: instance of `SmartNetwork` from `@push.rocks/smartnetwork`
|
||||||
|
Inspect interfaces, addresses, and network details.
|
||||||
|
- `Smartsystem.information`: re-export of `systeminformation`
|
||||||
|
Call any method, e.g. `osInfo()`, `system()`, `currentLoad()`, `networkStats()`.
|
||||||
|
|
||||||
### Accessing Environment Variables
|
### Accessing Environment Variables
|
||||||
|
|
||||||
`@push.rocks/smartsystem` integrates with `@pushrocks/smartenv` to provide an easy way to handle environment variables.
|
`@push.rocks/smartsystem` integrates with `@push.rocks/smartenv` to provide an easy way to handle environment variables.
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
console.log(mySystem.env.getEnvVars());
|
console.log(mySystem.env.getEnvVars());
|
||||||
@@ -49,7 +69,7 @@ console.log(mySystem.cpus[0]); // Logs details about the first CPU
|
|||||||
|
|
||||||
### Working with Network Interfaces
|
### Working with Network Interfaces
|
||||||
|
|
||||||
The module allows you to work with network interfaces, making use of `@pushrocks/smartnetwork`:
|
The module allows you to work with network interfaces, making use of `@push.rocks/smartnetwork`:
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
(async () => {
|
(async () => {
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import { tap, expect } from '@pushrocks/tapbundle';
|
import { tap, expect } from '@git.zone/tstest/tapbundle';
|
||||||
import * as smartsystem from '../ts/index.js';
|
import * as smartsystem from '../ts/index.js';
|
||||||
import { systeminformation } from '../ts/smartsystem.plugins.js';
|
import { systeminformation } from '../ts/smartsystem.plugins.js';
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
/**
|
/**
|
||||||
* autocreated commitinfo by @pushrocks/commitinfo
|
* autocreated commitinfo by @push.rocks/commitinfo
|
||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@pushrocks/smartsystem',
|
name: '@push.rocks/smartsystem',
|
||||||
version: '3.0.1',
|
version: '3.0.2',
|
||||||
description: 'interact with the system you are running on'
|
description: 'A TypeScript library for interacting with the system it's running on, including environment, network, and hardware information.'
|
||||||
}
|
}
|
||||||
|
@@ -3,10 +3,10 @@ import os from 'os';
|
|||||||
|
|
||||||
export { os };
|
export { os };
|
||||||
|
|
||||||
import * as lik from '@pushrocks/lik';
|
import * as lik from '@push.rocks/lik';
|
||||||
import * as smartenv from '@pushrocks/smartenv';
|
import * as smartenv from '@push.rocks/smartenv';
|
||||||
import * as smartnetwork from '@pushrocks/smartnetwork';
|
import * as smartnetwork from '@push.rocks/smartnetwork';
|
||||||
import * as smartpromise from '@pushrocks/smartpromise';
|
import * as smartpromise from '@push.rocks/smartpromise';
|
||||||
|
|
||||||
export { lik, smartenv, smartnetwork, smartpromise };
|
export { lik, smartenv, smartnetwork, smartpromise };
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user