@faynosync/sdk-js 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/package.json +8 -1
- package/.github/workflows/create-release.yml +0 -80
- package/CHANGELOG.md +0 -17
- package/examples/basic/README.md +0 -17
- package/examples/basic/index.ts +0 -75
- package/examples/custom-fetch/README.md +0 -29
- package/examples/custom-fetch/index.ts +0 -94
- package/examples/edge-fallback/README.md +0 -24
- package/examples/edge-fallback/index.ts +0 -77
- package/jest.config.js +0 -8
- package/src/client.ts +0 -264
- package/src/errors.ts +0 -72
- package/src/index.ts +0 -17
- package/src/system.ts +0 -7
- package/src/types.ts +0 -27
- package/tests/client.test.ts +0 -519
- package/tests/errors.test.ts +0 -97
- package/tests/helpers.ts +0 -30
- package/tests/system.test.ts +0 -23
- package/tsconfig.json +0 -17
- package/tsconfig.test.json +0 -8
package/dist/client.js
CHANGED
|
@@ -113,7 +113,7 @@ class Client {
|
|
|
113
113
|
opts.channel ?? '',
|
|
114
114
|
opts.platform ?? '',
|
|
115
115
|
opts.arch ?? '',
|
|
116
|
-
`${opts.version}.json`,
|
|
116
|
+
`${opts.version.replace(/-/g, '.')}.json`,
|
|
117
117
|
];
|
|
118
118
|
const base = (u.origin + u.pathname).replace(/\/+$/, '');
|
|
119
119
|
return `${base}/${segments.map(encodeURIComponent).join('/')}`;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faynosync/sdk-js",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "JavaScript/TypeScript SDK for faynoSync",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/ku9nov/faynosync-sdk-js.git"
|
|
8
|
+
},
|
|
5
9
|
"main": "dist/index.js",
|
|
6
10
|
"types": "dist/index.d.ts",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist"
|
|
13
|
+
],
|
|
7
14
|
"publishConfig": {
|
|
8
15
|
"access": "public"
|
|
9
16
|
},
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
name: Create Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
workflow_dispatch:
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
test:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
|
|
13
|
-
steps:
|
|
14
|
-
- name: Checkout code
|
|
15
|
-
uses: actions/checkout@v4
|
|
16
|
-
|
|
17
|
-
- name: Set up Node.js
|
|
18
|
-
uses: actions/setup-node@v4
|
|
19
|
-
with:
|
|
20
|
-
node-version: '20'
|
|
21
|
-
|
|
22
|
-
- name: Install dependencies
|
|
23
|
-
run: npm ci
|
|
24
|
-
|
|
25
|
-
- name: Lint
|
|
26
|
-
run: npm run lint
|
|
27
|
-
|
|
28
|
-
- name: Run tests
|
|
29
|
-
run: npm test
|
|
30
|
-
|
|
31
|
-
create-release:
|
|
32
|
-
needs: test
|
|
33
|
-
if: |
|
|
34
|
-
github.event_name == 'workflow_dispatch' || contains(github.event.head_commit.message, 'commit new version') == true
|
|
35
|
-
runs-on: ubuntu-latest
|
|
36
|
-
|
|
37
|
-
steps:
|
|
38
|
-
- name: Checkout code
|
|
39
|
-
uses: actions/checkout@v4
|
|
40
|
-
|
|
41
|
-
- name: Set up Node.js
|
|
42
|
-
uses: actions/setup-node@v4
|
|
43
|
-
with:
|
|
44
|
-
node-version: '20'
|
|
45
|
-
registry-url: 'https://registry.npmjs.org'
|
|
46
|
-
|
|
47
|
-
- name: Install dependencies
|
|
48
|
-
run: npm ci
|
|
49
|
-
|
|
50
|
-
- name: Build
|
|
51
|
-
run: npm run build
|
|
52
|
-
|
|
53
|
-
- name: Extract Version
|
|
54
|
-
id: extract-version
|
|
55
|
-
run: |
|
|
56
|
-
version=$(grep -m 1 -oP '## v\d+\.\d+\.\d+' CHANGELOG.md | cut -d ' ' -f 2)
|
|
57
|
-
echo "version=$version" >> "$GITHUB_OUTPUT"
|
|
58
|
-
|
|
59
|
-
- name: Extract Changelog
|
|
60
|
-
id: extract-changelog
|
|
61
|
-
run: |
|
|
62
|
-
changelog=$(awk '/^## v[0-9]+\.[0-9]+\.[0-9]+/{if (!version) {version=$0; next}} /^## v[0-9]+\.[0-9]+\.[0-9]+/{exit} {if (version) description = description ORS $0} END {if (version) print description}' CHANGELOG.md | sed -e '/^## v[0-9]+\.[0-9]+\.[0-9]+/d; s/^# //' > changelog.txt)
|
|
63
|
-
echo "changelog_file=changelog.txt" >> "$GITHUB_OUTPUT"
|
|
64
|
-
|
|
65
|
-
- name: Create Release
|
|
66
|
-
id: create-release
|
|
67
|
-
uses: actions/create-release@v1
|
|
68
|
-
env:
|
|
69
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
70
|
-
with:
|
|
71
|
-
tag_name: ${{ steps.extract-version.outputs.version }}
|
|
72
|
-
release_name: ${{ steps.extract-version.outputs.version }}
|
|
73
|
-
body_path: ${{ steps.extract-changelog.outputs.changelog_file }}
|
|
74
|
-
draft: false
|
|
75
|
-
prerelease: false
|
|
76
|
-
|
|
77
|
-
- name: Publish to npm
|
|
78
|
-
run: npm publish --access public
|
|
79
|
-
env:
|
|
80
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/CHANGELOG.md
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## 0.1.0
|
|
4
|
-
|
|
5
|
-
Initial release of the faynoSync JS SDK (transport layer only).
|
|
6
|
-
|
|
7
|
-
### Added
|
|
8
|
-
|
|
9
|
-
- `Client` with `checkForUpdates` against the Base API (`GET /checkVersion`)
|
|
10
|
-
- Optional `edgeURL` static JSON lookup with automatic API fallback
|
|
11
|
-
- Typed `CheckOptions`, `UpdateResponse`, and package URL decoding
|
|
12
|
-
- `EndpointError` and `CheckError` for typed request failure handling
|
|
13
|
-
- Sentinel validation errors for missing/invalid configuration
|
|
14
|
-
- Optional `systemPlatform` / `systemArch` helpers (Node.js `process.platform` / `process.arch`)
|
|
15
|
-
- `AbortSignal` support for request cancellation
|
|
16
|
-
- Custom `fetch` support for transport customization (`timeoutMs`, keep-alive, proxies)
|
|
17
|
-
- Examples: basic, edge fallback, custom fetch
|
package/examples/basic/README.md
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# basic
|
|
2
|
-
|
|
3
|
-
Minimal update check using the faynoSync JS SDK.
|
|
4
|
-
|
|
5
|
-
Demonstrates:
|
|
6
|
-
|
|
7
|
-
- Creating a `Client` with only `baseURL`
|
|
8
|
-
- Using `systemPlatform()` and `systemArch()` to pass Node.js runtime values
|
|
9
|
-
- Distinguishing request failures (`RequestFailedError`) from validation errors
|
|
10
|
-
|
|
11
|
-
## Run
|
|
12
|
-
|
|
13
|
-
```sh
|
|
14
|
-
npx ts-node examples/basic/index.ts
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Expects a faynoSync server running at `http://localhost:9000`.
|
package/examples/basic/index.ts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Client, RequestFailedError, systemArch, systemPlatform } from '../../src';
|
|
2
|
-
import type { UpdateResponse, UpdateSource } from '../../src';
|
|
3
|
-
|
|
4
|
-
const client = new Client({
|
|
5
|
-
baseURL: 'http://localhost:9000',
|
|
6
|
-
});
|
|
7
|
-
|
|
8
|
-
async function main(): Promise<void> {
|
|
9
|
-
let resp: UpdateResponse;
|
|
10
|
-
try {
|
|
11
|
-
resp = await client.checkForUpdates({
|
|
12
|
-
owner: 'admin',
|
|
13
|
-
appName: 'test',
|
|
14
|
-
version: '0.0.0.1',
|
|
15
|
-
channel: 'nightly',
|
|
16
|
-
platform: systemPlatform(),
|
|
17
|
-
arch: systemArch(),
|
|
18
|
-
});
|
|
19
|
-
} catch (err) {
|
|
20
|
-
if (err instanceof RequestFailedError) {
|
|
21
|
-
console.error('update check request failed:', err.message);
|
|
22
|
-
} else {
|
|
23
|
-
console.error('invalid update check options:', (err as Error).message);
|
|
24
|
-
}
|
|
25
|
-
process.exit(1);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
printUpdateResponse(resp);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function printUpdateResponse(resp: UpdateResponse): void {
|
|
32
|
-
const pad = ' ';
|
|
33
|
-
|
|
34
|
-
console.log('-- Update check response --');
|
|
35
|
-
console.log(`${pad}update_available: ${resp.updateAvailable}`);
|
|
36
|
-
console.log(`${pad}critical: ${resp.critical}`);
|
|
37
|
-
console.log(`${pad}is_intermediate_required: ${resp.isIntermediateRequired}`);
|
|
38
|
-
console.log(`${pad}possible_rollback: ${resp.possibleRollback}`);
|
|
39
|
-
console.log(`${pad}source: ${formatUpdateSource(resp.source)}`);
|
|
40
|
-
|
|
41
|
-
if (resp.updateUrl !== '') {
|
|
42
|
-
console.log(`${pad}update_url: ${resp.updateUrl}`);
|
|
43
|
-
} else {
|
|
44
|
-
console.log(`${pad}update_url: (empty)`);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (resp.changelog !== '') {
|
|
48
|
-
console.log(`${pad}changelog:`);
|
|
49
|
-
for (const line of resp.changelog.trimEnd().split('\n')) {
|
|
50
|
-
console.log(`${pad} ${line}`);
|
|
51
|
-
}
|
|
52
|
-
} else {
|
|
53
|
-
console.log(`${pad}changelog: (empty)`);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (resp.packageUrls.length === 0) {
|
|
57
|
-
console.log(`${pad}package_urls: (none)`);
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
console.log(`${pad}package_urls:`);
|
|
62
|
-
for (const pkg of resp.packageUrls) {
|
|
63
|
-
console.log(`${pad} ${pkg.package.padEnd(12)} ${pkg.url}`);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function formatUpdateSource(source: UpdateSource): string {
|
|
68
|
-
switch (source) {
|
|
69
|
-
case 'edge': return 'edge';
|
|
70
|
-
case 'api': return 'api';
|
|
71
|
-
default: return 'unknown';
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
main();
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# custom-fetch
|
|
2
|
-
|
|
3
|
-
Update check with a custom `fetch` function and explicit timeout.
|
|
4
|
-
|
|
5
|
-
Demonstrates:
|
|
6
|
-
|
|
7
|
-
- Supplying a custom `fetch` to `Client` for connection reuse via `https.Agent`
|
|
8
|
-
- Setting `timeoutMs` to control per-request deadline
|
|
9
|
-
- Passing `deviceId` alongside a custom transport
|
|
10
|
-
|
|
11
|
-
## When to use a custom `fetch`
|
|
12
|
-
|
|
13
|
-
The default `globalThis.fetch` (Node.js 18+ built-in) creates a new connection for every request. For applications that poll frequently, supply a custom `fetch` backed by an agent with `keepAlive: true` to reuse connections and reduce latency.
|
|
14
|
-
|
|
15
|
-
```ts
|
|
16
|
-
const client = new Client({
|
|
17
|
-
baseURL: 'https://api.example.com',
|
|
18
|
-
fetch: myFetch, // e.g. wraps undici or node-fetch with a shared agent
|
|
19
|
-
timeoutMs: 10_000,
|
|
20
|
-
});
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Run
|
|
24
|
-
|
|
25
|
-
```sh
|
|
26
|
-
npx ts-node examples/custom-fetch/index.ts
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Expects a faynoSync server running at `http://localhost:9000`.
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import https from 'https';
|
|
2
|
-
import { Client, RequestFailedError } from '../../src';
|
|
3
|
-
import type { UpdateResponse, UpdateSource } from '../../src';
|
|
4
|
-
|
|
5
|
-
const DEVICE_ID = 'device-1';
|
|
6
|
-
|
|
7
|
-
const keepAliveAgent = new https.Agent({
|
|
8
|
-
keepAlive: true,
|
|
9
|
-
maxSockets: 10,
|
|
10
|
-
timeout: 5_000,
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
const customFetch: typeof globalThis.fetch = (input, init) => {
|
|
14
|
-
return globalThis.fetch(input, {
|
|
15
|
-
...init,
|
|
16
|
-
agent: keepAliveAgent,
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const client = new Client({
|
|
21
|
-
baseURL: 'http://localhost:9000',
|
|
22
|
-
fetch: customFetch,
|
|
23
|
-
timeoutMs: 10_000,
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
async function main(): Promise<void> {
|
|
27
|
-
let resp: UpdateResponse;
|
|
28
|
-
try {
|
|
29
|
-
resp = await client.checkForUpdates({
|
|
30
|
-
owner: 'admin',
|
|
31
|
-
appName: 'test',
|
|
32
|
-
version: '0.0.0.1',
|
|
33
|
-
channel: 'nightly',
|
|
34
|
-
platform: 'darwin',
|
|
35
|
-
arch: 'arm64',
|
|
36
|
-
deviceId: DEVICE_ID,
|
|
37
|
-
});
|
|
38
|
-
} catch (err) {
|
|
39
|
-
if (err instanceof RequestFailedError) {
|
|
40
|
-
console.error('update check request failed:', err.message);
|
|
41
|
-
} else {
|
|
42
|
-
console.error('invalid update check options:', (err as Error).message);
|
|
43
|
-
}
|
|
44
|
-
process.exit(1);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
printUpdateResponse(resp);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function printUpdateResponse(resp: UpdateResponse): void {
|
|
51
|
-
const pad = ' ';
|
|
52
|
-
|
|
53
|
-
console.log('-- Update check response --');
|
|
54
|
-
console.log(`${pad}update_available: ${resp.updateAvailable}`);
|
|
55
|
-
console.log(`${pad}critical: ${resp.critical}`);
|
|
56
|
-
console.log(`${pad}is_intermediate_required: ${resp.isIntermediateRequired}`);
|
|
57
|
-
console.log(`${pad}possible_rollback: ${resp.possibleRollback}`);
|
|
58
|
-
console.log(`${pad}source: ${formatUpdateSource(resp.source)}`);
|
|
59
|
-
|
|
60
|
-
if (resp.updateUrl !== '') {
|
|
61
|
-
console.log(`${pad}update_url: ${resp.updateUrl}`);
|
|
62
|
-
} else {
|
|
63
|
-
console.log(`${pad}update_url: (empty)`);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (resp.changelog !== '') {
|
|
67
|
-
console.log(`${pad}changelog:`);
|
|
68
|
-
for (const line of resp.changelog.trimEnd().split('\n')) {
|
|
69
|
-
console.log(`${pad} ${line}`);
|
|
70
|
-
}
|
|
71
|
-
} else {
|
|
72
|
-
console.log(`${pad}changelog: (empty)`);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (resp.packageUrls.length === 0) {
|
|
76
|
-
console.log(`${pad}package_urls: (none)`);
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
console.log(`${pad}package_urls:`);
|
|
81
|
-
for (const pkg of resp.packageUrls) {
|
|
82
|
-
console.log(`${pad} ${pkg.package.padEnd(12)} ${pkg.url}`);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
function formatUpdateSource(source: UpdateSource): string {
|
|
87
|
-
switch (source) {
|
|
88
|
-
case 'edge': return 'edge';
|
|
89
|
-
case 'api': return 'api';
|
|
90
|
-
default: return 'unknown';
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
main();
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# edge-fallback
|
|
2
|
-
|
|
3
|
-
Update check with a static edge CDN configured alongside the base API.
|
|
4
|
-
|
|
5
|
-
Demonstrates:
|
|
6
|
-
|
|
7
|
-
- Configuring `edgeURL` for a static JSON edge response
|
|
8
|
-
- Automatic fallback to `baseURL` when the edge misses or fails
|
|
9
|
-
- Passing `deviceId` to trigger a telemetry beacon after a successful edge hit
|
|
10
|
-
- Reading `resp.source` to see which endpoint served the response
|
|
11
|
-
|
|
12
|
-
## How it works
|
|
13
|
-
|
|
14
|
-
1. The SDK requests `GET {edgeURL}/responses/{owner}/{appName}/{channel}/{platform}/{arch}/{version}.json`.
|
|
15
|
-
2. On HTTP 200 with valid JSON, the response is returned with `source: 'edge'` and a telemetry beacon is sent to `{baseURL}/telemetry/beacon`.
|
|
16
|
-
3. On any failure (404, network error, invalid JSON), the SDK retries against `{baseURL}/checkVersion`.
|
|
17
|
-
|
|
18
|
-
## Run
|
|
19
|
-
|
|
20
|
-
```sh
|
|
21
|
-
npx ts-node examples/edge-fallback/index.ts
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Expects a faynoSync server at `http://localhost:9000` and an edge server at `http://cb-faynosync-s3-public.web.garage.localhost:3902`.
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Client, RequestFailedError } from '../../src';
|
|
2
|
-
import type { UpdateResponse, UpdateSource } from '../../src';
|
|
3
|
-
|
|
4
|
-
const client = new Client({
|
|
5
|
-
baseURL: 'http://localhost:9000',
|
|
6
|
-
edgeURL: 'http://cb-faynosync-s3-public.web.garage.localhost:3902',
|
|
7
|
-
});
|
|
8
|
-
|
|
9
|
-
async function main(): Promise<void> {
|
|
10
|
-
let resp: UpdateResponse;
|
|
11
|
-
try {
|
|
12
|
-
resp = await client.checkForUpdates({
|
|
13
|
-
owner: 'admin',
|
|
14
|
-
appName: 'test',
|
|
15
|
-
version: '0.0.0.1',
|
|
16
|
-
channel: 'nightly',
|
|
17
|
-
platform: 'darwin',
|
|
18
|
-
arch: 'arm64',
|
|
19
|
-
deviceId: 'device-1-fnsj',
|
|
20
|
-
});
|
|
21
|
-
} catch (err) {
|
|
22
|
-
if (err instanceof RequestFailedError) {
|
|
23
|
-
console.error('update check request failed:', err.message);
|
|
24
|
-
} else {
|
|
25
|
-
console.error('invalid update check options:', (err as Error).message);
|
|
26
|
-
}
|
|
27
|
-
process.exit(1);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
printUpdateResponse(resp);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function printUpdateResponse(resp: UpdateResponse): void {
|
|
34
|
-
const pad = ' ';
|
|
35
|
-
|
|
36
|
-
console.log('-- Update check response --');
|
|
37
|
-
console.log(`${pad}update_available: ${resp.updateAvailable}`);
|
|
38
|
-
console.log(`${pad}critical: ${resp.critical}`);
|
|
39
|
-
console.log(`${pad}is_intermediate_required: ${resp.isIntermediateRequired}`);
|
|
40
|
-
console.log(`${pad}possible_rollback: ${resp.possibleRollback}`);
|
|
41
|
-
console.log(`${pad}source: ${formatUpdateSource(resp.source)}`);
|
|
42
|
-
|
|
43
|
-
if (resp.updateUrl !== '') {
|
|
44
|
-
console.log(`${pad}update_url: ${resp.updateUrl}`);
|
|
45
|
-
} else {
|
|
46
|
-
console.log(`${pad}update_url: (empty)`);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (resp.changelog !== '') {
|
|
50
|
-
console.log(`${pad}changelog:`);
|
|
51
|
-
for (const line of resp.changelog.trimEnd().split('\n')) {
|
|
52
|
-
console.log(`${pad} ${line}`);
|
|
53
|
-
}
|
|
54
|
-
} else {
|
|
55
|
-
console.log(`${pad}changelog: (empty)`);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (resp.packageUrls.length === 0) {
|
|
59
|
-
console.log(`${pad}package_urls: (none)`);
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
console.log(`${pad}package_urls:`);
|
|
64
|
-
for (const pkg of resp.packageUrls) {
|
|
65
|
-
console.log(`${pad} ${pkg.package.padEnd(12)} ${pkg.url}`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function formatUpdateSource(source: UpdateSource): string {
|
|
70
|
-
switch (source) {
|
|
71
|
-
case 'edge': return 'edge';
|
|
72
|
-
case 'api': return 'api';
|
|
73
|
-
default: return 'unknown';
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
main();
|