@rosen-bridge/utils 0.0.1 → 0.2.0
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/CHANGELOG.md +13 -0
- package/dist/lib/constants.d.ts +0 -1
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +1 -2
- package/dist/lib/downloadRosenAssets.d.ts +6 -3
- package/dist/lib/downloadRosenAssets.d.ts.map +1 -1
- package/dist/lib/downloadRosenAssets.js +15 -10
- package/dist/lib/downloadTssBinary.d.ts +13 -0
- package/dist/lib/downloadTssBinary.d.ts.map +1 -0
- package/dist/lib/downloadTssBinary.js +45 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +2 -1
- package/dist/lib/types/index.d.ts +1 -0
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/index.js +1 -1
- package/dist/lib/utils/github.d.ts +318 -6
- package/dist/lib/utils/github.d.ts.map +1 -1
- package/dist/lib/utils/github.js +53 -9
- package/dist/lib/utils/rosen.d.ts +5 -0
- package/dist/lib/utils/rosen.d.ts.map +1 -1
- package/dist/lib/utils/rosen.js +6 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/lib/constants.ts +0 -1
- package/lib/downloadRosenAssets.ts +21 -10
- package/lib/downloadTssBinary.ts +61 -0
- package/lib/index.ts +1 -0
- package/lib/types/index.ts +2 -0
- package/lib/utils/github.ts +74 -8
- package/lib/utils/rosen.ts +7 -0
- package/package.json +3 -4
- package/tests/data/octokit.data.ts +88 -1
- package/tests/downloadRosenAssets.spec.ts +39 -9
- package/tests/downloadTssBinary.spec.ts +153 -0
- package/tests/mocks/octokit.mock.ts +20 -2
- package/tests/utils/github.spec.ts +192 -20
- package/tests/utils/rosen.spec.ts +39 -1
package/CHANGELOG.md
ADDED
package/dist/lib/constants.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC,IAAI,CAAC;AACrD,eAAO,MAAM,yBAAyB,iBAAiB,CAAC
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC,IAAI,CAAC;AACrD,eAAO,MAAM,yBAAyB,iBAAiB,CAAC"}
|
package/dist/lib/constants.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
export const DEFAULT_RELEASES_FETCHING_PAGE_SIZE = 5;
|
|
2
2
|
export const ROSEN_BRIDGE_ORGANIZATION = 'rosen-bridge';
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsY0FBYyxDQUFDO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBERUZBVUxUX1JFTEVBU0VTX0ZFVENISU5HX1BBR0VfU0laRSA9IDU7XG5leHBvcnQgY29uc3QgUk9TRU5fQlJJREdFX09SR0FOSVpBVElPTiA9ICdyb3Nlbi1icmlkZ2UnO1xuZXhwb3J0IGNvbnN0IENPTlRSQUNUX1JFUE9fTkFNRSA9ICdjb250cmFjdCc7XG4iXX0=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERFRkFVTFRfUkVMRUFTRVNfRkVUQ0hJTkdfUEFHRV9TSVpFID0gNTtcbmV4cG9ydCBjb25zdCBST1NFTl9CUklER0VfT1JHQU5JWkFUSU9OID0gJ3Jvc2VuLWJyaWRnZSc7XG4iXX0=
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
* Download all required Rosen assets (tokenMap and all chain address files) to a specific path
|
|
3
3
|
* @param chainType chain type (e.g. mainnet, testnet, etc.)
|
|
4
4
|
* @param includePrereleases weather to include prereleases into account when searching for a matching release in GitHub
|
|
5
|
-
* @param
|
|
6
|
-
* @param nameSuffix an optional suffix to append to saved files names
|
|
5
|
+
* @param config configs for including prereleases, adding name suffix, and getting specific release by tag
|
|
7
6
|
*/
|
|
8
|
-
declare const downloadRosenAssets: (chainType: string, destinationPath: string,
|
|
7
|
+
declare const downloadRosenAssets: (chainType: string, destinationPath: string, config?: {
|
|
8
|
+
includePrereleases?: boolean;
|
|
9
|
+
nameSuffix?: string;
|
|
10
|
+
tag?: string;
|
|
11
|
+
}) => Promise<void>;
|
|
9
12
|
export default downloadRosenAssets;
|
|
10
13
|
//# sourceMappingURL=downloadRosenAssets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloadRosenAssets.d.ts","sourceRoot":"","sources":["../../lib/downloadRosenAssets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"downloadRosenAssets.d.ts","sourceRoot":"","sources":["../../lib/downloadRosenAssets.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,cACZ,MAAM,mBACA,MAAM,WACd;IACP,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,kBAsCF,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,32 +1,37 @@
|
|
|
1
1
|
import download from 'download';
|
|
2
|
-
import { findLatestRelease, findLatestStableRelease } from './utils/github';
|
|
2
|
+
import { findLatestRelease, findLatestStableRelease, getReleaseByTag, } from './utils/github';
|
|
3
3
|
import { isValidAssetName, truncateAssetName } from './utils/rosen';
|
|
4
4
|
import { RosenAssetsDownloadError } from './error';
|
|
5
|
+
const repo = 'contract';
|
|
5
6
|
/**
|
|
6
7
|
* Download all required Rosen assets (tokenMap and all chain address files) to a specific path
|
|
7
8
|
* @param chainType chain type (e.g. mainnet, testnet, etc.)
|
|
8
9
|
* @param includePrereleases weather to include prereleases into account when searching for a matching release in GitHub
|
|
9
|
-
* @param
|
|
10
|
-
* @param nameSuffix an optional suffix to append to saved files names
|
|
10
|
+
* @param config configs for including prereleases, adding name suffix, and getting specific release by tag
|
|
11
11
|
*/
|
|
12
|
-
const downloadRosenAssets = async (chainType, destinationPath,
|
|
12
|
+
const downloadRosenAssets = async (chainType, destinationPath, config) => {
|
|
13
|
+
const getRelease = () => {
|
|
14
|
+
if (config?.tag)
|
|
15
|
+
return getReleaseByTag(repo, config.tag);
|
|
16
|
+
if (config?.includePrereleases)
|
|
17
|
+
return findLatestRelease(repo, chainType);
|
|
18
|
+
return findLatestStableRelease(repo, chainType);
|
|
19
|
+
};
|
|
13
20
|
try {
|
|
14
|
-
const release =
|
|
15
|
-
? await findLatestRelease(chainType)
|
|
16
|
-
: await findLatestStableRelease(chainType);
|
|
21
|
+
const release = await getRelease();
|
|
17
22
|
if (release) {
|
|
18
23
|
await Promise.all([
|
|
19
24
|
...(release &&
|
|
20
25
|
release.assets
|
|
21
26
|
.filter((asset) => isValidAssetName(chainType)(asset.name))
|
|
22
27
|
.map(async (asset) => download(asset.browser_download_url, destinationPath, {
|
|
23
|
-
filename: truncateAssetName(asset.name, nameSuffix),
|
|
28
|
+
filename: truncateAssetName(asset.name, config?.nameSuffix),
|
|
24
29
|
}))),
|
|
25
30
|
]);
|
|
26
31
|
}
|
|
27
32
|
else {
|
|
28
33
|
console.error(`No release found for [${chainType}] chain type.`);
|
|
29
|
-
if (!includePrereleases) {
|
|
34
|
+
if (!config?.includePrereleases) {
|
|
30
35
|
console.error('Please note that `includePrereleases` is set to false. There may be some matching releases in prereleases.');
|
|
31
36
|
}
|
|
32
37
|
}
|
|
@@ -40,4 +45,4 @@ const downloadRosenAssets = async (chainType, destinationPath, includePrerelease
|
|
|
40
45
|
}
|
|
41
46
|
};
|
|
42
47
|
export default downloadRosenAssets;
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWRSb3NlbkFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9kb3dubG9hZFJvc2VuQXNzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUVoQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixlQUFlLEdBQ2hCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVuRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUM7QUFFeEI7Ozs7O0dBS0c7QUFDSCxNQUFNLG1CQUFtQixHQUFHLEtBQUssRUFDL0IsU0FBaUIsRUFDakIsZUFBdUIsRUFDdkIsTUFJQyxFQUNELEVBQUU7SUFDRixNQUFNLFVBQVUsR0FBRyxHQUFHLEVBQUU7UUFDdEIsSUFBSSxNQUFNLEVBQUUsR0FBRztZQUFFLE9BQU8sZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsSUFBSSxNQUFNLEVBQUUsa0JBQWtCO1lBQUUsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDMUUsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDO0lBQ0YsSUFBSTtRQUNGLE1BQU0sT0FBTyxHQUFHLE1BQU0sVUFBVSxFQUFFLENBQUM7UUFFbkMsSUFBSSxPQUFPLEVBQUU7WUFDWCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQ2hCLEdBQUcsQ0FBQyxPQUFPO29CQUNULE9BQU8sQ0FBQyxNQUFNO3lCQUNYLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO3lCQUMxRCxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ25CLFFBQVEsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsZUFBZSxFQUFFO3dCQUNwRCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDO3FCQUM1RCxDQUFDLENBQ0gsQ0FBQzthQUNQLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixTQUFTLGVBQWUsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUU7Z0JBQy9CLE9BQU8sQ0FBQyxLQUFLLENBQ1gsNEdBQTRHLENBQzdHLENBQUM7YUFDSDtTQUNGO0tBQ0Y7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLE9BQU8sQ0FBQyxLQUFLLENBQ1gsNERBQTRELEtBQUssRUFBRSxDQUNwRSxDQUFDO1FBQ0YsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsTUFBTSxJQUFJLHdCQUF3QixDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQzFEO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsZUFBZSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb3dubG9hZCBmcm9tICdkb3dubG9hZCc7XG5cbmltcG9ydCB7XG4gIGZpbmRMYXRlc3RSZWxlYXNlLFxuICBmaW5kTGF0ZXN0U3RhYmxlUmVsZWFzZSxcbiAgZ2V0UmVsZWFzZUJ5VGFnLFxufSBmcm9tICcuL3V0aWxzL2dpdGh1Yic7XG5pbXBvcnQgeyBpc1ZhbGlkQXNzZXROYW1lLCB0cnVuY2F0ZUFzc2V0TmFtZSB9IGZyb20gJy4vdXRpbHMvcm9zZW4nO1xuXG5pbXBvcnQgeyBSb3NlbkFzc2V0c0Rvd25sb2FkRXJyb3IgfSBmcm9tICcuL2Vycm9yJztcblxuY29uc3QgcmVwbyA9ICdjb250cmFjdCc7XG5cbi8qKlxuICogRG93bmxvYWQgYWxsIHJlcXVpcmVkIFJvc2VuIGFzc2V0cyAodG9rZW5NYXAgYW5kIGFsbCBjaGFpbiBhZGRyZXNzIGZpbGVzKSB0byBhIHNwZWNpZmljIHBhdGhcbiAqIEBwYXJhbSBjaGFpblR5cGUgY2hhaW4gdHlwZSAoZS5nLiBtYWlubmV0LCB0ZXN0bmV0LCBldGMuKVxuICogQHBhcmFtIGluY2x1ZGVQcmVyZWxlYXNlcyB3ZWF0aGVyIHRvIGluY2x1ZGUgcHJlcmVsZWFzZXMgaW50byBhY2NvdW50IHdoZW4gc2VhcmNoaW5nIGZvciBhIG1hdGNoaW5nIHJlbGVhc2UgaW4gR2l0SHViXG4gKiBAcGFyYW0gY29uZmlnIGNvbmZpZ3MgZm9yIGluY2x1ZGluZyBwcmVyZWxlYXNlcywgYWRkaW5nIG5hbWUgc3VmZml4LCBhbmQgZ2V0dGluZyBzcGVjaWZpYyByZWxlYXNlIGJ5IHRhZ1xuICovXG5jb25zdCBkb3dubG9hZFJvc2VuQXNzZXRzID0gYXN5bmMgKFxuICBjaGFpblR5cGU6IHN0cmluZyxcbiAgZGVzdGluYXRpb25QYXRoOiBzdHJpbmcsXG4gIGNvbmZpZz86IHtcbiAgICBpbmNsdWRlUHJlcmVsZWFzZXM/OiBib29sZWFuO1xuICAgIG5hbWVTdWZmaXg/OiBzdHJpbmc7XG4gICAgdGFnPzogc3RyaW5nO1xuICB9XG4pID0+IHtcbiAgY29uc3QgZ2V0UmVsZWFzZSA9ICgpID0+IHtcbiAgICBpZiAoY29uZmlnPy50YWcpIHJldHVybiBnZXRSZWxlYXNlQnlUYWcocmVwbywgY29uZmlnLnRhZyk7XG4gICAgaWYgKGNvbmZpZz8uaW5jbHVkZVByZXJlbGVhc2VzKSByZXR1cm4gZmluZExhdGVzdFJlbGVhc2UocmVwbywgY2hhaW5UeXBlKTtcbiAgICByZXR1cm4gZmluZExhdGVzdFN0YWJsZVJlbGVhc2UocmVwbywgY2hhaW5UeXBlKTtcbiAgfTtcbiAgdHJ5IHtcbiAgICBjb25zdCByZWxlYXNlID0gYXdhaXQgZ2V0UmVsZWFzZSgpO1xuXG4gICAgaWYgKHJlbGVhc2UpIHtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgLi4uKHJlbGVhc2UgJiZcbiAgICAgICAgICByZWxlYXNlLmFzc2V0c1xuICAgICAgICAgICAgLmZpbHRlcigoYXNzZXQpID0+IGlzVmFsaWRBc3NldE5hbWUoY2hhaW5UeXBlKShhc3NldC5uYW1lKSlcbiAgICAgICAgICAgIC5tYXAoYXN5bmMgKGFzc2V0KSA9PlxuICAgICAgICAgICAgICBkb3dubG9hZChhc3NldC5icm93c2VyX2Rvd25sb2FkX3VybCwgZGVzdGluYXRpb25QYXRoLCB7XG4gICAgICAgICAgICAgICAgZmlsZW5hbWU6IHRydW5jYXRlQXNzZXROYW1lKGFzc2V0Lm5hbWUsIGNvbmZpZz8ubmFtZVN1ZmZpeCksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApKSxcbiAgICAgIF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBObyByZWxlYXNlIGZvdW5kIGZvciBbJHtjaGFpblR5cGV9XSBjaGFpbiB0eXBlLmApO1xuICAgICAgaWYgKCFjb25maWc/LmluY2x1ZGVQcmVyZWxlYXNlcykge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICdQbGVhc2Ugbm90ZSB0aGF0IGBpbmNsdWRlUHJlcmVsZWFzZXNgIGlzIHNldCB0byBmYWxzZS4gVGhlcmUgbWF5IGJlIHNvbWUgbWF0Y2hpbmcgcmVsZWFzZXMgaW4gcHJlcmVsZWFzZXMuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHRyeWluZyB0byBkb3dubG9hZCBSb3NlbiBhc3NldHM6ICR7ZXJyb3J9YFxuICAgICk7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3Iuc3RhY2spO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgUm9zZW5Bc3NldHNEb3dubG9hZEVycm9yKCcnLCB7IGNhdXNlOiBlcnJvciB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgZG93bmxvYWRSb3NlbkFzc2V0cztcbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Download release asset by tag to a specific path
|
|
3
|
+
* @param destinationPath where writes files
|
|
4
|
+
* @param config configs for including prereleases, set osName, getting specific release by tag or by regex tag
|
|
5
|
+
*/
|
|
6
|
+
declare const downloadTssBinary: (destinationPath: string, config: {
|
|
7
|
+
osName: string;
|
|
8
|
+
tag: string;
|
|
9
|
+
regex: boolean;
|
|
10
|
+
includePrereleases?: boolean;
|
|
11
|
+
}) => Promise<void>;
|
|
12
|
+
export { downloadTssBinary };
|
|
13
|
+
//# sourceMappingURL=downloadTssBinary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downloadTssBinary.d.ts","sourceRoot":"","sources":["../../lib/downloadTssBinary.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,QAAA,MAAM,iBAAiB,oBACJ,MAAM,UACf;IACN,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,kBAiCF,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import download from 'download';
|
|
2
|
+
import { findLatestReleaseByPrefixTag, findLatestStableReleaseByPrefixTag, getReleaseByTag, } from './utils/github';
|
|
3
|
+
import { isValidOS } from './utils/rosen';
|
|
4
|
+
import { RosenAssetsDownloadError } from './error';
|
|
5
|
+
const repo = 'sign-protocols';
|
|
6
|
+
/**
|
|
7
|
+
* Download release asset by tag to a specific path
|
|
8
|
+
* @param destinationPath where writes files
|
|
9
|
+
* @param config configs for including prereleases, set osName, getting specific release by tag or by regex tag
|
|
10
|
+
*/
|
|
11
|
+
const downloadTssBinary = async (destinationPath, config) => {
|
|
12
|
+
const getRelease = () => {
|
|
13
|
+
if (config.regex) {
|
|
14
|
+
if (config?.includePrereleases)
|
|
15
|
+
return findLatestReleaseByPrefixTag(repo, config.tag);
|
|
16
|
+
else
|
|
17
|
+
return findLatestStableReleaseByPrefixTag(repo, config.tag);
|
|
18
|
+
}
|
|
19
|
+
else
|
|
20
|
+
return getReleaseByTag(repo, config.tag);
|
|
21
|
+
};
|
|
22
|
+
try {
|
|
23
|
+
const release = await getRelease();
|
|
24
|
+
if (release) {
|
|
25
|
+
await Promise.all([
|
|
26
|
+
...(release &&
|
|
27
|
+
release.assets
|
|
28
|
+
.filter((asset) => isValidOS(config.osName)(asset.name))
|
|
29
|
+
.map(async (asset) => download(asset.browser_download_url, destinationPath))),
|
|
30
|
+
]);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
console.error(`No release found for [${config.osName}] OS name.`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
console.error(`An error occurred while trying to download release assets: ${error}`);
|
|
38
|
+
if (error instanceof Error) {
|
|
39
|
+
console.error(error.stack);
|
|
40
|
+
}
|
|
41
|
+
throw new RosenAssetsDownloadError('', { cause: error });
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
export { downloadTssBinary };
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWRUc3NCaW5hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZG93bmxvYWRUc3NCaW5hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxRQUFRLE1BQU0sVUFBVSxDQUFDO0FBRWhDLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsa0NBQWtDLEVBQ2xDLGVBQWUsR0FDaEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVuRCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQztBQUU5Qjs7OztHQUlHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLEVBQzdCLGVBQXVCLEVBQ3ZCLE1BS0MsRUFDRCxFQUFFO0lBQ0YsTUFBTSxVQUFVLEdBQUcsR0FBRyxFQUFFO1FBQ3RCLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNoQixJQUFJLE1BQU0sRUFBRSxrQkFBa0I7Z0JBQzVCLE9BQU8sNEJBQTRCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzs7Z0JBQ25ELE9BQU8sa0NBQWtDLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNsRTs7WUFBTSxPQUFPLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQztJQUNGLElBQUk7UUFDRixNQUFNLE9BQU8sR0FBRyxNQUFNLFVBQVUsRUFBRSxDQUFDO1FBRW5DLElBQUksT0FBTyxFQUFFO1lBQ1gsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO2dCQUNoQixHQUFHLENBQUMsT0FBTztvQkFDVCxPQUFPLENBQUMsTUFBTTt5QkFDWCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO3lCQUN2RCxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ25CLFFBQVEsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsZUFBZSxDQUFDLENBQ3RELENBQUM7YUFDUCxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsTUFBTSxDQUFDLE1BQU0sWUFBWSxDQUFDLENBQUM7U0FDbkU7S0FDRjtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsT0FBTyxDQUFDLEtBQUssQ0FDWCw4REFBOEQsS0FBSyxFQUFFLENBQ3RFLENBQUM7UUFDRixJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7WUFDMUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7UUFDRCxNQUFNLElBQUksd0JBQXdCLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDMUQ7QUFDSCxDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb3dubG9hZCBmcm9tICdkb3dubG9hZCc7XG5cbmltcG9ydCB7XG4gIGZpbmRMYXRlc3RSZWxlYXNlQnlQcmVmaXhUYWcsXG4gIGZpbmRMYXRlc3RTdGFibGVSZWxlYXNlQnlQcmVmaXhUYWcsXG4gIGdldFJlbGVhc2VCeVRhZyxcbn0gZnJvbSAnLi91dGlscy9naXRodWInO1xuaW1wb3J0IHsgaXNWYWxpZE9TIH0gZnJvbSAnLi91dGlscy9yb3Nlbic7XG5cbmltcG9ydCB7IFJvc2VuQXNzZXRzRG93bmxvYWRFcnJvciB9IGZyb20gJy4vZXJyb3InO1xuXG5jb25zdCByZXBvID0gJ3NpZ24tcHJvdG9jb2xzJztcblxuLyoqXG4gKiBEb3dubG9hZCByZWxlYXNlIGFzc2V0IGJ5IHRhZyB0byBhIHNwZWNpZmljIHBhdGhcbiAqIEBwYXJhbSBkZXN0aW5hdGlvblBhdGggd2hlcmUgd3JpdGVzIGZpbGVzXG4gKiBAcGFyYW0gY29uZmlnIGNvbmZpZ3MgZm9yIGluY2x1ZGluZyBwcmVyZWxlYXNlcywgc2V0IG9zTmFtZSwgZ2V0dGluZyBzcGVjaWZpYyByZWxlYXNlIGJ5IHRhZyBvciBieSByZWdleCB0YWdcbiAqL1xuY29uc3QgZG93bmxvYWRUc3NCaW5hcnkgPSBhc3luYyAoXG4gIGRlc3RpbmF0aW9uUGF0aDogc3RyaW5nLFxuICBjb25maWc6IHtcbiAgICBvc05hbWU6IHN0cmluZztcbiAgICB0YWc6IHN0cmluZztcbiAgICByZWdleDogYm9vbGVhbjtcbiAgICBpbmNsdWRlUHJlcmVsZWFzZXM/OiBib29sZWFuO1xuICB9XG4pID0+IHtcbiAgY29uc3QgZ2V0UmVsZWFzZSA9ICgpID0+IHtcbiAgICBpZiAoY29uZmlnLnJlZ2V4KSB7XG4gICAgICBpZiAoY29uZmlnPy5pbmNsdWRlUHJlcmVsZWFzZXMpXG4gICAgICAgIHJldHVybiBmaW5kTGF0ZXN0UmVsZWFzZUJ5UHJlZml4VGFnKHJlcG8sIGNvbmZpZy50YWcpO1xuICAgICAgZWxzZSByZXR1cm4gZmluZExhdGVzdFN0YWJsZVJlbGVhc2VCeVByZWZpeFRhZyhyZXBvLCBjb25maWcudGFnKTtcbiAgICB9IGVsc2UgcmV0dXJuIGdldFJlbGVhc2VCeVRhZyhyZXBvLCBjb25maWcudGFnKTtcbiAgfTtcbiAgdHJ5IHtcbiAgICBjb25zdCByZWxlYXNlID0gYXdhaXQgZ2V0UmVsZWFzZSgpO1xuXG4gICAgaWYgKHJlbGVhc2UpIHtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgLi4uKHJlbGVhc2UgJiZcbiAgICAgICAgICByZWxlYXNlLmFzc2V0c1xuICAgICAgICAgICAgLmZpbHRlcigoYXNzZXQpID0+IGlzVmFsaWRPUyhjb25maWcub3NOYW1lKShhc3NldC5uYW1lKSlcbiAgICAgICAgICAgIC5tYXAoYXN5bmMgKGFzc2V0KSA9PlxuICAgICAgICAgICAgICBkb3dubG9hZChhc3NldC5icm93c2VyX2Rvd25sb2FkX3VybCwgZGVzdGluYXRpb25QYXRoKVxuICAgICAgICAgICAgKSksXG4gICAgICBdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihgTm8gcmVsZWFzZSBmb3VuZCBmb3IgWyR7Y29uZmlnLm9zTmFtZX1dIE9TIG5hbWUuYCk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJ5aW5nIHRvIGRvd25sb2FkIHJlbGVhc2UgYXNzZXRzOiAke2Vycm9yfWBcbiAgICApO1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yLnN0YWNrKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFJvc2VuQXNzZXRzRG93bmxvYWRFcnJvcignJywgeyBjYXVzZTogZXJyb3IgfSk7XG4gIH1cbn07XG5cbmV4cG9ydCB7IGRvd25sb2FkVHNzQmluYXJ5IH07XG4iXX0=
|
package/dist/lib/index.d.ts
CHANGED
package/dist/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/lib/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { default as downloadRosenAssets } from './downloadRosenAssets';
|
|
2
|
+
export * from './downloadTssBinary';
|
|
2
3
|
export { RosenAssetsDownloadError } from './error';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZFLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCBhcyBkb3dubG9hZFJvc2VuQXNzZXRzIH0gZnJvbSAnLi9kb3dubG9hZFJvc2VuQXNzZXRzJztcbmV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWRUc3NCaW5hcnknO1xuXG5leHBvcnQgeyBSb3NlbkFzc2V0c0Rvd25sb2FkRXJyb3IgfSBmcm9tICcuL2Vycm9yJztcbiJdfQ==
|
|
@@ -2,5 +2,6 @@ import { Octokit } from 'octokit';
|
|
|
2
2
|
export type ArrayElement<T extends any[]> = T extends (infer Element)[] ? Element : never;
|
|
3
3
|
type GithubReleases = Awaited<ReturnType<InstanceType<typeof Octokit>['rest']['repos']['listReleases']>>['data'];
|
|
4
4
|
export type GithubRelease = ArrayElement<GithubReleases>;
|
|
5
|
+
export type SupportedRepo = 'contract' | 'sign-protocols';
|
|
5
6
|
export {};
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,GACnE,OAAO,GACP,KAAK,CAAC;AAEV,KAAK,cAAc,GAAG,OAAO,CAC3B,UAAU,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAC1E,CAAC,MAAM,CAAC,CAAC;AAEV,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,GACnE,OAAO,GACP,KAAK,CAAC;AAEV,KAAK,cAAc,GAAG,OAAO,CAC3B,UAAU,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAC1E,CAAC,MAAM,CAAC,CAAC;AAEV,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,gBAAgB,CAAC"}
|
package/dist/lib/types/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9jdG9raXQgfSBmcm9tICdvY3Rva2l0JztcblxuZXhwb3J0IHR5cGUgQXJyYXlFbGVtZW50PFQgZXh0ZW5kcyBhbnlbXT4gPSBUIGV4dGVuZHMgKGluZmVyIEVsZW1lbnQpW11cbiAgPyBFbGVtZW50XG4gIDogbmV2ZXI7XG5cbnR5cGUgR2l0aHViUmVsZWFzZXMgPSBBd2FpdGVkPFxuICBSZXR1cm5UeXBlPEluc3RhbmNlVHlwZTx0eXBlb2YgT2N0b2tpdD5bJ3Jlc3QnXVsncmVwb3MnXVsnbGlzdFJlbGVhc2VzJ10+XG4+WydkYXRhJ107XG5cbmV4cG9ydCB0eXBlIEdpdGh1YlJlbGVhc2UgPSBBcnJheUVsZW1lbnQ8R2l0aHViUmVsZWFzZXM+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9jdG9raXQgfSBmcm9tICdvY3Rva2l0JztcblxuZXhwb3J0IHR5cGUgQXJyYXlFbGVtZW50PFQgZXh0ZW5kcyBhbnlbXT4gPSBUIGV4dGVuZHMgKGluZmVyIEVsZW1lbnQpW11cbiAgPyBFbGVtZW50XG4gIDogbmV2ZXI7XG5cbnR5cGUgR2l0aHViUmVsZWFzZXMgPSBBd2FpdGVkPFxuICBSZXR1cm5UeXBlPEluc3RhbmNlVHlwZTx0eXBlb2YgT2N0b2tpdD5bJ3Jlc3QnXVsncmVwb3MnXVsnbGlzdFJlbGVhc2VzJ10+XG4+WydkYXRhJ107XG5cbmV4cG9ydCB0eXBlIEdpdGh1YlJlbGVhc2UgPSBBcnJheUVsZW1lbnQ8R2l0aHViUmVsZWFzZXM+O1xuXG5leHBvcnQgdHlwZSBTdXBwb3J0ZWRSZXBvID0gJ2NvbnRyYWN0JyB8ICdzaWduLXByb3RvY29scyc7XG4iXX0=
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { GithubRelease } from '../types';
|
|
1
|
+
import { GithubRelease, SupportedRepo } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Fetch a page of releases from Github Api in each iteration until there are no
|
|
4
4
|
* more releases.
|
|
5
|
+
* @param repoName
|
|
5
6
|
* @param pageSize
|
|
6
7
|
*/
|
|
7
|
-
declare function fetchReleasesPage(pageSize?: number): AsyncGenerator<{
|
|
8
|
+
declare function fetchReleasesPage(repoName: SupportedRepo, pageSize?: number): AsyncGenerator<{
|
|
8
9
|
url: string;
|
|
9
10
|
html_url: string;
|
|
10
11
|
assets_url: string;
|
|
@@ -101,9 +102,10 @@ declare function fetchReleasesPage(pageSize?: number): AsyncGenerator<{
|
|
|
101
102
|
/**
|
|
102
103
|
* Find the last release matching the predicate. If all releases are iterated and
|
|
103
104
|
* no matching release is found, return null.
|
|
105
|
+
* @param repoName
|
|
104
106
|
* @param predicate
|
|
105
107
|
*/
|
|
106
|
-
declare const findLastRelease: (predicate?: (release: GithubRelease) => boolean) => Promise<{
|
|
108
|
+
declare const findLastRelease: (repoName: SupportedRepo, predicate?: (release: GithubRelease) => boolean) => Promise<{
|
|
107
109
|
url: string;
|
|
108
110
|
html_url: string;
|
|
109
111
|
assets_url: string;
|
|
@@ -197,6 +199,105 @@ declare const findLastRelease: (predicate?: (release: GithubRelease) => boolean)
|
|
|
197
199
|
rocket: number;
|
|
198
200
|
} | undefined;
|
|
199
201
|
} | null>;
|
|
202
|
+
/**
|
|
203
|
+
* get a GitHub release by its tag
|
|
204
|
+
* @param repoName
|
|
205
|
+
* @param tag
|
|
206
|
+
*/
|
|
207
|
+
declare const getReleaseByTag: (repoName: SupportedRepo, tag: string) => Promise<{
|
|
208
|
+
url: string;
|
|
209
|
+
html_url: string;
|
|
210
|
+
assets_url: string;
|
|
211
|
+
upload_url: string;
|
|
212
|
+
tarball_url: string | null;
|
|
213
|
+
zipball_url: string | null;
|
|
214
|
+
id: number;
|
|
215
|
+
node_id: string;
|
|
216
|
+
tag_name: string;
|
|
217
|
+
target_commitish: string;
|
|
218
|
+
name: string | null;
|
|
219
|
+
body?: string | null | undefined;
|
|
220
|
+
draft: boolean;
|
|
221
|
+
prerelease: boolean;
|
|
222
|
+
created_at: string;
|
|
223
|
+
published_at: string | null;
|
|
224
|
+
author: {
|
|
225
|
+
name?: string | null | undefined;
|
|
226
|
+
email?: string | null | undefined;
|
|
227
|
+
login: string;
|
|
228
|
+
id: number;
|
|
229
|
+
node_id: string;
|
|
230
|
+
avatar_url: string;
|
|
231
|
+
gravatar_id: string | null;
|
|
232
|
+
url: string;
|
|
233
|
+
html_url: string;
|
|
234
|
+
followers_url: string;
|
|
235
|
+
following_url: string;
|
|
236
|
+
gists_url: string;
|
|
237
|
+
starred_url: string;
|
|
238
|
+
subscriptions_url: string;
|
|
239
|
+
organizations_url: string;
|
|
240
|
+
repos_url: string;
|
|
241
|
+
events_url: string;
|
|
242
|
+
received_events_url: string;
|
|
243
|
+
type: string;
|
|
244
|
+
site_admin: boolean;
|
|
245
|
+
starred_at?: string | undefined;
|
|
246
|
+
};
|
|
247
|
+
assets: {
|
|
248
|
+
url: string;
|
|
249
|
+
browser_download_url: string;
|
|
250
|
+
id: number;
|
|
251
|
+
node_id: string;
|
|
252
|
+
name: string;
|
|
253
|
+
label: string | null;
|
|
254
|
+
state: "uploaded" | "open";
|
|
255
|
+
content_type: string;
|
|
256
|
+
size: number;
|
|
257
|
+
download_count: number;
|
|
258
|
+
created_at: string;
|
|
259
|
+
updated_at: string;
|
|
260
|
+
uploader: {
|
|
261
|
+
name?: string | null | undefined;
|
|
262
|
+
email?: string | null | undefined;
|
|
263
|
+
login: string;
|
|
264
|
+
id: number;
|
|
265
|
+
node_id: string;
|
|
266
|
+
avatar_url: string;
|
|
267
|
+
gravatar_id: string | null;
|
|
268
|
+
url: string;
|
|
269
|
+
html_url: string;
|
|
270
|
+
followers_url: string;
|
|
271
|
+
following_url: string;
|
|
272
|
+
gists_url: string;
|
|
273
|
+
starred_url: string;
|
|
274
|
+
subscriptions_url: string;
|
|
275
|
+
organizations_url: string;
|
|
276
|
+
repos_url: string;
|
|
277
|
+
events_url: string;
|
|
278
|
+
received_events_url: string;
|
|
279
|
+
type: string;
|
|
280
|
+
site_admin: boolean;
|
|
281
|
+
starred_at?: string | undefined;
|
|
282
|
+
} | null;
|
|
283
|
+
}[];
|
|
284
|
+
body_html?: string | undefined;
|
|
285
|
+
body_text?: string | undefined;
|
|
286
|
+
mentions_count?: number | undefined;
|
|
287
|
+
discussion_url?: string | undefined;
|
|
288
|
+
reactions?: {
|
|
289
|
+
url: string;
|
|
290
|
+
total_count: number;
|
|
291
|
+
"+1": number;
|
|
292
|
+
"-1": number;
|
|
293
|
+
laugh: number;
|
|
294
|
+
confused: number;
|
|
295
|
+
heart: number;
|
|
296
|
+
hooray: number;
|
|
297
|
+
eyes: number;
|
|
298
|
+
rocket: number;
|
|
299
|
+
} | undefined;
|
|
300
|
+
}>;
|
|
200
301
|
/**
|
|
201
302
|
* Return a function which checks if a release has at least one asset for a
|
|
202
303
|
* specific chain type
|
|
@@ -210,12 +311,24 @@ declare const hasAssetForChainType: (chainType: string) => (release: GithubRelea
|
|
|
210
311
|
* @param chainType
|
|
211
312
|
*/
|
|
212
313
|
declare const isStableReleaseForChainType: (chainType: string) => (release: GithubRelease) => boolean;
|
|
314
|
+
/**
|
|
315
|
+
* Return a function which checks if tagPrefix is matched with release tag_name
|
|
316
|
+
* @param tagPrefix
|
|
317
|
+
*/
|
|
318
|
+
declare const hasMatchedTagPrefix: (tagPrefix: string) => (release: GithubRelease) => boolean;
|
|
319
|
+
/**
|
|
320
|
+
* Return a function which checks if a release is a stable (that is, non-prerelease),
|
|
321
|
+
* and tagPrefix is matched with release tag_name
|
|
322
|
+
* @param tagPrefix
|
|
323
|
+
*/
|
|
324
|
+
declare const isStableReleaseForRegexTagType: (tagPrefix: string) => (release: GithubRelease) => boolean;
|
|
213
325
|
/**
|
|
214
326
|
* Find latest release (prerelease or non-prerelease) having some asset matching
|
|
215
327
|
* a specific chain type
|
|
328
|
+
* @param repoName
|
|
216
329
|
* @param chainType
|
|
217
330
|
*/
|
|
218
|
-
declare const findLatestRelease: (chainType: string) => Promise<{
|
|
331
|
+
declare const findLatestRelease: (repoName: SupportedRepo, chainType: string) => Promise<{
|
|
219
332
|
url: string;
|
|
220
333
|
html_url: string;
|
|
221
334
|
assets_url: string;
|
|
@@ -312,9 +425,208 @@ declare const findLatestRelease: (chainType: string) => Promise<{
|
|
|
312
425
|
/**
|
|
313
426
|
* Find latest stable (that is, non-prerelease) release having some asset matching
|
|
314
427
|
* a specific chain type
|
|
428
|
+
* @param repoName
|
|
315
429
|
* @param chainType
|
|
316
430
|
*/
|
|
317
|
-
declare const findLatestStableRelease: (chainType: string) => Promise<{
|
|
431
|
+
declare const findLatestStableRelease: (repoName: SupportedRepo, chainType: string) => Promise<{
|
|
432
|
+
url: string;
|
|
433
|
+
html_url: string;
|
|
434
|
+
assets_url: string;
|
|
435
|
+
upload_url: string;
|
|
436
|
+
tarball_url: string | null;
|
|
437
|
+
zipball_url: string | null;
|
|
438
|
+
id: number;
|
|
439
|
+
node_id: string;
|
|
440
|
+
tag_name: string;
|
|
441
|
+
target_commitish: string;
|
|
442
|
+
name: string | null;
|
|
443
|
+
body?: string | null | undefined;
|
|
444
|
+
draft: boolean;
|
|
445
|
+
prerelease: boolean;
|
|
446
|
+
created_at: string;
|
|
447
|
+
published_at: string | null;
|
|
448
|
+
author: {
|
|
449
|
+
name?: string | null | undefined;
|
|
450
|
+
email?: string | null | undefined;
|
|
451
|
+
login: string;
|
|
452
|
+
id: number;
|
|
453
|
+
node_id: string;
|
|
454
|
+
avatar_url: string;
|
|
455
|
+
gravatar_id: string | null;
|
|
456
|
+
url: string;
|
|
457
|
+
html_url: string;
|
|
458
|
+
followers_url: string;
|
|
459
|
+
following_url: string;
|
|
460
|
+
gists_url: string;
|
|
461
|
+
starred_url: string;
|
|
462
|
+
subscriptions_url: string;
|
|
463
|
+
organizations_url: string;
|
|
464
|
+
repos_url: string;
|
|
465
|
+
events_url: string;
|
|
466
|
+
received_events_url: string;
|
|
467
|
+
type: string;
|
|
468
|
+
site_admin: boolean;
|
|
469
|
+
starred_at?: string | undefined;
|
|
470
|
+
};
|
|
471
|
+
assets: {
|
|
472
|
+
url: string;
|
|
473
|
+
browser_download_url: string;
|
|
474
|
+
id: number;
|
|
475
|
+
node_id: string;
|
|
476
|
+
name: string;
|
|
477
|
+
label: string | null;
|
|
478
|
+
state: "uploaded" | "open";
|
|
479
|
+
content_type: string;
|
|
480
|
+
size: number;
|
|
481
|
+
download_count: number;
|
|
482
|
+
created_at: string;
|
|
483
|
+
updated_at: string;
|
|
484
|
+
uploader: {
|
|
485
|
+
name?: string | null | undefined;
|
|
486
|
+
email?: string | null | undefined;
|
|
487
|
+
login: string;
|
|
488
|
+
id: number;
|
|
489
|
+
node_id: string;
|
|
490
|
+
avatar_url: string;
|
|
491
|
+
gravatar_id: string | null;
|
|
492
|
+
url: string;
|
|
493
|
+
html_url: string;
|
|
494
|
+
followers_url: string;
|
|
495
|
+
following_url: string;
|
|
496
|
+
gists_url: string;
|
|
497
|
+
starred_url: string;
|
|
498
|
+
subscriptions_url: string;
|
|
499
|
+
organizations_url: string;
|
|
500
|
+
repos_url: string;
|
|
501
|
+
events_url: string;
|
|
502
|
+
received_events_url: string;
|
|
503
|
+
type: string;
|
|
504
|
+
site_admin: boolean;
|
|
505
|
+
starred_at?: string | undefined;
|
|
506
|
+
} | null;
|
|
507
|
+
}[];
|
|
508
|
+
body_html?: string | undefined;
|
|
509
|
+
body_text?: string | undefined;
|
|
510
|
+
mentions_count?: number | undefined;
|
|
511
|
+
discussion_url?: string | undefined;
|
|
512
|
+
reactions?: {
|
|
513
|
+
url: string;
|
|
514
|
+
total_count: number;
|
|
515
|
+
"+1": number;
|
|
516
|
+
"-1": number;
|
|
517
|
+
laugh: number;
|
|
518
|
+
confused: number;
|
|
519
|
+
heart: number;
|
|
520
|
+
hooray: number;
|
|
521
|
+
eyes: number;
|
|
522
|
+
rocket: number;
|
|
523
|
+
} | undefined;
|
|
524
|
+
} | null>;
|
|
525
|
+
/**
|
|
526
|
+
* Find the latest stable (that is, non-prerelease) release that tagPrefix is matched with release tag_name
|
|
527
|
+
* @param repoName
|
|
528
|
+
* @param tagPrefix
|
|
529
|
+
*/
|
|
530
|
+
declare const findLatestStableReleaseByPrefixTag: (repoName: SupportedRepo, tagPrefix: string) => Promise<{
|
|
531
|
+
url: string;
|
|
532
|
+
html_url: string;
|
|
533
|
+
assets_url: string;
|
|
534
|
+
upload_url: string;
|
|
535
|
+
tarball_url: string | null;
|
|
536
|
+
zipball_url: string | null;
|
|
537
|
+
id: number;
|
|
538
|
+
node_id: string;
|
|
539
|
+
tag_name: string;
|
|
540
|
+
target_commitish: string;
|
|
541
|
+
name: string | null;
|
|
542
|
+
body?: string | null | undefined;
|
|
543
|
+
draft: boolean;
|
|
544
|
+
prerelease: boolean;
|
|
545
|
+
created_at: string;
|
|
546
|
+
published_at: string | null;
|
|
547
|
+
author: {
|
|
548
|
+
name?: string | null | undefined;
|
|
549
|
+
email?: string | null | undefined;
|
|
550
|
+
login: string;
|
|
551
|
+
id: number;
|
|
552
|
+
node_id: string;
|
|
553
|
+
avatar_url: string;
|
|
554
|
+
gravatar_id: string | null;
|
|
555
|
+
url: string;
|
|
556
|
+
html_url: string;
|
|
557
|
+
followers_url: string;
|
|
558
|
+
following_url: string;
|
|
559
|
+
gists_url: string;
|
|
560
|
+
starred_url: string;
|
|
561
|
+
subscriptions_url: string;
|
|
562
|
+
organizations_url: string;
|
|
563
|
+
repos_url: string;
|
|
564
|
+
events_url: string;
|
|
565
|
+
received_events_url: string;
|
|
566
|
+
type: string;
|
|
567
|
+
site_admin: boolean;
|
|
568
|
+
starred_at?: string | undefined;
|
|
569
|
+
};
|
|
570
|
+
assets: {
|
|
571
|
+
url: string;
|
|
572
|
+
browser_download_url: string;
|
|
573
|
+
id: number;
|
|
574
|
+
node_id: string;
|
|
575
|
+
name: string;
|
|
576
|
+
label: string | null;
|
|
577
|
+
state: "uploaded" | "open";
|
|
578
|
+
content_type: string;
|
|
579
|
+
size: number;
|
|
580
|
+
download_count: number;
|
|
581
|
+
created_at: string;
|
|
582
|
+
updated_at: string;
|
|
583
|
+
uploader: {
|
|
584
|
+
name?: string | null | undefined;
|
|
585
|
+
email?: string | null | undefined;
|
|
586
|
+
login: string;
|
|
587
|
+
id: number;
|
|
588
|
+
node_id: string;
|
|
589
|
+
avatar_url: string;
|
|
590
|
+
gravatar_id: string | null;
|
|
591
|
+
url: string;
|
|
592
|
+
html_url: string;
|
|
593
|
+
followers_url: string;
|
|
594
|
+
following_url: string;
|
|
595
|
+
gists_url: string;
|
|
596
|
+
starred_url: string;
|
|
597
|
+
subscriptions_url: string;
|
|
598
|
+
organizations_url: string;
|
|
599
|
+
repos_url: string;
|
|
600
|
+
events_url: string;
|
|
601
|
+
received_events_url: string;
|
|
602
|
+
type: string;
|
|
603
|
+
site_admin: boolean;
|
|
604
|
+
starred_at?: string | undefined;
|
|
605
|
+
} | null;
|
|
606
|
+
}[];
|
|
607
|
+
body_html?: string | undefined;
|
|
608
|
+
body_text?: string | undefined;
|
|
609
|
+
mentions_count?: number | undefined;
|
|
610
|
+
discussion_url?: string | undefined;
|
|
611
|
+
reactions?: {
|
|
612
|
+
url: string;
|
|
613
|
+
total_count: number;
|
|
614
|
+
"+1": number;
|
|
615
|
+
"-1": number;
|
|
616
|
+
laugh: number;
|
|
617
|
+
confused: number;
|
|
618
|
+
heart: number;
|
|
619
|
+
hooray: number;
|
|
620
|
+
eyes: number;
|
|
621
|
+
rocket: number;
|
|
622
|
+
} | undefined;
|
|
623
|
+
} | null>;
|
|
624
|
+
/**
|
|
625
|
+
* Find the latest release that tagPrefix is matched with release tag_name
|
|
626
|
+
* @param repoName
|
|
627
|
+
* @param tagPrefix
|
|
628
|
+
*/
|
|
629
|
+
declare const findLatestReleaseByPrefixTag: (repoName: SupportedRepo, tagPrefix: string) => Promise<{
|
|
318
630
|
url: string;
|
|
319
631
|
html_url: string;
|
|
320
632
|
assets_url: string;
|
|
@@ -408,5 +720,5 @@ declare const findLatestStableRelease: (chainType: string) => Promise<{
|
|
|
408
720
|
rocket: number;
|
|
409
721
|
} | undefined;
|
|
410
722
|
} | null>;
|
|
411
|
-
export { fetchReleasesPage, findLastRelease, findLatestRelease, findLatestStableRelease, hasAssetForChainType, isStableReleaseForChainType, };
|
|
723
|
+
export { fetchReleasesPage, findLastRelease, findLatestRelease, findLatestStableRelease, findLatestStableReleaseByPrefixTag, findLatestReleaseByPrefixTag, getReleaseByTag, hasAssetForChainType, isStableReleaseForChainType, isStableReleaseForRegexTagType, hasMatchedTagPrefix, };
|
|
412
724
|
//# sourceMappingURL=github.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../lib/utils/github.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../lib/utils/github.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD;;;;;GAKG;AACH,iBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EACvB,QAAQ,SAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAqB/C;AAED;;;;;GAKG;AACH,QAAA,MAAM,eAAe,aACT,aAAa,wBACF,aAAa,KAAK,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAY/C,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,eAAe,aAAoB,aAAa,OAAO,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlE,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,cAAe,MAAM,eAAe,aAAa,YACE,CAAC;AAE9E;;;;GAIG;AACH,QAAA,MAAM,2BAA2B,cACnB,MAAM,eAAe,aAAa,YACmB,CAAC;AAEpE;;;GAGG;AACH,QAAA,MAAM,mBAAmB,cAAe,MAAM,eAAe,aAAa,YAGzE,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,8BAA8B,cACtB,MAAM,eAAe,aAAa,YACkB,CAAC;AAEnE;;;;;GAKG;AACH,QAAA,MAAM,iBAAiB,aAAoB,aAAa,aAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SACf,CAAC;AAE7D;;;;;GAKG;AACH,QAAA,MAAM,uBAAuB,aACjB,aAAa,aACZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SACmD,CAAC;AAEvE;;;;GAIG;AACH,QAAA,MAAM,kCAAkC,aAC5B,aAAa,aACZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SACsD,CAAC;AAE1E;;;;GAIG;AACH,QAAA,MAAM,4BAA4B,aACtB,aAAa,aACZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAC2C,CAAC;AAE/D,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,kCAAkC,EAClC,4BAA4B,EAC5B,eAAe,EACf,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,mBAAmB,GACpB,CAAC"}
|