mirror of
https://github.com/supabase/setup-cli.git
synced 2025-12-08 08:06:29 +00:00
fix: support new release archive name (#112)
* fix: support new release archive name * chore: update default cli version to 1.28.0
This commit is contained in:
10
README.md
10
README.md
@@ -24,7 +24,7 @@ A specific version of the `supabase` CLI can be installed:
|
|||||||
steps:
|
steps:
|
||||||
- uses: supabase/setup-cli@v1
|
- uses: supabase/setup-cli@v1
|
||||||
with:
|
with:
|
||||||
version: 1.16.1
|
version: 1.28.0
|
||||||
```
|
```
|
||||||
|
|
||||||
Run `supabase db start` to execute all migrations on a fresh database:
|
Run `supabase db start` to execute all migrations on a fresh database:
|
||||||
@@ -33,7 +33,7 @@ Run `supabase db start` to execute all migrations on a fresh database:
|
|||||||
steps:
|
steps:
|
||||||
- uses: supabase/setup-cli@v1
|
- uses: supabase/setup-cli@v1
|
||||||
with:
|
with:
|
||||||
version: 1.16.1
|
version: latest
|
||||||
- run: supabase init
|
- run: supabase init
|
||||||
- run: supabase db start
|
- run: supabase db start
|
||||||
```
|
```
|
||||||
@@ -44,7 +44,9 @@ Since Supabase CLI relies on Docker Engine API, additional setup may be required
|
|||||||
|
|
||||||
The actions supports the following inputs:
|
The actions supports the following inputs:
|
||||||
|
|
||||||
- `version`: The version of `supabase` to install, defaulting to `1.0.0`. You can also specify `latest` to use the latest version.
|
| Name | Type | Description | Default | Required |
|
||||||
|
| --------- | ------ | ---------------------------------- | -------- | -------- |
|
||||||
|
| `version` | String | Supabase CLI version (or `latest`) | `1.28.0` | false |
|
||||||
|
|
||||||
## Advanced Usage
|
## Advanced Usage
|
||||||
|
|
||||||
@@ -134,7 +136,7 @@ You can now validate the action by referencing `./` in a workflow in your repo (
|
|||||||
```yaml
|
```yaml
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
version: 1.16.1
|
version: latest
|
||||||
```
|
```
|
||||||
|
|
||||||
See the [actions tab](https://github.com/actions/typescript-action/actions) for runs of this action! :rocket:
|
See the [actions tab](https://github.com/actions/typescript-action/actions) for runs of this action! :rocket:
|
||||||
|
|||||||
@@ -6,16 +6,30 @@ import * as path from 'path'
|
|||||||
import {expect, test} from '@jest/globals'
|
import {expect, test} from '@jest/globals'
|
||||||
|
|
||||||
test('gets download url to binary', async () => {
|
test('gets download url to binary', async () => {
|
||||||
const url = await getDownloadUrl('0.1.0')
|
const url = await getDownloadUrl('1.28.0')
|
||||||
expect(url).toContain(
|
expect(
|
||||||
'https://github.com/supabase/cli/releases/download/v0.1.0/'
|
url.startsWith(
|
||||||
)
|
'https://github.com/supabase/cli/releases/download/v1.28.0/supabase_'
|
||||||
|
)
|
||||||
|
).toBeTruthy()
|
||||||
|
expect(url.endsWith('.tar.gz')).toBeTruthy()
|
||||||
|
expect(url).not.toContain('_1.28.0_')
|
||||||
})
|
})
|
||||||
|
|
||||||
test('gets download url to binary with "latest" version', async () => {
|
test('gets legacy download url to binary', async () => {
|
||||||
|
const url = await getDownloadUrl('0.1.0')
|
||||||
|
expect(
|
||||||
|
url.startsWith(
|
||||||
|
`https://github.com/supabase/cli/releases/download/v0.1.0/supabase_0.1.0_`
|
||||||
|
)
|
||||||
|
).toBeTruthy()
|
||||||
|
expect(url.endsWith('.tar.gz')).toBeTruthy()
|
||||||
|
})
|
||||||
|
|
||||||
|
test('gets download url to latest version', async () => {
|
||||||
const url = await getDownloadUrl('latest')
|
const url = await getDownloadUrl('latest')
|
||||||
expect(url).toMatch(
|
expect(url).toMatch(
|
||||||
/^https:\/\/github.com\/supabase\/cli\/releases\/download\/v[0-9]+\.[0-9]+\.[0-9]+\/supabase_[0-9]+\.[0-9]+\.[0-9]+/
|
'https://github.com/supabase/cli/releases/latest/download/'
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ inputs:
|
|||||||
version:
|
version:
|
||||||
description: Version of Supabase CLI to install
|
description: Version of Supabase CLI to install
|
||||||
required: false
|
required: false
|
||||||
default: 1.0.0
|
default: 1.28.0
|
||||||
runs:
|
runs:
|
||||||
using: node16
|
using: node16
|
||||||
main: dist/index.js
|
main: dist/index.js
|
||||||
|
|||||||
628
dist/index.js
generated
vendored
628
dist/index.js
generated
vendored
@@ -86,8 +86,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
exports.getDownloadUrl = void 0;
|
exports.getDownloadUrl = void 0;
|
||||||
const os_1 = __importDefault(__nccwpck_require__(2037));
|
const os_1 = __importDefault(__nccwpck_require__(2037));
|
||||||
const http_client_1 = __nccwpck_require__(6255);
|
const lt_1 = __importDefault(__nccwpck_require__(194));
|
||||||
const auth_1 = __nccwpck_require__(5526);
|
|
||||||
// arch in [arm, arm64, x64...] (https://nodejs.org/docs/latest-v16.x/api/os.html#osarch)
|
// arch in [arm, arm64, x64...] (https://nodejs.org/docs/latest-v16.x/api/os.html#osarch)
|
||||||
// return value in [amd64, arm64, arm]
|
// return value in [amd64, arm64, arm]
|
||||||
const mapArch = (arch) => {
|
const mapArch = (arch) => {
|
||||||
@@ -107,26 +106,16 @@ const mapOS = (platform) => {
|
|||||||
const getDownloadUrl = (version) => __awaiter(void 0, void 0, void 0, function* () {
|
const getDownloadUrl = (version) => __awaiter(void 0, void 0, void 0, function* () {
|
||||||
const platform = mapOS(os_1.default.platform());
|
const platform = mapOS(os_1.default.platform());
|
||||||
const arch = mapArch(os_1.default.arch());
|
const arch = mapArch(os_1.default.arch());
|
||||||
const resolvedVersion = yield resolveVersion(version);
|
const filename = `supabase_${platform}_${arch}.tar.gz`;
|
||||||
const filename = `supabase_${resolvedVersion}_${platform}_${arch}`;
|
if (version.toLowerCase() === 'latest') {
|
||||||
return `https://github.com/supabase/cli/releases/download/v${resolvedVersion}/${filename}.tar.gz`;
|
return `https://github.com/supabase/cli/releases/latest/download/${filename}`;
|
||||||
|
}
|
||||||
|
if ((0, lt_1.default)(version, '1.28.0')) {
|
||||||
|
return `https://github.com/supabase/cli/releases/download/v${version}/supabase_${version}_${platform}_${arch}.tar.gz`;
|
||||||
|
}
|
||||||
|
return `https://github.com/supabase/cli/releases/download/v${version}/${filename}`;
|
||||||
});
|
});
|
||||||
exports.getDownloadUrl = getDownloadUrl;
|
exports.getDownloadUrl = getDownloadUrl;
|
||||||
// Authenticate with GH_TOKEN to avoid GitHub API rate limits
|
|
||||||
const token = process.env['GH_TOKEN'];
|
|
||||||
const http = new http_client_1.HttpClient('supabase/setup-cli', token ? [new auth_1.BearerCredentialHandler(token)] : undefined);
|
|
||||||
const resolveVersion = (version) => __awaiter(void 0, void 0, void 0, function* () {
|
|
||||||
var _a;
|
|
||||||
if (version !== 'latest') {
|
|
||||||
return version;
|
|
||||||
}
|
|
||||||
const url = 'https://api.github.com/repos/supabase/cli/releases/latest';
|
|
||||||
const tag = (_a = (yield http.getJson(url)).result) === null || _a === void 0 ? void 0 : _a.tag_name;
|
|
||||||
if (!tag) {
|
|
||||||
throw new Error('Cannot fetch tag info');
|
|
||||||
}
|
|
||||||
return tag.substring(1);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
@@ -3840,7 +3829,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
exports._readLinuxVersionFile = exports._getOsVersion = exports._findMatch = void 0;
|
exports._readLinuxVersionFile = exports._getOsVersion = exports._findMatch = void 0;
|
||||||
const semver = __importStar(__nccwpck_require__(5911));
|
const semver = __importStar(__nccwpck_require__(562));
|
||||||
const core_1 = __nccwpck_require__(2186);
|
const core_1 = __nccwpck_require__(2186);
|
||||||
// needs to be require for core node modules to be mocked
|
// needs to be require for core node modules to be mocked
|
||||||
/* eslint @typescript-eslint/no-require-imports: 0 */
|
/* eslint @typescript-eslint/no-require-imports: 0 */
|
||||||
@@ -4075,7 +4064,7 @@ const mm = __importStar(__nccwpck_require__(2473));
|
|||||||
const os = __importStar(__nccwpck_require__(2037));
|
const os = __importStar(__nccwpck_require__(2037));
|
||||||
const path = __importStar(__nccwpck_require__(1017));
|
const path = __importStar(__nccwpck_require__(1017));
|
||||||
const httpm = __importStar(__nccwpck_require__(6255));
|
const httpm = __importStar(__nccwpck_require__(6255));
|
||||||
const semver = __importStar(__nccwpck_require__(5911));
|
const semver = __importStar(__nccwpck_require__(562));
|
||||||
const stream = __importStar(__nccwpck_require__(2781));
|
const stream = __importStar(__nccwpck_require__(2781));
|
||||||
const util = __importStar(__nccwpck_require__(3837));
|
const util = __importStar(__nccwpck_require__(3837));
|
||||||
const assert_1 = __nccwpck_require__(9491);
|
const assert_1 = __nccwpck_require__(9491);
|
||||||
@@ -4702,7 +4691,7 @@ function _unique(values) {
|
|||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 5911:
|
/***/ 562:
|
||||||
/***/ ((module, exports) => {
|
/***/ ((module, exports) => {
|
||||||
|
|
||||||
exports = module.exports = SemVer
|
exports = module.exports = SemVer
|
||||||
@@ -6303,6 +6292,599 @@ function coerce (version, options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 8088:
|
||||||
|
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||||
|
|
||||||
|
const debug = __nccwpck_require__(106)
|
||||||
|
const { MAX_LENGTH, MAX_SAFE_INTEGER } = __nccwpck_require__(2293)
|
||||||
|
const { re, t } = __nccwpck_require__(9523)
|
||||||
|
|
||||||
|
const parseOptions = __nccwpck_require__(785)
|
||||||
|
const { compareIdentifiers } = __nccwpck_require__(2463)
|
||||||
|
class SemVer {
|
||||||
|
constructor (version, options) {
|
||||||
|
options = parseOptions(options)
|
||||||
|
|
||||||
|
if (version instanceof SemVer) {
|
||||||
|
if (version.loose === !!options.loose &&
|
||||||
|
version.includePrerelease === !!options.includePrerelease) {
|
||||||
|
return version
|
||||||
|
} else {
|
||||||
|
version = version.version
|
||||||
|
}
|
||||||
|
} else if (typeof version !== 'string') {
|
||||||
|
throw new TypeError(`Invalid Version: ${version}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (version.length > MAX_LENGTH) {
|
||||||
|
throw new TypeError(
|
||||||
|
`version is longer than ${MAX_LENGTH} characters`
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
debug('SemVer', version, options)
|
||||||
|
this.options = options
|
||||||
|
this.loose = !!options.loose
|
||||||
|
// this isn't actually relevant for versions, but keep it so that we
|
||||||
|
// don't run into trouble passing this.options around.
|
||||||
|
this.includePrerelease = !!options.includePrerelease
|
||||||
|
|
||||||
|
const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])
|
||||||
|
|
||||||
|
if (!m) {
|
||||||
|
throw new TypeError(`Invalid Version: ${version}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
this.raw = version
|
||||||
|
|
||||||
|
// these are actually numbers
|
||||||
|
this.major = +m[1]
|
||||||
|
this.minor = +m[2]
|
||||||
|
this.patch = +m[3]
|
||||||
|
|
||||||
|
if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
|
||||||
|
throw new TypeError('Invalid major version')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
|
||||||
|
throw new TypeError('Invalid minor version')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
|
||||||
|
throw new TypeError('Invalid patch version')
|
||||||
|
}
|
||||||
|
|
||||||
|
// numberify any prerelease numeric ids
|
||||||
|
if (!m[4]) {
|
||||||
|
this.prerelease = []
|
||||||
|
} else {
|
||||||
|
this.prerelease = m[4].split('.').map((id) => {
|
||||||
|
if (/^[0-9]+$/.test(id)) {
|
||||||
|
const num = +id
|
||||||
|
if (num >= 0 && num < MAX_SAFE_INTEGER) {
|
||||||
|
return num
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
this.build = m[5] ? m[5].split('.') : []
|
||||||
|
this.format()
|
||||||
|
}
|
||||||
|
|
||||||
|
format () {
|
||||||
|
this.version = `${this.major}.${this.minor}.${this.patch}`
|
||||||
|
if (this.prerelease.length) {
|
||||||
|
this.version += `-${this.prerelease.join('.')}`
|
||||||
|
}
|
||||||
|
return this.version
|
||||||
|
}
|
||||||
|
|
||||||
|
toString () {
|
||||||
|
return this.version
|
||||||
|
}
|
||||||
|
|
||||||
|
compare (other) {
|
||||||
|
debug('SemVer.compare', this.version, this.options, other)
|
||||||
|
if (!(other instanceof SemVer)) {
|
||||||
|
if (typeof other === 'string' && other === this.version) {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
other = new SemVer(other, this.options)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (other.version === this.version) {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.compareMain(other) || this.comparePre(other)
|
||||||
|
}
|
||||||
|
|
||||||
|
compareMain (other) {
|
||||||
|
if (!(other instanceof SemVer)) {
|
||||||
|
other = new SemVer(other, this.options)
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
compareIdentifiers(this.major, other.major) ||
|
||||||
|
compareIdentifiers(this.minor, other.minor) ||
|
||||||
|
compareIdentifiers(this.patch, other.patch)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
comparePre (other) {
|
||||||
|
if (!(other instanceof SemVer)) {
|
||||||
|
other = new SemVer(other, this.options)
|
||||||
|
}
|
||||||
|
|
||||||
|
// NOT having a prerelease is > having one
|
||||||
|
if (this.prerelease.length && !other.prerelease.length) {
|
||||||
|
return -1
|
||||||
|
} else if (!this.prerelease.length && other.prerelease.length) {
|
||||||
|
return 1
|
||||||
|
} else if (!this.prerelease.length && !other.prerelease.length) {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
let i = 0
|
||||||
|
do {
|
||||||
|
const a = this.prerelease[i]
|
||||||
|
const b = other.prerelease[i]
|
||||||
|
debug('prerelease compare', i, a, b)
|
||||||
|
if (a === undefined && b === undefined) {
|
||||||
|
return 0
|
||||||
|
} else if (b === undefined) {
|
||||||
|
return 1
|
||||||
|
} else if (a === undefined) {
|
||||||
|
return -1
|
||||||
|
} else if (a === b) {
|
||||||
|
continue
|
||||||
|
} else {
|
||||||
|
return compareIdentifiers(a, b)
|
||||||
|
}
|
||||||
|
} while (++i)
|
||||||
|
}
|
||||||
|
|
||||||
|
compareBuild (other) {
|
||||||
|
if (!(other instanceof SemVer)) {
|
||||||
|
other = new SemVer(other, this.options)
|
||||||
|
}
|
||||||
|
|
||||||
|
let i = 0
|
||||||
|
do {
|
||||||
|
const a = this.build[i]
|
||||||
|
const b = other.build[i]
|
||||||
|
debug('prerelease compare', i, a, b)
|
||||||
|
if (a === undefined && b === undefined) {
|
||||||
|
return 0
|
||||||
|
} else if (b === undefined) {
|
||||||
|
return 1
|
||||||
|
} else if (a === undefined) {
|
||||||
|
return -1
|
||||||
|
} else if (a === b) {
|
||||||
|
continue
|
||||||
|
} else {
|
||||||
|
return compareIdentifiers(a, b)
|
||||||
|
}
|
||||||
|
} while (++i)
|
||||||
|
}
|
||||||
|
|
||||||
|
// preminor will bump the version up to the next minor release, and immediately
|
||||||
|
// down to pre-release. premajor and prepatch work the same way.
|
||||||
|
inc (release, identifier) {
|
||||||
|
switch (release) {
|
||||||
|
case 'premajor':
|
||||||
|
this.prerelease.length = 0
|
||||||
|
this.patch = 0
|
||||||
|
this.minor = 0
|
||||||
|
this.major++
|
||||||
|
this.inc('pre', identifier)
|
||||||
|
break
|
||||||
|
case 'preminor':
|
||||||
|
this.prerelease.length = 0
|
||||||
|
this.patch = 0
|
||||||
|
this.minor++
|
||||||
|
this.inc('pre', identifier)
|
||||||
|
break
|
||||||
|
case 'prepatch':
|
||||||
|
// If this is already a prerelease, it will bump to the next version
|
||||||
|
// drop any prereleases that might already exist, since they are not
|
||||||
|
// relevant at this point.
|
||||||
|
this.prerelease.length = 0
|
||||||
|
this.inc('patch', identifier)
|
||||||
|
this.inc('pre', identifier)
|
||||||
|
break
|
||||||
|
// If the input is a non-prerelease version, this acts the same as
|
||||||
|
// prepatch.
|
||||||
|
case 'prerelease':
|
||||||
|
if (this.prerelease.length === 0) {
|
||||||
|
this.inc('patch', identifier)
|
||||||
|
}
|
||||||
|
this.inc('pre', identifier)
|
||||||
|
break
|
||||||
|
|
||||||
|
case 'major':
|
||||||
|
// If this is a pre-major version, bump up to the same major version.
|
||||||
|
// Otherwise increment major.
|
||||||
|
// 1.0.0-5 bumps to 1.0.0
|
||||||
|
// 1.1.0 bumps to 2.0.0
|
||||||
|
if (
|
||||||
|
this.minor !== 0 ||
|
||||||
|
this.patch !== 0 ||
|
||||||
|
this.prerelease.length === 0
|
||||||
|
) {
|
||||||
|
this.major++
|
||||||
|
}
|
||||||
|
this.minor = 0
|
||||||
|
this.patch = 0
|
||||||
|
this.prerelease = []
|
||||||
|
break
|
||||||
|
case 'minor':
|
||||||
|
// If this is a pre-minor version, bump up to the same minor version.
|
||||||
|
// Otherwise increment minor.
|
||||||
|
// 1.2.0-5 bumps to 1.2.0
|
||||||
|
// 1.2.1 bumps to 1.3.0
|
||||||
|
if (this.patch !== 0 || this.prerelease.length === 0) {
|
||||||
|
this.minor++
|
||||||
|
}
|
||||||
|
this.patch = 0
|
||||||
|
this.prerelease = []
|
||||||
|
break
|
||||||
|
case 'patch':
|
||||||
|
// If this is not a pre-release version, it will increment the patch.
|
||||||
|
// If it is a pre-release it will bump up to the same patch version.
|
||||||
|
// 1.2.0-5 patches to 1.2.0
|
||||||
|
// 1.2.0 patches to 1.2.1
|
||||||
|
if (this.prerelease.length === 0) {
|
||||||
|
this.patch++
|
||||||
|
}
|
||||||
|
this.prerelease = []
|
||||||
|
break
|
||||||
|
// This probably shouldn't be used publicly.
|
||||||
|
// 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
|
||||||
|
case 'pre':
|
||||||
|
if (this.prerelease.length === 0) {
|
||||||
|
this.prerelease = [0]
|
||||||
|
} else {
|
||||||
|
let i = this.prerelease.length
|
||||||
|
while (--i >= 0) {
|
||||||
|
if (typeof this.prerelease[i] === 'number') {
|
||||||
|
this.prerelease[i]++
|
||||||
|
i = -2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i === -1) {
|
||||||
|
// didn't increment anything
|
||||||
|
this.prerelease.push(0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (identifier) {
|
||||||
|
// 1.2.0-beta.1 bumps to 1.2.0-beta.2,
|
||||||
|
// 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
|
||||||
|
if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
|
||||||
|
if (isNaN(this.prerelease[1])) {
|
||||||
|
this.prerelease = [identifier, 0]
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.prerelease = [identifier, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break
|
||||||
|
|
||||||
|
default:
|
||||||
|
throw new Error(`invalid increment argument: ${release}`)
|
||||||
|
}
|
||||||
|
this.format()
|
||||||
|
this.raw = this.version
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = SemVer
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 4309:
|
||||||
|
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||||
|
|
||||||
|
const SemVer = __nccwpck_require__(8088)
|
||||||
|
const compare = (a, b, loose) =>
|
||||||
|
new SemVer(a, loose).compare(new SemVer(b, loose))
|
||||||
|
|
||||||
|
module.exports = compare
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 194:
|
||||||
|
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||||
|
|
||||||
|
const compare = __nccwpck_require__(4309)
|
||||||
|
const lt = (a, b, loose) => compare(a, b, loose) < 0
|
||||||
|
module.exports = lt
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 2293:
|
||||||
|
/***/ ((module) => {
|
||||||
|
|
||||||
|
// Note: this is the semver.org version of the spec that it implements
|
||||||
|
// Not necessarily the package version of this code.
|
||||||
|
const SEMVER_SPEC_VERSION = '2.0.0'
|
||||||
|
|
||||||
|
const MAX_LENGTH = 256
|
||||||
|
const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
|
||||||
|
/* istanbul ignore next */ 9007199254740991
|
||||||
|
|
||||||
|
// Max safe segment length for coercion.
|
||||||
|
const MAX_SAFE_COMPONENT_LENGTH = 16
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
SEMVER_SPEC_VERSION,
|
||||||
|
MAX_LENGTH,
|
||||||
|
MAX_SAFE_INTEGER,
|
||||||
|
MAX_SAFE_COMPONENT_LENGTH,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 106:
|
||||||
|
/***/ ((module) => {
|
||||||
|
|
||||||
|
const debug = (
|
||||||
|
typeof process === 'object' &&
|
||||||
|
process.env &&
|
||||||
|
process.env.NODE_DEBUG &&
|
||||||
|
/\bsemver\b/i.test(process.env.NODE_DEBUG)
|
||||||
|
) ? (...args) => console.error('SEMVER', ...args)
|
||||||
|
: () => {}
|
||||||
|
|
||||||
|
module.exports = debug
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 2463:
|
||||||
|
/***/ ((module) => {
|
||||||
|
|
||||||
|
const numeric = /^[0-9]+$/
|
||||||
|
const compareIdentifiers = (a, b) => {
|
||||||
|
const anum = numeric.test(a)
|
||||||
|
const bnum = numeric.test(b)
|
||||||
|
|
||||||
|
if (anum && bnum) {
|
||||||
|
a = +a
|
||||||
|
b = +b
|
||||||
|
}
|
||||||
|
|
||||||
|
return a === b ? 0
|
||||||
|
: (anum && !bnum) ? -1
|
||||||
|
: (bnum && !anum) ? 1
|
||||||
|
: a < b ? -1
|
||||||
|
: 1
|
||||||
|
}
|
||||||
|
|
||||||
|
const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
compareIdentifiers,
|
||||||
|
rcompareIdentifiers,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 785:
|
||||||
|
/***/ ((module) => {
|
||||||
|
|
||||||
|
// parse out just the options we care about so we always get a consistent
|
||||||
|
// obj with keys in a consistent order.
|
||||||
|
const opts = ['includePrerelease', 'loose', 'rtl']
|
||||||
|
const parseOptions = options =>
|
||||||
|
!options ? {}
|
||||||
|
: typeof options !== 'object' ? { loose: true }
|
||||||
|
: opts.filter(k => options[k]).reduce((o, k) => {
|
||||||
|
o[k] = true
|
||||||
|
return o
|
||||||
|
}, {})
|
||||||
|
module.exports = parseOptions
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 9523:
|
||||||
|
/***/ ((module, exports, __nccwpck_require__) => {
|
||||||
|
|
||||||
|
const { MAX_SAFE_COMPONENT_LENGTH } = __nccwpck_require__(2293)
|
||||||
|
const debug = __nccwpck_require__(106)
|
||||||
|
exports = module.exports = {}
|
||||||
|
|
||||||
|
// The actual regexps go on exports.re
|
||||||
|
const re = exports.re = []
|
||||||
|
const src = exports.src = []
|
||||||
|
const t = exports.t = {}
|
||||||
|
let R = 0
|
||||||
|
|
||||||
|
const createToken = (name, value, isGlobal) => {
|
||||||
|
const index = R++
|
||||||
|
debug(name, index, value)
|
||||||
|
t[name] = index
|
||||||
|
src[index] = value
|
||||||
|
re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
|
||||||
|
}
|
||||||
|
|
||||||
|
// The following Regular Expressions can be used for tokenizing,
|
||||||
|
// validating, and parsing SemVer version strings.
|
||||||
|
|
||||||
|
// ## Numeric Identifier
|
||||||
|
// A single `0`, or a non-zero digit followed by zero or more digits.
|
||||||
|
|
||||||
|
createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*')
|
||||||
|
createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')
|
||||||
|
|
||||||
|
// ## Non-numeric Identifier
|
||||||
|
// Zero or more digits, followed by a letter or hyphen, and then zero or
|
||||||
|
// more letters, digits, or hyphens.
|
||||||
|
|
||||||
|
createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*')
|
||||||
|
|
||||||
|
// ## Main Version
|
||||||
|
// Three dot-separated numeric identifiers.
|
||||||
|
|
||||||
|
createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` +
|
||||||
|
`(${src[t.NUMERICIDENTIFIER]})\\.` +
|
||||||
|
`(${src[t.NUMERICIDENTIFIER]})`)
|
||||||
|
|
||||||
|
createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
|
||||||
|
`(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
|
||||||
|
`(${src[t.NUMERICIDENTIFIERLOOSE]})`)
|
||||||
|
|
||||||
|
// ## Pre-release Version Identifier
|
||||||
|
// A numeric identifier, or a non-numeric identifier.
|
||||||
|
|
||||||
|
createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]
|
||||||
|
}|${src[t.NONNUMERICIDENTIFIER]})`)
|
||||||
|
|
||||||
|
createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]
|
||||||
|
}|${src[t.NONNUMERICIDENTIFIER]})`)
|
||||||
|
|
||||||
|
// ## Pre-release Version
|
||||||
|
// Hyphen, followed by one or more dot-separated pre-release version
|
||||||
|
// identifiers.
|
||||||
|
|
||||||
|
createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]
|
||||||
|
}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`)
|
||||||
|
|
||||||
|
createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]
|
||||||
|
}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)
|
||||||
|
|
||||||
|
// ## Build Metadata Identifier
|
||||||
|
// Any combination of digits, letters, or hyphens.
|
||||||
|
|
||||||
|
createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')
|
||||||
|
|
||||||
|
// ## Build Metadata
|
||||||
|
// Plus sign, followed by one or more period-separated build metadata
|
||||||
|
// identifiers.
|
||||||
|
|
||||||
|
createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER]
|
||||||
|
}(?:\\.${src[t.BUILDIDENTIFIER]})*))`)
|
||||||
|
|
||||||
|
// ## Full Version String
|
||||||
|
// A main version, followed optionally by a pre-release version and
|
||||||
|
// build metadata.
|
||||||
|
|
||||||
|
// Note that the only major, minor, patch, and pre-release sections of
|
||||||
|
// the version string are capturing groups. The build metadata is not a
|
||||||
|
// capturing group, because it should not ever be used in version
|
||||||
|
// comparison.
|
||||||
|
|
||||||
|
createToken('FULLPLAIN', `v?${src[t.MAINVERSION]
|
||||||
|
}${src[t.PRERELEASE]}?${
|
||||||
|
src[t.BUILD]}?`)
|
||||||
|
|
||||||
|
createToken('FULL', `^${src[t.FULLPLAIN]}$`)
|
||||||
|
|
||||||
|
// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
|
||||||
|
// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
|
||||||
|
// common in the npm registry.
|
||||||
|
createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE]
|
||||||
|
}${src[t.PRERELEASELOOSE]}?${
|
||||||
|
src[t.BUILD]}?`)
|
||||||
|
|
||||||
|
createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)
|
||||||
|
|
||||||
|
createToken('GTLT', '((?:<|>)?=?)')
|
||||||
|
|
||||||
|
// Something like "2.*" or "1.2.x".
|
||||||
|
// Note that "x.x" is a valid xRange identifer, meaning "any version"
|
||||||
|
// Only the first item is strictly required.
|
||||||
|
createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`)
|
||||||
|
createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`)
|
||||||
|
|
||||||
|
createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` +
|
||||||
|
`(?:\\.(${src[t.XRANGEIDENTIFIER]})` +
|
||||||
|
`(?:\\.(${src[t.XRANGEIDENTIFIER]})` +
|
||||||
|
`(?:${src[t.PRERELEASE]})?${
|
||||||
|
src[t.BUILD]}?` +
|
||||||
|
`)?)?`)
|
||||||
|
|
||||||
|
createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +
|
||||||
|
`(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +
|
||||||
|
`(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +
|
||||||
|
`(?:${src[t.PRERELEASELOOSE]})?${
|
||||||
|
src[t.BUILD]}?` +
|
||||||
|
`)?)?`)
|
||||||
|
|
||||||
|
createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`)
|
||||||
|
createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`)
|
||||||
|
|
||||||
|
// Coercion.
|
||||||
|
// Extract anything that could conceivably be a part of a valid semver
|
||||||
|
createToken('COERCE', `${'(^|[^\\d])' +
|
||||||
|
'(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +
|
||||||
|
`(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
|
||||||
|
`(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
|
||||||
|
`(?:$|[^\\d])`)
|
||||||
|
createToken('COERCERTL', src[t.COERCE], true)
|
||||||
|
|
||||||
|
// Tilde ranges.
|
||||||
|
// Meaning is "reasonably at or greater than"
|
||||||
|
createToken('LONETILDE', '(?:~>?)')
|
||||||
|
|
||||||
|
createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true)
|
||||||
|
exports.tildeTrimReplace = '$1~'
|
||||||
|
|
||||||
|
createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)
|
||||||
|
createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)
|
||||||
|
|
||||||
|
// Caret ranges.
|
||||||
|
// Meaning is "at least and backwards compatible with"
|
||||||
|
createToken('LONECARET', '(?:\\^)')
|
||||||
|
|
||||||
|
createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true)
|
||||||
|
exports.caretTrimReplace = '$1^'
|
||||||
|
|
||||||
|
createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)
|
||||||
|
createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)
|
||||||
|
|
||||||
|
// A simple gt/lt/eq thing, or just "" to indicate "any version"
|
||||||
|
createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`)
|
||||||
|
createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`)
|
||||||
|
|
||||||
|
// An expression to strip any whitespace between the gtlt and the thing
|
||||||
|
// it modifies, so that `> 1.2.3` ==> `>1.2.3`
|
||||||
|
createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT]
|
||||||
|
}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)
|
||||||
|
exports.comparatorTrimReplace = '$1$2$3'
|
||||||
|
|
||||||
|
// Something like `1.2.3 - 1.2.4`
|
||||||
|
// Note that these all use the loose form, because they'll be
|
||||||
|
// checked against either the strict or loose comparator form
|
||||||
|
// later.
|
||||||
|
createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` +
|
||||||
|
`\\s+-\\s+` +
|
||||||
|
`(${src[t.XRANGEPLAIN]})` +
|
||||||
|
`\\s*$`)
|
||||||
|
|
||||||
|
createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` +
|
||||||
|
`\\s+-\\s+` +
|
||||||
|
`(${src[t.XRANGEPLAINLOOSE]})` +
|
||||||
|
`\\s*$`)
|
||||||
|
|
||||||
|
// Star ranges basically just allow anything at all.
|
||||||
|
createToken('STAR', '(<|>)?=?\\s*\\*')
|
||||||
|
// >=0.0.0 is like a star
|
||||||
|
createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$')
|
||||||
|
createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$')
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 4294:
|
/***/ 4294:
|
||||||
|
|||||||
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
292
package-lock.json
generated
292
package-lock.json
generated
@@ -10,11 +10,12 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.10.0",
|
"@actions/core": "^1.10.0",
|
||||||
"@actions/http-client": "^2.0.1",
|
"@actions/tool-cache": "^2.0.1",
|
||||||
"@actions/tool-cache": "^2.0.1"
|
"semver": "^7.3.8"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^16.11.47",
|
"@types/node": "^16.11.47",
|
||||||
|
"@types/semver": "^7.3.13",
|
||||||
"@typescript-eslint/parser": "^5.48.0",
|
"@typescript-eslint/parser": "^5.48.0",
|
||||||
"@vercel/ncc": "^0.36.0",
|
"@vercel/ncc": "^0.36.0",
|
||||||
"eslint": "^8.31.0",
|
"eslint": "^8.31.0",
|
||||||
@@ -77,6 +78,14 @@
|
|||||||
"uuid": "^3.3.2"
|
"uuid": "^3.3.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@actions/tool-cache/node_modules/semver": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||||
|
"bin": {
|
||||||
|
"semver": "bin/semver.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@babel/code-frame": {
|
"node_modules/@babel/code-frame": {
|
||||||
"version": "7.18.6",
|
"version": "7.18.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
|
||||||
@@ -128,6 +137,15 @@
|
|||||||
"url": "https://opencollective.com/babel"
|
"url": "https://opencollective.com/babel"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@babel/core/node_modules/semver": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"semver": "bin/semver.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@babel/core/node_modules/source-map": {
|
"node_modules/@babel/core/node_modules/source-map": {
|
||||||
"version": "0.5.7",
|
"version": "0.5.7",
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||||
@@ -178,6 +196,15 @@
|
|||||||
"@babel/core": "^7.0.0"
|
"@babel/core": "^7.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"semver": "bin/semver.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@babel/helper-function-name": {
|
"node_modules/@babel/helper-function-name": {
|
||||||
"version": "7.15.4",
|
"version": "7.15.4",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz",
|
||||||
@@ -1584,6 +1611,12 @@
|
|||||||
"integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==",
|
"integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/semver": {
|
||||||
|
"version": "7.3.13",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz",
|
||||||
|
"integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/@types/stack-utils": {
|
"node_modules/@types/stack-utils": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
|
||||||
@@ -1638,21 +1671,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
|
|
||||||
"version": "7.3.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
|
||||||
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"semver": "bin/semver.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "5.48.0",
|
"version": "5.48.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.0.tgz",
|
||||||
@@ -1754,21 +1772,6 @@
|
|||||||
"url": "https://opencollective.com/typescript-eslint"
|
"url": "https://opencollective.com/typescript-eslint"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser/node_modules/semver": {
|
|
||||||
"version": "7.3.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
|
||||||
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"semver": "bin/semver.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "5.32.0",
|
"version": "5.32.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.32.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.32.0.tgz",
|
||||||
@@ -1852,21 +1855,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
|
|
||||||
"version": "7.3.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
|
||||||
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"semver": "bin/semver.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/utils": {
|
||||||
"version": "5.32.0",
|
"version": "5.32.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.32.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.32.0.tgz",
|
||||||
@@ -2916,6 +2904,15 @@
|
|||||||
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/eslint-plugin-jsx-a11y/node_modules/semver": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"semver": "bin/semver.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/eslint-plugin-no-only-tests": {
|
"node_modules/eslint-plugin-no-only-tests": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.0.0.tgz",
|
||||||
@@ -4157,6 +4154,15 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/istanbul-lib-instrument/node_modules/semver": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"semver": "bin/semver.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/istanbul-lib-report": {
|
"node_modules/istanbul-lib-report": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
|
||||||
@@ -5183,21 +5189,6 @@
|
|||||||
"node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
|
"node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-snapshot/node_modules/semver": {
|
|
||||||
"version": "7.3.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
|
||||||
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"semver": "bin/semver.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/jest-snapshot/node_modules/supports-color": {
|
"node_modules/jest-snapshot/node_modules/supports-color": {
|
||||||
"version": "8.1.1",
|
"version": "8.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||||
@@ -5346,9 +5337,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/json5": {
|
"node_modules/json5": {
|
||||||
"version": "2.2.1",
|
"version": "2.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"json5": "lib/cli.js"
|
"json5": "lib/cli.js"
|
||||||
@@ -5462,7 +5453,6 @@
|
|||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"yallist": "^4.0.0"
|
"yallist": "^4.0.0"
|
||||||
},
|
},
|
||||||
@@ -5485,6 +5475,15 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/make-dir/node_modules/semver": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"semver": "bin/semver.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/make-error": {
|
"node_modules/make-error": {
|
||||||
"version": "1.3.6",
|
"version": "1.3.6",
|
||||||
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
|
||||||
@@ -6065,11 +6064,17 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "6.3.0",
|
"version": "7.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
||||||
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
||||||
|
"dependencies": {
|
||||||
|
"lru-cache": "^6.0.0"
|
||||||
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"semver": "bin/semver.js"
|
"semver": "bin/semver.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/shebang-command": {
|
"node_modules/shebang-command": {
|
||||||
@@ -6412,21 +6417,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ts-jest/node_modules/semver": {
|
|
||||||
"version": "7.3.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
|
|
||||||
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"semver": "bin/semver.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/tsconfig-paths": {
|
"node_modules/tsconfig-paths": {
|
||||||
"version": "3.11.0",
|
"version": "3.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz",
|
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz",
|
||||||
@@ -6440,9 +6430,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tsconfig-paths/node_modules/json5": {
|
"node_modules/tsconfig-paths/node_modules/json5": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"minimist": "^1.2.0"
|
"minimist": "^1.2.0"
|
||||||
@@ -6671,8 +6661,7 @@
|
|||||||
"node_modules/yallist": {
|
"node_modules/yallist": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"node_modules/yargs": {
|
"node_modules/yargs": {
|
||||||
"version": "17.5.1",
|
"version": "17.5.1",
|
||||||
@@ -6763,6 +6752,13 @@
|
|||||||
"@actions/io": "^1.1.1",
|
"@actions/io": "^1.1.1",
|
||||||
"semver": "^6.1.0",
|
"semver": "^6.1.0",
|
||||||
"uuid": "^3.3.2"
|
"uuid": "^3.3.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"semver": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/code-frame": {
|
"@babel/code-frame": {
|
||||||
@@ -6803,6 +6799,12 @@
|
|||||||
"source-map": "^0.5.0"
|
"source-map": "^0.5.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"semver": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"source-map": {
|
"source-map": {
|
||||||
"version": "0.5.7",
|
"version": "0.5.7",
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||||
@@ -6840,6 +6842,14 @@
|
|||||||
"@babel/helper-validator-option": "^7.14.5",
|
"@babel/helper-validator-option": "^7.14.5",
|
||||||
"browserslist": "^4.16.6",
|
"browserslist": "^4.16.6",
|
||||||
"semver": "^6.3.0"
|
"semver": "^6.3.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"semver": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/helper-function-name": {
|
"@babel/helper-function-name": {
|
||||||
@@ -7952,6 +7962,12 @@
|
|||||||
"integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==",
|
"integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"@types/semver": {
|
||||||
|
"version": "7.3.13",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz",
|
||||||
|
"integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"@types/stack-utils": {
|
"@types/stack-utils": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
|
||||||
@@ -7988,17 +8004,6 @@
|
|||||||
"regexpp": "^3.2.0",
|
"regexpp": "^3.2.0",
|
||||||
"semver": "^7.3.7",
|
"semver": "^7.3.7",
|
||||||
"tsutils": "^3.21.0"
|
"tsutils": "^3.21.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"semver": {
|
|
||||||
"version": "7.3.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
|
||||||
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/parser": {
|
"@typescript-eslint/parser": {
|
||||||
@@ -8053,15 +8058,6 @@
|
|||||||
"@typescript-eslint/types": "5.48.0",
|
"@typescript-eslint/types": "5.48.0",
|
||||||
"eslint-visitor-keys": "^3.3.0"
|
"eslint-visitor-keys": "^3.3.0"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"semver": {
|
|
||||||
"version": "7.3.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
|
||||||
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -8105,17 +8101,6 @@
|
|||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
"semver": "^7.3.7",
|
"semver": "^7.3.7",
|
||||||
"tsutils": "^3.21.0"
|
"tsutils": "^3.21.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"semver": {
|
|
||||||
"version": "7.3.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
|
||||||
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/utils": {
|
"@typescript-eslint/utils": {
|
||||||
@@ -9026,6 +9011,12 @@
|
|||||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
||||||
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
|
},
|
||||||
|
"semver": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||||
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -9777,6 +9768,14 @@
|
|||||||
"@istanbuljs/schema": "^0.1.2",
|
"@istanbuljs/schema": "^0.1.2",
|
||||||
"istanbul-lib-coverage": "^3.2.0",
|
"istanbul-lib-coverage": "^3.2.0",
|
||||||
"semver": "^6.3.0"
|
"semver": "^6.3.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"semver": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"istanbul-lib-report": {
|
"istanbul-lib-report": {
|
||||||
@@ -10570,15 +10569,6 @@
|
|||||||
"supports-color": "^8.0.0"
|
"supports-color": "^8.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"semver": {
|
|
||||||
"version": "7.3.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
|
||||||
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
"version": "8.1.1",
|
"version": "8.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||||
@@ -10698,9 +10688,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"json5": {
|
"json5": {
|
||||||
"version": "2.2.1",
|
"version": "2.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"jsx-ast-utils": {
|
"jsx-ast-utils": {
|
||||||
@@ -10796,7 +10786,6 @@
|
|||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"yallist": "^4.0.0"
|
"yallist": "^4.0.0"
|
||||||
}
|
}
|
||||||
@@ -10808,6 +10797,14 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"semver": "^6.0.0"
|
"semver": "^6.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"semver": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"make-error": {
|
"make-error": {
|
||||||
@@ -11218,9 +11215,12 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "6.3.0",
|
"version": "7.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
||||||
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
|
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
||||||
|
"requires": {
|
||||||
|
"lru-cache": "^6.0.0"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"shebang-command": {
|
"shebang-command": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
@@ -11462,17 +11462,6 @@
|
|||||||
"make-error": "1.x",
|
"make-error": "1.x",
|
||||||
"semver": "7.x",
|
"semver": "7.x",
|
||||||
"yargs-parser": "^21.0.1"
|
"yargs-parser": "^21.0.1"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"semver": {
|
|
||||||
"version": "7.3.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
|
|
||||||
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tsconfig-paths": {
|
"tsconfig-paths": {
|
||||||
@@ -11488,9 +11477,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"json5": {
|
"json5": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minimist": "^1.2.0"
|
"minimist": "^1.2.0"
|
||||||
@@ -11646,8 +11635,7 @@
|
|||||||
"yallist": {
|
"yallist": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"yargs": {
|
"yargs": {
|
||||||
"version": "17.5.1",
|
"version": "17.5.1",
|
||||||
|
|||||||
@@ -26,11 +26,12 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.10.0",
|
"@actions/core": "^1.10.0",
|
||||||
"@actions/http-client": "^2.0.1",
|
"@actions/tool-cache": "^2.0.1",
|
||||||
"@actions/tool-cache": "^2.0.1"
|
"semver": "^7.3.8"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^16.11.47",
|
"@types/node": "^16.11.47",
|
||||||
|
"@types/semver": "^7.3.13",
|
||||||
"@typescript-eslint/parser": "^5.48.0",
|
"@typescript-eslint/parser": "^5.48.0",
|
||||||
"@vercel/ncc": "^0.36.0",
|
"@vercel/ncc": "^0.36.0",
|
||||||
"eslint": "^8.31.0",
|
"eslint": "^8.31.0",
|
||||||
|
|||||||
36
src/utils.ts
36
src/utils.ts
@@ -1,10 +1,5 @@
|
|||||||
import os from 'os'
|
import os from 'os'
|
||||||
import {HttpClient} from '@actions/http-client'
|
import lt from 'semver/functions/lt'
|
||||||
import {BearerCredentialHandler} from '@actions/http-client/lib/auth'
|
|
||||||
|
|
||||||
interface GitHubTag {
|
|
||||||
tag_name: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// arch in [arm, arm64, x64...] (https://nodejs.org/docs/latest-v16.x/api/os.html#osarch)
|
// arch in [arm, arm64, x64...] (https://nodejs.org/docs/latest-v16.x/api/os.html#osarch)
|
||||||
// return value in [amd64, arm64, arm]
|
// return value in [amd64, arm64, arm]
|
||||||
@@ -27,29 +22,12 @@ const mapOS = (platform: string): string => {
|
|||||||
export const getDownloadUrl = async (version: string): Promise<string> => {
|
export const getDownloadUrl = async (version: string): Promise<string> => {
|
||||||
const platform = mapOS(os.platform())
|
const platform = mapOS(os.platform())
|
||||||
const arch = mapArch(os.arch())
|
const arch = mapArch(os.arch())
|
||||||
const resolvedVersion = await resolveVersion(version)
|
const filename = `supabase_${platform}_${arch}.tar.gz`
|
||||||
const filename = `supabase_${resolvedVersion}_${platform}_${arch}`
|
if (version.toLowerCase() === 'latest') {
|
||||||
|
return `https://github.com/supabase/cli/releases/latest/download/${filename}`
|
||||||
return `https://github.com/supabase/cli/releases/download/v${resolvedVersion}/${filename}.tar.gz`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Authenticate with GH_TOKEN to avoid GitHub API rate limits
|
|
||||||
const token = process.env['GH_TOKEN']
|
|
||||||
const http = new HttpClient(
|
|
||||||
'supabase/setup-cli',
|
|
||||||
token ? [new BearerCredentialHandler(token)] : undefined
|
|
||||||
)
|
|
||||||
|
|
||||||
const resolveVersion = async (version: string): Promise<string> => {
|
|
||||||
if (version !== 'latest') {
|
|
||||||
return version
|
|
||||||
}
|
}
|
||||||
|
if (lt(version, '1.28.0')) {
|
||||||
const url = 'https://api.github.com/repos/supabase/cli/releases/latest'
|
return `https://github.com/supabase/cli/releases/download/v${version}/supabase_${version}_${platform}_${arch}.tar.gz`
|
||||||
const tag = (await http.getJson<GitHubTag>(url)).result?.tag_name
|
|
||||||
if (!tag) {
|
|
||||||
throw new Error('Cannot fetch tag info')
|
|
||||||
}
|
}
|
||||||
|
return `https://github.com/supabase/cli/releases/download/v${version}/${filename}`
|
||||||
return tag.substring(1)
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user