Compare commits

..

No commits in common. "master" and "v2.0.5" have entirely different histories.

19 changed files with 47 additions and 137 deletions

View File

@ -13,13 +13,8 @@ stages:
- metadata
before_script:
- pnpm install -g pnpm
- pnpm install -g @shipzone/npmci
- npmci npm prepare
- npm install -g @shipzone/npmci
# ====================
# security stage
# ====================
# ====================
# security stage
# ====================
@ -27,10 +22,11 @@ auditProductionDependencies:
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
stage: security
script:
- npmci command npm config set registry https://registry.npmjs.org
- npmci command pnpm audit --audit-level=high --prod
- 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:
- lossless
- docker
allow_failure: true
@ -38,10 +34,11 @@ 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 pnpm audit --audit-level=high --dev
- npmci command npm audit --audit-level=high --only=dev
tags:
- lossless
- docker
allow_failure: true
@ -52,6 +49,7 @@ auditDevDependencies:
testStable:
stage: test
script:
- npmci npm prepare
- npmci node install stable
- npmci npm install
- npmci npm test
@ -62,9 +60,10 @@ testStable:
testBuild:
stage: test
script:
- npmci npm prepare
- npmci node install stable
- npmci npm install
- npmci npm build
- npmci command npm run build
coverage: /\d+.?\d+?\%\s*coverage/
tags:
- docker
@ -112,7 +111,8 @@ trigger:
pages:
stage: metadata
script:
- npmci node install stable
- npmci node install stable
- npmci npm prepare
- npmci npm install
- npmci command npm run buildDocs
tags:

View File

