Skip to content

Commit 2bed3b6

Browse files
committed
Add new copy_files build mode and apply it to flow
1 parent 838606e commit 2bed3b6

File tree

7 files changed

+3
-97
lines changed

7 files changed

+3
-97
lines changed

packages/app/src/cli/models/extensions/extension-instance.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import {WebhooksSpecIdentifier} from './specifications/app_config_webhook.js'
1414
import {WebhookSubscriptionSpecIdentifier} from './specifications/app_config_webhook_subscription.js'
1515
import {
1616
ExtensionBuildOptions,
17-
buildFlowTemplateExtension,
1817
buildFunctionExtension,
1918
buildThemeExtension,
2019
buildUIExtension,
@@ -349,8 +348,6 @@ export class ExtensionInstance<TConfiguration extends BaseConfigType = BaseConfi
349348
return buildFunctionExtension(this, options)
350349
case 'ui':
351350
return buildUIExtension(this, options)
352-
case 'flow':
353-
return buildFlowTemplateExtension(this, options)
354351
case 'tax_calculation':
355352
await touchFile(this.outputPath)
356353
await writeFile(this.outputPath, '(()=>{})();')

packages/app/src/cli/models/extensions/specification.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export interface Asset {
4747
}
4848

4949
type BuildConfig =
50-
| {mode: 'ui' | 'theme' | 'flow' | 'function' | 'tax_calculation' | 'none'}
50+
| {mode: 'ui' | 'theme' | 'function' | 'tax_calculation' | 'none'}
5151
| {mode: 'copy_files'; filePatterns: string[]; ignoredFilePatterns?: string[]}
5252
/**
5353
* Extension specification with all the needed properties and methods to load an extension.

packages/app/src/cli/models/extensions/specifications/flow_template.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ const flowTemplateSpec = createExtensionSpecification({
4949
identifier: 'flow_template',
5050
schema: FlowTemplateExtensionSchema,
5151
appModuleFeatures: (_) => ['ui_preview'],
52-
buildConfig: {mode: 'flow'},
52+
buildConfig: {mode: 'copy_files', filePatterns: ['*.flow', '*.json', '*.toml']},
5353
deployConfig: async (config, extensionPath) => {
5454
return {
5555
template_handle: config.handle,

packages/app/src/cli/services/build/extension.ts

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {runThemeCheck} from './theme-check.js'
22
import {AppInterface} from '../../models/app/app.js'
3-
import {bundleExtension, bundleFlowTemplateExtension} from '../extensions/bundle.js'
3+
import {bundleExtension} from '../extensions/bundle.js'
44
import {buildJSFunction, runTrampoline, runWasmOpt} from '../function/build.js'
55
import {ExtensionInstance} from '../../models/extensions/extension-instance.js'
66
import {FunctionConfigType} from '../../models/extensions/specifications/function.js'
@@ -65,19 +65,6 @@ export async function buildThemeExtension(extension: ExtensionInstance, options:
6565
if (offenses) options.stdout.write(offenses)
6666
}
6767

68-
/**
69-
* It builds the flow template extensions.
70-
* @param options - Build options.
71-
*/
72-
export async function buildFlowTemplateExtension(
73-
extension: ExtensionInstance,
74-
options: ExtensionBuildOptions,
75-
): Promise<void> {
76-
options.stdout.write(`Building Flow Template extension ${extension.localIdentifier}...`)
77-
await bundleFlowTemplateExtension(extension)
78-
options.stdout.write(`${extension.localIdentifier} successfully built`)
79-
}
80-
8168
/**
8269
* It builds the UI extensions.
8370
* @param options - Build options.

packages/app/src/cli/services/extensions/bundle.ts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import {ExtensionBuildOptions} from '../build/extension.js'
22
import {ExtensionInstance} from '../../models/extensions/extension-instance.js'
33
import {themeExtensionFiles} from '../../utilities/extensions/theme.js'
44
import {EsbuildEnvVarRegex, environmentVariableNames} from '../../constants.js'
5-
import {flowTemplateExtensionFiles} from '../../utilities/extensions/flow-template.js'
65
import {context as esContext, formatMessagesSync} from 'esbuild'
76
import {AbortSignal} from '@shopify/cli-kit/node/abort'
87
import {copyFile, glob} from '@shopify/cli-kit/node/fs'
@@ -78,18 +77,6 @@ export async function bundleThemeExtension(
7877
)
7978
}
8079

81-
export async function bundleFlowTemplateExtension(extension: ExtensionInstance): Promise<void> {
82-
const files = await flowTemplateExtensionFiles(extension)
83-
await Promise.all(
84-
files.map(function (filepath) {
85-
const relativePathName = relativePath(extension.directory, filepath)
86-
const outputFile = joinPath(extension.outputPath, relativePathName)
87-
if (filepath === outputFile) return
88-
return copyFile(filepath, outputFile)
89-
}),
90-
)
91-
}
92-
9380
export async function copyFilesForExtension(
9481
extension: ExtensionInstance,
9582
options: ExtensionBuildOptions,

packages/app/src/cli/utilities/extensions/flow-template.test.ts

Lines changed: 0 additions & 52 deletions
This file was deleted.

packages/app/src/cli/utilities/extensions/flow-template.ts

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)