14 Commits

Author SHA1 Message Date
b02ee5e9f4 2.0.10 2021-08-12 23:35:40 +02:00
93153baa95 fix(core): update 2021-08-12 23:35:39 +02:00
b584978287 2.0.9 2019-09-08 15:56:50 +02:00
44bfff2a6b fix(core): update 2019-09-08 15:56:50 +02:00
af07a53053 2.0.8 2019-08-22 15:23:09 +02:00
2ace413435 fix(core): update 2019-08-22 15:23:09 +02:00
16dfec29f4 2.0.7 2019-08-22 13:01:44 +02:00
10ab005343 fix(core): update 2019-08-22 13:01:44 +02:00
9dded0eab5 2.0.6 2019-08-22 02:15:40 +02:00
c54ae3fdb4 fix(core): update 2019-08-22 02:15:40 +02:00
3ae2f9a6b2 2.0.5 2019-08-22 02:14:43 +02:00
48959be97e fix(core): update 2019-08-22 02:14:42 +02:00
658e60475a 2.0.4 2019-08-22 02:14:18 +02:00
f6c64c6583 fix(core): update 2019-08-22 02:14:17 +02:00
12 changed files with 24721 additions and 926 deletions

4
.gitignore vendored
View File

@ -15,8 +15,6 @@ node_modules/
# builds # builds
dist/ dist/
dist_web/ dist_*/
dist_serve/
dist_ts_web/
# custom # custom

View File

@ -1,12 +1,10 @@
# gitzone ci_default # gitzone ci_default
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
variables:
GIT_STRATEGY: clone
cache: cache:
paths: paths:
- .npmci_cache/ - .npmci_cache/
key: "$CI_BUILD_STAGE" key: '$CI_BUILD_STAGE'
stages: stages:
- security - security
@ -21,57 +19,71 @@ mirror:
stage: security stage: security
script: script:
- npmci git mirror - npmci git mirror
only:
- tags
tags: tags:
- lossless
- docker - docker
- notpriv - notpriv
snyk: auditProductionDependencies:
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
stage: security stage: security
script: script:
- npmci npm prepare - npmci npm prepare
- npmci command npm install -g snyk - npmci command npm install --production --ignore-scripts
- npmci command npm install --ignore-scripts - npmci command npm config set registry https://registry.npmjs.org
- npmci command snyk test - npmci command npm audit --audit-level=high --only=prod --production
tags: tags:
- docker - docker
- notpriv
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 # test stage
# ==================== # ====================
testLTS: testStable:
stage: test stage: test
script: script:
- npmci npm prepare - npmci npm prepare
- npmci node install lts - npmci node install stable
- npmci npm install - npmci npm install
- npmci npm test - npmci npm test
coverage: /\d+.?\d+?\%\s*coverage/ coverage: /\d+.?\d+?\%\s*coverage/
tags: tags:
- docker - docker
- priv
testBuild: testBuild:
stage: test stage: test
script: script:
- npmci npm prepare - npmci npm prepare
- npmci node install lts - npmci node install stable
- npmci npm install - npmci npm install
- npmci command npm run build - npmci command npm run build
coverage: /\d+.?\d+?\%\s*coverage/ coverage: /\d+.?\d+?\%\s*coverage/
tags: tags:
- docker - docker
- notpriv
release: release:
stage: release stage: release
script: script:
- npmci node install lts - npmci node install stable
- npmci npm publish - npmci npm publish
only: only:
- tags - tags
tags: tags:
- lossless
- docker - docker
- notpriv - notpriv
@ -81,11 +93,15 @@ release:
codequality: codequality:
stage: metadata stage: metadata
allow_failure: true allow_failure: true
only:
- tags
script: script:
- npmci command npm install -g tslint typescript - npmci command npm install -g tslint typescript
- npmci npm prepare
- npmci npm install - npmci npm install
- npmci command "tslint -c tslint.json ./ts/**/*.ts" - npmci command "tslint -c tslint.json ./ts/**/*.ts"
tags: tags:
- lossless
- docker - docker
- priv - priv
@ -96,20 +112,20 @@ trigger:
only: only:
- tags - tags
tags: tags:
- lossless
- docker - docker
- notpriv - notpriv
pages: pages:
image: hosttoday/ht-docker-dbase:npmci
services:
- docker:18-dind
stage: metadata stage: metadata
script: script:
- npmci node install lts
- npmci command npm install -g @gitzone/tsdoc - npmci command npm install -g @gitzone/tsdoc
- npmci npm prepare - npmci npm prepare
- npmci npm install - npmci npm install
- npmci command tsdoc - npmci command tsdoc
tags: tags:
- lossless
- docker - docker
- notpriv - notpriv
only: only:

