Compare commits
	
		
			18 Commits
		
	
	
		
			8708beccd2
			...
			master
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					a7144c12a4 | ||
| 
						 | 
					b59c03d8bd | ||
| 
						 | 
					e4642110eb | ||
| 
						 | 
					a128d982e9 | ||
| 
						 | 
					dec645d074 | ||
| b4b3ece96f | |||
| 
						 | 
					f55bb6e897 | ||
| 
						 | 
					32548373d9 | ||
| 
						 | 
					110f367495 | ||
| 
						 | 
					f344d1a51e | ||
| 
						 | 
					b723a79937 | ||
| 
						 | 
					b04ff2a021 | ||
| 
						 | 
					88ee6c71a6 | ||
| 
						 | 
					1c10d9b9ac | ||
| 
						 | 
					d36bd21e6b | ||
| 
						 | 
					50a120e4d3 | ||
| 
						 | 
					f7efc54806 | ||
| 
						 | 
					39c8a29de2 | 
							
								
								
									
										1
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
								
							@@ -1 +0,0 @@
 | 
			
		||||
ko_fi: hecrj_
 | 
			
		||||
							
								
								
									
										43
									
								
								.github/workflows/integration.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								.github/workflows/integration.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,43 +0,0 @@
 | 
			
		||||
name: Integration
 | 
			
		||||
on:
 | 
			
		||||
  push: {}
 | 
			
		||||
  schedule:
 | 
			
		||||
    - cron: '0 0 * * *'
 | 
			
		||||
jobs:
 | 
			
		||||
  test:
 | 
			
		||||
    runs-on: ${{ matrix.os }}
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        os: [ubuntu-latest, windows-latest, macOS-latest]
 | 
			
		||||
        rust: [stable, nightly]
 | 
			
		||||
        include:
 | 
			
		||||
          - os: macOS-latest
 | 
			
		||||
            rust: 'stable'
 | 
			
		||||
            components: 'rustfmt, clippy'
 | 
			
		||||
            targets: 'x86_64-apple-darwin'
 | 
			
		||||
          - os: windows-latest
 | 
			
		||||
            rust: 'stable'
 | 
			
		||||
            components: 'rustfmt, clippy'
 | 
			
		||||
            targets: 'x86_64-pc-windows-msvc'
 | 
			
		||||
          - os: ubuntu-latest
 | 
			
		||||
            rust: 'stable'
 | 
			
		||||
            components: 'rustfmt, clippy'
 | 
			
		||||
            targets: 'x86_64-unknown-linux-musl'
 | 
			
		||||
    steps:
 | 
			
		||||
    - uses: hecrj/setup-rust-action@master
 | 
			
		||||
      with:
 | 
			
		||||
        rust-version: ${{ matrix.rust }}
 | 
			
		||||
        components: ${{ matrix.components || '' }}
 | 
			
		||||
        targets: ${{ matrix.targets || '' }}
 | 
			
		||||
    - name: Check Cargo availability
 | 
			
		||||
      run: cargo --version
 | 
			
		||||
    - name: Check Rustup default toolchain
 | 
			
		||||
      run: rustup default | grep '${{ matrix.rust }}'
 | 
			
		||||
    - name: Check rustfmt and clippy are available on MacOS
 | 
			
		||||
      if: matrix.os == 'macOS-latest' && matrix.rust == 'stable'
 | 
			
		||||
      run: |
 | 
			
		||||
        cargo fmt --version
 | 
			
		||||
        cargo clippy --version
 | 
			
		||||
    - name: Check targets are installed correctly
 | 
			
		||||
      if: matrix.rust == 'stable'
 | 
			
		||||
      run: rustup target list --installed | grep '${{ matrix.targets }}'
 | 
			
		||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,2 +0,0 @@
 | 
			
		||||
node_modules/
 | 
			
		||||