@ -1,6 +1,6 @@
{
"name": "@uptime.link/interfaces",
"version": "2.0.21",
"version": "2.0.5",
"private": false,
"description": "TypeScript interface for the uptime.link API and modules",
"main": "dist_ts/index.js",
@ -15,14 +15,13 @@
},
"devDependencies": {
"@gitzone/tsbuild": "^2.1.65",
"@gitzone/tsrun": "^1.2.39",
"@gitzone/tstest": "^1.0.74",
"@pushrocks/tapbundle": "^5.0.4",
"@types/node": "^18.15.11"
},
"dependencies": {
"@apiglobal/typedrequest-interfaces": "^2.0.1",
"@tsclass/tsclass": "^4.0.38"
"@tsclass/tsclass": "^4.0.34"
},
"files": [
"ts/**/*",

28
pnpm-lock.yaml generated
View File

@ -5,16 +5,13 @@ dependencies:
specifier: ^2.0.1
version: 2.0.1
'@tsclass/tsclass':
specifier: ^4.0.38
version: 4.0.38
specifier: ^4.0.34
version: 4.0.34
devDependencies:
'@gitzone/tsbuild':
specifier: ^2.1.65
version: 2.1.65
'@gitzone/tsrun':
specifier: ^1.2.39
version: 1.2.39(@types/node@18.15.11)
'@gitzone/tstest':
specifier: ^1.0.74
version: 1.0.74(@types/node@18.15.11)
@ -452,7 +449,7 @@ packages:
'@pushrocks/smartrequest': 2.0.11
'@pushrocks/smartsitemap': 2.0.1
'@pushrocks/smarttime': 4.0.1
'@tsclass/tsclass': 4.0.38
'@tsclass/tsclass': 4.0.34
'@types/compression': 1.7.2
'@types/cors': 2.8.13
'@types/express': 4.17.17
@ -626,7 +623,7 @@ packages:
'@pushrocks/smartpromise': 3.1.7
'@pushrocks/smartpuppeteer': 2.0.2
'@pushrocks/smartunique': 3.0.3
'@tsclass/tsclass': 4.0.38
'@tsclass/tsclass': 4.0.34
'@types/express': 4.17.17
express: 4.18.2
pdf-merger-js: 3.4.0
@ -903,10 +900,10 @@ packages:
type-fest: 2.19.0
dev: true
/@tsclass/tsclass@4.0.38:
resolution: {integrity: sha512-dwxW8MkmAAi8BYO//yYLb0x01BqtUh3kN6t5pq163GEMBYZ9pNSLs/7cafQFPX1/Ia9gknlOphYH0uYZwJET/g==}
/@tsclass/tsclass@4.0.34:
resolution: {integrity: sha512-Fk4y/cKfzAjq+9HcsR/CRvWDn7ERrKxd75oPVASrfjECyA/Mf7zDKbPfLwZyAq4zk4abkg1RydfNjQWRLXHdTA==}
dependencies:
type-fest: 3.8.0
type-fest: 3.7.2
/@tsconfig/node10@1.0.9:
resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
@ -1354,11 +1351,6 @@ packages:
- utf-8-validate
dev: true
/@xmldom/xmldom@0.8.7:
resolution: {integrity: sha512-sI1Ly2cODlWStkINzqGrZ8K6n+MTSbAeQnAipGyL+KZCXuHaRlj2gyyy8B/9MvsFFqN7XHryQnB2QwhzvJXovg==}
engines: {node: '>=10.0.0'}
dev: true
/accepts@1.3.8:
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
engines: {node: '>= 0.6'}
@ -3523,8 +3515,6 @@ packages:
resolution: {integrity: sha512-mXF9AIgnvq1DP/ZM2R28tAfxP2wKZHYa2DjV0R1KCwcqSzm5Iqh1XQq9rdfAt6dp2DuPP0VHZIaCALc2v1cL5A==}
engines: {node: '>=14.18.0', npm: '>=6.14.15'}
hasBin: true
dependencies:
'@xmldom/xmldom': 0.8.7
dev: true
bundledDependencies:
- '@xmldom/xmldom'
@ -4204,8 +4194,8 @@ packages:
engines: {node: '>=12.20'}
dev: true
/type-fest@3.8.0:
resolution: {integrity: sha512-FVNSzGQz9Th+/9R6Lvv7WIAkstylfHN2/JYxkyhhmKFYh9At2DST8t6L6Lref9eYO8PXFTfG9Sg1Agg0K3vq3Q==}
/type-fest@3.7.2:
resolution: {integrity: sha512-f9BHrLjRJ4MYkfOsnC/53PNDzZJcVo14MqLp2+hXE39p5bgwqohxR5hDZztwxlbxmIVuvC2EFAKrAkokq23PLA==}
engines: {node: '>=14.16'}
/type-is@1.6.18:

View File

@ -21,6 +21,7 @@ Code Style | [![Code Style](https://badgen.net/badge/style/prettier/purple)](htt
PackagePhobia (total standalone install weight) | [![PackagePhobia](https://badgen.net/packagephobia/install/@uptime.link/interfaces)](https://lossless.cloud)
PackagePhobia (package size on registry) | [![PackagePhobia](https://badgen.net/packagephobia/publish/@uptime.link/interfaces)](https://lossless.cloud)
BundlePhobia (total size when bundled) | [![BundlePhobia](https://badgen.net/bundlephobia/minzip/@uptime.link/interfaces)](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
@ -34,6 +35,7 @@ We are always happy for code contributions. If you are not the code contributing
For further information read the linked docs at the top of this readme.
## Legal
> MIT licensed | **©** [Task Venture Capital GmbH](https://task.vc)
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy)
[![repo-footer](https://lossless.gitlab.io/publicrelations/repofooter.svg)](https://maintainedby.lossless.com)

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@uptime.link/interfaces',
version: '2.0.21',
version: '2.0.5',
description: 'TypeScript interface for the uptime.link API and modules'
}

View File

@ -3,6 +3,8 @@ import * as search from './search.js';
import * as checks from './checks/index.js';
export interface ICheckCollection {
id: string;
intervalMs: number;

View File

@ -1,4 +1,4 @@
import { TCheckResultStatus, TExecutionTiming } from './index.js';
import { TCheckResultStatus, TExecutionTiming } from "./index.js";
export interface IFunctionCheck {
checkId: string;
@ -11,5 +11,5 @@ export interface IFunctionCheck {
status: TCheckResultStatus;
data: any;
checkLog: string[];
}>;
}
}>
}

View File

@ -14,6 +14,6 @@ export interface IPageRankCheck {
executionResults: Array<{
timing: TExecutionTiming;
status: TCheckResultStatus;
pageRankResult: search.IPageRankResult;
}>;
}
pageRankResult: search.IPageRankResult
}>
}

View File

@ -1,4 +1,4 @@
import { TCheckResultStatus } from './index.js';
import { TCheckResultStatus } from "./index.js";
export interface IPwaCheck {
inputData: { domain: string };

View File

@ -1,31 +0,0 @@
import * as plugins from '../ul-interfaces.plugins.js';
import { ILinkSnapshot } from './linksnapshot.js';
export interface IDomainSnapshot {
registration: {
isRegistered: boolean;
updatedDate: number;
createdDate: number;
expiryDate: number;
};
delegation: plugins.tsclass.network.IDomainDelegation;
phishingFlags: {
listName: string;
}[];
recordScans: {
identifier: string;
nameservers: string[];
aRecords: plugins.tsclass.network.IDnsRecord[];
aaaaRecords: plugins.tsclass.network.IDnsRecord[];
txtRecords: plugins.tsclass.network.IDnsRecord[];
mxRecords: plugins.tsclass.network.IDnsRecord[];
specialRecords: {
dmarc: plugins.tsclass.network.IDnsRecord[];
}
}[];
linkSnapshots: ILinkSnapshot[];
whoisServers: {
serverUrl: string;
content: string;
}[];
}

View File

@ -1,11 +1,5 @@
export * from './checkcollection.js';
export * from './domainsnapshot.js';
export * from './incident.js';
export * from './linksnapshot.js';
export * from './property.js';
export * from './search.js';
export * from './status.js';
import * as checks from './checks/index.js';
export { checks };

View File

@ -1,29 +0,0 @@
import * as plugins from '../ul-interfaces.plugins.js';
export interface ILinkSnapshot {
/**
* the link base on which the snapshot was taken
*/
linkBaseUrl: string;
httpsSupport: boolean;
httpHttpsParity: boolean;
httpToHttpsRedirect: boolean;
fromWwwRedirect: boolean;
toWwwRedirect: boolean;
statusCode: number;
fullPageLoadSize: number;
fullPageLoadTimeMs: number;
cookies: any[];
httpRequest: {
statusCode: number;
headers: {
[key: string]: string;
}
};
httpsRequest: {
statusCode: number;
headers: {
[key: string]: string;
}
};
}

View File

@ -7,4 +7,4 @@ export class IUplinkProperty {
type: 'website' | 'app' | 'api' | 'other';
access: 'private' | 'public' | 'auth';
checkCollectionIdRefs: string[];
}
}

View File

@ -18,4 +18,4 @@ export interface IPageRankResult {
google: ISearchResult[];
bing: ISearchResult[];
};
}
}

View File

@ -1,12 +1,12 @@
import * as plugins from '../ul-interfaces.plugins.js';
export interface IStatus {
last90days: IDailyStatus[];
last90days: IDailyStatus[];
}
export interface IDailyStatus {
timezone: 'UTC';
timezone: 'UTC',
date: plugins.tsclass.general.IDate;
overallStatus: 'ok' | 'reduced' | 'outage';
incidentRefs: string[];
}
}

View File

@ -1,4 +1,3 @@
export * from './requests.checks.js';
export * from './requests.incidents.js';
export * from './requests.snapshot.js';
export * from './requests.status.js';

View File

@ -12,5 +12,5 @@ export interface IRequest_CheckExchange
};
response: {
checkCollection: ICheckCollection;
};
}
}

View File

@ -1,18 +0,0 @@
import { IDomainSnapshot } from '../data/domainsnapshot.js';
import { ILinkSnapshot } from '../data/linksnapshot.js';
import * as plugins from '../ul-interfaces.plugins.js';
export interface IReq_PerformDomainSnapshot
extends plugins.typedRequestInterfaces.implementsTR<
plugins.typedRequestInterfaces.ITypedRequest,
IReq_PerformDomainSnapshot
> {
method: 'performDomainSnapshot';
request: {
domainName: string;
};
response: {
domainSnapshot: IDomainSnapshot;
linkSnapshot: ILinkSnapshot;
};
}

View File

@ -5,4 +5,6 @@ export { typedRequestInterfaces };
// tsclass scope
import * as tsclass from '@tsclass/tsclass';
export { tsclass };
export {
tsclass
}