├── .github └── workflows │ └── test.yml ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── action.yml ├── main.js ├── node_modules ├── .bin │ ├── md5-file │ ├── semver │ └── uuid ├── @actions │ ├── core │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── lib │ │ │ ├── command.d.ts │ │ │ ├── command.js │ │ │ ├── command.js.map │ │ │ ├── core.d.ts │ │ │ ├── core.js │ │ │ ├── core.js.map │ │ │ ├── file-command.d.ts │ │ │ ├── file-command.js │ │ │ ├── file-command.js.map │ │ │ ├── utils.d.ts │ │ │ ├── utils.js │ │ │ └── utils.js.map │ │ └── package.json │ ├── exec │ │ ├── README.md │ │ ├── lib │ │ │ ├── exec.d.ts │ │ │ ├── exec.js │ │ │ ├── exec.js.map │ │ │ ├── interfaces.d.ts │ │ │ ├── interfaces.js │ │ │ ├── interfaces.js.map │ │ │ ├── toolrunner.d.ts │ │ │ ├── toolrunner.js │ │ │ └── toolrunner.js.map │ │ └── package.json │ ├── http-client │ │ ├── LICENSE │ │ ├── README.md │ │ ├── RELEASES.md │ │ ├── actions.png │ │ ├── auth.d.ts │ │ ├── auth.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── interfaces.d.ts │ │ ├── interfaces.js │ │ ├── package.json │ │ ├── proxy.d.ts │ │ └── proxy.js │ ├── io │ │ ├── README.md │ │ ├── lib │ │ │ ├── io-util.d.ts │ │ │ ├── io-util.js │ │ │ ├── io-util.js.map │ │ │ ├── io.d.ts │ │ │ ├── io.js │ │ │ └── io.js.map │ │ └── package.json │ └── tool-cache │ │ ├── README.md │ │ ├── lib │ │ ├── manifest.d.ts │ │ ├── manifest.js │ │ ├── manifest.js.map │ │ ├── retry-helper.d.ts │ │ ├── retry-helper.js │ │ ├── retry-helper.js.map │ │ ├── tool-cache.d.ts │ │ ├── tool-cache.js │ │ └── tool-cache.js.map │ │ ├── package.json │ │ └── scripts │ │ ├── Invoke-7zdec.ps1 │ │ └── externals │ │ └── 7zdec.exe ├── md5-file │ ├── LICENSE.md │ ├── README.md │ ├── cli.js │ ├── index.js │ ├── package.json │ └── promise.js ├── semver │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── bin │ │ └── semver.js │ ├── package.json │ ├── range.bnf │ └── semver.js ├── tunnel │ ├── .idea │ │ ├── encodings.xml │ │ ├── modules.xml │ │ ├── node-tunnel.iml │ │ ├── vcs.xml │ │ └── workspace.xml │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ └── tunnel.js │ └── package.json └── uuid │ ├── AUTHORS │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── README.md │ ├── bin │ └── uuid │ ├── index.js │ ├── lib │ ├── bytesToUuid.js │ ├── md5-browser.js │ ├── md5.js │ ├── rng-browser.js │ ├── rng.js │ ├── sha1-browser.js │ ├── sha1.js │ └── v35.js │ ├── package.json │ ├── v1.js │ ├── v3.js │ ├── v4.js │ └── v5.js ├── package-lock.json ├── package.json ├── patch ├── lua │ ├── 5.1 │ │ ├── CMakeLists.txt │ │ ├── cmake │ │ │ └── lua.cmake │ │ ├── dist.info │ │ └── src │ │ │ ├── loadlib_rel.c │ │ │ ├── lua.def │ │ │ ├── lua.rc │ │ │ ├── lua_dll.rc │ │ │ ├── luac.rc │ │ │ └── luaconf.h.in │ ├── 5.2 │ │ ├── CMakeLists.txt │ │ ├── cmake │ │ │ └── lua.cmake │ │ ├── dist.info │ │ └── src │ │ │ ├── loadlib_rel.c │ │ │ ├── lua.rc │ │ │ ├── luac.rc │ │ │ ├── luaconf.h.in │ │ │ └── wmain.c │ └── 5.3 │ │ ├── CMakeLists.txt │ │ ├── cmake │ │ └── lua.cmake │ │ ├── dist.info │ │ └── src │ │ ├── loadlib_rel.c │ │ ├── lua.rc │ │ ├── luac.rc │ │ └── luaconf.h.in └── shared │ ├── cmake │ ├── FindLua.cmake │ ├── FindReadline.cmake │ └── dist.cmake │ ├── etc │ ├── lua.ico │ └── lua_lang.ico │ └── src │ └── wmain.c └── yarn.lock /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: test 2 | 3 | on: [push] 4 | 5 | jobs: 6 | test: 7 | strategy: 8 | matrix: 9 | luaVersion: ["5.1.5", "5.2.4", "5.3.5", "5.4.2"] 10 | os: [macOs-latest, ubuntu-latest] 11 | 12 | runs-on: ${{ matrix.os }} 13 | 14 | steps: 15 | - uses: actions/checkout@master 16 | - uses: ./ 17 | with: 18 | lua-version: ${{ matrix.luaVersion }} 19 | 20 | - name: test lua 21 | run: | 22 | which lua 23 | lua -e "print(_VERSION)" 24 | windows: 25 | runs-on: windows-latest 26 | strategy: 27 | matrix: 28 | luaVersion: ["5.1.5", "5.2.4", "5.3.5", "5.4.2"] 29 | platform: [Win32, x64] 30 | steps: 31 | - uses: actions/checkout@master 32 | - uses: ./ 33 | with: 34 | lua-version: ${{ matrix.luaVersion }} 35 | platform: ${{ matrix.platform }} 36 | - name: test lua 37 | run: | 38 | which lua 39 | lua -e "print(_VERSION)" 40 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | !node_modules 2 | .env 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 xpol 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | 2 | vendor:: 3 | -rm -r node_modules 4 | yarn install --production 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # xpol/setup-lua 2 | 3 | [![Actions Status](https://github.com/xpol/setup-lua/workflows/test/badge.svg)](https://github.com/xpol/setup-lua/actions?workflow=test) 4 | 5 | 6 | 7 | Github Action to install Lua/LuaJIT on Unbutu/macOS/Windows. 8 | 9 | Builds and installs Lua into the `.lua/` directory in the working directory using [CMake](https://cmake.org/). 10 | Adds the `.lua/bin` to the `PATH` environment variable so `lua` can be called 11 | directly in workflows. 12 | 13 | This project is hightlly inspired by (and this README is initially copied from) [leafo/gh-actions-lua](https://github.com/leafo/gh-actions-lua). The difference is this project use CMake to support Unbutu/macOS/Windows. 14 | 15 | Many thanks to [leafo](https://github.com/leafo)! 16 | 17 | ## Usage 18 | 19 | Install Lua: 20 | 21 | *Will install the latest stable release of PUC-Rio Lua.* 22 | 23 | ```yaml 24 | - uses: xpol/setup-lua@v1 25 | ``` 26 | 27 | Install specific version of Lua: 28 | 29 | ```yaml 30 | - uses: xpol/setup-lua@v1 31 | with: 32 | lua-version: "5.1.5" 33 | ``` 34 | 35 | Install specific version of LuaJIT: 36 | 37 | ```yaml 38 | - uses: xpol/setup-lua@v1 39 | with: 40 | lua-version: "luajit-2.0.5" 41 | ``` 42 | 43 | ## Inputs 44 | 45 | ### `lua-version` 46 | 47 | **Default**: `"5.3.5"` 48 | 49 | Specifies the version of Lua to install. The version name instructs the action 50 | where to download the source from. 51 | 52 | All supported of versions: 53 | 54 | * `"5.3.5"` 55 | * `"5.3.4"` 56 | * `"5.3.3"` 57 | * `"5.3.2"` 58 | * `"5.3.1"` 59 | * `"5.3.0"` 60 | * `"5.2.4"` 61 | * `"5.2.3"` 62 | * `"5.2.2"` 63 | * `"5.2.1"` 64 | * `"5.2.0"` 65 | * `"5.1.5"` 66 | * `"5.1.4"` 67 | * `"5.1.3"` 68 | * `"5.1.2"` 69 | * `"5.1.1"` 70 | * `"5.1.0"` 71 | * `"luajit-2.0.5"` 72 | * `"luajit-2.1.0-beta3"` 73 | * `"luajit-2.1.0-beta2"` 74 | * `"luajit-2.1.0-beta1"` 75 | * `"luajit-2.0.4"` 76 | * `"luajit-2.0.3"` 77 | * `"luajit-2.0.2"` 78 | * `"luajit-2.0.1"` 79 | * `"luajit-2.0.0"` 80 | 81 | *Note: Beta versions will removed when the stable version is released.* 82 | 83 | ## Also want LuaRocks 84 | 85 | You may also need an action to install luarocks: 86 | 87 | * [`leafo/gh-actions-luarocks`](https://github.com/leafo/gh-actions-luarocks) 88 | * inputs: `luarocksVersion` 89 | 90 | ## Full Example 91 | 92 | This example is for running tests on a Lua module that uses LuaRocks for 93 | dependencies and [busted](https://olivinelabs.com/busted/) for a test suite. 94 | 95 | Create `.github/workflows/test.yml` in your repository: 96 | 97 | ```yaml 98 | name: test 99 | 100 | on: [push] 101 | 102 | jobs: 103 | test: 104 | runs-on: ubuntu-latest 105 | 106 | steps: 107 | - uses: actions/checkout@master 108 | 109 | - uses: xpol/setup-lua@v1 110 | with: 111 | lua-version: "5.1.5" 112 | 113 | - uses: leafo/gh-actions-luarocks@v2 114 | 115 | - name: build 116 | run: | 117 | luarocks install busted 118 | luarocks make 119 | 120 | - name: test 121 | run: | 122 | busted -o utfTerminal 123 | ``` 124 | 125 | This example: 126 | 127 | * Uses Lua 5.1.5 — You can use another version by chaning the `lua-version` varible. LuaJIT versions can be used by prefixing the version with `luajit-`, i.e. `luajit-2.1.0-beta3` 128 | * Uses a `.rockspec` file the root directory of your repository to install dependencies and test packaging the module via `luarocks make` 129 | 130 | View the documentation for the individual actions (linked above) to learn more about how they work. 131 | 132 | ### Version build matrix 133 | 134 | You can test against multiple versions of Lua using a matrix strategy: 135 | 136 | ```yaml 137 | jobs: 138 | test: 139 | strategy: 140 | matrix: 141 | luaVersion: ["5.1.5", "5.2.4", "luajit-2.1.0-beta3"] 142 | 143 | steps: 144 | - uses: actions/checkout@master 145 | - uses: xpol/setup-lua@v1 146 | with: 147 | lua-version: ${{ matrix.luaVersion }} 148 | 149 | # ... 150 | ``` 151 | -------------------------------------------------------------------------------- /action.yml: -------------------------------------------------------------------------------- 1 | name: "Setup Lua/LuaJIT" 2 | description: "Download, build, and install Lua or LuaJIT." 3 | 4 | branding: 5 | icon: 'moon' 6 | color: 'blue' 7 | 8 | inputs: 9 | lua-version: 10 | description: "The version of Lua to install. Supported versions: Lua >= 5.1.0, LuaJIT >= 2.0.0" 11 | default: "5.3.5" 12 | platform: 13 | description: "Optional: The target platform (e.g. -A Win32 | x64)." 14 | 15 | runs: 16 | using: 'node12' 17 | main: 'main.js' 18 | -------------------------------------------------------------------------------- /node_modules/.bin/md5-file: -------------------------------------------------------------------------------- 1 | ../md5-file/cli.js -------------------------------------------------------------------------------- /node_modules/.bin/semver: -------------------------------------------------------------------------------- 1 | ../semver/bin/semver.js -------------------------------------------------------------------------------- /node_modules/.bin/uuid: -------------------------------------------------------------------------------- 1 | ../uuid/bin/uuid -------------------------------------------------------------------------------- /node_modules/@actions/core/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2019 GitHub 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/@actions/core/README.md: -------------------------------------------------------------------------------- 1 | # `@actions/core` 2 | 3 | > Core functions for setting results, logging, registering secrets and exporting variables across actions 4 | 5 | ## Usage 6 | 7 | ### Import the package 8 | 9 | ```js 10 | // javascript 11 | const core = require('@actions/core'); 12 | 13 | // typescript 14 | import * as core from '@actions/core'; 15 | ``` 16 | 17 | #### Inputs/Outputs 18 | 19 | Action inputs can be read with `getInput`. Outputs can be set with `setOutput` which makes them available to be mapped into inputs of other actions to ensure they are decoupled. 20 | 21 | ```js 22 | const myInput = core.getInput('inputName', { required: true }); 23 | 24 | core.setOutput('outputKey', 'outputVal'); 25 | ``` 26 | 27 | #### Exporting variables 28 | 29 | Since each step runs in a separate process, you can use `exportVariable` to add it to this step and future steps environment blocks. 30 | 31 | ```js 32 | core.exportVariable('envVar', 'Val'); 33 | ``` 34 | 35 | #### Setting a secret 36 | 37 | Setting a secret registers the secret with the runner to ensure it is masked in logs. 38 | 39 | ```js 40 | core.setSecret('myPassword'); 41 | ``` 42 | 43 | #### PATH Manipulation 44 | 45 | To make a tool's path available in the path for the remainder of the job (without altering the machine or containers state), use `addPath`. The runner will prepend the path given to the jobs PATH. 46 | 47 | ```js 48 | core.addPath('/path/to/mytool'); 49 | ``` 50 | 51 | #### Exit codes 52 | 53 | You should use this library to set the failing exit code for your action. If status is not set and the script runs to completion, that will lead to a success. 54 | 55 | ```js 56 | const core = require('@actions/core'); 57 | 58 | try { 59 | // Do stuff 60 | } 61 | catch (err) { 62 | // setFailed logs the message and sets a failing exit code 63 | core.setFailed(`Action failed with error ${err}`); 64 | } 65 | 66 | Note that `setNeutral` is not yet implemented in actions V2 but equivalent functionality is being planned. 67 | 68 | ``` 69 | 70 | #### Logging 71 | 72 | Finally, this library provides some utilities for logging. Note that debug logging is hidden from the logs by default. This behavior can be toggled by enabling the [Step Debug Logs](../../docs/action-debugging.md#step-debug-logs). 73 | 74 | ```js 75 | const core = require('@actions/core'); 76 | 77 | const myInput = core.getInput('input'); 78 | try { 79 | core.debug('Inside try block'); 80 | 81 | if (!myInput) { 82 | core.warning('myInput was not set'); 83 | } 84 | 85 | if (core.isDebug()) { 86 | // curl -v https://github.com 87 | } else { 88 | // curl https://github.com 89 | } 90 | 91 | // Do stuff 92 | core.info('Output to the actions build log') 93 | } 94 | catch (err) { 95 | core.error(`Error ${err}, action may still succeed though`); 96 | } 97 | ``` 98 | 99 | This library can also wrap chunks of output in foldable groups. 100 | 101 | ```js 102 | const core = require('@actions/core') 103 | 104 | // Manually wrap output 105 | core.startGroup('Do some function') 106 | doSomeFunction() 107 | core.endGroup() 108 | 109 | // Wrap an asynchronous function call 110 | const result = await core.group('Do something async', async () => { 111 | const response = await doSomeHTTPRequest() 112 | return response 113 | }) 114 | ``` 115 | 116 | #### Action state 117 | 118 | You can use this library to save state and get state for sharing information between a given wrapper action: 119 | 120 | **action.yml** 121 | ```yaml 122 | name: 'Wrapper action sample' 123 | inputs: 124 | name: 125 | default: 'GitHub' 126 | runs: 127 | using: 'node12' 128 | main: 'main.js' 129 | post: 'cleanup.js' 130 | ``` 131 | 132 | In action's `main.js`: 133 | 134 | ```js 135 | const core = require('@actions/core'); 136 | 137 | core.saveState("pidToKill", 12345); 138 | ``` 139 | 140 | In action's `cleanup.js`: 141 | ```js 142 | const core = require('@actions/core'); 143 | 144 | var pid = core.getState("pidToKill"); 145 | 146 | process.kill(pid); 147 | ``` 148 | -------------------------------------------------------------------------------- /node_modules/@actions/core/lib/command.d.ts: -------------------------------------------------------------------------------- 1 | interface CommandProperties { 2 | [key: string]: any; 3 | } 4 | /** 5 | * Commands 6 | * 7 | * Command Format: 8 | * ::name key=value,key=value::message 9 | * 10 | * Examples: 11 | * ::warning::This is the message 12 | * ::set-env name=MY_VAR::some value 13 | */ 14 | export declare function issueCommand(command: string, properties: CommandProperties, message: any): void; 15 | export declare function issue(name: string, message?: string): void; 16 | export {}; 17 | -------------------------------------------------------------------------------- /node_modules/@actions/core/lib/command.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __importStar = (this && this.__importStar) || function (mod) { 3 | if (mod && mod.__esModule) return mod; 4 | var result = {}; 5 | if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; 6 | result["default"] = mod; 7 | return result; 8 | }; 9 | Object.defineProperty(exports, "__esModule", { value: true }); 10 | const os = __importStar(require("os")); 11 | const utils_1 = require("./utils"); 12 | /** 13 | * Commands 14 | * 15 | * Command Format: 16 | * ::name key=value,key=value::message 17 | * 18 | * Examples: 19 | * ::warning::This is the message 20 | * ::set-env name=MY_VAR::some value 21 | */ 22 | function issueCommand(command, properties, message) { 23 | const cmd = new Command(command, properties, message); 24 | process.stdout.write(cmd.toString() + os.EOL); 25 | } 26 | exports.issueCommand = issueCommand; 27 | function issue(name, message = '') { 28 | issueCommand(name, {}, message); 29 | } 30 | exports.issue = issue; 31 | const CMD_STRING = '::'; 32 | class Command { 33 | constructor(command, properties, message) { 34 | if (!command) { 35 | command = 'missing.command'; 36 | } 37 | this.command = command; 38 | this.properties = properties; 39 | this.message = message; 40 | } 41 | toString() { 42 | let cmdStr = CMD_STRING + this.command; 43 | if (this.properties && Object.keys(this.properties).length > 0) { 44 | cmdStr += ' '; 45 | let first = true; 46 | for (const key in this.properties) { 47 | if (this.properties.hasOwnProperty(key)) { 48 | const val = this.properties[key]; 49 | if (val) { 50 | if (first) { 51 | first = false; 52 | } 53 | else { 54 | cmdStr += ','; 55 | } 56 | cmdStr += `${key}=${escapeProperty(val)}`; 57 | } 58 | } 59 | } 60 | } 61 | cmdStr += `${CMD_STRING}${escapeData(this.message)}`; 62 | return cmdStr; 63 | } 64 | } 65 | function escapeData(s) { 66 | return utils_1.toCommandValue(s) 67 | .replace(/%/g, '%25') 68 | .replace(/\r/g, '%0D') 69 | .replace(/\n/g, '%0A'); 70 | } 71 | function escapeProperty(s) { 72 | return utils_1.toCommandValue(s) 73 | .replace(/%/g, '%25') 74 | .replace(/\r/g, '%0D') 75 | .replace(/\n/g, '%0A') 76 | .replace(/:/g, '%3A') 77 | .replace(/,/g, '%2C'); 78 | } 79 | //# sourceMappingURL=command.js.map -------------------------------------------------------------------------------- /node_modules/@actions/core/lib/command.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAwB;AACxB,mCAAsC;AAWtC;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAkB,EAAE;IACtD,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,IAAI,KAAK,EAAE;4BACT,KAAK,GAAG,KAAK,CAAA;yBACd;6BAAM;4BACL,MAAM,IAAI,GAAG,CAAA;yBACd;wBAED,MAAM,IAAI,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;qBAC1C;iBACF;aACF;SACF;QAED,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAM;IACxB,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"} -------------------------------------------------------------------------------- /node_modules/@actions/core/lib/core.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Interface for getInput options 3 | */ 4 | export interface InputOptions { 5 | /** Optional. Whether the input is required. If required and not present, will throw. Defaults to false */ 6 | required?: boolean; 7 | } 8 | /** 9 | * The code to exit an action 10 | */ 11 | export declare enum ExitCode { 12 | /** 13 | * A code indicating that the action was successful 14 | */ 15 | Success = 0, 16 | /** 17 | * A code indicating that the action was a failure 18 | */ 19 | Failure = 1 20 | } 21 | /** 22 | * Sets env variable for this action and future actions in the job 23 | * @param name the name of the variable to set 24 | * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify 25 | */ 26 | export declare function exportVariable(name: string, val: any): void; 27 | /** 28 | * Registers a secret which will get masked from logs 29 | * @param secret value of the secret 30 | */ 31 | export declare function setSecret(secret: string): void; 32 | /** 33 | * Prepends inputPath to the PATH (for this action and future actions) 34 | * @param inputPath 35 | */ 36 | export declare function addPath(inputPath: string): void; 37 | /** 38 | * Gets the value of an input. The value is also trimmed. 39 | * 40 | * @param name name of the input to get 41 | * @param options optional. See InputOptions. 42 | * @returns string 43 | */ 44 | export declare function getInput(name: string, options?: InputOptions): string; 45 | /** 46 | * Sets the value of an output. 47 | * 48 | * @param name name of the output to set 49 | * @param value value to store. Non-string values will be converted to a string via JSON.stringify 50 | */ 51 | export declare function setOutput(name: string, value: any): void; 52 | /** 53 | * Enables or disables the echoing of commands into stdout for the rest of the step. 54 | * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. 55 | * 56 | */ 57 | export declare function setCommandEcho(enabled: boolean): void; 58 | /** 59 | * Sets the action status to failed. 60 | * When the action exits it will be with an exit code of 1 61 | * @param message add error issue message 62 | */ 63 | export declare function setFailed(message: string | Error): void; 64 | /** 65 | * Gets whether Actions Step Debug is on or not 66 | */ 67 | export declare function isDebug(): boolean; 68 | /** 69 | * Writes debug message to user log 70 | * @param message debug message 71 | */ 72 | export declare function debug(message: string): void; 73 | /** 74 | * Adds an error issue 75 | * @param message error issue message. Errors will be converted to string via toString() 76 | */ 77 | export declare function error(message: string | Error): void; 78 | /** 79 | * Adds an warning issue 80 | * @param message warning issue message. Errors will be converted to string via toString() 81 | */ 82 | export declare function warning(message: string | Error): void; 83 | /** 84 | * Writes info to log with console.log. 85 | * @param message info message 86 | */ 87 | export declare function info(message: string): void; 88 | /** 89 | * Begin an output group. 90 | * 91 | * Output until the next `groupEnd` will be foldable in this group 92 | * 93 | * @param name The name of the output group 94 | */ 95 | export declare function startGroup(name: string): void; 96 | /** 97 | * End an output group. 98 | */ 99 | export declare function endGroup(): void; 100 | /** 101 | * Wrap an asynchronous function call in a group. 102 | * 103 | * Returns the same type as the function itself. 104 | * 105 | * @param name The name of the group 106 | * @param fn The function to wrap in the group 107 | */ 108 | export declare function group(name: string, fn: () => Promise): Promise; 109 | /** 110 | * Saves state for current action, the state can only be retrieved by this action's post job execution. 111 | * 112 | * @param name name of the state to store 113 | * @param value value to store. Non-string values will be converted to a string via JSON.stringify 114 | */ 115 | export declare function saveState(name: string, value: any): void; 116 | /** 117 | * Gets the value of an state set by this action's main execution. 118 | * 119 | * @param name name of the state to get 120 | * @returns string 121 | */ 122 | export declare function getState(name: string): string; 123 | -------------------------------------------------------------------------------- /node_modules/@actions/core/lib/core.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"} -------------------------------------------------------------------------------- /node_modules/@actions/core/lib/file-command.d.ts: -------------------------------------------------------------------------------- 1 | export declare function issueCommand(command: string, message: any): void; 2 | -------------------------------------------------------------------------------- /node_modules/@actions/core/lib/file-command.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | // For internal use, subject to change. 3 | var __importStar = (this && this.__importStar) || function (mod) { 4 | if (mod && mod.__esModule) return mod; 5 | var result = {}; 6 | if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; 7 | result["default"] = mod; 8 | return result; 9 | }; 10 | Object.defineProperty(exports, "__esModule", { value: true }); 11 | // We use any as a valid input type 12 | /* eslint-disable @typescript-eslint/no-explicit-any */ 13 | const fs = __importStar(require("fs")); 14 | const os = __importStar(require("os")); 15 | const utils_1 = require("./utils"); 16 | function issueCommand(command, message) { 17 | const filePath = process.env[`GITHUB_${command}`]; 18 | if (!filePath) { 19 | throw new Error(`Unable to find environment variable for file command ${command}`); 20 | } 21 | if (!fs.existsSync(filePath)) { 22 | throw new Error(`Missing file at path: ${filePath}`); 23 | } 24 | fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { 25 | encoding: 'utf8' 26 | }); 27 | } 28 | exports.issueCommand = issueCommand; 29 | //# sourceMappingURL=file-command.js.map -------------------------------------------------------------------------------- /node_modules/@actions/core/lib/file-command.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,mCAAsC;AAEtC,SAAgB,YAAY,CAAC,OAAe,EAAE,OAAY;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,oCAcC"} -------------------------------------------------------------------------------- /node_modules/@actions/core/lib/utils.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Sanitizes an input into a string so it can be passed into issueCommand safely 3 | * @param input input to sanitize into a string 4 | */ 5 | export declare function toCommandValue(input: any): string; 6 | -------------------------------------------------------------------------------- /node_modules/@actions/core/lib/utils.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | // We use any as a valid input type 3 | /* eslint-disable @typescript-eslint/no-explicit-any */ 4 | Object.defineProperty(exports, "__esModule", { value: true }); 5 | /** 6 | * Sanitizes an input into a string so it can be passed into issueCommand safely 7 | * @param input input to sanitize into a string 8 | */ 9 | function toCommandValue(input) { 10 | if (input === null || input === undefined) { 11 | return ''; 12 | } 13 | else if (typeof input === 'string' || input instanceof String) { 14 | return input; 15 | } 16 | return JSON.stringify(input); 17 | } 18 | exports.toCommandValue = toCommandValue; 19 | //# sourceMappingURL=utils.js.map -------------------------------------------------------------------------------- /node_modules/@actions/core/lib/utils.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,uDAAuD;;AAEvD;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAU;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QACzC,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;QAC/D,OAAO,KAAe,CAAA;KACvB;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAPD,wCAOC"} -------------------------------------------------------------------------------- /node_modules/@actions/core/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "@actions/core@^1.2.6", 3 | "_id": "@actions/core@1.2.6", 4 | "_inBundle": false, 5 | "_integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA==", 6 | "_location": "/@actions/core", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "@actions/core@^1.2.6", 12 | "name": "@actions/core", 13 | "escapedName": "@actions%2fcore", 14 | "scope": "@actions", 15 | "rawSpec": "^1.2.6", 16 | "saveSpec": null, 17 | "fetchSpec": "^1.2.6" 18 | }, 19 | "_requiredBy": [ 20 | "/", 21 | "/@actions/tool-cache" 22 | ], 23 | "_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz", 24 | "_shasum": "a78d49f41a4def18e88ce47c2cac615d5694bf09", 25 | "_spec": "@actions/core@^1.2.6", 26 | "_where": "/home/alexjgriffith/Github/setup-lua", 27 | "bugs": { 28 | "url": "https://github.com/actions/toolkit/issues" 29 | }, 30 | "bundleDependencies": false, 31 | "deprecated": false, 32 | "description": "Actions core lib", 33 | "devDependencies": { 34 | "@types/node": "^12.0.2" 35 | }, 36 | "directories": { 37 | "lib": "lib", 38 | "test": "__tests__" 39 | }, 40 | "files": [ 41 | "lib", 42 | "!.DS_Store" 43 | ], 44 | "homepage": "https://github.com/actions/toolkit/tree/main/packages/core", 45 | "keywords": [ 46 | "github", 47 | "actions", 48 | "core" 49 | ], 50 | "license": "MIT", 51 | "main": "lib/core.js", 52 | "name": "@actions/core", 53 | "publishConfig": { 54 | "access": "public" 55 | }, 56 | "repository": { 57 | "type": "git", 58 | "url": "git+https://github.com/actions/toolkit.git", 59 | "directory": "packages/core" 60 | }, 61 | "scripts": { 62 | "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", 63 | "test": "echo \"Error: run tests from root\" && exit 1", 64 | "tsc": "tsc" 65 | }, 66 | "types": "lib/core.d.ts", 67 | "version": "1.2.6" 68 | } 69 | -------------------------------------------------------------------------------- /node_modules/@actions/exec/README.md: -------------------------------------------------------------------------------- 1 | # `@actions/exec` 2 | 3 | ## Usage 4 | 5 | #### Basic 6 | 7 | You can use this package to execute tools in a cross platform way: 8 | 9 | ```js 10 | const exec = require('@actions/exec'); 11 | 12 | await exec.exec('node index.js'); 13 | ``` 14 | 15 | #### Args 16 | 17 | You can also pass in arg arrays: 18 | 19 | ```js 20 | const exec = require('@actions/exec'); 21 | 22 | await exec.exec('node', ['index.js', 'foo=bar']); 23 | ``` 24 | 25 | #### Output/options 26 | 27 | Capture output or specify [other options](https://github.com/actions/toolkit/blob/d9347d4ab99fd507c0b9104b2cf79fb44fcc827d/packages/exec/src/interfaces.ts#L5): 28 | 29 | ```js 30 | const exec = require('@actions/exec'); 31 | 32 | let myOutput = ''; 33 | let myError = ''; 34 | 35 | const options = {}; 36 | options.listeners = { 37 | stdout: (data: Buffer) => { 38 | myOutput += data.toString(); 39 | }, 40 | stderr: (data: Buffer) => { 41 | myError += data.toString(); 42 | } 43 | }; 44 | options.cwd = './lib'; 45 | 46 | await exec.exec('node', ['index.js', 'foo=bar'], options); 47 | ``` 48 | 49 | #### Exec tools not in the PATH 50 | 51 | You can specify the full path for tools not in the PATH: 52 | 53 | ```js 54 | const exec = require('@actions/exec'); 55 | 56 | await exec.exec('"/path/to/my-tool"', ['arg1']); 57 | ``` 58 | -------------------------------------------------------------------------------- /node_modules/@actions/exec/lib/exec.d.ts: -------------------------------------------------------------------------------- 1 | import { ExecOptions } from './interfaces'; 2 | export { ExecOptions }; 3 | /** 4 | * Exec a command. 5 | * Output will be streamed to the live console. 6 | * Returns promise with return code 7 | * 8 | * @param commandLine command to execute (can include additional args). Must be correctly escaped. 9 | * @param args optional arguments for tool. Escaping is handled by the lib. 10 | * @param options optional exec options. See ExecOptions 11 | * @returns Promise exit code 12 | */ 13 | export declare function exec(commandLine: string, args?: string[], options?: ExecOptions): Promise; 14 | -------------------------------------------------------------------------------- /node_modules/@actions/exec/lib/exec.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { 3 | function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 4 | return new (P || (P = Promise))(function (resolve, reject) { 5 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } 6 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } 7 | function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } 8 | step((generator = generator.apply(thisArg, _arguments || [])).next()); 9 | }); 10 | }; 11 | var __importStar = (this && this.__importStar) || function (mod) { 12 | if (mod && mod.__esModule) return mod; 13 | var result = {}; 14 | if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; 15 | result["default"] = mod; 16 | return result; 17 | }; 18 | Object.defineProperty(exports, "__esModule", { value: true }); 19 | const tr = __importStar(require("./toolrunner")); 20 | /** 21 | * Exec a command. 22 | * Output will be streamed to the live console. 23 | * Returns promise with return code 24 | * 25 | * @param commandLine command to execute (can include additional args). Must be correctly escaped. 26 | * @param args optional arguments for tool. Escaping is handled by the lib. 27 | * @param options optional exec options. See ExecOptions 28 | * @returns Promise exit code 29 | */ 30 | function exec(commandLine, args, options) { 31 | return __awaiter(this, void 0, void 0, function* () { 32 | const commandArgs = tr.argStringToArray(commandLine); 33 | if (commandArgs.length === 0) { 34 | throw new Error(`Parameter 'commandLine' cannot be null or empty.`); 35 | } 36 | // Path to tool to execute should be first arg 37 | const toolPath = commandArgs[0]; 38 | args = commandArgs.slice(1).concat(args || []); 39 | const runner = new tr.ToolRunner(toolPath, args, options); 40 | return runner.exec(); 41 | }); 42 | } 43 | exports.exec = exec; 44 | //# sourceMappingURL=exec.js.map -------------------------------------------------------------------------------- /node_modules/@actions/exec/lib/exec.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"exec.js","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,iDAAkC;AAIlC;;;;;;;;;GASG;AACH,SAAsB,IAAI,CACxB,WAAmB,EACnB,IAAe,EACf,OAAqB;;QAErB,MAAM,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QACpD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACpE;QACD,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAkB,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACxE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAA;IACtB,CAAC;CAAA;AAdD,oBAcC"} -------------------------------------------------------------------------------- /node_modules/@actions/exec/lib/interfaces.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import * as stream from 'stream'; 3 | /** 4 | * Interface for exec options 5 | */ 6 | export interface ExecOptions { 7 | /** optional working directory. defaults to current */ 8 | cwd?: string; 9 | /** optional envvar dictionary. defaults to current process's env */ 10 | env?: { 11 | [key: string]: string; 12 | }; 13 | /** optional. defaults to false */ 14 | silent?: boolean; 15 | /** optional out stream to use. Defaults to process.stdout */ 16 | outStream?: stream.Writable; 17 | /** optional err stream to use. Defaults to process.stderr */ 18 | errStream?: stream.Writable; 19 | /** optional. whether to skip quoting/escaping arguments if needed. defaults to false. */ 20 | windowsVerbatimArguments?: boolean; 21 | /** optional. whether to fail if output to stderr. defaults to false */ 22 | failOnStdErr?: boolean; 23 | /** optional. defaults to failing on non zero. ignore will not fail leaving it up to the caller */ 24 | ignoreReturnCode?: boolean; 25 | /** optional. How long in ms to wait for STDIO streams to close after the exit event of the process before terminating. defaults to 10000 */ 26 | delay?: number; 27 | /** optional. input to write to the process on STDIN. */ 28 | input?: Buffer; 29 | /** optional. Listeners for output. Callback functions that will be called on these events */ 30 | listeners?: { 31 | stdout?: (data: Buffer) => void; 32 | stderr?: (data: Buffer) => void; 33 | stdline?: (data: string) => void; 34 | errline?: (data: string) => void; 35 | debug?: (data: string) => void; 36 | }; 37 | } 38 | -------------------------------------------------------------------------------- /node_modules/@actions/exec/lib/interfaces.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=interfaces.js.map -------------------------------------------------------------------------------- /node_modules/@actions/exec/lib/interfaces.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /node_modules/@actions/exec/lib/toolrunner.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import * as events from 'events'; 3 | import * as im from './interfaces'; 4 | export declare class ToolRunner extends events.EventEmitter { 5 | constructor(toolPath: string, args?: string[], options?: im.ExecOptions); 6 | private toolPath; 7 | private args; 8 | private options; 9 | private _debug; 10 | private _getCommandString; 11 | private _processLineBuffer; 12 | private _getSpawnFileName; 13 | private _getSpawnArgs; 14 | private _endsWith; 15 | private _isCmdFile; 16 | private _windowsQuoteCmdArg; 17 | private _uvQuoteCmdArg; 18 | private _cloneExecOptions; 19 | private _getSpawnOptions; 20 | /** 21 | * Exec a tool. 22 | * Output will be streamed to the live console. 23 | * Returns promise with return code 24 | * 25 | * @param tool path to tool to exec 26 | * @param options optional exec options. See ExecOptions 27 | * @returns number 28 | */ 29 | exec(): Promise; 30 | } 31 | /** 32 | * Convert an arg string to an array of args. Handles escaping 33 | * 34 | * @param argString string of arguments 35 | * @returns string[] array of arguments 36 | */ 37 | export declare function argStringToArray(argString: string): string[]; 38 | -------------------------------------------------------------------------------- /node_modules/@actions/exec/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "@actions/exec@^1.0.1", 3 | "_id": "@actions/exec@1.0.4", 4 | "_inBundle": false, 5 | "_integrity": "sha512-4DPChWow9yc9W3WqEbUj8Nr86xkpyE29ZzWjXucHItclLbEW6jr80Zx4nqv18QL6KK65+cifiQZXvnqgTV6oHw==", 6 | "_location": "/@actions/exec", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "@actions/exec@^1.0.1", 12 | "name": "@actions/exec", 13 | "escapedName": "@actions%2fexec", 14 | "scope": "@actions", 15 | "rawSpec": "^1.0.1", 16 | "saveSpec": null, 17 | "fetchSpec": "^1.0.1" 18 | }, 19 | "_requiredBy": [ 20 | "/", 21 | "/@actions/tool-cache" 22 | ], 23 | "_resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.4.tgz", 24 | "_shasum": "99d75310e62e59fc37d2ee6dcff6d4bffadd3a5d", 25 | "_spec": "@actions/exec@^1.0.1", 26 | "_where": "/home/alexjgriffith/Github/setup-lua", 27 | "bugs": { 28 | "url": "https://github.com/actions/toolkit/issues" 29 | }, 30 | "bundleDependencies": false, 31 | "dependencies": { 32 | "@actions/io": "^1.0.1" 33 | }, 34 | "deprecated": false, 35 | "description": "Actions exec lib", 36 | "directories": { 37 | "lib": "lib", 38 | "test": "__tests__" 39 | }, 40 | "files": [ 41 | "lib" 42 | ], 43 | "homepage": "https://github.com/actions/toolkit/tree/master/packages/exec", 44 | "keywords": [ 45 | "github", 46 | "actions", 47 | "exec" 48 | ], 49 | "license": "MIT", 50 | "main": "lib/exec.js", 51 | "name": "@actions/exec", 52 | "publishConfig": { 53 | "access": "public" 54 | }, 55 | "repository": { 56 | "type": "git", 57 | "url": "git+https://github.com/actions/toolkit.git", 58 | "directory": "packages/exec" 59 | }, 60 | "scripts": { 61 | "audit-moderate": "npm install && npm audit --audit-level=moderate", 62 | "test": "echo \"Error: run tests from root\" && exit 1", 63 | "tsc": "tsc" 64 | }, 65 | "types": "lib/exec.d.ts", 66 | "version": "1.0.4" 67 | } 68 | -------------------------------------------------------------------------------- /node_modules/@actions/http-client/LICENSE: -------------------------------------------------------------------------------- 1 | Actions Http Client for Node.js 2 | 3 | Copyright (c) GitHub, Inc. 4 | 5 | All rights reserved. 6 | 7 | MIT License 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 10 | associated documentation files (the "Software"), to deal in the Software without restriction, 11 | including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 12 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 13 | subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 18 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 19 | NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 21 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/@actions/http-client/README.md: -------------------------------------------------------------------------------- 1 | 2 |