29
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,29 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "current file",
"type": "node",
"request": "launch",
"args": [
"${relativeFile}"
],
"runtimeArgs": ["-r", "@gitzone/tsrun"],
"cwd": "${workspaceRoot}",
"protocol": "inspector",
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": "test.ts",
"type": "node",
"request": "launch",
"args": [
"test/test.ts"
],
"runtimeArgs": ["-r", "@gitzone/tsrun"],
"cwd": "${workspaceRoot}",
"protocol": "inspector",
"internalConsoleOptions": "openOnSessionStart"
}
]
}

26
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,26 @@
{
"json.schemas": [
{
"fileMatch": ["/npmextra.json"],
"schema": {
"type": "object",
"properties": {
"npmci": {
"type": "object",
"description": "settings for npmci"
},
"gitzone": {
"type": "object",
"description": "settings for gitzone",
"properties": {
"projectType": {
"type": "string",
"enum": ["website", "element", "service", "npm", "wcc"]
}
}
}
}
}
}
]
}

View File

@ -47,14 +47,14 @@ import * as _anotherPlugin from 'anotherPlugin'; // plugin does not get loaded h
// define lazy module // define lazy module
let anotherLazyModule = new LazyModule() < typeof _anotherPlugin > ('anotherPlugin', __dirname); let anotherLazyModule = new LazyModule() < typeof _anotherPlugin > ('anotherPlugin', __dirname);
myLazyModule.whenLoaded.then(myPlugin => { myLazyModule.whenLoaded.then((myPlugin) => {
/* do something with myPlugin. /* do something with myPlugin.
myPlugin receives the typings flow from LazyModule class myPlugin receives the typings flow from LazyModule class
This does NOT load the module during runtime This does NOT load the module during runtime
The promise whenLoaded will be resolved whenever load() is called for the first time */ The promise whenLoaded will be resolved whenever load() is called for the first time */
}); });
myLazyModule.load().then(myPlugin => { myLazyModule.load().then((myPlugin) => {
/* do something with myPlugin. /* do something with myPlugin.
myPlugin receives the typings flow from LazyModule class myPlugin receives the typings flow from LazyModule class
This DOES LOAD the module */ This DOES LOAD the module */

View File

@ -1,10 +1,10 @@
{ {
"npmci": { "npmci": {
"globalNpmTools": [ "npmGlobalTools": [],
"npmts" "npmAccessLevel": "public"
]
}, },
"gitzone": { "gitzone": {
"projectType": "npm",
"module": { "module": {
"githost": "gitlab.com", "githost": "gitlab.com",
"gitscope": "pushrocks", "gitscope": "pushrocks",

25343
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,9 @@
{ {
"name": "smartsystem", "name": "@pushrocks/smartsystem",
"version": "2.0.3", "version": "2.0.10",
"description": "interact with the system you are running on", "description": "interact with the system you are running on",
"main": "dist/index.js", "main": "dist_ts/index.js",
"typings": "dist/index.d.ts", "typings": "dist_ts/index.d.ts",
"scripts": { "scripts": {
"test": "(tstest test/)", "test": "(tstest test/)",
"build": "(tsbuild)" "build": "(tsbuild)"
@ -24,27 +24,33 @@
}, },
"homepage": "https://gitlab.com/pushrocks/smartsystem#README", "homepage": "https://gitlab.com/pushrocks/smartsystem#README",
"dependencies": { "dependencies": {
"@pushrocks/lik": "^3.0.10", "@pushrocks/lik": "^4.0.20",
"@pushrocks/smartenv": "^4.0.7", "@pushrocks/smartenv": "^4.0.16",
"@pushrocks/smartpromise": "^3.0.2" "@pushrocks/smartnetwork": "^2.0.10",
"@pushrocks/smartpromise": "^3.1.6",
"systeminformation": "^5.8.0"
}, },
"devDependencies": { "devDependencies": {
"@gitzone/tsbuild": "^2.1.11", "@gitzone/tsbuild": "^2.1.25",
"@gitzone/tstest": "^1.0.24", "@gitzone/tstest": "^1.0.54",
"@pushrocks/tapbundle": "^3.0.11", "@pushrocks/tapbundle": "^3.2.14",
"tslint": "^5.19.0", "tslint": "^6.1.3",
"tslint-config-prettier": "^1.18.0" "tslint-config-prettier": "^1.18.0"
}, },
"private": false, "private": false,
"files": [ "files": [
"ts/*", "ts/**/*",
"ts_web/*", "ts_web/**/*",
"dist/*", "dist/**/*",
"dist_web/*", "dist_*/**/*",
"dist_ts_web/*", "dist_ts/**/*",
"assets/*", "dist_ts_web/**/*",
"assets/**/*",
"cli.js", "cli.js",
"npmextra.json", "npmextra.json",
"readme.md" "readme.md"
],
"browserslist": [
"last 1 chrome versions"
] ]
} }

View File

@ -8,24 +8,29 @@ interact with the system you are running on
* [docs (typedoc)](https://pushrocks.gitlab.io/smartsystem/) * [docs (typedoc)](https://pushrocks.gitlab.io/smartsystem/)
## Status for master ## Status for master
[![build status](https://gitlab.com/pushrocks/smartsystem/badges/master/build.svg)](https://gitlab.com/pushrocks/smartsystem/commits/master)
[![coverage report](https://gitlab.com/pushrocks/smartsystem/badges/master/coverage.svg)](https://gitlab.com/pushrocks/smartsystem/commits/master) Status Category | Status Badge
[![npm downloads per month](https://img.shields.io/npm/dm/@pushrocks/smartsystem.svg)](https://www.npmjs.com/package/@pushrocks/smartsystem) -- | --
[![Known Vulnerabilities](https://snyk.io/test/npm/@pushrocks/smartsystem/badge.svg)](https://snyk.io/test/npm/@pushrocks/smartsystem) GitLab Pipelines | [![pipeline status](https://gitlab.com/pushrocks/smartsystem/badges/master/pipeline.svg)](https://lossless.cloud)
[![TypeScript](https://img.shields.io/badge/TypeScript->=%203.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/) GitLab Pipline Test Coverage | [![coverage report](https://gitlab.com/pushrocks/smartsystem/badges/master/coverage.svg)](https://lossless.cloud)
[![node](https://img.shields.io/badge/node->=%2010.x.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/) npm | [![npm downloads per month](https://badgen.net/npm/dy/@pushrocks/smartsystem)](https://lossless.cloud)
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-prettier-ff69b4.svg)](https://prettier.io/) Snyk | [![Known Vulnerabilities](https://badgen.net/snyk/pushrocks/smartsystem)](https://lossless.cloud)
TypeScript Support | [![TypeScript](https://badgen.net/badge/TypeScript/>=%203.x/blue?icon=typescript)](https://lossless.cloud)
node Support | [![node](https://img.shields.io/badge/node->=%2010.x.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
Code Style | [![Code Style](https://badgen.net/badge/style/prettier/purple)](https://lossless.cloud)
PackagePhobia (total standalone install weight) | [![PackagePhobia](https://badgen.net/packagephobia/install/@pushrocks/smartsystem)](https://lossless.cloud)
PackagePhobia (package size on registry) | [![PackagePhobia](https://badgen.net/packagephobia/publish/@pushrocks/smartsystem)](https://lossless.cloud)
BundlePhobia (total size when bundled) | [![BundlePhobia](https://badgen.net/bundlephobia/minzip/@pushrocks/smartsystem)](https://lossless.cloud)
Platform support | [![Supports Windows 10](https://badgen.net/badge/supports%20Windows%2010/yes/green?icon=windows)](https://lossless.cloud) [![Supports Mac OS X](https://badgen.net/badge/supports%20Mac%20OS%20X/yes/green?icon=apple)](https://lossless.cloud)
## Usage ## Usage
We recommend the use of TypeScript for best Intellisense We recommend the use of TypeScript for best Intellisense
For further information read the linked docs at the top of this README.
> MIT licensed | **&copy;** [Lossless GmbH](https://lossless.gmbh) ## Contribution
> | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://pushrocks.gitlab.io/assets/repo-footer.svg)](https://push.rocks) We are always happy for code contributions. If you are not the code contributing type that is ok. Still, maintaining Open Source repositories takes considerable time and thought. If you like the quality of what we do and our modules are useful to you we would appreciate a little monthly contribution: You can [contribute one time](https://lossless.link/contribute-onetime) or [contribute monthly](https://lossless.link/contribute). :)
For further information read the linked docs at the top of this readme. For further information read the linked docs at the top of this readme.

View File

@ -1,15 +1,20 @@
import { tap, expect } from '@pushrocks/tapbundle'; import { tap, expect } from '@pushrocks/tapbundle';
import * as smartsystem from '../ts/index'; import * as smartsystem from '../ts/index';
import { systeminformation } from '../ts/smartsystem.plugins';
let smartsystemInstance: smartsystem.Smartsystem; let smartsystemInstance: smartsystem.Smartsystem;
tap.test('should create a smartsystem instance', async tools => { tap.test('should create a smartsystem instance', async (tools) => {
smartsystemInstance = new smartsystem.Smartsystem(); smartsystemInstance = new smartsystem.Smartsystem();
expect(smartsystemInstance).to.be.instanceOf(smartsystem.Smartsystem); expect(smartsystemInstance).to.be.instanceOf(smartsystem.Smartsystem);
}); });
tap.test('should state the operating system', async () => { tap.test('should state the operating system', async () => {
expect(smartsystemInstance.cpuCount); expect(smartsystemInstance.cpus.length).to.be.greaterThan(0);
});
tap.test('should get systeminformation', async () => {
console.log(await smartsystemInstance.information.networkInterfaceDefault());
}); });
tap.start(); tap.start();

View File

@ -1,7 +1,10 @@
import * as plugins from './smartsystem.plugins'; import * as plugins from './smartsystem.plugins';
export class Smartsystem { export class Smartsystem {
public env = new plugins.smartenv.Smartenv() public env = new plugins.smartenv.Smartenv();
public cpus = plugins.os.cpus();
public cpuCount = plugins.os.cpus().length; public network = new plugins.smartnetwork.SmartNetwork();
public get information() {
return plugins.systeminformation;
}
} }

View File

@ -1,16 +1,16 @@
// node native // node native
import os from 'os' import os from 'os';
export { export { os };
os
}
import * as lik from '@pushrocks/lik'; import * as lik from '@pushrocks/lik';
import * as smartenv from '@pushrocks/smartenv'; import * as smartenv from '@pushrocks/smartenv';
import * as smartnetwork from '@pushrocks/smartnetwork';
import * as smartpromise from '@pushrocks/smartpromise'; import * as smartpromise from '@pushrocks/smartpromise';
export { export { lik, smartenv, smartnetwork, smartpromise };
lik,
smartenv, // third party
smartpromise import * as systeminformation from 'systeminformation';
}
export { systeminformation };