Compare commits
32 Commits
Author | SHA1 | Date | |
---|---|---|---|
add4a52635 | |||
de3ac113fc | |||
2cf760d788 | |||
b9a23d5497 | |||
1c196ea31a | |||
d1088270bc | |||
e7a11c2b54 | |||
9d8985d67a | |||
5afbf16906 | |||
1ef7737dc9 | |||
4d961003e8 | |||
24762468da | |||
4c57804da2 | |||
847f3a4f1c | |||
d5d896a91e | |||
53b732a3f7 | |||
f7f75a64db | |||
2a0aa6db07 | |||
6a4849f87d | |||
6ba521c1b9 | |||
267dca249f | |||
0b8249a21f | |||
cf4d90ecbd | |||
92d9f441d1 | |||
44d62df972 | |||
289ddfc153 | |||
a1cef67eee | |||
5b75506634 | |||
66ed64548a | |||
31888a7f07 | |||
a49f1cd110 | |||
9b7f76b22a |
@ -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:
|
||||
|
@ -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
28
pnpm-lock.yaml
generated
@ -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:
|
||||
|
@ -21,7 +21,6 @@ Code Style | [](htt
|
||||
PackagePhobia (total standalone install weight) | [](https://lossless.cloud)
|
||||
PackagePhobia (package size on registry) | [](https://lossless.cloud)
|
||||
BundlePhobia (total size when bundled) | [](https://lossless.cloud)
|
||||
Platform support | [](https://lossless.cloud) [](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)
|
||||
|
||||
[](https://maintainedby.lossless.com)
|
||||
|
@ -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'
|
||||
}
|
||||
|
@ -3,8 +3,6 @@ import * as search from './search.js';
|
||||
|
||||
import * as checks from './checks/index.js';
|
||||
|
||||
|
||||
|
||||
export interface ICheckCollection {
|
||||
id: string;
|
||||
intervalMs: number;
|
||||
|
@ -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[];
|
||||
}>
|
||||
}
|
||||
}>;
|
||||
}
|
||||
|
@ -14,6 +14,6 @@ export interface IPageRankCheck {
|
||||
executionResults: Array<{
|
||||
timing: TExecutionTiming;
|
||||
status: TCheckResultStatus;
|
||||
pageRankResult: search.IPageRankResult
|
||||
}>
|
||||
}
|
||||
pageRankResult: search.IPageRankResult;
|
||||
}>;
|
||||
}
|
||||
|
@ -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
31
ts/data/domainsnapshot.ts
Normal 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;
|
||||
}[];
|
||||
}
|
@ -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
29
ts/data/linksnapshot.ts
Normal 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;
|
||||
}
|
||||
};
|
||||
}
|
@ -7,4 +7,4 @@ export class IUplinkProperty {
|
||||
type: 'website' | 'app' | 'api' | 'other';
|
||||
access: 'private' | 'public' | 'auth';
|
||||
checkCollectionIdRefs: string[];
|
||||
}
|
||||
}
|
||||
|
@ -18,4 +18,4 @@ export interface IPageRankResult {
|
||||
google: ISearchResult[];
|
||||
bing: ISearchResult[];
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -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[];
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
export * from './requests.checks.js';
|
||||
export * from './requests.incidents.js';
|
||||
export * from './requests.snapshot.js';
|
||||
export * from './requests.status.js';
|
||||
|
@ -12,5 +12,5 @@ export interface IRequest_CheckExchange
|
||||
};
|
||||
response: {
|
||||
checkCollection: ICheckCollection;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
18
ts/requests/requests.snapshot.ts
Normal file
18
ts/requests/requests.snapshot.ts
Normal 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;
|
||||
};
|
||||
}
|
@ -5,6 +5,4 @@ export { typedRequestInterfaces };
|
||||
// tsclass scope
|
||||
import * as tsclass from '@tsclass/tsclass';
|
||||
|
||||
export {
|
||||
tsclass
|
||||
}
|
||||
export { tsclass };
|
||||
|
Loading…
x
Reference in New Issue
Block a user