Compare commits
65 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3870f7e9d7 | |||
| 556068fb59 | |||
| caa59485d0 | |||
| c2494c1ca6 | |||
| 528687aaf4 | |||
| bd50d10af9 | |||
| 2513ffc6cc | |||
| 9df50d42e4 | |||
| 4611c14c05 | |||
| ac3f259fcf | |||
| b2645622e9 | |||
| f4e6269765 | |||
| 72931e59b2 | |||
| e0254d06bc | |||
| 13d70757d2 | |||
| aec73ae744 | |||
| f0cc3efccf | |||
| 50b529e7b8 | |||
| 6771675815 | |||
| 4ae0557f8d | |||
| 7d7b98826e | |||
| d1073d57ba | |||
| c3b99e2c18 | |||
| 2375787b23 | |||
| 11f981cea4 | |||
| 868dbd9a40 | |||
| a009342d77 | |||
| f2e4cda4dd | |||
| f4f2e854d7 | |||
| cbe5f5b523 | |||
| fcf2d83f3d | |||
| f5d1ca36ae | |||
| 4d6d6abfb4 | |||
| 416205365a | |||
| 7292a4ae99 | |||
| 4528b66125 | |||
| ee3e2a9b37 | |||
| 361844799a | |||
| 26103fa86c | |||
| 47d4afdbd8 | |||
| d7637bf514 | |||
| 71199d2757 | |||
| 2962e94ac8 | |||
| 5517edbb28 | |||
| f74c325efc | |||
| 105f191b19 | |||
| e5251df521 | |||
| b076e889fb | |||
| 30e126d1a4 | |||
| fcf648c789 | |||
| fcbabec21e | |||
| 0aa12f0c2b | |||
| ad7441b6ad | |||
| 3f40637a1c | |||
| 4132892387 | |||
| 62ce9d23a3 | |||
| f089b0a195 | |||
| 4318a2fb97 | |||
| c8bbc2b667 | |||
| 3c262de2e3 | |||
| 36ba30dcc9 | |||
| a9ac89cd00 | |||
| 93b26a6664 | |||
| 9641d961b5 | |||
| 5b3d60c156 |
+10
-2
@@ -4,7 +4,8 @@ branding:
|
||||
color: "orange"
|
||||
description: "Deploy your Cloudflare projects from GitHub using Wrangler"
|
||||
runs:
|
||||
using: "node16"
|
||||
# Possible values: https://github.com/actions/runner/blob/main/src/Runner.Common/Util/NodeUtil.cs#L9
|
||||
using: "node20"
|
||||
main: "dist/index.mjs"
|
||||
inputs:
|
||||
apiToken:
|
||||
@@ -13,7 +14,10 @@ inputs:
|
||||
accountId:
|
||||
description: "Your Cloudflare Account ID"
|
||||
required: false
|
||||
|
||||
quiet:
|
||||
description: "Supresses output from Wrangler commands, defaults to `false`"
|
||||
required: false
|
||||
default: "false"
|
||||
environment:
|
||||
description: "The environment you'd like to deploy your Workers project to - must be defined in wrangler.toml"
|
||||
workingDirectory:
|
||||
@@ -37,3 +41,7 @@ inputs:
|
||||
vars:
|
||||
description: "A string of environment variable names, separated by newlines. These will be bound to your Worker using the values of matching environment variables declared in `env` of this workflow."
|
||||
required: false
|
||||
packageManager:
|
||||
description: "The package manager you'd like to use to install and run wrangler. If not specified, a value will be inferred based on the presence of a lockfile. Valid values: [npm, pnpm, yarn]"
|
||||
required: false
|
||||
default: npm
|
||||
|
||||
Vendored
+189
-131
@@ -2816,11 +2816,8 @@ var __webpack_exports__ = {};
|
||||
// EXPORTS
|
||||
__nccwpck_require__.d(__webpack_exports__, {
|
||||
"kj": () => (/* binding */ authenticationSetup),
|
||||
"ny": () => (/* binding */ checkWorkingDirectory),
|
||||
"P8": () => (/* binding */ execCommands),
|
||||
"wJ": () => (/* binding */ getNpxCmd),
|
||||
"VH": () => (/* binding */ installWrangler),
|
||||
"Wp": () => (/* binding */ semverCompare),
|
||||
"cb": () => (/* binding */ uploadSecrets),
|
||||
"cj": () => (/* binding */ wranglerCommands)
|
||||
});
|
||||
@@ -2829,36 +2826,15 @@ __nccwpck_require__.d(__webpack_exports__, {
|
||||
var core = __nccwpck_require__(186);
|
||||
;// 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:util"
|
||||
const external_node_util_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:util");
|
||||
;// CONCATENATED MODULE: external "node:fs"
|
||||
const external_node_fs_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:fs");
|
||||
;// CONCATENATED MODULE: external "node:path"
|
||||
const external_node_path_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:path");
|
||||
;// CONCATENATED MODULE: external "node:util"
|
||||
const external_node_util_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:util");
|
||||
;// CONCATENATED MODULE: ./src/index.ts
|
||||
;// CONCATENATED MODULE: ./src/utils.ts
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const execAsync = external_node_util_namespaceObject.promisify(external_node_child_process_namespaceObject.exec);
|
||||
const DEFAULT_WRANGLER_VERSION = "3.4.0";
|
||||
/**
|
||||
* A configuration object that contains all the inputs & immutable state for the action.
|
||||
*/
|
||||
const config = {
|
||||
WRANGLER_VERSION: (0,core.getInput)("wranglerVersion") || DEFAULT_WRANGLER_VERSION,
|
||||
secrets: (0,core.getMultilineInput)("secrets"),
|
||||
workingDirectory: checkWorkingDirectory((0,core.getInput)("workingDirectory")),
|
||||
CLOUDFLARE_API_TOKEN: (0,core.getInput)("apiToken"),
|
||||
CLOUDFLARE_ACCOUNT_ID: (0,core.getInput)("accountId"),
|
||||
ENVIRONMENT: (0,core.getInput)("environment"),
|
||||
VARS: (0,core.getMultilineInput)("vars"),
|
||||
COMMANDS: (0,core.getMultilineInput)("command"),
|
||||
};
|
||||
function getNpxCmd() {
|
||||
return process.env.RUNNER_OS === "Windows" ? "npx.cmd" : "npx";
|
||||
}
|
||||
/**
|
||||
* A helper function to compare two semver versions. If the second arg is greater than the first arg, it returns true.
|
||||
*/
|
||||
@@ -2875,51 +2851,140 @@ function semverCompare(version1, version2) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkWorkingDirectory(workingDirectory = ".") {
|
||||
const normalizedPath = external_node_path_namespaceObject.normalize(workingDirectory);
|
||||
if ((0,external_node_fs_namespaceObject.existsSync)(normalizedPath)) {
|
||||
return normalizedPath;
|
||||
}
|
||||
else {
|
||||
throw new Error(`Directory ${workingDirectory} does not exist.`);
|
||||
}
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./src/packageManagers.ts
|
||||
|
||||
|
||||
const PACKAGE_MANAGERS = {
|
||||
npm: {
|
||||
install: "npm i",
|
||||
exec: "npx",
|
||||
},
|
||||
yarn: {
|
||||
install: "yarn add",
|
||||
exec: "yarn",
|
||||
},
|
||||
pnpm: {
|
||||
install: "pnpm add",
|
||||
exec: "pnpm exec",
|
||||
},
|
||||
};
|
||||
function detectPackageManager(workingDirectory = ".") {
|
||||
if ((0,external_node_fs_namespaceObject.existsSync)(external_node_path_namespaceObject.join(workingDirectory, "package-lock.json"))) {
|
||||
return "npm";
|
||||
}
|
||||
if ((0,external_node_fs_namespaceObject.existsSync)(external_node_path_namespaceObject.join(workingDirectory, "yarn.lock"))) {
|
||||
return "yarn";
|
||||
}
|
||||
if ((0,external_node_fs_namespaceObject.existsSync)(external_node_path_namespaceObject.join(workingDirectory, "pnpm-lock.yaml"))) {
|
||||
return "pnpm";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
function assertValidPackageManagerValue(name) {
|
||||
if (name && !Object.keys(PACKAGE_MANAGERS).includes(name)) {
|
||||
throw new TypeError(`invalid value provided for "packageManager": ${name}
|
||||
Value must be one of: [${Object.keys(PACKAGE_MANAGERS).join(", ")}]`);
|
||||
}
|
||||
}
|
||||
function getPackageManager(name, { workingDirectory = "." } = {}) {
|
||||
assertValidPackageManagerValue(name);
|
||||
return PACKAGE_MANAGERS[name || detectPackageManager(workingDirectory) || "npm"];
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./src/index.ts
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const execAsync = external_node_util_namespaceObject.promisify(external_node_child_process_namespaceObject.exec);
|
||||
const DEFAULT_WRANGLER_VERSION = "3.5.1";
|
||||
/**
|
||||
* A configuration object that contains all the inputs & immutable state for the action.
|
||||
*/
|
||||
const config = {
|
||||
WRANGLER_VERSION: (0,core.getInput)("wranglerVersion") || DEFAULT_WRANGLER_VERSION,
|
||||
secrets: (0,core.getMultilineInput)("secrets"),
|
||||
workingDirectory: checkWorkingDirectory((0,core.getInput)("workingDirectory")),
|
||||
CLOUDFLARE_API_TOKEN: (0,core.getInput)("apiToken"),
|
||||
CLOUDFLARE_ACCOUNT_ID: (0,core.getInput)("accountId"),
|
||||
ENVIRONMENT: (0,core.getInput)("environment"),
|
||||
VARS: (0,core.getMultilineInput)("vars"),
|
||||
COMMANDS: (0,core.getMultilineInput)("command"),
|
||||
QUIET_MODE: (0,core.getBooleanInput)("quiet"),
|
||||
PACKAGE_MANAGER: (0,core.getInput)("packageManager"),
|
||||
};
|
||||
const packageManager = getPackageManager(config.PACKAGE_MANAGER, {
|
||||
workingDirectory: config.workingDirectory,
|
||||
});
|
||||
function info(message, bypass) {
|
||||
if (!config.QUIET_MODE || bypass) {
|
||||
(0,core.info)(message);
|
||||
}
|
||||
}
|
||||
function error(message, bypass) {
|
||||
if (!config.QUIET_MODE || bypass) {
|
||||
(0,core.error)(message);
|
||||
}
|
||||
}
|
||||
function startGroup(name) {
|
||||
if (!config.QUIET_MODE) {
|
||||
(0,core.startGroup)(name);
|
||||
}
|
||||
}
|
||||
function endGroup() {
|
||||
if (!config.QUIET_MODE) {
|
||||
(0,core.endGroup)();
|
||||
}
|
||||
}
|
||||
async function main() {
|
||||
installWrangler();
|
||||
authenticationSetup();
|
||||
await execCommands((0,core.getMultilineInput)("preCommands"), "pre");
|
||||
await uploadSecrets();
|
||||
await wranglerCommands();
|
||||
await execCommands((0,core.getMultilineInput)("postCommands"), "post");
|
||||
try {
|
||||
installWrangler();
|
||||
authenticationSetup();
|
||||
await execCommands((0,core.getMultilineInput)("preCommands"), "pre");
|
||||
await uploadSecrets();
|
||||
await wranglerCommands();
|
||||
await execCommands((0,core.getMultilineInput)("postCommands"), "post");
|
||||
info("🏁 Wrangler Action completed", true);
|
||||
}
|
||||
catch (err) {
|
||||
err instanceof Error && error(err.message);
|
||||
(0,core.setFailed)("🚨 Action failed");
|
||||
}
|
||||
}
|
||||
async function runProcess(command, options) {
|
||||
try {
|
||||
const result = await execAsync(command, options);
|
||||
result.stdout && (0,core.info)(result.stdout.toString());
|
||||
result.stderr && (0,core.error)(result.stderr.toString());
|
||||
result.stdout && info(result.stdout.toString());
|
||||
result.stderr && error(result.stderr.toString(), true);
|
||||
return result;
|
||||
}
|
||||
catch (err) {
|
||||
err.stdout && (0,core.info)(err.stdout.toString());
|
||||
err.stderr && (0,core.error)(err.stderr.toString());
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
function checkWorkingDirectory(workingDirectory = ".") {
|
||||
try {
|
||||
const normalizedPath = external_node_path_namespaceObject.normalize(workingDirectory);
|
||||
if ((0,external_node_fs_namespaceObject.existsSync)(normalizedPath)) {
|
||||
return normalizedPath;
|
||||
}
|
||||
else {
|
||||
(0,core.setFailed)(`🚨 Directory ${workingDirectory} does not exist.`);
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
(0,core.setFailed)(`🚨 While checking/creating directory ${workingDirectory} received ${error}`);
|
||||
err.stdout && info(err.stdout.toString());
|
||||
err.stderr && error(err.stderr.toString(), true);
|
||||
throw new Error(`\`${command}\` returned non-zero exit code.`);
|
||||
}
|
||||
}
|
||||
function installWrangler() {
|
||||
if (config["WRANGLER_VERSION"].startsWith("1")) {
|
||||
(0,core.setFailed)(`🚨 Wrangler v1 is no longer supported by this action. Please use major version 2 or greater`);
|
||||
throw new Error(`Wrangler v1 is no longer supported by this action. Please use major version 2 or greater`);
|
||||
}
|
||||
(0,core.startGroup)("📥 Installing Wrangler");
|
||||
const command = `npm install wrangler@${config["WRANGLER_VERSION"]}`;
|
||||
(0,core.info)(`Running command: ${command}`);
|
||||
startGroup("📥 Installing Wrangler");
|
||||
const command = `${packageManager.install} wrangler@${config["WRANGLER_VERSION"]}`;
|
||||
info(`Running command: ${command}`);
|
||||
(0,external_node_child_process_namespaceObject.execSync)(command, { cwd: config["workingDirectory"], env: process.env });
|
||||
(0,core.info)(`✅ Wrangler installed`);
|
||||
(0,core.endGroup)();
|
||||
info(`✅ Wrangler installed`, true);
|
||||
endGroup();
|
||||
}
|
||||
function authenticationSetup() {
|
||||
process.env.CLOUDFLARE_API_TOKEN = config["CLOUDFLARE_API_TOKEN"];
|
||||
@@ -2929,53 +2994,48 @@ async function execCommands(commands, cmdType) {
|
||||
if (!commands.length) {
|
||||
return;
|
||||
}
|
||||
(0,core.startGroup)(`🚀 Running ${cmdType}Commands`);
|
||||
const arrPromises = commands.map(async (command) => {
|
||||
const cmd = command.startsWith("wrangler")
|
||||
? `${getNpxCmd()} ${command}`
|
||||
: command;
|
||||
(0,core.info)(`🚀 Executing command: ${cmd}`);
|
||||
return await runProcess(cmd, {
|
||||
cwd: config["workingDirectory"],
|
||||
env: process.env,
|
||||
startGroup(`🚀 Running ${cmdType}Commands`);
|
||||
try {
|
||||
const arrPromises = commands.map(async (command) => {
|
||||
const cmd = command.startsWith("wrangler")
|
||||
? `${packageManager.exec} ${command}`
|
||||
: command;
|
||||
info(`🚀 Executing command: ${cmd}`);
|
||||
return await runProcess(cmd, {
|
||||
cwd: config["workingDirectory"],
|
||||
env: process.env,
|
||||
});
|
||||
});
|
||||
});
|
||||
await Promise.all(arrPromises).catch((result) => {
|
||||
result.stdout && (0,core.info)(result.stdout.toString());
|
||||
result.stderr && (0,core.error)(result.stderr.toString());
|
||||
(0,core.setFailed)(`🚨 ${cmdType}Commands failed`);
|
||||
});
|
||||
(0,core.endGroup)();
|
||||
await Promise.all(arrPromises);
|
||||
}
|
||||
finally {
|
||||
endGroup();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* A helper function to get the secret from the environment variables.
|
||||
*/
|
||||
function getSecret(secret) {
|
||||
if (!secret) {
|
||||
(0,core.setFailed)("No secret provided");
|
||||
throw new Error("Secret name cannot be blank.");
|
||||
}
|
||||
const value = process.env[secret];
|
||||
if (!value) {
|
||||
(0,core.setFailed)(`Secret ${secret} not found`);
|
||||
throw new Error(`Value for secret ${secret} not found.`);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
async function legacyUploadSecrets(secrets, environment, workingDirectory) {
|
||||
try {
|
||||
const arrPromises = secrets
|
||||
.map((secret) => {
|
||||
const command = `echo ${getSecret(secret)} | ${getNpxCmd()} wrangler secret put ${secret}`;
|
||||
return environment ? command.concat(` --env ${environment}`) : command;
|
||||
})
|
||||
.map(async (command) => await execAsync(command, {
|
||||
cwd: workingDirectory,
|
||||
env: process.env,
|
||||
}));
|
||||
await Promise.all(arrPromises);
|
||||
}
|
||||
catch {
|
||||
(0,core.setFailed)(`🚨 Error uploading secrets`);
|
||||
}
|
||||
const arrPromises = secrets
|
||||
.map((secret) => {
|
||||
const command = `echo ${getSecret(secret)} | ${packageManager.exec} wrangler secret put ${secret}`;
|
||||
return environment ? command.concat(` --env ${environment}`) : command;
|
||||
})
|
||||
.map(async (command) => await execAsync(command, {
|
||||
cwd: workingDirectory,
|
||||
env: process.env,
|
||||
}));
|
||||
await Promise.all(arrPromises);
|
||||
}
|
||||
async function uploadSecrets() {
|
||||
const secrets = config["secrets"];
|
||||
@@ -2984,8 +3044,8 @@ async function uploadSecrets() {
|
||||
if (!secrets.length) {
|
||||
return;
|
||||
}
|
||||
startGroup("🔑 Uploading secrets...");
|
||||
try {
|
||||
(0,core.startGroup)("🔑 Uploading Secrets");
|
||||
if (semverCompare(config["WRANGLER_VERSION"], "3.4.0"))
|
||||
return legacyUploadSecrets(secrets, environment, workingDirectory);
|
||||
const secretObj = secrets.reduce((acc, secret) => {
|
||||
@@ -2995,19 +3055,20 @@ async function uploadSecrets() {
|
||||
const environmentSuffix = !environment.length
|
||||
? ""
|
||||
: ` --env ${environment}`;
|
||||
const secretCmd = `echo "${JSON.stringify(secretObj).replaceAll('"', '\\"')}" | ${getNpxCmd()} wrangler secret:bulk ${environmentSuffix}`;
|
||||
const secretCmd = `echo "${JSON.stringify(secretObj).replaceAll('"', '\\"')}" | ${packageManager.exec} wrangler secret:bulk ${environmentSuffix}`;
|
||||
(0,external_node_child_process_namespaceObject.execSync)(secretCmd, {
|
||||
cwd: workingDirectory,
|
||||
env: process.env,
|
||||
stdio: "ignore",
|
||||
});
|
||||
(0,core.info)(`✅ Uploaded secrets`);
|
||||
info(`✅ Uploaded secrets`);
|
||||
}
|
||||
catch {
|
||||
(0,core.setFailed)(`🚨 Error uploading secrets`);
|
||||
catch (err) {
|
||||
error(`❌ Upload failed`);
|
||||
throw new Error(`Failed to upload secrets.`);
|
||||
}
|
||||
finally {
|
||||
(0,core.endGroup)();
|
||||
endGroup();
|
||||
}
|
||||
}
|
||||
function getVarArgs() {
|
||||
@@ -3017,54 +3078,51 @@ function getVarArgs() {
|
||||
return `${envVar}:${process.env[envVar]}`;
|
||||
}
|
||||
else {
|
||||
(0,core.setFailed)(`🚨 ${envVar} not found in variables.`);
|
||||
throw new Error(`Value for var ${envVar} not found in environment.`);
|
||||
}
|
||||
});
|
||||
return envVarArray.length > 0 ? `--var ${envVarArray.join(" ").trim()}` : "";
|
||||
}
|
||||
async function wranglerCommands() {
|
||||
(0,core.startGroup)("🚀 Running Wrangler Commands");
|
||||
const commands = config["COMMANDS"];
|
||||
const environment = config["ENVIRONMENT"];
|
||||
if (!commands.length) {
|
||||
const wranglerVersion = config["WRANGLER_VERSION"];
|
||||
const deployCommand = semverCompare("2.20.0", wranglerVersion)
|
||||
? "deploy"
|
||||
: "publish";
|
||||
commands.push(deployCommand);
|
||||
}
|
||||
const arrPromises = commands.map(async (command) => {
|
||||
if (environment.length > 0 && !command.includes(`--env`)) {
|
||||
command = command.concat(` --env ${environment}`);
|
||||
startGroup("🚀 Running Wrangler Commands");
|
||||
try {
|
||||
const commands = config["COMMANDS"];
|
||||
const environment = config["ENVIRONMENT"];
|
||||
if (!commands.length) {
|
||||
const wranglerVersion = config["WRANGLER_VERSION"];
|
||||
const deployCommand = semverCompare("2.20.0", wranglerVersion)
|
||||
? "deploy"
|
||||
: "publish";
|
||||
commands.push(deployCommand);
|
||||
}
|
||||
const cmd = `${getNpxCmd()} wrangler ${command} ${(command.startsWith("deploy") || command.startsWith("publish")) &&
|
||||
!command.includes(`--var`)
|
||||
? getVarArgs()
|
||||
: ""}`.trim();
|
||||
(0,core.info)(`🚀 Executing command: ${cmd}`);
|
||||
return await runProcess(cmd, {
|
||||
cwd: config["workingDirectory"],
|
||||
env: process.env,
|
||||
const arrPromises = commands.map(async (command) => {
|
||||
if (environment.length > 0 && !command.includes(`--env`)) {
|
||||
command = command.concat(` --env ${environment}`);
|
||||
}
|
||||
const cmd = `${packageManager.exec} wrangler ${command} ${(command.startsWith("deploy") || command.startsWith("publish")) &&
|
||||
!command.includes(`--var`)
|
||||
? getVarArgs()
|
||||
: ""}`.trim();
|
||||
info(`🚀 Executing command: ${cmd}`);
|
||||
return await runProcess(cmd, {
|
||||
cwd: config["workingDirectory"],
|
||||
env: process.env,
|
||||
});
|
||||
});
|
||||
});
|
||||
await Promise.all(arrPromises).catch((result) => {
|
||||
result.stdout && (0,core.info)(result.stdout.toString());
|
||||
result.stderr && (0,core.error)(result.stderr.toString());
|
||||
(0,core.setFailed)(`🚨 Command failed`);
|
||||
});
|
||||
(0,core.endGroup)();
|
||||
await Promise.all(arrPromises);
|
||||
}
|
||||
finally {
|
||||
endGroup();
|
||||
}
|
||||
}
|
||||
main().catch(() => (0,core.setFailed)("🚨 Action failed"));
|
||||
main();
|
||||
|
||||
|
||||
})();
|
||||
|
||||
var __webpack_exports__authenticationSetup = __webpack_exports__.kj;
|
||||
var __webpack_exports__checkWorkingDirectory = __webpack_exports__.ny;
|
||||
var __webpack_exports__execCommands = __webpack_exports__.P8;
|
||||
var __webpack_exports__getNpxCmd = __webpack_exports__.wJ;
|
||||
var __webpack_exports__installWrangler = __webpack_exports__.VH;
|
||||
var __webpack_exports__semverCompare = __webpack_exports__.Wp;
|
||||
var __webpack_exports__uploadSecrets = __webpack_exports__.cb;
|
||||
var __webpack_exports__wranglerCommands = __webpack_exports__.cj;
|
||||
export { __webpack_exports__authenticationSetup as authenticationSetup, __webpack_exports__checkWorkingDirectory as checkWorkingDirectory, __webpack_exports__execCommands as execCommands, __webpack_exports__getNpxCmd as getNpxCmd, __webpack_exports__installWrangler as installWrangler, __webpack_exports__semverCompare as semverCompare, __webpack_exports__uploadSecrets as uploadSecrets, __webpack_exports__wranglerCommands as wranglerCommands };
|
||||
export { __webpack_exports__authenticationSetup as authenticationSetup, __webpack_exports__execCommands as execCommands, __webpack_exports__installWrangler as installWrangler, __webpack_exports__uploadSecrets as uploadSecrets, __webpack_exports__wranglerCommands as wranglerCommands };
|
||||
|
||||
Reference in New Issue
Block a user