Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 168bc28b70 | |||
| 66334dff0a | |||
| 9966912c1b | |||
| 7b9aec5185 | |||
| bcff5386ec | |||
| c15498da36 | |||
| 8bc5c5f050 | |||
| ac21b71592 | |||
| f111269956 | |||
| 570d521df6 | |||
| 174337b3b4 | |||
| a1467a0c8f | |||
| 3ea6e3f132 | |||
| ea11499226 | |||
| 8f2f89521c | |||
| 66efca2cbb | |||
| aa5d18dd1e |
@@ -51,3 +51,5 @@ outputs:
|
||||
description: "The error output of the Wrangler command (comes from stderr)"
|
||||
deployment-url:
|
||||
description: "If the command was a Workers or Pages deployment, this will be the URL of the deployment"
|
||||
deployment-alias-url:
|
||||
description: "If the command was a Workers or Pages deployment, this can be the URL of the deployment alias (if it exists) - needs wrangler >= 3.78.0"
|
||||
|
||||
Vendored
+72
-3
@@ -3370,6 +3370,16 @@ const compare = (a, b, loose) =>
|
||||
module.exports = compare
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1898:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
const compare = __nccwpck_require__(4309)
|
||||
const eq = (a, b, loose) => compare(a, b, loose) === 0
|
||||
module.exports = eq
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 4123:
|
||||
@@ -28608,14 +28618,17 @@ __nccwpck_require__.d(__webpack_exports__, {
|
||||
|
||||
// EXTERNAL MODULE: ./node_modules/@actions/core/lib/core.js
|
||||
var core = __nccwpck_require__(2186);
|
||||
// EXTERNAL MODULE: ./node_modules/@actions/exec/lib/exec.js
|
||||
var exec = __nccwpck_require__(1514);
|
||||
// EXTERNAL MODULE: ./node_modules/semver/functions/eq.js
|
||||
var eq = __nccwpck_require__(1898);
|
||||
var eq_default = /*#__PURE__*/__nccwpck_require__.n(eq);
|
||||
;// CONCATENATED MODULE: external "node:child_process"
|
||||
const external_node_child_process_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:child_process");
|
||||
;// CONCATENATED MODULE: external "node:os"
|
||||
const external_node_os_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:os");
|
||||
// EXTERNAL MODULE: external "node:util"
|
||||
var external_node_util_ = __nccwpck_require__(7261);
|
||||
// EXTERNAL MODULE: ./node_modules/@actions/exec/lib/exec.js
|
||||
var exec = __nccwpck_require__(1514);
|
||||
;// CONCATENATED MODULE: ./src/exec.ts
|
||||
|
||||
|
||||
@@ -28686,18 +28699,22 @@ const PACKAGE_MANAGERS = {
|
||||
npm: {
|
||||
install: "npm i",
|
||||
exec: "npx",
|
||||
execNoInstall: "npx --no-install",
|
||||
},
|
||||
yarn: {
|
||||
install: "yarn add",
|
||||
exec: "yarn",
|
||||
execNoInstall: "yarn",
|
||||
},
|
||||
pnpm: {
|
||||
install: "pnpm add",
|
||||
exec: "pnpm exec",
|
||||
execNoInstall: "pnpm exec",
|
||||
},
|
||||
bun: {
|
||||
install: "bun i",
|
||||
exec: "bunx",
|
||||
execNoInstall: "bun run",
|
||||
},
|
||||
};
|
||||
function detectPackageManager(workingDirectory = ".") {
|
||||
@@ -28710,7 +28727,8 @@ function detectPackageManager(workingDirectory = ".") {
|
||||
if ((0,external_node_fs_namespaceObject.existsSync)(external_node_path_namespaceObject.join(workingDirectory, "pnpm-lock.yaml"))) {
|
||||
return "pnpm";
|
||||
}
|
||||
if ((0,external_node_fs_namespaceObject.existsSync)(external_node_path_namespaceObject.join(workingDirectory, "bun.lockb"))) {
|
||||
if ((0,external_node_fs_namespaceObject.existsSync)(external_node_path_namespaceObject.join(workingDirectory, "bun.lockb")) ||
|
||||
(0,external_node_fs_namespaceObject.existsSync)(external_node_path_namespaceObject.join(workingDirectory, "bun.lock"))) {
|
||||
return "bun";
|
||||
}
|
||||
return null;
|
||||
@@ -28731,12 +28749,15 @@ function getPackageManager(name, { workingDirectory = "." } = {}) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const DEFAULT_WRANGLER_VERSION = "3.13.2";
|
||||
/**
|
||||
* A configuration object that contains all the inputs & immutable state for the action.
|
||||
*/
|
||||
const config = {
|
||||
WRANGLER_VERSION: (0,core.getInput)("wranglerVersion") || DEFAULT_WRANGLER_VERSION,
|
||||
didUserProvideWranglerVersion: Boolean((0,core.getInput)("wranglerVersion")),
|
||||
secrets: (0,core.getMultilineInput)("secrets"),
|
||||
workingDirectory: checkWorkingDirectory((0,core.getInput)("workingDirectory")),
|
||||
CLOUDFLARE_API_TOKEN: (0,core.getInput)("apiToken"),
|
||||
@@ -28789,6 +28810,48 @@ async function installWrangler() {
|
||||
if (config["WRANGLER_VERSION"].startsWith("1")) {
|
||||
throw new Error(`Wrangler v1 is no longer supported by this action. Please use major version 2 or greater`);
|
||||
}
|
||||
startGroup("🔍 Checking for existing Wrangler installation");
|
||||
let installedVersion = "";
|
||||
let installedVersionSatisfiesRequirement = false;
|
||||
try {
|
||||
const { stdout } = await (0,exec.getExecOutput)(
|
||||
// We want to simply invoke wrangler to check if it's installed, but don't want to auto-install it at this stage
|
||||
packageManager.execNoInstall, ["wrangler", "--version"], {
|
||||
cwd: config["workingDirectory"],
|
||||
silent: config.QUIET_MODE,
|
||||
});
|
||||
// There are two possible outputs from `wrangler --version`:
|
||||
// ` ⛅️ wrangler 3.48.0 (update available 3.53.1)`
|
||||
// and
|
||||
// `3.48.0`
|
||||
const versionMatch = stdout.match(/wrangler (\d+\.\d+\.\d+)/) ??
|
||||
stdout.match(/^(\d+\.\d+\.\d+)/);
|
||||
if (versionMatch) {
|
||||
installedVersion = versionMatch[1];
|
||||
}
|
||||
if (config.didUserProvideWranglerVersion) {
|
||||
installedVersionSatisfiesRequirement = eq_default()(installedVersion, config["WRANGLER_VERSION"]);
|
||||
}
|
||||
if (!config.didUserProvideWranglerVersion && installedVersion) {
|
||||
info(`✅ No wrangler version specified, using pre-installed wrangler version ${installedVersion}`, true);
|
||||
endGroup();
|
||||
return;
|
||||
}
|
||||
if (config.didUserProvideWranglerVersion &&
|
||||
installedVersionSatisfiesRequirement) {
|
||||
info(`✅ Using Wrangler ${installedVersion}`, true);
|
||||
endGroup();
|
||||
return;
|
||||
}
|
||||
info("⚠️ Wrangler not found or version is incompatible. Installing...", true);
|
||||
}
|
||||
catch (error) {
|
||||
(0,core.debug)(`Error checking Wrangler version: ${error}`);
|
||||
info("⚠️ Wrangler not found or version is incompatible. Installing...", true);
|
||||
}
|
||||
finally {
|
||||
endGroup();
|
||||
}
|
||||
startGroup("📥 Installing Wrangler");
|
||||
try {
|
||||
await (0,exec.exec)(packageManager.install, [`wrangler@${config["WRANGLER_VERSION"]}`], {
|
||||
@@ -28949,6 +29012,12 @@ async function wranglerCommands() {
|
||||
deploymentUrl = deploymentUrlMatch[0].trim();
|
||||
(0,core.setOutput)("deployment-url", deploymentUrl);
|
||||
}
|
||||
// And also try to extract the alias URL (since wrangler@3.78.0)
|
||||
const aliasUrlMatch = stdOut.match(/alias URL: (https?:\/\/[a-zA-Z0-9-./]+)/);
|
||||
if (aliasUrlMatch && aliasUrlMatch.length == 2 && aliasUrlMatch[1]) {
|
||||
const aliasUrl = aliasUrlMatch[1].trim();
|
||||
(0,core.setOutput)("deployment-alias-url", aliasUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user