3 | 4 |

5 | 6 | # Actions Http-Client 7 | 8 | [![Http Status](https://github.com/actions/http-client/workflows/http-tests/badge.svg)](https://github.com/actions/http-client/actions) 9 | 10 | A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await. 11 | 12 | ## Features 13 | 14 | - HTTP client with TypeScript generics and async/await/Promises 15 | - Typings included so no need to acquire separately (great for intellisense and no versioning drift) 16 | - [Proxy support](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners#using-a-proxy-server-with-self-hosted-runners) just works with actions and the runner 17 | - Targets ES2019 (runner runs actions with node 12+). Only supported on node 12+. 18 | - Basic, Bearer and PAT Support out of the box. Extensible handlers for others. 19 | - Redirects supported 20 | 21 | Features and releases [here](./RELEASES.md) 22 | 23 | ## Install 24 | 25 | ``` 26 | npm install @actions/http-client --save 27 | ``` 28 | 29 | ## Samples 30 | 31 | See the [HTTP](./__tests__) tests for detailed examples. 32 | 33 | ## Errors 34 | 35 | ### HTTP 36 | 37 | The HTTP client does not throw unless truly exceptional. 38 | 39 | * A request that successfully executes resulting in a 404, 500 etc... will return a response object with a status code and a body. 40 | * Redirects (3xx) will be followed by default. 41 | 42 | See [HTTP tests](./__tests__) for detailed examples. 43 | 44 | ## Debugging 45 | 46 | To enable detailed console logging of all HTTP requests and responses, set the NODE_DEBUG environment varible: 47 | 48 | ``` 49 | export NODE_DEBUG=http 50 | ``` 51 | 52 | ## Node support 53 | 54 | The http-client is built using the latest LTS version of Node 12. It may work on previous node LTS versions but it's tested and officially supported on Node12+. 55 | 56 | ## Support and Versioning 57 | 58 | We follow semver and will hold compatibility between major versions and increment the minor version with new features and capabilities (while holding compat). 59 | 60 | ## Contributing 61 | 62 | We welcome PRs. Please create an issue and if applicable, a design before proceeding with code. 63 | 64 | once: 65 | 66 | ```bash 67 | $ npm install 68 | ``` 69 | 70 | To build: 71 | 72 | ```bash 73 | $ npm run build 74 | ``` 75 | 76 | To run all tests: 77 | ```bash 78 | $ npm test 79 | ``` 80 | -------------------------------------------------------------------------------- /node_modules/@actions/http-client/RELEASES.md: -------------------------------------------------------------------------------- 1 | ## Releases 2 | 3 | ## 1.0.9 4 | Throw HttpClientError instead of a generic Error from the \Json() helper methods when the server responds with a non-successful status code. 5 | 6 | ## 1.0.8 7 | Fixed security issue where a redirect (e.g. 302) to another domain would pass headers. The fix was to strip the authorization header if the hostname was different. More [details in PR #27](https://github.com/actions/http-client/pull/27) 8 | 9 | ## 1.0.7 10 | Update NPM dependencies and add 429 to the list of HttpCodes 11 | 12 | ## 1.0.6 13 | Automatically sends Content-Type and Accept application/json headers for \Json() helper methods if not set in the client or parameters. 14 | 15 | ## 1.0.5 16 | Adds \Json() helper methods for json over http scenarios. 17 | 18 | ## 1.0.4 19 | Started to add \Json() helper methods. Do not use this release for that. Use >= 1.0.5 since there was an issue with types. 20 | 21 | ## 1.0.1 to 1.0.3 22 | Adds proxy support. 23 | -------------------------------------------------------------------------------- /node_modules/@actions/http-client/actions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpol/setup-lua/3f2ae3c3a89c2d6f12e07137594a0499b43cc016/node_modules/@actions/http-client/actions.png -------------------------------------------------------------------------------- /node_modules/@actions/http-client/auth.d.ts: -------------------------------------------------------------------------------- 1 | import ifm = require('./interfaces'); 2 | export declare class BasicCredentialHandler implements ifm.IRequestHandler { 3 | username: string; 4 | password: string; 5 | constructor(username: string, password: string); 6 | prepareRequest(options: any): void; 7 | canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; 8 | handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; 9 | } 10 | export declare class BearerCredentialHandler implements ifm.IRequestHandler { 11 | token: string; 12 | constructor(token: string); 13 | prepareRequest(options: any): void; 14 | canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; 15 | handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; 16 | } 17 | export declare class PersonalAccessTokenCredentialHandler implements ifm.IRequestHandler { 18 | token: string; 19 | constructor(token: string); 20 | prepareRequest(options: any): void; 21 | canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; 22 | handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; 23 | } 24 | -------------------------------------------------------------------------------- /node_modules/@actions/http-client/auth.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class BasicCredentialHandler { 4 | constructor(username, password) { 5 | this.username = username; 6 | this.password = password; 7 | } 8 | prepareRequest(options) { 9 | options.headers['Authorization'] = 10 | 'Basic ' + 11 | Buffer.from(this.username + ':' + this.password).toString('base64'); 12 | } 13 | // This handler cannot handle 401 14 | canHandleAuthentication(response) { 15 | return false; 16 | } 17 | handleAuthentication(httpClient, requestInfo, objs) { 18 | return null; 19 | } 20 | } 21 | exports.BasicCredentialHandler = BasicCredentialHandler; 22 | class BearerCredentialHandler { 23 | constructor(token) { 24 | this.token = token; 25 | } 26 | // currently implements pre-authorization 27 | // TODO: support preAuth = false where it hooks on 401 28 | prepareRequest(options) { 29 | options.headers['Authorization'] = 'Bearer ' + this.token; 30 | } 31 | // This handler cannot handle 401 32 | canHandleAuthentication(response) { 33 | return false; 34 | } 35 | handleAuthentication(httpClient, requestInfo, objs) { 36 | return null; 37 | } 38 | } 39 | exports.BearerCredentialHandler = BearerCredentialHandler; 40 | class PersonalAccessTokenCredentialHandler { 41 | constructor(token) { 42 | this.token = token; 43 | } 44 | // currently implements pre-authorization 45 | // TODO: support preAuth = false where it hooks on 401 46 | prepareRequest(options) { 47 | options.headers['Authorization'] = 48 | 'Basic ' + Buffer.from('PAT:' + this.token).toString('base64'); 49 | } 50 | // This handler cannot handle 401 51 | canHandleAuthentication(response) { 52 | return false; 53 | } 54 | handleAuthentication(httpClient, requestInfo, objs) { 55 | return null; 56 | } 57 | } 58 | exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; 59 | -------------------------------------------------------------------------------- /node_modules/@actions/http-client/index.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import http = require('http'); 3 | import ifm = require('./interfaces'); 4 | export declare enum HttpCodes { 5 | OK = 200, 6 | MultipleChoices = 300, 7 | MovedPermanently = 301, 8 | ResourceMoved = 302, 9 | SeeOther = 303, 10 | NotModified = 304, 11 | UseProxy = 305, 12 | SwitchProxy = 306, 13 | TemporaryRedirect = 307, 14 | PermanentRedirect = 308, 15 | BadRequest = 400, 16 | Unauthorized = 401, 17 | PaymentRequired = 402, 18 | Forbidden = 403, 19 | NotFound = 404, 20 | MethodNotAllowed = 405, 21 | NotAcceptable = 406, 22 | ProxyAuthenticationRequired = 407, 23 | RequestTimeout = 408, 24 | Conflict = 409, 25 | Gone = 410, 26 | TooManyRequests = 429, 27 | InternalServerError = 500, 28 | NotImplemented = 501, 29 | BadGateway = 502, 30 | ServiceUnavailable = 503, 31 | GatewayTimeout = 504 32 | } 33 | export declare enum Headers { 34 | Accept = "accept", 35 | ContentType = "content-type" 36 | } 37 | export declare enum MediaTypes { 38 | ApplicationJson = "application/json" 39 | } 40 | /** 41 | * Returns the proxy URL, depending upon the supplied url and proxy environment variables. 42 | * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com 43 | */ 44 | export declare function getProxyUrl(serverUrl: string): string; 45 | export declare class HttpClientError extends Error { 46 | constructor(message: string, statusCode: number); 47 | statusCode: number; 48 | result?: any; 49 | } 50 | export declare class HttpClientResponse implements ifm.IHttpClientResponse { 51 | constructor(message: http.IncomingMessage); 52 | message: http.IncomingMessage; 53 | readBody(): Promise; 54 | } 55 | export declare function isHttps(requestUrl: string): boolean; 56 | export declare class HttpClient { 57 | userAgent: string | undefined; 58 | handlers: ifm.IRequestHandler[]; 59 | requestOptions: ifm.IRequestOptions; 60 | private _ignoreSslError; 61 | private _socketTimeout; 62 | private _allowRedirects; 63 | private _allowRedirectDowngrade; 64 | private _maxRedirects; 65 | private _allowRetries; 66 | private _maxRetries; 67 | private _agent; 68 | private _proxyAgent; 69 | private _keepAlive; 70 | private _disposed; 71 | constructor(userAgent?: string, handlers?: ifm.IRequestHandler[], requestOptions?: ifm.IRequestOptions); 72 | options(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; 73 | get(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; 74 | del(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; 75 | post(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; 76 | patch(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; 77 | put(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; 78 | head(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; 79 | sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: ifm.IHeaders): Promise; 80 | /** 81 | * Gets a typed object from an endpoint 82 | * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise 83 | */ 84 | getJson(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise>; 85 | postJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; 86 | putJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; 87 | patchJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; 88 | /** 89 | * Makes a raw http request. 90 | * All other methods such as get, post, patch, and request ultimately call this. 91 | * Prefer get, del, post and patch 92 | */ 93 | request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: ifm.IHeaders): Promise; 94 | /** 95 | * Needs to be called if keepAlive is set to true in request options. 96 | */ 97 | dispose(): void; 98 | /** 99 | * Raw request. 100 | * @param info 101 | * @param data 102 | */ 103 | requestRaw(info: ifm.IRequestInfo, data: string | NodeJS.ReadableStream): Promise; 104 | /** 105 | * Raw request with callback. 106 | * @param info 107 | * @param data 108 | * @param onResult 109 | */ 110 | requestRawWithCallback(info: ifm.IRequestInfo, data: string | NodeJS.ReadableStream, onResult: (err: any, res: ifm.IHttpClientResponse) => void): void; 111 | /** 112 | * Gets an http agent. This function is useful when you need an http agent that handles 113 | * routing through a proxy server - depending upon the url and proxy environment variables. 114 | * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com 115 | */ 116 | getAgent(serverUrl: string): http.Agent; 117 | private _prepareRequest; 118 | private _mergeHeaders; 119 | private _getExistingOrDefaultHeader; 120 | private _getAgent; 121 | private _performExponentialBackoff; 122 | private static dateTimeDeserializer; 123 | private _processResponse; 124 | } 125 | -------------------------------------------------------------------------------- /node_modules/@actions/http-client/interfaces.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import http = require('http'); 3 | export interface IHeaders { 4 | [key: string]: any; 5 | } 6 | export interface IHttpClient { 7 | options(requestUrl: string, additionalHeaders?: IHeaders): Promise; 8 | get(requestUrl: string, additionalHeaders?: IHeaders): Promise; 9 | del(requestUrl: string, additionalHeaders?: IHeaders): Promise; 10 | post(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; 11 | patch(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; 12 | put(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; 13 | sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: IHeaders): Promise; 14 | request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: IHeaders): Promise; 15 | requestRaw(info: IRequestInfo, data: string | NodeJS.ReadableStream): Promise; 16 | requestRawWithCallback(info: IRequestInfo, data: string | NodeJS.ReadableStream, onResult: (err: any, res: IHttpClientResponse) => void): void; 17 | } 18 | export interface IRequestHandler { 19 | prepareRequest(options: http.RequestOptions): void; 20 | canHandleAuthentication(response: IHttpClientResponse): boolean; 21 | handleAuthentication(httpClient: IHttpClient, requestInfo: IRequestInfo, objs: any): Promise; 22 | } 23 | export interface IHttpClientResponse { 24 | message: http.IncomingMessage; 25 | readBody(): Promise; 26 | } 27 | export interface IRequestInfo { 28 | options: http.RequestOptions; 29 | parsedUrl: URL; 30 | httpModule: any; 31 | } 32 | export interface IRequestOptions { 33 | headers?: IHeaders; 34 | socketTimeout?: number; 35 | ignoreSslError?: boolean; 36 | allowRedirects?: boolean; 37 | allowRedirectDowngrade?: boolean; 38 | maxRedirects?: number; 39 | maxSockets?: number; 40 | keepAlive?: boolean; 41 | deserializeDates?: boolean; 42 | allowRetries?: boolean; 43 | maxRetries?: number; 44 | } 45 | export interface ITypedResponse { 46 | statusCode: number; 47 | result: T | null; 48 | headers: Object; 49 | } 50 | -------------------------------------------------------------------------------- /node_modules/@actions/http-client/interfaces.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /node_modules/@actions/http-client/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "@actions/http-client@^1.0.8", 3 | "_id": "@actions/http-client@1.0.9", 4 | "_inBundle": false, 5 | "_integrity": "sha512-0O4SsJ7q+MK0ycvXPl2e6bMXV7dxAXOGjrXS1eTF9s2S401Tp6c/P3c3Joz04QefC1J6Gt942Wl2jbm3f4mLcg==", 6 | "_location": "/@actions/http-client", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "@actions/http-client@^1.0.8", 12 | "name": "@actions/http-client", 13 | "escapedName": "@actions%2fhttp-client", 14 | "scope": "@actions", 15 | "rawSpec": "^1.0.8", 16 | "saveSpec": null, 17 | "fetchSpec": "^1.0.8" 18 | }, 19 | "_requiredBy": [ 20 | "/@actions/tool-cache" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.9.tgz", 23 | "_shasum": "af1947d020043dbc6a3b4c5918892095c30ffb52", 24 | "_spec": "@actions/http-client@^1.0.8", 25 | "_where": "/home/alexjgriffith/Github/setup-lua/node_modules/@actions/tool-cache", 26 | "author": { 27 | "name": "GitHub, Inc." 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/actions/http-client/issues" 31 | }, 32 | "bundleDependencies": false, 33 | "dependencies": { 34 | "tunnel": "0.0.6" 35 | }, 36 | "deprecated": false, 37 | "description": "Actions Http Client", 38 | "devDependencies": { 39 | "@types/jest": "^25.1.4", 40 | "@types/node": "^12.12.31", 41 | "jest": "^25.1.0", 42 | "prettier": "^2.0.4", 43 | "proxy": "^1.0.1", 44 | "ts-jest": "^25.2.1", 45 | "typescript": "^3.8.3" 46 | }, 47 | "homepage": "https://github.com/actions/http-client#readme", 48 | "keywords": [ 49 | "Actions", 50 | "Http" 51 | ], 52 | "license": "MIT", 53 | "main": "index.js", 54 | "name": "@actions/http-client", 55 | "repository": { 56 | "type": "git", 57 | "url": "git+https://github.com/actions/http-client.git" 58 | }, 59 | "scripts": { 60 | "audit-check": "npm audit --audit-level=moderate", 61 | "build": "rm -Rf ./_out && tsc && cp package*.json ./_out && cp *.md ./_out && cp LICENSE ./_out && cp actions.png ./_out", 62 | "format": "prettier --write *.ts && prettier --write **/*.ts", 63 | "format-check": "prettier --check *.ts && prettier --check **/*.ts", 64 | "test": "jest" 65 | }, 66 | "version": "1.0.9" 67 | } 68 | -------------------------------------------------------------------------------- /node_modules/@actions/http-client/proxy.d.ts: -------------------------------------------------------------------------------- 1 | export declare function getProxyUrl(reqUrl: URL): URL | undefined; 2 | export declare function checkBypass(reqUrl: URL): boolean; 3 | -------------------------------------------------------------------------------- /node_modules/@actions/http-client/proxy.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | function getProxyUrl(reqUrl) { 4 | let usingSsl = reqUrl.protocol === 'https:'; 5 | let proxyUrl; 6 | if (checkBypass(reqUrl)) { 7 | return proxyUrl; 8 | } 9 | let proxyVar; 10 | if (usingSsl) { 11 | proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY']; 12 | } 13 | else { 14 | proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY']; 15 | } 16 | if (proxyVar) { 17 | proxyUrl = new URL(proxyVar); 18 | } 19 | return proxyUrl; 20 | } 21 | exports.getProxyUrl = getProxyUrl; 22 | function checkBypass(reqUrl) { 23 | if (!reqUrl.hostname) { 24 | return false; 25 | } 26 | let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; 27 | if (!noProxy) { 28 | return false; 29 | } 30 | // Determine the request port 31 | let reqPort; 32 | if (reqUrl.port) { 33 | reqPort = Number(reqUrl.port); 34 | } 35 | else if (reqUrl.protocol === 'http:') { 36 | reqPort = 80; 37 | } 38 | else if (reqUrl.protocol === 'https:') { 39 | reqPort = 443; 40 | } 41 | // Format the request hostname and hostname with port 42 | let upperReqHosts = [reqUrl.hostname.toUpperCase()]; 43 | if (typeof reqPort === 'number') { 44 | upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); 45 | } 46 | // Compare request host against noproxy 47 | for (let upperNoProxyItem of noProxy 48 | .split(',') 49 | .map(x => x.trim().toUpperCase()) 50 | .filter(x => x)) { 51 | if (upperReqHosts.some(x => x === upperNoProxyItem)) { 52 | return true; 53 | } 54 | } 55 | return false; 56 | } 57 | exports.checkBypass = checkBypass; 58 | -------------------------------------------------------------------------------- /node_modules/@actions/io/README.md: -------------------------------------------------------------------------------- 1 | # `@actions/io` 2 | 3 | > Core functions for cli filesystem scenarios 4 | 5 | ## Usage 6 | 7 | #### mkdir -p 8 | 9 | Recursively make a directory. Follows rules specified in [man mkdir](https://linux.die.net/man/1/mkdir) with the `-p` option specified: 10 | 11 | ```js 12 | const io = require('@actions/io'); 13 | 14 | await io.mkdirP('path/to/make'); 15 | ``` 16 | 17 | #### cp/mv 18 | 19 | Copy or move files or folders. Follows rules specified in [man cp](https://linux.die.net/man/1/cp) and [man mv](https://linux.die.net/man/1/mv): 20 | 21 | ```js 22 | const io = require('@actions/io'); 23 | 24 | // Recursive must be true for directories 25 | const options = { recursive: true, force: false } 26 | 27 | await io.cp('path/to/directory', 'path/to/dest', options); 28 | await io.mv('path/to/file', 'path/to/dest'); 29 | ``` 30 | 31 | #### rm -rf 32 | 33 | Remove a file or folder recursively. Follows rules specified in [man rm](https://linux.die.net/man/1/rm) with the `-r` and `-f` rules specified. 34 | 35 | ```js 36 | const io = require('@actions/io'); 37 | 38 | await io.rmRF('path/to/directory'); 39 | await io.rmRF('path/to/file'); 40 | ``` 41 | 42 | #### which 43 | 44 | Get the path to a tool and resolves via paths. Follows the rules specified in [man which](https://linux.die.net/man/1/which). 45 | 46 | ```js 47 | const exec = require('@actions/exec'); 48 | const io = require('@actions/io'); 49 | 50 | const pythonPath: string = await io.which('python', true) 51 | 52 | await exec.exec(`"${pythonPath}"`, ['main.py']); 53 | ``` 54 | -------------------------------------------------------------------------------- /node_modules/@actions/io/lib/io-util.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import * as fs from 'fs'; 3 | export declare const chmod: typeof fs.promises.chmod, copyFile: typeof fs.promises.copyFile, lstat: typeof fs.promises.lstat, mkdir: typeof fs.promises.mkdir, readdir: typeof fs.promises.readdir, readlink: typeof fs.promises.readlink, rename: typeof fs.promises.rename, rmdir: typeof fs.promises.rmdir, stat: typeof fs.promises.stat, symlink: typeof fs.promises.symlink, unlink: typeof fs.promises.unlink; 4 | export declare const IS_WINDOWS: boolean; 5 | export declare function exists(fsPath: string): Promise; 6 | export declare function isDirectory(fsPath: string, useStat?: boolean): Promise; 7 | /** 8 | * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like: 9 | * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases). 10 | */ 11 | export declare function isRooted(p: string): boolean; 12 | /** 13 | * Recursively create a directory at `fsPath`. 14 | * 15 | * This implementation is optimistic, meaning it attempts to create the full 16 | * path first, and backs up the path stack from there. 17 | * 18 | * @param fsPath The path to create 19 | * @param maxDepth The maximum recursion depth 20 | * @param depth The current recursion depth 21 | */ 22 | export declare function mkdirP(fsPath: string, maxDepth?: number, depth?: number): Promise; 23 | /** 24 | * Best effort attempt to determine whether a file exists and is executable. 25 | * @param filePath file path to check 26 | * @param extensions additional file extensions to try 27 | * @return if file exists and is executable, returns the file path. otherwise empty string. 28 | */ 29 | export declare function tryGetExecutablePath(filePath: string, extensions: string[]): Promise; 30 | -------------------------------------------------------------------------------- /node_modules/@actions/io/lib/io-util.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { 3 | function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 4 | return new (P || (P = Promise))(function (resolve, reject) { 5 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } 6 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } 7 | function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } 8 | step((generator = generator.apply(thisArg, _arguments || [])).next()); 9 | }); 10 | }; 11 | var _a; 12 | Object.defineProperty(exports, "__esModule", { value: true }); 13 | const assert_1 = require("assert"); 14 | const fs = require("fs"); 15 | const path = require("path"); 16 | _a = fs.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink; 17 | exports.IS_WINDOWS = process.platform === 'win32'; 18 | function exists(fsPath) { 19 | return __awaiter(this, void 0, void 0, function* () { 20 | try { 21 | yield exports.stat(fsPath); 22 | } 23 | catch (err) { 24 | if (err.code === 'ENOENT') { 25 | return false; 26 | } 27 | throw err; 28 | } 29 | return true; 30 | }); 31 | } 32 | exports.exists = exists; 33 | function isDirectory(fsPath, useStat = false) { 34 | return __awaiter(this, void 0, void 0, function* () { 35 | const stats = useStat ? yield exports.stat(fsPath) : yield exports.lstat(fsPath); 36 | return stats.isDirectory(); 37 | }); 38 | } 39 | exports.isDirectory = isDirectory; 40 | /** 41 | * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like: 42 | * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases). 43 | */ 44 | function isRooted(p) { 45 | p = normalizeSeparators(p); 46 | if (!p) { 47 | throw new Error('isRooted() parameter "p" cannot be empty'); 48 | } 49 | if (exports.IS_WINDOWS) { 50 | return (p.startsWith('\\') || /^[A-Z]:/i.test(p) // e.g. \ or \hello or \\hello 51 | ); // e.g. C: or C:\hello 52 | } 53 | return p.startsWith('/'); 54 | } 55 | exports.isRooted = isRooted; 56 | /** 57 | * Recursively create a directory at `fsPath`. 58 | * 59 | * This implementation is optimistic, meaning it attempts to create the full 60 | * path first, and backs up the path stack from there. 61 | * 62 | * @param fsPath The path to create 63 | * @param maxDepth The maximum recursion depth 64 | * @param depth The current recursion depth 65 | */ 66 | function mkdirP(fsPath, maxDepth = 1000, depth = 1) { 67 | return __awaiter(this, void 0, void 0, function* () { 68 | assert_1.ok(fsPath, 'a path argument must be provided'); 69 | fsPath = path.resolve(fsPath); 70 | if (depth >= maxDepth) 71 | return exports.mkdir(fsPath); 72 | try { 73 | yield exports.mkdir(fsPath); 74 | return; 75 | } 76 | catch (err) { 77 | switch (err.code) { 78 | case 'ENOENT': { 79 | yield mkdirP(path.dirname(fsPath), maxDepth, depth + 1); 80 | yield exports.mkdir(fsPath); 81 | return; 82 | } 83 | default: { 84 | let stats; 85 | try { 86 | stats = yield exports.stat(fsPath); 87 | } 88 | catch (err2) { 89 | throw err; 90 | } 91 | if (!stats.isDirectory()) 92 | throw err; 93 | } 94 | } 95 | } 96 | }); 97 | } 98 | exports.mkdirP = mkdirP; 99 | /** 100 | * Best effort attempt to determine whether a file exists and is executable. 101 | * @param filePath file path to check 102 | * @param extensions additional file extensions to try 103 | * @return if file exists and is executable, returns the file path. otherwise empty string. 104 | */ 105 | function tryGetExecutablePath(filePath, extensions) { 106 | return __awaiter(this, void 0, void 0, function* () { 107 | let stats = undefined; 108 | try { 109 | // test file exists 110 | stats = yield exports.stat(filePath); 111 | } 112 | catch (err) { 113 | if (err.code !== 'ENOENT') { 114 | // eslint-disable-next-line no-console 115 | console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); 116 | } 117 | } 118 | if (stats && stats.isFile()) { 119 | if (exports.IS_WINDOWS) { 120 | // on Windows, test for valid extension 121 | const upperExt = path.extname(filePath).toUpperCase(); 122 | if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) { 123 | return filePath; 124 | } 125 | } 126 | else { 127 | if (isUnixExecutable(stats)) { 128 | return filePath; 129 | } 130 | } 131 | } 132 | // try each extension 133 | const originalFilePath = filePath; 134 | for (const extension of extensions) { 135 | filePath = originalFilePath + extension; 136 | stats = undefined; 137 | try { 138 | stats = yield exports.stat(filePath); 139 | } 140 | catch (err) { 141 | if (err.code !== 'ENOENT') { 142 | // eslint-disable-next-line no-console 143 | console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); 144 | } 145 | } 146 | if (stats && stats.isFile()) { 147 | if (exports.IS_WINDOWS) { 148 | // preserve the case of the actual file (since an extension was appended) 149 | try { 150 | const directory = path.dirname(filePath); 151 | const upperName = path.basename(filePath).toUpperCase(); 152 | for (const actualName of yield exports.readdir(directory)) { 153 | if (upperName === actualName.toUpperCase()) { 154 | filePath = path.join(directory, actualName); 155 | break; 156 | } 157 | } 158 | } 159 | catch (err) { 160 | // eslint-disable-next-line no-console 161 | console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`); 162 | } 163 | return filePath; 164 | } 165 | else { 166 | if (isUnixExecutable(stats)) { 167 | return filePath; 168 | } 169 | } 170 | } 171 | } 172 | return ''; 173 | }); 174 | } 175 | exports.tryGetExecutablePath = tryGetExecutablePath; 176 | function normalizeSeparators(p) { 177 | p = p || ''; 178 | if (exports.IS_WINDOWS) { 179 | // convert slashes on Windows 180 | p = p.replace(/\//g, '\\'); 181 | // remove redundant slashes 182 | return p.replace(/\\\\+/g, '\\'); 183 | } 184 | // remove redundant slashes 185 | return p.replace(/\/\/+/g, '/'); 186 | } 187 | // on Mac/Linux, test the execute bit 188 | // R W X R W X R W X 189 | // 256 128 64 32 16 8 4 2 1 190 | function isUnixExecutable(stats) { 191 | return ((stats.mode & 1) > 0 || 192 | ((stats.mode & 8) > 0 && stats.gid === process.getgid()) || 193 | ((stats.mode & 64) > 0 && stats.uid === process.getuid())); 194 | } 195 | //# sourceMappingURL=io-util.js.map -------------------------------------------------------------------------------- /node_modules/@actions/io/lib/io-util.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"io-util.js","sourceRoot":"","sources":["../src/io-util.ts"],"names":[],"mappings":"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"} -------------------------------------------------------------------------------- /node_modules/@actions/io/lib/io.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Interface for cp/mv options 3 | */ 4 | export interface CopyOptions { 5 | /** Optional. Whether to recursively copy all subdirectories. Defaults to false */ 6 | recursive?: boolean; 7 | /** Optional. Whether to overwrite existing files in the destination. Defaults to true */ 8 | force?: boolean; 9 | } 10 | /** 11 | * Interface for cp/mv options 12 | */ 13 | export interface MoveOptions { 14 | /** Optional. Whether to overwrite existing files in the destination. Defaults to true */ 15 | force?: boolean; 16 | } 17 | /** 18 | * Copies a file or folder. 19 | * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js 20 | * 21 | * @param source source path 22 | * @param dest destination path 23 | * @param options optional. See CopyOptions. 24 | */ 25 | export declare function cp(source: string, dest: string, options?: CopyOptions): Promise; 26 | /** 27 | * Moves a path. 28 | * 29 | * @param source source path 30 | * @param dest destination path 31 | * @param options optional. See MoveOptions. 32 | */ 33 | export declare function mv(source: string, dest: string, options?: MoveOptions): Promise; 34 | /** 35 | * Remove a path recursively with force 36 | * 37 | * @param inputPath path to remove 38 | */ 39 | export declare function rmRF(inputPath: string): Promise; 40 | /** 41 | * Make a directory. Creates the full path with folders in between 42 | * Will throw if it fails 43 | * 44 | * @param fsPath path to create 45 | * @returns Promise 46 | */ 47 | export declare function mkdirP(fsPath: string): Promise; 48 | /** 49 | * Returns path of a tool had the tool actually been invoked. Resolves via paths. 50 | * If you check and the tool does not exist, it will throw. 51 | * 52 | * @param tool name of the tool 53 | * @param check whether to check if tool exists 54 | * @returns Promise path to tool 55 | */ 56 | export declare function which(tool: string, check?: boolean): Promise; 57 | -------------------------------------------------------------------------------- /node_modules/@actions/io/lib/io.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"io.js","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"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"} -------------------------------------------------------------------------------- /node_modules/@actions/io/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "@actions/io@^1.0.1", 3 | "_id": "@actions/io@1.0.2", 4 | "_inBundle": false, 5 | "_integrity": "sha512-J8KuFqVPr3p6U8W93DOXlXW6zFvrQAJANdS+vw0YhusLIq+bszW8zmK2Fh1C2kDPX8FMvwIl1OUcFgvJoXLbAg==", 6 | "_location": "/@actions/io", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "@actions/io@^1.0.1", 12 | "name": "@actions/io", 13 | "escapedName": "@actions%2fio", 14 | "scope": "@actions", 15 | "rawSpec": "^1.0.1", 16 | "saveSpec": null, 17 | "fetchSpec": "^1.0.1" 18 | }, 19 | "_requiredBy": [ 20 | "/", 21 | "/@actions/exec", 22 | "/@actions/tool-cache" 23 | ], 24 | "_resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.2.tgz", 25 | "_shasum": "2f614b6e69ce14d191180451eb38e6576a6e6b27", 26 | "_spec": "@actions/io@^1.0.1", 27 | "_where": "/home/alexjgriffith/Github/setup-lua", 28 | "bugs": { 29 | "url": "https://github.com/actions/toolkit/issues" 30 | }, 31 | "bundleDependencies": false, 32 | "deprecated": false, 33 | "description": "Actions io lib", 34 | "directories": { 35 | "lib": "lib", 36 | "test": "__tests__" 37 | }, 38 | "files": [ 39 | "lib" 40 | ], 41 | "homepage": "https://github.com/actions/toolkit/tree/master/packages/io", 42 | "keywords": [ 43 | "github", 44 | "actions", 45 | "io" 46 | ], 47 | "license": "MIT", 48 | "main": "lib/io.js", 49 | "name": "@actions/io", 50 | "publishConfig": { 51 | "access": "public" 52 | }, 53 | "repository": { 54 | "type": "git", 55 | "url": "git+https://github.com/actions/toolkit.git", 56 | "directory": "packages/io" 57 | }, 58 | "scripts": { 59 | "audit-moderate": "npm install && npm audit --audit-level=moderate", 60 | "test": "echo \"Error: run tests from root\" && exit 1", 61 | "tsc": "tsc" 62 | }, 63 | "types": "lib/io.d.ts", 64 | "version": "1.0.2" 65 | } 66 | -------------------------------------------------------------------------------- /node_modules/@actions/tool-cache/README.md: -------------------------------------------------------------------------------- 1 | # `@actions/tool-cache` 2 | 3 | > Functions necessary for downloading and caching tools. 4 | 5 | ## Usage 6 | 7 | #### Download 8 | 9 | You can use this to download tools (or other files) from a download URL: 10 | 11 | ```js 12 | const tc = require('@actions/tool-cache'); 13 | 14 | const node12Path = await tc.downloadTool('https://nodejs.org/dist/v12.7.0/node-v12.7.0-linux-x64.tar.gz'); 15 | ``` 16 | 17 | #### Extract 18 | 19 | These can then be extracted in platform specific ways: 20 | 21 | ```js 22 | const tc = require('@actions/tool-cache'); 23 | 24 | if (process.platform === 'win32') { 25 | const node12Path = await tc.downloadTool('https://nodejs.org/dist/v12.7.0/node-v12.7.0-win-x64.zip'); 26 | const node12ExtractedFolder = await tc.extractZip(node12Path, 'path/to/extract/to'); 27 | 28 | // Or alternately 29 | const node12Path = await tc.downloadTool('https://nodejs.org/dist/v12.7.0/node-v12.7.0-win-x64.7z'); 30 | const node12ExtractedFolder = await tc.extract7z(node12Path, 'path/to/extract/to'); 31 | } 32 | else if (process.platform === 'darwin') { 33 | const node12Path = await tc.downloadTool('https://nodejs.org/dist/v12.7.0/node-v12.7.0.pkg'); 34 | const node12ExtractedFolder = await tc.extractXar(node12Path, 'path/to/extract/to'); 35 | } 36 | else { 37 | const node12Path = await tc.downloadTool('https://nodejs.org/dist/v12.7.0/node-v12.7.0-linux-x64.tar.gz'); 38 | const node12ExtractedFolder = await tc.extractTar(node12Path, 'path/to/extract/to'); 39 | } 40 | ``` 41 | 42 | #### Cache 43 | 44 | Finally, you can cache these directories in our tool-cache. This is useful if you want to switch back and forth between versions of a tool, or save a tool between runs for self-hosted runners. 45 | 46 | You'll often want to add it to the path as part of this step: 47 | 48 | ```js 49 | const tc = require('@actions/tool-cache'); 50 | const core = require('@actions/core'); 51 | 52 | const node12Path = await tc.downloadTool('https://nodejs.org/dist/v12.7.0/node-v12.7.0-linux-x64.tar.gz'); 53 | const node12ExtractedFolder = await tc.extractTar(node12Path, 'path/to/extract/to'); 54 | 55 | const cachedPath = await tc.cacheDir(node12ExtractedFolder, 'node', '12.7.0'); 56 | core.addPath(cachedPath); 57 | ``` 58 | 59 | You can also cache files for reuse. 60 | 61 | ```js 62 | const tc = require('@actions/tool-cache'); 63 | 64 | const cachedPath = await tc.cacheFile('path/to/exe', 'destFileName.exe', 'myExeName', '1.1.0'); 65 | ``` 66 | 67 | #### Find 68 | 69 | Finally, you can find directories and files you've previously cached: 70 | 71 | ```js 72 | const tc = require('@actions/tool-cache'); 73 | const core = require('@actions/core'); 74 | 75 | const nodeDirectory = tc.find('node', '12.x', 'x64'); 76 | core.addPath(nodeDirectory); 77 | ``` 78 | 79 | You can even find all cached versions of a tool: 80 | 81 | ```js 82 | const tc = require('@actions/tool-cache'); 83 | 84 | const allNodeVersions = tc.findAllVersions('node'); 85 | console.log(`Versions of node available: ${allNodeVersions}`); 86 | ``` 87 | -------------------------------------------------------------------------------- /node_modules/@actions/tool-cache/lib/manifest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IToolReleaseFile { 2 | filename: string; 3 | platform: string; 4 | platform_version?: string; 5 | arch: string; 6 | download_url: string; 7 | } 8 | export interface IToolRelease { 9 | version: string; 10 | stable: boolean; 11 | release_url: string; 12 | files: IToolReleaseFile[]; 13 | } 14 | export declare function _findMatch(versionSpec: string, stable: boolean, candidates: IToolRelease[], archFilter: string): Promise; 15 | export declare function _getOsVersion(): string; 16 | export declare function _readLinuxVersionFile(): string; 17 | -------------------------------------------------------------------------------- /node_modules/@actions/tool-cache/lib/manifest.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { 3 | function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 4 | return new (P || (P = Promise))(function (resolve, reject) { 5 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } 6 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } 7 | function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } 8 | step((generator = generator.apply(thisArg, _arguments || [])).next()); 9 | }); 10 | }; 11 | var __importStar = (this && this.__importStar) || function (mod) { 12 | if (mod && mod.__esModule) return mod; 13 | var result = {}; 14 | if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; 15 | result["default"] = mod; 16 | return result; 17 | }; 18 | Object.defineProperty(exports, "__esModule", { value: true }); 19 | const semver = __importStar(require("semver")); 20 | const core_1 = require("@actions/core"); 21 | // needs to be require for core node modules to be mocked 22 | /* eslint @typescript-eslint/no-require-imports: 0 */ 23 | const os = require("os"); 24 | const cp = require("child_process"); 25 | const fs = require("fs"); 26 | function _findMatch(versionSpec, stable, candidates, archFilter) { 27 | return __awaiter(this, void 0, void 0, function* () { 28 | const platFilter = os.platform(); 29 | let result; 30 | let match; 31 | let file; 32 | for (const candidate of candidates) { 33 | const version = candidate.version; 34 | core_1.debug(`check ${version} satisfies ${versionSpec}`); 35 | if (semver.satisfies(version, versionSpec) && 36 | (!stable || candidate.stable === stable)) { 37 | file = candidate.files.find(item => { 38 | core_1.debug(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`); 39 | let chk = item.arch === archFilter && item.platform === platFilter; 40 | if (chk && item.platform_version) { 41 | const osVersion = module.exports._getOsVersion(); 42 | if (osVersion === item.platform_version) { 43 | chk = true; 44 | } 45 | else { 46 | chk = semver.satisfies(osVersion, item.platform_version); 47 | } 48 | } 49 | return chk; 50 | }); 51 | if (file) { 52 | core_1.debug(`matched ${candidate.version}`); 53 | match = candidate; 54 | break; 55 | } 56 | } 57 | } 58 | if (match && file) { 59 | // clone since we're mutating the file list to be only the file that matches 60 | result = Object.assign({}, match); 61 | result.files = [file]; 62 | } 63 | return result; 64 | }); 65 | } 66 | exports._findMatch = _findMatch; 67 | function _getOsVersion() { 68 | // TODO: add windows and other linux, arm variants 69 | // right now filtering on version is only an ubuntu and macos scenario for tools we build for hosted (python) 70 | const plat = os.platform(); 71 | let version = ''; 72 | if (plat === 'darwin') { 73 | version = cp.execSync('sw_vers -productVersion').toString(); 74 | } 75 | else if (plat === 'linux') { 76 | // lsb_release process not in some containers, readfile 77 | // Run cat /etc/lsb-release 78 | // DISTRIB_ID=Ubuntu 79 | // DISTRIB_RELEASE=18.04 80 | // DISTRIB_CODENAME=bionic 81 | // DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS" 82 | const lsbContents = module.exports._readLinuxVersionFile(); 83 | if (lsbContents) { 84 | const lines = lsbContents.split('\n'); 85 | for (const line of lines) { 86 | const parts = line.split('='); 87 | if (parts.length === 2 && parts[0].trim() === 'DISTRIB_RELEASE') { 88 | version = parts[1].trim(); 89 | break; 90 | } 91 | } 92 | } 93 | } 94 | return version; 95 | } 96 | exports._getOsVersion = _getOsVersion; 97 | function _readLinuxVersionFile() { 98 | const lsbFile = '/etc/lsb-release'; 99 | let contents = ''; 100 | if (fs.existsSync(lsbFile)) { 101 | contents = fs.readFileSync(lsbFile).toString(); 102 | } 103 | return contents; 104 | } 105 | exports._readLinuxVersionFile = _readLinuxVersionFile; 106 | //# sourceMappingURL=manifest.js.map -------------------------------------------------------------------------------- /node_modules/@actions/tool-cache/lib/manifest.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"} -------------------------------------------------------------------------------- /node_modules/@actions/tool-cache/lib/retry-helper.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Internal class for retries 3 | */ 4 | export declare class RetryHelper { 5 | private maxAttempts; 6 | private minSeconds; 7 | private maxSeconds; 8 | constructor(maxAttempts: number, minSeconds: number, maxSeconds: number); 9 | execute(action: () => Promise, isRetryable?: (e: Error) => boolean): Promise; 10 | private getSleepAmount; 11 | private sleep; 12 | } 13 | -------------------------------------------------------------------------------- /node_modules/@actions/tool-cache/lib/retry-helper.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { 3 | function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 4 | return new (P || (P = Promise))(function (resolve, reject) { 5 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } 6 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } 7 | function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } 8 | step((generator = generator.apply(thisArg, _arguments || [])).next()); 9 | }); 10 | }; 11 | var __importStar = (this && this.__importStar) || function (mod) { 12 | if (mod && mod.__esModule) return mod; 13 | var result = {}; 14 | if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; 15 | result["default"] = mod; 16 | return result; 17 | }; 18 | Object.defineProperty(exports, "__esModule", { value: true }); 19 | const core = __importStar(require("@actions/core")); 20 | /** 21 | * Internal class for retries 22 | */ 23 | class RetryHelper { 24 | constructor(maxAttempts, minSeconds, maxSeconds) { 25 | if (maxAttempts < 1) { 26 | throw new Error('max attempts should be greater than or equal to 1'); 27 | } 28 | this.maxAttempts = maxAttempts; 29 | this.minSeconds = Math.floor(minSeconds); 30 | this.maxSeconds = Math.floor(maxSeconds); 31 | if (this.minSeconds > this.maxSeconds) { 32 | throw new Error('min seconds should be less than or equal to max seconds'); 33 | } 34 | } 35 | execute(action, isRetryable) { 36 | return __awaiter(this, void 0, void 0, function* () { 37 | let attempt = 1; 38 | while (attempt < this.maxAttempts) { 39 | // Try 40 | try { 41 | return yield action(); 42 | } 43 | catch (err) { 44 | if (isRetryable && !isRetryable(err)) { 45 | throw err; 46 | } 47 | core.info(err.message); 48 | } 49 | // Sleep 50 | const seconds = this.getSleepAmount(); 51 | core.info(`Waiting ${seconds} seconds before trying again`); 52 | yield this.sleep(seconds); 53 | attempt++; 54 | } 55 | // Last attempt 56 | return yield action(); 57 | }); 58 | } 59 | getSleepAmount() { 60 | return (Math.floor(Math.random() * (this.maxSeconds - this.minSeconds + 1)) + 61 | this.minSeconds); 62 | } 63 | sleep(seconds) { 64 | return __awaiter(this, void 0, void 0, function* () { 65 | return new Promise(resolve => setTimeout(resolve, seconds * 1000)); 66 | }); 67 | } 68 | } 69 | exports.RetryHelper = RetryHelper; 70 | //# sourceMappingURL=retry-helper.js.map -------------------------------------------------------------------------------- /node_modules/@actions/tool-cache/lib/retry-helper.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"retry-helper.js","sourceRoot":"","sources":["../src/retry-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AAErC;;GAEG;AACH,MAAa,WAAW;IAKtB,YAAY,WAAmB,EAAE,UAAkB,EAAE,UAAkB;QACrE,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;SACrE;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACxC,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;SAC3E;IACH,CAAC;IAEK,OAAO,CACX,MAAwB,EACxB,WAAmC;;YAEnC,IAAI,OAAO,GAAG,CAAC,CAAA;YACf,OAAO,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE;gBACjC,MAAM;gBACN,IAAI;oBACF,OAAO,MAAM,MAAM,EAAE,CAAA;iBACtB;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;wBACpC,MAAM,GAAG,CAAA;qBACV;oBAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;iBACvB;gBAED,QAAQ;gBACR,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrC,IAAI,CAAC,IAAI,CAAC,WAAW,OAAO,8BAA8B,CAAC,CAAA;gBAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBACzB,OAAO,EAAE,CAAA;aACV;YAED,eAAe;YACf,OAAO,MAAM,MAAM,EAAE,CAAA;QACvB,CAAC;KAAA;IAEO,cAAc;QACpB,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,CAChB,CAAA;IACH,CAAC;IAEa,KAAK,CAAC,OAAe;;YACjC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC,CAAA;QACpE,CAAC;KAAA;CACF;AAxDD,kCAwDC"} -------------------------------------------------------------------------------- /node_modules/@actions/tool-cache/lib/tool-cache.d.ts: -------------------------------------------------------------------------------- 1 | import * as mm from './manifest'; 2 | export declare class HTTPError extends Error { 3 | readonly httpStatusCode: number | undefined; 4 | constructor(httpStatusCode: number | undefined); 5 | } 6 | /** 7 | * Download a tool from an url and stream it into a file 8 | * 9 | * @param url url of tool to download 10 | * @param dest path to download tool 11 | * @param auth authorization header 12 | * @returns path to downloaded tool 13 | */ 14 | export declare function downloadTool(url: string, dest?: string, auth?: string): Promise; 15 | /** 16 | * Extract a .7z file 17 | * 18 | * @param file path to the .7z file 19 | * @param dest destination directory. Optional. 20 | * @param _7zPath path to 7zr.exe. Optional, for long path support. Most .7z archives do not have this 21 | * problem. If your .7z archive contains very long paths, you can pass the path to 7zr.exe which will 22 | * gracefully handle long paths. By default 7zdec.exe is used because it is a very small program and is 23 | * bundled with the tool lib. However it does not support long paths. 7zr.exe is the reduced command line 24 | * interface, it is smaller than the full command line interface, and it does support long paths. At the 25 | * time of this writing, it is freely available from the LZMA SDK that is available on the 7zip website. 26 | * Be sure to check the current license agreement. If 7zr.exe is bundled with your action, then the path 27 | * to 7zr.exe can be pass to this function. 28 | * @returns path to the destination directory 29 | */ 30 | export declare function extract7z(file: string, dest?: string, _7zPath?: string): Promise; 31 | /** 32 | * Extract a compressed tar archive 33 | * 34 | * @param file path to the tar 35 | * @param dest destination directory. Optional. 36 | * @param flags flags for the tar command to use for extraction. Defaults to 'xz' (extracting gzipped tars). Optional. 37 | * @returns path to the destination directory 38 | */ 39 | export declare function extractTar(file: string, dest?: string, flags?: string | string[]): Promise; 40 | /** 41 | * Extract a xar compatible archive 42 | * 43 | * @param file path to the archive 44 | * @param dest destination directory. Optional. 45 | * @param flags flags for the xar. Optional. 46 | * @returns path to the destination directory 47 | */ 48 | export declare function extractXar(file: string, dest?: string, flags?: string | string[]): Promise; 49 | /** 50 | * Extract a zip 51 | * 52 | * @param file path to the zip 53 | * @param dest destination directory. Optional. 54 | * @returns path to the destination directory 55 | */ 56 | export declare function extractZip(file: string, dest?: string): Promise; 57 | /** 58 | * Caches a directory and installs it into the tool cacheDir 59 | * 60 | * @param sourceDir the directory to cache into tools 61 | * @param tool tool name 62 | * @param version version of the tool. semver format 63 | * @param arch architecture of the tool. Optional. Defaults to machine architecture 64 | */ 65 | export declare function cacheDir(sourceDir: string, tool: string, version: string, arch?: string): Promise; 66 | /** 67 | * Caches a downloaded file (GUID) and installs it 68 | * into the tool cache with a given targetName 69 | * 70 | * @param sourceFile the file to cache into tools. Typically a result of downloadTool which is a guid. 71 | * @param targetFile the name of the file name in the tools directory 72 | * @param tool tool name 73 | * @param version version of the tool. semver format 74 | * @param arch architecture of the tool. Optional. Defaults to machine architecture 75 | */ 76 | export declare function cacheFile(sourceFile: string, targetFile: string, tool: string, version: string, arch?: string): Promise; 77 | /** 78 | * Finds the path to a tool version in the local installed tool cache 79 | * 80 | * @param toolName name of the tool 81 | * @param versionSpec version of the tool 82 | * @param arch optional arch. defaults to arch of computer 83 | */ 84 | export declare function find(toolName: string, versionSpec: string, arch?: string): string; 85 | /** 86 | * Finds the paths to all versions of a tool that are installed in the local tool cache 87 | * 88 | * @param toolName name of the tool 89 | * @param arch optional arch. defaults to arch of computer 90 | */ 91 | export declare function findAllVersions(toolName: string, arch?: string): string[]; 92 | export declare type IToolRelease = mm.IToolRelease; 93 | export declare type IToolReleaseFile = mm.IToolReleaseFile; 94 | export declare function getManifestFromRepo(owner: string, repo: string, auth?: string, branch?: string): Promise; 95 | export declare function findFromManifest(versionSpec: string, stable: boolean, manifest: IToolRelease[], archFilter?: string): Promise; 96 | -------------------------------------------------------------------------------- /node_modules/@actions/tool-cache/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "@actions/tool-cache@^1.1.1", 3 | "_id": "@actions/tool-cache@1.6.0", 4 | "_inBundle": false, 5 | "_integrity": "sha512-+fyEBImPD3m5I0o6DflCO0NHY180LPoX8Lo6y4Iez+V17kO8kfkH0VHxb8mUdmD6hn9dWA9Ch1JA20fXoIYUeQ==", 6 | "_location": "/@actions/tool-cache", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "@actions/tool-cache@^1.1.1", 12 | "name": "@actions/tool-cache", 13 | "escapedName": "@actions%2ftool-cache", 14 | "scope": "@actions", 15 | "rawSpec": "^1.1.1", 16 | "saveSpec": null, 17 | "fetchSpec": "^1.1.1" 18 | }, 19 | "_requiredBy": [ 20 | "/" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.6.0.tgz", 23 | "_shasum": "5b425db2d642df65dd0d6bcec0d84dcdbca3f80d", 24 | "_spec": "@actions/tool-cache@^1.1.1", 25 | "_where": "/home/alexjgriffith/Github/setup-lua", 26 | "bugs": { 27 | "url": "https://github.com/actions/toolkit/issues" 28 | }, 29 | "bundleDependencies": false, 30 | "dependencies": { 31 | "@actions/core": "^1.2.3", 32 | "@actions/exec": "^1.0.0", 33 | "@actions/http-client": "^1.0.8", 34 | "@actions/io": "^1.0.1", 35 | "semver": "^6.1.0", 36 | "uuid": "^3.3.2" 37 | }, 38 | "deprecated": false, 39 | "description": "Actions tool-cache lib", 40 | "devDependencies": { 41 | "@types/nock": "^10.0.3", 42 | "@types/semver": "^6.0.0", 43 | "@types/uuid": "^3.4.4", 44 | "nock": "^10.0.6" 45 | }, 46 | "directories": { 47 | "lib": "lib", 48 | "test": "__tests__" 49 | }, 50 | "files": [ 51 | "lib", 52 | "scripts" 53 | ], 54 | "homepage": "https://github.com/actions/toolkit/tree/master/packages/tool-cache", 55 | "keywords": [ 56 | "github", 57 | "actions", 58 | "exec" 59 | ], 60 | "license": "MIT", 61 | "main": "lib/tool-cache.js", 62 | "name": "@actions/tool-cache", 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "repository": { 67 | "type": "git", 68 | "url": "git+https://github.com/actions/toolkit.git", 69 | "directory": "packages/tool-cache" 70 | }, 71 | "scripts": { 72 | "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", 73 | "test": "echo \"Error: run tests from root\" && exit 1", 74 | "tsc": "tsc" 75 | }, 76 | "types": "lib/tool-cache.d.ts", 77 | "version": "1.6.0" 78 | } 79 | -------------------------------------------------------------------------------- /node_modules/@actions/tool-cache/scripts/Invoke-7zdec.ps1: -------------------------------------------------------------------------------- 1 | [CmdletBinding()] 2 | param( 3 | [Parameter(Mandatory = $true)] 4 | [string]$Source, 5 | 6 | [Parameter(Mandatory = $true)] 7 | [string]$Target) 8 | 9 | # This script translates the output from 7zdec into UTF8. Node has limited 10 | # built-in support for encodings. 11 | # 12 | # 7zdec uses the system default code page. The system default code page varies 13 | # depending on the locale configuration. On an en-US box, the system default code 14 | # page is Windows-1252. 15 | # 16 | # Note, on a typical en-US box, testing with the 'ç' character is a good way to 17 | # determine whether data is passed correctly between processes. This is because 18 | # the 'ç' character has a different code point across each of the common encodings 19 | # on a typical en-US box, i.e. 20 | # 1) the default console-output code page (IBM437) 21 | # 2) the system default code page (i.e. CP_ACP) (Windows-1252) 22 | # 3) UTF8 23 | 24 | $ErrorActionPreference = 'Stop' 25 | 26 | # Redefine the wrapper over STDOUT to use UTF8. Node expects UTF8 by default. 27 | $stdout = [System.Console]::OpenStandardOutput() 28 | $utf8 = New-Object System.Text.UTF8Encoding($false) # do not emit BOM 29 | $writer = New-Object System.IO.StreamWriter($stdout, $utf8) 30 | [System.Console]::SetOut($writer) 31 | 32 | # All subsequent output must be written using [System.Console]::WriteLine(). In 33 | # PowerShell 4, Write-Host and Out-Default do not consider the updated stream writer. 34 | 35 | Set-Location -LiteralPath $Target 36 | 37 | # Print the ##command. 38 | $_7zdec = Join-Path -Path "$PSScriptRoot" -ChildPath "externals/7zdec.exe" 39 | [System.Console]::WriteLine("##[command]$_7zdec x `"$Source`"") 40 | 41 | # The $OutputEncoding variable instructs PowerShell how to interpret the output 42 | # from the external command. 43 | $OutputEncoding = [System.Text.Encoding]::Default 44 | 45 | # Note, the output from 7zdec.exe needs to be iterated over. Otherwise PowerShell.exe 46 | # will launch the external command in such a way that it inherits the streams. 47 | & $_7zdec x $Source 2>&1 | 48 | ForEach-Object { 49 | if ($_ -is [System.Management.Automation.ErrorRecord]) { 50 | [System.Console]::WriteLine($_.Exception.Message) 51 | } 52 | else { 53 | [System.Console]::WriteLine($_) 54 | } 55 | } 56 | [System.Console]::WriteLine("##[debug]7zdec.exe exit code '$LASTEXITCODE'") 57 | [System.Console]::Out.Flush() 58 | if ($LASTEXITCODE -ne 0) { 59 | exit $LASTEXITCODE 60 | } -------------------------------------------------------------------------------- /node_modules/@actions/tool-cache/scripts/externals/7zdec.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpol/setup-lua/3f2ae3c3a89c2d6f12e07137594a0499b43cc016/node_modules/@actions/tool-cache/scripts/externals/7zdec.exe -------------------------------------------------------------------------------- /node_modules/md5-file/LICENSE.md: -------------------------------------------------------------------------------- 1 | # License 2 | 3 | The MIT License (MIT) 4 | 5 | Copyright (c) 2015 - 2017 Rory Bradford and contributors. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 10 | 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 12 | -------------------------------------------------------------------------------- /node_modules/md5-file/README.md: -------------------------------------------------------------------------------- 1 | # md5-file [![Build Status](https://travis-ci.org/roryrjb/md5-file.svg?branch=master)](https://travis-ci.org/roryrjb/md5-file) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://github.com/feross/standard) 2 | 3 | Get the MD5-sum of a given file, with low memory usage, even on huge files. 4 | 5 | ## Installation 6 | 7 | ```sh 8 | npm install --save md5-file 9 | ``` 10 | 11 | ## Usage 12 | 13 | ### As a module 14 | ```js 15 | const md5File = require('md5-file') 16 | 17 | /* Async usage */ 18 | md5File('LICENSE.md', (err, hash) => { 19 | if (err) throw err 20 | 21 | console.log(`The MD5 sum of LICENSE.md is: ${hash}`) 22 | }) 23 | 24 | /* Sync usage */ 25 | const hash = md5File.sync('LICENSE.md') 26 | console.log(`The MD5 sum of LICENSE.md is: ${hash}`) 27 | ``` 28 | 29 | ### As a command line tool 30 | ``` 31 | $ md5-file LICENSE.md 32 | ``` 33 | 34 | ## Promise support 35 | 36 | If you require `md5-file/promise` you'll receive an alternative API where all 37 | functions that takes callbacks are replaced by `Promise`-returning functions. 38 | 39 | ```js 40 | const md5File = require('md5-file/promise') 41 | 42 | md5File('LICENSE.md').then(hash => { 43 | console.log(`The MD5 sum of LICENSE.md is: ${hash}`) 44 | }) 45 | ``` 46 | 47 | ## API 48 | 49 | ### `md5File(filepath: string, cb: function)` 50 | 51 | Asynchronously get the MD5-sum of the file at `filepath`. 52 | 53 | The callback `cb` will be called with `(err: Error, hash: string)`. 54 | 55 | ### `md5File.sync(filepath: string) => string` 56 | 57 | Synchronously get the MD5-sum of the file at `filepath`. 58 | 59 | ### License 60 | 61 | MIT 62 | -------------------------------------------------------------------------------- /node_modules/md5-file/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict' 4 | 5 | const md5File = require('./') 6 | 7 | console.log(md5File.sync(process.argv[2])) 8 | -------------------------------------------------------------------------------- /node_modules/md5-file/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const crypto = require('crypto') 4 | const fs = require('fs') 5 | 6 | const BUFFER_SIZE = 8192 7 | 8 | function md5FileSync (filename) { 9 | const fd = fs.openSync(filename, 'r') 10 | const hash = crypto.createHash('md5') 11 | const buffer = Buffer.alloc(BUFFER_SIZE) 12 | 13 | try { 14 | let bytesRead 15 | 16 | do { 17 | bytesRead = fs.readSync(fd, buffer, 0, BUFFER_SIZE) 18 | hash.update(buffer.slice(0, bytesRead)) 19 | } while (bytesRead === BUFFER_SIZE) 20 | } finally { 21 | fs.closeSync(fd) 22 | } 23 | 24 | return hash.digest('hex') 25 | } 26 | 27 | function md5File (filename, cb) { 28 | if (typeof cb !== 'function') throw new TypeError('Argument cb must be a function') 29 | 30 | const output = crypto.createHash('md5') 31 | const input = fs.createReadStream(filename) 32 | 33 | input.on('error', function (err) { 34 | cb(err) 35 | }) 36 | 37 | output.once('readable', function () { 38 | cb(null, output.read().toString('hex')) 39 | }) 40 | 41 | input.pipe(output) 42 | } 43 | 44 | module.exports = md5File 45 | module.exports.sync = md5FileSync 46 | -------------------------------------------------------------------------------- /node_modules/md5-file/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "md5-file@^4.0.0", 3 | "_id": "md5-file@4.0.0", 4 | "_inBundle": false, 5 | "_integrity": "sha512-UC0qFwyAjn4YdPpKaDNw6gNxRf7Mcx7jC1UGCY4boCzgvU2Aoc1mOGzTtrjjLKhM5ivsnhoKpQVxKPp+1j1qwg==", 6 | "_location": "/md5-file", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "md5-file@^4.0.0", 12 | "name": "md5-file", 13 | "escapedName": "md5-file", 14 | "rawSpec": "^4.0.0", 15 | "saveSpec": null, 16 | "fetchSpec": "^4.0.0" 17 | }, 18 | "_requiredBy": [ 19 | "/" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/md5-file/-/md5-file-4.0.0.tgz", 22 | "_shasum": "f3f7ba1e2dd1144d5bf1de698d0e5f44a4409584", 23 | "_spec": "md5-file@^4.0.0", 24 | "_where": "/home/alexjgriffith/Github/setup-lua", 25 | "author": { 26 | "name": "Rory Bradford", 27 | "email": "rory@dysfunctionalprogramming.com" 28 | }, 29 | "bin": { 30 | "md5-file": "cli.js" 31 | }, 32 | "bugs": { 33 | "url": "https://github.com/roryrjb/md5-file/issues" 34 | }, 35 | "bundleDependencies": false, 36 | "deprecated": false, 37 | "description": "return an md5sum of a given file", 38 | "devDependencies": { 39 | "mocha": "^5.0.5", 40 | "standard": "^11.0.1" 41 | }, 42 | "engines": { 43 | "node": ">=6.0" 44 | }, 45 | "files": [ 46 | "cli.js", 47 | "index.js", 48 | "promise.js" 49 | ], 50 | "homepage": "https://github.com/roryrjb/md5-file#readme", 51 | "keywords": [ 52 | "md5", 53 | "md5sum", 54 | "checksum" 55 | ], 56 | "license": "MIT", 57 | "main": "index.js", 58 | "name": "md5-file", 59 | "repository": { 60 | "type": "git", 61 | "url": "git+https://github.com/roryrjb/md5-file.git" 62 | }, 63 | "scripts": { 64 | "test": "standard && mocha" 65 | }, 66 | "version": "4.0.0" 67 | } 68 | -------------------------------------------------------------------------------- /node_modules/md5-file/promise.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const md5File = require('./') 4 | 5 | function md5FileAsPromised (filename) { 6 | return new Promise(function (resolve, reject) { 7 | md5File(filename, function (err, hash) { 8 | if (err) return reject(err) 9 | 10 | resolve(hash) 11 | }) 12 | }) 13 | } 14 | 15 | module.exports = md5FileAsPromised 16 | module.exports.sync = md5File.sync 17 | -------------------------------------------------------------------------------- /node_modules/semver/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # changes log 2 | 3 | ## 6.2.0 4 | 5 | * Coerce numbers to strings when passed to semver.coerce() 6 | * Add `rtl` option to coerce from right to left 7 | 8 | ## 6.1.3 9 | 10 | * Handle X-ranges properly in includePrerelease mode 11 | 12 | ## 6.1.2 13 | 14 | * Do not throw when testing invalid version strings 15 | 16 | ## 6.1.1 17 | 18 | * Add options support for semver.coerce() 19 | * Handle undefined version passed to Range.test 20 | 21 | ## 6.1.0 22 | 23 | * Add semver.compareBuild function 24 | * Support `*` in semver.intersects 25 | 26 | ## 6.0 27 | 28 | * Fix `intersects` logic. 29 | 30 | This is technically a bug fix, but since it is also a change to behavior 31 | that may require users updating their code, it is marked as a major 32 | version increment. 33 | 34 | ## 5.7 35 | 36 | * Add `minVersion` method 37 | 38 | ## 5.6 39 | 40 | * Move boolean `loose` param to an options object, with 41 | backwards-compatibility protection. 42 | * Add ability to opt out of special prerelease version handling with 43 | the `includePrerelease` option flag. 44 | 45 | ## 5.5 46 | 47 | * Add version coercion capabilities 48 | 49 | ## 5.4 50 | 51 | * Add intersection checking 52 | 53 | ## 5.3 54 | 55 | * Add `minSatisfying` method 56 | 57 | ## 5.2 58 | 59 | * Add `prerelease(v)` that returns prerelease components 60 | 61 | ## 5.1 62 | 63 | * Add Backus-Naur for ranges 64 | * Remove excessively cute inspection methods 65 | 66 | ## 5.0 67 | 68 | * Remove AMD/Browserified build artifacts 69 | * Fix ltr and gtr when using the `*` range 70 | * Fix for range `*` with a prerelease identifier 71 | -------------------------------------------------------------------------------- /node_modules/semver/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /node_modules/semver/bin/semver.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | // Standalone semver comparison program. 3 | // Exits successfully and prints matching version(s) if 4 | // any supplied version is valid and passes all tests. 5 | 6 | var argv = process.argv.slice(2) 7 | 8 | var versions = [] 9 | 10 | var range = [] 11 | 12 | var inc = null 13 | 14 | var version = require('../package.json').version 15 | 16 | var loose = false 17 | 18 | var includePrerelease = false 19 | 20 | var coerce = false 21 | 22 | var rtl = false 23 | 24 | var identifier 25 | 26 | var semver = require('../semver') 27 | 28 | var reverse = false 29 | 30 | var options = {} 31 | 32 | main() 33 | 34 | function main () { 35 | if (!argv.length) return help() 36 | while (argv.length) { 37 | var a = argv.shift() 38 | var indexOfEqualSign = a.indexOf('=') 39 | if (indexOfEqualSign !== -1) { 40 | a = a.slice(0, indexOfEqualSign) 41 | argv.unshift(a.slice(indexOfEqualSign + 1)) 42 | } 43 | switch (a) { 44 | case '-rv': case '-rev': case '--rev': case '--reverse': 45 | reverse = true 46 | break 47 | case '-l': case '--loose': 48 | loose = true 49 | break 50 | case '-p': case '--include-prerelease': 51 | includePrerelease = true 52 | break 53 | case '-v': case '--version': 54 | versions.push(argv.shift()) 55 | break 56 | case '-i': case '--inc': case '--increment': 57 | switch (argv[0]) { 58 | case 'major': case 'minor': case 'patch': case 'prerelease': 59 | case 'premajor': case 'preminor': case 'prepatch': 60 | inc = argv.shift() 61 | break 62 | default: 63 | inc = 'patch' 64 | break 65 | } 66 | break 67 | case '--preid': 68 | identifier = argv.shift() 69 | break 70 | case '-r': case '--range': 71 | range.push(argv.shift()) 72 | break 73 | case '-c': case '--coerce': 74 | coerce = true 75 | break 76 | case '--rtl': 77 | rtl = true 78 | break 79 | case '--ltr': 80 | rtl = false 81 | break 82 | case '-h': case '--help': case '-?': 83 | return help() 84 | default: 85 | versions.push(a) 86 | break 87 | } 88 | } 89 | 90 | var options = { loose: loose, includePrerelease: includePrerelease, rtl: rtl } 91 | 92 | versions = versions.map(function (v) { 93 | return coerce ? (semver.coerce(v, options) || { version: v }).version : v 94 | }).filter(function (v) { 95 | return semver.valid(v) 96 | }) 97 | if (!versions.length) return fail() 98 | if (inc && (versions.length !== 1 || range.length)) { return failInc() } 99 | 100 | for (var i = 0, l = range.length; i < l; i++) { 101 | versions = versions.filter(function (v) { 102 | return semver.satisfies(v, range[i], options) 103 | }) 104 | if (!versions.length) return fail() 105 | } 106 | return success(versions) 107 | } 108 | 109 | function failInc () { 110 | console.error('--inc can only be used on a single version with no range') 111 | fail() 112 | } 113 | 114 | function fail () { process.exit(1) } 115 | 116 | function success () { 117 | var compare = reverse ? 'rcompare' : 'compare' 118 | versions.sort(function (a, b) { 119 | return semver[compare](a, b, options) 120 | }).map(function (v) { 121 | return semver.clean(v, options) 122 | }).map(function (v) { 123 | return inc ? semver.inc(v, inc, options, identifier) : v 124 | }).forEach(function (v, i, _) { console.log(v) }) 125 | } 126 | 127 | function help () { 128 | console.log(['SemVer ' + version, 129 | '', 130 | 'A JavaScript implementation of the https://semver.org/ specification', 131 | 'Copyright Isaac Z. Schlueter', 132 | '', 133 | 'Usage: semver [options] [ [...]]', 134 | 'Prints valid versions sorted by SemVer precedence', 135 | '', 136 | 'Options:', 137 | '-r --range ', 138 | ' Print versions that match the specified range.', 139 | '', 140 | '-i --increment []', 141 | ' Increment a version by the specified level. Level can', 142 | ' be one of: major, minor, patch, premajor, preminor,', 143 | " prepatch, or prerelease. Default level is 'patch'.", 144 | ' Only one version may be specified.', 145 | '', 146 | '--preid ', 147 | ' Identifier to be used to prefix premajor, preminor,', 148 | ' prepatch or prerelease version increments.', 149 | '', 150 | '-l --loose', 151 | ' Interpret versions and ranges loosely', 152 | '', 153 | '-p --include-prerelease', 154 | ' Always include prerelease versions in range matching', 155 | '', 156 | '-c --coerce', 157 | ' Coerce a string into SemVer if possible', 158 | ' (does not imply --loose)', 159 | '', 160 | '--rtl', 161 | ' Coerce version strings right to left', 162 | '', 163 | '--ltr', 164 | ' Coerce version strings left to right (default)', 165 | '', 166 | 'Program exits successfully if any valid version satisfies', 167 | 'all supplied ranges, and prints all satisfying versions.', 168 | '', 169 | 'If no satisfying versions are found, then exits failure.', 170 | '', 171 | 'Versions are printed in ascending order, so supplying', 172 | 'multiple versions to the utility will just sort them.' 173 | ].join('\n')) 174 | } 175 | -------------------------------------------------------------------------------- /node_modules/semver/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "semver@^6.1.0", 3 | "_id": "semver@6.3.0", 4 | "_inBundle": false, 5 | "_integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 6 | "_location": "/semver", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "semver@^6.1.0", 12 | "name": "semver", 13 | "escapedName": "semver", 14 | "rawSpec": "^6.1.0", 15 | "saveSpec": null, 16 | "fetchSpec": "^6.1.0" 17 | }, 18 | "_requiredBy": [ 19 | "/@actions/tool-cache" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 22 | "_shasum": "ee0a64c8af5e8ceea67687b133761e1becbd1d3d", 23 | "_spec": "semver@^6.1.0", 24 | "_where": "/home/alexjgriffith/Github/setup-lua/node_modules/@actions/tool-cache", 25 | "bin": { 26 | "semver": "bin/semver.js" 27 | }, 28 | "bugs": { 29 | "url": "https://github.com/npm/node-semver/issues" 30 | }, 31 | "bundleDependencies": false, 32 | "deprecated": false, 33 | "description": "The semantic version parser used by npm.", 34 | "devDependencies": { 35 | "tap": "^14.3.1" 36 | }, 37 | "files": [ 38 | "bin", 39 | "range.bnf", 40 | "semver.js" 41 | ], 42 | "homepage": "https://github.com/npm/node-semver#readme", 43 | "license": "ISC", 44 | "main": "semver.js", 45 | "name": "semver", 46 | "repository": { 47 | "type": "git", 48 | "url": "git+https://github.com/npm/node-semver.git" 49 | }, 50 | "scripts": { 51 | "postpublish": "git push origin --follow-tags", 52 | "postversion": "npm publish", 53 | "preversion": "npm test", 54 | "test": "tap" 55 | }, 56 | "tap": { 57 | "check-coverage": true 58 | }, 59 | "version": "6.3.0" 60 | } 61 | -------------------------------------------------------------------------------- /node_modules/semver/range.bnf: -------------------------------------------------------------------------------- 1 | range-set ::= range ( logical-or range ) * 2 | logical-or ::= ( ' ' ) * '||' ( ' ' ) * 3 | range ::= hyphen | simple ( ' ' simple ) * | '' 4 | hyphen ::= partial ' - ' partial 5 | simple ::= primitive | partial | tilde | caret 6 | primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial 7 | partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? 8 | xr ::= 'x' | 'X' | '*' | nr 9 | nr ::= '0' | [1-9] ( [0-9] ) * 10 | tilde ::= '~' partial 11 | caret ::= '^' partial 12 | qualifier ::= ( '-' pre )? ( '+' build )? 13 | pre ::= parts 14 | build ::= parts 15 | parts ::= part ( '.' part ) * 16 | part ::= nr | [-0-9A-Za-z]+ 17 | -------------------------------------------------------------------------------- /node_modules/tunnel/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /node_modules/tunnel/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /node_modules/tunnel/.idea/node-tunnel.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /node_modules/tunnel/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /node_modules/tunnel/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "4" 4 | - "6" 5 | - "8" 6 | - "10" 7 | -------------------------------------------------------------------------------- /node_modules/tunnel/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | - 0.0.6 (2018/09/11) 4 | - Fix `localAddress` not working (#25) 5 | - Fix `Host:` header for CONNECT method by @tmurakam (#29, #30) 6 | - Fix default port for https (#32) 7 | - Fix error handling when the proxy send illegal response body (#33) 8 | 9 | - 0.0.5 (2017/06/12) 10 | - Fix socket leak. 11 | 12 | - 0.0.4 (2016/01/23) 13 | - supported Node v0.12 or later. 14 | 15 | - 0.0.3 (2014/01/20) 16 | - fixed package.json 17 | 18 | - 0.0.1 (2012/02/18) 19 | - supported Node v0.6.x (0.6.11 or later). 20 | 21 | - 0.0.0 (2012/02/11) 22 | - first release. 23 | -------------------------------------------------------------------------------- /node_modules/tunnel/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2012 Koichi Kobayashi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/tunnel/README.md: -------------------------------------------------------------------------------- 1 | # node-tunnel - HTTP/HTTPS Agents for tunneling proxies 2 | 3 | [![Build Status](https://img.shields.io/travis/koichik/node-tunnel.svg?style=flat)](https://travis-ci.org/koichik/node-tunnel) 4 | [![Dependency Status](http://img.shields.io/david/koichik/node-tunnel.svg?style=flat)](https://david-dm.org/koichik/node-tunnel#info=dependencies) 5 | [![DevDependency Status](http://img.shields.io/david/dev/koichik/node-tunnel.svg?style=flat)](https://david-dm.org/koichik/node-tunnel#info=devDependencies) 6 | 7 | ## Example 8 | 9 | ```javascript 10 | var tunnel = require('tunnel'); 11 | 12 | var tunnelingAgent = tunnel.httpsOverHttp({ 13 | proxy: { 14 | host: 'localhost', 15 | port: 3128 16 | } 17 | }); 18 | 19 | var req = https.request({ 20 | host: 'example.com', 21 | port: 443, 22 | agent: tunnelingAgent 23 | }); 24 | ``` 25 | 26 | ## Installation 27 | 28 | $ npm install tunnel 29 | 30 | ## Usages 31 | 32 | ### HTTP over HTTP tunneling 33 | 34 | ```javascript 35 | var tunnelingAgent = tunnel.httpOverHttp({ 36 | maxSockets: poolSize, // Defaults to http.Agent.defaultMaxSockets 37 | 38 | proxy: { // Proxy settings 39 | host: proxyHost, // Defaults to 'localhost' 40 | port: proxyPort, // Defaults to 80 41 | localAddress: localAddress, // Local interface if necessary 42 | 43 | // Basic authorization for proxy server if necessary 44 | proxyAuth: 'user:password', 45 | 46 | // Header fields for proxy server if necessary 47 | headers: { 48 | 'User-Agent': 'Node' 49 | } 50 | } 51 | }); 52 | 53 | var req = http.request({ 54 | host: 'example.com', 55 | port: 80, 56 | agent: tunnelingAgent 57 | }); 58 | ``` 59 | 60 | ### HTTPS over HTTP tunneling 61 | 62 | ```javascript 63 | var tunnelingAgent = tunnel.httpsOverHttp({ 64 | maxSockets: poolSize, // Defaults to http.Agent.defaultMaxSockets 65 | 66 | // CA for origin server if necessary 67 | ca: [ fs.readFileSync('origin-server-ca.pem')], 68 | 69 | // Client certification for origin server if necessary 70 | key: fs.readFileSync('origin-server-key.pem'), 71 | cert: fs.readFileSync('origin-server-cert.pem'), 72 | 73 | proxy: { // Proxy settings 74 | host: proxyHost, // Defaults to 'localhost' 75 | port: proxyPort, // Defaults to 80 76 | localAddress: localAddress, // Local interface if necessary 77 | 78 | // Basic authorization for proxy server if necessary 79 | proxyAuth: 'user:password', 80 | 81 | // Header fields for proxy server if necessary 82 | headers: { 83 | 'User-Agent': 'Node' 84 | }, 85 | } 86 | }); 87 | 88 | var req = https.request({ 89 | host: 'example.com', 90 | port: 443, 91 | agent: tunnelingAgent 92 | }); 93 | ``` 94 | 95 | ### HTTP over HTTPS tunneling 96 | 97 | ```javascript 98 | var tunnelingAgent = tunnel.httpOverHttps({ 99 | maxSockets: poolSize, // Defaults to http.Agent.defaultMaxSockets 100 | 101 | proxy: { // Proxy settings 102 | host: proxyHost, // Defaults to 'localhost' 103 | port: proxyPort, // Defaults to 443 104 | localAddress: localAddress, // Local interface if necessary 105 | 106 | // Basic authorization for proxy server if necessary 107 | proxyAuth: 'user:password', 108 | 109 | // Header fields for proxy server if necessary 110 | headers: { 111 | 'User-Agent': 'Node' 112 | }, 113 | 114 | // CA for proxy server if necessary 115 | ca: [ fs.readFileSync('origin-server-ca.pem')], 116 | 117 | // Server name for verification if necessary 118 | servername: 'example.com', 119 | 120 | // Client certification for proxy server if necessary 121 | key: fs.readFileSync('origin-server-key.pem'), 122 | cert: fs.readFileSync('origin-server-cert.pem'), 123 | } 124 | }); 125 | 126 | var req = http.request({ 127 | host: 'example.com', 128 | port: 80, 129 | agent: tunnelingAgent 130 | }); 131 | ``` 132 | 133 | ### HTTPS over HTTPS tunneling 134 | 135 | ```javascript 136 | var tunnelingAgent = tunnel.httpsOverHttps({ 137 | maxSockets: poolSize, // Defaults to http.Agent.defaultMaxSockets 138 | 139 | // CA for origin server if necessary 140 | ca: [ fs.readFileSync('origin-server-ca.pem')], 141 | 142 | // Client certification for origin server if necessary 143 | key: fs.readFileSync('origin-server-key.pem'), 144 | cert: fs.readFileSync('origin-server-cert.pem'), 145 | 146 | proxy: { // Proxy settings 147 | host: proxyHost, // Defaults to 'localhost' 148 | port: proxyPort, // Defaults to 443 149 | localAddress: localAddress, // Local interface if necessary 150 | 151 | // Basic authorization for proxy server if necessary 152 | proxyAuth: 'user:password', 153 | 154 | // Header fields for proxy server if necessary 155 | headers: { 156 | 'User-Agent': 'Node' 157 | } 158 | 159 | // CA for proxy server if necessary 160 | ca: [ fs.readFileSync('origin-server-ca.pem')], 161 | 162 | // Server name for verification if necessary 163 | servername: 'example.com', 164 | 165 | // Client certification for proxy server if necessary 166 | key: fs.readFileSync('origin-server-key.pem'), 167 | cert: fs.readFileSync('origin-server-cert.pem'), 168 | } 169 | }); 170 | 171 | var req = https.request({ 172 | host: 'example.com', 173 | port: 443, 174 | agent: tunnelingAgent 175 | }); 176 | ``` 177 | 178 | ## CONTRIBUTORS 179 | * [Aleksis Brezas (abresas)](https://github.com/abresas) 180 | * [Jackson Tian (JacksonTian)](https://github.com/JacksonTian) 181 | * [Dmitry Sorin (1999)](https://github.com/1999) 182 | 183 | ## License 184 | 185 | Licensed under the [MIT](https://github.com/koichik/node-tunnel/blob/master/LICENSE) license. 186 | -------------------------------------------------------------------------------- /node_modules/tunnel/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/tunnel'); 2 | -------------------------------------------------------------------------------- /node_modules/tunnel/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "tunnel@0.0.6", 3 | "_id": "tunnel@0.0.6", 4 | "_inBundle": false, 5 | "_integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", 6 | "_location": "/tunnel", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "tunnel@0.0.6", 12 | "name": "tunnel", 13 | "escapedName": "tunnel", 14 | "rawSpec": "0.0.6", 15 | "saveSpec": null, 16 | "fetchSpec": "0.0.6" 17 | }, 18 | "_requiredBy": [ 19 | "/@actions/http-client" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", 22 | "_shasum": "72f1314b34a5b192db012324df2cc587ca47f92c", 23 | "_spec": "tunnel@0.0.6", 24 | "_where": "/home/alexjgriffith/Github/setup-lua/node_modules/@actions/http-client", 25 | "author": { 26 | "name": "Koichi Kobayashi", 27 | "email": "koichik@improvement.jp" 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/koichik/node-tunnel/issues" 31 | }, 32 | "bundleDependencies": false, 33 | "deprecated": false, 34 | "description": "Node HTTP/HTTPS Agents for tunneling proxies", 35 | "devDependencies": { 36 | "mocha": "^5.2.0", 37 | "should": "^13.2.3" 38 | }, 39 | "directories": { 40 | "lib": "./lib" 41 | }, 42 | "engines": { 43 | "node": ">=0.6.11 <=0.7.0 || >=0.7.3" 44 | }, 45 | "homepage": "https://github.com/koichik/node-tunnel/", 46 | "keywords": [ 47 | "http", 48 | "https", 49 | "agent", 50 | "proxy", 51 | "tunnel" 52 | ], 53 | "license": "MIT", 54 | "main": "./index.js", 55 | "name": "tunnel", 56 | "repository": { 57 | "type": "git", 58 | "url": "git+https://github.com/koichik/node-tunnel.git" 59 | }, 60 | "scripts": { 61 | "test": "mocha" 62 | }, 63 | "version": "0.0.6" 64 | } 65 | -------------------------------------------------------------------------------- /node_modules/uuid/AUTHORS: -------------------------------------------------------------------------------- 1 | Robert Kieffer 2 | Christoph Tavan 3 | AJ ONeal 4 | Vincent Voyer 5 | Roman Shtylman 6 | -------------------------------------------------------------------------------- /node_modules/uuid/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. 4 | 5 | ## [3.4.0](https://github.com/uuidjs/uuid/compare/v3.3.3...v3.4.0) (2020-01-16) 6 | 7 | 8 | ### Features 9 | 10 | * rename repository to github:uuidjs/uuid ([#351](https://github.com/uuidjs/uuid/issues/351)) ([e2d7314](https://github.com/uuidjs/uuid/commit/e2d7314)), closes [#338](https://github.com/uuidjs/uuid/issues/338) 11 | 12 | ### [3.3.3](https://github.com/uuidjs/uuid/compare/v3.3.2...v3.3.3) (2019-08-19) 13 | 14 | 15 | ## [3.3.2](https://github.com/uuidjs/uuid/compare/v3.3.1...v3.3.2) (2018-06-28) 16 | 17 | 18 | ### Bug Fixes 19 | 20 | * typo ([305d877](https://github.com/uuidjs/uuid/commit/305d877)) 21 | 22 | 23 | 24 | 25 | ## [3.3.1](https://github.com/uuidjs/uuid/compare/v3.3.0...v3.3.1) (2018-06-28) 26 | 27 | 28 | ### Bug Fixes 29 | 30 | * fix [#284](https://github.com/uuidjs/uuid/issues/284) by setting function name in try-catch ([f2a60f2](https://github.com/uuidjs/uuid/commit/f2a60f2)) 31 | 32 | 33 | 34 | 35 | # [3.3.0](https://github.com/uuidjs/uuid/compare/v3.2.1...v3.3.0) (2018-06-22) 36 | 37 | 38 | ### Bug Fixes 39 | 40 | * assignment to readonly property to allow running in strict mode ([#270](https://github.com/uuidjs/uuid/issues/270)) ([d062fdc](https://github.com/uuidjs/uuid/commit/d062fdc)) 41 | * fix [#229](https://github.com/uuidjs/uuid/issues/229) ([c9684d4](https://github.com/uuidjs/uuid/commit/c9684d4)) 42 | * Get correct version of IE11 crypto ([#274](https://github.com/uuidjs/uuid/issues/274)) ([153d331](https://github.com/uuidjs/uuid/commit/153d331)) 43 | * mem issue when generating uuid ([#267](https://github.com/uuidjs/uuid/issues/267)) ([c47702c](https://github.com/uuidjs/uuid/commit/c47702c)) 44 | 45 | ### Features 46 | 47 | * enforce Conventional Commit style commit messages ([#282](https://github.com/uuidjs/uuid/issues/282)) ([cc9a182](https://github.com/uuidjs/uuid/commit/cc9a182)) 48 | 49 | 50 | 51 | ## [3.2.1](https://github.com/uuidjs/uuid/compare/v3.2.0...v3.2.1) (2018-01-16) 52 | 53 | 54 | ### Bug Fixes 55 | 56 | * use msCrypto if available. Fixes [#241](https://github.com/uuidjs/uuid/issues/241) ([#247](https://github.com/uuidjs/uuid/issues/247)) ([1fef18b](https://github.com/uuidjs/uuid/commit/1fef18b)) 57 | 58 | 59 | 60 | 61 | # [3.2.0](https://github.com/uuidjs/uuid/compare/v3.1.0...v3.2.0) (2018-01-16) 62 | 63 | 64 | ### Bug Fixes 65 | 66 | * remove mistakenly added typescript dependency, rollback version (standard-version will auto-increment) ([09fa824](https://github.com/uuidjs/uuid/commit/09fa824)) 67 | * use msCrypto if available. Fixes [#241](https://github.com/uuidjs/uuid/issues/241) ([#247](https://github.com/uuidjs/uuid/issues/247)) ([1fef18b](https://github.com/uuidjs/uuid/commit/1fef18b)) 68 | 69 | 70 | ### Features 71 | 72 | * Add v3 Support ([#217](https://github.com/uuidjs/uuid/issues/217)) ([d94f726](https://github.com/uuidjs/uuid/commit/d94f726)) 73 | 74 | 75 | # [3.1.0](https://github.com/uuidjs/uuid/compare/v3.1.0...v3.0.1) (2017-06-17) 76 | 77 | ### Bug Fixes 78 | 79 | * (fix) Add .npmignore file to exclude test/ and other non-essential files from packing. (#183) 80 | * Fix typo (#178) 81 | * Simple typo fix (#165) 82 | 83 | ### Features 84 | * v5 support in CLI (#197) 85 | * V5 support (#188) 86 | 87 | 88 | # 3.0.1 (2016-11-28) 89 | 90 | * split uuid versions into separate files 91 | 92 | 93 | # 3.0.0 (2016-11-17) 94 | 95 | * remove .parse and .unparse 96 | 97 | 98 | # 2.0.0 99 | 100 | * Removed uuid.BufferClass 101 | 102 | 103 | # 1.4.0 104 | 105 | * Improved module context detection 106 | * Removed public RNG functions 107 | 108 | 109 | # 1.3.2 110 | 111 | * Improve tests and handling of v1() options (Issue #24) 112 | * Expose RNG option to allow for perf testing with different generators 113 | 114 | 115 | # 1.3.0 116 | 117 | * Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)! 118 | * Support for node.js crypto API 119 | * De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code 120 | -------------------------------------------------------------------------------- /node_modules/uuid/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2010-2016 Robert Kieffer and other contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/uuid/bin/uuid: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var assert = require('assert'); 3 | 4 | function usage() { 5 | console.log('Usage:'); 6 | console.log(' uuid'); 7 | console.log(' uuid v1'); 8 | console.log(' uuid v3 '); 9 | console.log(' uuid v4'); 10 | console.log(' uuid v5 '); 11 | console.log(' uuid --help'); 12 | console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC4122'); 13 | } 14 | 15 | var args = process.argv.slice(2); 16 | 17 | if (args.indexOf('--help') >= 0) { 18 | usage(); 19 | process.exit(0); 20 | } 21 | var version = args.shift() || 'v4'; 22 | 23 | switch (version) { 24 | case 'v1': 25 | var uuidV1 = require('../v1'); 26 | console.log(uuidV1()); 27 | break; 28 | 29 | case 'v3': 30 | var uuidV3 = require('../v3'); 31 | 32 | var name = args.shift(); 33 | var namespace = args.shift(); 34 | assert(name != null, 'v3 name not specified'); 35 | assert(namespace != null, 'v3 namespace not specified'); 36 | 37 | if (namespace == 'URL') namespace = uuidV3.URL; 38 | if (namespace == 'DNS') namespace = uuidV3.DNS; 39 | 40 | console.log(uuidV3(name, namespace)); 41 | break; 42 | 43 | case 'v4': 44 | var uuidV4 = require('../v4'); 45 | console.log(uuidV4()); 46 | break; 47 | 48 | case 'v5': 49 | var uuidV5 = require('../v5'); 50 | 51 | var name = args.shift(); 52 | var namespace = args.shift(); 53 | assert(name != null, 'v5 name not specified'); 54 | assert(namespace != null, 'v5 namespace not specified'); 55 | 56 | if (namespace == 'URL') namespace = uuidV5.URL; 57 | if (namespace == 'DNS') namespace = uuidV5.DNS; 58 | 59 | console.log(uuidV5(name, namespace)); 60 | break; 61 | 62 | default: 63 | usage(); 64 | process.exit(1); 65 | } 66 | -------------------------------------------------------------------------------- /node_modules/uuid/index.js: -------------------------------------------------------------------------------- 1 | var v1 = require('./v1'); 2 | var v4 = require('./v4'); 3 | 4 | var uuid = v4; 5 | uuid.v1 = v1; 6 | uuid.v4 = v4; 7 | 8 | module.exports = uuid; 9 | -------------------------------------------------------------------------------- /node_modules/uuid/lib/bytesToUuid.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Convert array of 16 byte values to UUID string format of the form: 3 | * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 4 | */ 5 | var byteToHex = []; 6 | for (var i = 0; i < 256; ++i) { 7 | byteToHex[i] = (i + 0x100).toString(16).substr(1); 8 | } 9 | 10 | function bytesToUuid(buf, offset) { 11 | var i = offset || 0; 12 | var bth = byteToHex; 13 | // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4 14 | return ([ 15 | bth[buf[i++]], bth[buf[i++]], 16 | bth[buf[i++]], bth[buf[i++]], '-', 17 | bth[buf[i++]], bth[buf[i++]], '-', 18 | bth[buf[i++]], bth[buf[i++]], '-', 19 | bth[buf[i++]], bth[buf[i++]], '-', 20 | bth[buf[i++]], bth[buf[i++]], 21 | bth[buf[i++]], bth[buf[i++]], 22 | bth[buf[i++]], bth[buf[i++]] 23 | ]).join(''); 24 | } 25 | 26 | module.exports = bytesToUuid; 27 | -------------------------------------------------------------------------------- /node_modules/uuid/lib/md5-browser.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Browser-compatible JavaScript MD5 3 | * 4 | * Modification of JavaScript MD5 5 | * https://github.com/blueimp/JavaScript-MD5 6 | * 7 | * Copyright 2011, Sebastian Tschan 8 | * https://blueimp.net 9 | * 10 | * Licensed under the MIT license: 11 | * https://opensource.org/licenses/MIT 12 | * 13 | * Based on 14 | * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message 15 | * Digest Algorithm, as defined in RFC 1321. 16 | * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 17 | * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet 18 | * Distributed under the BSD License 19 | * See http://pajhome.org.uk/crypt/md5 for more info. 20 | */ 21 | 22 | 'use strict'; 23 | 24 | function md5(bytes) { 25 | if (typeof(bytes) == 'string') { 26 | var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape 27 | bytes = new Array(msg.length); 28 | for (var i = 0; i < msg.length; i++) bytes[i] = msg.charCodeAt(i); 29 | } 30 | 31 | return md5ToHexEncodedArray( 32 | wordsToMd5( 33 | bytesToWords(bytes) 34 | , bytes.length * 8) 35 | ); 36 | } 37 | 38 | 39 | /* 40 | * Convert an array of little-endian words to an array of bytes 41 | */ 42 | function md5ToHexEncodedArray(input) { 43 | var i; 44 | var x; 45 | var output = []; 46 | var length32 = input.length * 32; 47 | var hexTab = '0123456789abcdef'; 48 | var hex; 49 | 50 | for (i = 0; i < length32; i += 8) { 51 | x = (input[i >> 5] >>> (i % 32)) & 0xFF; 52 | 53 | hex = parseInt(hexTab.charAt((x >>> 4) & 0x0F) + hexTab.charAt(x & 0x0F), 16); 54 | 55 | output.push(hex); 56 | } 57 | return output; 58 | } 59 | 60 | /* 61 | * Calculate the MD5 of an array of little-endian words, and a bit length. 62 | */ 63 | function wordsToMd5(x, len) { 64 | /* append padding */ 65 | x[len >> 5] |= 0x80 << (len % 32); 66 | x[(((len + 64) >>> 9) << 4) + 14] = len; 67 | 68 | var i; 69 | var olda; 70 | var oldb; 71 | var oldc; 72 | var oldd; 73 | var a = 1732584193; 74 | var b = -271733879; 75 | var c = -1732584194; 76 | 77 | var d = 271733878; 78 | 79 | for (i = 0; i < x.length; i += 16) { 80 | olda = a; 81 | oldb = b; 82 | oldc = c; 83 | oldd = d; 84 | 85 | a = md5ff(a, b, c, d, x[i], 7, -680876936); 86 | d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); 87 | c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); 88 | b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); 89 | a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); 90 | d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); 91 | c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); 92 | b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); 93 | a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); 94 | d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); 95 | c = md5ff(c, d, a, b, x[i + 10], 17, -42063); 96 | b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); 97 | a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); 98 | d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); 99 | c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); 100 | b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); 101 | 102 | a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); 103 | d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); 104 | c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); 105 | b = md5gg(b, c, d, a, x[i], 20, -373897302); 106 | a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); 107 | d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); 108 | c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); 109 | b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); 110 | a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); 111 | d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); 112 | c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); 113 | b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); 114 | a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); 115 | d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); 116 | c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); 117 | b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); 118 | 119 | a = md5hh(a, b, c, d, x[i + 5], 4, -378558); 120 | d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); 121 | c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); 122 | b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); 123 | a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); 124 | d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); 125 | c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); 126 | b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); 127 | a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); 128 | d = md5hh(d, a, b, c, x[i], 11, -358537222); 129 | c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); 130 | b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); 131 | a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); 132 | d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); 133 | c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); 134 | b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); 135 | 136 | a = md5ii(a, b, c, d, x[i], 6, -198630844); 137 | d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); 138 | c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); 139 | b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); 140 | a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); 141 | d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); 142 | c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); 143 | b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); 144 | a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); 145 | d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); 146 | c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); 147 | b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); 148 | a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); 149 | d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); 150 | c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); 151 | b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); 152 | 153 | a = safeAdd(a, olda); 154 | b = safeAdd(b, oldb); 155 | c = safeAdd(c, oldc); 156 | d = safeAdd(d, oldd); 157 | } 158 | return [a, b, c, d]; 159 | } 160 | 161 | /* 162 | * Convert an array bytes to an array of little-endian words 163 | * Characters >255 have their high-byte silently ignored. 164 | */ 165 | function bytesToWords(input) { 166 | var i; 167 | var output = []; 168 | output[(input.length >> 2) - 1] = undefined; 169 | for (i = 0; i < output.length; i += 1) { 170 | output[i] = 0; 171 | } 172 | var length8 = input.length * 8; 173 | for (i = 0; i < length8; i += 8) { 174 | output[i >> 5] |= (input[(i / 8)] & 0xFF) << (i % 32); 175 | } 176 | 177 | return output; 178 | } 179 | 180 | /* 181 | * Add integers, wrapping at 2^32. This uses 16-bit operations internally 182 | * to work around bugs in some JS interpreters. 183 | */ 184 | function safeAdd(x, y) { 185 | var lsw = (x & 0xFFFF) + (y & 0xFFFF); 186 | var msw = (x >> 16) + (y >> 16) + (lsw >> 16); 187 | return (msw << 16) | (lsw & 0xFFFF); 188 | } 189 | 190 | /* 191 | * Bitwise rotate a 32-bit number to the left. 192 | */ 193 | function bitRotateLeft(num, cnt) { 194 | return (num << cnt) | (num >>> (32 - cnt)); 195 | } 196 | 197 | /* 198 | * These functions implement the four basic operations the algorithm uses. 199 | */ 200 | function md5cmn(q, a, b, x, s, t) { 201 | return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); 202 | } 203 | function md5ff(a, b, c, d, x, s, t) { 204 | return md5cmn((b & c) | ((~b) & d), a, b, x, s, t); 205 | } 206 | function md5gg(a, b, c, d, x, s, t) { 207 | return md5cmn((b & d) | (c & (~d)), a, b, x, s, t); 208 | } 209 | function md5hh(a, b, c, d, x, s, t) { 210 | return md5cmn(b ^ c ^ d, a, b, x, s, t); 211 | } 212 | function md5ii(a, b, c, d, x, s, t) { 213 | return md5cmn(c ^ (b | (~d)), a, b, x, s, t); 214 | } 215 | 216 | module.exports = md5; 217 | -------------------------------------------------------------------------------- /node_modules/uuid/lib/md5.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var crypto = require('crypto'); 4 | 5 | function md5(bytes) { 6 | if (typeof Buffer.from === 'function') { 7 | // Modern Buffer API 8 | if (Array.isArray(bytes)) { 9 | bytes = Buffer.from(bytes); 10 | } else if (typeof bytes === 'string') { 11 | bytes = Buffer.from(bytes, 'utf8'); 12 | } 13 | } else { 14 | // Pre-v4 Buffer API 15 | if (Array.isArray(bytes)) { 16 | bytes = new Buffer(bytes); 17 | } else if (typeof bytes === 'string') { 18 | bytes = new Buffer(bytes, 'utf8'); 19 | } 20 | } 21 | 22 | return crypto.createHash('md5').update(bytes).digest(); 23 | } 24 | 25 | module.exports = md5; 26 | -------------------------------------------------------------------------------- /node_modules/uuid/lib/rng-browser.js: -------------------------------------------------------------------------------- 1 | // Unique ID creation requires a high quality random # generator. In the 2 | // browser this is a little complicated due to unknown quality of Math.random() 3 | // and inconsistent support for the `crypto` API. We do the best we can via 4 | // feature-detection 5 | 6 | // getRandomValues needs to be invoked in a context where "this" is a Crypto 7 | // implementation. Also, find the complete implementation of crypto on IE11. 8 | var getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) || 9 | (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto)); 10 | 11 | if (getRandomValues) { 12 | // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto 13 | var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef 14 | 15 | module.exports = function whatwgRNG() { 16 | getRandomValues(rnds8); 17 | return rnds8; 18 | }; 19 | } else { 20 | // Math.random()-based (RNG) 21 | // 22 | // If all else fails, use Math.random(). It's fast, but is of unspecified 23 | // quality. 24 | var rnds = new Array(16); 25 | 26 | module.exports = function mathRNG() { 27 | for (var i = 0, r; i < 16; i++) { 28 | if ((i & 0x03) === 0) r = Math.random() * 0x100000000; 29 | rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; 30 | } 31 | 32 | return rnds; 33 | }; 34 | } 35 | -------------------------------------------------------------------------------- /node_modules/uuid/lib/rng.js: -------------------------------------------------------------------------------- 1 | // Unique ID creation requires a high quality random # generator. In node.js 2 | // this is pretty straight-forward - we use the crypto API. 3 | 4 | var crypto = require('crypto'); 5 | 6 | module.exports = function nodeRNG() { 7 | return crypto.randomBytes(16); 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/uuid/lib/sha1-browser.js: -------------------------------------------------------------------------------- 1 | // Adapted from Chris Veness' SHA1 code at 2 | // http://www.movable-type.co.uk/scripts/sha1.html 3 | 'use strict'; 4 | 5 | function f(s, x, y, z) { 6 | switch (s) { 7 | case 0: return (x & y) ^ (~x & z); 8 | case 1: return x ^ y ^ z; 9 | case 2: return (x & y) ^ (x & z) ^ (y & z); 10 | case 3: return x ^ y ^ z; 11 | } 12 | } 13 | 14 | function ROTL(x, n) { 15 | return (x << n) | (x>>> (32 - n)); 16 | } 17 | 18 | function sha1(bytes) { 19 | var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; 20 | var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; 21 | 22 | if (typeof(bytes) == 'string') { 23 | var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape 24 | bytes = new Array(msg.length); 25 | for (var i = 0; i < msg.length; i++) bytes[i] = msg.charCodeAt(i); 26 | } 27 | 28 | bytes.push(0x80); 29 | 30 | var l = bytes.length/4 + 2; 31 | var N = Math.ceil(l/16); 32 | var M = new Array(N); 33 | 34 | for (var i=0; i>> 0; 66 | e = d; 67 | d = c; 68 | c = ROTL(b, 30) >>> 0; 69 | b = a; 70 | a = T; 71 | } 72 | 73 | H[0] = (H[0] + a) >>> 0; 74 | H[1] = (H[1] + b) >>> 0; 75 | H[2] = (H[2] + c) >>> 0; 76 | H[3] = (H[3] + d) >>> 0; 77 | H[4] = (H[4] + e) >>> 0; 78 | } 79 | 80 | return [ 81 | H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, 82 | H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, 83 | H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, 84 | H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, 85 | H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff 86 | ]; 87 | } 88 | 89 | module.exports = sha1; 90 | -------------------------------------------------------------------------------- /node_modules/uuid/lib/sha1.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var crypto = require('crypto'); 4 | 5 | function sha1(bytes) { 6 | if (typeof Buffer.from === 'function') { 7 | // Modern Buffer API 8 | if (Array.isArray(bytes)) { 9 | bytes = Buffer.from(bytes); 10 | } else if (typeof bytes === 'string') { 11 | bytes = Buffer.from(bytes, 'utf8'); 12 | } 13 | } else { 14 | // Pre-v4 Buffer API 15 | if (Array.isArray(bytes)) { 16 | bytes = new Buffer(bytes); 17 | } else if (typeof bytes === 'string') { 18 | bytes = new Buffer(bytes, 'utf8'); 19 | } 20 | } 21 | 22 | return crypto.createHash('sha1').update(bytes).digest(); 23 | } 24 | 25 | module.exports = sha1; 26 | -------------------------------------------------------------------------------- /node_modules/uuid/lib/v35.js: -------------------------------------------------------------------------------- 1 | var bytesToUuid = require('./bytesToUuid'); 2 | 3 | function uuidToBytes(uuid) { 4 | // Note: We assume we're being passed a valid uuid string 5 | var bytes = []; 6 | uuid.replace(/[a-fA-F0-9]{2}/g, function(hex) { 7 | bytes.push(parseInt(hex, 16)); 8 | }); 9 | 10 | return bytes; 11 | } 12 | 13 | function stringToBytes(str) { 14 | str = unescape(encodeURIComponent(str)); // UTF8 escape 15 | var bytes = new Array(str.length); 16 | for (var i = 0; i < str.length; i++) { 17 | bytes[i] = str.charCodeAt(i); 18 | } 19 | return bytes; 20 | } 21 | 22 | module.exports = function(name, version, hashfunc) { 23 | var generateUUID = function(value, namespace, buf, offset) { 24 | var off = buf && offset || 0; 25 | 26 | if (typeof(value) == 'string') value = stringToBytes(value); 27 | if (typeof(namespace) == 'string') namespace = uuidToBytes(namespace); 28 | 29 | if (!Array.isArray(value)) throw TypeError('value must be an array of bytes'); 30 | if (!Array.isArray(namespace) || namespace.length !== 16) throw TypeError('namespace must be uuid string or an Array of 16 byte values'); 31 | 32 | // Per 4.3 33 | var bytes = hashfunc(namespace.concat(value)); 34 | bytes[6] = (bytes[6] & 0x0f) | version; 35 | bytes[8] = (bytes[8] & 0x3f) | 0x80; 36 | 37 | if (buf) { 38 | for (var idx = 0; idx < 16; ++idx) { 39 | buf[off+idx] = bytes[idx]; 40 | } 41 | } 42 | 43 | return buf || bytesToUuid(bytes); 44 | }; 45 | 46 | // Function#name is not settable on some platforms (#270) 47 | try { 48 | generateUUID.name = name; 49 | } catch (err) { 50 | } 51 | 52 | // Pre-defined namespaces, per Appendix C 53 | generateUUID.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; 54 | generateUUID.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; 55 | 56 | return generateUUID; 57 | }; 58 | -------------------------------------------------------------------------------- /node_modules/uuid/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "uuid@^3.3.2", 3 | "_id": "uuid@3.4.0", 4 | "_inBundle": false, 5 | "_integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", 6 | "_location": "/uuid", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "uuid@^3.3.2", 12 | "name": "uuid", 13 | "escapedName": "uuid", 14 | "rawSpec": "^3.3.2", 15 | "saveSpec": null, 16 | "fetchSpec": "^3.3.2" 17 | }, 18 | "_requiredBy": [ 19 | "/@actions/tool-cache" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 22 | "_shasum": "b23e4358afa8a202fe7a100af1f5f883f02007ee", 23 | "_spec": "uuid@^3.3.2", 24 | "_where": "/home/alexjgriffith/Github/setup-lua/node_modules/@actions/tool-cache", 25 | "bin": { 26 | "uuid": "bin/uuid" 27 | }, 28 | "browser": { 29 | "./lib/rng.js": "./lib/rng-browser.js", 30 | "./lib/sha1.js": "./lib/sha1-browser.js", 31 | "./lib/md5.js": "./lib/md5-browser.js" 32 | }, 33 | "bugs": { 34 | "url": "https://github.com/uuidjs/uuid/issues" 35 | }, 36 | "bundleDependencies": false, 37 | "commitlint": { 38 | "extends": [ 39 | "@commitlint/config-conventional" 40 | ] 41 | }, 42 | "contributors": [ 43 | { 44 | "name": "Robert Kieffer", 45 | "email": "robert@broofa.com" 46 | }, 47 | { 48 | "name": "Christoph Tavan", 49 | "email": "dev@tavan.de" 50 | }, 51 | { 52 | "name": "AJ ONeal", 53 | "email": "coolaj86@gmail.com" 54 | }, 55 | { 56 | "name": "Vincent Voyer", 57 | "email": "vincent@zeroload.net" 58 | }, 59 | { 60 | "name": "Roman Shtylman", 61 | "email": "shtylman@gmail.com" 62 | } 63 | ], 64 | "deprecated": false, 65 | "description": "RFC4122 (v1, v4, and v5) UUIDs", 66 | "devDependencies": { 67 | "@commitlint/cli": "~8.2.0", 68 | "@commitlint/config-conventional": "~8.2.0", 69 | "eslint": "~6.4.0", 70 | "husky": "~3.0.5", 71 | "mocha": "6.2.0", 72 | "runmd": "1.2.1", 73 | "standard-version": "7.0.0" 74 | }, 75 | "homepage": "https://github.com/uuidjs/uuid#readme", 76 | "husky": { 77 | "hooks": { 78 | "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" 79 | } 80 | }, 81 | "keywords": [ 82 | "uuid", 83 | "guid", 84 | "rfc4122" 85 | ], 86 | "license": "MIT", 87 | "name": "uuid", 88 | "repository": { 89 | "type": "git", 90 | "url": "git+https://github.com/uuidjs/uuid.git" 91 | }, 92 | "scripts": { 93 | "lint": "eslint .", 94 | "md": "runmd --watch --output=README.md README_js.md", 95 | "prepare": "runmd --output=README.md README_js.md", 96 | "release": "standard-version", 97 | "test": "npm run lint && mocha test/test.js" 98 | }, 99 | "version": "3.4.0" 100 | } 101 | -------------------------------------------------------------------------------- /node_modules/uuid/v1.js: -------------------------------------------------------------------------------- 1 | var rng = require('./lib/rng'); 2 | var bytesToUuid = require('./lib/bytesToUuid'); 3 | 4 | // **`v1()` - Generate time-based UUID** 5 | // 6 | // Inspired by https://github.com/LiosK/UUID.js 7 | // and http://docs.python.org/library/uuid.html 8 | 9 | var _nodeId; 10 | var _clockseq; 11 | 12 | // Previous uuid creation time 13 | var _lastMSecs = 0; 14 | var _lastNSecs = 0; 15 | 16 | // See https://github.com/uuidjs/uuid for API details 17 | function v1(options, buf, offset) { 18 | var i = buf && offset || 0; 19 | var b = buf || []; 20 | 21 | options = options || {}; 22 | var node = options.node || _nodeId; 23 | var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; 24 | 25 | // node and clockseq need to be initialized to random values if they're not 26 | // specified. We do this lazily to minimize issues related to insufficient 27 | // system entropy. See #189 28 | if (node == null || clockseq == null) { 29 | var seedBytes = rng(); 30 | if (node == null) { 31 | // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) 32 | node = _nodeId = [ 33 | seedBytes[0] | 0x01, 34 | seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5] 35 | ]; 36 | } 37 | if (clockseq == null) { 38 | // Per 4.2.2, randomize (14 bit) clockseq 39 | clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; 40 | } 41 | } 42 | 43 | // UUID timestamps are 100 nano-second units since the Gregorian epoch, 44 | // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so 45 | // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' 46 | // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. 47 | var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); 48 | 49 | // Per 4.2.1.2, use count of uuid's generated during the current clock 50 | // cycle to simulate higher resolution clock 51 | var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; 52 | 53 | // Time since last uuid creation (in msecs) 54 | var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000; 55 | 56 | // Per 4.2.1.2, Bump clockseq on clock regression 57 | if (dt < 0 && options.clockseq === undefined) { 58 | clockseq = clockseq + 1 & 0x3fff; 59 | } 60 | 61 | // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new 62 | // time interval 63 | if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { 64 | nsecs = 0; 65 | } 66 | 67 | // Per 4.2.1.2 Throw error if too many uuids are requested 68 | if (nsecs >= 10000) { 69 | throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); 70 | } 71 | 72 | _lastMSecs = msecs; 73 | _lastNSecs = nsecs; 74 | _clockseq = clockseq; 75 | 76 | // Per 4.1.4 - Convert from unix epoch to Gregorian epoch 77 | msecs += 12219292800000; 78 | 79 | // `time_low` 80 | var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; 81 | b[i++] = tl >>> 24 & 0xff; 82 | b[i++] = tl >>> 16 & 0xff; 83 | b[i++] = tl >>> 8 & 0xff; 84 | b[i++] = tl & 0xff; 85 | 86 | // `time_mid` 87 | var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff; 88 | b[i++] = tmh >>> 8 & 0xff; 89 | b[i++] = tmh & 0xff; 90 | 91 | // `time_high_and_version` 92 | b[i++] = tmh >>> 24 & 0xf | 0x10; // include version 93 | b[i++] = tmh >>> 16 & 0xff; 94 | 95 | // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) 96 | b[i++] = clockseq >>> 8 | 0x80; 97 | 98 | // `clock_seq_low` 99 | b[i++] = clockseq & 0xff; 100 | 101 | // `node` 102 | for (var n = 0; n < 6; ++n) { 103 | b[i + n] = node[n]; 104 | } 105 | 106 | return buf ? buf : bytesToUuid(b); 107 | } 108 | 109 | module.exports = v1; 110 | -------------------------------------------------------------------------------- /node_modules/uuid/v3.js: -------------------------------------------------------------------------------- 1 | var v35 = require('./lib/v35.js'); 2 | var md5 = require('./lib/md5'); 3 | 4 | module.exports = v35('v3', 0x30, md5); -------------------------------------------------------------------------------- /node_modules/uuid/v4.js: -------------------------------------------------------------------------------- 1 | var rng = require('./lib/rng'); 2 | var bytesToUuid = require('./lib/bytesToUuid'); 3 | 4 | function v4(options, buf, offset) { 5 | var i = buf && offset || 0; 6 | 7 | if (typeof(options) == 'string') { 8 | buf = options === 'binary' ? new Array(16) : null; 9 | options = null; 10 | } 11 | options = options || {}; 12 | 13 | var rnds = options.random || (options.rng || rng)(); 14 | 15 | // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` 16 | rnds[6] = (rnds[6] & 0x0f) | 0x40; 17 | rnds[8] = (rnds[8] & 0x3f) | 0x80; 18 | 19 | // Copy bytes to buffer, if provided 20 | if (buf) { 21 | for (var ii = 0; ii < 16; ++ii) { 22 | buf[i + ii] = rnds[ii]; 23 | } 24 | } 25 | 26 | return buf || bytesToUuid(rnds); 27 | } 28 | 29 | module.exports = v4; 30 | -------------------------------------------------------------------------------- /node_modules/uuid/v5.js: -------------------------------------------------------------------------------- 1 | var v35 = require('./lib/v35.js'); 2 | var sha1 = require('./lib/sha1'); 3 | module.exports = v35('v5', 0x50, sha1); 4 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "setup-lua", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@actions/core": { 8 | "version": "1.2.6", 9 | "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz", 10 | "integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA==" 11 | }, 12 | "@actions/exec": { 13 | "version": "1.0.4", 14 | "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.4.tgz", 15 | "integrity": "sha512-4DPChWow9yc9W3WqEbUj8Nr86xkpyE29ZzWjXucHItclLbEW6jr80Zx4nqv18QL6KK65+cifiQZXvnqgTV6oHw==", 16 | "requires": { 17 | "@actions/io": "^1.0.1" 18 | } 19 | }, 20 | "@actions/http-client": { 21 | "version": "1.0.9", 22 | "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.9.tgz", 23 | "integrity": "sha512-0O4SsJ7q+MK0ycvXPl2e6bMXV7dxAXOGjrXS1eTF9s2S401Tp6c/P3c3Joz04QefC1J6Gt942Wl2jbm3f4mLcg==", 24 | "requires": { 25 | "tunnel": "0.0.6" 26 | } 27 | }, 28 | "@actions/io": { 29 | "version": "1.0.2", 30 | "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.2.tgz", 31 | "integrity": "sha512-J8KuFqVPr3p6U8W93DOXlXW6zFvrQAJANdS+vw0YhusLIq+bszW8zmK2Fh1C2kDPX8FMvwIl1OUcFgvJoXLbAg==" 32 | }, 33 | "@actions/tool-cache": { 34 | "version": "1.6.0", 35 | "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.6.0.tgz", 36 | "integrity": "sha512-+fyEBImPD3m5I0o6DflCO0NHY180LPoX8Lo6y4Iez+V17kO8kfkH0VHxb8mUdmD6hn9dWA9Ch1JA20fXoIYUeQ==", 37 | "requires": { 38 | "@actions/core": "^1.2.3", 39 | "@actions/exec": "^1.0.0", 40 | "@actions/http-client": "^1.0.8", 41 | "@actions/io": "^1.0.1", 42 | "semver": "^6.1.0", 43 | "uuid": "^3.3.2" 44 | } 45 | }, 46 | "md5-file": { 47 | "version": "4.0.0", 48 | "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-4.0.0.tgz", 49 | "integrity": "sha512-UC0qFwyAjn4YdPpKaDNw6gNxRf7Mcx7jC1UGCY4boCzgvU2Aoc1mOGzTtrjjLKhM5ivsnhoKpQVxKPp+1j1qwg==" 50 | }, 51 | "semver": { 52 | "version": "6.3.0", 53 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 54 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" 55 | }, 56 | "tunnel": { 57 | "version": "0.0.6", 58 | "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", 59 | "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" 60 | }, 61 | "uuid": { 62 | "version": "3.4.0", 63 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 64 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "setup-lua", 3 | "version": "1.0.0", 4 | "description": "GitHub action to build and setup Lua", 5 | "main": "main.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Xpol Wan ", 10 | "license": "MIT", 11 | "dependencies": { 12 | "@actions/core": "^1.2.6", 13 | "@actions/exec": "^1.0.1", 14 | "@actions/io": "^1.0.1", 15 | "@actions/tool-cache": "^1.1.1", 16 | "md5-file": "^4.0.0" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /patch/lua/5.1/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2007-2012 LuaDist. 2 | # Created by Peter Drahoš, Peter Kapec 3 | # Redistribution and use of this file is allowed according to the terms of the MIT license. 4 | # For details see the COPYRIGHT file distributed with LuaDist. 5 | # Please note that the package source code is licensed under its own license. 6 | 7 | project ( lua C ) 8 | cmake_minimum_required ( VERSION 3.0.2 ) 9 | include ( cmake/dist.cmake ) 10 | include ( lua ) 11 | 12 | ## CONFIGURATION 13 | # Default configuration (we assume POSIX by default) 14 | set ( LUA_PATH "LUA_PATH" CACHE STRING "Environment variable to use as package.path." ) 15 | set ( LUA_CPATH "LUA_CPATH" CACHE STRING "Environment variable to use as package.cpath." ) 16 | set ( LUA_INIT "LUA_INIT" CACHE STRING "Environment variable for initial script." ) 17 | 18 | option ( LUA_ANSI "Use only ansi features." OFF ) 19 | option ( LUA_USE_RELATIVE_LOADLIB "Use modified loadlib.c with support for relative paths on posix systems." 20 | ON ) 21 | set ( LUA_IDSIZE 60 CACHE STRING "gives the maximum size for the description of the source." ) 22 | set ( LUA_PROMPT "> " CACHE STRING "Is the default prompt used by stand-alone Lua." ) 23 | set ( LUA_PROMPT2 ">> " CACHE STRING "Is the default continuation prompt used by stand-alone Lua." ) 24 | set ( LUA_MAXINPUT 512 CACHE STRING "Is the maximum length for an input line in the stand-alone interpreter." ) 25 | 26 | #2DO: LUAI_* and LUAL_* settings, for now defaults are used. 27 | set ( LUA_DIRSEP "/" ) 28 | set ( LUA_MODULE_SUFFIX ${CMAKE_SHARED_MODULE_SUFFIX} ) 29 | set ( LUA_LDIR ${INSTALL_LMOD} ) 30 | set ( LUA_CDIR ${INSTALL_CMOD} ) 31 | 32 | if ( LUA_USE_RELATIVE_LOADLIB ) 33 | # This will set up relative paths to lib 34 | string ( REGEX REPLACE "[^!/]+" ".." LUA_DIR "!/${INSTALL_BIN}/" ) 35 | else ( ) 36 | # Direct path to installation 37 | set ( LUA_DIR ${CMAKE_INSTALL_PREFIX} CACHE STRING "Destination from which modules will be resolved. See INSTALL_LMOD and INSTALL_CMOD." ) 38 | endif ( ) 39 | 40 | set ( LUA_PATH_DEFAULT "./?.lua;${LUA_DIR}${LUA_LDIR}/?.lua;${LUA_DIR}${LUA_LDIR}/?/init.lua;./?/init.lua" ) 41 | set ( LUA_CPATH_DEFAULT "./?${LUA_MODULE_SUFFIX};${LUA_DIR}${LUA_CDIR}/?${LUA_MODULE_SUFFIX};${LUA_DIR}${LUA_CDIR}/loadall${LUA_MODULE_SUFFIX}" ) 42 | 43 | if ( WIN32 AND NOT CYGWIN ) 44 | # Windows systems 45 | option ( LUA_WIN "Windows specific build." ON ) 46 | option ( LUA_BUILD_WLUA "Build wLua interpretter without console output." ON ) 47 | option ( LUA_BUILD_AS_DLL "Build Lua library as Dll." ${BUILD_SHARED_LIBS} ) 48 | 49 | # Paths (Double escapes needed) 50 | set ( LUA_DIRSEP "\\\\" ) 51 | string ( REPLACE " /" ${LUA_DIRSEP} LUA_DIR "${LUA_DIR}" ) 52 | string ( REPLACE "/" ${LUA_DIRSEP} LUA_LDIR "${LUA_LDIR}" ) 53 | string ( REPLACE "/" ${LUA_DIRSEP} LUA_CDIR "${LUA_CDIR}" ) 54 | string ( REPLACE "/" ${LUA_DIRSEP} LUA_PATH_DEFAULT "${LUA_PATH_DEFAULT}" ) 55 | string ( REPLACE "/" ${LUA_DIRSEP} LUA_CPATH_DEFAULT "${LUA_CPATH_DEFAULT}" ) 56 | else ( ) 57 | # Posix systems (incl. Cygwin) 58 | option ( LUA_USE_POSIX "Use POSIX functionality." ON ) 59 | option ( LUA_USE_DLOPEN "Use dynamic linker to load modules." ON ) 60 | option ( LUA_USE_MKSTEMP "Use mkstep." ON ) 61 | option ( LUA_USE_ISATTY "Use tty." ON ) 62 | option ( LUA_USE_POPEN "Use popen." ON ) 63 | option ( LUA_USE_ULONGJMP "Use ulongjmp" ON ) 64 | endif ( ) 65 | 66 | ## SETUP 67 | # Optional libraries 68 | find_package ( Readline ) 69 | if ( READLINE_FOUND ) 70 | option ( LUA_USE_READLINE "Use readline in the Lua CLI." ON ) 71 | endif ( ) 72 | 73 | find_package ( Curses ) 74 | if ( CURSES_FOUND ) 75 | option ( LUA_USE_CURSES "Use curses in the Lua CLI." ON ) 76 | endif ( ) 77 | 78 | # Setup needed variables and libraries 79 | if ( LUA_USE_POSIX ) 80 | # On POSIX Lua links to standard math library "m" 81 | find_library ( MATH_LIBRARY NAMES m ) 82 | if ( MATH_LIBRARY ) 83 | list ( APPEND LIBS ${MATH_LIBRARY} ) 84 | endif ( ) 85 | endif ( ) 86 | 87 | if ( LUA_USE_DLOPEN ) 88 | # Link to dynamic linker library "dl" 89 | find_library ( DL_LIBRARY NAMES dl ) 90 | if ( DL_LIBRARY ) 91 | list ( APPEND LIBS ${DL_LIBRARY} ) 92 | endif ( ) 93 | endif ( ) 94 | 95 | if ( LUA_WIN ) 96 | # Add extra rc files to the windows build 97 | if ( MSVC OR MINGW ) 98 | set ( LUA_DEF src/lua.def ) 99 | set ( LUA_DLL_RC src/lua_dll.rc ) 100 | set ( LUA_RC src/lua.rc ) 101 | set ( LUAC_RC src/luac.rc ) 102 | endif ( ) 103 | endif ( ) 104 | 105 | if ( LUA_USE_READLINE ) 106 | # Add readline 107 | include_directories ( ${READLINE_INCLUDE_DIR} ) 108 | list ( APPEND LIBS ${READLINE_LIBRARY} ) 109 | endif ( ) 110 | 111 | if ( LUA_USE_CURSES ) 112 | # Add curses 113 | include_directories ( ${CURSES_INCLUDE_DIR} ) 114 | list ( APPEND LIBS ${CURSES_LIBRARY} ) 115 | endif ( ) 116 | 117 | if ( APPLE ) 118 | set ( CMAKE_C_FLAGS ${CMAKE_C_FLAGS} " -Wno-empty-body" ) 119 | endif () 120 | 121 | ## SOURCES 122 | # Generate luaconf.h 123 | configure_file ( src/luaconf.h.in ${CMAKE_CURRENT_BINARY_DIR}/luaconf.h ) 124 | 125 | # Sources and headers 126 | include_directories ( src ${CMAKE_CURRENT_BINARY_DIR} ) 127 | set ( SRC_LIB src/lapi.c src/lcode.c src/ldebug.c src/ldo.c src/ldump.c src/lfunc.c 128 | src/lgc.c src/llex.c src/lmem.c src/lobject.c src/lopcodes.c src/lparser.c src/lstate.c 129 | src/lstring.c src/ltable.c src/ltm.c src/lundump.c src/lvm.c src/lzio.c src/lauxlib.c 130 | src/lbaselib.c src/ldblib.c src/liolib.c src/lmathlib.c src/loslib.c src/ltablib.c 131 | src/lstrlib.c src/linit.c ) 132 | set ( SRC_LUA src/lua.c ) 133 | set ( SRC_LUAC src/luac.c src/print.c ) 134 | 135 | if ( LUA_USE_RELATIVE_LOADLIB ) 136 | # Use modified loadlib 137 | list ( APPEND SRC_LIB src/loadlib_rel.c ) 138 | else ( ) 139 | list ( APPEND SRC_LIB src/loadlib.c ) 140 | endif ( ) 141 | 142 | ## BUILD 143 | # Create dynamic library 144 | add_library ( liblua SHARED ${SRC_LIB} ${LUA_DLL_RC} ${LUA_DEF} ) 145 | target_link_libraries ( liblua ${LIBS} ) 146 | set_target_properties ( liblua PROPERTIES OUTPUT_NAME lua CLEAN_DIRECT_OUTPUT 1 ) 147 | if ( LUA_BUILD_AS_DLL ) 148 | set_target_properties ( liblua PROPERTIES COMPILE_DEFINITIONS LUA_BUILD_AS_DLL ) 149 | endif ( ) 150 | 151 | # Create static library, this is needed to compile luac in the 5.1.x Lua series 152 | add_library ( liblua_static STATIC ${SRC_LIB} ) 153 | target_link_libraries ( liblua_static ${LIBS} ) 154 | 155 | add_executable ( lua ${SRC_LUA} ${LUA_RC} ) 156 | target_link_libraries ( lua liblua ) 157 | 158 | # On windows a variant of the lua interpreter without console output needs to be built 159 | if ( LUA_BUILD_WLUA ) 160 | add_executable ( wlua WIN32 src/wmain.c ${SRC_LUA} ${LUA_RC} ) 161 | target_link_libraries ( wlua liblua ) 162 | install_executable ( wlua ) 163 | endif ( ) 164 | 165 | add_executable ( luac ${SRC_LUAC} ${LUAC_RC} ) 166 | target_link_libraries ( luac liblua_static ) 167 | 168 | install_executable ( lua luac ) 169 | install_library ( liblua ) 170 | install_data ( COPYRIGHT HISTORY ) 171 | install_lua_module ( strict etc/strict.lua ) 172 | install_header ( src/lua.h src/lualib.h src/lauxlib.h etc/lua.hpp ${CMAKE_CURRENT_BINARY_DIR}/luaconf.h ) 173 | install_doc ( doc/ ) 174 | install_foo ( etc/ ) 175 | # install_test ( test/ ) 176 | 177 | ## TESTS 178 | set ( LUA lua ) 179 | 180 | add_lua_test ( test/bisect.lua ) 181 | add_lua_test ( test/cf.lua ) 182 | add_lua_test ( test/echo.lua ) 183 | add_lua_test ( test/env.lua ) 184 | add_lua_test ( test/factorial.lua ) 185 | add_lua_test ( test/fib.lua 20 ) 186 | add_lua_test ( test/fibfor.lua ) 187 | #add_lua_test ( test/globals.lua ) # Requires input 188 | add_lua_test ( test/hello.lua ) 189 | file ( READ test/life.lua _data ) 190 | # life.lua test, with reduced run-time. 191 | string ( REPLACE "40,20" "20,15" _data "${_data}" ) 192 | string ( REPLACE 2000 20 _data "${_data}" ) 193 | file ( WRITE ${CMAKE_CURRENT_BINARY_DIR}/test/life-quick.lua "${_data}" ) 194 | add_lua_test ( ${CMAKE_CURRENT_BINARY_DIR}/test/life-quick.lua ) 195 | #add_lua_test ( test/luac.lua ) # Requires input 196 | add_lua_test ( test/printf.lua ) 197 | #add_lua_test ( test/readonly.lua ) 198 | #set_property ( TEST readonly PROPERTY PASS_REGULAR_EXPRESSION "cannot redefine global variable `y'" ) 199 | add_lua_test ( test/sieve.lua ) 200 | add_lua_test ( test/sort.lua ) 201 | #add_lua_test ( test/table.lua ) # Requires input 202 | add_lua_test ( test/trace-calls.lua ) 203 | add_lua_test ( test/trace-globals.lua ) 204 | #add_lua_test ( test/xd.lua ) # Requires input 205 | -------------------------------------------------------------------------------- /patch/lua/5.1/dist.info: -------------------------------------------------------------------------------- 1 | --- This file is part of LuaDist project 2 | 3 | name = "lua" 4 | version = "5.1.5" 5 | 6 | desc = "Lua is a powerful, fast, light-weight, embeddable scripting language." 7 | author = "Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo" 8 | license = "MIT/X11" 9 | url = "http://www.lua.org" 10 | maintainer = "Peter Drahoš" 11 | -------------------------------------------------------------------------------- /patch/lua/5.1/src/lua.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | lua_tolstring 3 | lua_typename 4 | lua_pushfstring 5 | lua_pushvfstring 6 | lua_getlocal 7 | lua_getupvalue 8 | lua_setlocal 9 | lua_setupvalue 10 | lua_topointer 11 | lua_iscfunction 12 | lua_isnumber 13 | lua_isstring 14 | lua_isuserdata 15 | lua_toboolean 16 | lua_type 17 | lua_equal 18 | lua_lessthan 19 | lua_rawequal 20 | lua_checkstack 21 | lua_cpcall 22 | lua_error 23 | lua_getmetatable 24 | lua_gettop 25 | lua_load 26 | lua_next 27 | lua_pcall 28 | lua_pushthread 29 | lua_setfenv 30 | lua_setmetatable 31 | lua_resume 32 | lua_status 33 | lua_yield 34 | lua_dump 35 | lua_gc 36 | lua_gethook 37 | lua_gethookcount 38 | lua_gethookmask 39 | lua_getinfo 40 | lua_getstack 41 | lua_sethook 42 | lua_getallocf 43 | lua_tocfunction 44 | lua_atpanic 45 | lua_tointeger 46 | lua_tonumber 47 | lua_tothread 48 | lua_newstate 49 | lua_newthread 50 | lua_objlen 51 | lua_touserdata 52 | lua_close 53 | lua_call 54 | lua_concat 55 | lua_createtable 56 | lua_getfenv 57 | lua_getfield 58 | lua_gettable 59 | lua_insert 60 | lua_pushboolean 61 | lua_pushcclosure 62 | lua_pushinteger 63 | lua_pushlightuserdata 64 | lua_pushlstring 65 | lua_pushnil 66 | lua_pushnumber 67 | lua_pushstring 68 | lua_pushvalue 69 | lua_rawget 70 | lua_rawgeti 71 | lua_rawset 72 | lua_rawseti 73 | lua_remove 74 | lua_replace 75 | lua_setfield 76 | lua_settable 77 | lua_settop 78 | lua_xmove 79 | lua_newuserdata 80 | lua_setallocf 81 | luaL_prepbuffer 82 | luaL_checklstring 83 | luaL_findtable 84 | luaL_gsub 85 | luaL_optlstring 86 | luaL_newmetatable 87 | luaL_argerror 88 | luaL_callmeta 89 | luaL_checkoption 90 | luaL_error 91 | luaL_getmetafield 92 | luaL_loadbuffer 93 | luaL_loadfile 94 | luaL_loadstring 95 | luaL_ref 96 | luaL_typerror 97 | luaL_checkinteger 98 | luaL_optinteger 99 | luaL_checknumber 100 | luaL_optnumber 101 | luaL_newstate 102 | luaL_openlib 103 | luaL_addlstring 104 | luaL_addstring 105 | luaL_addvalue 106 | luaL_buffinit 107 | luaL_checkany 108 | luaL_checkstack 109 | luaL_checktype 110 | luaL_pushresult 111 | luaL_register 112 | luaL_unref 113 | luaL_where 114 | luaL_checkudata 115 | luaopen_base 116 | luaopen_debug 117 | luaopen_io 118 | luaopen_math 119 | luaopen_os 120 | luaopen_package 121 | luaopen_string 122 | luaopen_table 123 | luaL_openlibs 124 | luaU_dump 125 | luaM_toobig 126 | luaM_realloc_ 127 | luaS_newlstr 128 | luaD_growstack 129 | luaF_newproto 130 | luaP_opmodes 131 | luaP_opnames 132 | -------------------------------------------------------------------------------- /patch/lua/5.1/src/lua.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpol/setup-lua/3f2ae3c3a89c2d6f12e07137594a0499b43cc016/patch/lua/5.1/src/lua.rc -------------------------------------------------------------------------------- /patch/lua/5.1/src/lua_dll.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpol/setup-lua/3f2ae3c3a89c2d6f12e07137594a0499b43cc016/patch/lua/5.1/src/lua_dll.rc -------------------------------------------------------------------------------- /patch/lua/5.1/src/luac.rc: -------------------------------------------------------------------------------- 1 | 0 ICON "../etc/lua.ico" 2 | -------------------------------------------------------------------------------- /patch/lua/5.2/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2007-2013 LuaDist. 2 | # Created by Peter Drahoš, Peter Kapec 3 | # Redistribution and use of this file is allowed according to the terms of the MIT license. 4 | # For details see the COPYRIGHT file distributed with LuaDist. 5 | # Please note that the package source code is licensed under its own license. 6 | 7 | project ( lua C ) 8 | cmake_minimum_required ( VERSION 3.0.2 ) 9 | include ( cmake/dist.cmake ) 10 | 11 | ## CONFIGURATION 12 | # Default configuration (we assume POSIX by default) 13 | set ( LUA_PATH "LUA_PATH" CACHE STRING "Environment variable to use as package.path." ) 14 | set ( LUA_CPATH "LUA_CPATH" CACHE STRING "Environment variable to use as package.cpath." ) 15 | set ( LUA_INIT "LUA_INIT" CACHE STRING "Environment variable for initial script." ) 16 | 17 | option ( LUA_ANSI "Use only ansi features." OFF ) 18 | option ( LUA_USE_RELATIVE_LOADLIB "Use modified loadlib.c with support for relative paths on posix systems." ON ) 19 | option ( LUA_COMPAT_ALL "Enable backwards compatibility options." ON ) 20 | set ( LUA_IDSIZE 60 CACHE STRING "gives the maximum size for the description of the source." ) 21 | 22 | #2DO: LUAI_* and LUAL_* settings, for now defaults are used. 23 | set ( LUA_DIRSEP "/" ) 24 | set ( LUA_MODULE_SUFFIX ${CMAKE_SHARED_MODULE_SUFFIX} ) 25 | set ( LUA_LDIR ${INSTALL_LMOD} ) 26 | set ( LUA_CDIR ${INSTALL_CMOD} ) 27 | 28 | if ( LUA_USE_RELATIVE_LOADLIB ) 29 | # This will set up relative paths to lib 30 | string ( REGEX REPLACE "[^!/]+" ".." LUA_DIR "!/${INSTALL_BIN}/" ) 31 | else ( ) 32 | # Direct path to installation 33 | set ( LUA_DIR ${CMAKE_INSTALL_PREFIX} CACHE STRING "Destination from which modules will be resolved. See INSTALL_LMOD and INSTALL_CMOD." ) 34 | endif ( ) 35 | 36 | set ( LUA_PATH_DEFAULT "./?.lua;${LUA_DIR}${LUA_LDIR}/?.lua;${LUA_DIR}${LUA_LDIR}/?/init.lua" ) 37 | set ( LUA_CPATH_DEFAULT "./?${LUA_MODULE_SUFFIX};${LUA_DIR}${LUA_CDIR}/?${LUA_MODULE_SUFFIX};${LUA_DIR}${LUA_CDIR}/loadall${LUA_MODULE_SUFFIX}" ) 38 | 39 | if ( WIN32 AND NOT CYGWIN ) 40 | # Windows systems 41 | option ( LUA_WIN "Windows specific build." ON ) 42 | option ( LUA_BUILD_WLUA "Build wLua interpretter without console output." ON ) 43 | option ( LUA_BUILD_AS_DLL "Build Lua library as Dll." ${BUILD_SHARED_LIBS} ) 44 | 45 | # Paths (Double escapes ne option needed) 46 | set ( LUA_DIRSEP "\\\\" ) 47 | string ( REPLACE " /" ${LUA_DIRSEP} LUA_DIR "${LUA_DIR}" ) 48 | string ( REPLACE "/" ${LUA_DIRSEP} LUA_LDIR "${LUA_LDIR}" ) 49 | string ( REPLACE "/" ${LUA_DIRSEP} LUA_CDIR "${LUA_CDIR}" ) 50 | string ( REPLACE "/" ${LUA_DIRSEP} LUA_PATH_DEFAULT "${LUA_PATH_DEFAULT}" ) 51 | string ( REPLACE "/" ${LUA_DIRSEP} LUA_CPATH_DEFAULT "${LUA_CPATH_DEFAULT}" ) 52 | else ( ) 53 | # Posix systems (incl. Cygwin) 54 | option ( LUA_USE_POSIX "Use POSIX features." ON ) 55 | option ( LUA_USE_DLOPEN "Use dynamic linker to load modules." ON ) 56 | option ( LUA_USE_MKSTEMP "Use mkstep." ON ) 57 | option ( LUA_USE_ISATTY "Use tty." ON ) 58 | option ( LUA_USE_POPEN "Use popen." ON ) 59 | option ( LUA_USE_ULONGJMP "Use ulongjmp" ON ) 60 | option ( LUA_USE_GMTIME_R "Use GTIME_R" ON ) 61 | # Apple and Linux specific 62 | if ( LINUX OR APPLE ) 63 | option ( LUA_USE_STRTODHEX "Assume 'strtod' handles hexa formats" ON ) 64 | option ( LUA_USE_AFORMAT "Assume 'printf' handles 'aA' specifiers" ON ) 65 | option ( LUA_USE_LONGLONG "Assume support for long long" ON ) 66 | endif ( ) 67 | endif ( ) 68 | 69 | ## SETUP 70 | # Optional libraries 71 | find_package ( Readline ) 72 | if ( READLINE_FOUND ) 73 | option ( LUA_USE_READLINE "Use readline in the Lua CLI." ON ) 74 | endif ( ) 75 | 76 | find_package ( Curses ) 77 | if ( CURSES_FOUND ) 78 | option ( LUA_USE_CURSES "Use curses in the Lua CLI." ON ) 79 | endif ( ) 80 | 81 | # Setup needed variables and libraries 82 | if ( LUA_USE_POSIX ) 83 | # On POSIX Lua links to standard math library "m" 84 | list ( APPEND LIBS m ) 85 | endif ( ) 86 | 87 | if ( LUA_USE_DLOPEN ) 88 | # Link to dynamic linker library "dl" 89 | find_library ( DL_LIBRARY NAMES dl ) 90 | if ( DL_LIBRARY ) 91 | list ( APPEND LIBS ${DL_LIBRARY} ) 92 | endif ( ) 93 | endif ( ) 94 | 95 | if ( LUA_USE_READLINE ) 96 | # Add readline 97 | include_directories ( ${READLINE_INCLUDE_DIR} ) 98 | list ( APPEND LIBS ${READLINE_LIBRARY} ) 99 | endif ( ) 100 | 101 | if ( LUA_USE_CURSES ) 102 | # Add curses 103 | include_directories ( ${CURSES_INCLUDE_DIR} ) 104 | list ( APPEND LIBS ${CURSES_LIBRARY} ) 105 | endif ( ) 106 | 107 | ## SOURCES 108 | # Generate luaconf.h 109 | configure_file ( src/luaconf.h.in ${CMAKE_CURRENT_BINARY_DIR}/luaconf.h ) 110 | 111 | # Sources and headers 112 | include_directories ( src ${CMAKE_CURRENT_BINARY_DIR} ) 113 | set ( SRC_CORE src/lapi.c src/lcode.c src/lctype.c src/ldebug.c src/ldo.c src/ldump.c 114 | src/lfunc.c src/lgc.c src/llex.c src/lmem.c src/lobject.c src/lopcodes.c src/lparser.c 115 | src/lstate.c src/lstring.c src/ltable.c src/ltm.c src/lundump.c src/lvm.c src/lzio.c ) 116 | set ( SRC_LIB src/lauxlib.c src/lbaselib.c src/lbitlib.c src/lcorolib.c src/ldblib.c 117 | src/liolib.c src/lmathlib.c src/loslib.c src/lstrlib.c src/ltablib.c src/linit.c ) 118 | set ( SRC_LUA src/lua.c ) 119 | set ( SRC_LUAC src/luac.c ) 120 | 121 | if ( LUA_USE_RELATIVE_LOADLIB ) 122 | # Use modified loadlib 123 | list ( APPEND SRC_LIB src/loadlib_rel.c ) 124 | else ( ) 125 | list ( APPEND SRC_LIB src/loadlib.c ) 126 | endif ( ) 127 | 128 | ## BUILD 129 | # Create lua library 130 | add_library ( liblua ${SRC_CORE} ${SRC_LIB} ${LUA_DLL_RC} ${LUA_DEF} ) 131 | target_link_libraries ( liblua ${LIBS} ) 132 | set_target_properties ( liblua PROPERTIES OUTPUT_NAME lua CLEAN_DIRECT_OUTPUT 1 ) 133 | if ( LUA_BUILD_AS_DLL ) 134 | set_target_properties ( liblua PROPERTIES COMPILE_DEFINITIONS LUA_BUILD_AS_DLL ) 135 | endif () 136 | 137 | add_executable ( lua ${SRC_LUA} src/lua.rc ) 138 | target_link_libraries ( lua liblua ) 139 | 140 | add_executable ( luac ${SRC_CORE} ${SRC_LIB} ${SRC_LUAC} src/luac.rc ) 141 | target_link_libraries ( luac ${LIBS} ) 142 | 143 | # On windows a variant of the lua interpreter without console output needs to be built 144 | if ( LUA_BUILD_WLUA ) 145 | add_executable ( wlua WIN32 src/wmain.c ${SRC_LUA} src/lua.rc ) 146 | target_link_libraries ( wlua liblua ) 147 | install_executable ( wlua ) 148 | endif ( ) 149 | 150 | install_executable ( lua luac ) 151 | install_library ( liblua ) 152 | #install_data ( README.md ) 153 | #install_lua_module ( strict etc/strict.lua ) 154 | install_header ( src/lua.h src/lualib.h src/lauxlib.h src/lua.hpp ${CMAKE_CURRENT_BINARY_DIR}/luaconf.h ) 155 | install_doc ( doc/ ) 156 | install_foo ( etc/ ) 157 | #install_test ( test/ ) 158 | -------------------------------------------------------------------------------- /patch/lua/5.2/dist.info: -------------------------------------------------------------------------------- 1 | --- This file is part of LuaDist project 2 | 3 | name = "lua" 4 | version = "5.2.4" 5 | 6 | desc = "Lua is a powerful, fast, light-weight, embeddable scripting language." 7 | author = "Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo" 8 | license = "MIT/X11" 9 | url = "http://www.lua.org" 10 | maintainer = "Peter Drahoš" 11 | 12 | -- Offers functionality of the following packages 13 | provides = { 14 | "bit32-5.2.0" 15 | } 16 | -------------------------------------------------------------------------------- /patch/lua/5.2/src/lua.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpol/setup-lua/3f2ae3c3a89c2d6f12e07137594a0499b43cc016/patch/lua/5.2/src/lua.rc -------------------------------------------------------------------------------- /patch/lua/5.2/src/luac.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpol/setup-lua/3f2ae3c3a89c2d6f12e07137594a0499b43cc016/patch/lua/5.2/src/luac.rc -------------------------------------------------------------------------------- /patch/lua/5.2/src/wmain.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include /* declaration of __argc and __argv */ 3 | 4 | extern int main(int, char **); 5 | 6 | int PASCAL WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR cmdline, int ncmdshow) 7 | { 8 | int rc; 9 | 10 | extern int __argc; /* this seems to work for all the compilers we tested, except Watcom compilers */ 11 | extern char** __argv; 12 | 13 | rc = main(__argc, __argv); 14 | 15 | return rc; 16 | } 17 | -------------------------------------------------------------------------------- /patch/lua/5.3/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2007-2015 LuaDist. 2 | # Created by Peter Drahoš, Peter Kapec 3 | # Redistribution and use of this file is allowed according to the terms of the MIT license. 4 | # For details see the COPYRIGHT file distributed with LuaDist. 5 | # Please note that the package source code is licensed under its own license. 6 | 7 | project ( lua C ) 8 | cmake_minimum_required ( VERSION 3.0.2 ) 9 | include ( cmake/dist.cmake ) 10 | 11 | ## CONFIGURATION 12 | # Default configuration (we assume POSIX by default) 13 | set ( LUA_PATH "LUA_PATH" CACHE STRING "Environment variable to use as package.path." ) 14 | set ( LUA_CPATH "LUA_CPATH" CACHE STRING "Environment variable to use as package.cpath." ) 15 | set ( LUA_INIT "LUA_INIT" CACHE STRING "Environment variable for initial script." ) 16 | 17 | option ( LUA_USE_C89 "Use only C89 features." OFF ) 18 | option ( LUA_USE_RELATIVE_LOADLIB "Use modified loadlib.c with support for relative paths on posix systems." ON ) 19 | 20 | option ( LUA_COMPAT_5_1 "Enable backwards compatibility options with lua-5.1." ON ) 21 | option ( LUA_COMPAT_5_2 "Enable backwards compatibility options with lua-5.2." ON ) 22 | 23 | #2DO: LUAI_* and LUAL_* settings, for now defaults are used. 24 | set ( LUA_DIRSEP "/" ) 25 | set ( LUA_MODULE_SUFFIX ${CMAKE_SHARED_MODULE_SUFFIX} ) 26 | set ( LUA_LDIR ${INSTALL_LMOD} ) 27 | set ( LUA_CDIR ${INSTALL_CMOD} ) 28 | 29 | if ( LUA_USE_RELATIVE_LOADLIB ) 30 | # This will set up relative paths to lib 31 | string ( REGEX REPLACE "[^!/]+" ".." LUA_DIR "!/${INSTALL_BIN}/" ) 32 | else ( ) 33 | # Direct path to installation 34 | set ( LUA_DIR ${CMAKE_INSTALL_PREFIX} CACHE STRING "Destination from which modules will be resolved. See INSTALL_LMOD and INSTALL_CMOD." ) 35 | endif ( ) 36 | 37 | set ( LUA_PATH_DEFAULT "./?.lua;${LUA_DIR}${LUA_LDIR}/?.lua;${LUA_DIR}${LUA_LDIR}/?/init.lua" ) 38 | set ( LUA_CPATH_DEFAULT "./?${LUA_MODULE_SUFFIX};${LUA_DIR}${LUA_CDIR}/?${LUA_MODULE_SUFFIX};${LUA_DIR}${LUA_CDIR}/loadall${LUA_MODULE_SUFFIX}" ) 39 | 40 | if ( WIN32 AND NOT CYGWIN ) 41 | # Windows systems 42 | option ( LUA_USE_WINDOWS "Windows specific build." ON ) 43 | option ( LUA_BUILD_WLUA "Build wLua interpretter without console output." ON ) 44 | option ( LUA_BUILD_AS_DLL "Build Lua library as Dll." ${BUILD_SHARED_LIBS} ) 45 | 46 | # Paths (Double escapes needed) 47 | set ( LUA_DIRSEP "\\\\" ) 48 | string ( REPLACE " /" ${LUA_DIRSEP} LUA_DIR "${LUA_DIR}" ) 49 | string ( REPLACE "/" ${LUA_DIRSEP} LUA_LDIR "${LUA_LDIR}" ) 50 | string ( REPLACE "/" ${LUA_DIRSEP} LUA_CDIR "${LUA_CDIR}" ) 51 | string ( REPLACE "/" ${LUA_DIRSEP} LUA_PATH_DEFAULT "${LUA_PATH_DEFAULT}" ) 52 | string ( REPLACE "/" ${LUA_DIRSEP} LUA_CPATH_DEFAULT "${LUA_CPATH_DEFAULT}" ) 53 | else ( ) 54 | # Posix systems (incl. Cygwin) 55 | option ( LUA_USE_POSIX "Use POSIX features." ON ) 56 | option ( LUA_USE_DLOPEN "Use dynamic linker to load modules." ON ) 57 | # Apple and Linux specific 58 | if ( LINUX OR APPLE ) 59 | option ( LUA_USE_AFORMAT "Assume 'printf' handles 'aA' specifiers" ON ) 60 | endif ( ) 61 | endif ( ) 62 | 63 | ## SETUP 64 | # Optional libraries 65 | find_package ( Readline ) 66 | if ( READLINE_FOUND ) 67 | option ( LUA_USE_READLINE "Use readline in the Lua CLI." ON ) 68 | endif ( ) 69 | 70 | # Setup needed variables and libraries 71 | if ( LUA_USE_POSIX ) 72 | # On POSIX Lua links to standard math library "m" 73 | list ( APPEND LIBS m ) 74 | endif ( ) 75 | 76 | if ( LUA_USE_DLOPEN ) 77 | # Link to dynamic linker library "dl" 78 | find_library ( DL_LIBRARY NAMES dl ) 79 | if ( DL_LIBRARY ) 80 | list ( APPEND LIBS ${DL_LIBRARY} ) 81 | endif ( ) 82 | endif ( ) 83 | 84 | if ( LUA_USE_READLINE ) 85 | # Add readline 86 | include_directories ( ${READLINE_INCLUDE_DIR} ) 87 | list ( APPEND LIBS ${READLINE_LIBRARY} ) 88 | endif ( ) 89 | 90 | ## SOURCES 91 | # Generate luaconf.h 92 | configure_file ( src/luaconf.h.in ${CMAKE_CURRENT_BINARY_DIR}/luaconf.h ) 93 | 94 | # Sources and headers 95 | include_directories ( src ${CMAKE_CURRENT_BINARY_DIR} ) 96 | set ( SRC_CORE src/lapi.c src/lcode.c src/lctype.c src/ldebug.c src/ldo.c src/ldump.c 97 | src/lfunc.c src/lgc.c src/llex.c src/lmem.c src/lobject.c src/lopcodes.c src/lparser.c 98 | src/lstate.c src/lstring.c src/ltable.c src/ltm.c src/lundump.c src/lvm.c src/lzio.c ) 99 | set ( SRC_LIB src/lauxlib.c src/lbaselib.c src/lbitlib.c src/lcorolib.c src/ldblib.c 100 | src/liolib.c src/lmathlib.c src/loslib.c src/lstrlib.c src/ltablib.c src/linit.c 101 | src/lutf8lib.c ) 102 | set ( SRC_LUA src/lua.c ) 103 | set ( SRC_LUAC src/luac.c ) 104 | 105 | if ( LUA_USE_RELATIVE_LOADLIB ) 106 | # Use modified loadlib 107 | list ( APPEND SRC_LIB src/loadlib_rel.c ) 108 | else ( ) 109 | list ( APPEND SRC_LIB src/loadlib.c ) 110 | endif ( ) 111 | 112 | ## BUILD 113 | # Create lua library 114 | add_library ( liblua ${SRC_CORE} ${SRC_LIB} ${LUA_DLL_RC} ) 115 | target_link_libraries ( liblua ${LIBS} ) 116 | set_target_properties ( liblua PROPERTIES OUTPUT_NAME lua CLEAN_DIRECT_OUTPUT 1 ) 117 | if ( LUA_BUILD_AS_DLL ) 118 | set_target_properties ( liblua PROPERTIES COMPILE_DEFINITIONS LUA_BUILD_AS_DLL ) 119 | endif () 120 | 121 | add_executable ( lua ${SRC_LUA} src/lua.rc ) 122 | target_link_libraries ( lua liblua ) 123 | 124 | add_executable ( luac ${SRC_CORE} ${SRC_LIB} ${SRC_LUAC} src/luac.rc ) 125 | target_link_libraries ( luac ${LIBS} ) 126 | 127 | # On windows a variant of the lua interpreter without console output needs to be built 128 | if ( LUA_BUILD_WLUA ) 129 | add_executable ( wlua WIN32 src/wmain.c ${SRC_LUA} src/lua.rc ) 130 | target_link_libraries ( wlua liblua ) 131 | install_executable ( wlua ) 132 | endif ( ) 133 | 134 | install_executable ( lua luac ) 135 | install_library ( liblua ) 136 | #install_data ( README.md ) 137 | #install_lua_module ( strict etc/strict.lua ) 138 | install_header ( src/lua.h src/lualib.h src/lauxlib.h src/lua.hpp ${CMAKE_CURRENT_BINARY_DIR}/luaconf.h ) 139 | install_doc ( doc/ ) 140 | install_foo ( etc/ ) 141 | #install_test ( test/ ) 142 | -------------------------------------------------------------------------------- /patch/lua/5.3/dist.info: -------------------------------------------------------------------------------- 1 | --- This file is part of LuaDist project 2 | 3 | name = "lua" 4 | version = "5.3.5" 5 | 6 | desc = "Lua is a powerful, fast, light-weight, embeddable scripting language." 7 | author = "Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo" 8 | license = "MIT/X11" 9 | url = "http://www.lua.org" 10 | maintainer = "Peter Drahoš" 11 | 12 | -------------------------------------------------------------------------------- /patch/lua/5.3/src/lua.rc: -------------------------------------------------------------------------------- 1 | 0 ICON "../etc/lua_lang.ico" 2 | 3 | 1 VERSIONINFO 4 | FILEVERSION 5,3,5,0 5 | PRODUCTVERSION 5,3,5,0 6 | BEGIN 7 | BLOCK "StringFileInfo" 8 | BEGIN 9 | BLOCK "040904b0" 10 | BEGIN 11 | VALUE "Comments", "www.lua.org\0" 12 | VALUE "CompanyName", "Lua.org\0" 13 | VALUE "FileDescription", "Lua Standalone Interpreter\0" 14 | VALUE "FileVersion", "5.3.5\0" 15 | VALUE "LegalCopyright", "Copyright � 1994-2015 Lua.org, PUC-Rio.\0" 16 | VALUE "OriginalFilename", "lua.exe\0" 17 | VALUE "ProductName", "Lua - The Programming Language\0" 18 | VALUE "ProductVersion", "5.3.5\0" 19 | VALUE "PrivateBuild", "Built using LuaDist\0" 20 | END 21 | END 22 | END 23 | 24 | #ifdef MSVC8 25 | 1 24 "lua_dll8.manifest" 26 | #elif MSVC9 27 | 1 24 "lua_dll9.manifest" 28 | #endif 29 | -------------------------------------------------------------------------------- /patch/lua/5.3/src/luac.rc: -------------------------------------------------------------------------------- 1 | 0 ICON "../etc/lua.ico" 2 | 3 | 1 VERSIONINFO 4 | FILEVERSION 5,3,5,0 5 | PRODUCTVERSION 5,3,5,0 6 | BEGIN 7 | BLOCK "StringFileInfo" 8 | BEGIN 9 | BLOCK "040904b0" 10 | BEGIN 11 | VALUE "Comments", "www.lua.org\0" 12 | VALUE "CompanyName", "Lua.org\0" 13 | VALUE "FileDescription", "Lua Compiler\0" 14 | VALUE "FileVersion", "5.3.5\0" 15 | VALUE "LegalCopyright", "Copyright � 1994-2015 Lua.org, PUC-Rio.\0" 16 | VALUE "OriginalFilename", "luac.exe\0" 17 | VALUE "ProductName", "Lua - The Programming Language\0" 18 | VALUE "ProductVersion", "5.3.5\0" 19 | VALUE "PrivateBuild", "Built using LuaDist\0" 20 | END 21 | END 22 | END 23 | 24 | #ifdef MSVC8 25 | 1 24 "lua_dll8.manifest" 26 | #elif MSVC9 27 | 1 24 "lua_dll9.manifest" 28 | #endif 29 | -------------------------------------------------------------------------------- /patch/shared/cmake/FindLua.cmake: -------------------------------------------------------------------------------- 1 | # Locate Lua library 2 | # This module defines 3 | # LUA_EXECUTABLE, if found 4 | # LUA_FOUND, if false, do not try to link to Lua 5 | # LUA_LIBRARIES 6 | # LUA_INCLUDE_DIR, where to find lua.h 7 | # LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8) 8 | # 9 | # Note that the expected include convention is 10 | # #include "lua.h" 11 | # and not 12 | # #include 13 | # This is because, the lua location is not standardized and may exist 14 | # in locations other than lua/ 15 | 16 | #============================================================================= 17 | # Copyright 2007-2009 Kitware, Inc. 18 | # Modified to support Lua 5.2 by LuaDist 2012 19 | # 20 | # Distributed under the OSI-approved BSD License (the "License"); 21 | # see accompanying file Copyright.txt for details. 22 | # 23 | # This software is distributed WITHOUT ANY WARRANTY; without even the 24 | # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 25 | # See the License for more information. 26 | #============================================================================= 27 | # (To distribute this file outside of CMake, substitute the full 28 | # License text for the above reference.) 29 | # 30 | # The required version of Lua can be specified using the 31 | # standard syntax, e.g. FIND_PACKAGE(Lua 5.1) 32 | # Otherwise the module will search for any available Lua implementation 33 | 34 | # Always search for non-versioned lua first (recommended) 35 | SET(_POSSIBLE_LUA_INCLUDE include include/lua) 36 | SET(_POSSIBLE_LUA_EXECUTABLE lua) 37 | SET(_POSSIBLE_LUA_LIBRARY lua) 38 | 39 | # Determine possible naming suffixes (there is no standard for this) 40 | IF(Lua_FIND_VERSION_MAJOR AND Lua_FIND_VERSION_MINOR) 41 | SET(_POSSIBLE_SUFFIXES "${Lua_FIND_VERSION_MAJOR}${Lua_FIND_VERSION_MINOR}" "${Lua_FIND_VERSION_MAJOR}.${Lua_FIND_VERSION_MINOR}" "-${Lua_FIND_VERSION_MAJOR}.${Lua_FIND_VERSION_MINOR}") 42 | ELSE(Lua_FIND_VERSION_MAJOR AND Lua_FIND_VERSION_MINOR) 43 | SET(_POSSIBLE_SUFFIXES "52" "5.2" "-5.2" "51" "5.1" "-5.1") 44 | ENDIF(Lua_FIND_VERSION_MAJOR AND Lua_FIND_VERSION_MINOR) 45 | 46 | # Set up possible search names and locations 47 | FOREACH(_SUFFIX ${_POSSIBLE_SUFFIXES}) 48 | LIST(APPEND _POSSIBLE_LUA_INCLUDE "include/lua${_SUFFIX}") 49 | LIST(APPEND _POSSIBLE_LUA_EXECUTABLE "lua${_SUFFIX}") 50 | LIST(APPEND _POSSIBLE_LUA_LIBRARY "lua${_SUFFIX}") 51 | ENDFOREACH(_SUFFIX) 52 | 53 | # Find the lua executable 54 | FIND_PROGRAM(LUA_EXECUTABLE 55 | NAMES ${_POSSIBLE_LUA_EXECUTABLE} 56 | ) 57 | 58 | # Find the lua header 59 | FIND_PATH(LUA_INCLUDE_DIR lua.h 60 | HINTS 61 | $ENV{LUA_DIR} 62 | PATH_SUFFIXES ${_POSSIBLE_LUA_INCLUDE} 63 | PATHS 64 | ~/Library/Frameworks 65 | /Library/Frameworks 66 | /usr/local 67 | /usr 68 | /sw # Fink 69 | /opt/local # DarwinPorts 70 | /opt/csw # Blastwave 71 | /opt 72 | ) 73 | 74 | # Find the lua library 75 | FIND_LIBRARY(LUA_LIBRARY 76 | NAMES ${_POSSIBLE_LUA_LIBRARY} 77 | HINTS 78 | $ENV{LUA_DIR} 79 | PATH_SUFFIXES lib64 lib 80 | PATHS 81 | ~/Library/Frameworks 82 | /Library/Frameworks 83 | /usr/local 84 | /usr 85 | /sw 86 | /opt/local 87 | /opt/csw 88 | /opt 89 | ) 90 | 91 | IF(LUA_LIBRARY) 92 | # include the math library for Unix 93 | IF(UNIX AND NOT APPLE) 94 | FIND_LIBRARY(LUA_MATH_LIBRARY m) 95 | SET( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries") 96 | # For Windows and Mac, don't need to explicitly include the math library 97 | ELSE(UNIX AND NOT APPLE) 98 | SET( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries") 99 | ENDIF(UNIX AND NOT APPLE) 100 | ENDIF(LUA_LIBRARY) 101 | 102 | # Determine Lua version 103 | IF(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h") 104 | FILE(STRINGS "${LUA_INCLUDE_DIR}/lua.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua .+\"") 105 | 106 | STRING(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}") 107 | UNSET(lua_version_str) 108 | ENDIF() 109 | 110 | INCLUDE(FindPackageHandleStandardArgs) 111 | # handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if 112 | # all listed variables are TRUE 113 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua 114 | REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIR 115 | VERSION_VAR LUA_VERSION_STRING) 116 | 117 | MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY LUA_EXECUTABLE) 118 | 119 | -------------------------------------------------------------------------------- /patch/shared/cmake/FindReadline.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find Readline 2 | # Once done this will define 3 | # READLINE_FOUND - System has readline 4 | # READLINE_INCLUDE_DIRS - The readline include directories 5 | # READLINE_LIBRARIES - The libraries needed to use readline 6 | # READLINE_DEFINITIONS - Compiler switches required for using readline 7 | 8 | find_package ( PkgConfig ) 9 | pkg_check_modules ( PC_READLINE QUIET readline ) 10 | set ( READLINE_DEFINITIONS ${PC_READLINE_CFLAGS_OTHER} ) 11 | 12 | find_path ( READLINE_INCLUDE_DIR readline/readline.h 13 | HINTS ${PC_READLINE_INCLUDEDIR} ${PC_READLINE_INCLUDE_DIRS} 14 | PATH_SUFFIXES readline ) 15 | 16 | find_library ( READLINE_LIBRARY NAMES readline 17 | HINTS ${PC_READLINE_LIBDIR} ${PC_READLINE_LIBRARY_DIRS} ) 18 | 19 | set ( READLINE_LIBRARIES ${READLINE_LIBRARY} ) 20 | set ( READLINE_INCLUDE_DIRS ${READLINE_INCLUDE_DIR} ) 21 | 22 | include ( FindPackageHandleStandardArgs ) 23 | # handle the QUIETLY and REQUIRED arguments and set READLINE_FOUND to TRUE 24 | # if all listed variables are TRUE 25 | find_package_handle_standard_args ( readline DEFAULT_MSG READLINE_LIBRARY READLINE_INCLUDE_DIR ) 26 | -------------------------------------------------------------------------------- /patch/shared/etc/lua.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpol/setup-lua/3f2ae3c3a89c2d6f12e07137594a0499b43cc016/patch/shared/etc/lua.ico -------------------------------------------------------------------------------- /patch/shared/etc/lua_lang.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpol/setup-lua/3f2ae3c3a89c2d6f12e07137594a0499b43cc016/patch/shared/etc/lua_lang.ico -------------------------------------------------------------------------------- /patch/shared/src/wmain.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include /* declaration of __argc and __argv */ 3 | 4 | extern int main(int, char **); 5 | 6 | int PASCAL WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR cmdline, int ncmdshow) 7 | { 8 | int rc; 9 | 10 | extern int __argc; /* this seems to work for all the compilers we tested, except Watcom compilers */ 11 | extern char** __argv; 12 | 13 | rc = main(__argc, __argv); 14 | 15 | return rc; 16 | } 17 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@actions/core@^1.1.0", "@actions/core@^1.2.6": 6 | version "1.2.6" 7 | resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.2.6.tgz#a78d49f41a4def18e88ce47c2cac615d5694bf09" 8 | integrity sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA== 9 | 10 | "@actions/exec@^1.0.1": 11 | version "1.0.1" 12 | resolved "https://registry.yarnpkg.com/@actions/exec/-/exec-1.0.1.tgz#1624b541165697e7008d7c87bc1f69f191263c6c" 13 | integrity sha512-nvFkxwiicvpzNiCBF4wFBDfnBvi7xp/as7LE1hBxBxKG2L29+gkIPBiLKMVORL+Hg3JNf07AKRfl0V5djoypjQ== 14 | 15 | "@actions/io@^1.0.1": 16 | version "1.0.1" 17 | resolved "https://registry.yarnpkg.com/@actions/io/-/io-1.0.1.tgz#81a9418fe2bbdef2d2717a8e9f85188b9c565aca" 18 | integrity sha512-rhq+tfZukbtaus7xyUtwKfuiCRXd1hWSfmJNEpFgBQJ4woqPEpsBw04awicjwz9tyG2/MVhAEMfVn664Cri5zA== 19 | 20 | "@actions/tool-cache@^1.1.1": 21 | version "1.1.2" 22 | resolved "https://registry.yarnpkg.com/@actions/tool-cache/-/tool-cache-1.1.2.tgz#304d44cecb9547324731e03ca004a3905e6530d2" 23 | integrity sha512-IJczPaZr02ECa3Lgws/TJEVco9tjOujiQSZbO3dHuXXjhd5vrUtfOgGwhmz3/f97L910OraPZ8SknofUk6RvOQ== 24 | dependencies: 25 | "@actions/core" "^1.1.0" 26 | "@actions/exec" "^1.0.1" 27 | "@actions/io" "^1.0.1" 28 | semver "^6.1.0" 29 | typed-rest-client "^1.4.0" 30 | uuid "^3.3.2" 31 | 32 | md5-file@^4.0.0: 33 | version "4.0.0" 34 | resolved "https://registry.yarnpkg.com/md5-file/-/md5-file-4.0.0.tgz#f3f7ba1e2dd1144d5bf1de698d0e5f44a4409584" 35 | integrity sha512-UC0qFwyAjn4YdPpKaDNw6gNxRf7Mcx7jC1UGCY4boCzgvU2Aoc1mOGzTtrjjLKhM5ivsnhoKpQVxKPp+1j1qwg== 36 | 37 | semver@^6.1.0: 38 | version "6.3.0" 39 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 40 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 41 | 42 | tunnel@0.0.4: 43 | version "0.0.4" 44 | resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.4.tgz#2d3785a158c174c9a16dc2c046ec5fc5f1742213" 45 | integrity sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM= 46 | 47 | typed-rest-client@^1.4.0: 48 | version "1.5.0" 49 | resolved "https://registry.yarnpkg.com/typed-rest-client/-/typed-rest-client-1.5.0.tgz#c0dda6e775b942fd46a2d99f2160a94953206fc2" 50 | integrity sha512-DVZRlmsfnTjp6ZJaatcdyvvwYwbWvR4YDNFDqb+qdTxpvaVP99YCpBkA8rxsLtAPjBVoDe4fNsnMIdZTiPuKWg== 51 | dependencies: 52 | tunnel "0.0.4" 53 | underscore "1.8.3" 54 | 55 | underscore@1.8.3: 56 | version "1.8.3" 57 | resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" 58 | integrity sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI= 59 | 60 | uuid@^3.3.2: 61 | version "3.3.3" 62 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" 63 | integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== 64 | --------------------------------------------------------------------------------