Compare commits

...

32 Commits

Author SHA1 Message Date
add4a52635 2.0.21 2023-04-19 21:48:16 +02:00
de3ac113fc fix(core): update 2023-04-19 21:48:16 +02:00
2cf760d788 2.0.20 2023-04-19 20:40:22 +02:00
b9a23d5497 fix(core): update 2023-04-19 20:40:21 +02:00
1c196ea31a 2.0.19 2023-04-18 17:13:46 +02:00
d1088270bc fix(core): update 2023-04-18 17:13:45 +02:00
e7a11c2b54 2.0.18 2023-04-17 14:54:27 +02:00
9d8985d67a fix(core): update 2023-04-17 14:54:26 +02:00
5afbf16906 2.0.17 2023-04-17 13:56:55 +02:00
1ef7737dc9 fix(core): update 2023-04-17 13:56:55 +02:00
4d961003e8 2.0.16 2023-04-17 13:54:47 +02:00
24762468da fix(core): update 2023-04-17 13:54:47 +02:00
4c57804da2 2.0.15 2023-04-17 13:48:33 +02:00
847f3a4f1c fix(core): update 2023-04-17 13:48:32 +02:00
d5d896a91e 2.0.14 2023-04-17 13:47:58 +02:00
53b732a3f7 fix(core): update 2023-04-17 13:47:58 +02:00
f7f75a64db 2.0.13 2023-04-10 14:09:21 +02:00
2a0aa6db07 fix(core): update 2023-04-10 14:09:21 +02:00
6a4849f87d 2.0.12 2023-04-10 14:04:13 +02:00
6ba521c1b9 fix(core): update 2023-04-10 14:04:13 +02:00
267dca249f 2.0.11 2023-04-06 19:22:14 +02:00
0b8249a21f fix(core): update 2023-04-06 19:22:13 +02:00
cf4d90ecbd 2.0.10 2023-04-06 18:15:13 +02:00
92d9f441d1 fix(core): update 2023-04-06 18:15:12 +02:00
44d62df972 2.0.9 2023-04-03 17:12:02 +02:00
289ddfc153 fix(core): update 2023-04-03 17:12:01 +02:00
a1cef67eee 2.0.8 2023-04-03 14:41:10 +02:00
5b75506634 fix(core): update 2023-04-03 14:41:09 +02:00
66ed64548a 2.0.7 2023-04-03 14:12:54 +02:00
31888a7f07 fix(core): update 2023-04-03 14:12:53 +02:00
a49f1cd110 2.0.6 2023-04-03 13:52:28 +02:00
9b7f76b22a fix(core): update 2023-04-03 13:52:27 +02:00
19 changed files with 137 additions and 47 deletions

View File

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

View File

@ -1,6 +1,6 @@
{
"name": "@uptime.link/interfaces",
"version": "2.0.5",
"version": "2.0.21",
"private": false,
"description": "TypeScript interface for the uptime.link API and modules",
"main": "dist_ts/index.js",
@ -15,13 +15,14 @@
},
"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.34"
"@tsclass/tsclass": "^4.0.38"
},
"files": [
"ts/**/*",

28
pnpm-lock.yaml generated
View File

@ -5,13 +5,16 @@ dependencies:
specifier: ^2.0.1
version: 2.0.1
'@tsclass/tsclass':
specifier: ^4.0.34
version: 4.0.34
specifier: ^4.0.38
version: 4.0.38
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)
@ -449,7 +452,7 @@ packages:
'@pushrocks/smartrequest': 2.0.11
'@pushrocks/smartsitemap': 2.0.1
'@pushrocks/smarttime': 4.0.1
'@tsclass/tsclass': 4.0.34
'@tsclass/tsclass': 4.0.38
'@types/compression': 1.7.2
'@types/cors': 2.8.13
'@types/express': 4.17.17
@ -623,7 +626,7 @@ packages:
'@pushrocks/smartpromise': 3.1.7
'@pushrocks/smartpuppeteer': 2.0.2
'@pushrocks/smartunique': 3.0.3
'@tsclass/tsclass': 4.0.34
'@tsclass/tsclass': 4.0.38
'@types/express': 4.17.17
express: 4.18.2
pdf-merger-js: 3.4.0
@ -900,10 +903,10 @@ packages:
type-fest: 2.19.0
dev: true
/@tsclass/tsclass@4.0.34:
resolution: {integrity: sha512-Fk4y/cKfzAjq+9HcsR/CRvWDn7ERrKxd75oPVASrfjECyA/Mf7zDKbPfLwZyAq4zk4abkg1RydfNjQWRLXHdTA==}
/@tsclass/tsclass@4.0.38:
resolution: {integrity: sha512-dwxW8MkmAAi8BYO//yYLb0x01BqtUh3kN6t5pq163GEMBYZ9pNSLs/7cafQFPX1/Ia9gknlOphYH0uYZwJET/g==}
dependencies:
type-fest: 3.7.2
type-fest: 3.8.0
/@tsconfig/node10@1.0.9:
resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
@ -1351,6 +1354,11 @@ 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'}
@ -3515,6 +3523,8 @@ 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'
@ -4194,8 +4204,8 @@ packages:
engines: {node: '>=12.20'}
dev: true
/type-fest@3.7.2:
resolution: {integrity: sha512-f9BHrLjRJ4MYkfOsnC/53PNDzZJcVo14MqLp2+hXE39p5bgwqohxR5hDZztwxlbxmIVuvC2EFAKrAkokq23PLA==}
/type-fest@3.8.0:
resolution: {integrity: sha512-FVNSzGQz9Th+/9R6Lvv7WIAkstylfHN2/JYxkyhhmKFYh9At2DST8t6L6Lref9eYO8PXFTfG9Sg1Agg0K3vq3Q==}
engines: {node: '>=14.16'}
/type-is@1.6.18:

View File

@ -21,7 +21,6 @@ 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
@ -35,7 +34,6 @@ 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.
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
## Legal
> MIT licensed | **©** [Task Venture Capital GmbH](https://task.vc)
| 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.5',
version: '2.0.21',
description: 'TypeScript interface for the uptime.link API and modules'
}

View File

@ -3,8 +3,6 @@ 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 };

31
ts/data/domainsnapshot.ts Normal file
View File

@ -0,0 +1,31 @@
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,5 +1,11 @@
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 };

29
ts/data/linksnapshot.ts Normal file
View File

@ -0,0 +1,29 @@
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,3 +1,4 @@
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

@ -0,0 +1,18 @@
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,6 +5,4 @@ export { typedRequestInterfaces };
// tsclass scope
import * as tsclass from '@tsclass/tsclass';
export {
tsclass
}
export { tsclass };