From 83104ab8b2246cda8717a40d7094fab307dfcbec Mon Sep 17 00:00:00 2001 From: Zaid Dahir Date: Tue, 10 Feb 2026 11:43:07 -0500 Subject: [PATCH 1/2] Add cart_line_properties to tax_calculation deploy config The CLI was silently dropping cart_line_properties during deploy because the field was missing from both the zod schema and the deployConfig output. The server-side already fully supports cart_line_properties as a first-class field with its own validation and feature flag gating. This adds a CartLinePropertySchema and includes cart_line_properties in the schema and deploy config so TOML entries are parsed and sent to the server. Co-Authored-By: Claude Opus 4.6 --- .../cli/models/extensions/specifications/tax_calculation.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/app/src/cli/models/extensions/specifications/tax_calculation.ts b/packages/app/src/cli/models/extensions/specifications/tax_calculation.ts index 3653cf6b3d7..1e97e577bb6 100644 --- a/packages/app/src/cli/models/extensions/specifications/tax_calculation.ts +++ b/packages/app/src/cli/models/extensions/specifications/tax_calculation.ts @@ -2,6 +2,10 @@ import {createExtensionSpecification} from '../specification.js' import {BaseSchema, MetafieldSchema} from '../schemas.js' import {zod} from '@shopify/cli-kit/node/schema' +const CartLinePropertySchema = zod.object({ + key: zod.string(), +}) + const TaxCalculationsSchema = BaseSchema.extend({ production_api_base_url: zod.string(), benchmark_api_base_url: zod.string().optional(), @@ -17,6 +21,7 @@ const TaxCalculationsSchema = BaseSchema.extend({ }) .optional(), metafields: zod.array(MetafieldSchema).optional(), + cart_line_properties: zod.array(CartLinePropertySchema).optional(), }) const spec = createExtensionSpecification({ @@ -30,6 +35,7 @@ const spec = createExtensionSpecification({ benchmark_api_base_url: config.benchmark_api_base_url, calculate_taxes_api_endpoint: config.calculate_taxes_api_endpoint, metafields: config.metafields, + cart_line_properties: config.cart_line_properties, api_version: config.api_version, metafield_identifiers: config.input?.metafield_identifiers, } From 295f07087eec2bbc7e93d8db8f4dd557af3713ce Mon Sep 17 00:00:00 2001 From: Zaid Dahir Date: Tue, 10 Feb 2026 12:02:51 -0500 Subject: [PATCH 2/2] Add cart_line_properties to tax calculation loader test Co-Authored-By: Claude Opus 4.6 --- packages/app/src/cli/models/app/loader.test.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/app/src/cli/models/app/loader.test.ts b/packages/app/src/cli/models/app/loader.test.ts index d537b43e932..9a0e4ef87f3 100644 --- a/packages/app/src/cli/models/app/loader.test.ts +++ b/packages/app/src/cli/models/app/loader.test.ts @@ -1736,6 +1736,9 @@ redirect_urls = [ "https://example.com/api/auth" ] namespace = "my-namespace" key = "my-key" + [[cart_line_properties]] + key = "_use_vip_token" + # extra fields not included in the schema should be ignored [[invalid_field]] namespace = "my-namespace" @@ -1766,6 +1769,11 @@ redirect_urls = [ "https://example.com/api/auth" ] key: 'my-key', }, ], + cart_line_properties: [ + { + key: '_use_vip_token', + }, + ], input: { metafield_identifiers: { namespace: 'taxy-tax',