mirror of
https://github.com/shimataro/ssh-key-action.git
synced 2025-06-19 22:52:10 +10:00
commit
93db528dfa
8 changed files with 263 additions and 136 deletions
4
.github/workflows/verify.yml
vendored
4
.github/workflows/verify.yml
vendored
|
@ -15,7 +15,7 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
uses: shimataro/ssh-key-action@development
|
uses: shimataro/ssh-key-action@HEAD
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY }}
|
private-key: ${{ secrets.SSH_KEY }}
|
||||||
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
||||||
|
@ -36,7 +36,7 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
uses: shimataro/ssh-key-action@development
|
uses: shimataro/ssh-key-action@HEAD
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY }}
|
private-key: ${{ secrets.SSH_KEY }}
|
||||||
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
||||||
|
|
|
@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [1.5.0]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
* Append contents of `config` and `known_hosts` when called multiple times.
|
||||||
|
|
||||||
## [1.4.0]
|
## [1.4.0]
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
@ -41,7 +47,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||||
|
|
||||||
* First release.
|
* First release.
|
||||||
|
|
||||||
[Unreleased]: https://github.com/shimataro/ssh-key-action/compare/v1.4.0...HEAD
|
[Unreleased]: https://github.com/shimataro/ssh-key-action/compare/v1.5.0...HEAD
|
||||||
|
[1.5.0]: https://github.com/shimataro/ssh-key-action/compare/v1.4.0...v1.5.0
|
||||||
[1.4.0]: https://github.com/shimataro/ssh-key-action/compare/v1.3.0...v1.4.0
|
[1.4.0]: https://github.com/shimataro/ssh-key-action/compare/v1.3.0...v1.4.0
|
||||||
[1.3.0]: https://github.com/shimataro/ssh-key-action/compare/v1.2.0...v1.3.0
|
[1.3.0]: https://github.com/shimataro/ssh-key-action/compare/v1.2.0...v1.3.0
|
||||||
[1.2.0]: https://github.com/shimataro/ssh-key-action/compare/v1.1.0...v1.2.0
|
[1.2.0]: https://github.com/shimataro/ssh-key-action/compare/v1.1.0...v1.2.0
|
||||||
|
|
41
README.md
41
README.md
|
@ -32,6 +32,47 @@ steps:
|
||||||
|
|
||||||
See [Workflow syntax for GitHub Actions](https://help.github.com/en/articles/workflow-syntax-for-github-actions) for details.
|
See [Workflow syntax for GitHub Actions](https://help.github.com/en/articles/workflow-syntax-for-github-actions) for details.
|
||||||
|
|
||||||
|
### Install multiple keys
|
||||||
|
|
||||||
|
If you want to install multiple keys, call this action multiple times.
|
||||||
|
It is useful for port forwarding.
|
||||||
|
|
||||||
|
**NOTE:** When this action is called multiple times, **the contents of `known-hosts` and `config` will be appended**. But `public-key` and `private-key` must be saved as different name, by using `name` option.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Install SSH key of bastion
|
||||||
|
uses: shimataro/ssh-key-action@v1
|
||||||
|
with:
|
||||||
|
private-key: ${{ secrets.SSH_KEY_OF_BASTION }}
|
||||||
|
public-key: ${{ secrets.SSH_KEY_OF_BASTION_PUBLIC }}
|
||||||
|
name: id_rsa-bastion
|
||||||
|
known-hosts: ${{ secrets.KNOWN_HOSTS_OF_BASTION }}
|
||||||
|
config: |
|
||||||
|
Host bastion
|
||||||
|
HostName xxx.xxx.xxx.xxx
|
||||||
|
User user-of-bastion
|
||||||
|
IdentityFile ~/.ssh/id_rsa-bastion
|
||||||
|
- name: Install SSH key of target
|
||||||
|
uses: shimataro/ssh-key-action@v1
|
||||||
|
with:
|
||||||
|
private-key: ${{ secrets.SSH_KEY_OF_TARGET }}
|
||||||
|
public-key: ${{ secrets.SSH_KEY_OF_TARGET_PUBLIC }}
|
||||||
|
name: id_rsa-target
|
||||||
|
known-hosts: ${{ secrets.KNOWN_HOSTS_OF_TARGET }} # will be appended!
|
||||||
|
config: | # will be appended!
|
||||||
|
Host target
|
||||||
|
HostName yyy.yyy.yyy.yyy
|
||||||
|
User user-of-target
|
||||||
|
IdentityFile ~/.ssh/id_rsa-target
|
||||||
|
ProxyCommand ssh -W %h:%p bastion
|
||||||
|
- name: Install packages
|
||||||
|
run: apt install openssh-client
|
||||||
|
- name: SCP via port-forwarding
|
||||||
|
run: scp ./foo/ target:bar/
|
||||||
|
```
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
The scripts and documentation in this project are released under the [MIT License](LICENSE)
|
The scripts and documentation in this project are released under the [MIT License](LICENSE)
|
||||||
|
|
30
lib/main.js
30
lib/main.js
|
@ -19,23 +19,39 @@ function main() {
|
||||||
const files = [
|
const files = [
|
||||||
{
|
{
|
||||||
name: name,
|
name: name,
|
||||||
|
contents: core.getInput("private-key", {
|
||||||
|
required: true,
|
||||||
|
}),
|
||||||
|
options: {
|
||||||
mode: 0o400,
|
mode: 0o400,
|
||||||
contents: core.getInput("private-key"),
|
flag: "ax",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: `${name}.pub`,
|
name: `${name}.pub`,
|
||||||
|
contents: core.getInput("public-key", {
|
||||||
|
required: true,
|
||||||
|
}),
|
||||||
|
options: {
|
||||||
mode: 0o444,
|
mode: 0o444,
|
||||||
contents: core.getInput("public-key"),
|
flag: "ax",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "known_hosts",
|
name: "known_hosts",
|
||||||
|
contents: core.getInput("known-hosts") + "\n",
|
||||||
|
options: {
|
||||||
mode: 0o644,
|
mode: 0o644,
|
||||||
contents: core.getInput("known-hosts"),
|
flag: "a",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "config",
|
name: "config",
|
||||||
|
contents: core.getInput("config") + "\n",
|
||||||
|
options: {
|
||||||
mode: 0o644,
|
mode: 0o644,
|
||||||
contents: core.getInput("config"),
|
flag: "a",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
// create ".ssh" directory
|
// create ".ssh" directory
|
||||||
|
@ -48,9 +64,7 @@ function main() {
|
||||||
// create files
|
// create files
|
||||||
for (const file of files) {
|
for (const file of files) {
|
||||||
const fileName = path.join(dirName, file.name);
|
const fileName = path.join(dirName, file.name);
|
||||||
fs.writeFileSync(fileName, file.contents, {
|
fs.writeFileSync(fileName, file.contents, file.options);
|
||||||
mode: file.mode,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
console.log(`SSH key has been stored to ${dirName} successfully.`);
|
console.log(`SSH key has been stored to ${dirName} successfully.`);
|
||||||
}
|
}
|
||||||
|
@ -66,7 +80,7 @@ function getHomeDirectory() {
|
||||||
const homeEnv = process.platform == "win32" ? "USERPROFILE" : "HOME";
|
const homeEnv = process.platform == "win32" ? "USERPROFILE" : "HOME";
|
||||||
const home = process.env[homeEnv];
|
const home = process.env[homeEnv];
|
||||||
if (home === undefined) {
|
if (home === undefined) {
|
||||||
throw new Error(`${homeEnv} is not defined`);
|
throw Error(`${homeEnv} is not defined`);
|
||||||
}
|
}
|
||||||
return home;
|
return home;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAsC;AAStC;;GAEG;AACH,SAAS,IAAI;IAEZ,IACA;QACC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAW,CAAC;QAC7C,MAAM,KAAK,GAAe;YACzB;gBACC,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;aACtC;YACD;gBACC,IAAI,EAAE,GAAG,IAAI,MAAM;gBACnB,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;aACrC;YACD;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;aACtC;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACjC;SACD,CAAC;QAEF,0BAA0B;QAC1B,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE;YACrB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,KAAK;SACX,CAAC,CAAC;QAEH,eAAe;QACf,KAAI,MAAM,IAAI,IAAI,KAAK,EACvB;YACC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACzC,IAAI,EAAE,IAAI,CAAC,IAAI;aACf,CAAC,CAAC;SACH;QAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,gBAAgB,CAAC,CAAC;KACnE;IACD,OAAM,GAAG,EACT;QACC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAC5B;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB;IAExB,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,IAAG,IAAI,KAAK,SAAS,EACrB;QACC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,iBAAiB,CAAC,CAAC;KAC7C;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,IAAI,EAAE,CAAC"}
|
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAsC;AAStC;;GAEG;AACH,SAAS,IAAI;IAEZ,IACA;QACC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,KAAK,GAAe;YACzB;gBACC,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;oBACtC,QAAQ,EAAE,IAAI;iBACd,CAAC;gBACF,OAAO,EAAE;oBACR,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,IAAI;iBACV;aACD;YACD;gBACC,IAAI,EAAE,GAAG,IAAI,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;oBACrC,QAAQ,EAAE,IAAI;iBACd,CAAC;gBACF,OAAO,EAAE;oBACR,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,IAAI;iBACV;aACD;YACD;gBACC,IAAI,EAAE,aAAa;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;gBAC7C,OAAO,EAAE;oBACR,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,GAAG;iBACT;aACD;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;gBACxC,OAAO,EAAE;oBACR,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,GAAG;iBACT;aACD;SACD,CAAC;QAEF,0BAA0B;QAC1B,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE;YACrB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,KAAK;SACX,CAAC,CAAC;QAEH,eAAe;QACf,KAAI,MAAM,IAAI,IAAI,KAAK,EACvB;YACC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACxD;QAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,gBAAgB,CAAC,CAAC;KACnE;IACD,OAAM,GAAG,EACT;QACC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAC5B;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB;IAExB,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,IAAG,IAAI,KAAK,SAAS,EACrB;QACC,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,CAAC,CAAC;KACzC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,IAAI,EAAE,CAAC"}
|
259
package-lock.json
generated
259
package-lock.json
generated
|
@ -9,6 +9,24 @@
|
||||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.0.tgz",
|
||||||
"integrity": "sha512-ZKdyhlSlyz38S6YFfPnyNgCDZuAF2T0Qv5eHflNWytPS8Qjvz39bZFMry9Bb/dpSnqWcNeav5yM2CTYpJeY+Dw=="
|
"integrity": "sha512-ZKdyhlSlyz38S6YFfPnyNgCDZuAF2T0Qv5eHflNWytPS8Qjvz39bZFMry9Bb/dpSnqWcNeav5yM2CTYpJeY+Dw=="
|
||||||
},
|
},
|
||||||
|
"@npmcli/ci-detect": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-5Kp/ijewcOJonsiq+ydxDT6gxVPIvV0tNaxD9WAm2xya5EGhuyV8Ww+JswEXr5q677x5NVgU6eU/b2WlUiktrg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"@npmcli/installed-package-contents": {
|
||||||
|
"version": "1.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.5.tgz",
|
||||||
|
"integrity": "sha512-aKIwguaaqb6ViwSOFytniGvLPb9SMCUm39TgM3SfUo7n0TxUMbwoXfpwyvQ4blm10lzbAwTsvjr7QZ85LvTi4A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"npm-bundled": "^1.1.1",
|
||||||
|
"npm-normalize-package-bin": "^1.0.1",
|
||||||
|
"read-package-json-fast": "^1.1.1",
|
||||||
|
"readdir-scoped-modules": "^1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@sindresorhus/is": {
|
"@sindresorhus/is": {
|
||||||
"version": "0.14.0",
|
"version": "0.14.0",
|
||||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
|
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
|
||||||
|
@ -31,26 +49,25 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "12.12.21",
|
"version": "13.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.21.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.1.tgz",
|
||||||
"integrity": "sha512-8sRGhbpU+ck1n0PGAUgVrWrWdjSW2aqNeyC15W88GRsMpSwzv6RJGlLhE7s2RhVSOdyDmxbqlWSeThq4/7xqlA==",
|
"integrity": "sha512-hx6zWtudh3Arsbl3cXay+JnkvVgCKzCWKv42C9J01N2T2np4h8w5X8u6Tpz5mj38kE3M9FM0Pazx8vKFFMnjLQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"agent-base": {
|
"agent-base": {
|
||||||
"version": "4.3.0",
|
"version": "5.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
|
||||||
"integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
|
"integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"requires": {
|
|
||||||
"es6-promisify": "^5.0.0"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"agentkeepalive": {
|
"agentkeepalive": {
|
||||||
"version": "3.5.2",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.0.tgz",
|
||||||
"integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==",
|
"integrity": "sha512-CW/n1wxF8RpEuuiq6Vbn9S8m0VSYDMnZESqaJ6F2cWN9fY8rei2qaxweIaRgq+ek8TqfoFIsUjaGNKGGEHElSg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
|
"debug": "^4.1.0",
|
||||||
|
"depd": "^1.1.2",
|
||||||
"humanize-ms": "^1.2.1"
|
"humanize-ms": "^1.2.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -104,18 +121,18 @@
|
||||||
"sprintf-js": "~1.0.2"
|
"sprintf-js": "~1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"asap": {
|
||||||
|
"version": "2.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
||||||
|
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"balanced-match": {
|
"balanced-match": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
||||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
|
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"bluebird": {
|
|
||||||
"version": "3.7.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
|
|
||||||
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"boxen": {
|
"boxen": {
|
||||||
"version": "3.2.0",
|
"version": "3.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz",
|
||||||
|
@ -250,12 +267,6 @@
|
||||||
"pump": "^3.0.0"
|
"pump": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"http-cache-semantics": {
|
|
||||||
"version": "4.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz",
|
|
||||||
"integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"lowercase-keys": {
|
"lowercase-keys": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
|
||||||
|
@ -440,21 +451,19 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "3.1.0",
|
"version": "4.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ms": "2.0.0"
|
"ms": "^2.1.1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"debuglog": {
|
||||||
"ms": {
|
"version": "1.0.1",
|
||||||
"version": "2.0.0",
|
"resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
"integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
|
||||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
|
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"decompress-response": {
|
"decompress-response": {
|
||||||
"version": "3.3.0",
|
"version": "3.3.0",
|
||||||
|
@ -477,6 +486,22 @@
|
||||||
"integrity": "sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ==",
|
"integrity": "sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"depd": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
|
||||||
|
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"dezalgo": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
|
||||||
|
"integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"asap": "^2.0.0",
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"dot-prop": {
|
"dot-prop": {
|
||||||
"version": "4.2.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
|
||||||
|
@ -716,29 +741,29 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"http-cache-semantics": {
|
"http-cache-semantics": {
|
||||||
"version": "3.8.1",
|
"version": "4.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz",
|
||||||
"integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
|
"integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"http-proxy-agent": {
|
"http-proxy-agent": {
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-3.0.0.tgz",
|
||||||
"integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
|
"integrity": "sha512-uGuJaBWQWDQCJI5ip0d/VTYZW0nRrlLWXA4A7P1jrsa+f77rW2yXz315oBt6zGCF6l8C2tlMxY7ffULCj+5FhA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"agent-base": "4",
|
"agent-base": "5",
|
||||||
"debug": "3.1.0"
|
"debug": "4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"https-proxy-agent": {
|
"https-proxy-agent": {
|
||||||
"version": "3.0.1",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
|
||||||
"integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==",
|
"integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"agent-base": "^4.3.0",
|
"agent-base": "5",
|
||||||
"debug": "^3.1.0"
|
"debug": "4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"humanize-ms": {
|
"humanize-ms": {
|
||||||
|
@ -852,6 +877,12 @@
|
||||||
"is-path-inside": "^1.0.0"
|
"is-path-inside": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"is-lambda": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
|
||||||
|
"integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"is-npm": {
|
"is-npm": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz",
|
||||||
|
@ -1076,16 +1107,17 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"make-fetch-happen": {
|
"make-fetch-happen": {
|
||||||
"version": "6.1.0",
|
"version": "7.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-7.1.0.tgz",
|
||||||
"integrity": "sha512-Q/RHcHofC+BnleSGDiO3SQQX2mCvXz639s+kJ7+loR4RPT487itVJ8RWIyBEfnqpnkaUFaWgNyV6CxT7eyDdEA==",
|
"integrity": "sha512-/5ICTcpd4ApIRn76pxcl4aQhrWxdDCnRDy3y+Tu7DbRsfqde6q8OYXUm7bYhH5dSey590AMT0RH9LDFq7v5KRA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"agentkeepalive": "^3.4.1",
|
"agentkeepalive": "^4.1.0",
|
||||||
"cacache": "^13.0.1",
|
"cacache": "^13.0.1",
|
||||||
"http-cache-semantics": "^3.8.1",
|
"http-cache-semantics": "^4.0.3",
|
||||||
"http-proxy-agent": "^2.1.0",
|
"http-proxy-agent": "^3.0.0",
|
||||||
"https-proxy-agent": "^3.0.1",
|
"https-proxy-agent": "^4.0.0",
|
||||||
|
"is-lambda": "^1.0.1",
|
||||||
"lru-cache": "^5.1.1",
|
"lru-cache": "^5.1.1",
|
||||||
"minipass": "^3.0.0",
|
"minipass": "^3.0.0",
|
||||||
"minipass-collect": "^1.0.2",
|
"minipass-collect": "^1.0.2",
|
||||||
|
@ -1318,70 +1350,73 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"npm-package-arg": {
|
"npm-package-arg": {
|
||||||
"version": "7.0.0",
|
"version": "8.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.0.tgz",
|
||||||
"integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==",
|
"integrity": "sha512-JgqZHCEUKvhX7EehLNdySiuB227a0QYra9wpZOkW+jvwsRYKkce7y5Rv2axkxScJU1EP+L32jT2PLhQz7IWHlw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"hosted-git-info": "^3.0.2",
|
"hosted-git-info": "^3.0.2",
|
||||||
"osenv": "^0.1.5",
|
"osenv": "^0.1.5",
|
||||||
"semver": "^5.6.0",
|
"semver": "^7.0.0",
|
||||||
"validate-npm-package-name": "^3.0.0"
|
"validate-npm-package-name": "^3.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "5.7.1",
|
"version": "7.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
|
||||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
"integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"npm-packlist": {
|
"npm-packlist": {
|
||||||
"version": "1.4.7",
|
"version": "2.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.7.tgz",
|
"resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.0.3.tgz",
|
||||||
"integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==",
|
"integrity": "sha512-geT5P1y+58INE/jlxBHNsucRX7jpZAgW+XkxAe1NWN7N9SNwpueWTUPRoVdJH+hFpqcdAChRUE/HWsXQI+8JaQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ignore-walk": "^3.0.1",
|
"glob": "^7.1.6",
|
||||||
"npm-bundled": "^1.0.1"
|
"ignore-walk": "^3.0.3",
|
||||||
|
"npm-bundled": "^1.0.1",
|
||||||
|
"npm-normalize-package-bin": "^1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"npm-pick-manifest": {
|
"npm-pick-manifest": {
|
||||||
"version": "4.0.0",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-5.0.0.tgz",
|
||||||
"integrity": "sha512-SsYReLe/16UgSL6GKX6GO4o3RVBthVy1uuHq6kZ9mkPeQXpOHbrLZoV13i8fr3LQtET+pLPSfD13e4RIYfkX5Q==",
|
"integrity": "sha512-YUW9xObM7Y1OkQ/gSmU5VQyI3vCkG5lwOrdycw0dpj9/3dE8h9CKY8tVyHTIp50+mV8jOAGH4m4Lts7zz2rN4Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"figgy-pudding": "^3.5.1",
|
"figgy-pudding": "^3.5.1",
|
||||||
"npm-package-arg": "^7.0.0",
|
"npm-package-arg": "^8.0.0",
|
||||||
"semver": "^5.4.1"
|
"semver": "^7.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "5.7.1",
|
"version": "7.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
|
||||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
"integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"npm-registry-fetch": {
|
"npm-registry-fetch": {
|
||||||
"version": "5.0.1",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-6.0.0.tgz",
|
||||||
"integrity": "sha512-GK7SUx188KSkPvbceOGO59L3FGHLBYoP0YEhUAKYjAypL15v5xmoempZ9rIJS2R/1eOS0KS1Y9AQe79YfgNxaw==",
|
"integrity": "sha512-TSzEzudrky0ArPskchM/7F5SrawBY5acMNtRqFuacEI2lCKEyfBjaENuuIU5Uq2CyHfJ+gWp5QlCprolKa5wKg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"bluebird": "^3.5.1",
|
"@npmcli/ci-detect": "^1.0.0",
|
||||||
"figgy-pudding": "^3.4.1",
|
"figgy-pudding": "^3.4.1",
|
||||||
"lru-cache": "^5.1.1",
|
"lru-cache": "^5.1.1",
|
||||||
"make-fetch-happen": "^6.0.0",
|
"make-fetch-happen": "^7.1.0",
|
||||||
"minipass": "^3.0.0",
|
"minipass": "^3.0.0",
|
||||||
"minipass-fetch": "^1.1.2",
|
"minipass-fetch": "^1.1.2",
|
||||||
"minipass-json-stream": "^1.0.1",
|
"minipass-json-stream": "^1.0.1",
|
||||||
"minizlib": "^2.0.0",
|
"minizlib": "^2.0.0",
|
||||||
"npm-package-arg": "^7.0.0",
|
"npm-package-arg": "^8.0.0",
|
||||||
"safe-buffer": "^5.2.0"
|
"safe-buffer": "^5.2.0",
|
||||||
|
"semver": "^7.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"safe-buffer": {
|
"safe-buffer": {
|
||||||
|
@ -1389,6 +1424,12 @@
|
||||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
|
||||||
"integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
|
"integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
|
},
|
||||||
|
"semver": {
|
||||||
|
"version": "7.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
|
||||||
|
"integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==",
|
||||||
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1490,11 +1531,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pacote": {
|
"pacote": {
|
||||||
"version": "10.2.1",
|
"version": "10.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/pacote/-/pacote-10.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/pacote/-/pacote-10.3.0.tgz",
|
||||||
"integrity": "sha512-sPHVOF7uKY8yDivKYimb5l3D8BvNNjR+9FmzkThOTtftkddGY/C6uENVkgc3HQtOpCX8R2qztkSAOI369bgLEA==",
|
"integrity": "sha512-Qq4nZkTyjKvNWj0TKfV29Q9416RQ9hALPjU5ej6ckavV1WLcurc0aZqJBKcAf2OHX6RuE1fi0N+TBCP9EyM1+Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
|
"@npmcli/installed-package-contents": "^1.0.5",
|
||||||
"cacache": "^13.0.1",
|
"cacache": "^13.0.1",
|
||||||
"chownr": "^1.1.3",
|
"chownr": "^1.1.3",
|
||||||
"fs-minipass": "^2.0.0",
|
"fs-minipass": "^2.0.0",
|
||||||
|
@ -1502,18 +1544,26 @@
|
||||||
"lru-cache": "^5.1.1",
|
"lru-cache": "^5.1.1",
|
||||||
"minipass": "^3.0.1",
|
"minipass": "^3.0.1",
|
||||||
"minipass-fetch": "^1.2.1",
|
"minipass-fetch": "^1.2.1",
|
||||||
"npm-package-arg": "^7.0.0",
|
"npm-package-arg": "^8.0.0",
|
||||||
"npm-packlist": "^1.4.6",
|
"npm-packlist": "^2.0.3",
|
||||||
"npm-pick-manifest": "^4.0.0",
|
"npm-pick-manifest": "^5.0.0",
|
||||||
"npm-registry-fetch": "^5.0.1",
|
"npm-registry-fetch": "^6.0.0",
|
||||||
"osenv": "^0.1.5",
|
"osenv": "^0.1.5",
|
||||||
"promise-inflight": "^1.0.1",
|
"promise-inflight": "^1.0.1",
|
||||||
"promise-retry": "^1.1.1",
|
"promise-retry": "^1.1.1",
|
||||||
"read-package-json-fast": "^1.0.3",
|
"read-package-json-fast": "^1.1.1",
|
||||||
"semver": "^6.3.0",
|
"semver": "^7.1.1",
|
||||||
"ssri": "^7.1.0",
|
"ssri": "^7.1.0",
|
||||||
"tar": "^5.0.5",
|
"tar": "^5.0.5",
|
||||||
"which": "^2.0.1"
|
"which": "^2.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"semver": {
|
||||||
|
"version": "7.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
|
||||||
|
"integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"path-exists": {
|
"path-exists": {
|
||||||
|
@ -1642,17 +1692,6 @@
|
||||||
"js-yaml": "^3.12.0",
|
"js-yaml": "^3.12.0",
|
||||||
"json5": "^2.1.1",
|
"json5": "^2.1.1",
|
||||||
"require-from-string": "^2.0.2"
|
"require-from-string": "^2.0.2"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"debug": {
|
|
||||||
"version": "4.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
|
||||||
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"ms": "^2.1.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"read-package-json-fast": {
|
"read-package-json-fast": {
|
||||||
|
@ -1680,6 +1719,18 @@
|
||||||
"util-deprecate": "~1.0.1"
|
"util-deprecate": "~1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"readdir-scoped-modules": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"debuglog": "^1.0.1",
|
||||||
|
"dezalgo": "^1.0.0",
|
||||||
|
"graceful-fs": "^4.1.2",
|
||||||
|
"once": "^1.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"registry-auth-token": {
|
"registry-auth-token": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.0.0.tgz",
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
"@actions/core": "1.2.0"
|
"@actions/core": "1.2.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "12.12.21",
|
"@types/node": "13.1.1",
|
||||||
"npm-check-updates": "4.0.1",
|
"npm-check-updates": "4.0.1",
|
||||||
"typescript": "3.7.4"
|
"typescript": "3.7.4"
|
||||||
}
|
}
|
||||||
|
|
34
src/main.ts
34
src/main.ts
|
@ -6,8 +6,8 @@ import * as core from "@actions/core";
|
||||||
interface FileInfo
|
interface FileInfo
|
||||||
{
|
{
|
||||||
name: string;
|
name: string;
|
||||||
mode: number;
|
|
||||||
contents: string;
|
contents: string;
|
||||||
|
options: fs.WriteFileOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,27 +17,43 @@ function main(): void
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
const name = core.getInput("name") as string;
|
const name = core.getInput("name");
|
||||||
const files: FileInfo[] = [
|
const files: FileInfo[] = [
|
||||||
{
|
{
|
||||||
name: name,
|
name: name,
|
||||||
|
contents: core.getInput("private-key", {
|
||||||
|
required: true,
|
||||||
|
}),
|
||||||
|
options: {
|
||||||
mode: 0o400,
|
mode: 0o400,
|
||||||
contents: core.getInput("private-key"),
|
flag: "ax",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: `${name}.pub`,
|
name: `${name}.pub`,
|
||||||
|
contents: core.getInput("public-key", {
|
||||||
|
required: true,
|
||||||
|
}),
|
||||||
|
options: {
|
||||||
mode: 0o444,
|
mode: 0o444,
|
||||||
contents: core.getInput("public-key"),
|
flag: "ax",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "known_hosts",
|
name: "known_hosts",
|
||||||
|
contents: core.getInput("known-hosts") + "\n",
|
||||||
|
options: {
|
||||||
mode: 0o644,
|
mode: 0o644,
|
||||||
contents: core.getInput("known-hosts"),
|
flag: "a",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "config",
|
name: "config",
|
||||||
|
contents: core.getInput("config") + "\n",
|
||||||
|
options: {
|
||||||
mode: 0o644,
|
mode: 0o644,
|
||||||
contents: core.getInput("config"),
|
flag: "a",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -53,9 +69,7 @@ function main(): void
|
||||||
for(const file of files)
|
for(const file of files)
|
||||||
{
|
{
|
||||||
const fileName = path.join(dirName, file.name);
|
const fileName = path.join(dirName, file.name);
|
||||||
fs.writeFileSync(fileName, file.contents, {
|
fs.writeFileSync(fileName, file.contents, file.options);
|
||||||
mode: file.mode,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`SSH key has been stored to ${dirName} successfully.`);
|
console.log(`SSH key has been stored to ${dirName} successfully.`);
|
||||||
|
@ -76,7 +90,7 @@ function getHomeDirectory(): string
|
||||||
const home = process.env[homeEnv];
|
const home = process.env[homeEnv];
|
||||||
if(home === undefined)
|
if(home === undefined)
|
||||||
{
|
{
|
||||||
throw new Error(`${homeEnv} is not defined`);
|
throw Error(`${homeEnv} is not defined`);
|
||||||
}
|
}
|
||||||
|
|
||||||
return home;
|
return home;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue