mirror of
https://github.com/enso-org/enso.git
synced 2024-12-24 22:21:56 +03:00
CI Improvements (https://github.com/enso-org/ide/pull/1175)
Original commit: 0eadf2707d
This commit is contained in:
parent
80fdbe1427
commit
2dc1a06103
38
gui/.github/workflows/docs.yml
vendored
Normal file
38
gui/.github/workflows/docs.yml
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
name: Publish Developer Docs
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- develop
|
||||
paths:
|
||||
- 'docs/**'
|
||||
|
||||
jobs:
|
||||
checkout:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
repository: 'enso-org/enso-org.github.io'
|
||||
ref: 'sources'
|
||||
token: ${{ secrets.ENSO_PAT }}
|
||||
- name: set identity email
|
||||
run: git config --global user.email "actions@github.com"
|
||||
- name: set identity name
|
||||
run: git config --global user.name "GitHub Actions"
|
||||
- name: Checkout submodules
|
||||
run: git submodule update --init
|
||||
- name: Update submodules
|
||||
id: status
|
||||
run: |
|
||||
git submodule update --init
|
||||
git submodule update --remote --merge
|
||||
if [ -n "$(git status --porcelain)" ]; then
|
||||
echo "::set-output name=has_changes::1"
|
||||
fi
|
||||
- name: Push changes
|
||||
run: |
|
||||
git add .
|
||||
git commit -m "Update submodules"
|
||||
git push origin sources
|
||||
if: steps.status.outputs.has_changes == '1'
|
81
gui/.github/workflows/gui-ci.yml
vendored
81
gui/.github/workflows/gui-ci.yml
vendored
@ -8,7 +8,7 @@ name: GUI CI
|
||||
- push
|
||||
jobs:
|
||||
version_assertions:
|
||||
name: Version Assertions
|
||||
name: Assertions
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
@ -16,7 +16,7 @@ jobs:
|
||||
- macOS-latest
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v1
|
||||
- name: Read changelog info
|
||||
id: changelog
|
||||
run: |2-
|
||||
@ -42,6 +42,23 @@ jobs:
|
||||
run: >-
|
||||
if [[ ${{ steps.checkCurrentReleaseTag.outputs.exists }} == true ]];
|
||||
then exit 1; fi
|
||||
- name: Get list of changed files
|
||||
id: changed_files
|
||||
run: |2-
|
||||
|
||||
list=`git diff --name-only origin/develop HEAD | tr '\n' ' '`
|
||||
echo $list
|
||||
echo "::set-output name=list::'$list'"
|
||||
|
||||
shell: bash
|
||||
- name: Assert if CHANGELOG.md was updated
|
||||
run: >-
|
||||
if [[ ${{ contains(steps.changed_files.outputs.list,'CHANGELOG.md') ||
|
||||
contains(github.event.head_commit.message,'[ci no changelog needed]')
|
||||
}} == false ]]; then exit 1; fi
|
||||
if: >-
|
||||
github.ref != 'refs/heads/develop' && github.ref !=
|
||||
'refs/heads/stable' && github.ref != 'refs/heads/unstable'
|
||||
lint:
|
||||
name: Linter
|
||||
runs-on: ${{ matrix.os }}
|
||||
@ -51,7 +68,7 @@ jobs:
|
||||
- macOS-latest
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Node
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
@ -78,7 +95,7 @@ jobs:
|
||||
- macOS-latest
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Node
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
@ -99,7 +116,7 @@ jobs:
|
||||
- macOS-latest
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Node
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
@ -153,7 +170,7 @@ jobs:
|
||||
- macOS-latest
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install Node
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
@ -214,7 +231,7 @@ jobs:
|
||||
- ubuntu-latest
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v1
|
||||
- name: Read changelog info
|
||||
id: changelog
|
||||
run: |2-
|
||||
@ -281,6 +298,36 @@ jobs:
|
||||
name: content
|
||||
path: dist/content
|
||||
if: matrix.os == 'macOS-latest'
|
||||
- name: Upload Artifacts (macOS, dmg)
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: enso-mac-${{fromJson(steps.changelog.outputs.content).version}}.dmg
|
||||
path: >-
|
||||
dist/client/enso-mac-${{fromJson(steps.changelog.outputs.content).version}}.dmg
|
||||
if: matrix.os == 'macos-latest'
|
||||
- name: Upload Artifacts (macOS, dmg.sha256)
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: >-
|
||||
enso-mac-${{fromJson(steps.changelog.outputs.content).version}}.dmg.sha256
|
||||
path: >-
|
||||
dist/client/enso-mac-${{fromJson(steps.changelog.outputs.content).version}}.dmg.sha256
|
||||
if: matrix.os == 'macos-latest'
|
||||
- name: Upload Artifacts (Windows, exe)
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: enso-win-${{fromJson(steps.changelog.outputs.content).version}}.exe
|
||||
path: >-
|
||||
dist/client/enso-win-${{fromJson(steps.changelog.outputs.content).version}}.exe
|
||||
if: matrix.os == 'windows-latest'
|
||||
- name: Upload Artifacts (Windows, exe.sha256)
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: >-
|
||||
enso-win-${{fromJson(steps.changelog.outputs.content).version}}.exe.sha256
|
||||
path: >-
|
||||
dist/client/enso-win-${{fromJson(steps.changelog.outputs.content).version}}.exe.sha256
|
||||
if: matrix.os == 'windows-latest'
|
||||
- name: Upload Artifacts (Linux, AppImage)
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
@ -289,20 +336,14 @@ jobs:
|
||||
path: >-
|
||||
dist/client/enso-linux-${{fromJson(steps.changelog.outputs.content).version}}.AppImage
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
- name: Upload Artifacts (Windows, exe)
|
||||
- name: Upload Artifacts (Linux, AppImage.sha256)
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: enso-win-${{fromJson(steps.changelog.outputs.content).version}}.exe
|
||||
name: >-
|
||||
enso-linux-${{fromJson(steps.changelog.outputs.content).version}}.AppImage.sha256
|
||||
path: >-
|
||||
dist/client/enso-win-${{fromJson(steps.changelog.outputs.content).version}}.exe
|
||||
if: matrix.os == 'windows-latest'
|
||||
- name: Upload Artifacts (macOS, dmg)
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: enso-mac-${{fromJson(steps.changelog.outputs.content).version}}.dmg
|
||||
path: >-
|
||||
dist/client/enso-mac-${{fromJson(steps.changelog.outputs.content).version}}.dmg
|
||||
if: matrix.os == 'macos-latest'
|
||||
dist/client/enso-linux-${{fromJson(steps.changelog.outputs.content).version}}.AppImage.sha256
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
if: >-
|
||||
contains(github.event.head_commit.message,'[ci build]') || github.ref ==
|
||||
'refs/heads/main' || github.ref == 'refs/heads/develop' || github.ref ==
|
||||
@ -316,7 +357,7 @@ jobs:
|
||||
- macOS-latest
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v1
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
@ -366,7 +407,7 @@ jobs:
|
||||
- ubuntu-latest
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v1
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
|
4
gui/.gitignore
vendored
4
gui/.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
# Outputs
|
||||
dist
|
||||
|
||||
# Rust
|
||||
@ -17,3 +18,6 @@ wasm-pack.log
|
||||
# JavaScript
|
||||
node_modules
|
||||
.nvmrc
|
||||
|
||||
# MacOS
|
||||
.DS_Store
|
||||
|
@ -171,7 +171,7 @@ commands.build.rust = async function(argv) {
|
||||
|
||||
console.log('Checking the resulting WASM size.')
|
||||
let stats = fss.statSync(paths.dist.wasm.mainOptGz)
|
||||
let limit = 4.28
|
||||
let limit = 4.29
|
||||
let size = Math.round(100 * stats.size / 1024 / 1024) / 100
|
||||
if (size > limit) {
|
||||
throw(`Output file size exceeds the limit (${size}MB > ${limit}MB).`)
|
||||
|
@ -13,9 +13,11 @@ const yaml = require('js-yaml')
|
||||
// === Constants ===
|
||||
// =================
|
||||
|
||||
const NODE_VERSION = '14.15.0'
|
||||
const RUST_VERSION = 'nightly-2019-11-04'
|
||||
const WASM_PACK_VERSION = '0.9.1'
|
||||
const NODE_VERSION = '14.15.0'
|
||||
const RUST_VERSION = 'nightly-2019-11-04'
|
||||
const WASM_PACK_VERSION = '0.9.1'
|
||||
const FLAG_NO_CHANGELOG_NEEDED = '[ci no changelog needed]'
|
||||
const FLAG_FORCE_CI_BUILD = '[ci build]'
|
||||
|
||||
|
||||
|
||||
@ -34,7 +36,10 @@ function job(platforms,name,steps,cfg) {
|
||||
},
|
||||
"fail-fast": false
|
||||
},
|
||||
steps : list({uses:"actions/checkout@v2"}, ...steps),
|
||||
// WARNING!
|
||||
// Do not update to `checkout@v2` because it is broken:
|
||||
// https://github.com/actions/checkout/issues/438
|
||||
steps : list({uses:"actions/checkout@v1"}, ...steps),
|
||||
...cfg
|
||||
}
|
||||
}
|
||||
@ -186,9 +191,16 @@ function uploadBinArtifactsFor(name,sys,ext,os) {
|
||||
}
|
||||
}
|
||||
|
||||
uploadBinArtifactsForMacOS = uploadBinArtifactsFor('Linux','ubuntu','AppImage','linux')
|
||||
uploadBinArtifactsForWindows = uploadBinArtifactsFor('Windows','windows','exe','win')
|
||||
uploadBinArtifactsForLinux = uploadBinArtifactsFor('macOS','macos','dmg','mac')
|
||||
function uploadBinArtifactsWithChecksumsFor(name,sys,ext,os) {
|
||||
return [
|
||||
uploadBinArtifactsFor(name,sys,ext,os),
|
||||
uploadBinArtifactsFor(name,sys,ext+'.sha256',os)
|
||||
]
|
||||
}
|
||||
|
||||
uploadBinArtifactsForMacOS = uploadBinArtifactsWithChecksumsFor('macOS','macos','dmg','mac')
|
||||
uploadBinArtifactsForLinux = uploadBinArtifactsWithChecksumsFor('Linux','ubuntu','AppImage','linux')
|
||||
uploadBinArtifactsForWindows = uploadBinArtifactsWithChecksumsFor('Windows','windows','exe','win')
|
||||
|
||||
let downloadArtifacts = {
|
||||
name: "Download artifacts",
|
||||
@ -200,9 +212,27 @@ let downloadArtifacts = {
|
||||
|
||||
|
||||
|
||||
// ======================
|
||||
// === GitHub Release ===
|
||||
// ======================
|
||||
// ===========
|
||||
// === Git ===
|
||||
// ===========
|
||||
|
||||
/// Gets a space-separated list of changed files between this commit and the `develop` branch.
|
||||
let getListOfChangedFiles = {
|
||||
name: 'Get list of changed files',
|
||||
id: 'changed_files',
|
||||
run: `
|
||||
list=\`git diff --name-only origin/develop HEAD | tr '\\n' ' '\`
|
||||
echo $list
|
||||
echo "::set-output name=list::'$list'"
|
||||
`,
|
||||
shell: 'bash'
|
||||
}
|
||||
|
||||
|
||||
|
||||
// =================
|
||||
// === Changelog ===
|
||||
// =================
|
||||
|
||||
let getCurrentReleaseChangelogInfo = {
|
||||
name: 'Read changelog info',
|
||||
@ -215,6 +245,21 @@ let getCurrentReleaseChangelogInfo = {
|
||||
shell: 'bash'
|
||||
}
|
||||
|
||||
let assertChangelogWasUpdated = [
|
||||
getListOfChangedFiles,
|
||||
{
|
||||
name: 'Assert if CHANGELOG.md was updated',
|
||||
run: `if [[ \${{ contains(steps.changed_files.outputs.list,'CHANGELOG.md') || contains(github.event.head_commit.message,'${FLAG_NO_CHANGELOG_NEEDED}') }} == false ]]; then exit 1; fi`,
|
||||
if: `github.ref != 'refs/heads/develop' && github.ref != 'refs/heads/stable' && github.ref != 'refs/heads/unstable'`
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
|
||||
// ======================
|
||||
// === GitHub Release ===
|
||||
// ======================
|
||||
|
||||
let uploadGitHubRelease = {
|
||||
name: `Upload GitHub Release`,
|
||||
uses: "softprops/action-gh-release@v1",
|
||||
@ -301,7 +346,8 @@ let assertReleaseDoNotExists = [
|
||||
let assertions = list(
|
||||
assertVersionUnstable,
|
||||
assertVersionStable,
|
||||
assertReleaseDoNotExists
|
||||
assertReleaseDoNotExists,
|
||||
assertChangelogWasUpdated
|
||||
)
|
||||
|
||||
|
||||
@ -311,13 +357,13 @@ let assertions = list(
|
||||
// ================
|
||||
|
||||
let releaseCondition = `github.ref == 'refs/heads/unstable' || github.ref == 'refs/heads/stable'`
|
||||
let buildCondition = `contains(github.event.head_commit.message,'[ci build]') || github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop' || ${releaseCondition}`
|
||||
let buildCondition = `contains(github.event.head_commit.message,'${FLAG_FORCE_CI_BUILD}') || github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop' || ${releaseCondition}`
|
||||
|
||||
let workflow = {
|
||||
name : "GUI CI",
|
||||
on: ['push'],
|
||||
jobs: {
|
||||
version_assertions: job_on_macos("Version Assertions", [
|
||||
version_assertions: job_on_macos("Assertions", [
|
||||
getCurrentReleaseChangelogInfo,
|
||||
assertions
|
||||
]),
|
||||
|
@ -261,6 +261,12 @@ By default, CI would not build artifacts from `wip` and `develop` branches in or
|
||||
resources. If you want the artifacts to be build for your commit, simply add `[ci build]` anywhere
|
||||
in your commit message.
|
||||
|
||||
|
||||
### Skipping CHANGELOG.md change assertions
|
||||
By default, CI would fail if the `CHANGELOG.md` file does not need to be updated. However, sometimes
|
||||
there are PRs that does not change anything significant in the final product. You can then simply
|
||||
add `[ci no changelog needed]` anywhere in your commit message to skip this assertion.
|
||||
|
||||
|
||||
### Publishing Results
|
||||
All new changes should be proposed in the form of Pull Requests (PRs) to this repository. Each PR
|
||||
|
@ -30,7 +30,8 @@ let config = {
|
||||
"copy-webpack-plugin": "^5.1.1",
|
||||
"devtron": "^1.4.0",
|
||||
"electron": "11.1.1",
|
||||
"electron-builder": "^22.9.1"
|
||||
"electron-builder": "^22.9.1",
|
||||
"crypto-js": "4.0.0"
|
||||
},
|
||||
|
||||
scripts: {
|
||||
@ -46,15 +47,21 @@ config.build = {
|
||||
copyright: 'Copyright © 2021 ${author}.',
|
||||
artifactName: 'enso-${os}-${version}.${ext}',
|
||||
mac: {
|
||||
// We do not use compression as the build time is huge and file size saving is almost zero.
|
||||
target: ['dmg'],
|
||||
icon: `${paths.dist.root}/icons/icon.icns`,
|
||||
category: 'public.app-category.developer-tools',
|
||||
darkModeSupport: true,
|
||||
type: 'distribution',
|
||||
},
|
||||
win: {
|
||||
// We do not use compression as the build time is huge and file size saving is almost zero.
|
||||
target: ['nsis'],
|
||||
icon: `${paths.dist.root}/icons/icon.ico`,
|
||||
},
|
||||
linux: {
|
||||
// We do not use compression as the build time is huge and file size saving is almost zero.
|
||||
target: ['AppImage'],
|
||||
icon: `${paths.dist.root}/icons/png`,
|
||||
category: 'Development',
|
||||
},
|
||||
@ -95,6 +102,7 @@ config.build = {
|
||||
writeUpdateInfo: false
|
||||
},
|
||||
publish: [],
|
||||
afterAllArtifactBuild: 'tasks/computeHashes.js'
|
||||
}
|
||||
|
||||
module.exports = {config}
|
||||
|
56
gui/src/js/lib/client/tasks/computeHashes.js
Normal file
56
gui/src/js/lib/client/tasks/computeHashes.js
Normal file
@ -0,0 +1,56 @@
|
||||
const crypto = require('crypto');
|
||||
const fs = require('fs');
|
||||
const glob = require('glob');
|
||||
const paths = require('../../../../../build/paths')
|
||||
|
||||
|
||||
|
||||
// =================
|
||||
// === Constants ===
|
||||
// =================
|
||||
|
||||
const CHECKSUM_TYPE = 'sha256'
|
||||
|
||||
|
||||
|
||||
// ================
|
||||
// === Checksum ===
|
||||
// ================
|
||||
|
||||
/// The `type` argument can be one of `md5`, `sha1`, or `sha256`.
|
||||
function getChecksum(path,type) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
const hash = crypto.createHash(type);
|
||||
const input = fs.createReadStream(path);
|
||||
input.on('error', reject);
|
||||
input.on('data', function (chunk) {
|
||||
hash.update(chunk);
|
||||
});
|
||||
input.on('close', function () {
|
||||
resolve(hash.digest('hex'));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function writeFileChecksum(path,type) {
|
||||
let checksum = await getChecksum(path,type)
|
||||
let targetPath = `${path}.${type}`
|
||||
fs.writeFile(targetPath,checksum,'utf8',(err) => {
|
||||
if (err) { throw err }
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ================
|
||||
// === Callback ===
|
||||
// ================
|
||||
|
||||
exports.default = async function () {
|
||||
let files = glob.sync(paths.dist.client + '/*.{dmg,exe,AppImage}')
|
||||
for (let file of files) {
|
||||
console.log(`Generating ${CHECKSUM_TYPE} checksum for ${file}.`)
|
||||
await writeFileChecksum(file,CHECKSUM_TYPE)
|
||||
}
|
||||
return []
|
||||
}
|
105
gui/src/js/package-lock.json
generated
105
gui/src/js/package-lock.json
generated
@ -10,12 +10,12 @@
|
||||
"integrity": "sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA=="
|
||||
},
|
||||
"@babel/code-frame": {
|
||||
"version": "7.12.11",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
|
||||
"integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
|
||||
"version": "7.12.13",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
|
||||
"integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/highlight": "^7.10.4"
|
||||
"@babel/highlight": "^7.12.13"
|
||||
}
|
||||
},
|
||||
"@babel/helper-validator-identifier": {
|
||||
@ -25,12 +25,12 @@
|
||||
"dev": true
|
||||
},
|
||||
"@babel/highlight": {
|
||||
"version": "7.10.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
|
||||
"integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
|
||||
"version": "7.12.13",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz",
|
||||
"integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-validator-identifier": "^7.10.4",
|
||||
"@babel/helper-validator-identifier": "^7.12.11",
|
||||
"chalk": "^2.0.0",
|
||||
"js-tokens": "^4.0.0"
|
||||
}
|
||||
@ -399,16 +399,6 @@
|
||||
"y18n": "^4.0.0",
|
||||
"yargs-parser": "^15.0.1"
|
||||
}
|
||||
},
|
||||
"yargs-parser": {
|
||||
"version": "15.0.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
|
||||
"integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"camelcase": "^5.0.0",
|
||||
"decamelize": "^1.2.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1223,9 +1213,9 @@
|
||||
}
|
||||
},
|
||||
"@octokit/openapi-types": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-3.3.0.tgz",
|
||||
"integrity": "sha512-s3dd32gagPmKaSLNJ9aPNok7U+tl69YLESf6DgQz5Ml/iipPZtif3GLvWpNXoA6qspFm1LFUZX+C3SqWX/Y/TQ==",
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-4.0.1.tgz",
|
||||
"integrity": "sha512-k2hRcfcLRyPJjtYfJLzg404n7HZ6sUpAWAR/uNI8tf96NgatWOpw1ocdF+WFfx/trO1ivBh7ckynO1rn+xAw/Q==",
|
||||
"dev": true
|
||||
},
|
||||
"@octokit/plugin-enterprise-rest": {
|
||||
@ -1282,14 +1272,14 @@
|
||||
}
|
||||
},
|
||||
"@octokit/request": {
|
||||
"version": "5.4.13",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.13.tgz",
|
||||
"integrity": "sha512-WcNRH5XPPtg7i1g9Da5U9dvZ6YbTffw9BN2rVezYiE7couoSyaRsw0e+Tl8uk1fArHE7Dn14U7YqUDy59WaqEw==",
|
||||
"version": "5.4.14",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.14.tgz",
|
||||
"integrity": "sha512-VkmtacOIQp9daSnBmDI92xNIeLuSRDOIuplp/CJomkvzt7M18NXgG044Cx/LFKLgjKt9T2tZR6AtJayba9GTSA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@octokit/endpoint": "^6.0.1",
|
||||
"@octokit/request-error": "^2.0.0",
|
||||
"@octokit/types": "^6.0.3",
|
||||
"@octokit/types": "^6.7.1",
|
||||
"deprecation": "^2.0.0",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"node-fetch": "^2.6.1",
|
||||
@ -1369,12 +1359,12 @@
|
||||
}
|
||||
},
|
||||
"@octokit/types": {
|
||||
"version": "6.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.6.0.tgz",
|
||||
"integrity": "sha512-nmFoU3HCbw1AmnZU/eto2VvzV06+N7oAqXwMmAHGlNDF+KFykksh/VlAl85xc1P5T7Mw8fKYvXNaImNHCCH/rg==",
|
||||
"version": "6.8.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.8.2.tgz",
|
||||
"integrity": "sha512-RpG0NJd7OKSkWptiFhy1xCLkThs5YoDIKM21lEtDmUvSpbaIEfrxzckWLUGDFfF8RydSyngo44gDv8m2hHruUg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^3.3.0",
|
||||
"@octokit/openapi-types": "^4.0.0",
|
||||
"@types/node": ">= 8"
|
||||
}
|
||||
},
|
||||
@ -2215,9 +2205,9 @@
|
||||
}
|
||||
},
|
||||
"before-after-hook": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz",
|
||||
"integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==",
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.1.tgz",
|
||||
"integrity": "sha512-5ekuQOvO04MDj7kYZJaMab2S8SPjGJbotVNyv7QYFCOAwrGZs/YnoDNlh1U+m5hl7H2D/+n0taaAV/tfyd3KMA==",
|
||||
"dev": true
|
||||
},
|
||||
"big-integer": {
|
||||
@ -4071,6 +4061,11 @@
|
||||
"randomfill": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"crypto-js": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz",
|
||||
"integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg=="
|
||||
},
|
||||
"crypto-random-string": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
|
||||
@ -4729,6 +4724,11 @@
|
||||
"y18n": "^5.0.5",
|
||||
"yargs-parser": "^20.2.2"
|
||||
}
|
||||
},
|
||||
"yargs-parser": {
|
||||
"version": "20.2.4",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
|
||||
"integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4906,9 +4906,9 @@
|
||||
"integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA=="
|
||||
},
|
||||
"envinfo": {
|
||||
"version": "7.7.3",
|
||||
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz",
|
||||
"integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==",
|
||||
"version": "7.7.4",
|
||||
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz",
|
||||
"integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==",
|
||||
"dev": true
|
||||
},
|
||||
"err-code": {
|
||||
@ -8026,6 +8026,12 @@
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
},
|
||||
"yargs-parser": {
|
||||
"version": "20.2.4",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
|
||||
"integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -8928,9 +8934,9 @@
|
||||
}
|
||||
},
|
||||
"get-intrinsic": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz",
|
||||
"integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==",
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
|
||||
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1",
|
||||
@ -9826,9 +9832,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"json5": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
|
||||
"integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
|
||||
"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
|
||||
"requires": {
|
||||
"minimist": "^1.2.5"
|
||||
}
|
||||
@ -11820,9 +11826,9 @@
|
||||
"integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw=="
|
||||
},
|
||||
"uglify-js": {
|
||||
"version": "3.12.5",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.5.tgz",
|
||||
"integrity": "sha512-SgpgScL4T7Hj/w/GexjnBHi3Ien9WS1Rpfg5y91WXMj9SY997ZCQU76mH4TpLwwfmMvoOU8wiaRkIf6NaH3mtg==",
|
||||
"version": "3.12.6",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.6.tgz",
|
||||
"integrity": "sha512-aqWHe3DfQmZUDGWBbabZ2eQnJlQd1fKlMUu7gV+MiTuDzdgDw31bI3wA2jLLsV/hNcDP26IfyEgSVoft5+0SVw==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
@ -13292,9 +13298,14 @@
|
||||
}
|
||||
},
|
||||
"yargs-parser": {
|
||||
"version": "20.2.4",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
|
||||
"integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA=="
|
||||
"version": "15.0.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
|
||||
"integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"camelcase": "^5.0.0",
|
||||
"decamelize": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"yauzl": {
|
||||
"version": "2.10.0",
|
||||
|
Loading…
Reference in New Issue
Block a user