From 1086316ff9759f4094d19fc26a63cbb9c388b9c2 Mon Sep 17 00:00:00 2001 From: Nathan Houle Date: Thu, 28 Mar 2024 10:20:21 -0700 Subject: [PATCH] refactor: split dev blob upload into separate step --- .../src/plugins_core/dev_blobs_upload/index.ts | 18 ++++++++++++++++++ packages/build/src/steps/get.ts | 14 ++------------ 2 files changed, 20 insertions(+), 12 deletions(-) create mode 100644 packages/build/src/plugins_core/dev_blobs_upload/index.ts diff --git a/packages/build/src/plugins_core/dev_blobs_upload/index.ts b/packages/build/src/plugins_core/dev_blobs_upload/index.ts new file mode 100644 index 0000000000..97a0b75ac0 --- /dev/null +++ b/packages/build/src/plugins_core/dev_blobs_upload/index.ts @@ -0,0 +1,18 @@ +import { uploadBlobs } from '../blobs_upload/index.js' +import { type CoreStep, type CoreStepCondition } from '../types.js' + +const condition: CoreStepCondition = async (...args) => { + const { + constants: { IS_LOCAL }, + } = args[0] + return IS_LOCAL && ((await uploadBlobs.condition?.(...args)) ?? true) +} + +export const devUploadBlobs: CoreStep = { + event: 'onDev', + coreStep: uploadBlobs.coreStep, + coreStepId: 'dev_blobs_upload', + coreStepName: 'Uploading blobs', + coreStepDescription: () => 'Uploading blobs to development deploy store', + condition, +} diff --git a/packages/build/src/steps/get.ts b/packages/build/src/steps/get.ts index 0a78f89c49..01ce46694d 100644 --- a/packages/build/src/steps/get.ts +++ b/packages/build/src/steps/get.ts @@ -4,6 +4,7 @@ import { uploadBlobs } from '../plugins_core/blobs_upload/index.js' import { buildCommandCore } from '../plugins_core/build_command.js' import { deploySite } from '../plugins_core/deploy/index.js' import { applyDeployConfig } from '../plugins_core/deploy_config/index.js' +import { devUploadBlobs } from '../plugins_core/dev_blobs_upload/index.js' import { bundleEdgeFunctions } from '../plugins_core/edge_functions/index.js' import { bundleFunctions } from '../plugins_core/functions/index.js' import { preCleanup } from '../plugins_core/pre_cleanup/index.js' @@ -39,18 +40,7 @@ export const getDevSteps = function (command, steps, eventHandlers?: any[]) { const eventSteps = getEventSteps(eventHandlers) - const sortedSteps = sortSteps( - [ - preDevCleanup, - ...steps, - // Trigger the uploadBlobs step during development to allow users to test file-based blob - // uploads locally and to allow frameworks to capture file-based blobs written by frameworks - { ...uploadBlobs, event: 'onDev' }, - eventSteps, - devCommandStep, - ], - DEV_EVENTS, - ) + const sortedSteps = sortSteps([preDevCleanup, ...steps, devUploadBlobs, eventSteps, devCommandStep], DEV_EVENTS) const events = getEvents(sortedSteps) return { steps: sortedSteps, events }