__tests__/runner/*
 | 
			
		||||
@@ -22,7 +22,7 @@ jobs:
 | 
			
		||||
        rust: [stable, nightly]
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
    - uses: hecrj/setup-rust-action@v1
 | 
			
		||||
    - uses: hecrj/setup-rust-action@v2
 | 
			
		||||
      with:
 | 
			
		||||
        rust-version: ${{ matrix.rust }}
 | 
			
		||||
    - uses: actions/checkout@master
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										39
									
								
								action.yml
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								action.yml
									
									
									
									
									
								
							@@ -1,19 +1,30 @@
 | 
			
		||||
name: 'Set up a Rust toolchain'
 | 
			
		||||
description: 'Install a specific Rust toolchain and add it to the PATH'
 | 
			
		||||
author: 'Héctor Ramón'
 | 
			
		||||
name: Set up a Rust toolchain
 | 
			
		||||
description: Install a specific Rust toolchain and add it to the PATH
 | 
			
		||||
author: Héctor Ramón Jiménez <hector@hecrj.dev>
 | 
			
		||||
branding:
 | 
			
		||||
  icon: package
 | 
			
		||||
  color: blue
 | 
			
		||||
inputs:
 | 
			
		||||
  rust-version:
 | 
			
		||||
    description: 'The toolchain name, such as stable, nightly, or 1.8.0'
 | 
			
		||||
    default: 'stable'
 | 
			
		||||
    description: The toolchain version; such as stable, nightly, or 1.8.0
 | 
			
		||||
    default: stable
 | 
			
		||||
  profile:
 | 
			
		||||
    description: The toolchain profile to install
 | 
			
		||||
    default: default
 | 
			
		||||
  components:
 | 
			
		||||
    description: 'The toolchain components to install, comma-separated'
 | 
			
		||||
    default: ''
 | 
			
		||||
    description: The toolchain components to install, comma-separated
 | 
			
		||||
    default: ""
 | 
			
		||||
  targets:
 | 
			
		||||
    description: 'The toolchain targets to add, comma-separated'
 | 
			
		||||
    default: ''
 | 
			
		||||
    description: The toolchain targets to add, comma-separated
 | 
			
		||||
    default: ""
 | 
			
		||||
runs:
 | 
			
		||||
  using: 'node12'
 | 
			
		||||
  main: 'dist/index.js'
 | 
			
		||||
branding:
 | 
			
		||||
  icon: 'download'
 | 
			
		||||
  color: 'blue'
 | 
			
		||||
  using: composite
 | 
			
		||||
  steps:
 | 
			
		||||
    - id: setup
 | 
			
		||||
      run: '"${GITHUB_ACTION_PATH%/}/setup.sh"'
 | 
			
		||||
      shell: bash
 | 
			
		||||
      env:
 | 
			
		||||
        INPUT_RUST_VERSION: ${{ inputs.rust-version }}
 | 
			
		||||
        INPUT_PROFILE: ${{ inputs.profile }}
 | 
			
		||||
        INPUT_COMPONENTS: ${{ inputs.components }}
 | 
			
		||||
        INPUT_TARGETS: ${{ inputs.targets }}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								dist/unzip
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/unzip
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										498
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										498
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,498 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "setup-rust-action",
 | 
			
		||||
  "version": "0.0.0",
 | 
			
		||||
  "lockfileVersion": 1,
 | 
			
		||||
  "requires": true,
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@actions/core": {
 | 
			
		||||
      "version": "1.2.6",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz",
 | 
			
		||||
      "integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA=="
 | 
			
		||||
    },
 | 
			
		||||
    "@actions/exec": {
 | 
			
		||||
      "version": "1.0.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.4.tgz",
 | 
			
		||||
      "integrity": "sha512-4DPChWow9yc9W3WqEbUj8Nr86xkpyE29ZzWjXucHItclLbEW6jr80Zx4nqv18QL6KK65+cifiQZXvnqgTV6oHw==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@actions/io": "^1.0.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@actions/github": {
 | 
			
		||||
      "version": "1.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@actions/github/-/github-1.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-cHf6PyoNMdei13jEdGPhKprIMFmjVVW/dnM5/9QmQDJ1ZTaGVyezUSCUIC/ySNLRvDUpeFwPYMdThSEJldSbUw==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@octokit/graphql": "^2.0.1",
 | 
			
		||||
        "@octokit/rest": "^16.15.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@actions/http-client": {
 | 
			
		||||
      "version": "1.0.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.8.tgz",
 | 
			
		||||
      "integrity": "sha512-G4JjJ6f9Hb3Zvejj+ewLLKLf99ZC+9v+yCxoYf9vSyH+WkzPLB2LuUtRMGNkooMqdugGBFStIKXOuvH1W+EctA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "tunnel": "0.0.6"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@actions/io": {
 | 
			
		||||
      "version": "1.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.2.tgz",
 | 
			
		||||
      "integrity": "sha512-J8KuFqVPr3p6U8W93DOXlXW6zFvrQAJANdS+vw0YhusLIq+bszW8zmK2Fh1C2kDPX8FMvwIl1OUcFgvJoXLbAg=="
 | 
			
		||||
    },
 | 
			
		||||
    "@actions/tool-cache": {
 | 
			
		||||
      "version": "1.6.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.6.0.tgz",
 | 
			
		||||
      "integrity": "sha512-+fyEBImPD3m5I0o6DflCO0NHY180LPoX8Lo6y4Iez+V17kO8kfkH0VHxb8mUdmD6hn9dWA9Ch1JA20fXoIYUeQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@actions/core": "^1.2.3",
 | 
			
		||||
        "@actions/exec": "^1.0.0",
 | 
			
		||||
        "@actions/http-client": "^1.0.8",
 | 
			
		||||
        "@actions/io": "^1.0.1",
 | 
			
		||||
        "semver": "^6.1.0",
 | 
			
		||||
        "uuid": "^3.3.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@octokit/auth-token": {
 | 
			
		||||
      "version": "2.4.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.2.tgz",
 | 
			
		||||
      "integrity": "sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@octokit/types": "^5.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@octokit/endpoint": {
 | 
			
		||||
      "version": "6.0.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.5.tgz",
 | 
			
		||||
      "integrity": "sha512-70K5u6zd45ItOny6aHQAsea8HHQjlQq85yqOMe+Aj8dkhN2qSJ9T+Q3YjUjEYfPRBcuUWNgMn62DQnP/4LAIiQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@octokit/types": "^5.0.0",
 | 
			
		||||
        "is-plain-object": "^4.0.0",
 | 
			
		||||
        "universal-user-agent": "^6.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "universal-user-agent": {
 | 
			
		||||
          "version": "6.0.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
 | 
			
		||||
          "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@octokit/graphql": {
 | 
			
		||||
      "version": "2.1.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-2.1.3.tgz",
 | 
			
		||||
      "integrity": "sha512-XoXJqL2ondwdnMIW3wtqJWEwcBfKk37jO/rYkoxNPEVeLBDGsGO1TCWggrAlq3keGt/O+C/7VepXnukUxwt5vA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@octokit/request": "^5.0.0",
 | 
			
		||||
        "universal-user-agent": "^2.0.3"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@octokit/plugin-paginate-rest": {
 | 
			
		||||
      "version": "1.1.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz",
 | 
			
		||||
      "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@octokit/types": "^2.0.1"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@octokit/types": {
 | 
			
		||||
          "version": "2.16.2",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
 | 
			
		||||
          "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "@types/node": ">= 8"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@octokit/plugin-request-log": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw=="
 | 
			
		||||
    },
 | 
			
		||||
    "@octokit/plugin-rest-endpoint-methods": {
 | 
			
		||||
      "version": "2.4.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz",
 | 
			
		||||
      "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@octokit/types": "^2.0.1",
 | 
			
		||||
        "deprecation": "^2.3.1"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@octokit/types": {
 | 
			
		||||
          "version": "2.16.2",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
 | 
			
		||||
          "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "@types/node": ">= 8"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@octokit/request": {
 | 
			
		||||
      "version": "5.4.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.7.tgz",
 | 
			
		||||
      "integrity": "sha512-FN22xUDP0i0uF38YMbOfx6TotpcENP5W8yJM1e/LieGXn6IoRxDMnBf7tx5RKSW4xuUZ/1P04NFZy5iY3Rax1A==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@octokit/endpoint": "^6.0.1",
 | 
			
		||||
        "@octokit/request-error": "^2.0.0",
 | 
			
		||||
        "@octokit/types": "^5.0.0",
 | 
			
		||||
        "deprecation": "^2.0.0",
 | 
			
		||||
        "is-plain-object": "^4.0.0",
 | 
			
		||||
        "node-fetch": "^2.3.0",
 | 
			
		||||
        "once": "^1.4.0",
 | 
			
		||||
        "universal-user-agent": "^6.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "universal-user-agent": {
 | 
			
		||||
          "version": "6.0.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
 | 
			
		||||
          "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@octokit/request-error": {
 | 
			
		||||
      "version": "2.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.2.tgz",
 | 
			
		||||
      "integrity": "sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@octokit/types": "^5.0.1",
 | 
			
		||||
        "deprecation": "^2.0.0",
 | 
			
		||||
        "once": "^1.4.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@octokit/rest": {
 | 
			
		||||
      "version": "16.43.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz",
 | 
			
		||||
      "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@octokit/auth-token": "^2.4.0",
 | 
			
		||||
        "@octokit/plugin-paginate-rest": "^1.1.1",
 | 
			
		||||
        "@octokit/plugin-request-log": "^1.0.0",
 | 
			
		||||
        "@octokit/plugin-rest-endpoint-methods": "2.4.0",
 | 
			
		||||
        "@octokit/request": "^5.2.0",
 | 
			
		||||
        "@octokit/request-error": "^1.0.2",
 | 
			
		||||
        "atob-lite": "^2.0.0",
 | 
			
		||||
        "before-after-hook": "^2.0.0",
 | 
			
		||||
        "btoa-lite": "^1.0.0",
 | 
			
		||||
        "deprecation": "^2.0.0",
 | 
			
		||||
        "lodash.get": "^4.4.2",
 | 
			
		||||
        "lodash.set": "^4.3.2",
 | 
			
		||||
        "lodash.uniq": "^4.5.0",
 | 
			
		||||
        "octokit-pagination-methods": "^1.1.0",
 | 
			
		||||
        "once": "^1.4.0",
 | 
			
		||||
        "universal-user-agent": "^4.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@octokit/request-error": {
 | 
			
		||||
          "version": "1.2.1",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz",
 | 
			
		||||
          "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==",
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "@octokit/types": "^2.0.0",
 | 
			
		||||
            "deprecation": "^2.0.0",
 | 
			
		||||
            "once": "^1.4.0"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "@octokit/types": {
 | 
			
		||||
          "version": "2.16.2",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
 | 
			
		||||
          "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "@types/node": ">= 8"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "universal-user-agent": {
 | 
			
		||||
          "version": "4.0.1",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz",
 | 
			
		||||
          "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==",
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "os-name": "^3.1.0"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@octokit/types": {
 | 
			
		||||
      "version": "5.4.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-5.4.0.tgz",
 | 
			
		||||
      "integrity": "sha512-D/uotqF69M50OIlwMqgyIg9PuLT2daOiBAYF0P40I2ekFA2ESwwBY5dxZe/UhXdPvIbNKDzuZmQrO7rMpuFbcg==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@types/node": ">= 8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@types/node": {
 | 
			
		||||
      "version": "12.12.64",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.64.tgz",
 | 
			
		||||
      "integrity": "sha512-UV1/ZJMC+HcP902wWdpC43cAcGu0IQk/I5bXjP2aSuCjsk3cE74mDvFrLKga7oDC170ugOAYBwfT4DSQW3akDA=="
 | 
			
		||||
    },
 | 
			
		||||
    "@types/semver": {
 | 
			
		||||
      "version": "6.2.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.2.tgz",
 | 
			
		||||
      "integrity": "sha512-RxAwYt4rGwK5GyoRwuP0jT6ZHAVTdz2EqgsHmX0PYNjGsko+OeT4WFXXTs/lM3teJUJodM+SNtAL5/pXIJ61IQ==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "@zeit/ncc": {
 | 
			
		||||
      "version": "0.21.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@zeit/ncc/-/ncc-0.21.1.tgz",
 | 
			
		||||
      "integrity": "sha512-M9WzgquSOt2nsjRkYM9LRylBLmmlwNCwYbm3Up3PDEshfvdmIfqpFNSK8EJvR18NwZjGHE5z2avlDtYQx2JQnw==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "atob-lite": {
 | 
			
		||||
      "version": "2.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY="
 | 
			
		||||
    },
 | 
			
		||||
    "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=="
 | 
			
		||||
    },
 | 
			
		||||
    "btoa-lite": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc="
 | 
			
		||||
    },
 | 
			
		||||
    "cross-spawn": {
 | 
			
		||||
      "version": "6.0.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
 | 
			
		||||
      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "nice-try": "^1.0.4",
 | 
			
		||||
        "path-key": "^2.0.1",
 | 
			
		||||
        "semver": "^5.5.0",
 | 
			
		||||
        "shebang-command": "^1.2.0",
 | 
			
		||||
        "which": "^1.2.9"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "semver": {
 | 
			
		||||
          "version": "5.7.1",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
 | 
			
		||||
          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "deprecation": {
 | 
			
		||||
      "version": "2.3.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
 | 
			
		||||
      "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "end-of-stream": {
 | 
			
		||||
      "version": "1.4.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
 | 
			
		||||
      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "once": "^1.4.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "execa": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "cross-spawn": "^6.0.0",
 | 
			
		||||
        "get-stream": "^4.0.0",
 | 
			
		||||
        "is-stream": "^1.1.0",
 | 
			
		||||
        "npm-run-path": "^2.0.0",
 | 
			
		||||
        "p-finally": "^1.0.0",
 | 
			
		||||
        "signal-exit": "^3.0.0",
 | 
			
		||||
        "strip-eof": "^1.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "get-stream": {
 | 
			
		||||
      "version": "4.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "pump": "^3.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "is-plain-object": {
 | 
			
		||||
      "version": "4.1.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-4.1.1.tgz",
 | 
			
		||||
      "integrity": "sha512-5Aw8LLVsDlZsETVMhoMXzqsXwQqr/0vlnBYzIXJbYo2F4yYlhLHs+Ez7Bod7IIQKWkJbJfxrWD7pA1Dw1TKrwA=="
 | 
			
		||||
    },
 | 
			
		||||
    "is-stream": {
 | 
			
		||||
      "version": "1.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
 | 
			
		||||
      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
 | 
			
		||||
    },
 | 
			
		||||
    "isexe": {
 | 
			
		||||
      "version": "2.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
 | 
			
		||||
    },
 | 
			
		||||
    "lodash.get": {
 | 
			
		||||
      "version": "4.4.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
 | 
			
		||||
      "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
 | 
			
		||||
    },
 | 
			
		||||
    "lodash.set": {
 | 
			
		||||
      "version": "4.3.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
 | 
			
		||||
      "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM="
 | 
			
		||||
    },
 | 
			
		||||
    "lodash.uniq": {
 | 
			
		||||
      "version": "4.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
 | 
			
		||||
      "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
 | 
			
		||||
    },
 | 
			
		||||
    "macos-release": {
 | 
			
		||||
      "version": "2.4.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz",
 | 
			
		||||
      "integrity": "sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg=="
 | 
			
		||||
    },
 | 
			
		||||
    "nice-try": {
 | 
			
		||||
      "version": "1.0.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
 | 
			
		||||
      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "node-fetch": {
 | 
			
		||||
      "version": "2.6.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
 | 
			
		||||
      "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "whatwg-url": "^5.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "npm-run-path": {
 | 
			
		||||
      "version": "2.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
 | 
			
		||||
      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "path-key": "^2.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "octokit-pagination-methods": {
 | 
			
		||||
      "version": "1.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "once": {
 | 
			
		||||
      "version": "1.4.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
 | 
			
		||||
      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "wrappy": "1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "os-name": {
 | 
			
		||||
      "version": "3.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "macos-release": "^2.2.0",
 | 
			
		||||
        "windows-release": "^3.1.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "p-finally": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
 | 
			
		||||
    },
 | 
			
		||||
    "path-key": {
 | 
			
		||||
      "version": "2.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
 | 
			
		||||
      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
 | 
			
		||||
    },
 | 
			
		||||
    "pump": {
 | 
			
		||||
      "version": "3.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "end-of-stream": "^1.1.0",
 | 
			
		||||
        "once": "^1.3.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "semver": {
 | 
			
		||||
      "version": "6.3.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
 | 
			
		||||
      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
 | 
			
		||||
    },
 | 
			
		||||
    "shebang-command": {
 | 
			
		||||
      "version": "1.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
 | 
			
		||||
      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "shebang-regex": "^1.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "shebang-regex": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
 | 
			
		||||
    },
 | 
			
		||||
    "signal-exit": {
 | 
			
		||||
      "version": "3.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
 | 
			
		||||
    },
 | 
			
		||||
    "strip-eof": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
 | 
			
		||||
    },
 | 
			
		||||
    "tr46": {
 | 
			
		||||
      "version": "0.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
 | 
			
		||||
    },
 | 
			
		||||
    "tunnel": {
 | 
			
		||||
      "version": "0.0.6",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
 | 
			
		||||
      "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
 | 
			
		||||
    },
 | 
			
		||||
    "typescript": {
 | 
			
		||||
      "version": "3.9.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
 | 
			
		||||
      "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "universal-user-agent": {
 | 
			
		||||
      "version": "2.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-8itiX7G05Tu3mGDTdNY2fB4KJ8MgZLS54RdG6PkkfwMAavrXu1mV/lls/GABx9O3Rw4PnTtasxrvbMQoBYY92Q==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "os-name": "^3.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "uuid": {
 | 
			
		||||
      "version": "3.4.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
 | 
			
		||||
      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
 | 
			
		||||
    },
 | 
			
		||||
    "webidl-conversions": {
 | 
			
		||||
      "version": "3.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
 | 
			
		||||
      "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "whatwg-url": {
 | 
			
		||||
      "version": "5.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "tr46": "~0.0.3",
 | 
			
		||||
        "webidl-conversions": "^3.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "which": {
 | 
			
		||||
      "version": "1.3.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
 | 
			
		||||
      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "isexe": "^2.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "windows-release": {
 | 
			
		||||
      "version": "3.3.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz",
 | 
			
		||||
      "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "execa": "^1.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "wrappy": {
 | 
			
		||||
      "version": "1.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
 | 
			
		||||
      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										36
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								package.json
									
									
									
									
									
								
							@@ -1,36 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "setup-rust-action",
 | 
			
		||||
  "version": "0.0.0",
 | 
			
		||||
  "private": true,
 | 
			
		||||
  "description": "Set up a specific Rust toolchain in your Github Actions workflows",
 | 
			
		||||
  "main": "lib/main.js",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "build": "ncc build src/main.ts --minify"
 | 
			
		||||
  },
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "git+https://github.com/hecrj/setup-rust-action.git"
 | 
			
		||||
  },
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "github",
 | 
			
		||||
    "actions",
 | 
			
		||||
    "rust",
 | 
			
		||||
    "setup"
 | 
			
		||||
  ],
 | 
			
		||||
  "author": "Héctor Ramón",
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@actions/core": "^1.2.6",
 | 
			
		||||
    "@actions/exec": "^1.0.4",
 | 
			
		||||
    "@actions/github": "^1.0.0",
 | 
			
		||||
    "@actions/io": "^1.0.0",
 | 
			
		||||
    "@actions/tool-cache": "^1.6.0",
 | 
			
		||||
    "semver": "^6.1.1"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@types/node": "^12.12.64",
 | 
			
		||||
    "@types/semver": "^6.2.2",
 | 
			
		||||
    "@zeit/ncc": "^0.21.1",
 | 
			
		||||
    "typescript": "^3.9.7"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										24
									
								
								setup.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								setup.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none --profile minimal
 | 
			
		||||
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
 | 
			
		||||
. "$HOME/.cargo/env"
 | 
			
		||||
args=()
 | 
			
		||||
 | 
			
		||||
# shellcheck disable=SC2206
 | 
			
		||||
[[ -n "${INPUT_COMPONENTS}" ]] && args+=(-c "${INPUT_COMPONENTS// /}")
 | 
			
		||||
 | 
			
		||||
# shellcheck disable=SC2206
 | 
			
		||||
[[ -n "${INPUT_TARGETS}" ]] && args+=(-t "${INPUT_TARGETS// /}")
 | 
			
		||||
 | 
			
		||||
rustup set auto-self-update disable
 | 
			
		||||
rustup toolchain install "${INPUT_RUST_VERSION}" --profile "${INPUT_PROFILE}" "${args[@]}"
 | 
			
		||||
rustup default "${INPUT_RUST_VERSION}"
 | 
			
		||||
 | 
			
		||||
# shellcheck disable=SC2129
 | 
			
		||||
echo "rustup_version=$(rustup --version)" >> $GITHUB_OUTPUT
 | 
			
		||||
echo "cargo_version=$(cargo --version)" >> $GITHUB_OUTPUT
 | 
			
		||||
echo "rustc_version=$(rustc --version)" >> $GITHUB_OUTPUT
 | 
			
		||||
 | 
			
		||||
echo "::add-matcher::${GITHUB_ACTION_PATH%/}/matcher.json"
 | 
			
		||||
							
								
								
									
										42
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								src/main.ts
									
									
									
									
									
								
							@@ -1,42 +0,0 @@
 | 
			
		||||
import * as core from '@actions/core';
 | 
			
		||||
import * as exec from '@actions/exec';
 | 
			
		||||
import * as rustup from './rustup';
 | 
			
		||||
import * as path from 'path';
 | 
			
		||||
 | 
			
		||||
async function run() {
 | 
			
		||||
  try {
 | 
			
		||||
    const version = core.getInput('rust-version');
 | 
			
		||||
 | 
			
		||||
    const components = core.getInput('components')
 | 
			
		||||
      .split(',')
 | 
			
		||||
      .map((component) => component.trim())
 | 
			
		||||
      .filter((component) => component.length > 0);
 | 
			
		||||
 | 
			
		||||
    const targets = core.getInput('targets')
 | 
			
		||||
      .split(',')
 | 
			
		||||
      .map((target) => target.trim())
 | 
			
		||||
      .filter((target) => target.length > 0);
 | 
			
		||||
 | 
			
		||||
    if(version) {
 | 
			
		||||
      await rustup.install();
 | 
			
		||||
 | 
			
		||||
      await exec.exec(
 | 
			
		||||
        'rustup',
 | 
			
		||||
        ['toolchain', 'install', version,
 | 
			
		||||
          ...(components.length > 0 ? ['-c', ...components] : []),
 | 
			
		||||
          ...(targets.length > 0 ? ['-t', ...targets] : []),
 | 
			
		||||
        ]
 | 
			
		||||
      );
 | 
			
		||||
 | 
			
		||||
      await exec.exec('rustup', ['default', version]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const matchersPath = path.join(__dirname, '..', '.github');
 | 
			
		||||
    console.log(`##[add-matcher]${path.join(matchersPath, 'rust.json')}`);
 | 
			
		||||
 | 
			
		||||
  } catch (error) {
 | 
			
		||||
    core.setFailed(error.message);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
run();
 | 
			
		||||
@@ -1,56 +0,0 @@
 | 
			
		||||
import * as core from '@actions/core';
 | 
			
		||||
import * as exec from '@actions/exec';
 | 
			
		||||
import * as toolCache from '@actions/tool-cache';
 | 
			
		||||
import * as path from 'path';
 | 
			
		||||
import * as os from 'os';
 | 
			
		||||
import {chmodSync, renameSync, existsSync, appendFileSync} from 'fs';
 | 
			
		||||
 | 
			
		||||
let tempDirectory = process.env['RUNNER_TEMPDIRECTORY'] || '';
 | 
			
		||||
 | 
			
		||||
export async function install() {
 | 
			
		||||
  // `rustup` is already installed on Linux and Windows platforms
 | 
			
		||||
  if (os.platform() == 'darwin') {
 | 
			
		||||
    let toolPath = await installOnUnix();
 | 
			
		||||
 | 
			
		||||
    core.debug('rustup is located under: ' + toolPath);
 | 
			
		||||
    core.addPath(path.join(toolPath, 'bin'));
 | 
			
		||||
  } else {
 | 
			
		||||
    // Update the GitHub managed VM version of rustup
 | 
			
		||||
    // to leverage newer features like "latest latest compatible nightly"
 | 
			
		||||
    await exec.exec('rustup', ['self', 'update']);
 | 
			
		||||
 | 
			
		||||
    await exec.exec('rustup', ['set', 'profile', 'minimal']);
 | 
			
		||||
 | 
			
		||||
    if (os.platform() == 'win32') {
 | 
			
		||||
      let cargoPath = '';
 | 
			
		||||
      {
 | 
			
		||||
        const options = {
 | 
			
		||||
          listeners: {
 | 
			
		||||
            stdout: (data: Buffer) => {
 | 
			
		||||
              cargoPath += data.toString();
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        };
 | 
			
		||||
        await exec.exec('where', ['rustup.exe'], options);
 | 
			
		||||
      }
 | 
			
		||||
      let rustupPath = cargoPath.split('\\').slice(0, -3).concat([".rustup"]).join("\\");
 | 
			
		||||
      let defaultClearedFilePath = `${rustupPath}\\default_cleared`;
 | 
			
		||||
 | 
			
		||||
      if (!existsSync(defaultClearedFilePath)) {
 | 
			
		||||
        // Github's default Windows install comes with rustup pre-installed with stable, including
 | 
			
		||||
        // rust-docs. This removes the default stable install so that it doesn't update rust-docs.
 | 
			
		||||
        renameSync(`${rustupPath}\\toolchains`, `${rustupPath}\\_toolchains`);
 | 
			
		||||
        appendFileSync(defaultClearedFilePath, '');
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function installOnUnix(): Promise<string> {
 | 
			
		||||
  let script = await toolCache.downloadTool("https://sh.rustup.rs");
 | 
			
		||||
 | 
			
		||||
  chmodSync(script, '777');
 | 
			
		||||
  await exec.exec(`"${script}"`, ['-y', '--default-toolchain', 'none', '--profile=minimal']);
 | 
			
		||||
 | 
			
		||||
  return path.join(process.env['HOME'] || '', '.cargo');
 | 
			
		||||
}
 | 
			
		||||
@@ -1,63 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "compilerOptions": {
 | 
			
		||||
    /* Basic Options */
 | 
			
		||||
    // "incremental": true,                   /* Enable incremental compilation */
 | 
			
		||||
    "target": "es6",                          /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
 | 
			
		||||
    "module": "commonjs",                     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
 | 
			
		||||
    // "allowJs": true,                       /* Allow javascript files to be compiled. */
 | 
			
		||||
    // "checkJs": true,                       /* Report errors in .js files. */
 | 
			
		||||
    // "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
 | 
			
		||||
    // "declaration": true,                   /* Generates corresponding '.d.ts' file. */
 | 
			
		||||
    // "declarationMap": true,                /* Generates a sourcemap for each corresponding '.d.ts' file. */
 | 
			
		||||
    // "sourceMap": true,                     /* Generates corresponding '.map' file. */
 | 
			
		||||
    // "outFile": "./",                       /* Concatenate and emit output to single file. */
 | 
			
		||||
    "outDir": "./lib",                        /* Redirect output structure to the directory. */
 | 
			
		||||
    "rootDir": "./src",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
 | 
			
		||||
    // "composite": true,                     /* Enable project compilation */
 | 
			
		||||
    // "tsBuildInfoFile": "./",               /* Specify file to store incremental compilation information */
 | 
			
		||||
    // "removeComments": true,                /* Do not emit comments to output. */
 | 
			
		||||
    // "noEmit": true,                        /* Do not emit outputs. */
 | 
			
		||||
    // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */
 | 
			
		||||
    // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
 | 
			
		||||
    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
 | 
			
		||||
 | 
			
		||||
    /* Strict Type-Checking Options */
 | 
			
		||||
    "strict": true,                           /* Enable all strict type-checking options. */
 | 
			
		||||
    "noImplicitAny": false,                 /* Raise error on expressions and declarations with an implied 'any' type. */
 | 
			
		||||
    // "strictNullChecks": true,              /* Enable strict null checks. */
 | 
			
		||||
    // "strictFunctionTypes": true,           /* Enable strict checking of function types. */
 | 
			
		||||
    // "strictBindCallApply": true,           /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
 | 
			
		||||
    // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
 | 
			
		||||
    // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
 | 
			
		||||
    // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
 | 
			
		||||
 | 
			
		||||
    /* Additional Checks */
 | 
			
		||||
    // "noUnusedLocals": true,                /* Report errors on unused locals. */
 | 
			
		||||
    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
 | 
			
		||||
    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
 | 
			
		||||
    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
 | 
			
		||||
 | 
			
		||||
    /* Module Resolution Options */
 | 
			
		||||
    // "moduleResolution": "node",            /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
 | 
			
		||||
    // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
 | 
			
		||||
    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
 | 
			
		||||
    // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
 | 
			
		||||
    // "typeRoots": [],                       /* List of folders to include type definitions from. */
 | 
			
		||||
    // "types": [],                           /* Type declaration files to be included in compilation. */
 | 
			
		||||
    // "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
 | 
			
		||||
    "esModuleInterop": true                   /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
 | 
			
		||||
    // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
 | 
			
		||||
    // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */
 | 
			
		||||
 | 
			
		||||
    /* Source Map Options */
 | 
			
		||||
    // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */
 | 
			
		||||
    // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */
 | 
			
		||||
    // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
 | 
			
		||||
    // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
 | 
			
		||||
 | 
			
		||||
    /* Experimental Options */
 | 
			
		||||
    // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
 | 
			
		||||
    // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
 | 
			
		||||
  },
 | 
			
		||||
  "exclude": ["node_modules", "**/*.test.ts"]
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user